From a21d6ef2fecdb040552bb67542285d9b0dd2d8e0 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 20 Sep 2023 00:50:16 -0400 Subject: [PATCH 001/163] added setup with modifications --- subgraph/.gitignore | 44 + subgraph/.prettierignore | 24 + subgraph/README.md | 93 + subgraph/abis/OrderBook.json | 33884 ++++++++++++++++++++++++++ subgraph/abis/ReserveToken.json | 390 + subgraph/config/localhost.json | 5 + subgraph/config/mainnet.json | 5 + subgraph/config/matic.json | 5 + subgraph/config/mumbai.json | 5 + subgraph/config/mumbai_ob_v3.json | 5 + subgraph/config/nhsbot_polygon.json | 5 + subgraph/config/polygon.json | 5 + subgraph/docker/docker-compose.yaml | 49 + subgraph/package-lock.json | 26613 ++++++++++++++++++++ subgraph/package.json | 68 + subgraph/schema.graphql | 403 + subgraph/shell.nix | 92 + subgraph/src/erc20.ts | 0 subgraph/src/orderBook.ts | 1103 + subgraph/src/orderJsonString.ts | 137 + subgraph/src/utils.ts | 364 + subgraph/subgraph.template.yaml | 68 + subgraph/tsconfig.json | 11 + 23 files changed, 63378 insertions(+) create mode 100644 subgraph/.gitignore create mode 100644 subgraph/.prettierignore create mode 100644 subgraph/README.md create mode 100644 subgraph/abis/OrderBook.json create mode 100644 subgraph/abis/ReserveToken.json create mode 100644 subgraph/config/localhost.json create mode 100644 subgraph/config/mainnet.json create mode 100644 subgraph/config/matic.json create mode 100644 subgraph/config/mumbai.json create mode 100644 subgraph/config/mumbai_ob_v3.json create mode 100644 subgraph/config/nhsbot_polygon.json create mode 100644 subgraph/config/polygon.json create mode 100644 subgraph/docker/docker-compose.yaml create mode 100644 subgraph/package-lock.json create mode 100755 subgraph/package.json create mode 100644 subgraph/schema.graphql create mode 100755 subgraph/shell.nix create mode 100644 subgraph/src/erc20.ts create mode 100644 subgraph/src/orderBook.ts create mode 100644 subgraph/src/orderJsonString.ts create mode 100644 subgraph/src/utils.ts create mode 100755 subgraph/subgraph.template.yaml create mode 100644 subgraph/tsconfig.json diff --git a/subgraph/.gitignore b/subgraph/.gitignore new file mode 100644 index 0000000000..373cd0082f --- /dev/null +++ b/subgraph/.gitignore @@ -0,0 +1,44 @@ +# subgraph +build +generated +subgraph.yaml + +# npm +node_modules + +# hardhat +cache + +#vscode +.vscode + +#docker +docker/data + +#rain-protocol +rain-protocol/artifacts +rain-protocol/.nix-node +rain-protocol/node_modules +rain-protocol/public/build +rain-protocol/.env +rain-protocol/cache +rain-protocol/typechain +rain-protocol/artifacts +rain-protocol/build +rain-protocol/venv +rain-protocol/bin +rain-protocol/docs/api +rain-protocol/*.tgz +rain-protocol/.npmrc +rain-protocol/solt +rain-protocol/!dist/** +rain-protocol/tenderly.yaml +rain-protocol/test-template.ts +rain-protocol/dumpfile +rain-protocol/.DS_Store + +# Echidna +rain-protocol/crytic-export + +rain-protocol/cache_forge +rain-protocol/out \ No newline at end of file diff --git a/subgraph/.prettierignore b/subgraph/.prettierignore new file mode 100644 index 0000000000..dbabf871ca --- /dev/null +++ b/subgraph/.prettierignore @@ -0,0 +1,24 @@ +## Deps +node_modules +lib +out +schema +utils + +## Hardhat +cache +artifacts +contracts +typechain + +## Subgraph +subgraph.template.yaml +build +generated +./docker +/docker/**/* +/docker/* +/docker/data/postgres +/scripts +contracts +utils \ No newline at end of file diff --git a/subgraph/README.md b/subgraph/README.md new file mode 100644 index 0000000000..ca9946a08f --- /dev/null +++ b/subgraph/README.md @@ -0,0 +1,93 @@ +### Testing subgraph +- `nix-shell --run init` +- `nix-shell --run docker-up` +- `nix-shell --run ci-test` + +### Deploying the subgraph with registry subgraph ABI check +- `nix-shell --run init` +- ``` + nix-shell --run "ts-node scripts/deploy.ts \ + --contractAddress \ + --subgraphName \ + --graphAccessToken \ + --network + " + ``` + +### Deploying the subgraph with etherscan/polygonscan ABI check +- `nix-shell --run init` +- ``` + nix-shell --run "ts-node scripts/deploy.ts \ + --contractAddress \ + --subgraphName \ + --graphAccessToken \ + --network + --blockNumber + --etherscanAPIKey + " + ``` + +### To deploy subgraph without any ABI check +- `nix-shell --run init` +- ``` + nix-shell --run "ts-node scripts/deploy.ts \ + --contractAddress \ + --blockNumber + --subgraphName \ + --graphAccessToken \ + --network + --skipCheck + " + ``` +### Building a Subgraph to be deployed by Chainstack +When deploying with chainstack we only need to build the sugbraph. This can be done by using any of the following commands. + +#### Build Subgraph with registry subgraph ABI check +Run : +``` +nix-shell --run init +``` +and then : +``` +nix-shell --run "ts-node scripts/buildChainstackSubgraph.ts \ + --contractAddress \ + --network + " +``` +#### Build Subgraph with etherscan/polygonscan ABI check +This is the recommended command while building the subgraph. +Run : +``` +nix-shell --run init +``` +and then : +``` +nix-shell --run "ts-node scripts/buildChainstackSubgraph.ts \ + --contractAddress \ + --network + --blockNumber + --etherscanAPIKey + " +``` +#### Build Subgraph without any ABI check +Run : +``` +nix-shell --run init +``` +and then : +``` +nix-shell --run "ts-node scripts/buildChainstackSubgraph.ts \ + --contractAddress \ + --blockNumber + --network + --skipCheck + " +``` + +### Deploying Subgraph with Chainstack +- After building the subgraph to deploy subgraph , create a subgraph on https://chainstack.com/ and simply run the `Deployment command` generated by the chainstack console from the root of the project : +- The deployment command will look something like this : +``` +graph deploy --node --ipfs +``` + diff --git a/subgraph/abis/OrderBook.json b/subgraph/abis/OrderBook.json new file mode 100644 index 0000000000..6495b6387d --- /dev/null +++ b/subgraph/abis/OrderBook.json @@ -0,0 +1,33884 @@ +{ + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", + "name": "config", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ActiveDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "name": "FlashLenderCallbackFailed", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "name": "InvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "name": "MinimumInput", + "type": "error" + }, + { + "inputs": [], + "name": "NoOrders", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NotOrderOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "name": "NotRainMetaV1", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoHandleIO", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoInputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoOutputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoSources", + "type": "error" + }, + { + "inputs": [], + "name": "ReentrancyGuardReentrantCall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "SameOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "name": "SourceOffsetOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "aliceTokenDecimals", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "bobTokenDecimals", + "type": "uint8" + } + ], + "name": "TokenDecimalsMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "name": "TokenMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "name": "UnexpectedMetaHash", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "ZeroDepositAmount", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroReceiver", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "ZeroWithdrawTargetAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IExpressionDeployerV2", + "name": "expressionDeployer", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "AddOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple" + } + ], + "name": "AfterClear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + } + ], + "name": "Clear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + } + ], + "name": "Context", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subject", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "name": "MetaV1", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderExceedsMaxRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderNotFound", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderZeroAmount", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "RemoveOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "input", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "output", + "type": "uint256" + } + ], + "name": "TakeOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IExpressionDeployerV2", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ], + "internalType": "struct EvaluableConfigV2", + "name": "evaluableConfig", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct OrderConfigV2", + "name": "config", + "type": "tuple" + } + ], + "name": "addOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext", + "type": "tuple[]" + } + ], + "name": "clear", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + } + ], + "name": "removeOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct TakeOrdersConfigV2", + "name": "config", + "type": "tuple" + } + ], + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalTakerInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalTakerOutput", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517ff0c79e4006636a71899066ac45a478da4eafaa3117769678b6f18d96138bc15690829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "8931:33448:161:-:0;;;1846:76:158;;;-1:-1:-1;;;;;;1846:76:158;;;;;;1928:36;;;;;;;;1919:1;1970:34;;10710:139:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6345:75:161;1821:22:22;1109:11:80;;;;6353:66:161;;10835:6;;1075:46:80;;6353:66:161;;1075:23:80;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10710:139:161;8931:33448;;1424:292:150;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:150;;;;;3082:25:192;;;3123:18;;;3116:34;;;3055:18;;1619:46:150;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:95:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:95;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:95;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:95:o;1075:155:150:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:150;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:150;;550:376;-1:-1:-1;550:376:150:o;631:34::-;-1:-1:-1;846:1:150;835:13;829:20;-1:-1:-1;;;;;825:32:150;667:18:149;883:36:150;;550:376::o;14:127:192:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:192;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:192;508:40;;-1:-1:-1;;;;;563:34:192;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:192:o;687:131::-;-1:-1:-1;;;;;762:31:192;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:192;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:192;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:192;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:192;;;2179:29;-1:-1:-1;2190:5:192;1078:1160;-1:-1:-1;;;1078:1160:192:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:192;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:192:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:192:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:192;;3161:435;-1:-1:-1;;;;;3161:435:192:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:192;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:192;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:192:o;:::-;8931:33448:161;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "8931:33448:161:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11896:640;;;;;;:::i;:::-;;:::i;:::-;;11706:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:192;;904:22;886:41;;874:2;859:18;11706:151:161;;;;;;;;5602:2666:158;;;;;;:::i;:::-;;:::i;8709:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:192;;;2296:2;2281:18;8709:162:158;2162:177:192;13566:2174:161;;;;;;:::i;:::-;;:::i;16266:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:192;;;3377:2;3362:18;;3355:34;;;;3294:18;16266:8257:161;3147:248:192;24562:4247:161;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12575:952:161:-;;;;;;:::i;:::-;;:::i;11435:232::-;;;;;;:::i;:::-;;:::i;8314:110:158:-;;;;;;:::i;:::-;;:::i;15779:448:161:-;;;;;;:::i;:::-;;:::i;11896:640::-;2261:21:22;:19;:21::i;:::-;11997:6:161::1;12007:1;11997:11:::0;11993:94:::1;;12031:45;::::0;::::1;::::0;;12049:10:::1;12031:45;::::0;::::1;15585:34:192::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12031:45:161::1;;;;;;;;11993:94;12295:43;::::0;;12303:10:::1;16017:34:192::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12295:43:161::1;::::0;15943:3:192;15928:19;12295:43:161::1;;;;;;;12402:65;:30;::::0;::::1;12433:10;12453:4;12460:6:::0;12402:30:::1;:65::i;:::-;12492:10;12477:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12523:6;;12477:26;:52:::1;::::0;12523:6;;12477:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;11896:640:161;;;:::o;2303:20:22:-;11896:640:161;;;:::o;11706:151::-;11795:4;3098:7:22;;1759:1;3098:19;11001:93:161;;11053:30;;;;;;;;;;;;;;11001:93;-1:-1:-1;11818:18:161::1;::::0;;;:7:::1;:18;::::0;;;;;2616:1:::1;11818:32;11103:1;11706:151:::0;;;:::o;5602:2666:158:-;5756:4;6023:31;;;6019:91;;6081:14;;;;;;;;;;;;;;6019:91;6127:19;;;6123:76;;6173:11;;;;;;;;;;;;;;6123:76;6216:6;6226:1;6216:11;6212:69;;6254:12;;;;;;;;;;;;;;6212:69;6524:18;:16;:18::i;:::-;6556:7;:15;;;;;;;;;;;;;;;6585:21;;;;;;;;;;;;;;;6752:18;6556:7;6752:6;:18;:::i;:::-;6735:14;:35;6784:53;:26;;;6819:8;6830:6;6784:26;:53::i;:::-;6875:64;;;;;6858:14;;6875:20;;;;;;:64;;6896:10;;6908:5;;6915:6;;6858:14;;6934:4;;;;6875:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6858:81;;425:45:165;6953:6:158;:40;6949:111;;7016:33;;;;;;;;2308:25:192;;;2281:18;;7016:33:158;2162:177:192;6949:111:158;7438:14;;;-1:-1:-1;7470:10:158;;7466:401;;7744:72;:30;;;7783:8;7802:4;7809:6;7744:30;:72::i;:::-;7851:1;7834:14;:18;7466:401;7990:10;:46;;;;;;;;;8050:7;:20;;;;;;;8221:18;:16;:18::i;:::-;-1:-1:-1;8257:4:158;;5602:2666;-1:-1:-1;;;;;;5602:2666:158:o;8709:162::-;8778:7;8804:15;:13;:15::i;:::-;:60;;8826:38;;;;;8858:4;8826:38;;;17981:74:192;8826:23:158;;;;;;17954:18:192;;8826:38:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8804:60;;;8822:1;8804:60;8797:67;8709:162;-1:-1:-1;;8709:162:158:o;13566:2174:161:-;13646:17;2261:21:22;:19;:21::i;:::-;13675:19:161::1;13697:56;13721:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13697:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13697:23:161::1;::::0;-1:-1:-1;;;13697:56:161:i:1;:::-;13675:78;;13767:11;13782:1;13767:16:::0;13763:80:::1;;13806:26;::::0;::::1;::::0;;13821:10:::1;13806:26;::::0;::::1;17981:74:192::0;17954:18;;13806:26:161::1;17835:226:192::0;13763:80:161::1;13856:11;13871:1;13856:16:::0;13852:81:::1;;13895:27;::::0;::::1;::::0;;13911:10:::1;13895:27;::::0;::::1;17981:74:192::0;17954:18;;13895:27:161::1;17835:226:192::0;13852:81:161::1;13946:18;:6:::0;;:18:::1;:::i;:::-;:25;;13975:1;13946:30:::0;13942:93:::1;;13999:25;::::0;::::1;::::0;;14013:10:::1;13999:25;::::0;::::1;17981:74:192::0;17954:18;;13999:25:161::1;17835:226:192::0;13942:93:161::1;14048:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14078:1;14048:31:::0;14044:95:::1;;14102:26;::::0;::::1;::::0;;14117:10:::1;14102:26;::::0;::::1;17981:74:192::0;17954:18;;14102:26:161::1;17835:226:192::0;14044:95:161::1;14149:26;::::0;;14226:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14327:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14372:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:43::0;3277:11;;3269:1:161::1;3301:16:43::0;;;3348:4;3337:16;;3330:27;3508:1:161::1;3377:16:43::0;;;3370:27;3195:22;3423:16;;3410:30;;;14226:279:161::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14148:357;;;;;;14691:18;14712:279;;;;;;;;14731:10;14712:279;;;;;;14860:1;14755:102;14783:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14755:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3146:1:161::1;::::0;-1:-1:-1;14755:27:161::1;::::0;-1:-1:-1;;14755:102:161:i:1;:::-;:106;14712:279:::0;;14875:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14712:279;14875:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14712:279;::::1;::::0;;14930:18:::1;:6:::0;;:18:::1;:::i;:::-;14712:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14962:6;:19;;;;;;;;:::i;:::-;14712:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14691:300:::1;;15001:17;15021:12;:5;:10;:12::i;:::-;2820:1;15123:18:::0;;;:7:::1;:18;::::0;;;;;15001:32;;-1:-1:-1;15119:615:161::1;;15263:18;::::0;;;:7:::1;:18;::::0;;;;;;15186:4:::1;15263:31:::0;;;;15186:4;-1:-1:-1;15313:71:161::1;::::0;15322:10:::1;::::0;15334:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15367:5;15374:9;15313:71;;;;;;;;;:::i;:::-;;;;;;;;15576:1;15555:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15551:173;;;15597:38;15623:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15597:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15597:25:161::1;::::0;-1:-1:-1;;;15597:38:161:i:1;:::-;15658:51;15665:10;15685:9:::0;15697:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15658:51;;;;;;;;;:::i;:::-;;;;;;;;15551:173;13665:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16266:8257:161;16377:23;16402:24;2261:21:22;:19;:21::i;:::-;16446:13:161::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16470:1;16446:25:::0;16442:73:::1;;16494:10;;;;;;;;;;;;;;16442:73;16525:9;16548:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16548:38:161::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16655:19:161::1;::::0;::::1;;16684:5775;16695:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16691:1;:24;:51;;;;;16741:1;16719:19;:23;16691:51;16684:5775;;;16776:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16790:1;16776:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16758:34;;;:::i;:::-;16814:21:::0;;16758:34;;-1:-1:-1;16814:21:161;-1:-1:-1;17002:13:161::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17016:1;17002:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17037:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17051:1;17037:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17002:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17002:71:161::1;:::i;:::-;16925:148;;:5;:17;;;16943:15;:28;;;16925:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;16904:423;;17148:5;:17;;;17166:15;:28;;;17148:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17223:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17237:1;17223:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17258:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17272:1;17258:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17223:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17223:71:161::1;:::i;:::-;17113:199;::::0;::::1;::::0;;28187:42:192;28256:15;;;17113:199:161::1;::::0;::::1;28238:34:192::0;28308:15;;28288:18;;;28281:43;28150:18;;17113:199:161::1;28003:327:192::0;16904:423:161::1;17496:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17510:1;17496:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17532:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17546:1;17532:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17496:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17496:73:161::1;:::i;:::-;17417:152;;:5;:18;;;17436:15;:29;;;17417:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17396:431;;17644:5;:18;;;17663:15;:29;;;17644:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17721:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17735:1;17721:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17757:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17771:1;17757:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17721:67;;;;;;;:::i;17396:431::-;18005:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18019:1;18005:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18040:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18054:1;18040:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18005:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;17925:154;;:5;:17;;;17943:15;:28;;;17925:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;17904:443;;18162:5;:17;;;18180:15;:28;;;18162:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18240:6;:13;;;;;;;;:::i;:::-;18254:1;18240:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18275:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18289:1;18275:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18240:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18119:213;::::0;::::1;::::0;;28718:4:192;28706:17;;;18119:213:161::1;::::0;::::1;28688:36:192::0;28760:17;;28740:18;;;28733:45;28661:18;;18119:213:161::1;28522:262:192::0;17904:443:161::1;18528:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18542:1;18528:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18564:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18578:1;18564:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18528:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18446:158;;:5;:18;;;18465:15;:29;;;18446:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18425:451;;18687:5;:18;;;18706:15;:29;;;18687:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18767:6;:13;;;;;;;;:::i;:::-;18781:1;18767:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18803:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18817:1;18803:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18767:67;;;;;;;:::i;18425:451::-;18890:17;18910:12;:5;:10;:12::i;:::-;2820:1;18940:18:::0;;;:7:::1;:18;::::0;;;;;18890:32;;-1:-1:-1;18936:3453:161::1;;19023:11:::0;;18997:49:::1;::::0;;19011:10:::1;15585:34:192::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;18997:49:161::1;::::0;15512:2:192;15497:18;18997:49:161::1;;;;;;;18936:3453;;;19085:44;19132:245;19170:5;19197:15;:28;;;19247:15;:29;;;19298:10;19330:15;:29;;;19132:16;:245::i;:::-;19085:292;;19756:6;:21;;;19727:18;:26;;;:50;19723:2652;;;19839:11:::0;;19806:56:::1;::::0;;19827:10:::1;15585:34:192::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19806:56:161::1;::::0;15512:2:192;15497:18;19806:56:161::1;;;;;;;;19723:2652;;;19913:18;:28;;;19946:1;19891:56:::0;19887:2488:::1;;20004:11:::0;;19976:51:::1;::::0;;19992:10:::1;15585:34:192::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19976:51:161::1;::::0;15512:2:192;15497:18;19976:51:161::1;15322:398:192::0;19887:2488:161::1;20074:24;20101:5;:18;;;20120:15;:29;;;20101:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20326:28:::1;::::0;::::1;::::0;20101:58;;-1:-1:-1;20256:26:161::1;20873:62;:19:::0;:62:::1;::::0;::::1;503:6:76;20873:27:161;:62::i;:::-;20788:148;;21024:21;20987:12;20966:80;20962:179;;;21093:21;21078:36;;20962:179;20657:506;21185:19;21335:28:::0;21535:156:::1;21617:18;:26;;;21645:16;21556:12;21535:48;;:156;;;;;:::i;:::-;21335:382;;21757:170;21830:5;:17;;;21848:15;:28;;;21830:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21757:170;;416:1:76;21779:13:161;21757:43;;:170;;;;;:::i;:::-;21743:184:::0;-1:-1:-1;21972:18:161::1;::::0;-1:-1:-1;21993:76:161::1;22014:12:::0;21993:76:::1;::::0;::::1;503:6:76;21993:41:161;:76::i;:::-;21972:97:::0;-1:-1:-1;22092:33:161::1;21972:97:::0;22092:33;::::1;:::i;:::-;::::0;-1:-1:-1;22147:31:161::1;22167:11:::0;22147:31;::::1;:::i;:::-;;;22201:65;22215:5;22222:11;22235:10;22247:18;22201:13;:65::i;:::-;22293:63;22303:10;22315:15;22332:10;22344:11;22293:63;;;;;;;;;:::i;:::-;;;;;;;;20052:2323;;;;19887:2488;19067:3322;18936:3453;-1:-1:-1::0;22431:3:161::1;::::0;;::::1;::::0;16684:5775:::1;;;22486:41;22508:19:::0;22486::::1;::::0;::::1;;:41;:::i;:::-;22468:59:::0;-1:-1:-1;22560:19:161;::::1;22542:37:::0;::::1;22538:125;;;22602:50;::::0;::::1;::::0;;22615:19;::::1;22602:50;::::0;::::1;3321:25:192::0;3362:18;;;3355:34;;;3294:18;;22602:50:161::1;3147:248:192::0;22538:125:161::1;23445:28;23476:157;23521:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23535:1;23521:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23557:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23571:1;23557:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23521:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23521:73:161::1;:::i;:::-;23596:10;23608:15;23476:31;:157::i;:::-;23445:188:::0;-1:-1:-1;23668:1:161::1;23647:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23643:395;;;23708:10;23685:47;23750:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23764:1;23750:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23786:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23800:1;23786:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23750:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23750:73:161::1;:::i;:::-;23841:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23855:1;23841:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23876:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23890:1;23876:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23841:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23841:71:161::1;:::i;:::-;23930:20:::0;23968:16;24002:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23685:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23643:395;24052:20:::0;;24048:469:::1;;24335:171;24449:10;24469:4;24476:16:::0;24342:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24356:1;24342:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24377:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24391:1;24377:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24342:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24342:71:161::1;:::i;:::-;24335:96;;::::0;:171;;:96:::1;:171::i;:::-;16432:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16266:8257:161;;;:::o;24562:4247::-;2261:21:22;:19;:21::i;:::-;24848:9:161;;24833:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24829:92:::1;;24894:11:::0;;24884:22:::1;::::0;::::1;::::0;;18011:42:192;17999:55;;;24884:22:161::1;::::0;::::1;17981:74:192::0;17954:18;;24884:22:161::1;17835:226:192::0;24829:92:161::1;25035:3;:15;;;25051:11;:27;;;25035:44;;;;;;;;:::i;:::-;;;;;;;:50;;;24955:130;;:5;:18;;;24974:11;:30;;;24955:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;24934:387;;25160:5;:18;;;25179:11;:30;;;25160:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25238:3;:15;;;25254:11;:27;;;25238:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25125:181:::1;::::0;::::1;::::0;;28187:42:192;28256:15;;;25125:181:161::1;::::0;::::1;28238:34:192::0;28308:15;;28288:18;;;28281:43;28150:18;;25125:181:161::1;28003:327:192::0;24934:387:161::1;25439:3;:15;;;25455:11;:27;;;25439:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25356:136;;:5;:18;;;25375:11;:30;;;25356:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25335:407;;25575:5;:18;;;25594:11;:30;;;25575:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25656:3;:15;;;25672:11;:27;;;25656:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25532:195;;;;;;;;;;;28718:4:192::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25335:407:161::1;25853:17;::::0;::::1;::::0;:48;;25871:29;::::1;::::0;25853:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25777:130;;:3;:16;;;25794:11;:28;;;25777:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25756:387;;25982:17;::::0;::::1;::::0;:48;;26000:29;::::1;::::0;25982:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26058:3;:16;;;26075:11;:28;;;26058:46;;;;;;;;:::i;25756:387::-;26257:17;::::0;::::1;::::0;:48;;26275:29;::::1;::::0;26257:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26178:136;;:3;:16;;;26195:11;:28;;;26178:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26157:407;;26397:17;::::0;::::1;::::0;:48;;26415:29;::::1;::::0;26397:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26476:3;:16;;;26493:11;:28;;;26476:46;;;;;;;;:::i;26157:407::-;2820:1;26789:7;:21;26797:12;:5;:10;:12::i;:::-;26789:21;;;;;;;;;;;;:35:::0;26785:155:::1;;26849:52;26863:10;26875:5;:11;;;26888:12;:5;:10;:12::i;:::-;26849:52;::::0;;15534:42:192;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26849:52:161::1;;;;;;;26919:7;;26785:155;2820:1;26957:7;:19;26965:10;:3;:8;:10::i;:::-;26957:19;;;;;;;;;;;;:33:::0;26953:149:::1;;27015:48;27029:10;27041:3;:9;;;27052:10;:3;:8;:10::i;26953:149::-;27172:42;27178:10;27190:5;27197:3;27202:11;27172:42;;;;;;;;;:::i;:::-;;;;;;;;27234:50;27287:137;27317:5;27324:11;:29;;;27355:11;:30;;;27387:3;:9;;;27398:16;27287;:137::i;:::-;27234:190;;27434:48;27485:135;27515:3;27520:11;:27;;;27549:11;:28;;;27579:5;:11;;;27592:18;27485:16;:135::i;:::-;27434:186;;27630:40;27685:75;27711:24;27737:22;27685:25;:75::i;:::-;27630:130;;27771:105;27785:5;27792:16;:27;;;27821:16;:28;;;27851:24;27771:13;:105::i;:::-;27886:97;27900:3;27905:16;:25;;;27932:16;:26;;;27960:22;27886:13;:97::i;:::-;28193:25;::::0;::::1;::::0;28162:28;;28140:19:::1;::::0;28162:56:::1;::::0;::::1;:::i;:::-;28140:78;;28232:17;28281:16;:27;;;28252:16;:26;;;:56;;;;:::i;:::-;28232:76:::0;-1:-1:-1;28326:15:161;;28322:206:::1;;28376:10;28361:26;::::0;;;:14:::1;:26;::::0;;;;;;28388:18:::1;::::0;::::1;::::0;:50;;28502:11;;28361:26;;28407:30;::::1;;::::0;28388:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28361:84;;;;;;;;;;;;;;;:137;28446:11;:51;;;28361:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28322:206:161::1;28545:13:::0;;28541:196:::1;;28593:10;28578:26;::::0;;;:14:::1;:26;::::0;;;;28605:16:::1;::::0;::::1;::::0;:46;;28713:9;;28578:26;28605:16;28622:28:::1;::::0;::::1;;::::0;28605:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28578:80;;;;;;;;;;;;;;;:131;28659:11;:49;;;28578:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28541:196:161::1;-1:-1:-1::0;;28762:40:161::1;::::0;;28773:10:::1;32657:74:192::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28762:40:161::1;::::0;32644:3:192;32629:19;28762:40:161::1;;;;;;;24805:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24562:4247:161;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12575:952:161:-;2261:21:22;:19;:21::i;:::-;12683:12:161::1;12699:1;12683:17:::0;12679:107:::1;;12723:52;::::0;::::1;::::0;;12748:10:::1;12723:52;::::0;::::1;15585:34:192::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12723:52:161::1;15322:398:192::0;12679:107:161::1;12840:10;12795:27;12825:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;12974:37:::1;:12:::0;12825:42;12974:16:::1;:37::i;:::-;12949:62:::0;-1:-1:-1;13025:18:161;;13021:500:::1;;13309:36;13331:14:::0;13309:19;:36:::1;:::i;:::-;13279:10;13264:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13364:66;;33490:34:192;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13364:66:161::1;::::0;33416:3:192;33401:19;13364:66:161::1;;;;;;;13444;13476:5;13483:10;13495:14;13444:31;:66::i;:::-;;13021:500;12669:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11435:232:161;11593:7;3098::22;;1759:1;3098:19;11001:93:161;;11053:30;;;;;;;;;;;;;;11001:93;-1:-1:-1;11623:21:161::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11103:1:::1;11435:232:::0;;;;;:::o;15779:448::-;15853:17;2261:21:22;:19;:21::i;:::-;15900:11:161::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;15886:25;;:10;:25;;;15882:101;;15948:10;15960:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;15934:38;::::0;::::1;::::0;;28187:42:192;28256:15;;;15934:38:161::1;::::0;::::1;28238:34:192::0;28308:15;;28288:18;;;28281:43;28150:18;;15934:38:161::1;28003:327:192::0;15882:101:161::1;15992:17;16012:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16038:18;::::0;;;:7:::1;:18;::::0;;;;;15992:32;;-1:-1:-1;16038:32:161;;16034:187:::1;;2820:1;16119:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16169:41;16101:4:::1;::::0;-1:-1:-1;16169:41:161::1;::::0;::::1;::::0;16181:10:::1;::::0;16193:5;;16127:9;;16169:41:::1;:::i;:::-;;;;;;;;16034:187;15872:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:192;2460:63:22;;;37243:21:192;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:192;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:192;15603:15;;;1482:68:27;;;15585:34:192;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:192;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2417:167:158:-;2473:15;:13;:15::i;:::-;2469:109;;;2530:10;;2543:7;;2552:14;;2511:56;;;;;2530:10;;;;2511:56;;;15585:34:192;2543:7:158;;;;15635:18:192;;;15628:43;15687:18;;;15680:34;15497:18;;2511:56:158;15322:398:192;2469:109:158;2417:167::o;941:175:27:-;1050:58;;37623:42:192;37611:55;;1050:58:27;;;37593:74:192;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:192;;1050:58:27;37419:297:192;2246:165:158;2326:10;;2294:4;;2318:33;2326:10;2318:33;;;2317:62;;-1:-1:-1;2357:7:158;;:21;:7;:21;;2317:62;:87;;;-1:-1:-1;2384:14:158;;:19;;2317:87;2310:94;;2246:165;:::o;476:349:93:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:93;;476:349;-1:-1:-1;476:349:93:o;568:59::-;-1:-1:-1;802:4:93;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:93:o;537:118:170:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:150:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29513:5114:161:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29796:17:161;29816:12;:5;:10;:12::i;:::-;29937:78;;;4207:1;29937:78;;;;;;;;;29796:32;;-1:-1:-1;29843:26:161;;29901:33;;29937:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30169:11:161;;4055:4:43;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30153:29:161;;;;4149:16:43;;;4142:27;30184:30:161;;;3967:22:43;4189:16;;4182:27;4246:4;4235:16;;4222:30;;29901:114:161;;-1:-1:-1;30033:14:161;30081:1;4640;30048:34;30033:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30301:476;30364:5;:17;;;30382:12;30364:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30348:55;;30425:5;:17;;;30443:12;30425:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30301:476;;30487:5;:17;;;30505:12;30487:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30548:14;:27;30563:5;:11;;;30548:27;;;;;;;;;;;;;;;:66;30576:5;:17;;;30594:12;30576:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30548:66;;;;;;;;;;;;;;;:132;30615:5;:17;;;30633:12;30615:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30548:132;;;;;;;;;;;;30758:1;5980:4:43;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30301:476:161;30251:14;30296:1;5175;30266:31;30251:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30847:486;30910:5;:18;;;30929:13;30910:33;;;;;;;;:::i;:::-;;;;;;;:39;;;30894:57;;30973:5;:18;;;30992:13;30973:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30847:486;;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31100:14;:27;31115:5;:11;;;31100:27;;;;;;;;;;;;;;;:68;31128:5;:18;;;31147:13;31128:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31100:68;;;;;;;;;;;;;;;:136;31169:5;:18;;;31188:13;31169:33;;;;;;;;:::i;30847:486::-;30796:14;30842:1;5342;30811:32;30796:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31361:47;31378:14;31394:13;31361:16;:47::i;:::-;31351:57;;29883:1540;31599:24;31662:5;:11;;;31646:29;;31599:77;;32018:36;32056:34;32094:5;:32;;;:61;;;:83;;;32178:5;:15;;;:21;;;32201:9;32212:51;32236:5;:15;;;:26;;;32212:23;:51::i;:::-;32265:7;32094:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32017:256;;;;32288:31;32342:19;32391:1;32362:19;:26;:30;32342:51;;;;;;;;:::i;:::-;;;;;;;32288:106;;32408:20;32431:19;32480:1;32451:19;:26;:30;32431:51;;;;;;;;:::i;:::-;;;;;;;32408:74;;32651:25;32679:14;:27;32694:5;:11;;;32679:27;;;;;;;;;;;;;;;:68;32707:5;:18;;;32726:13;32707:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32679:68;;;;;;;;;;;;;;;:132;32748:5;:39;;;32788:13;32748:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32679:132;;;;;;;;;;;;32651:160;;33864:34;33941:72;33967:5;:18;;;33986:13;33967:33;;;;;;;;:::i;:::-;;;;;;;:42;;;33941:72;;34011:1;33941:17;:25;;:72;;;;;:::i;:::-;33864:150;;34100:19;34058:16;34036:84;34032:169;;;34163:19;34144:38;;34032:169;-1:-1:-1;;3283:4:43;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34312:7:161;4835:1;34312:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34469:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34469:141:161;;;;;;;;;;;-1:-1:-1;;;;34469:141:161;;;;-1:-1:-1;34469:141:161;29513:5114::o;5782:869:77:-;5869:7;5939:9;253:2:76;5916:32:77;5912:723;;;253:2:76;5989:32:77;;;503:6:76;6043:22:77;;:26;6039:190;;6100:33;6118:2;6122:10;6100:17;:33::i;:::-;6093:40;;;;;6039:190;6187:23;6195:2;6199:10;6187:7;:23::i;5912:723::-;253:2:76;6253:9:77;:32;6249:386;;;6328:32;;;416:1:76;6382:22:77;;:26;6378:195;;6439:34;6456:2;6460:12;6439:16;:34::i;6378:195::-;6527:27;6537:2;6541:12;6527:9;:27::i;6249:386::-;-1:-1:-1;6618:2:77;6611:9;;646:163:75;738:7;764:38;:1;773;339:4:76;793:8:75;764;:38::i;:::-;757:45;646:163;-1:-1:-1;;;;646:163:75:o;7076:898:77:-;7168:7;7238:15;253:2:76;7215:38:77;7211:747;;;253:2:76;7296:38:77;;;416:1:76;7356:22:77;;:26;7352:195;;7413:34;7430:2;7434:12;7413:16;:34::i;7211:747::-;253:2:76;7571:15:77;:38;7567:391;;;7650:38;;;503:6:76;7710:22:77;;:26;7706:190;;7767:33;7785:2;7789:10;7767:17;:33::i;35201:3665:161:-;35467:5;35378:18;:26;;;5175:1;35378:55;;;;;;;;:::i;:::-;;;;;;;6159:1;35378:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35572:6;35482:18;:26;;;5342:1;35482:56;;;;;;;;:::i;:::-;;;;;;;6159:1;35482:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35593:9;;35589:360;;35704:11;;35689:27;;;;;;:14;:27;;;;;35750:26;;;;:55;;35933:5;;35689:27;35750:26;5175:1;;35750:55;;;;;;:::i;:::-;;;;;;;5460:1;35750:79;;;;;;;;:::i;:::-;;;;;;;35689:156;;;;;;;;;;;;;;;:240;35846:18;:26;;;5175:1;35846:55;;;;;;;;:::i;:::-;;;;;;;5702:1;35846:82;;;;;;;;:::i;:::-;;;;;;;35689:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35589:360:161;35962:10;;35958:365;;36075:11;;36060:27;;;;;;:14;:27;;;;;36121:26;;;;:56;;36306:6;;36060:27;36121:26;5342:1;;36121:56;;;;;;:::i;:::-;;;;;;;5460:1;36121:80;;;;;;;;:::i;:::-;;;;;;;36060:157;;;;;;;;;;;;;;;:242;36218:18;:26;;;5342:1;36218:56;;;;;;;;:::i;:::-;;;;;;;5702:1;36218:83;;;;;;;;:::i;:::-;;;;;;;36060:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;35958:365:161;36489:47;36497:10;36509:18;:26;;;36489:47;;;;;;;:::i;:::-;;;;;;;;36767:22;;;;:29;:33;36763:470;;37143:5;:15;;;:21;;;:25;;;37169:18;:28;;;37199:18;:22;;;37143:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36763:470;37391:5;:14;;;37387:1473;;;37865:30;37897:28;37929:5;:15;;;:27;;;:32;;;37979:5;:15;;;:21;;;38018:18;:28;;;38064:45;38082:5;:15;;;:26;;;38064:17;:45::i;:::-;38127:18;:26;;;37929:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38378:18;;37864:303;;-1:-1:-1;37864:303:161;-1:-1:-1;38378:22:161;38374:476;;38767:5;:15;;;:21;;;:25;;;38793:18;:28;;;38823:11;38767:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38374:476;37407:1453;;35201:3665;;;;:::o;4766:790:158:-;5050:7;;4894;;5050;5041:16;;;5050:7;;5041:16;:51;;;;-1:-1:-1;5081:10:158;;;5061:31;;;5081:10;;5061:31;5041:51;5037:383;;;5108:21;5132:30;5147:14;;5132:10;:14;;:30;;;;:::i;:::-;5108:54;-1:-1:-1;5176:27:158;5108:54;5176:27;;:::i;:::-;;;5396:13;5378:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5037:383:158;5434:14;;5430:93;;5464:48;:26;;;5491:8;5501:10;5464:26;:48::i;39410:486:161:-;39590:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39590:40:161;39642:90;39667:16;39685:23;39710:21;39642:24;:90::i;:::-;39799;39824:16;39842:21;39865:23;39799:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5173:642:27:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;5618:27;;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;;;;42044:2:192;5697:111:27;;;42026:21:192;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5697:111:27;41842:406:192;1950:412:93;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:93:o;550:376:150:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:150;;550:376;-1:-1:-1;550:376:150:o;631:34::-;-1:-1:-1;846:1:150;835:13;829:20;691:16;825:32;667:18:149;883:36:150;;550:376::o;7166:2290:94:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:94;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:43;3277:11;;3315:1;3301:16;;2288:10:94;3348:4:43;3337:16;;3330:27;2326:4:94;3377:16:43;;;3370:27;2211:16:94;3423::43;;3410:30;;;3277:11;2246:165:158;7817:17:94;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:94;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:147;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:94;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:94;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:192;;;2281:18;;9164:19:94;2162:177:192;8196:1010:94;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:94;7166:2290;-1:-1:-1;;;;;7166:2290:94:o;41963:213:161:-;42040:15;1048:2:96;1016:34;;;;;3389:1:161;1015:100:96;42074:95:161;816:316:96;3552:702:77;3634:10;726:2:76;3684:10:77;:35;3680:558;;3744:7;;:31;;3758:17;3744:31;;;3754:1;3744:31;3739:36;;3680:558;;;-1:-1:-1;3957:2:77;:16;;;3996:7;;;;:2;3957:16;3996:7;3957:16;4185:7;;;;:::i;:::-;;:13;:38;;4206:17;4185:38;;2593:700;2772:2;:16;;;2813:7;2772:16;2813:2;:7;:::i;:::-;2808:12;;726:2:76;3190:10:77;:35;3186:101;;3246:7;;:30;;3260:16;3266:10;3260:2;:16;:::i;:::-;3246:30;;;-1:-1:-1;3256:1:77;;2593:700;-1:-1:-1;;2593:700:77:o;4877:613::-;4960:10;726:2:76;5010:12:77;:37;5006:468;;5072:7;;:15;;5086:1;5072:15;;;5082:1;5072:15;5067:20;;;;5006:468;;;5139:2;:18;;;;5180:2;5139:18;5180:7;;;;:::i;:::-;;5175:12;;5408:2;5403;:7;5397:2;:13;5393:67;;-1:-1:-1;5440:1:77;5434:7;;4877:613;-1:-1:-1;;4877:613:77:o;4659:212::-;4735:7;726:2:76;4785:12:77;:37;;:69;;4841:12;4835:2;:18;4829:2;:25;;;;;:::i;:::-;;4785:69;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42182:195:161:-;42253:15;1055:46:96;1048:2;1016:34;;;;;1015:87;42287:83:161;816:316:96;39902:2055:161;40473:29;;;;40409:31;;;;40325:27;;40387:147;;40409:31;40504:16;40387:68;:147::i;:::-;40588:33;;;;40325:219;;-1:-1:-1;40712:77:161;;;40708:183;;;-1:-1:-1;40865:13:161;40708:183;41053:163;41113:23;:29;;;:42;;;41156:23;:37;;;41113:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41053:163;;41205:1;41075:16;41053:46;;:163;;;;;:::i;:::-;41022:194;;41420:31;;;;41022:28;;41366:104;;41388:16;;41453;41366:53;:104::i;:::-;41305:175;;41784:166;41839:21;:27;;;:40;;;41880:21;:35;;;41839:77;;;;;;;;:::i;41784:166::-;41490:27;;;;:460;;;;-1:-1:-1;;;;;39902:2055:161:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:93:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:93;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:93;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:192;2952:53:36;;;45067:21:192;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:192;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:192;8113:60:28;;;45417:21:192;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:192;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:192;5354:81:28;;;45775:21:192;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:192;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:192;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:192;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:192:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:192;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:192:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:192;;561:180;-1:-1:-1;561:180:192:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:192;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:192;1437:18;;1424:32;;-1:-1:-1;1507:2:192;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:192;;-1:-1:-1;1871:2:192;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:192:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:192:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:192:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:192;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:192;;5790:703;-1:-1:-1;;;;;;;5790:703:192:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:192:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:192;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:192;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:192;;-1:-1:-1;;10648:12:192;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:192;8145:2554;-1:-1:-1;;;;;;8145:2554:192:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:192;;-1:-1:-1;;;;12066:626:192:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:192;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:192:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:192;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:192;;13286:859;-1:-1:-1;;;;;;;13286:859:192:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:192;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:192;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:192:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:192:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:192;;17464:184;-1:-1:-1;17464:184:192:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:192:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:192;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:192;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:192;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:192;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:192;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:192;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:192;;20766:435;-1:-1:-1;;;;;20766:435:192:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:192;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:192;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:192;26645:966;-1:-1:-1;;26645:966:192:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:192;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:192;30554:9;30525:685;;;-1:-1:-1;31249:18:192;;;31242:34;;;;-1:-1:-1;;31292:18:192;;;31285:34;;;;-1:-1:-1;31227:6:192;;29325:2000;-1:-1:-1;;;;;;29325:2000:192:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:192;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:192;;-1:-1:-1;34383:18:192;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:192;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:192;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:192;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:192;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:192;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:192:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": "847a1bc9", + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", + "deposit(address,uint256,uint256)": "0efe6a8b", + "flashFee(address,uint256)": "d9d98ce4", + "flashLoan(address,address,uint256,bytes)": "5cffe9de", + "maxFlashLoan(address)": "613255ab", + "multicall(bytes[])": "ac9650d8", + "orderExists(bytes32)": "2cb77e9f", + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": "8a44689c", + "vaultBalance(address,address,uint256)": "d97b2e48", + "withdraw(address,uint256,uint256)": "b5c5f672" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV2ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoOrders\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoSources\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"aliceTokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"bobTokenDecimals\",\"type\":\"uint8\"}],\"name\":\"TokenDecimalsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroDepositAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroWithdrawTargetAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV2\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTakerInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTakerOutput\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"OrderNoHandleIO(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoInputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoOutputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoSources(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"params\":{\"aliceTokenDecimals\":\"The input or output decimals of one order.\",\"bobTokenDecimals\":\"The input or output decimals of the other order.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}],\"ZeroDepositAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` depositing tokens.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` withdrawing tokens.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the target amount if the vault does not have the funds available to cover the target amount. For example an active order might move tokens before the withdraw completes.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\",\"targetAmount\":\"The amount of tokens requested to withdraw.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"},\"returns\":{\"stateChanged\":\"True if the order was added, false if it already existed.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"token\":\"The token to deposit.\",\"vaultId\":\"The vault ID to deposit under.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"_0\":\"True if the order exists, false otherwise.\"}},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"},\"returns\":{\"stateChanged\":\"True if the order was removed, false if it did not exist.\"}},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalTakerInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalTakerOutput\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"vaultBalance(address,address,uint256)\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"returns\":{\"_0\":\"The current balance of the vault.\"}},\"withdraw(address,uint256,uint256)\":{\"params\":{\"targetAmount\":\"The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.\",\"token\":\"The token to withdraw.\",\"vaultId\":\"The vault ID to withdraw from.\"}}},\"stateVariables\":{\"sVaultBalances\":{\"details\":\"Vault balances are stored in a mapping of owner => token => vault ID This gives 1:1 parity with the `IOrderBookV1` interface but keeping the `sFoo` naming convention for storage variables.\"}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NoOrders()\":[{\"notice\":\"Thrown when take orders is called with no orders.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"OrderNoHandleIO(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"This will exist in a future version of Open Zeppelin if their main branch is to be believed.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"notice\":\"Thrown when the input and output token decimals don't match, in either direction.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroAmount()\":[{\"notice\":\"Thrown when `flashLoan` amount is zero.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `withdraw` if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens if the vault balance is zero, or the withdrawal is used to repay a flash loan.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,bytes32)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"orderExists(bytes32)\":{\"notice\":\"Returns true if the order exists, false otherwise.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw(address,uint256,uint256)\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.interpreter/lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.interpreter/lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.datacontract/lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0\",\"dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec\",\"dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy\"]},\"lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol\":{\"keccak256\":\"0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36\",\"dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol\":{\"keccak256\":\"0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a\",\"dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768\",\"dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibContext.sol\":{\"keccak256\":\"0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05\",\"dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF\"]},\"lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb\",\"dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c\",\"dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP\"]},\"lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"src/abstract/OrderBookV3FlashLender.sol\":{\"keccak256\":\"0x9c90cadae1248ad3f374fff10b2cc228cfc6532886d5fce69eeb700c5111f3ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53427d0e2501e89e0dc6802e613ad8a118286e68e1fd7d8e524af0e0eeaa529a\",\"dweb:/ipfs/QmcjcnLfxN8xh2AhiyGz8qEbH6n3FDEhXY3uhFHKTkzWgQ\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0x25fcba14be1bcaa3598c849ffac91e47d694fb0af26f805cd2ae147e626bc02b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://689772f8e05b105939886f4a4dec879e289a442d7c3720fa74b20ce302ad474e\",\"dweb:/ipfs/QmYEqt6uRkhSZHGLFXzLmdWv1qYVTEwXxB1E35kQnJDSHX\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0xebc841ab2c03c057e116f7f7ccaff82be986eca988d26b88cbbf7499430ab9ee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a0cd8161b171e900007b6a8981559408d079f876d7d668fc4b43fc2be443c112\",\"dweb:/ipfs/QmfKuLfpcorjssSdX4GgZ1CDeJygnnvx586X8zRTBsNZAa\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x361d1463885b4fee46b5e9617517c0f8b6221adde78f3c48283e949f924a5629\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8215827bf1a53ebea2fe55f7bc7a4d9c35aac89ec9537958af00560c4b3e2317\",\"dweb:/ipfs/QmNs9hdheu5wJPC85mWm7kFNWUmZHWx8nFKFCjXZCyLgYR\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206\",\"dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "type": "error", + "name": "ActiveDebt" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "type": "error", + "name": "FlashLenderCallbackFailed" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "type": "error", + "name": "InvalidSignature" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "type": "error", + "name": "MinimumInput" + }, + { + "inputs": [], + "type": "error", + "name": "NoOrders" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "NotOrderOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "type": "error", + "name": "NotRainMetaV1" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoHandleIO" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoInputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoOutputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoSources" + }, + { + "inputs": [], + "type": "error", + "name": "ReentrancyGuardReentrantCall" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "SameOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "SourceOffsetOutOfBounds" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "aliceTokenDecimals", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "bobTokenDecimals", + "type": "uint8" + } + ], + "type": "error", + "name": "TokenDecimalsMismatch" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "type": "error", + "name": "TokenMismatch" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedMetaHash" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroAmount" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroDepositAmount" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroReceiver" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroToken" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroWithdrawTargetAmount" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "contract IExpressionDeployerV2", + "name": "expressionDeployer", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "AddOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "AfterClear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "Clear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]", + "indexed": false + } + ], + "type": "event", + "name": "Context", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "token", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Deposit", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "subject", + "type": "uint256", + "indexed": false + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "MetaV1", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderExceedsMaxRatio", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderNotFound", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderZeroAmount", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "RemoveOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "TakeOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "token", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Withdraw", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "struct OrderConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct EvaluableConfigV2", + "name": "evaluableConfig", + "type": "tuple", + "components": [ + { + "internalType": "contract IExpressionDeployerV2", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ] + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "addOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clear" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deposit" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function", + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "removeOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct TakeOrdersConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ] + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalTakerInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalTakerOutput", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { + "params": { + "config": "All config required to build an `Order`." + }, + "returns": { + "stateChanged": "True if the order was added, false if it already existed." + } + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "params": { + "alice": "Some order to clear.", + "aliceSignedContext": "Optional signed context that is relevant to A.", + "bob": "Another order to clear.", + "bobSignedContext": "Optional signed context that is relevant to B.", + "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." + } + }, + "deposit(address,uint256,uint256)": { + "params": { + "amount": "The amount of tokens to deposit.", + "token": "The token to deposit.", + "vaultId": "The vault ID to deposit under." + } + }, + "flashFee(address,uint256)": { + "details": "The fee to be charged for a given loan.", + "params": { + "amount": "The amount of tokens lent.", + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." + } + }, + "flashLoan(address,address,uint256,bytes)": { + "details": "Initiate a flash loan.", + "params": { + "amount": "The amount of tokens lent.", + "data": "Arbitrary data structure, intended to contain user-defined parameters.", + "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", + "token": "The loan currency." + } + }, + "maxFlashLoan(address)": { + "details": "The amount of currency available to be lent.", + "params": { + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` that can be borrowed." + } + }, + "multicall(bytes[])": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Receives and executes a batch of function calls on this contract." + }, + "orderExists(bytes32)": { + "params": { + "orderHash": "The hash of the order to check." + }, + "returns": { + "_0": "True if the order exists, false otherwise." + } + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "params": { + "order": "The `Order` data exactly as it was added." + }, + "returns": { + "stateChanged": "True if the order was removed, false if it did not exist." + } + }, + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { + "params": { + "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." + }, + "returns": { + "totalTakerInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", + "totalTakerOutput": "Total tokens taken from `msg.sender` and distributed between vaults." + } + }, + "vaultBalance(address,address,uint256)": { + "params": { + "id": "The vault ID to read.", + "owner": "The owner of the vault.", + "token": "The token the vault is for." + }, + "returns": { + "_0": "The current balance of the vault." + } + }, + "withdraw(address,uint256,uint256)": { + "params": { + "targetAmount": "The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.", + "token": "The token to withdraw.", + "vaultId": "The vault ID to withdraw from." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { + "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true." + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" + }, + "constructor": { + "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." + }, + "deposit(address,uint256,uint256)": { + "notice": "Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero." + }, + "maxFlashLoan(address)": { + "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." + }, + "orderExists(bytes32)": { + "notice": "Returns true if the order exists, false otherwise." + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." + }, + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { + "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." + }, + "vaultBalance(address,address,uint256)": { + "notice": "Get the current balance of a vault for a given owner, token and vault ID." + }, + "withdraw(address,uint256,uint256)": { + "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.interpreter/lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.interpreter/lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.datacontract/lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "src/concrete/OrderBook.sol": "OrderBook" + }, + "libraries": {} + }, + "sources": { + "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": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", + "urls": [ + "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", + "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", + "urls": [ + "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", + "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", + "urls": [ + "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", + "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { + "keccak256": "0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4", + "urls": [ + "bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0", + "dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58", + "urls": [ + "bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2", + "dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { + "keccak256": "0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80", + "urls": [ + "bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d", + "dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "lib/rain.datacontract/lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.datacontract/lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.datacontract/lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.datacontract/lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol": { + "keccak256": "0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0", + "urls": [ + "bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec", + "dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol": { + "keccak256": "0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1", + "urls": [ + "bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36", + "dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol": { + "keccak256": "0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db", + "urls": [ + "bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a", + "dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { + "keccak256": "0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6", + "urls": [ + "bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768", + "dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { + "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", + "urls": [ + "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", + "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { + "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", + "urls": [ + "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", + "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibContext.sol": { + "keccak256": "0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a", + "urls": [ + "bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05", + "dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol": { + "keccak256": "0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085", + "urls": [ + "bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb", + "dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { + "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", + "urls": [ + "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", + "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { + "keccak256": "0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364", + "urls": [ + "bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c", + "dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { + "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", + "urls": [ + "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", + "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" + ], + "license": "CAL" + }, + "lib/rain.metadata/src/IMetaV1.sol": { + "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", + "urls": [ + "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", + "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" + ], + "license": "CAL" + }, + "lib/rain.metadata/src/LibMeta.sol": { + "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", + "urls": [ + "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", + "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" + ], + "license": "CAL" + }, + "src/abstract/OrderBookV3FlashLender.sol": { + "keccak256": "0x9c90cadae1248ad3f374fff10b2cc228cfc6532886d5fce69eeb700c5111f3ad", + "urls": [ + "bzz-raw://53427d0e2501e89e0dc6802e613ad8a118286e68e1fd7d8e524af0e0eeaa529a", + "dweb:/ipfs/QmcjcnLfxN8xh2AhiyGz8qEbH6n3FDEhXY3uhFHKTkzWgQ" + ], + "license": "CAL" + }, + "src/concrete/OrderBook.sol": { + "keccak256": "0x25fcba14be1bcaa3598c849ffac91e47d694fb0af26f805cd2ae147e626bc02b", + "urls": [ + "bzz-raw://689772f8e05b105939886f4a4dec879e289a442d7c3720fa74b20ce302ad474e", + "dweb:/ipfs/QmYEqt6uRkhSZHGLFXzLmdWv1qYVTEwXxB1E35kQnJDSHX" + ], + "license": "CAL" + }, + "src/interface/IOrderBookV2.sol": { + "keccak256": "0xebc841ab2c03c057e116f7f7ccaff82be986eca988d26b88cbbf7499430ab9ee", + "urls": [ + "bzz-raw://a0cd8161b171e900007b6a8981559408d079f876d7d668fc4b43fc2be443c112", + "dweb:/ipfs/QmfKuLfpcorjssSdX4GgZ1CDeJygnnvx586X8zRTBsNZAa" + ], + "license": "CAL" + }, + "src/interface/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", + "urls": [ + "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", + "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" + ], + "license": "CC0" + }, + "src/interface/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", + "urls": [ + "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", + "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" + ], + "license": "CC0" + }, + "src/interface/unstable/IOrderBookV3.sol": { + "keccak256": "0x361d1463885b4fee46b5e9617517c0f8b6221adde78f3c48283e949f924a5629", + "urls": [ + "bzz-raw://8215827bf1a53ebea2fe55f7bc7a4d9c35aac89ec9537958af00560c4b3e2317", + "dweb:/ipfs/QmNs9hdheu5wJPC85mWm7kFNWUmZHWx8nFKFCjXZCyLgYR" + ], + "license": "CAL" + }, + "src/interface/unstable/IOrderBookV3OrderTaker.sol": { + "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", + "urls": [ + "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", + "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" + ], + "license": "CAL" + }, + "src/lib/LibOrder.sol": { + "keccak256": "0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280", + "urls": [ + "bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206", + "dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/concrete/OrderBook.sol", + "id": 75855, + "exportedSymbols": { + "ActiveDebt": [ + 73065 + ], + "CALCULATE_ORDER_ENTRYPOINT": [ + 73725 + ], + "CALCULATE_ORDER_MAX_OUTPUTS": [ + 73741 + ], + "CALCULATE_ORDER_MIN_OUTPUTS": [ + 73737 + ], + "CALLER_META_HASH": [ + 73804 + ], + "CALLING_CONTEXT_COLUMNS": [ + 73753 + ], + "CONTEXT_BASE_COLUMN": [ + 73757 + ], + "CONTEXT_CALCULATIONS_COLUMN": [ + 73765 + ], + "CONTEXT_CALLING_CONTEXT_COLUMN": [ + 73761 + ], + "CONTEXT_VAULT_INPUTS_COLUMN": [ + 73769 + ], + "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ + 73789 + ], + "CONTEXT_VAULT_IO_BALANCE_DIFF": [ + 73793 + ], + "CONTEXT_VAULT_IO_ROWS": [ + 73797 + ], + "CONTEXT_VAULT_IO_TOKEN": [ + 73777 + ], + "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ + 73781 + ], + "CONTEXT_VAULT_IO_VAULT_ID": [ + 73785 + ], + "CONTEXT_VAULT_OUTPUTS_COLUMN": [ + 73773 + ], + "ClearConfig": [ + 76128 + ], + "ClearStateChange": [ + 76137 + ], + "DEFAULT_STATE_NAMESPACE": [ + 56619 + ], + "DeployerDiscoverableMetaV2": [ + 55564 + ], + "DeployerDiscoverableMetaV2ConstructionConfig": [ + 55519 + ], + "ECDSA": [ + 45323 + ], + "EncodedDispatch": [ + 56607 + ], + "Evaluable": [ + 57613 + ], + "EvaluableConfig": [ + 57595 + ], + "EvaluableConfigV2": [ + 57604 + ], + "FIXED_POINT_DECIMALS": [ + 54567 + ], + "FIXED_POINT_ONE": [ + 54571 + ], + "FLAG_MAX_INT": [ + 54587 + ], + "FLAG_ROUND_UP": [ + 54575 + ], + "FLAG_SATURATE": [ + 54581 + ], + "FLASH_FEE": [ + 73069 + ], + "FixedPointDecimalArithmeticOpenZeppelin": [ + 54561 + ], + "FixedPointDecimalScale": [ + 55073 + ], + "FlashLenderCallbackFailed": [ + 73056 + ], + "FullyQualifiedNamespace": [ + 56568 + ], + "HANDLE_IO_ENTRYPOINT": [ + 73733 + ], + "HANDLE_IO_MAX_OUTPUTS": [ + 73749 + ], + "HANDLE_IO_MIN_OUTPUTS": [ + 73745 + ], + "HASH_NIL": [ + 71058 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ + 56497 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ + 56736 + ], + "IERC20": [ + 43884 + ], + "IERC3156FlashBorrower": [ + 76627 + ], + "IERC3156FlashLender": [ + 76664 + ], + "IExpressionDeployerV1": [ + 56533 + ], + "IExpressionDeployerV2": [ + 56771 + ], + "IInterpreterCallerV2": [ + 56563 + ], + "IInterpreterStoreV1": [ + 56600 + ], + "IInterpreterV1": [ + 56650 + ], + "IO": [ + 76058 + ], + "IOrderBookV3": [ + 76947 + ], + "IOrderBookV3OrderTaker": [ + 76979 + ], + "Input18Amount": [ + 73829 + ], + "InvalidSignature": [ + 57109 + ], + "LibBytecode": [ + 57095 + ], + "LibBytes": [ + 46507 + ], + "LibContext": [ + 57394 + ], + "LibEncodedDispatch": [ + 57579 + ], + "LibEvaluable": [ + 57626 + ], + "LibHashNoAlloc": [ + 71100 + ], + "LibMemCpy": [ + 46539 + ], + "LibMeta": [ + 71304 + ], + "LibOrder": [ + 77001 + ], + "LibPointer": [ + 46674 + ], + "LibUint256Array": [ + 47065 + ], + "Math": [ + 46324 + ], + "MinimumInput": [ + 73704 + ], + "Multicall": [ + 44728 + ], + "NO_STORE": [ + 56577 + ], + "NoOrders": [ + 76678 + ], + "NotOrderOwner": [ + 73683 + ], + "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ + 76610 + ], + "ORDER_DEAD": [ + 73717 + ], + "ORDER_LIVE": [ + 73713 + ], + "OVERFLOW_RESCALE_OOMS": [ + 54591 + ], + "Operand": [ + 56611 + ], + "Order": [ + 76088 + ], + "OrderBook": [ + 75854 + ], + "OrderBookV3FlashLender": [ + 73389 + ], + "OrderConfigV2": [ + 76692 + ], + "OrderIOCalculation": [ + 73825 + ], + "OutOfBoundsTruncate": [ + 46847 + ], + "Output18Amount": [ + 73827 + ], + "Pointer": [ + 46554 + ], + "ReentrancyGuard": [ + 43219 + ], + "ReentrancyGuardReentrantCall": [ + 73676 + ], + "SIGNED_CONTEXT_CONTEXT_OFFSET": [ + 56549 + ], + "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ + 56552 + ], + "SIGNED_CONTEXT_SIGNER_OFFSET": [ + 56546 + ], + "SafeERC20": [ + 44321 + ], + "SameOwner": [ + 73709 + ], + "SignatureChecker": [ + 45422 + ], + "SignedContextV1": [ + 56543 + ], + "SourceIndex": [ + 56605 + ], + "SourceOffsetOutOfBounds": [ + 56826 + ], + "StateNamespace": [ + 56609 + ], + "TakeOrderConfig": [ + 76115 + ], + "TakeOrdersConfigV2": [ + 76705 + ], + "TokenDecimalsMismatch": [ + 73697 + ], + "TokenMismatch": [ + 73690 + ], + "TruncateError": [ + 46439 + ], + "ZeroAmount": [ + 73051 + ], + "ZeroReceiver": [ + 73048 + ], + "ZeroToken": [ + 73045 + ] + }, + "nodeType": "SourceUnit", + "src": "32:42348:161", + "nodes": [ + { + "id": 73650, + "nodeType": "PragmaDirective", + "src": "32:24:161", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 73652, + "nodeType": "ImportDirective", + "src": "58:74:161", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "file": "openzeppelin-contracts/contracts/utils/math/Math.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 46325, + "symbolAliases": [ + { + "foreign": { + "id": 73651, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46324, + "src": "66:4:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 73654, + "nodeType": "ImportDirective", + "src": "133:79:161", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "file": "openzeppelin-contracts/contracts/utils/Multicall.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 44729, + "symbolAliases": [ + { + "foreign": { + "id": 73653, + "name": "Multicall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44728, + "src": "141:9:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 73656, + "nodeType": "ImportDirective", + "src": "213:79:161", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 43885, + "symbolAliases": [ + { + "foreign": { + "id": 73655, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43884, + "src": "221:6:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 73658, + "nodeType": "ImportDirective", + "src": "293:91:161", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "file": "openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 44322, + "symbolAliases": [ + { + "foreign": { + "id": 73657, + "name": "SafeERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44321, + "src": "301:9:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 73660, + "nodeType": "ImportDirective", + "src": "385:94:161", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "file": "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 43220, + "symbolAliases": [ + { + "foreign": { + "id": 73659, + "name": "ReentrancyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43219, + "src": "393:15:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 73661, + "nodeType": "ImportDirective", + "src": "481:74:161", + "nodes": [], + "absolutePath": "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol", + "file": "rain.math.fixedpoint/FixedPointDecimalArithmeticOpenZeppelin.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 54562, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73662, + "nodeType": "ImportDirective", + "src": "556:57:161", + "nodes": [], + "absolutePath": "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol", + "file": "rain.math.fixedpoint/FixedPointDecimalScale.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 55074, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73663, + "nodeType": "ImportDirective", + "src": "614:64:161", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "file": "rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 57580, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73664, + "nodeType": "ImportDirective", + "src": "679:56:161", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", + "file": "rain.interpreter/src/lib/caller/LibContext.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 57395, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73668, + "nodeType": "ImportDirective", + "src": "736:173:161", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", + "file": "rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 55565, + "symbolAliases": [ + { + "foreign": { + "id": 73665, + "name": "DeployerDiscoverableMetaV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55564, + "src": "749:26:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 73666, + "name": "DeployerDiscoverableMetaV2ConstructionConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55519, + "src": "781:44:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 73667, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71304, + "src": "831:7:161", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 73669, + "nodeType": "ImportDirective", + "src": "910:59:161", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "file": "rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 57096, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73670, + "nodeType": "ImportDirective", + "src": "971:48:161", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3.sol", + "file": "../interface/unstable/IOrderBookV3.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 76948, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73671, + "nodeType": "ImportDirective", + "src": "1020:58:161", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", + "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 76980, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73672, + "nodeType": "ImportDirective", + "src": "1079:29:161", + "nodes": [], + "absolutePath": "src/lib/LibOrder.sol", + "file": "../lib/LibOrder.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 77002, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73673, + "nodeType": "ImportDirective", + "src": "1109:48:161", + "nodes": [], + "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", + "file": "../abstract/OrderBookV3FlashLender.sol", + "nameLocation": "-1:-1:-1", + "scope": 75855, + "sourceUnit": 73390, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 73676, + "nodeType": "ErrorDefinition", + "src": "1260:37:161", + "nodes": [], + "documentation": { + "id": 73674, + "nodeType": "StructuredDocumentation", + "src": "1159:101:161", + "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." + }, + "errorSelector": "3ee5aeb5", + "name": "ReentrancyGuardReentrantCall", + "nameLocation": "1266:28:161", + "parameters": { + "id": 73675, + "nodeType": "ParameterList", + "parameters": [], + "src": "1294:2:161" + } + }, + { + "id": 73683, + "nodeType": "ErrorDefinition", + "src": "1473:51:161", + "nodes": [], + "documentation": { + "id": 73677, + "nodeType": "StructuredDocumentation", + "src": "1299:174:161", + "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." + }, + "errorSelector": "4702b914", + "name": "NotOrderOwner", + "nameLocation": "1479:13:161", + "parameters": { + "id": 73682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73679, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1501:6:161", + "nodeType": "VariableDeclaration", + "scope": 73683, + "src": "1493:14:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73678, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1493:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73681, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1517:5:161", + "nodeType": "VariableDeclaration", + "scope": 73683, + "src": "1509:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1509:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1492:31:161" + } + }, + { + "id": 73690, + "nodeType": "ErrorDefinition", + "src": "1741:58:161", + "nodes": [], + "documentation": { + "id": 73684, + "nodeType": "StructuredDocumentation", + "src": "1526:215:161", + "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." + }, + "errorSelector": "f902523f", + "name": "TokenMismatch", + "nameLocation": "1747:13:161", + "parameters": { + "id": 73689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73686, + "mutability": "mutable", + "name": "aliceToken", + "nameLocation": "1769:10:161", + "nodeType": "VariableDeclaration", + "scope": 73690, + "src": "1761:18:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1761:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73688, + "mutability": "mutable", + "name": "bobToken", + "nameLocation": "1789:8:161", + "nodeType": "VariableDeclaration", + "scope": 73690, + "src": "1781:16:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73687, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1781:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1760:38:161" + } + }, + { + "id": 73697, + "nodeType": "ErrorDefinition", + "src": "2041:78:161", + "nodes": [], + "documentation": { + "id": 73691, + "nodeType": "StructuredDocumentation", + "src": "1801:240:161", + "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." + }, + "errorSelector": "0f6ce477", + "name": "TokenDecimalsMismatch", + "nameLocation": "2047:21:161", + "parameters": { + "id": 73696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73693, + "mutability": "mutable", + "name": "aliceTokenDecimals", + "nameLocation": "2075:18:161", + "nodeType": "VariableDeclaration", + "scope": 73697, + "src": "2069:24:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 73692, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2069:5:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73695, + "mutability": "mutable", + "name": "bobTokenDecimals", + "nameLocation": "2101:16:161", + "nodeType": "VariableDeclaration", + "scope": 73697, + "src": "2095:22:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 73694, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2095:5:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2068:50:161" + } + }, + { + "id": 73704, + "nodeType": "ErrorDefinition", + "src": "2265:56:161", + "nodes": [], + "documentation": { + "id": 73698, + "nodeType": "StructuredDocumentation", + "src": "2121:144:161", + "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." + }, + "errorSelector": "45094d88", + "name": "MinimumInput", + "nameLocation": "2271:12:161", + "parameters": { + "id": 73703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73700, + "mutability": "mutable", + "name": "minimumInput", + "nameLocation": "2292:12:161", + "nodeType": "VariableDeclaration", + "scope": 73704, + "src": "2284:20:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2284:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73702, + "mutability": "mutable", + "name": "input", + "nameLocation": "2314:5:161", + "nodeType": "VariableDeclaration", + "scope": 73704, + "src": "2306:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73701, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2306:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2283:37:161" + } + }, + { + "id": 73709, + "nodeType": "ErrorDefinition", + "src": "2427:31:161", + "nodes": [], + "documentation": { + "id": 73705, + "nodeType": "StructuredDocumentation", + "src": "2323:104:161", + "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." + }, + "errorSelector": "227e4ce9", + "name": "SameOwner", + "nameLocation": "2433:9:161", + "parameters": { + "id": 73708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73707, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2451:5:161", + "nodeType": "VariableDeclaration", + "scope": 73709, + "src": "2443:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2443:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2442:15:161" + } + }, + { + "id": 73713, + "nodeType": "VariableDeclaration", + "src": "2586:31:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_LIVE", + "nameLocation": "2603:10:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2586:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 73712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2616:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 73717, + "nodeType": "VariableDeclaration", + "src": "2790:31:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_DEAD", + "nameLocation": "2807:10:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73715, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2790:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 73716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2820:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 73725, + "nodeType": "VariableDeclaration", + "src": "2893:69:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nameLocation": "2914:26:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 73720, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73719, + "name": "SourceIndex", + "nameLocations": [ + "2893:11:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56605, + "src": "2893:11:161" + }, + "referencedDeclaration": 56605, + "src": "2893:11:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "30", + "id": 73723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2960:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 73721, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56605, + "src": "2943:11:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56605_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 73722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2955:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2943:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56605_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 73724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2943:19:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 73733, + "nodeType": "VariableDeclaration", + "src": "3085:63:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_ENTRYPOINT", + "nameLocation": "3106:20:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 73728, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73727, + "name": "SourceIndex", + "nameLocations": [ + "3085:11:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56605, + "src": "3085:11:161" + }, + "referencedDeclaration": 56605, + "src": "3085:11:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "31", + "id": 73731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3146:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "id": 73729, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56605, + "src": "3129:11:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56605_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 73730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3141:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "3129:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56605_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 73732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3129:19:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 73737, + "nodeType": "VariableDeclaration", + "src": "3222:48:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nameLocation": "3239:27:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73735, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3222:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 73736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3269:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 73741, + "nodeType": "VariableDeclaration", + "src": "3343:47:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nameLocation": "3359:27:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 73739, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3343:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32", + "id": 73740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3389:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 73745, + "nodeType": "VariableDeclaration", + "src": "3467:42:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MIN_OUTPUTS", + "nameLocation": "3484:21:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3467:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 73744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3508:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 73749, + "nodeType": "VariableDeclaration", + "src": "3585:41:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MAX_OUTPUTS", + "nameLocation": "3601:21:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 73747, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3585:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "30", + "id": 73748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3625:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 73753, + "nodeType": "VariableDeclaration", + "src": "4164:44:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLING_CONTEXT_COLUMNS", + "nameLocation": "4181:23:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73751, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4164:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 73752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4207:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 73757, + "nodeType": "VariableDeclaration", + "src": "4249:40:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_BASE_COLUMN", + "nameLocation": "4266:19:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4249:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 73756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4288:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 73761, + "nodeType": "VariableDeclaration", + "src": "4590:51:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nameLocation": "4607:30:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 73760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4640:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 73765, + "nodeType": "VariableDeclaration", + "src": "4788:48:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nameLocation": "4805:27:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4788:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 73764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4835:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 73769, + "nodeType": "VariableDeclaration", + "src": "5128:48:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nameLocation": "5145:27:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5128:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 73768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5175:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 73773, + "nodeType": "VariableDeclaration", + "src": "5294:49:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nameLocation": "5311:28:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73771, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5294:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 73772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5342:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 73777, + "nodeType": "VariableDeclaration", + "src": "5418:43:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN", + "nameLocation": "5435:22:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73775, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5418:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 73776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5460:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 73781, + "nodeType": "VariableDeclaration", + "src": "5536:52:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", + "nameLocation": "5553:31:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5536:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 73780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5587:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 73785, + "nodeType": "VariableDeclaration", + "src": "5657:46:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nameLocation": "5674:25:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5657:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 73784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5702:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 73789, + "nodeType": "VariableDeclaration", + "src": "5810:52:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", + "nameLocation": "5827:31:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5810:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 73788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5861:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 73793, + "nodeType": "VariableDeclaration", + "src": "6110:50:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nameLocation": "6127:29:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6110:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 73792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6159:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 73797, + "nodeType": "VariableDeclaration", + "src": "6200:42:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_ROWS", + "nameLocation": "6217:21:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73795, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6200:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "35", + "id": 73796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6241:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "id": 73804, + "nodeType": "VariableDeclaration", + "src": "6309:111:161", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLER_META_HASH", + "nameLocation": "6326:16:161", + "scope": 75855, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 73799, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6309:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307866306337396534303036363336613731383939303636616334356134373864613465616661613331313737363936373862366631386439363133386263313536", + "id": 73802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6353:66:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_108907778427906982333827527819755382347023327821416984760626168294036074119510_by_1", + "typeString": "int_const 1089...(70 digits omitted)...9510" + }, + "value": "0xf0c79e4006636a71899066ac45a478da4eafaa3117769678b6f18d96138bc156" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_108907778427906982333827527819755382347023327821416984760626168294036074119510_by_1", + "typeString": "int_const 1089...(70 digits omitted)...9510" + } + ], + "id": 73801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6345:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 73800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6345:7:161", + "typeDescriptions": {} + } + }, + "id": 73803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6345:75:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 73825, + "nodeType": "StructDefinition", + "src": "8547:249:161", + "nodes": [], + "canonicalName": "OrderIOCalculation", + "members": [ + { + "constant": false, + "id": 73807, + "mutability": "mutable", + "name": "order", + "nameLocation": "8585:5:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8579:11:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 73806, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73805, + "name": "Order", + "nameLocations": [ + "8579:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "8579:5:161" + }, + "referencedDeclaration": 76088, + "src": "8579:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73809, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "8604:13:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8596:21:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8596:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73812, + "mutability": "mutable", + "name": "outputMax", + "nameLocation": "8638:9:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8623:24:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 73811, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73810, + "name": "Output18Amount", + "nameLocations": [ + "8623:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "8623:14:161" + }, + "referencedDeclaration": 73827, + "src": "8623:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73814, + "mutability": "mutable", + "name": "IORatio", + "nameLocation": "8712:7:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8704:15:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8704:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73818, + "mutability": "mutable", + "name": "context", + "nameLocation": "8737:7:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8725:19:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 73815, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8725:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 73816, + "nodeType": "ArrayTypeName", + "src": "8725:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 73817, + "nodeType": "ArrayTypeName", + "src": "8725:11:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73821, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "8765:9:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8750:24:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 73820, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73819, + "name": "StateNamespace", + "nameLocations": [ + "8750:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56609, + "src": "8750:14:161" + }, + "referencedDeclaration": 56609, + "src": "8750:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73824, + "mutability": "mutable", + "name": "kvs", + "nameLocation": "8790:3:161", + "nodeType": "VariableDeclaration", + "scope": 73825, + "src": "8780:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 73822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8780:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 73823, + "nodeType": "ArrayTypeName", + "src": "8780:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "name": "OrderIOCalculation", + "nameLocation": "8554:18:161", + "scope": 75855, + "visibility": "public" + }, + { + "id": 73827, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "8798:31:161", + "nodes": [], + "canonicalName": "Output18Amount", + "name": "Output18Amount", + "nameLocation": "8803:14:161", + "underlyingType": { + "id": 73826, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8821:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 73829, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "8831:30:161", + "nodes": [], + "canonicalName": "Input18Amount", + "name": "Input18Amount", + "nameLocation": "8836:13:161", + "underlyingType": { + "id": 73828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8853:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75854, + "nodeType": "ContractDefinition", + "src": "8931:33448:161", + "nodes": [ + { + "id": 73844, + "nodeType": "UsingForDirective", + "src": "9052:36:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73841, + "name": "LibUint256Array", + "nameLocations": [ + "9058:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47065, + "src": "9058:15:161" + }, + "typeName": { + "baseType": { + "id": 73842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9078:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 73843, + "nodeType": "ArrayTypeName", + "src": "9078:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "id": 73848, + "nodeType": "UsingForDirective", + "src": "9093:27:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73845, + "name": "SafeERC20", + "nameLocations": [ + "9099:9:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44321, + "src": "9099:9:161" + }, + "typeName": { + "id": 73847, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73846, + "name": "IERC20", + "nameLocations": [ + "9113:6:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43884, + "src": "9113:6:161" + }, + "referencedDeclaration": 43884, + "src": "9113:6:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$43884", + "typeString": "contract IERC20" + } + } + }, + { + "id": 73852, + "nodeType": "UsingForDirective", + "src": "9125:25:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73849, + "name": "LibOrder", + "nameLocations": [ + "9131:8:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77001, + "src": "9131:8:161" + }, + "typeName": { + "id": 73851, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73850, + "name": "Order", + "nameLocations": [ + "9144:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "9144:5:161" + }, + "referencedDeclaration": 76088, + "src": "9144:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + } + }, + { + "id": 73855, + "nodeType": "UsingForDirective", + "src": "9155:34:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73853, + "name": "LibUint256Array", + "nameLocations": [ + "9161:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47065, + "src": "9161:15:161" + }, + "typeName": { + "id": 73854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9181:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 73858, + "nodeType": "UsingForDirective", + "src": "9194:23:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73856, + "name": "Math", + "nameLocations": [ + "9200:4:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 46324, + "src": "9200:4:161" + }, + "typeName": { + "id": 73857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9209:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 73861, + "nodeType": "UsingForDirective", + "src": "9222:41:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73859, + "name": "FixedPointDecimalScale", + "nameLocations": [ + "9228:22:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55073, + "src": "9228:22:161" + }, + "typeName": { + "id": 73860, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9255:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 73864, + "nodeType": "UsingForDirective", + "src": "9268:58:161", + "nodes": [], + "global": false, + "libraryName": { + "id": 73862, + "name": "FixedPointDecimalArithmeticOpenZeppelin", + "nameLocations": [ + "9274:39:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 54561, + "src": "9274:39:161" + }, + "typeName": { + "id": 73863, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9318:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 73869, + "nodeType": "VariableDeclaration", + "src": "9925:44:161", + "nodes": [], + "constant": false, + "documentation": { + "id": 73865, + "nodeType": "StructuredDocumentation", + "src": "9332:465:161", + "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" + }, + "mutability": "mutable", + "name": "sOrders", + "nameLocation": "9962:7:161", + "scope": 75854, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 73868, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 73866, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9933:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "9925:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 73867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9944:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "id": 73878, + "nodeType": "VariableDeclaration", + "src": "10317:91:161", + "nodes": [], + "constant": false, + "documentation": { + "id": 73870, + "nodeType": "StructuredDocumentation", + "src": "9976:213:161", + "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." + }, + "mutability": "mutable", + "name": "sVaultBalances", + "nameLocation": "10394:14:161", + "scope": 75854, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "typeName": { + "id": 73877, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 73871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10325:7:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "10317:67:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 73876, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 73872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10344:7:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "10336:47:161", + "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": 73875, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 73873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10363:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "10355:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 73874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10374:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + } + }, + "visibility": "internal" + }, + { + "id": 73890, + "nodeType": "FunctionDefinition", + "src": "10710:139:161", + "nodes": [], + "body": { + "id": 73889, + "nodeType": "Block", + "src": "10847:2:161", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 73879, + "nodeType": "StructuredDocumentation", + "src": "10415:290:161", + "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 73885, + "name": "CALLER_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73804, + "src": "10817:16:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 73886, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73882, + "src": "10835:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55519_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" + } + } + ], + "id": 73887, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 73884, + "name": "DeployerDiscoverableMetaV2", + "nameLocations": [ + "10790:26:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55564, + "src": "10790:26:161" + }, + "nodeType": "ModifierInvocation", + "src": "10790:52:161" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 73883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73882, + "mutability": "mutable", + "name": "config", + "nameLocation": "10774:6:161", + "nodeType": "VariableDeclaration", + "scope": 73890, + "src": "10722:58:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55519_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" + }, + "typeName": { + "id": 73881, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 73880, + "name": "DeployerDiscoverableMetaV2ConstructionConfig", + "nameLocations": [ + "10722:44:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55519, + "src": "10722:44:161" + }, + "referencedDeclaration": 55519, + "src": "10722:44:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55519_storage_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "10721:60:161" + }, + "returnParameters": { + "id": 73888, + "nodeType": "ParameterList", + "parameters": [], + "src": "10847:0:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 73902, + "nodeType": "ModifierDefinition", + "src": "10963:148:161", + "nodes": [], + "body": { + "id": 73901, + "nodeType": "Block", + "src": "10991:120:161", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 73893, + "name": "_reentrancyGuardEntered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43218, + "src": "11005:23:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 73894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11005:25:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 73899, + "nodeType": "IfStatement", + "src": "11001:93:161", + "trueBody": { + "id": 73898, + "nodeType": "Block", + "src": "11032:62:161", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 73895, + "name": "ReentrancyGuardReentrantCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73676, + "src": "11053:28:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 73896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11053:30:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73897, + "nodeType": "RevertStatement", + "src": "11046:37:161" + } + ] + } + }, + { + "id": 73900, + "nodeType": "PlaceholderStatement", + "src": "11103:1:161" + } + ] + }, + "documentation": { + "id": 73891, + "nodeType": "StructuredDocumentation", + "src": "10855:103:161", + "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" + }, + "name": "nonReentrantView", + "nameLocation": "10972:16:161", + "parameters": { + "id": 73892, + "nodeType": "ParameterList", + "parameters": [], + "src": "10988:2:161" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 73926, + "nodeType": "FunctionDefinition", + "src": "11435:232:161", + "nodes": [], + "body": { + "id": 73925, + "nodeType": "Block", + "src": "11606:61:161", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 73917, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "11623:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 73919, + "indexExpression": { + "id": 73918, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73905, + "src": "11638:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11623:21:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 73921, + "indexExpression": { + "id": 73920, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73907, + "src": "11645:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11623:28:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 73923, + "indexExpression": { + "id": 73922, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73909, + "src": "11652:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11623:37:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 73916, + "id": 73924, + "nodeType": "Return", + "src": "11616:44:161" + } + ] + }, + "baseFunctions": [ + 76868 + ], + "documentation": { + "id": 73903, + "nodeType": "StructuredDocumentation", + "src": "11117:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "d97b2e48", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 73913, + "kind": "modifierInvocation", + "modifierName": { + "id": 73912, + "name": "nonReentrantView", + "nameLocations": [ + "11559:16:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73902, + "src": "11559:16:161" + }, + "nodeType": "ModifierInvocation", + "src": "11559:16:161" + } + ], + "name": "vaultBalance", + "nameLocation": "11444:12:161", + "overrides": { + "id": 73911, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11542:8:161" + }, + "parameters": { + "id": 73910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73905, + "mutability": "mutable", + "name": "owner", + "nameLocation": "11465:5:161", + "nodeType": "VariableDeclaration", + "scope": 73926, + "src": "11457:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11457:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73907, + "mutability": "mutable", + "name": "token", + "nameLocation": "11480:5:161", + "nodeType": "VariableDeclaration", + "scope": 73926, + "src": "11472:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11472:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73909, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "11495:7:161", + "nodeType": "VariableDeclaration", + "scope": 73926, + "src": "11487:15:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11487:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11456:47:161" + }, + "returnParameters": { + "id": 73916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73915, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 73926, + "src": "11593:7:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11593:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11592:9:161" + }, + "scope": 75854, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 73944, + "nodeType": "FunctionDefinition", + "src": "11706:151:161", + "nodes": [], + "body": { + "id": 73943, + "nodeType": "Block", + "src": "11801:56:161", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 73941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 73937, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "11818:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 73939, + "indexExpression": { + "id": 73938, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73929, + "src": "11826:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11818:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 73940, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73713, + "src": "11840:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11818:32:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 73936, + "id": 73942, + "nodeType": "Return", + "src": "11811:39:161" + } + ] + }, + "baseFunctions": [ + 76905 + ], + "documentation": { + "id": 73927, + "nodeType": "StructuredDocumentation", + "src": "11673:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "2cb77e9f", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 73933, + "kind": "modifierInvocation", + "modifierName": { + "id": 73932, + "name": "nonReentrantView", + "nameLocations": [ + "11769:16:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73902, + "src": "11769:16:161" + }, + "nodeType": "ModifierInvocation", + "src": "11769:16:161" + } + ], + "name": "orderExists", + "nameLocation": "11715:11:161", + "overrides": { + "id": 73931, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11760:8:161" + }, + "parameters": { + "id": 73930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73929, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "11735:9:161", + "nodeType": "VariableDeclaration", + "scope": 73944, + "src": "11727:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 73928, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11727:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11726:19:161" + }, + "returnParameters": { + "id": 73936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73935, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 73944, + "src": "11795:4:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 73934, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11795:4:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11794:6:161" + }, + "scope": 75854, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 74001, + "nodeType": "FunctionDefinition", + "src": "11896:640:161", + "nodes": [], + "body": { + "id": 74000, + "nodeType": "Block", + "src": "11983:553:161", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 73958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 73956, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73951, + "src": "11997:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 73957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12007:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11997:11:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 73967, + "nodeType": "IfStatement", + "src": "11993:94:161", + "trueBody": { + "id": 73966, + "nodeType": "Block", + "src": "12010:77:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 73960, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12049:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 73961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12053:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12049:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 73962, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73947, + "src": "12061:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 73963, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73949, + "src": "12068:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 73959, + "name": "ZeroDepositAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76719, + "src": "12031:17:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 73964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12031:45:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73965, + "nodeType": "RevertStatement", + "src": "12024:52:161" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 73969, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12303:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 73970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12307:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12303:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 73971, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73947, + "src": "12315:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 73972, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73949, + "src": "12322:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 73973, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73951, + "src": "12331:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 73968, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76759, + "src": "12295:7:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 73974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12295:43:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73975, + "nodeType": "EmitStatement", + "src": "12290:48:161" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 73980, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12433:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 73981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12437:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12433:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 73984, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "12453:4:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$75854", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$75854", + "typeString": "contract OrderBook" + } + ], + "id": 73983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12445:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 73982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12445:7:161", + "typeDescriptions": {} + } + }, + "id": 73985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12445:13:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 73986, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73951, + "src": "12460:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 73977, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73947, + "src": "12409:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 73976, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43884, + "src": "12402:6:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$43884_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 73978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12402:13:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$43884", + "typeString": "contract IERC20" + } + }, + "id": 73979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12416:16:161", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44005, + "src": "12402:30:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43884_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43884_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 73987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12402:65:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73988, + "nodeType": "ExpressionStatement", + "src": "12402:65:161" + }, + { + "expression": { + "id": 73998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 73989, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "12477:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 73994, + "indexExpression": { + "expression": { + "id": 73990, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12492:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 73991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12496:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12492:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12477:26:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 73995, + "indexExpression": { + "id": 73992, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73947, + "src": "12504:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12477:33:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 73996, + "indexExpression": { + "id": 73993, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73949, + "src": "12511:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12477:42:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 73997, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73951, + "src": "12523:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12477:52:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 73999, + "nodeType": "ExpressionStatement", + "src": "12477:52:161" + } + ] + }, + "baseFunctions": [ + 76878 + ], + "documentation": { + "id": 73945, + "nodeType": "StructuredDocumentation", + "src": "11863:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "0efe6a8b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 73954, + "kind": "modifierInvocation", + "modifierName": { + "id": 73953, + "name": "nonReentrant", + "nameLocations": [ + "11970:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43184, + "src": "11970:12:161" + }, + "nodeType": "ModifierInvocation", + "src": "11970:12:161" + } + ], + "name": "deposit", + "nameLocation": "11905:7:161", + "parameters": { + "id": 73952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 73947, + "mutability": "mutable", + "name": "token", + "nameLocation": "11921:5:161", + "nodeType": "VariableDeclaration", + "scope": 74001, + "src": "11913:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11913:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73949, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "11936:7:161", + "nodeType": "VariableDeclaration", + "scope": 74001, + "src": "11928:15:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11928:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 73951, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11953:6:161", + "nodeType": "VariableDeclaration", + "scope": 74001, + "src": "11945:14:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 73950, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11945:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11912:48:161" + }, + "returnParameters": { + "id": 73955, + "nodeType": "ParameterList", + "parameters": [], + "src": "11983:0:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 74078, + "nodeType": "FunctionDefinition", + "src": "12575:952:161", + "nodes": [], + "body": { + "id": 74077, + "nodeType": "Block", + "src": "12669:858:161", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74013, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74008, + "src": "12683:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 74014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12699:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12683:17:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74024, + "nodeType": "IfStatement", + "src": "12679:107:161", + "trueBody": { + "id": 74023, + "nodeType": "Block", + "src": "12702:84:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74017, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12748:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12752:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12748:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74019, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74004, + "src": "12760:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74020, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74006, + "src": "12767:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 74016, + "name": "ZeroWithdrawTargetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76728, + "src": "12723:24:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 74021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12723:52:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74022, + "nodeType": "RevertStatement", + "src": "12716:59:161" + } + ] + } + }, + { + "assignments": [ + 74026 + ], + "declarations": [ + { + "constant": false, + "id": 74026, + "mutability": "mutable", + "name": "currentVaultBalance", + "nameLocation": "12803:19:161", + "nodeType": "VariableDeclaration", + "scope": 74077, + "src": "12795:27:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12795:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74035, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 74027, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "12825:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 74030, + "indexExpression": { + "expression": { + "id": 74028, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12840:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12844:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12840:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12825:26:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 74032, + "indexExpression": { + "id": 74031, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74004, + "src": "12852:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12825:33:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 74034, + "indexExpression": { + "id": 74033, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74006, + "src": "12859:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12825:42:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12795:72:161" + }, + { + "assignments": [ + 74037 + ], + "declarations": [ + { + "constant": false, + "id": 74037, + "mutability": "mutable", + "name": "withdrawAmount", + "nameLocation": "12957:14:161", + "nodeType": "VariableDeclaration", + "scope": 74077, + "src": "12949:22:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74036, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12949:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74042, + "initialValue": { + "arguments": [ + { + "id": 74040, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74026, + "src": "12991:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74038, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74008, + "src": "12974:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12987:3:161", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 45501, + "src": "12974:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 74041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12974:37:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12949:62:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74043, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74037, + "src": "13025:14:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 74044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13042:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13025:18:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74076, + "nodeType": "IfStatement", + "src": "13021:500:161", + "trueBody": { + "id": 74075, + "nodeType": "Block", + "src": "13045:476:161", + "statements": [ + { + "expression": { + "id": 74057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 74046, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "13264:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 74051, + "indexExpression": { + "expression": { + "id": 74047, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13279:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13283:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13279:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13264:26:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 74052, + "indexExpression": { + "id": 74049, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74004, + "src": "13291:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13264:33:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 74053, + "indexExpression": { + "id": 74050, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74006, + "src": "13298:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13264:42:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74054, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74026, + "src": "13309:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 74055, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74037, + "src": "13331:14:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13309:36:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13264:81:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74058, + "nodeType": "ExpressionStatement", + "src": "13264:81:161" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74060, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13373:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13377:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13373:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74062, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74004, + "src": "13385:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74063, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74006, + "src": "13392:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74064, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74008, + "src": "13401:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74065, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74037, + "src": "13415:14:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 74059, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76772, + "src": "13364:8:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256,uint256)" + } + }, + "id": 74066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13364:66:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74067, + "nodeType": "EmitStatement", + "src": "13359:71:161" + }, + { + "expression": { + "arguments": [ + { + "id": 74069, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74004, + "src": "13476:5:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74070, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13483:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13487:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13483:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74072, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74037, + "src": "13495:14:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 74068, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73200, + "src": "13444:31:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,address,uint256) returns (uint256)" + } + }, + "id": 74073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13444:66:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74074, + "nodeType": "ExpressionStatement", + "src": "13444:66:161" + } + ] + } + } + ] + }, + "baseFunctions": [ + 76888 + ], + "documentation": { + "id": 74002, + "nodeType": "StructuredDocumentation", + "src": "12542:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "b5c5f672", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 74011, + "kind": "modifierInvocation", + "modifierName": { + "id": 74010, + "name": "nonReentrant", + "nameLocations": [ + "12656:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43184, + "src": "12656:12:161" + }, + "nodeType": "ModifierInvocation", + "src": "12656:12:161" + } + ], + "name": "withdraw", + "nameLocation": "12584:8:161", + "parameters": { + "id": 74009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74004, + "mutability": "mutable", + "name": "token", + "nameLocation": "12601:5:161", + "nodeType": "VariableDeclaration", + "scope": 74078, + "src": "12593:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12593:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74006, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "12616:7:161", + "nodeType": "VariableDeclaration", + "scope": 74078, + "src": "12608:15:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74005, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12608:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74008, + "mutability": "mutable", + "name": "targetAmount", + "nameLocation": "12633:12:161", + "nodeType": "VariableDeclaration", + "scope": 74078, + "src": "12625:20:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12625:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12592:54:161" + }, + "returnParameters": { + "id": 74012, + "nodeType": "ParameterList", + "parameters": [], + "src": "12669:0:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 74255, + "nodeType": "FunctionDefinition", + "src": "13566:2174:161", + "nodes": [], + "body": { + "id": 74254, + "nodeType": "Block", + "src": "13665:2075:161", + "nodes": [], + "statements": [ + { + "assignments": [ + 74090 + ], + "declarations": [ + { + "constant": false, + "id": 74090, + "mutability": "mutable", + "name": "sourceCount", + "nameLocation": "13683:11:161", + "nodeType": "VariableDeclaration", + "scope": 74254, + "src": "13675:19:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13675:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74097, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 74093, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "13721:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13728:15:161", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 76689, + "src": "13721:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 74095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13744:8:161", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57600, + "src": "13721:31:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 74091, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57095, + "src": "13697:11:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$57095_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 74092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13709:11:161", + "memberName": "sourceCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 56854, + "src": "13697:23:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 74096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13697:56:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13675:78:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74098, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74090, + "src": "13767:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 74099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13782:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13767:16:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74107, + "nodeType": "IfStatement", + "src": "13763:80:161", + "trueBody": { + "id": 74106, + "nodeType": "Block", + "src": "13785:58:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74102, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13821:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13825:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13821:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74101, + "name": "OrderNoSources", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76733, + "src": "13806:14:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 74104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13806:26:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74105, + "nodeType": "RevertStatement", + "src": "13799:33:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74108, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74090, + "src": "13856:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 74109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13871:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13856:16:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74117, + "nodeType": "IfStatement", + "src": "13852:81:161", + "trueBody": { + "id": 74116, + "nodeType": "Block", + "src": "13874:59:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13911:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13915:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13911:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74111, + "name": "OrderNoHandleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76738, + "src": "13895:15:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 74114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13895:27:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74115, + "nodeType": "RevertStatement", + "src": "13888:34:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 74118, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "13946:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13953:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76682, + "src": "13946:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13965:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13946:25:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 74121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13975:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13946:30:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74129, + "nodeType": "IfStatement", + "src": "13942:93:161", + "trueBody": { + "id": 74128, + "nodeType": "Block", + "src": "13978:57:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74124, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14013:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14017:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14013:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74123, + "name": "OrderNoInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76743, + "src": "13999:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 74126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13999:25:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74127, + "nodeType": "RevertStatement", + "src": "13992:32:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 74130, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14048:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14055:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76686, + "src": "14048:19:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14068:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14048:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 74133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14078:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14048:31:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74141, + "nodeType": "IfStatement", + "src": "14044:95:161", + "trueBody": { + "id": 74140, + "nodeType": "Block", + "src": "14081:58:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74136, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14117:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14121:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14117:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74135, + "name": "OrderNoOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76748, + "src": "14102:14:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 74138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14102:26:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74139, + "nodeType": "RevertStatement", + "src": "14095:33:161" + } + ] + } + }, + { + "assignments": [ + 74144, + 74147, + 74149 + ], + "declarations": [ + { + "constant": false, + "id": 74144, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "14164:11:161", + "nodeType": "VariableDeclaration", + "scope": 74254, + "src": "14149:26:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56650", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 74143, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74142, + "name": "IInterpreterV1", + "nameLocations": [ + "14149:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56650, + "src": "14149:14:161" + }, + "referencedDeclaration": 56650, + "src": "14149:14:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56650", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74147, + "mutability": "mutable", + "name": "store", + "nameLocation": "14197:5:161", + "nodeType": "VariableDeclaration", + "scope": 74254, + "src": "14177:25:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 74146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74145, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "14177:19:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56600, + "src": "14177:19:161" + }, + "referencedDeclaration": 56600, + "src": "14177:19:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74149, + "mutability": "mutable", + "name": "expression", + "nameLocation": "14212:10:161", + "nodeType": "VariableDeclaration", + "scope": 74254, + "src": "14204:18:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14204:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 74166, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 74154, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14327:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14334:15:161", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 76689, + "src": "14327:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 74156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14350:8:161", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57600, + "src": "14327:31:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "expression": { + "expression": { + "id": 74157, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14372:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14379:15:161", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 76689, + "src": "14372:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 74159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14395:9:161", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 57603, + "src": "14372:32:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "arguments": [ + { + "id": 74162, + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73737, + "src": "14444:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74163, + "name": "HANDLE_IO_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73745, + "src": "14473:21:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74160, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47065, + "src": "14418:15:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 74161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14434:9:161", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 46924, + "src": "14418:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 74164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14418:77:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 74150, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14226:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14246:15:161", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 76689, + "src": "14226:35:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 74152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14275:8:161", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 57598, + "src": "14226:57:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56771", + "typeString": "contract IExpressionDeployerV2" + } + }, + "id": 74153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14297:16:161", + "memberName": "deployExpression", + "nodeType": "MemberAccess", + "referencedDeclaration": 56770, + "src": "14226:87:161", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56650_$_t_contract$_IInterpreterStoreV1_$56600_$_t_address_$", + "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "id": 74165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14226:279:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56650_$_t_contract$_IInterpreterStoreV1_$56600_$_t_address_$", + "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14148:357:161" + }, + { + "assignments": [ + 74169 + ], + "declarations": [ + { + "constant": false, + "id": 74169, + "mutability": "mutable", + "name": "order", + "nameLocation": "14704:5:161", + "nodeType": "VariableDeclaration", + "scope": 74254, + "src": "14691:18:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74168, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74167, + "name": "Order", + "nameLocations": [ + "14691:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "14691:5:161" + }, + "referencedDeclaration": 76088, + "src": "14691:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 74195, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 74171, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14731:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14735:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14731:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 74175, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14783:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14790:15:161", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 76689, + "src": "14783:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 74177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14806:8:161", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57600, + "src": "14783:31:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "arguments": [ + { + "id": 74180, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73733, + "src": "14835:20:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + ], + "expression": { + "id": 74178, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56605, + "src": "14816:11:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56605_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 74179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14828:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "14816:18:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56605_$returns$_t_uint16_$", + "typeString": "function (SourceIndex) pure returns (uint16)" + } + }, + "id": 74181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14816:40:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 74173, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57095, + "src": "14755:11:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$57095_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 74174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14767:15:161", + "memberName": "sourceOpsLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 56949, + "src": "14755:27:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" + } + }, + "id": 74182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14755:102:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 74183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14860:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14755:106:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "id": 74186, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74144, + "src": "14885:11:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56650", + "typeString": "contract IInterpreterV1" + } + }, + { + "id": 74187, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74147, + "src": "14898:5:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 74188, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74149, + "src": "14905:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterV1_$56650", + "typeString": "contract IInterpreterV1" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74185, + "name": "Evaluable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57613, + "src": "14875:9:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Evaluable_$57613_storage_ptr_$", + "typeString": "type(struct Evaluable storage pointer)" + } + }, + "id": 74189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14875:41:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + { + "expression": { + "id": 74190, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14930:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14937:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76682, + "src": "14930:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + { + "expression": { + "id": 74192, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "14962:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14969:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76686, + "src": "14962:19:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + ], + "id": 74170, + "name": "Order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76088, + "src": "14712:5:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Order_$76088_storage_ptr_$", + "typeString": "type(struct Order storage pointer)" + } + }, + "id": 74194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14712:279:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14691:300:161" + }, + { + "assignments": [ + 74197 + ], + "declarations": [ + { + "constant": false, + "id": 74197, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "15009:9:161", + "nodeType": "VariableDeclaration", + "scope": 74254, + "src": "15001:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 74196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15001:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 74201, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 74198, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74169, + "src": "15021:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74199, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15027:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "15021:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 74200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15021:12:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15001:32:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 74202, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "15123:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 74204, + "indexExpression": { + "id": 74203, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74197, + "src": "15131:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15123:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 74205, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73717, + "src": "15145:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15123:32:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74253, + "nodeType": "IfStatement", + "src": "15119:615:161", + "trueBody": { + "id": 74252, + "nodeType": "Block", + "src": "15157:577:161", + "statements": [ + { + "expression": { + "id": 74209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74207, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74087, + "src": "15171:12:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 74208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15186:4:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15171:19:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74210, + "nodeType": "ExpressionStatement", + "src": "15171:19:161" + }, + { + "expression": { + "id": 74215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 74211, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "15263:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 74213, + "indexExpression": { + "id": 74212, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74197, + "src": "15271:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15263:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 74214, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73713, + "src": "15284:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15263:31:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74216, + "nodeType": "ExpressionStatement", + "src": "15263:31:161" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74218, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15322:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15326:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15322:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "expression": { + "id": 74220, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "15334:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15341:15:161", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 76689, + "src": "15334:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 74222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15357:8:161", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 57598, + "src": "15334:31:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56771", + "typeString": "contract IExpressionDeployerV2" + } + }, + { + "id": 74223, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74169, + "src": "15367:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 74224, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74197, + "src": "15374:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56771", + "typeString": "contract IExpressionDeployerV2" + }, + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 74217, + "name": "AddOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76785, + "src": "15313:8:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56771_$_t_struct$_Order_$76088_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" + } + }, + "id": 74225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15313:71:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74226, + "nodeType": "EmitStatement", + "src": "15308:76:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 74227, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "15555:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15562:4:161", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 76691, + "src": "15555:11:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 74229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15567:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15555:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 74230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15576:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15555:22:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74251, + "nodeType": "IfStatement", + "src": "15551:173:161", + "trueBody": { + "id": 74250, + "nodeType": "Block", + "src": "15579:145:161", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 74235, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "15623:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15630:4:161", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 76691, + "src": "15623:11:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 74232, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71304, + "src": "15597:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibMeta_$71304_$", + "typeString": "type(library LibMeta)" + } + }, + "id": 74234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15605:17:161", + "memberName": "checkMetaUnhashed", + "nodeType": "MemberAccess", + "referencedDeclaration": 71274, + "src": "15597:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 74237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15597:38:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74238, + "nodeType": "ExpressionStatement", + "src": "15597:38:161" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74240, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15665:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15669:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15665:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 74244, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74197, + "src": "15685:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 74243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15677:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 74242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15677:7:161", + "typeDescriptions": {} + } + }, + "id": 74245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15677:18:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 74246, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74082, + "src": "15697:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 74247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15704:4:161", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 76691, + "src": "15697:11:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 74239, + "name": "MetaV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71219, + "src": "15658:6:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 74248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15658:51:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74249, + "nodeType": "EmitStatement", + "src": "15653:56:161" + } + ] + } + } + ] + } + } + ] + }, + "baseFunctions": [ + 76897 + ], + "documentation": { + "id": 74079, + "nodeType": "StructuredDocumentation", + "src": "13533:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "847a1bc9", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 74085, + "kind": "modifierInvocation", + "modifierName": { + "id": 74084, + "name": "nonReentrant", + "nameLocations": [ + "13624:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43184, + "src": "13624:12:161" + }, + "nodeType": "ModifierInvocation", + "src": "13624:12:161" + } + ], + "name": "addOrder", + "nameLocation": "13575:8:161", + "parameters": { + "id": 74083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74082, + "mutability": "mutable", + "name": "config", + "nameLocation": "13607:6:161", + "nodeType": "VariableDeclaration", + "scope": 74255, + "src": "13584:29:161", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", + "typeString": "struct OrderConfigV2" + }, + "typeName": { + "id": 74081, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74080, + "name": "OrderConfigV2", + "nameLocations": [ + "13584:13:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76692, + "src": "13584:13:161" + }, + "referencedDeclaration": 76692, + "src": "13584:13:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$76692_storage_ptr", + "typeString": "struct OrderConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "13583:31:161" + }, + "returnParameters": { + "id": 74088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74087, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "13651:12:161", + "nodeType": "VariableDeclaration", + "scope": 74255, + "src": "13646:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 74086, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13646:4:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13645:19:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 74311, + "nodeType": "FunctionDefinition", + "src": "15779:448:161", + "nodes": [], + "body": { + "id": 74310, + "nodeType": "Block", + "src": "15872:355:161", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 74270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 74266, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15886:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15890:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15886:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 74268, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74259, + "src": "15900:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15906:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "15900:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15886:25:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74279, + "nodeType": "IfStatement", + "src": "15882:101:161", + "trueBody": { + "id": 74278, + "nodeType": "Block", + "src": "15913:70:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74272, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15948:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15952:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15948:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74274, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74259, + "src": "15960:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15966:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "15960:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74271, + "name": "NotOrderOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73683, + "src": "15934:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 74276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15934:38:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74277, + "nodeType": "RevertStatement", + "src": "15927:45:161" + } + ] + } + }, + { + "assignments": [ + 74281 + ], + "declarations": [ + { + "constant": false, + "id": 74281, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "16000:9:161", + "nodeType": "VariableDeclaration", + "scope": 74310, + "src": "15992:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 74280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15992:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 74285, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 74282, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74259, + "src": "16012:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16018:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "16012:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 74284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16012:12:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15992:32:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 74286, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "16038:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 74288, + "indexExpression": { + "id": 74287, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74281, + "src": "16046:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16038:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 74289, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73713, + "src": "16060:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16038:32:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74309, + "nodeType": "IfStatement", + "src": "16034:187:161", + "trueBody": { + "id": 74308, + "nodeType": "Block", + "src": "16072:149:161", + "statements": [ + { + "expression": { + "id": 74293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74291, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74264, + "src": "16086:12:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 74292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16101:4:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16086:19:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74294, + "nodeType": "ExpressionStatement", + "src": "16086:19:161" + }, + { + "expression": { + "id": 74299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 74295, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "16119:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 74297, + "indexExpression": { + "id": 74296, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74281, + "src": "16127:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16119:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 74298, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73717, + "src": "16140:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16119:31:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74300, + "nodeType": "ExpressionStatement", + "src": "16119:31:161" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74302, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16181:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16185:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16181:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74304, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74259, + "src": "16193:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + { + "id": 74305, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74281, + "src": "16200:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 74301, + "name": "RemoveOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76795, + "src": "16169:11:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$76088_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,struct Order memory,bytes32)" + } + }, + "id": 74306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16169:41:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74307, + "nodeType": "EmitStatement", + "src": "16164:46:161" + } + ] + } + } + ] + }, + "baseFunctions": [ + 76914 + ], + "documentation": { + "id": 74256, + "nodeType": "StructuredDocumentation", + "src": "15746:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "e23746a3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 74262, + "kind": "modifierInvocation", + "modifierName": { + "id": 74261, + "name": "nonReentrant", + "nameLocations": [ + "15831:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43184, + "src": "15831:12:161" + }, + "nodeType": "ModifierInvocation", + "src": "15831:12:161" + } + ], + "name": "removeOrder", + "nameLocation": "15788:11:161", + "parameters": { + "id": 74260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74259, + "mutability": "mutable", + "name": "order", + "nameLocation": "15815:5:161", + "nodeType": "VariableDeclaration", + "scope": 74311, + "src": "15800:20:161", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74258, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74257, + "name": "Order", + "nameLocations": [ + "15800:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "15800:5:161" + }, + "referencedDeclaration": 76088, + "src": "15800:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "src": "15799:22:161" + }, + "returnParameters": { + "id": 74265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74264, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "15858:12:161", + "nodeType": "VariableDeclaration", + "scope": 74311, + "src": "15853:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 74263, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15853:4:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15852:19:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 74860, + "nodeType": "FunctionDefinition", + "src": "16266:8257:161", + "nodes": [], + "body": { + "id": 74859, + "nodeType": "Block", + "src": "16432:8091:161", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 74324, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "16446:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16453:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "16446:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16460:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16446:20:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 74327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16470:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16446:25:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74333, + "nodeType": "IfStatement", + "src": "16442:73:161", + "trueBody": { + "id": 74332, + "nodeType": "Block", + "src": "16473:42:161", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 74329, + "name": "NoOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76678, + "src": "16494:8:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 74330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16494:10:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74331, + "nodeType": "RevertStatement", + "src": "16487:17:161" + } + ] + } + }, + { + "assignments": [ + 74335 + ], + "declarations": [ + { + "constant": false, + "id": 74335, + "mutability": "mutable", + "name": "i", + "nameLocation": "16533:1:161", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "16525:9:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16525:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74337, + "initialValue": { + "hexValue": "30", + "id": 74336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16537:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "16525:13:161" + }, + { + "assignments": [ + 74340 + ], + "declarations": [ + { + "constant": false, + "id": 74340, + "mutability": "mutable", + "name": "takeOrderConfig", + "nameLocation": "16571:15:161", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "16548:38:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig" + }, + "typeName": { + "id": 74339, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74338, + "name": "TakeOrderConfig", + "nameLocations": [ + "16548:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76115, + "src": "16548:15:161" + }, + "referencedDeclaration": 76115, + "src": "16548:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_storage_ptr", + "typeString": "struct TakeOrderConfig" + } + }, + "visibility": "internal" + } + ], + "id": 74341, + "nodeType": "VariableDeclarationStatement", + "src": "16548:38:161" + }, + { + "assignments": [ + 74344 + ], + "declarations": [ + { + "constant": false, + "id": 74344, + "mutability": "mutable", + "name": "order", + "nameLocation": "16609:5:161", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "16596:18:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74343, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74342, + "name": "Order", + "nameLocations": [ + "16596:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "16596:5:161" + }, + "referencedDeclaration": 76088, + "src": "16596:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 74345, + "nodeType": "VariableDeclarationStatement", + "src": "16596:18:161" + }, + { + "assignments": [ + 74347 + ], + "declarations": [ + { + "constant": false, + "id": 74347, + "mutability": "mutable", + "name": "remainingTakerInput", + "nameLocation": "16633:19:161", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "16625:27:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16625:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74350, + "initialValue": { + "expression": { + "id": 74348, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "16655:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16662:12:161", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76696, + "src": "16655:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16625:49:161" + }, + { + "body": { + "id": 74743, + "nodeType": "Block", + "src": "16744:5715:161", + "statements": [ + { + "expression": { + "id": 74365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74360, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "16758:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 74361, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "16776:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16783:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "16776:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74364, + "indexExpression": { + "id": 74363, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74335, + "src": "16790:1:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16776:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "src": "16758:34:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74366, + "nodeType": "ExpressionStatement", + "src": "16758:34:161" + }, + { + "expression": { + "id": 74370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74367, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "16806:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 74368, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "16814:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74369, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16830:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "16814:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "src": "16806:29:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74371, + "nodeType": "ExpressionStatement", + "src": "16806:29:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 74391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74372, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "16925:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16931:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "16925:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74376, + "indexExpression": { + "expression": { + "id": 74374, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "16943:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16959:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "16943:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16925:47:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16973:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "16925:53:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74378, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17002:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17009:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17002:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74381, + "indexExpression": { + "hexValue": "30", + "id": 74380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17016:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17002:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17019:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "17002:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17025:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "17002:34:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74389, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74384, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17037:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17044:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17037:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74387, + "indexExpression": { + "hexValue": "30", + "id": 74386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17051:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17037:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17054:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "17037:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17002:65:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17068:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17002:71:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16925:148:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74415, + "nodeType": "IfStatement", + "src": "16904:423:161", + "trueBody": { + "id": 74414, + "nodeType": "Block", + "src": "17088:239:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74393, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "17148:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74394, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17154:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "17148:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74397, + "indexExpression": { + "expression": { + "id": 74395, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "17166:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17182:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "17166:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17148:47:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17196:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17148:53:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74399, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17223:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17230:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17223:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74402, + "indexExpression": { + "hexValue": "30", + "id": 74401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17237:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17223:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17240:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "17223:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17246:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "17223:34:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74410, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74405, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17258:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17265:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17258:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74408, + "indexExpression": { + "hexValue": "30", + "id": 74407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17272:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17258:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17275:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "17258:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17223:65:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17289:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17223:71:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74392, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73690, + "src": "17113:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 74412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17113:199:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74413, + "nodeType": "RevertStatement", + "src": "17106:206:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 74435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74416, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "17417:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17423:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "17417:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74420, + "indexExpression": { + "expression": { + "id": 74418, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "17436:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74419, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17452:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "17436:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17417:49:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17467:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17417:55:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74422, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17496:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17503:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17496:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74425, + "indexExpression": { + "hexValue": "30", + "id": 74424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17510:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17496:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17513:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "17496:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17519:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "17496:35:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74433, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74428, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17532:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17539:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17532:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74431, + "indexExpression": { + "hexValue": "30", + "id": 74430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17546:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17532:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17549:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "17532:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17496:67:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17564:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17496:73:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17417:152:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74459, + "nodeType": "IfStatement", + "src": "17396:431:161", + "trueBody": { + "id": 74458, + "nodeType": "Block", + "src": "17584:243:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74437, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "17644:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17650:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "17644:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74441, + "indexExpression": { + "expression": { + "id": 74439, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "17663:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17679:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "17663:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17644:49:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17694:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17644:55:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74443, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17721:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17728:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17721:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74446, + "indexExpression": { + "hexValue": "30", + "id": 74445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17735:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17721:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17738:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "17721:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17744:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "17721:35:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74454, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74449, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "17757:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17764:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "17757:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74452, + "indexExpression": { + "hexValue": "30", + "id": 74451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17771:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17757:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17774:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "17757:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17721:67:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17789:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "17721:73:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74436, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73690, + "src": "17609:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 74456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17609:203:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74457, + "nodeType": "RevertStatement", + "src": "17602:210:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 74479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74460, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "17925:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17931:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "17925:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74464, + "indexExpression": { + "expression": { + "id": 74462, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "17943:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17959:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "17943:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17925:47:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17973:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "17925:56:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74466, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18005:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18012:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18005:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74469, + "indexExpression": { + "hexValue": "30", + "id": 74468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18019:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18005:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18022:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "18005:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18028:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "18005:34:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74477, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74472, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18040:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18047:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18040:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74475, + "indexExpression": { + "hexValue": "30", + "id": 74474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18054:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18040:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18057:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "18040:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18005:65:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18071:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18005:74:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "17925:154:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74503, + "nodeType": "IfStatement", + "src": "17904:443:161", + "trueBody": { + "id": 74502, + "nodeType": "Block", + "src": "18094:253:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74481, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "18162:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18168:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "18162:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74485, + "indexExpression": { + "expression": { + "id": 74483, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "18180:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18196:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "18180:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18162:47:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18210:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18162:56:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74487, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18240:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18247:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18240:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74490, + "indexExpression": { + "hexValue": "30", + "id": 74489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18254:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18240:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18257:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "18240:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18263:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "18240:34:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74498, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74493, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18275:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18282:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18275:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74496, + "indexExpression": { + "hexValue": "30", + "id": 74495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18289:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18275:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18292:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "18275:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18240:65:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18306:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18240:74:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 74480, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73697, + "src": "18119:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 74500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18119:213:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74501, + "nodeType": "RevertStatement", + "src": "18112:220:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 74523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74504, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "18446:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18452:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "18446:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74508, + "indexExpression": { + "expression": { + "id": 74506, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "18465:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18481:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "18465:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18446:49:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74509, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18496:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18446:58:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74510, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18528:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18535:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18528:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74513, + "indexExpression": { + "hexValue": "30", + "id": 74512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18542:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18528:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18545:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "18528:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18551:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "18528:35:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74521, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74516, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18564:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18571:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18564:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74519, + "indexExpression": { + "hexValue": "30", + "id": 74518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18578:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18564:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18581:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "18564:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18528:67:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18596:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18528:76:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "18446:158:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74547, + "nodeType": "IfStatement", + "src": "18425:451:161", + "trueBody": { + "id": 74546, + "nodeType": "Block", + "src": "18619:257:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74525, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "18687:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18693:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "18687:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74529, + "indexExpression": { + "expression": { + "id": 74527, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "18706:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18722:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "18706:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18687:49:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74530, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18737:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18687:58:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74531, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18767:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18774:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18767:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74534, + "indexExpression": { + "hexValue": "30", + "id": 74533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18781:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18767:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18784:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "18767:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18790:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "18767:35:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74542, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74537, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "18803:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18810:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "18803:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74540, + "indexExpression": { + "hexValue": "30", + "id": 74539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18817:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18803:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18820:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "18803:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18767:67:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18835:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "18767:76:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 74524, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73697, + "src": "18644:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 74544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18644:217:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74545, + "nodeType": "RevertStatement", + "src": "18637:224:161" + } + ] + } + }, + { + "assignments": [ + 74549 + ], + "declarations": [ + { + "constant": false, + "id": 74549, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "18898:9:161", + "nodeType": "VariableDeclaration", + "scope": 74743, + "src": "18890:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 74548, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18890:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 74553, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 74550, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "18910:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18916:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "18910:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 74552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18910:12:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18890:32:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 74554, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "18940:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 74556, + "indexExpression": { + "id": 74555, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74549, + "src": "18948:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18940:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 74557, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73717, + "src": "18962:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18940:32:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 74737, + "nodeType": "Block", + "src": "19067:3322:161", + "statements": [ + { + "assignments": [ + 74570 + ], + "declarations": [ + { + "constant": false, + "id": 74570, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "19111:18:161", + "nodeType": "VariableDeclaration", + "scope": 74737, + "src": "19085:44:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 74569, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74568, + "name": "OrderIOCalculation", + "nameLocations": [ + "19085:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "19085:18:161" + }, + "referencedDeclaration": 73825, + "src": "19085:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 74582, + "initialValue": { + "arguments": [ + { + "id": 74572, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "19170:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 74573, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "19197:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19213:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "19197:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 74575, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "19247:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19263:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "19247:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 74577, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19298:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19302:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19298:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74579, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "19330:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19346:13:161", + "memberName": "signedContext", + "nodeType": "MemberAccess", + "referencedDeclaration": 76114, + "src": "19330:29:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 74571, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75503, + "src": "19132:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 74581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19132:245:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19085:292:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 74583, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74570, + "src": "19727:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 74584, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19746:7:161", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 73814, + "src": "19727:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 74585, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "19756:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19763:14:161", + "memberName": "maximumIORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 76698, + "src": "19756:21:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19727:50:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 74599, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74570, + "src": "19913:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 74600, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19932:9:161", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 73812, + "src": "19913:28:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 74597, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "19891:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 74598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19906:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "19891:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 74601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19891:51:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 74602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19946:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19891:56:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 74734, + "nodeType": "Block", + "src": "20052:2323:161", + "statements": [ + { + "assignments": [ + 74614 + ], + "declarations": [ + { + "constant": false, + "id": 74614, + "mutability": "mutable", + "name": "takerInputDecimals", + "nameLocation": "20080:18:161", + "nodeType": "VariableDeclaration", + "scope": 74734, + "src": "20074:24:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 74613, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "20074:5:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 74621, + "initialValue": { + "expression": { + "baseExpression": { + "expression": { + "id": 74615, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "20101:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20107:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "20101:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74619, + "indexExpression": { + "expression": { + "id": 74617, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "20120:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20136:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "20120:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20101:49:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74620, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20151:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "20101:58:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20074:85:161" + }, + { + "assignments": [ + 74624 + ], + "declarations": [ + { + "constant": false, + "id": 74624, + "mutability": "mutable", + "name": "takerInput18", + "nameLocation": "20270:12:161", + "nodeType": "VariableDeclaration", + "scope": 74734, + "src": "20256:26:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 74623, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74622, + "name": "Input18Amount", + "nameLocations": [ + "20256:13:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73829, + "src": "20256:13:161" + }, + "referencedDeclaration": 73829, + "src": "20256:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 74633, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 74629, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74570, + "src": "20326:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 74630, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20345:9:161", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 73812, + "src": "20326:28:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 74627, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "20304:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 74628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20319:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "20304:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 74631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20304:51:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74625, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "20285:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 74626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20299:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20285:18:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 74632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20285:71:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20256:100:161" + }, + { + "id": 74661, + "nodeType": "Block", + "src": "20657:506:161", + "statements": [ + { + "assignments": [ + 74636 + ], + "declarations": [ + { + "constant": false, + "id": 74636, + "mutability": "mutable", + "name": "remainingTakerInput18", + "nameLocation": "20802:21:161", + "nodeType": "VariableDeclaration", + "scope": 74661, + "src": "20788:35:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 74635, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74634, + "name": "Input18Amount", + "nameLocations": [ + "20788:13:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73829, + "src": "20788:13:161" + }, + "referencedDeclaration": 73829, + "src": "20788:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 74645, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 74641, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74614, + "src": "20901:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 74642, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54581, + "src": "20921:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74639, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74347, + "src": "20873:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20893:7:161", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 54841, + "src": "20873:27:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 74643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20873:62:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74637, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "20854:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 74638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20868:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20854:18:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 74644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20854:82:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20788:148:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 74648, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74624, + "src": "20987:12:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 74646, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "20966:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 74647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20980:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "20966:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 74649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20966:34:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 74652, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74636, + "src": "21024:21:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 74650, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "21003:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 74651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21017:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21003:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 74653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21003:43:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20966:80:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74660, + "nodeType": "IfStatement", + "src": "20962:179:161", + "trueBody": { + "id": 74659, + "nodeType": "Block", + "src": "21048:93:161", + "statements": [ + { + "expression": { + "id": 74657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74655, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74624, + "src": "21078:12:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 74656, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74636, + "src": "21093:21:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "src": "21078:36:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "id": 74658, + "nodeType": "ExpressionStatement", + "src": "21078:36:161" + } + ] + } + } + ] + }, + { + "assignments": [ + 74663 + ], + "declarations": [ + { + "constant": false, + "id": 74663, + "mutability": "mutable", + "name": "takerOutput", + "nameLocation": "21193:11:161", + "nodeType": "VariableDeclaration", + "scope": 74734, + "src": "21185:19:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21185:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74664, + "nodeType": "VariableDeclarationStatement", + "src": "21185:19:161" + }, + { + "id": 74699, + "nodeType": "Block", + "src": "21226:724:161", + "statements": [ + { + "assignments": [ + 74667 + ], + "declarations": [ + { + "constant": false, + "id": 74667, + "mutability": "mutable", + "name": "takerOutput18", + "nameLocation": "21350:13:161", + "nodeType": "VariableDeclaration", + "scope": 74699, + "src": "21335:28:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 74666, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74665, + "name": "Output18Amount", + "nameLocations": [ + "21335:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "21335:14:161" + }, + "referencedDeclaration": 73827, + "src": "21335:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 74682, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 74675, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74570, + "src": "21617:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 74676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21636:7:161", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 73814, + "src": "21617:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 74677, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46324, + "src": "21645:4:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46324_$", + "typeString": "type(library Math)" + } + }, + "id": 74678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21650:8:161", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45465, + "src": "21645:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45465_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 74679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21659:2:161", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45463, + "src": "21645:16:161", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45465", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45465", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 74672, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74624, + "src": "21556:12:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 74670, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "21535:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 74671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21549:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21535:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 74673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21535:34:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21570:13:161", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 54539, + "src": "21535:48:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45465_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 74680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21535:156:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74668, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "21366:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 74669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21381:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "21366:19:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 74681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21366:351:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21335:382:161" + }, + { + "expression": { + "id": 74697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74683, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74663, + "src": "21743:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74689, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "21830:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21836:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "21830:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74693, + "indexExpression": { + "expression": { + "id": 74691, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "21848:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 74692, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21864:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "21848:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21830:47:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74694, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21878:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "21830:56:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 74695, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54575, + "src": "21888:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 74686, + "name": "takerOutput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74667, + "src": "21779:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 74684, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "21757:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 74685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21772:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21757:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 74687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21757:36:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21794:6:161", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 54916, + "src": "21757:43:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 74696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21757:170:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21743:184:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74698, + "nodeType": "ExpressionStatement", + "src": "21743:184:161" + } + ] + }, + { + "assignments": [ + 74701 + ], + "declarations": [ + { + "constant": false, + "id": 74701, + "mutability": "mutable", + "name": "takerInput", + "nameLocation": "21980:10:161", + "nodeType": "VariableDeclaration", + "scope": 74734, + "src": "21972:18:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21972:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74710, + "initialValue": { + "arguments": [ + { + "id": 74707, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74614, + "src": "22035:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 74708, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54581, + "src": "22055:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 74704, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74624, + "src": "22014:12:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 74702, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "21993:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 74703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22007:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21993:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 74705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21993:34:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22028:6:161", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 54916, + "src": "21993:41:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 74709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21993:76:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21972:97:161" + }, + { + "expression": { + "id": 74713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74711, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74347, + "src": "22092:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 74712, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74701, + "src": "22115:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22092:33:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74714, + "nodeType": "ExpressionStatement", + "src": "22092:33:161" + }, + { + "expression": { + "id": 74717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74715, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74322, + "src": "22147:16:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 74716, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74663, + "src": "22167:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22147:31:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74718, + "nodeType": "ExpressionStatement", + "src": "22147:31:161" + }, + { + "expression": { + "arguments": [ + { + "id": 74720, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "22215:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 74721, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74663, + "src": "22222:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74722, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74701, + "src": "22235:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74723, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74570, + "src": "22247:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 74719, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75680, + "src": "22201:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 74724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22201:65:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74725, + "nodeType": "ExpressionStatement", + "src": "22201:65:161" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74727, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "22303:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22307:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "22303:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74729, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74340, + "src": "22315:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + { + "id": 74730, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74701, + "src": "22332:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74731, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74663, + "src": "22344:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 74726, + "name": "TakeOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76807, + "src": "22293:9:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$76115_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" + } + }, + "id": 74732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22293:63:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74733, + "nodeType": "EmitStatement", + "src": "22288:68:161" + } + ] + }, + "id": 74735, + "nodeType": "IfStatement", + "src": "19887:2488:161", + "trueBody": { + "id": 74612, + "nodeType": "Block", + "src": "19949:97:161", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74605, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19992:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19996:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19992:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74607, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "20004:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74608, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20010:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "20004:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74609, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74549, + "src": "20017:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 74604, + "name": "OrderZeroAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76825, + "src": "19976:15:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 74610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19976:51:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74611, + "nodeType": "EmitStatement", + "src": "19971:56:161" + } + ] + } + }, + "id": 74736, + "nodeType": "IfStatement", + "src": "19723:2652:161", + "trueBody": { + "id": 74596, + "nodeType": "Block", + "src": "19779:102:161", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74589, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19827:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19831:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19827:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74591, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "19839:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19845:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "19839:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74593, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74549, + "src": "19852:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 74588, + "name": "OrderExceedsMaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76834, + "src": "19806:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 74594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19806:56:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74595, + "nodeType": "EmitStatement", + "src": "19801:61:161" + } + ] + } + } + ] + }, + "id": 74738, + "nodeType": "IfStatement", + "src": "18936:3453:161", + "trueBody": { + "id": 74567, + "nodeType": "Block", + "src": "18974:87:161", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 74560, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19011:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19015:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19011:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74562, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74344, + "src": "19023:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74563, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19029:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "19023:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74564, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74549, + "src": "19036:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 74559, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76816, + "src": "18997:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 74565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18997:49:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74566, + "nodeType": "EmitStatement", + "src": "18992:54:161" + } + ] + } + }, + { + "id": 74742, + "nodeType": "UncheckedBlock", + "src": "22403:46:161", + "statements": [ + { + "expression": { + "id": 74740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22431:3:161", + "subExpression": { + "id": 74739, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74335, + "src": "22431:1:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74741, + "nodeType": "ExpressionStatement", + "src": "22431:3:161" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 74359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74351, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74335, + "src": "16691:1:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "id": 74352, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "16695:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16702:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "16695:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16709:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16695:20:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16691:24:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74356, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74347, + "src": "16719:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 74357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16741:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16719:23:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16691:51:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74744, + "nodeType": "WhileStatement", + "src": "16684:5775:161" + }, + { + "expression": { + "id": 74750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 74745, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74320, + "src": "22468:15:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 74746, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "22486:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22493:12:161", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76696, + "src": "22486:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 74748, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74347, + "src": "22508:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22486:41:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22468:59:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74751, + "nodeType": "ExpressionStatement", + "src": "22468:59:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74752, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74320, + "src": "22542:15:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 74753, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "22560:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22567:12:161", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76694, + "src": "22560:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22542:37:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74763, + "nodeType": "IfStatement", + "src": "22538:125:161", + "trueBody": { + "id": 74762, + "nodeType": "Block", + "src": "22581:82:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74757, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "22615:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22622:12:161", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76694, + "src": "22615:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74759, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74320, + "src": "22636:15:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 74756, + "name": "MinimumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73704, + "src": "22602:12:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 74760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22602:50:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74761, + "nodeType": "RevertStatement", + "src": "22595:57:161" + } + ] + } + }, + { + "assignments": [ + 74765 + ], + "declarations": [ + { + "constant": false, + "id": 74765, + "mutability": "mutable", + "name": "takerInputAmountSent", + "nameLocation": "23453:20:161", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "23445:28:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23445:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 74784, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74767, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23521:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23528:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "23521:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74770, + "indexExpression": { + "hexValue": "30", + "id": 74769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23535:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23521:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23538:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "23521:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23544:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "23521:35:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74778, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74773, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23557:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23564:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "23557:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74776, + "indexExpression": { + "hexValue": "30", + "id": 74775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23571:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23557:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23574:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "23557:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23521:67:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23589:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "23521:73:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 74780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23596:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23600:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23596:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74782, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74320, + "src": "23608:15:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 74766, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73200, + "src": "23476:31:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,address,uint256) returns (uint256)" + } + }, + "id": 74783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23476:157:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23445:188:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 74785, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23647:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23654:4:161", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 76704, + "src": "23647:11:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 74787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23659:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "23647:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 74788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23668:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23647:22:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74828, + "nodeType": "IfStatement", + "src": "23643:395:161", + "trueBody": { + "id": 74827, + "nodeType": "Block", + "src": "23671:367:161", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74795, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23750:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23757:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "23750:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74798, + "indexExpression": { + "hexValue": "30", + "id": 74797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23764:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23750:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23767:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "23750:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23773:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "23750:35:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74806, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74801, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23786:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23793:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "23786:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74804, + "indexExpression": { + "hexValue": "30", + "id": 74803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23800:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23786:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23803:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76110, + "src": "23786:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23750:67:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23818:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "23750:73:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74808, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23841:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23848:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "23841:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74811, + "indexExpression": { + "hexValue": "30", + "id": 74810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23855:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23841:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23858:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "23841:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23864:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "23841:34:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74819, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74814, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "23876:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23883:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "23876:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74817, + "indexExpression": { + "hexValue": "30", + "id": 74816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23890:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23876:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23893:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "23876:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23841:65:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23907:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "23841:71:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74821, + "name": "takerInputAmountSent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74765, + "src": "23930:20:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 74822, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74322, + "src": "23968:16:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 74823, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "24002:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24009:4:161", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 76704, + "src": "24002:11:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 74791, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23708:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23712:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23708:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74790, + "name": "IOrderBookV3OrderTaker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76979, + "src": "23685:22:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$76979_$", + "typeString": "type(contract IOrderBookV3OrderTaker)" + } + }, + "id": 74793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23685:34:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$76979", + "typeString": "contract IOrderBookV3OrderTaker" + } + }, + "id": 74794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23720:12:161", + "memberName": "onTakeOrders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76978, + "src": "23685:47:161", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 74825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23685:342:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74826, + "nodeType": "ExpressionStatement", + "src": "23685:342:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 74831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 74829, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74322, + "src": "24052:16:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 74830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24071:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24052:20:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74858, + "nodeType": "IfStatement", + "src": "24048:469:161", + "trueBody": { + "id": 74857, + "nodeType": "Block", + "src": "24074:443:161", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 74848, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "24449:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24453:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "24449:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 74852, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "24469:4:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$75854", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$75854", + "typeString": "contract OrderBook" + } + ], + "id": 74851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24461:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 74850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24461:7:161", + "typeDescriptions": {} + } + }, + "id": 74853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24461:13:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 74854, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74322, + "src": "24476:16:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74833, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "24342:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24349:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "24342:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74836, + "indexExpression": { + "hexValue": "30", + "id": 74835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24356:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24342:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24359:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76106, + "src": "24342:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 74838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24365:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "24342:34:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 74844, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74839, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74315, + "src": "24377:6:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 74840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24384:6:161", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 76702, + "src": "24377:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 74842, + "indexExpression": { + "hexValue": "30", + "id": 74841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24391:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24377:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 74843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24394:12:161", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76108, + "src": "24377:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24342:65:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 74845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24408:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "24342:71:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74832, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43884, + "src": "24335:6:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$43884_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 74846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24335:79:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$43884", + "typeString": "contract IERC20" + } + }, + "id": 74847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24415:16:161", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44005, + "src": "24335:96:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43884_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43884_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 74855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24335:171:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74856, + "nodeType": "ExpressionStatement", + "src": "24335:171:161" + } + ] + } + } + ] + }, + "baseFunctions": [ + 76925 + ], + "documentation": { + "id": 74312, + "nodeType": "StructuredDocumentation", + "src": "16233:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "8a44689c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 74318, + "kind": "modifierInvocation", + "modifierName": { + "id": 74317, + "name": "nonReentrant", + "nameLocations": [ + "16347:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43184, + "src": "16347:12:161" + }, + "nodeType": "ModifierInvocation", + "src": "16347:12:161" + } + ], + "name": "takeOrders", + "nameLocation": "16275:10:161", + "parameters": { + "id": 74316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74315, + "mutability": "mutable", + "name": "config", + "nameLocation": "16314:6:161", + "nodeType": "VariableDeclaration", + "scope": 74860, + "src": "16286:34:161", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2" + }, + "typeName": { + "id": 74314, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74313, + "name": "TakeOrdersConfigV2", + "nameLocations": [ + "16286:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76705, + "src": "16286:18:161" + }, + "referencedDeclaration": 76705, + "src": "16286:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_storage_ptr", + "typeString": "struct TakeOrdersConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "16285:36:161" + }, + "returnParameters": { + "id": 74323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74320, + "mutability": "mutable", + "name": "totalTakerInput", + "nameLocation": "16385:15:161", + "nodeType": "VariableDeclaration", + "scope": 74860, + "src": "16377:23:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16377:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74322, + "mutability": "mutable", + "name": "totalTakerOutput", + "nameLocation": "16410:16:161", + "nodeType": "VariableDeclaration", + "scope": 74860, + "src": "16402:24:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74321, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16402:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16376:51:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75186, + "nodeType": "FunctionDefinition", + "src": "24562:4247:161", + "nodes": [], + "body": { + "id": 75185, + "nodeType": "Block", + "src": "24805:4004:161", + "nodes": [], + "statements": [ + { + "id": 75063, + "nodeType": "Block", + "src": "24815:2410:161", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 74887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 74883, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "24833:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74884, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24839:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "24833:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 74885, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "24848:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74886, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24852:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "24848:9:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24833:24:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74894, + "nodeType": "IfStatement", + "src": "24829:92:161", + "trueBody": { + "id": 74893, + "nodeType": "Block", + "src": "24859:62:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 74889, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "24894:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74890, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24900:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "24894:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74888, + "name": "SameOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73709, + "src": "24884:9:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 74891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24884:22:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74892, + "nodeType": "RevertStatement", + "src": "24877:29:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 74907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74895, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "24955:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74896, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24961:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "24955:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74899, + "indexExpression": { + "expression": { + "id": 74897, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "24974:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24986:18:161", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76119, + "src": "24974:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24955:50:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74900, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25006:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "24955:56:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74901, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "25035:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25039:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "25035:15:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74905, + "indexExpression": { + "expression": { + "id": 74903, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25051:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25063:15:161", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76121, + "src": "25051:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25035:44:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25080:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "25035:50:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24955:130:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74924, + "nodeType": "IfStatement", + "src": "24934:387:161", + "trueBody": { + "id": 74923, + "nodeType": "Block", + "src": "25100:221:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74909, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "25160:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25166:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "25160:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74913, + "indexExpression": { + "expression": { + "id": 74911, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25179:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25191:18:161", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76119, + "src": "25179:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25160:50:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25211:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "25160:56:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 74915, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "25238:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74916, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25242:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "25238:15:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74919, + "indexExpression": { + "expression": { + "id": 74917, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25254:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25266:15:161", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76121, + "src": "25254:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25238:44:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74920, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25283:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "25238:50:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74908, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73690, + "src": "25125:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 74921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25125:181:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74922, + "nodeType": "RevertStatement", + "src": "25118:188:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 74937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74925, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "25356:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74926, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25362:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "25356:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74929, + "indexExpression": { + "expression": { + "id": 74927, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25375:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25387:18:161", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76119, + "src": "25375:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25356:50:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74930, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25407:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "25356:59:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74931, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "25439:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74932, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25443:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "25439:15:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74935, + "indexExpression": { + "expression": { + "id": 74933, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25455:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25467:15:161", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76121, + "src": "25455:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25439:44:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74936, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25484:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "25439:53:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "25356:136:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74954, + "nodeType": "IfStatement", + "src": "25335:407:161", + "trueBody": { + "id": 74953, + "nodeType": "Block", + "src": "25507:235:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74939, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "25575:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25581:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "25575:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74943, + "indexExpression": { + "expression": { + "id": 74941, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25594:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25606:18:161", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76119, + "src": "25594:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25575:50:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74944, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25626:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "25575:59:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 74945, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "25656:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25660:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "25656:15:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74949, + "indexExpression": { + "expression": { + "id": 74947, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25672:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25684:15:161", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76121, + "src": "25672:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25656:44:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25701:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "25656:53:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 74938, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73697, + "src": "25532:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 74951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25532:195:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74952, + "nodeType": "RevertStatement", + "src": "25525:202:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 74967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74955, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "25777:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74956, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25781:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "25777:16:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74959, + "indexExpression": { + "expression": { + "id": 74957, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25794:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25806:16:161", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76123, + "src": "25794:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25777:46:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25824:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "25777:52:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74961, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "25853:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74962, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25859:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "25853:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74965, + "indexExpression": { + "expression": { + "id": 74963, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "25871:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25883:17:161", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76117, + "src": "25871:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25853:48:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25902:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "25853:54:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "25777:130:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 74984, + "nodeType": "IfStatement", + "src": "25756:387:161", + "trueBody": { + "id": 74983, + "nodeType": "Block", + "src": "25922:221:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74969, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "25982:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74970, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25988:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "25982:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74973, + "indexExpression": { + "expression": { + "id": 74971, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "26000:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26012:17:161", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76117, + "src": "26000:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25982:48:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26031:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "25982:54:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 74975, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "26058:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74976, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26062:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "26058:16:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74979, + "indexExpression": { + "expression": { + "id": 74977, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "26075:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26087:16:161", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76123, + "src": "26075:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26058:46:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74980, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26105:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "26058:52:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74968, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73690, + "src": "25947:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 74981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25947:181:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74982, + "nodeType": "RevertStatement", + "src": "25940:188:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 74997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74985, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "26178:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74986, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26182:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "26178:16:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74989, + "indexExpression": { + "expression": { + "id": 74987, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "26195:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26207:16:161", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76123, + "src": "26195:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26178:46:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26225:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "26178:55:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 74991, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "26257:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 74992, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26263:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "26257:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 74995, + "indexExpression": { + "expression": { + "id": 74993, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "26275:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 74994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26287:17:161", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76117, + "src": "26275:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26257:48:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 74996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26306:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "26257:57:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "26178:136:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75014, + "nodeType": "IfStatement", + "src": "26157:407:161", + "trueBody": { + "id": 75013, + "nodeType": "Block", + "src": "26329:235:161", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 74999, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "26397:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75000, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26403:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "26397:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75003, + "indexExpression": { + "expression": { + "id": 75001, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "26415:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26427:17:161", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76117, + "src": "26415:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26397:48:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75004, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26446:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "26397:57:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 75005, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "26476:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26480:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "26476:16:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75009, + "indexExpression": { + "expression": { + "id": 75007, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "26493:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26505:16:161", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76123, + "src": "26493:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26476:46:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75010, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26523:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "26476:55:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 74998, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73697, + "src": "26354:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 75011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26354:195:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75012, + "nodeType": "RevertStatement", + "src": "26347:202:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75015, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "26789:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75019, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75016, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "26797:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26803:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "26797:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26797:12:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26789:21:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75020, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73717, + "src": "26814:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26789:35:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75034, + "nodeType": "IfStatement", + "src": "26785:155:161", + "trueBody": { + "id": 75033, + "nodeType": "Block", + "src": "26826:114:161", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75023, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "26863:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26867:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26863:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75025, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "26875:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75026, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26881:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "26875:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75027, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "26888:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75028, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26894:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "26888:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26888:12:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75022, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76816, + "src": "26849:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26849:52:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75031, + "nodeType": "EmitStatement", + "src": "26844:57:161" + }, + { + "functionReturnParameters": 74882, + "id": 75032, + "nodeType": "Return", + "src": "26919:7:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75035, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73869, + "src": "26957:7:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75039, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75036, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "26965:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75037, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26969:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "26965:8:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26965:10:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26957:19:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75040, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73717, + "src": "26980:10:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26957:33:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75054, + "nodeType": "IfStatement", + "src": "26953:149:161", + "trueBody": { + "id": 75053, + "nodeType": "Block", + "src": "26992:110:161", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75043, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27029:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27033:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27029:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75045, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27041:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27045:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "27041:9:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75047, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27052:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27056:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "27052:8:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27052:10:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75042, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76816, + "src": "27015:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27015:48:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75051, + "nodeType": "EmitStatement", + "src": "27010:53:161" + }, + { + "functionReturnParameters": 74882, + "id": 75052, + "nodeType": "Return", + "src": "27081:7:161" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75056, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27178:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27182:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27178:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75058, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "27190:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75059, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27197:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75060, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "27202:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + ], + "id": 75055, + "name": "Clear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76848, + "src": "27172:5:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$76088_memory_ptr_$_t_struct$_Order_$76088_memory_ptr_$_t_struct$_ClearConfig_$76128_memory_ptr_$returns$__$", + "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" + } + }, + "id": 75061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27172:42:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75062, + "nodeType": "EmitStatement", + "src": "27167:47:161" + } + ] + }, + { + "assignments": [ + 75066 + ], + "declarations": [ + { + "constant": false, + "id": 75066, + "mutability": "mutable", + "name": "aliceOrderIOCalculation_", + "nameLocation": "27260:24:161", + "nodeType": "VariableDeclaration", + "scope": 75185, + "src": "27234:50:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75065, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75064, + "name": "OrderIOCalculation", + "nameLocations": [ + "27234:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "27234:18:161" + }, + "referencedDeclaration": 73825, + "src": "27234:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 75077, + "initialValue": { + "arguments": [ + { + "id": 75068, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "27317:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 75069, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "27324:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27336:17:161", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76117, + "src": "27324:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75071, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "27355:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27367:18:161", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76119, + "src": "27355:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75073, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27387:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75074, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27391:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "27387:9:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75075, + "name": "bobSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74878, + "src": "27398:16:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 75067, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75503, + "src": "27287:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 75076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27287:137:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27234:190:161" + }, + { + "assignments": [ + 75080 + ], + "declarations": [ + { + "constant": false, + "id": 75080, + "mutability": "mutable", + "name": "bobOrderIOCalculation_", + "nameLocation": "27460:22:161", + "nodeType": "VariableDeclaration", + "scope": 75185, + "src": "27434:48:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75079, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75078, + "name": "OrderIOCalculation", + "nameLocations": [ + "27434:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "27434:18:161" + }, + "referencedDeclaration": 73825, + "src": "27434:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 75091, + "initialValue": { + "arguments": [ + { + "id": 75082, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27515:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 75083, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "27520:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27532:15:161", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76121, + "src": "27520:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75085, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "27549:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27561:16:161", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76123, + "src": "27549:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75087, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "27579:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75088, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27585:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "27579:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75089, + "name": "aliceSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74874, + "src": "27592:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 75081, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75503, + "src": "27485:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 75090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27485:135:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27434:186:161" + }, + { + "assignments": [ + 75094 + ], + "declarations": [ + { + "constant": false, + "id": 75094, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "27654:16:161", + "nodeType": "VariableDeclaration", + "scope": 75185, + "src": "27630:40:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 75093, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75092, + "name": "ClearStateChange", + "nameLocations": [ + "27630:16:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76137, + "src": "27630:16:161" + }, + "referencedDeclaration": 76137, + "src": "27630:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "id": 75099, + "initialValue": { + "arguments": [ + { + "id": 75096, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75066, + "src": "27711:24:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 75097, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75080, + "src": "27737:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75095, + "name": "calculateClearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75706, + "src": "27685:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$_t_struct$_ClearStateChange_$76137_memory_ptr_$", + "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" + } + }, + "id": 75098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27685:75:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27630:130:161" + }, + { + "expression": { + "arguments": [ + { + "id": 75101, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "27785:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 75102, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "27792:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75103, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27809:10:161", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76134, + "src": "27792:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75104, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "27821:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75105, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27838:11:161", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76130, + "src": "27821:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75106, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75066, + "src": "27851:24:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75100, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75680, + "src": "27771:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 75107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27771:105:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75108, + "nodeType": "ExpressionStatement", + "src": "27771:105:161" + }, + { + "expression": { + "arguments": [ + { + "id": 75110, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27900:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 75111, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "27905:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27922:8:161", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76136, + "src": "27905:25:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75113, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "27932:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75114, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27949:9:161", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76132, + "src": "27932:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75115, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75080, + "src": "27960:22:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75109, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75680, + "src": "27886:13:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 75116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27886:97:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75117, + "nodeType": "ExpressionStatement", + "src": "27886:97:161" + }, + { + "id": 75178, + "nodeType": "Block", + "src": "27994:753:161", + "statements": [ + { + "assignments": [ + 75119 + ], + "declarations": [ + { + "constant": false, + "id": 75119, + "mutability": "mutable", + "name": "aliceBounty", + "nameLocation": "28148:11:161", + "nodeType": "VariableDeclaration", + "scope": 75178, + "src": "28140:19:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28140:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75125, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75120, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "28162:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28179:11:161", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76130, + "src": "28162:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 75122, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "28193:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28210:8:161", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76136, + "src": "28193:25:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28162:56:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28140:78:161" + }, + { + "assignments": [ + 75127 + ], + "declarations": [ + { + "constant": false, + "id": 75127, + "mutability": "mutable", + "name": "bobBounty", + "nameLocation": "28240:9:161", + "nodeType": "VariableDeclaration", + "scope": 75178, + "src": "28232:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28232:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75133, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75128, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "28252:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75129, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28269:9:161", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76132, + "src": "28252:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 75130, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "28281:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28298:10:161", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76134, + "src": "28281:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28252:56:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28232:76:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75134, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75119, + "src": "28326:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28340:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28326:15:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75155, + "nodeType": "IfStatement", + "src": "28322:206:161", + "trueBody": { + "id": 75154, + "nodeType": "Block", + "src": "28343:185:161", + "statements": [ + { + "expression": { + "id": 75152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75137, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "28361:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75148, + "indexExpression": { + "expression": { + "id": 75138, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28376:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28380:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28376:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28361:26:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75149, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75140, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74864, + "src": "28388:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28394:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "28388:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75144, + "indexExpression": { + "expression": { + "id": 75142, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "28407:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28419:18:161", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76119, + "src": "28407:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28388:50:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28439:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "28388:56:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28361:84:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75150, + "indexExpression": { + "expression": { + "id": 75146, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "28446:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28479:18:161", + "memberName": "aliceBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76125, + "src": "28446:51:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28361:137:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75151, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75119, + "src": "28502:11:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28361:152:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75153, + "nodeType": "ExpressionStatement", + "src": "28361:152:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75156, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75127, + "src": "28545:9:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28557:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28545:13:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75177, + "nodeType": "IfStatement", + "src": "28541:196:161", + "trueBody": { + "id": 75176, + "nodeType": "Block", + "src": "28560:177:161", + "statements": [ + { + "expression": { + "id": 75174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75159, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "28578:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75170, + "indexExpression": { + "expression": { + "id": 75160, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28593:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28597:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28593:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28578:26:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75171, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75162, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "28605:3:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28609:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "28605:16:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75166, + "indexExpression": { + "expression": { + "id": 75164, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "28622:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28634:16:161", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76123, + "src": "28622:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28605:46:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28652:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "28605:52:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28578:80:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75172, + "indexExpression": { + "expression": { + "id": 75168, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74870, + "src": "28659:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 75169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28692:16:161", + "memberName": "bobBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76127, + "src": "28659:49:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28578:131:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75173, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75127, + "src": "28713:9:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28578:144:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75175, + "nodeType": "ExpressionStatement", + "src": "28578:144:161" + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75180, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28773:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28777:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28773:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75182, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75094, + "src": "28785:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + ], + "id": 75179, + "name": "AfterClear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76856, + "src": "28762:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$76137_memory_ptr_$returns$__$", + "typeString": "function (address,struct ClearStateChange memory)" + } + }, + "id": 75183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28762:40:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75184, + "nodeType": "EmitStatement", + "src": "28757:45:161" + } + ] + }, + "baseFunctions": [ + 76946 + ], + "documentation": { + "id": 74861, + "nodeType": "StructuredDocumentation", + "src": "24529:28:161", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "9e18968b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 74881, + "kind": "modifierInvocation", + "modifierName": { + "id": 74880, + "name": "nonReentrant", + "nameLocations": [ + "24792:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43184, + "src": "24792:12:161" + }, + "nodeType": "ModifierInvocation", + "src": "24792:12:161" + } + ], + "name": "clear", + "nameLocation": "24571:5:161", + "parameters": { + "id": 74879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74864, + "mutability": "mutable", + "name": "alice", + "nameLocation": "24599:5:161", + "nodeType": "VariableDeclaration", + "scope": 75186, + "src": "24586:18:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74863, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74862, + "name": "Order", + "nameLocations": [ + "24586:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "24586:5:161" + }, + "referencedDeclaration": 76088, + "src": "24586:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74867, + "mutability": "mutable", + "name": "bob", + "nameLocation": "24627:3:161", + "nodeType": "VariableDeclaration", + "scope": 75186, + "src": "24614:16:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74866, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74865, + "name": "Order", + "nameLocations": [ + "24614:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "24614:5:161" + }, + "referencedDeclaration": 76088, + "src": "24614:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74870, + "mutability": "mutable", + "name": "clearConfig", + "nameLocation": "24661:11:161", + "nodeType": "VariableDeclaration", + "scope": 75186, + "src": "24640:32:161", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 74869, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74868, + "name": "ClearConfig", + "nameLocations": [ + "24640:11:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76128, + "src": "24640:11:161" + }, + "referencedDeclaration": 76128, + "src": "24640:11:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$76128_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74874, + "mutability": "mutable", + "name": "aliceSignedContext", + "nameLocation": "24707:18:161", + "nodeType": "VariableDeclaration", + "scope": 75186, + "src": "24682:43:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 74872, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74871, + "name": "SignedContextV1", + "nameLocations": [ + "24682:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56543, + "src": "24682:15:161" + }, + "referencedDeclaration": 56543, + "src": "24682:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56543_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 74873, + "nodeType": "ArrayTypeName", + "src": "24682:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74878, + "mutability": "mutable", + "name": "bobSignedContext", + "nameLocation": "24760:16:161", + "nodeType": "VariableDeclaration", + "scope": 75186, + "src": "24735:41:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 74876, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74875, + "name": "SignedContextV1", + "nameLocations": [ + "24735:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56543, + "src": "24735:15:161" + }, + "referencedDeclaration": 56543, + "src": "24735:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56543_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 74877, + "nodeType": "ArrayTypeName", + "src": "24735:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "24576:206:161" + }, + "returnParameters": { + "id": 74882, + "nodeType": "ParameterList", + "parameters": [], + "src": "24805:0:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75503, + "nodeType": "FunctionDefinition", + "src": "29513:5114:161", + "nodes": [], + "body": { + "id": 75502, + "nodeType": "Block", + "src": "29762:4865:161", + "nodes": [], + "statements": [ + { + "id": 75501, + "nodeType": "UncheckedBlock", + "src": "29772:4849:161", + "statements": [ + { + "assignments": [ + 75207 + ], + "declarations": [ + { + "constant": false, + "id": 75207, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "29804:9:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "29796:17:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29796:7:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75211, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75208, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "29816:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75209, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29822:4:161", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77000, + "src": "29816:10:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29816:12:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29796:32:161" + }, + { + "assignments": [ + 75217 + ], + "declarations": [ + { + "constant": false, + "id": 75217, + "mutability": "mutable", + "name": "context", + "nameLocation": "29862:7:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "29843:26:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 75214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29843:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75215, + "nodeType": "ArrayTypeName", + "src": "29843:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 75216, + "nodeType": "ArrayTypeName", + "src": "29843:11:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 75218, + "nodeType": "VariableDeclarationStatement", + "src": "29843:26:161" + }, + { + "id": 75365, + "nodeType": "Block", + "src": "29883:1540:161", + "statements": [ + { + "assignments": [ + 75224 + ], + "declarations": [ + { + "constant": false, + "id": 75224, + "mutability": "mutable", + "name": "callingContext", + "nameLocation": "29920:14:161", + "nodeType": "VariableDeclaration", + "scope": 75365, + "src": "29901:33:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 75221, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29901:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75222, + "nodeType": "ArrayTypeName", + "src": "29901:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 75223, + "nodeType": "ArrayTypeName", + "src": "29901:11:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 75231, + "initialValue": { + "arguments": [ + { + "id": 75229, + "name": "CALLING_CONTEXT_COLUMNS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73753, + "src": "29974:23:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "29937:15:161", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 75225, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29941:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75226, + "nodeType": "ArrayTypeName", + "src": "29941:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 75227, + "nodeType": "ArrayTypeName", + "src": "29941:11:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + } + }, + "id": 75230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29937:78:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29901:114:161" + }, + { + "expression": { + "id": 75259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75232, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75224, + "src": "30033:14:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75236, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 75233, + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73761, + "src": "30048:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 75234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30081:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30048:34:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30033:50:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 75241, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75207, + "src": "30141:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30133:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30133:7:161", + "typeDescriptions": {} + } + }, + "id": 75242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30133:18:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75247, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30169:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30175:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "30169:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30161:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75245, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30161:7:161", + "typeDescriptions": {} + } + }, + "id": 75249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30161:20:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30153:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30153:7:161", + "typeDescriptions": {} + } + }, + "id": 75250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30153:29:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 75255, + "name": "counterparty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75196, + "src": "30200:12:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30192:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75253, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30192:7:161", + "typeDescriptions": {} + } + }, + "id": 75256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30192:21:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30184:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30184:7:161", + "typeDescriptions": {} + } + }, + "id": 75257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30184:30:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75237, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47065, + "src": "30086:15:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 75238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30102:9:161", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 46939, + "src": "30086:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 75258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30086:146:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30033:199:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75260, + "nodeType": "ExpressionStatement", + "src": "30033:199:161" + }, + { + "expression": { + "id": 75307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75261, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75224, + "src": "30251:14:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75265, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 75262, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73769, + "src": "30266:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 75263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30296:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30266:31:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30251:47:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75272, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30364:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30370:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "30364:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75275, + "indexExpression": { + "id": 75274, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75192, + "src": "30382:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30364:31:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30396:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "30364:37:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30356:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75270, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30356:7:161", + "typeDescriptions": {} + } + }, + "id": 75277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30356:46:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30348:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30348:7:161", + "typeDescriptions": {} + } + }, + "id": 75278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30348:55:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 75279, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30425:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30431:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "30425:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75282, + "indexExpression": { + "id": 75281, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75192, + "src": "30443:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30425:31:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30457:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "30425:40:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 75284, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30487:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30493:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "30487:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75287, + "indexExpression": { + "id": 75286, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75192, + "src": "30505:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30487:31:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30519:7:161", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76057, + "src": "30487:39:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75289, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "30548:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75292, + "indexExpression": { + "expression": { + "id": 75290, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30563:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30569:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "30563:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30548:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75298, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75293, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30576:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30582:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "30576:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75296, + "indexExpression": { + "id": 75295, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75192, + "src": "30594:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30576:31:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30608:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "30576:37:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30548:66:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75304, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75299, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30615:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30621:11:161", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76083, + "src": "30615:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75302, + "indexExpression": { + "id": 75301, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75192, + "src": "30633:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30615:31:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30672:7:161", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76057, + "src": "30615:64:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30548:132:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 75305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30758:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 75266, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47065, + "src": "30301:15:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 75267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30317:9:161", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 46975, + "src": "30301:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 75306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30301:476:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30251:526:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75308, + "nodeType": "ExpressionStatement", + "src": "30251:526:161" + }, + { + "expression": { + "id": 75355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75309, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75224, + "src": "30796:14:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75313, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 75310, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73773, + "src": "30811:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 75311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30842:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30811:32:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30796:48:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75320, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30910:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30916:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "30910:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75323, + "indexExpression": { + "id": 75322, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "30929:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30910:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75324, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30944:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "30910:39:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30902:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75318, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30902:7:161", + "typeDescriptions": {} + } + }, + "id": 75325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30902:48:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30894:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30894:7:161", + "typeDescriptions": {} + } + }, + "id": 75326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30894:57:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 75327, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "30973:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30979:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "30973:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75330, + "indexExpression": { + "id": 75329, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "30992:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30973:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75331, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31007:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "30973:42:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 75332, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "31037:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75333, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31043:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "31037:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75335, + "indexExpression": { + "id": 75334, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "31056:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31037:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31071:7:161", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76057, + "src": "31037:41:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75337, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "31100:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75340, + "indexExpression": { + "expression": { + "id": 75338, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "31115:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75339, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31121:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "31115:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31100:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75346, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75341, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "31128:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31134:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "31128:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75344, + "indexExpression": { + "id": 75343, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "31147:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31128:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75345, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31162:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "31128:39:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31100:68:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75352, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75347, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "31169:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31175:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "31169:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75350, + "indexExpression": { + "id": 75349, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "31188:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31169:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31228:7:161", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76057, + "src": "31169:66:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31100:136:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 75353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31314:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 75314, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47065, + "src": "30847:15:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 75315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30863:9:161", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 46975, + "src": "30847:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 75354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30847:486:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30796:537:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75356, + "nodeType": "ExpressionStatement", + "src": "30796:537:161" + }, + { + "expression": { + "id": 75363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75357, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75217, + "src": "31351:7:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 75360, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75224, + "src": "31378:14:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 75361, + "name": "signedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75200, + "src": "31394:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "expression": { + "id": 75358, + "name": "LibContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57394, + "src": "31361:10:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibContext_$57394_$", + "typeString": "type(library LibContext)" + } + }, + "id": 75359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31372:5:161", + "memberName": "build", + "nodeType": "MemberAccess", + "referencedDeclaration": 57393, + "src": "31361:16:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" + } + }, + "id": 75362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31361:47:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "src": "31351:57:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75364, + "nodeType": "ExpressionStatement", + "src": "31351:57:161" + } + ] + }, + { + "assignments": [ + 75368 + ], + "declarations": [ + { + "constant": false, + "id": 75368, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "31614:9:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "31599:24:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 75367, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75366, + "name": "StateNamespace", + "nameLocations": [ + "31599:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56609, + "src": "31599:14:161" + }, + "referencedDeclaration": 56609, + "src": "31599:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + } + ], + "id": 75380, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75375, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "31662:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31668:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "31662:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31654:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75373, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "31654:7:161", + "typeDescriptions": {} + } + }, + "id": 75377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31654:20:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31646:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31646:7:161", + "typeDescriptions": {} + } + }, + "id": 75378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31646:29:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75369, + "name": "StateNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56609, + "src": "31626:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56609_$", + "typeString": "type(StateNamespace)" + } + }, + "id": 75370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31641:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "31626:19:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56609_$", + "typeString": "function (uint256) pure returns (StateNamespace)" + } + }, + "id": 75379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31626:50:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "31599:77:161" + }, + { + "assignments": [ + 75385, + 75388 + ], + "declarations": [ + { + "constant": false, + "id": 75385, + "mutability": "mutable", + "name": "calculateOrderStack", + "nameLocation": "32035:19:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "32018:36:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 75383, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32018:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75384, + "nodeType": "ArrayTypeName", + "src": "32018:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75388, + "mutability": "mutable", + "name": "calculateOrderKVs", + "nameLocation": "32073:17:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "32056:34:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 75386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32056:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75387, + "nodeType": "ArrayTypeName", + "src": "32056:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 75404, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75393, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "32178:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75394, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32184:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "32178:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32194:5:161", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57610, + "src": "32178:21:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 75396, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75368, + "src": "32201:9:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 75398, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "32236:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32242:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "32236:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32252:10:161", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 57612, + "src": "32236:26:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75397, + "name": "_calculateOrderDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75837, + "src": "32212:23:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 75401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32212:51:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + } + }, + { + "id": 75402, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75217, + "src": "32265:7:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 75389, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "32094:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75390, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32117:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "32094:32:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32144:11:161", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 57607, + "src": "32094:61:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56650", + "typeString": "contract IInterpreterV1" + } + }, + "id": 75392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32173:4:161", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 56649, + "src": "32094:83:161", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56600_$_t_userDefinedValueType$_StateNamespace_$56609_$_t_userDefinedValueType$_EncodedDispatch_$56607_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 75403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32094:179:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32017:256:161" + }, + { + "assignments": [ + 75407 + ], + "declarations": [ + { + "constant": false, + "id": 75407, + "mutability": "mutable", + "name": "orderOutputMax18", + "nameLocation": "32303:16:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "32288:31:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 75406, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75405, + "name": "Output18Amount", + "nameLocations": [ + "32288:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "32288:14:161" + }, + "referencedDeclaration": 73827, + "src": "32288:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75417, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 75410, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75385, + "src": "32342:19:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75415, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75411, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75385, + "src": "32362:19:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32382:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32362:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "32", + "id": 75413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32391:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "32362:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32342:51:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75408, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "32322:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32337:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "32322:19:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 75416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32322:72:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32288:106:161" + }, + { + "assignments": [ + 75419 + ], + "declarations": [ + { + "constant": false, + "id": 75419, + "mutability": "mutable", + "name": "orderIORatio", + "nameLocation": "32416:12:161", + "nodeType": "VariableDeclaration", + "scope": 75501, + "src": "32408:20:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32408:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75426, + "initialValue": { + "baseExpression": { + "id": 75420, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75385, + "src": "32431:19:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75425, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75421, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75385, + "src": "32451:19:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32471:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32451:26:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 75423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32480:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "32451:30:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32431:51:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32408:74:161" + }, + { + "id": 75477, + "nodeType": "Block", + "src": "32497:1718:161", + "statements": [ + { + "assignments": [ + 75428 + ], + "declarations": [ + { + "constant": false, + "id": 75428, + "mutability": "mutable", + "name": "ownerVaultBalance", + "nameLocation": "32659:17:161", + "nodeType": "VariableDeclaration", + "scope": 75477, + "src": "32651:25:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32651:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75445, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75429, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "32679:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75432, + "indexExpression": { + "expression": { + "id": 75430, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "32694:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32700:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "32694:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32679:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75438, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75433, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "32707:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75434, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32713:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "32707:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75436, + "indexExpression": { + "id": 75435, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "32726:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32707:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75437, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32741:5:161", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 76053, + "src": "32707:39:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32679:68:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75444, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75439, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "32748:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32775:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "32748:39:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75442, + "indexExpression": { + "id": 75441, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "32788:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32748:54:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75443, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32803:7:161", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 76057, + "src": "32748:62:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32679:132:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32651:160:161" + }, + { + "assignments": [ + 75448 + ], + "declarations": [ + { + "constant": false, + "id": 75448, + "mutability": "mutable", + "name": "ownerVaultBalance18", + "nameLocation": "33879:19:161", + "nodeType": "VariableDeclaration", + "scope": 75477, + "src": "33864:34:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 75447, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75446, + "name": "Output18Amount", + "nameLocations": [ + "33864:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "33864:14:161" + }, + "referencedDeclaration": 73827, + "src": "33864:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75461, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75453, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "33967:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33973:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "33967:18:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75456, + "indexExpression": { + "id": 75455, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "33986:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "33967:33:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75457, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34001:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "33967:42:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 75458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34011:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 75451, + "name": "ownerVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75428, + "src": "33941:17:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33959:7:161", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 54841, + "src": "33941:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33941:72:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75449, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "33921:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33936:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "33921:19:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 75460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33921:93:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33864:150:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 75464, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75407, + "src": "34058:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75462, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "34036:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34051:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34036:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34036:39:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 75468, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75448, + "src": "34100:19:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75466, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "34078:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34093:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34078:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34078:42:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34036:84:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75476, + "nodeType": "IfStatement", + "src": "34032:169:161", + "trueBody": { + "id": 75475, + "nodeType": "Block", + "src": "34122:79:161", + "statements": [ + { + "expression": { + "id": 75473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75471, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75407, + "src": "34144:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75472, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75448, + "src": "34163:19:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "src": "34144:38:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "id": 75474, + "nodeType": "ExpressionStatement", + "src": "34144:38:161" + } + ] + } + } + ] + }, + { + "expression": { + "id": 75489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75478, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75217, + "src": "34312:7:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75480, + "indexExpression": { + "id": 75479, + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73765, + "src": "34320:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "34312:36:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 75485, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75407, + "src": "34415:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75483, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "34393:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34408:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34393:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34393:39:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75487, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75419, + "src": "34434:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75481, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47065, + "src": "34367:15:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 75482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34383:9:161", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 46924, + "src": "34367:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 75488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34367:80:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "34312:135:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75490, + "nodeType": "ExpressionStatement", + "src": "34312:135:161" + }, + { + "expression": { + "arguments": [ + { + "id": 75492, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75190, + "src": "34505:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75493, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75194, + "src": "34512:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75494, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75407, + "src": "34527:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + { + "id": 75495, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75419, + "src": "34545:12:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75496, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75217, + "src": "34559:7:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 75497, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75368, + "src": "34568:9:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + { + "id": 75498, + "name": "calculateOrderKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75388, + "src": "34579:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 75491, + "name": "OrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73825, + "src": "34469:18:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$73825_storage_ptr_$", + "typeString": "type(struct OrderIOCalculation storage pointer)" + } + }, + "id": 75499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34469:141:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "functionReturnParameters": 75205, + "id": 75500, + "nodeType": "Return", + "src": "34462:148:161" + } + ] + } + ] + }, + "documentation": { + "id": 75187, + "nodeType": "StructuredDocumentation", + "src": "28815:693:161", + "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateOrderIO", + "nameLocation": "29522:16:161", + "parameters": { + "id": 75201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75190, + "mutability": "mutable", + "name": "order", + "nameLocation": "29561:5:161", + "nodeType": "VariableDeclaration", + "scope": 75503, + "src": "29548:18:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75189, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75188, + "name": "Order", + "nameLocations": [ + "29548:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "29548:5:161" + }, + "referencedDeclaration": 76088, + "src": "29548:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75192, + "mutability": "mutable", + "name": "inputIOIndex", + "nameLocation": "29584:12:161", + "nodeType": "VariableDeclaration", + "scope": 75503, + "src": "29576:20:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29576:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75194, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "29614:13:161", + "nodeType": "VariableDeclaration", + "scope": 75503, + "src": "29606:21:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29606:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75196, + "mutability": "mutable", + "name": "counterparty", + "nameLocation": "29645:12:161", + "nodeType": "VariableDeclaration", + "scope": 75503, + "src": "29637:20:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75195, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29637:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75200, + "mutability": "mutable", + "name": "signedContext", + "nameLocation": "29692:13:161", + "nodeType": "VariableDeclaration", + "scope": 75503, + "src": "29667:38:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 75198, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75197, + "name": "SignedContextV1", + "nameLocations": [ + "29667:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56543, + "src": "29667:15:161" + }, + "referencedDeclaration": 56543, + "src": "29667:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56543_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 75199, + "nodeType": "ArrayTypeName", + "src": "29667:17:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "29538:173:161" + }, + "returnParameters": { + "id": 75205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75204, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75503, + "src": "29735:25:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75203, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75202, + "name": "OrderIOCalculation", + "nameLocations": [ + "29735:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "29735:18:161" + }, + "referencedDeclaration": 73825, + "src": "29735:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "29734:27:161" + }, + "scope": 75854, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 75680, + "nodeType": "FunctionDefinition", + "src": "35201:3665:161", + "nodes": [], + "body": { + "id": 75679, + "nodeType": "Block", + "src": "35368:3498:161", + "nodes": [], + "statements": [ + { + "expression": { + "id": 75525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 75517, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "35378:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35397:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "35378:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75522, + "indexExpression": { + "id": 75519, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73769, + "src": "35405:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35378:55:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75523, + "indexExpression": { + "id": 75520, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73793, + "src": "35434:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35378:86:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75524, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75509, + "src": "35467:5:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35378:94:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75526, + "nodeType": "ExpressionStatement", + "src": "35378:94:161" + }, + { + "expression": { + "id": 75535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 75527, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "35482:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75531, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35501:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "35482:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75532, + "indexExpression": { + "id": 75529, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73773, + "src": "35509:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35482:56:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75533, + "indexExpression": { + "id": 75530, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73793, + "src": "35539:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35482:87:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75534, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75511, + "src": "35572:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35482:96:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75536, + "nodeType": "ExpressionStatement", + "src": "35482:96:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75537, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75509, + "src": "35593:5:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35601:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "35593:9:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75568, + "nodeType": "IfStatement", + "src": "35589:360:161", + "trueBody": { + "id": 75567, + "nodeType": "Block", + "src": "35604:345:161", + "statements": [ + { + "expression": { + "id": 75565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75540, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "35689:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75561, + "indexExpression": { + "expression": { + "id": 75541, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "35704:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35710:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "35704:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35689:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75562, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 75547, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "35750:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35769:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "35750:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75550, + "indexExpression": { + "id": 75549, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73769, + "src": "35777:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35750:55:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75552, + "indexExpression": { + "id": 75551, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73777, + "src": "35806:22:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35750:79:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35742:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75545, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "35742:7:161", + "typeDescriptions": {} + } + }, + "id": 75553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35742:88:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35717:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 75543, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35717:7:161", + "typeDescriptions": {} + } + }, + "id": 75554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35717:127:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35689:156:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75563, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 75555, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "35846:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75556, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35865:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "35846:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75558, + "indexExpression": { + "id": 75557, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73769, + "src": "35873:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35846:55:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75560, + "indexExpression": { + "id": 75559, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73785, + "src": "35902:25:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35846:82:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35689:240:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75564, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75509, + "src": "35933:5:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35689:249:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75566, + "nodeType": "ExpressionStatement", + "src": "35689:249:161" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75569, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75511, + "src": "35962:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35971:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "35962:10:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75600, + "nodeType": "IfStatement", + "src": "35958:365:161", + "trueBody": { + "id": 75599, + "nodeType": "Block", + "src": "35974:349:161", + "statements": [ + { + "expression": { + "id": 75597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75572, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73878, + "src": "36060:14:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75593, + "indexExpression": { + "expression": { + "id": 75573, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "36075:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36081:5:161", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 76074, + "src": "36075:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36060:27:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75594, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 75579, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "36121:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36140:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "36121:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75582, + "indexExpression": { + "id": 75581, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73773, + "src": "36148:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36121:56:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75584, + "indexExpression": { + "id": 75583, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73777, + "src": "36178:22:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36121:80:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36113:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 75577, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "36113:7:161", + "typeDescriptions": {} + } + }, + "id": 75585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36113:89:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 75576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36088:7:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 75575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36088:7:161", + "typeDescriptions": {} + } + }, + "id": 75586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36088:128:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36060:157:161", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75595, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 75587, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "36218:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36237:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "36218:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 75590, + "indexExpression": { + "id": 75589, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73773, + "src": "36245:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36218:56:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75592, + "indexExpression": { + "id": 75591, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73785, + "src": "36275:25:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36218:83:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "36060:242:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 75596, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75511, + "src": "36306:6:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "36060:252:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75598, + "nodeType": "ExpressionStatement", + "src": "36060:252:161" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75602, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "36497:3:161", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36501:6:161", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "36497:10:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75604, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "36509:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36528:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "36509:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "id": 75601, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56562, + "src": "36489:7:161", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory[] memory)" + } + }, + "id": 75606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36489:47:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75607, + "nodeType": "EmitStatement", + "src": "36484:52:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75608, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "36767:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36786:3:161", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 73824, + "src": "36767:22:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36790:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "36767:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36799:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "36767:33:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75627, + "nodeType": "IfStatement", + "src": "36763:470:161", + "trueBody": { + "id": 75626, + "nodeType": "Block", + "src": "36802:431:161", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75620, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "37169:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75621, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37188:9:161", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 73821, + "src": "37169:28:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + { + "expression": { + "id": 75622, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "37199:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75623, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37218:3:161", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 73824, + "src": "37199:22:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 75613, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "37143:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75617, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37149:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "37143:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37159:5:161", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57610, + "src": "37143:21:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 75619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37165:3:161", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 56588, + "src": "37143:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56609_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 75624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37143:79:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75625, + "nodeType": "ExpressionStatement", + "src": "37143:79:161" + } + ] + } + }, + { + "condition": { + "expression": { + "id": 75628, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "37391:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75629, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37397:8:161", + "memberName": "handleIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 76076, + "src": "37391:14:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75678, + "nodeType": "IfStatement", + "src": "37387:1473:161", + "trueBody": { + "id": 75677, + "nodeType": "Block", + "src": "37407:1453:161", + "statements": [ + { + "assignments": [ + 75634, + 75637 + ], + "declarations": [ + { + "constant": false, + "id": 75634, + "mutability": "mutable", + "name": "handleIOStack", + "nameLocation": "37882:13:161", + "nodeType": "VariableDeclaration", + "scope": 75677, + "src": "37865:30:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 75632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37865:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75633, + "nodeType": "ArrayTypeName", + "src": "37865:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75637, + "mutability": "mutable", + "name": "handleIOKVs", + "nameLocation": "37914:11:161", + "nodeType": "VariableDeclaration", + "scope": 75677, + "src": "37897:28:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 75635, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37897:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75636, + "nodeType": "ArrayTypeName", + "src": "37897:9:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 75655, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75642, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "37979:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75643, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37985:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "37979:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37995:5:161", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57610, + "src": "37979:21:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "expression": { + "id": 75645, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "38018:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75646, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38037:9:161", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 73821, + "src": "38018:28:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 75648, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "38082:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38088:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "38082:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38098:10:161", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 57612, + "src": "38082:26:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75647, + "name": "_handleIODispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75853, + "src": "38064:17:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 75651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38064:45:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + } + }, + { + "expression": { + "id": 75652, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "38127:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38146:7:161", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 73818, + "src": "38127:26:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 75638, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "37929:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37935:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "37929:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75640, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37945:11:161", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 57607, + "src": "37929:27:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56650", + "typeString": "contract IInterpreterV1" + } + }, + "id": 75641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37957:4:161", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 56649, + "src": "37929:32:161", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56600_$_t_userDefinedValueType$_StateNamespace_$56609_$_t_userDefinedValueType$_EncodedDispatch_$56607_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 75654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37929:238:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "37864:303:161" + }, + { + "expression": { + "components": [ + { + "id": 75656, + "name": "handleIOStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75634, + "src": "38240:13:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 75657, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "38239:15:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75658, + "nodeType": "ExpressionStatement", + "src": "38239:15:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75659, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75637, + "src": "38378:11:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 75660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38390:6:161", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "38378:18:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38399:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "38378:22:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75676, + "nodeType": "IfStatement", + "src": "38374:476:161", + "trueBody": { + "id": 75675, + "nodeType": "Block", + "src": "38402:448:161", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75670, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75514, + "src": "38793:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38812:9:161", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 73821, + "src": "38793:28:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + } + }, + { + "id": 75672, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75637, + "src": "38823:11:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 75663, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75507, + "src": "38767:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75667, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38773:9:161", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 76079, + "src": "38767:15:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 75668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38783:5:161", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57610, + "src": "38767:21:161", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 75669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38789:3:161", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 56588, + "src": "38767:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56609_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 75673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38767:68:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75674, + "nodeType": "ExpressionStatement", + "src": "38767:68:161" + } + ] + } + } + ] + } + } + ] + }, + "documentation": { + "id": 75504, + "nodeType": "StructuredDocumentation", + "src": "34633:563:161", + "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recordVaultIO", + "nameLocation": "35210:13:161", + "parameters": { + "id": 75515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75507, + "mutability": "mutable", + "name": "order", + "nameLocation": "35246:5:161", + "nodeType": "VariableDeclaration", + "scope": 75680, + "src": "35233:18:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75506, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75505, + "name": "Order", + "nameLocations": [ + "35233:5:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76088, + "src": "35233:5:161" + }, + "referencedDeclaration": 76088, + "src": "35233:5:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75509, + "mutability": "mutable", + "name": "input", + "nameLocation": "35269:5:161", + "nodeType": "VariableDeclaration", + "scope": 75680, + "src": "35261:13:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35261:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75511, + "mutability": "mutable", + "name": "output", + "nameLocation": "35292:6:161", + "nodeType": "VariableDeclaration", + "scope": 75680, + "src": "35284:14:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35284:7:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75514, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "35334:18:161", + "nodeType": "VariableDeclaration", + "scope": 75680, + "src": "35308:44:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75513, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75512, + "name": "OrderIOCalculation", + "nameLocations": [ + "35308:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "35308:18:161" + }, + "referencedDeclaration": 73825, + "src": "35308:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "35223:135:161" + }, + "returnParameters": { + "id": 75516, + "nodeType": "ParameterList", + "parameters": [], + "src": "35368:0:161" + }, + "scope": 75854, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 75706, + "nodeType": "FunctionDefinition", + "src": "39410:486:161", + "nodes": [], + "body": { + "id": 75705, + "nodeType": "Block", + "src": "39632:264:161", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 75694, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75691, + "src": "39667:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + { + "id": 75695, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75684, + "src": "39685:23:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 75696, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75687, + "src": "39710:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75693, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75821, + "src": "39642:24:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$76137_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", + "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" + } + }, + "id": 75697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39642:90:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75698, + "nodeType": "ExpressionStatement", + "src": "39642:90:161" + }, + { + "expression": { + "arguments": [ + { + "id": 75700, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75691, + "src": "39824:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + { + "id": 75701, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75687, + "src": "39842:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 75702, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75684, + "src": "39865:23:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75699, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75821, + "src": "39799:24:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$76137_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", + "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" + } + }, + "id": 75703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39799:90:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75704, + "nodeType": "ExpressionStatement", + "src": "39799:90:161" + } + ] + }, + "documentation": { + "id": 75681, + "nodeType": "StructuredDocumentation", + "src": "38872:533:161", + "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateChange", + "nameLocation": "39419:25:161", + "parameters": { + "id": 75688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75684, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "39480:23:161", + "nodeType": "VariableDeclaration", + "scope": 75706, + "src": "39454:49:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75683, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75682, + "name": "OrderIOCalculation", + "nameLocations": [ + "39454:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "39454:18:161" + }, + "referencedDeclaration": 73825, + "src": "39454:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75687, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "39539:21:161", + "nodeType": "VariableDeclaration", + "scope": 75706, + "src": "39513:47:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75686, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75685, + "name": "OrderIOCalculation", + "nameLocations": [ + "39513:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "39513:18:161" + }, + "referencedDeclaration": 73825, + "src": "39513:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "39444:122:161" + }, + "returnParameters": { + "id": 75692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75691, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "39614:16:161", + "nodeType": "VariableDeclaration", + "scope": 75706, + "src": "39590:40:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 75690, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75689, + "name": "ClearStateChange", + "nameLocations": [ + "39590:16:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76137, + "src": "39590:16:161" + }, + "referencedDeclaration": 76137, + "src": "39590:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "src": "39589:42:161" + }, + "scope": 75854, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 75821, + "nodeType": "FunctionDefinition", + "src": "39902:2055:161", + "nodes": [], + "body": { + "id": 75820, + "nodeType": "Block", + "src": "40122:1835:161", + "nodes": [], + "statements": [ + { + "assignments": [ + 75720 + ], + "declarations": [ + { + "constant": false, + "id": 75720, + "mutability": "mutable", + "name": "bobInputMax18", + "nameLocation": "40339:13:161", + "nodeType": "VariableDeclaration", + "scope": 75820, + "src": "40325:27:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 75719, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75718, + "name": "Input18Amount", + "nameLocations": [ + "40325:13:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73829, + "src": "40325:13:161" + }, + "referencedDeclaration": 73829, + "src": "40325:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75736, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75729, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75715, + "src": "40473:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40495:7:161", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 73814, + "src": "40473:29:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 75731, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46324, + "src": "40504:4:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46324_$", + "typeString": "type(library Math)" + } + }, + "id": 75732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40509:8:161", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45465, + "src": "40504:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45465_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 75733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40518:2:161", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45463, + "src": "40504:16:161", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45465", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45465", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 75725, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75715, + "src": "40409:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40431:9:161", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 73812, + "src": "40409:31:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75723, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "40387:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40402:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40387:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40387:54:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40442:13:161", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 54539, + "src": "40387:68:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45465_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 75734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40387:147:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75721, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "40355:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40369:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "40355:18:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 75735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40355:189:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "40325:219:161" + }, + { + "assignments": [ + 75739 + ], + "declarations": [ + { + "constant": false, + "id": 75739, + "mutability": "mutable", + "name": "aliceOutputMax18", + "nameLocation": "40569:16:161", + "nodeType": "VariableDeclaration", + "scope": 75820, + "src": "40554:31:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 75738, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75737, + "name": "Output18Amount", + "nameLocations": [ + "40554:14:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "40554:14:161" + }, + "referencedDeclaration": 73827, + "src": "40554:14:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75742, + "initialValue": { + "expression": { + "id": 75740, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75712, + "src": "40588:23:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40612:9:161", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 73812, + "src": "40588:33:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "40554:67:161" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 75745, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75739, + "src": "40734:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75743, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "40712:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40727:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40712:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40712:39:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 75749, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "40775:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75747, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "40754:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40768:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40754:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40754:35:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "40712:77:161", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75763, + "nodeType": "IfStatement", + "src": "40708:183:161", + "trueBody": { + "id": 75762, + "nodeType": "Block", + "src": "40791:100:161", + "statements": [ + { + "expression": { + "id": 75760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75752, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75739, + "src": "40805:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 75757, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "40865:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75755, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "40844:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40858:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40844:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40844:35:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75753, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "40824:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40839:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "40824:19:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 75759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40824:56:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "src": "40805:75:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + }, + "id": 75761, + "nodeType": "ExpressionStatement", + "src": "40805:75:161" + } + ] + } + }, + { + "expression": { + "id": 75781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 75764, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75709, + "src": "41022:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "41039:11:161", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76130, + "src": "41022:28:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 75772, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75712, + "src": "41113:23:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41137:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 73807, + "src": "41113:29:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75774, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41143:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "41113:42:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75777, + "indexExpression": { + "expression": { + "id": 75775, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75712, + "src": "41156:23:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41180:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 73809, + "src": "41156:37:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41113:81:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75778, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41195:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "41113:90:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 75779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41205:1:161", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "arguments": [ + { + "id": 75769, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75739, + "src": "41075:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75767, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "41053:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41068:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41053:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41053:39:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41093:6:161", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 54916, + "src": "41053:46:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41053:163:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41022:194:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75782, + "nodeType": "ExpressionStatement", + "src": "41022:194:161" + }, + { + "assignments": [ + 75785 + ], + "declarations": [ + { + "constant": false, + "id": 75785, + "mutability": "mutable", + "name": "aliceInput18", + "nameLocation": "41319:12:161", + "nodeType": "VariableDeclaration", + "scope": 75820, + "src": "41305:26:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 75784, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75783, + "name": "Input18Amount", + "nameLocations": [ + "41305:13:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73829, + "src": "41305:13:161" + }, + "referencedDeclaration": 73829, + "src": "41305:13:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75800, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75793, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75712, + "src": "41420:23:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75794, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41444:7:161", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 73814, + "src": "41420:31:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 75795, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46324, + "src": "41453:4:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46324_$", + "typeString": "type(library Math)" + } + }, + "id": 75796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41458:8:161", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45465, + "src": "41453:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45465_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 75797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41467:2:161", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45463, + "src": "41453:16:161", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45465", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45465", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 75790, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75739, + "src": "41388:16:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75788, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "41366:14:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41381:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41366:21:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41366:39:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41406:13:161", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 54539, + "src": "41366:53:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45465_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 75798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41366:104:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75786, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "41334:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41348:4:161", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "41334:18:161", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 75799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41334:146:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "41305:175:161" + }, + { + "expression": { + "id": 75818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 75801, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75709, + "src": "41490:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 75803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "41507:10:161", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 76134, + "src": "41490:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 75809, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75715, + "src": "41839:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41861:5:161", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 73807, + "src": "41839:27:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75811, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41867:12:161", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76087, + "src": "41839:40:161", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75814, + "indexExpression": { + "expression": { + "id": 75812, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75715, + "src": "41880:21:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41902:13:161", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 73809, + "src": "41880:35:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41839:77:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75815, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41917:8:161", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 76055, + "src": "41839:86:161", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75816, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54575, + "src": "41927:13:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75806, + "name": "aliceInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75785, + "src": "41805:12:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75804, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73829, + "src": "41784:13:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41798:6:161", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41784:20:161", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41784:34:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41819:6:161", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 54916, + "src": "41784:41:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41784:166:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41490:460:161", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75819, + "nodeType": "ExpressionStatement", + "src": "41490:460:161" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateAlice", + "nameLocation": "39911:24:161", + "parameters": { + "id": 75716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75709, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "39969:16:161", + "nodeType": "VariableDeclaration", + "scope": 75821, + "src": "39945:40:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 75708, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75707, + "name": "ClearStateChange", + "nameLocations": [ + "39945:16:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76137, + "src": "39945:16:161" + }, + "referencedDeclaration": 76137, + "src": "39945:16:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$76137_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75712, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "40021:23:161", + "nodeType": "VariableDeclaration", + "scope": 75821, + "src": "39995:49:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75711, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75710, + "name": "OrderIOCalculation", + "nameLocations": [ + "39995:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "39995:18:161" + }, + "referencedDeclaration": 73825, + "src": "39995:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75715, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "40080:21:161", + "nodeType": "VariableDeclaration", + "scope": 75821, + "src": "40054:47:161", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75714, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75713, + "name": "OrderIOCalculation", + "nameLocations": [ + "40054:18:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73825, + "src": "40054:18:161" + }, + "referencedDeclaration": 73825, + "src": "40054:18:161", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "39935:172:161" + }, + "returnParameters": { + "id": 75717, + "nodeType": "ParameterList", + "parameters": [], + "src": "40122:0:161" + }, + "scope": 75854, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 75837, + "nodeType": "FunctionDefinition", + "src": "41963:213:161", + "nodes": [], + "body": { + "id": 75836, + "nodeType": "Block", + "src": "42057:119:161", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 75831, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75823, + "src": "42100:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75832, + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73725, + "src": "42113:26:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + }, + { + "id": 75833, + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73741, + "src": "42141:27:161", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 75829, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57579, + "src": "42074:18:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57579_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 75830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42093:6:161", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57530, + "src": "42074:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56605_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 75834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42074:95:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 75828, + "id": 75835, + "nodeType": "Return", + "src": "42067:102:161" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_calculateOrderDispatch", + "nameLocation": "41972:23:161", + "parameters": { + "id": 75824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75823, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "42004:11:161", + "nodeType": "VariableDeclaration", + "scope": 75837, + "src": "41996:19:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41996:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "41995:21:161" + }, + "returnParameters": { + "id": 75828, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75827, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75837, + "src": "42040:15:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 75826, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75825, + "name": "EncodedDispatch", + "nameLocations": [ + "42040:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56607, + "src": "42040:15:161" + }, + "referencedDeclaration": 56607, + "src": "42040:15:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "42039:17:161" + }, + "scope": 75854, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 75853, + "nodeType": "FunctionDefinition", + "src": "42182:195:161", + "nodes": [], + "body": { + "id": 75852, + "nodeType": "Block", + "src": "42270:107:161", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 75847, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75839, + "src": "42313:11:161", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75848, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73733, + "src": "42326:20:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + } + }, + { + "id": 75849, + "name": "HANDLE_IO_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73749, + "src": "42348:21:161", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 75845, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57579, + "src": "42287:18:161", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57579_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 75846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42306:6:161", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57530, + "src": "42287:25:161", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56605_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 75850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42287:83:161", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 75844, + "id": 75851, + "nodeType": "Return", + "src": "42280:90:161" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_handleIODispatch", + "nameLocation": "42191:17:161", + "parameters": { + "id": 75840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75839, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "42217:11:161", + "nodeType": "VariableDeclaration", + "scope": 75853, + "src": "42209:19:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75838, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42209:7:161", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42208:21:161" + }, + "returnParameters": { + "id": 75844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75843, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75853, + "src": "42253:15:161", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 75842, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75841, + "name": "EncodedDispatch", + "nameLocations": [ + "42253:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56607, + "src": "42253:15:161" + }, + "referencedDeclaration": 56607, + "src": "42253:15:161", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "42252:17:161" + }, + "scope": 75854, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 73831, + "name": "IOrderBookV3", + "nameLocations": [ + "8953:12:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76947, + "src": "8953:12:161" + }, + "id": 73832, + "nodeType": "InheritanceSpecifier", + "src": "8953:12:161" + }, + { + "baseName": { + "id": 73833, + "name": "ReentrancyGuard", + "nameLocations": [ + "8967:15:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43219, + "src": "8967:15:161" + }, + "id": 73834, + "nodeType": "InheritanceSpecifier", + "src": "8967:15:161" + }, + { + "baseName": { + "id": 73835, + "name": "Multicall", + "nameLocations": [ + "8984:9:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44728, + "src": "8984:9:161" + }, + "id": 73836, + "nodeType": "InheritanceSpecifier", + "src": "8984:9:161" + }, + { + "baseName": { + "id": 73837, + "name": "OrderBookV3FlashLender", + "nameLocations": [ + "8995:22:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73389, + "src": "8995:22:161" + }, + "id": 73838, + "nodeType": "InheritanceSpecifier", + "src": "8995:22:161" + }, + { + "baseName": { + "id": 73839, + "name": "DeployerDiscoverableMetaV2", + "nameLocations": [ + "9019:26:161" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55564, + "src": "9019:26:161" + }, + "id": 73840, + "nodeType": "InheritanceSpecifier", + "src": "9019:26:161" + } + ], + "canonicalName": "OrderBook", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 73830, + "nodeType": "StructuredDocumentation", + "src": "8863:68:161", + "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 75854, + 55564, + 71220, + 73389, + 44728, + 43219, + 76947, + 56563, + 76664 + ], + "name": "OrderBook", + "nameLocation": "8940:9:161", + "scope": 75855, + "usedErrors": [ + 56826, + 57109, + 71200, + 71205, + 73045, + 73048, + 73051, + 73056, + 73065, + 73676, + 73683, + 73690, + 73697, + 73704, + 73709, + 76678, + 76719, + 76728, + 76733, + 76738, + 76743, + 76748 + ] + } + ], + "license": "CAL" + }, + "id": 161 +} \ No newline at end of file diff --git a/subgraph/abis/ReserveToken.json b/subgraph/abis/ReserveToken.json new file mode 100644 index 0000000000..a067d178bf --- /dev/null +++ b/subgraph/abis/ReserveToken.json @@ -0,0 +1,390 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ReserveToken", + "sourceName": "contracts/test/testToken/ReserveToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "TOTAL_SUPPLY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account_", + "type": "address" + } + ], + "name": "addFreezable", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "freezables", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061164d806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/subgraph/config/localhost.json b/subgraph/config/localhost.json new file mode 100644 index 0000000000..71707d3974 --- /dev/null +++ b/subgraph/config/localhost.json @@ -0,0 +1,5 @@ +{ + "network": "localhost", + "orderbook": "0x8341FcB21884C0e619c60881231C41f7952E9c25", + "blockNumber": 2020 +} \ No newline at end of file diff --git a/subgraph/config/mainnet.json b/subgraph/config/mainnet.json new file mode 100644 index 0000000000..2f4aea65fb --- /dev/null +++ b/subgraph/config/mainnet.json @@ -0,0 +1,5 @@ +{ + "orderbook": "0xce0a4f3E60178668C89f86d918A0585cA80E0F6d", + "blockNumber": "17140914", + "network": "mainnet" +} \ No newline at end of file diff --git a/subgraph/config/matic.json b/subgraph/config/matic.json new file mode 100644 index 0000000000..0a602d8f82 --- /dev/null +++ b/subgraph/config/matic.json @@ -0,0 +1,5 @@ +{ + "orderbook": "0xb3147EF9e726D295eBa83e4172A9A9de7BE80b1d", + "blockNumber": "45116675", + "network": "matic" +} \ No newline at end of file diff --git a/subgraph/config/mumbai.json b/subgraph/config/mumbai.json new file mode 100644 index 0000000000..bc7a373e71 --- /dev/null +++ b/subgraph/config/mumbai.json @@ -0,0 +1,5 @@ +{ + "orderbook": "0xc4f5793594be6d258a1c6bcf4cd1e1806d250de4", + "blockNumber": "35878210", + "network": "mumbai" +} \ No newline at end of file diff --git a/subgraph/config/mumbai_ob_v3.json b/subgraph/config/mumbai_ob_v3.json new file mode 100644 index 0000000000..026a9cb500 --- /dev/null +++ b/subgraph/config/mumbai_ob_v3.json @@ -0,0 +1,5 @@ +{ + "orderbook": "0x9540ad6adeb8e1c8cf78b8f52a3c04764e83711e", + "blockNumber": "39311648", + "network": "mumbai" +} diff --git a/subgraph/config/nhsbot_polygon.json b/subgraph/config/nhsbot_polygon.json new file mode 100644 index 0000000000..f6a476f266 --- /dev/null +++ b/subgraph/config/nhsbot_polygon.json @@ -0,0 +1,5 @@ +{ + "network": "matic", + "orderbook": "0xdd42ed000da6716044db223a0f9e6f02e6c86af3", + "blockNumber": 42605680 +} diff --git a/subgraph/config/polygon.json b/subgraph/config/polygon.json new file mode 100644 index 0000000000..827ee649f9 --- /dev/null +++ b/subgraph/config/polygon.json @@ -0,0 +1,5 @@ +{ + "network": "matic", + "orderbook": "0xed6ca29bf4af0c247ad5a865cb5ce1ec905429ce", + "blockNumber": 41100284 +} \ No newline at end of file diff --git a/subgraph/docker/docker-compose.yaml b/subgraph/docker/docker-compose.yaml new file mode 100644 index 0000000000..bba9fc234e --- /dev/null +++ b/subgraph/docker/docker-compose.yaml @@ -0,0 +1,49 @@ +version: '3' +services: + graph-node: + image: graphprotocol/graph-node:97e0adc + 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: 'localhost:http://host.docker.internal:8545' + GRAPH_LOG: info + ipfs: + image: ipfs/go-ipfs:v0.10.0 + ports: + - '5001:5001' + volumes: + - ./data/ipfs:/data/ipfs + postgres: + image: postgres + ports: + - '5432:5432' + command: + [ + "postgres", + "-cshared_preload_libraries=pg_stat_statements" + ] + 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 \ No newline at end of file diff --git a/subgraph/package-lock.json b/subgraph/package-lock.json new file mode 100644 index 0000000000..f1cebb2055 --- /dev/null +++ b/subgraph/package-lock.json @@ -0,0 +1,26613 @@ +{ + "name": "@rainprotocol/orderbook-subgraph", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@rainprotocol/orderbook-subgraph", + "version": "0.0.1", + "license": "CAL", + "dependencies": { + "@chainlink/contracts": "^0.5.1", + "@graphprotocol/graph-cli": "^0.35.0", + "@graphprotocol/graph-ts": "^0.28.1", + "@openzeppelin/contracts-upgradeable": "=4.8.2", + "@prb/math": "^3.3.1", + "@rainprotocol/assemblyscript-cbor": "^0.0.6", + "0xsequence": "^0.39.0", + "colors": "^1.4.0", + "commander": "^10.0.0", + "etherscan-api": "^10.3.0", + "hardhat": "^2.13.0", + "mustache": "^3.2.1", + "node-fetch": "^2.6.11", + "polygonscan-api": "^1.0.4" + }, + "devDependencies": { + "@nomicfoundation/hardhat-foundry": "^1.0.0", + "@nomiclabs/hardhat-ethers": "^2.2.2", + "@nomiclabs/hardhat-waffle": "^2.0.5", + "@rainprotocol/rainlang": "^2.2.2", + "@typechain/hardhat": "^6.1.5", + "@types/chai": "^4.3.4", + "@types/mocha": "^10.0.1", + "@types/string-math": "=1.0.0", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", + "apollo-fetch": "^0.7.0", + "assert": "^2.0.0", + "cbor": "=8.1.0", + "chai": "^4.3.7", + "dotenv": "^16.0.3", + "eslint": "^8.37.0", + "eslint-config-prettier": "^8.8.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", + "string-math": "=1.2.2", + "ts-node": "^10.9.1", + "typechain": "^8.1.1", + "typescript": "^5.0.2" + } + }, + "node_modules/@0xsequence/abi": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/abi/-/abi-0.39.6.tgz", + "integrity": "sha512-ROHfAyQvN1N2G6DeVyWR4wxi0dd0HjJZQ+2UkxvYJrdywQZONmrUPD6MfT4Fd+JrQwdIxkcNu2/QfgkyZDerFw==" + }, + "node_modules/@0xsequence/api": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/api/-/api-0.39.6.tgz", + "integrity": "sha512-UWwPRCRl5OBJKUllzMh7gmiPgM7Jtn07WKEolpdgl1bouYs2h/it7FfOVjVkDbQYYwoY8qy+aadgMqKptiZy1Q==", + "dependencies": { + "cross-fetch": "^3.1.5" + } + }, + "node_modules/@0xsequence/auth": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/auth/-/auth-0.39.6.tgz", + "integrity": "sha512-BSank/ZhIgiqf7CxJo697O3HyYWvyWSEvbDyTcpAs/RgfQnLZ3AuH45ohUNuXVChZj/d8Ntl+lGCXHJdjxzx2A==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/api": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/ethauth": "^0.7.0", + "@0xsequence/indexer": "^0.39.6", + "@0xsequence/metadata": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@0xsequence/wallet": "^0.39.6", + "ethers": "^5.5.2" + } + }, + "node_modules/@0xsequence/config": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/config/-/config-0.39.6.tgz", + "integrity": "sha512-AKsTyCezmRwCNSs7QjHAJOGjEUM81V60Ih/99sudoP1Cz8vQLmN4WJ30XD7iJhHhR65Jkxj4X7Y4hbhA10ftoA==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/multicall": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "ethers": "^5.5.2" + } + }, + "node_modules/@0xsequence/ethauth": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@0xsequence/ethauth/-/ethauth-0.7.0.tgz", + "integrity": "sha512-pghfR+OLm82wLMR9Uvvf53f0LniZLhcqw0G4EthFw1ME71/CWUskhR2MIeYKh1t7+OE3TqCbOBJ/p/buv8XynQ==", + "dependencies": { + "js-base64": "^3.7.2" + }, + "peerDependencies": { + "ethers": "^5.5.2" + } + }, + "node_modules/@0xsequence/guard": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/guard/-/guard-0.39.6.tgz", + "integrity": "sha512-PZk4KulqSWStO5OBSHAn9Mxq2Vul86PcV1/Eqy0s906CG6GgtfqDUV4/RE7wbIMBgctqElcHwdrD2mQnIs5qKA==" + }, + "node_modules/@0xsequence/indexer": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/indexer/-/indexer-0.39.6.tgz", + "integrity": "sha512-FmiwCsTrhyc1XJUNdhj0Hje0yZTr6bj7s1rXHIQVtNBoFig0G4xvK9dM8CvquRfALD5H8+U/eccvstt6HG87Fg==", + "dependencies": { + "cross-fetch": "^3.1.5" + } + }, + "node_modules/@0xsequence/metadata": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/metadata/-/metadata-0.39.6.tgz", + "integrity": "sha512-egC7pe6TQCaKTxgWzZ9s/GstQlruA001/sPDLPCJKO+nsjeRhIsq5o+rzmN5v8Ols1vaCakvKQGLGRb+jt53hg==", + "dependencies": { + "cross-fetch": "^3.1.5" + } + }, + "node_modules/@0xsequence/multicall": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/multicall/-/multicall-0.39.6.tgz", + "integrity": "sha512-oHgxAuYoanYXKArrzPF+a8f9CAzDX5xYp+U+bcCd3qOagIn1xeQCEW4zbnGDRD+ZguhlcP2I7wiW1eImmoOi1g==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2" + } + }, + "node_modules/@0xsequence/network": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/network/-/network-0.39.6.tgz", + "integrity": "sha512-esmdTCT98tjjbYoiYjaOmJIG0aSgadg9wR1FB6lzPdAVuq+xOGvxygtTiqhTqXF+YI2Alc4b5EP7tUWC9OA10Q==", + "dependencies": { + "@0xsequence/utils": "^0.39.6", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2" + } + }, + "node_modules/@0xsequence/provider": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/provider/-/provider-0.39.6.tgz", + "integrity": "sha512-i8ZLRwuGvqEulWPnbWpEhXOMwShQ7oaD8DCbOs0+y7i8xuAsm+lCAZXJdmYRPt+DRHiG+lVnCAWoucdBbC1LMw==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/auth": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@0xsequence/wallet": "^0.39.6", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/providers": "^5.5.1", + "@ethersproject/web": "^5.5.1", + "ethers": "^5.5.2", + "eventemitter2": "^6.4.5", + "webextension-polyfill-ts": "^0.26.0" + } + }, + "node_modules/@0xsequence/relayer": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/relayer/-/relayer-0.39.6.tgz", + "integrity": "sha512-sgeNeb5DvpcznmAqN5oeYQCY+iC9W5hrg3ohSavm15d67x7SIKW/ia9drqEj806MlC30zU+vPFzO2UjPHcBdJw==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2", + "fetch-ponyfill": "^7.1.0" + } + }, + "node_modules/@0xsequence/transactions": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/transactions/-/transactions-0.39.6.tgz", + "integrity": "sha512-6GWxnQbNgWvZa13i6q02GdGzrijctfH1wZUsFAcxYMBmuE/tC79rJhUPUQxnKjwIpawOjIQaEGYSYkWaI6Hc6A==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/abi": "^5.5.0", + "ethers": "^5.5.2" + } + }, + "node_modules/@0xsequence/utils": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/utils/-/utils-0.39.6.tgz", + "integrity": "sha512-Zf5NTRSzrOrc48SXsmtRDs1uaJ0gaOjwQYkANoIco54Rq+IA1Dlz9HWRebgyjeCUrXLnGCckljBemAUoZbVgIg==", + "dependencies": { + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "ethers": "^5.5.2", + "js-base64": "^3.7.2" + } + }, + "node_modules/@0xsequence/wallet": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/wallet/-/wallet-0.39.6.tgz", + "integrity": "sha512-PlVxXMQZvocXeEwT3QjhmLFJaITWkyjiQq6euddIhe/Y3M/Xon/hFR1FYEJbkQA23p1FewqVzTkX7Sh0J0xxpw==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/guard": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/relayer": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/abi": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2", + "fetch-ponyfill": "^7.1.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.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==", + "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==", + "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==", + "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==" + }, + "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==", + "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==", + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@chainlink/contracts": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.5.1.tgz", + "integrity": "sha512-3PDBJ38Sd6Ml9h7FNK/tZQti+kTCdXUq1qzE6E59CnlzycsV9ElPvf2hTvs9Mi9C6pEx2Mmw9yhZMfBktYUInQ==", + "dependencies": { + "@eth-optimism/contracts": "^0.5.21", + "@openzeppelin/contracts": "^4.3.3", + "@openzeppelin/contracts-v0.7": "npm:@openzeppelin/contracts@v3.4.2" + } + }, + "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==", + "devOptional": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "deprecated": "Please use @ensdomains/ens-contracts", + "dev": true, + "peer": true, + "dependencies": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + } + }, + "node_modules/@ensdomains/ens/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/@ensdomains/ens/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true, + "peer": true + }, + "node_modules/@ensdomains/ens/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "peer": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@ensdomains/ens/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@ensdomains/ens/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@ensdomains/ens/node_modules/solc": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "dev": true, + "peer": true, + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/@ensdomains/ens/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "peer": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true, + "peer": true + }, + "node_modules/@ensdomains/ens/node_modules/yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", + "dev": true, + "peer": true, + "dependencies": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, + "node_modules/@ensdomains/ens/node_modules/yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", + "dev": true, + "peer": true, + "dependencies": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } + }, + "node_modules/@ensdomains/resolver": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", + "deprecated": "Please use @ensdomains/ens-contracts", + "dev": true, + "peer": true + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", + "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.1", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/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==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", + "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eth-optimism/contracts": { + "version": "0.5.40", + "resolved": "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.5.40.tgz", + "integrity": "sha512-MrzV0nvsymfO/fursTB7m/KunkPsCndltVgfdHaT1Aj5Vi6R/doKIGGkOofHX+8B6VMZpuZosKCMQ5lQuqjt8w==", + "dependencies": { + "@eth-optimism/core-utils": "0.12.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0" + }, + "peerDependencies": { + "ethers": "^5" + } + }, + "node_modules/@eth-optimism/core-utils": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", + "integrity": "sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==", + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/contracts": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/providers": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bufio": "^1.0.7", + "chai": "^4.3.4" + } + }, + "node_modules/@ethereum-waffle/chai": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-4.0.10.tgz", + "integrity": "sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereum-waffle/provider": "4.0.5", + "debug": "^4.3.4", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "ethers": "*" + } + }, + "node_modules/@ethereum-waffle/chai/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@ethereum-waffle/compiler": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", + "integrity": "sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/imports": "^0.3.3", + "@resolver-engine/imports-fs": "^0.3.3", + "@typechain/ethers-v5": "^10.0.0", + "@types/mkdirp": "^0.5.2", + "@types/node-fetch": "^2.6.1", + "mkdirp": "^0.5.1", + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "ethers": "*", + "solc": "*", + "typechain": "^8.0.0" + } + }, + "node_modules/@ethereum-waffle/ens": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-4.0.3.tgz", + "integrity": "sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "@ensdomains/ens": "^0.4.4", + "@ensdomains/resolver": "^0.2.4", + "ethers": "*" + } + }, + "node_modules/@ethereum-waffle/mock-contract": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz", + "integrity": "sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "ethers": "*" + } + }, + "node_modules/@ethereum-waffle/provider": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-4.0.5.tgz", + "integrity": "sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereum-waffle/ens": "4.0.3", + "@ganache/ethereum-options": "0.1.4", + "debug": "^4.3.4", + "ganache": "7.4.3" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "ethers": "*" + } + }, + "node_modules/@ethereum-waffle/provider/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@ethereumjs/block": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", + "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/common": "^2.6.5", + "@ethereumjs/tx": "^3.5.2", + "ethereumjs-util": "^7.1.5", + "merkle-patricia-tree": "^4.2.4" + } + }, + "node_modules/@ethereumjs/block/node_modules/@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "dev": true, + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" + } + }, + "node_modules/@ethereumjs/block/node_modules/@ethereumjs/tx": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", + "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/common": "^2.6.4", + "ethereumjs-util": "^7.1.5" + } + }, + "node_modules/@ethereumjs/block/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==", + "dev": true, + "peer": true, + "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/@ethereumjs/blockchain": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", + "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/common": "^2.6.4", + "@ethereumjs/ethash": "^1.1.0", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.5", + "level-mem": "^5.0.1", + "lru-cache": "^5.1.1", + "semaphore-async-await": "^1.5.1" + } + }, + "node_modules/@ethereumjs/blockchain/node_modules/@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "dev": true, + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" + } + }, + "node_modules/@ethereumjs/blockchain/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@ethereumjs/blockchain/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==", + "dev": true, + "peer": true, + "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/@ethereumjs/common": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.0.tgz", + "integrity": "sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==", + "dev": true, + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.3" + } + }, + "node_modules/@ethereumjs/ethash": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/block": "^3.5.0", + "@types/levelup": "^4.3.0", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.1.1", + "miller-rabin": "^4.0.0" + } + }, + "node_modules/@ethereumjs/tx": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.4.0.tgz", + "integrity": "sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/common": "^2.6.0", + "ethereumjs-util": "^7.1.3" + } + }, + "node_modules/@ethereumjs/vm": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.6.0.tgz", + "integrity": "sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/block": "^3.6.0", + "@ethereumjs/blockchain": "^5.5.0", + "@ethereumjs/common": "^2.6.0", + "@ethereumjs/tx": "^3.4.0", + "async-eventemitter": "^0.2.4", + "core-js-pure": "^3.0.1", + "debug": "^2.2.0", + "ethereumjs-util": "^7.1.3", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "merkle-patricia-tree": "^4.2.2", + "rustbn.js": "~0.2.0" + } + }, + "node_modules/@ethereumjs/vm/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@ethereumjs/vm/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "peer": true + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^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/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" + } + ], + "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" + } + ], + "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" + } + ], + "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" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^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" + } + ], + "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" + } + ], + "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" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^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" + } + ], + "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/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "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" + } + ], + "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" + } + ] + }, + "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" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^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" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@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" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "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" + } + ], + "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/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "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" + } + ], + "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" + } + ], + "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/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^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" + } + ], + "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/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ganache/ethereum-address": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", + "integrity": "sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw==", + "dev": true, + "peer": true, + "dependencies": { + "@ganache/utils": "0.1.4" + } + }, + "node_modules/@ganache/ethereum-options": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz", + "integrity": "sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw==", + "dev": true, + "peer": true, + "dependencies": { + "@ganache/ethereum-address": "0.1.4", + "@ganache/ethereum-utils": "0.1.4", + "@ganache/options": "0.1.4", + "@ganache/utils": "0.1.4", + "bip39": "3.0.4", + "seedrandom": "3.0.5" + } + }, + "node_modules/@ganache/ethereum-utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz", + "integrity": "sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereumjs/common": "2.6.0", + "@ethereumjs/tx": "3.4.0", + "@ethereumjs/vm": "5.6.0", + "@ganache/ethereum-address": "0.1.4", + "@ganache/rlp": "0.1.4", + "@ganache/utils": "0.1.4", + "emittery": "0.10.0", + "ethereumjs-abi": "0.6.8", + "ethereumjs-util": "7.1.3" + } + }, + "node_modules/@ganache/options": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/options/-/options-0.1.4.tgz", + "integrity": "sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw==", + "dev": true, + "peer": true, + "dependencies": { + "@ganache/utils": "0.1.4", + "bip39": "3.0.4", + "seedrandom": "3.0.5" + } + }, + "node_modules/@ganache/rlp": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/rlp/-/rlp-0.1.4.tgz", + "integrity": "sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ==", + "dev": true, + "peer": true, + "dependencies": { + "@ganache/utils": "0.1.4", + "rlp": "2.2.6" + } + }, + "node_modules/@ganache/utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/utils/-/utils-0.1.4.tgz", + "integrity": "sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w==", + "dev": true, + "peer": true, + "dependencies": { + "emittery": "0.10.0", + "keccak": "3.0.1", + "seedrandom": "3.0.5" + }, + "optionalDependencies": { + "@trufflesuite/bigint-buffer": "1.1.9" + } + }, + "node_modules/@graphprotocol/graph-cli": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.35.0.tgz", + "integrity": "sha512-50tjeLZg3425fwueH8ORTZbPRSn4uICL0NK9XsJVriDPKCNnhyAIgJgOWaYyPAFgxR8LuyXYkoxIxZ5nduKbiw==", + "dependencies": { + "assemblyscript": "0.19.10", + "binary-install-raw": "0.0.13", + "chalk": "3.0.0", + "chokidar": "3.5.1", + "debug": "4.3.1", + "docker-compose": "0.23.4", + "dockerode": "2.5.8", + "fs-extra": "9.0.0", + "glob": "7.1.6", + "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "graphql": "15.5.0", + "immutable": "3.8.2", + "ipfs-http-client": "34.0.0", + "jayson": "3.6.6", + "js-yaml": "3.13.1", + "node-fetch": "2.6.0", + "pkginfo": "0.4.1", + "prettier": "1.19.1", + "request": "2.88.2", + "semver": "7.3.5", + "sync-request": "6.1.0", + "tmp-promise": "3.0.2", + "web3-eth-abi": "1.7.0", + "which": "2.0.2", + "yaml": "1.9.2" + }, + "bin": { + "graph": "bin/graph" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@graphprotocol/graph-ts": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.28.1.tgz", + "integrity": "sha512-1wMLQ0cu84/6Ml3zcz9ya1zFzrDAzCj0dIGZ7Rz9upnRSXg5jjqU4DefO/OYrl2K2/OPso9hSAr6I4aue2pL1Q==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "dev": true, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "devOptional": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "devOptional": true + }, + "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==", + "devOptional": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@metamask/eth-sig-util/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==" + }, + "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/@morgan-stanley/ts-mocking-bird": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz", + "integrity": "sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.16", + "uuid": "^7.0.3" + }, + "peerDependencies": { + "jasmine": "2.x || 3.x || 4.x", + "jest": "26.x || 27.x || 28.x", + "typescript": ">=4.2" + }, + "peerDependenciesMeta": { + "jasmine": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/@morgan-stanley/ts-mocking-bird/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "funding": [ + { + "type": "individual", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nohns/algebra.js": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@nohns/algebra.js/-/algebra.js-0.2.9.tgz", + "integrity": "sha512-L9+AXigZJHrRgggYTPXZE6p6nnUoQHvnOJwKcrEBZlv3UV3PShnJFV9zyWPkJnuaYdHuZROjY36MTSDzyVm8hw==", + "dev": true + }, + "node_modules/@nomicfoundation/ethereumjs-block": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz", + "integrity": "sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-blockchain": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz", + "integrity": "sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==", + "dependencies": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-ethash": "2.0.5", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "level": "^8.0.0", + "lru-cache": "^5.1.1", + "memory-level": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-blockchain/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-common": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", + "integrity": "sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==", + "dependencies": { + "@nomicfoundation/ethereumjs-util": "8.0.6", + "crc-32": "^1.2.0" + } + }, + "node_modules/@nomicfoundation/ethereumjs-ethash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz", + "integrity": "sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==", + "dependencies": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "bigint-crypto-utils": "^3.0.23", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-evm": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz", + "integrity": "sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-evm/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-rlp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", + "integrity": "sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==", + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-statemanager": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz", + "integrity": "sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1" + } + }, + "node_modules/@nomicfoundation/ethereumjs-statemanager/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-trie": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", + "integrity": "sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==", + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-trie/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz", + "integrity": "sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz", + "integrity": "sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==", + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-vm": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz", + "integrity": "sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==", + "dependencies": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-blockchain": "6.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-evm": "1.3.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-statemanager": "1.0.5", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@nomicfoundation/ethereumjs-vm/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/hardhat-foundry": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-foundry/-/hardhat-foundry-1.0.0.tgz", + "integrity": "sha512-/2cmtIZPnsQj/SRIu9idbBan5j19RD35MECAGmZCcuXX4AO6Wn0nOnpUwpcvGomKW403h4+rXh8AHMWC4Vvw0Q==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "peerDependencies": { + "hardhat": "^2.12.6" + } + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/hardhat-foundry/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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", + "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", + "engines": { + "node": ">= 12" + }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", + "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", + "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", + "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", + "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", + "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", + "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", + "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", + "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", + "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", + "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomiclabs/hardhat-ethers": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.2.tgz", + "integrity": "sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==", + "dev": true, + "peerDependencies": { + "ethers": "^5.0.0", + "hardhat": "^2.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-waffle": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.5.tgz", + "integrity": "sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==", + "dev": true, + "peerDependencies": { + "@nomiclabs/hardhat-ethers": "^2.0.0", + "ethereum-waffle": "*", + "ethers": "^5.0.0", + "hardhat": "^2.0.0" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", + "integrity": "sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==" + }, + "node_modules/@openzeppelin/contracts-upgradeable": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.2.tgz", + "integrity": "sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==" + }, + "node_modules/@openzeppelin/contracts-v0.7": { + "name": "@openzeppelin/contracts", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" + }, + "node_modules/@prb/math": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@prb/math/-/math-3.3.1.tgz", + "integrity": "sha512-k1nnpZwCvvztainqJfvkYpBQuZ3pHKnS6vovUAp+i1hSzlcSWluM+nRxxZbb6wsXqyCJAxrw8Vd7bAG/VeMIUA==" + }, + "node_modules/@rainprotocol/assemblyscript-cbor": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", + "integrity": "sha512-RNQfi/BH3fTJCGjU3b2AGHOduziPr+9QTRXz7kt0QBcX2LxYCByXm+d2Hc87Ozh2XKjccemy3iSLHe7TEkq/EA==" + }, + "node_modules/@rainprotocol/meta": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rainprotocol/meta/-/meta-1.1.0.tgz", + "integrity": "sha512-cMOPThYdSoRkWCR9xM7Vnge6tFv7zdP20sK8EuU2MG3mdxBRE64bO4NRRJoqAXOtFN5xY3SzaSCRCWhFBdXvJg==", + "dev": true, + "dependencies": { + "ajv": "^8.12.0", + "buffer": "^6.0.3", + "cbor-web": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", + "ethers": "^5.7.2", + "graphql": "^16.6.0", + "graphql-request": "^5.2.0", + "pako": "^2.1.0", + "prettier": "^2.8.7", + "string-math": "^1.2.2" + } + }, + "node_modules/@rainprotocol/meta/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@rainprotocol/meta/node_modules/graphql": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", + "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/@rainprotocol/meta/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@rainprotocol/meta/node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@rainprotocol/rainlang": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@rainprotocol/rainlang/-/rainlang-2.3.0.tgz", + "integrity": "sha512-/3pZxl9TazkW5iG8xeFlCQBoKErM0P6vQtN+ke8S1/D2ZikvyKnrI3tL+sUWHOSl1IVMWtTbBAIGUUNEWg9Z9Q==", + "dev": true, + "dependencies": { + "@nohns/algebra.js": "^0.2.9", + "@rainprotocol/meta": "^1.1.0", + "ethers": "^5.7.2", + "string-math": "^1.2.2", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.3" + } + }, + "node_modules/@resolver-engine/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", + "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.1.0", + "is-url": "^1.2.4", + "request": "^2.85.0" + } + }, + "node_modules/@resolver-engine/core/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@resolver-engine/fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", + "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0" + } + }, + "node_modules/@resolver-engine/fs/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@resolver-engine/imports": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", + "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0", + "hosted-git-info": "^2.6.0", + "path-browserify": "^1.0.0", + "url": "^0.11.0" + } + }, + "node_modules/@resolver-engine/imports-fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", + "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/fs": "^0.3.3", + "@resolver-engine/imports": "^0.3.3", + "debug": "^3.1.0" + } + }, + "node_modules/@resolver-engine/imports-fs/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@resolver-engine/imports/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@trufflesuite/bigint-buffer": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz", + "integrity": "sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "devOptional": true + }, + "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==", + "devOptional": true + }, + "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==", + "devOptional": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "devOptional": true + }, + "node_modules/@typechain/ethers-v5": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.0.tgz", + "integrity": "sha512-ikaq0N/w9fABM+G01OFmU3U3dNnyRwEahkdvi9mqy1a3XwKiPZaF/lu54OcNaEWnpvEYyhhS0N7buCtLQqC92w==", + "dev": true, + "peer": true, + "dependencies": { + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" + }, + "peerDependencies": { + "@ethersproject/abi": "^5.0.0", + "@ethersproject/bytes": "^5.0.0", + "@ethersproject/providers": "^5.0.0", + "ethers": "^5.1.3", + "typechain": "^8.1.1", + "typescript": ">=4.3.0" + } + }, + "node_modules/@typechain/hardhat": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.5.tgz", + "integrity": "sha512-lg7LW4qDZpxFMknp3Xool61Fg6Lays8F8TXdFGBG+MxyYcYU5795P1U2XdStuzGq9S2Dzdgh+1jGww9wvZ6r4Q==", + "dev": true, + "dependencies": { + "fs-extra": "^9.1.0" + }, + "peerDependencies": { + "@ethersproject/abi": "^5.4.7", + "@ethersproject/providers": "^5.4.7", + "@typechain/ethers-v5": "^10.2.0", + "ethers": "^5.4.7", + "hardhat": "^2.9.9", + "typechain": "^8.1.1" + } + }, + "node_modules/@typechain/hardhat/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==", + "dev": true, + "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/@typechain/hardhat/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@types/abstract-leveldown": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.1.tgz", + "integrity": "sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/async-eventemitter": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", + "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + }, + "node_modules/@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "dev": true + }, + "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==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.33", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", + "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "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==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/level-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/levelup": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", + "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/abstract-leveldown": "*", + "@types/level-errors": "*", + "@types/node": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.14.192", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", + "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "node_modules/@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mocha": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.15.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz", + "integrity": "sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/string-math": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/string-math/-/string-math-1.0.0.tgz", + "integrity": "sha512-E3f76+cpdbIiOoi5uuxtXSSKGNZl4XFnJRBrpUUhqwZezFxInTxLpUTTgGbSnAJNb+3RY8vGhu8i2vLC78C+pg==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz", + "integrity": "sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/type-utils": "5.57.0", + "@typescript-eslint/utils": "5.57.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", + "integrity": "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/typescript-estree": "5.57.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", + "integrity": "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/visitor-keys": "5.57.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz", + "integrity": "sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.57.0", + "@typescript-eslint/utils": "5.57.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", + "integrity": "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz", + "integrity": "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/visitor-keys": "5.57.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", + "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/typescript-estree": "5.57.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", + "integrity": "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.57.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/0xsequence": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/0xsequence/-/0xsequence-0.39.6.tgz", + "integrity": "sha512-1o1LEA+VOib244cVh3p/n6Ma0lZtvaJJrJSxpxW/acnlBA//sJJJnRBNXRoukePgTBqMBVu+abb+4v7xJ4vN0Q==", + "dependencies": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/api": "^0.39.6", + "@0xsequence/auth": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/guard": "^0.39.6", + "@0xsequence/indexer": "^0.39.6", + "@0xsequence/metadata": "^0.39.6", + "@0xsequence/multicall": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/provider": "^0.39.6", + "@0xsequence/relayer": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@0xsequence/wallet": "^0.39.6", + "ethers": "^5.5.2" + } + }, + "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==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "dependencies": { + "buffer": "^6.0.3", + "catering": "^2.1.0", + "is-buffer": "^2.0.5", + "level-supports": "^4.0.0", + "level-transcoder": "^1.0.1", + "module-error": "^1.0.1", + "queue-microtask": "^1.2.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/abstract-leveldown": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "dev": true, + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/abstract-leveldown/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/abstract-leveldown/node_modules/level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "dependencies": { + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "devOptional": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "devOptional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "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==", + "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==", + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apisauce": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", + "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "dependencies": { + "axios": "^0.21.2", + "ramda": "^0.25.0" + } + }, + "node_modules/apollo-fetch": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/apollo-fetch/-/apollo-fetch-0.7.0.tgz", + "integrity": "sha512-0oHsDW3Zxx+Of1wuqcOXruNj4Kv55WN69tkIjwkCQDEIrgCpgA2scjChFsgflSVMy/1mkTKCY1Mc0TYJhNRzmw==", + "dev": true, + "dependencies": { + "cross-fetch": "^1.0.0" + } + }, + "node_modules/apollo-fetch/node_modules/cross-fetch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-1.1.1.tgz", + "integrity": "sha512-+VJE04+UfxxmBfcnmAu/lKor53RUCx/1ilOti4p+JgrnLQ4AZZIRoe2OEd76VaHyWQmQxqKnV+TaqjHC4r0HWw==", + "dev": true, + "dependencies": { + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" + } + }, + "node_modules/apollo-fetch/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/apollo-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "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==" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "devOptional": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asmcrypto.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", + "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/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==" + }, + "node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "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/assert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", + "dev": true, + "dependencies": { + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "engines": { + "node": "*" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "dependencies": { + "async": "^2.4.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "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==" + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "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" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "node_modules/bigint-crypto-utils": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", + "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "dependencies": { + "bigint-mod-arith": "^3.1.0" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/bigint-mod-arith": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", + "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==", + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bip39": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", + "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "11.11.6", + "create-hash": "^1.1.0", + "pbkdf2": "^3.0.9", + "randombytes": "^2.0.1" + } + }, + "node_modules/bip39/node_modules/@types/node": { + "version": "11.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", + "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", + "dev": true, + "peer": true + }, + "node_modules/bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", + "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", + "dependencies": { + "readable-stream": "^3.0.1" + } + }, + "node_modules/bl/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "peer": true + }, + "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==" + }, + "node_modules/borc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", + "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", + "dependencies": { + "bignumber.js": "^9.0.0", + "buffer": "^5.5.0", + "commander": "^2.15.0", + "ieee754": "^1.1.13", + "iso-url": "~0.4.7", + "json-text-sequence": "~0.1.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/borc/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/borc/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==" + }, + "node_modules/borc/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.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==" + }, + "node_modules/browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "dependencies": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "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==", + "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/browserify-aes/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==" + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "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==", + "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" + } + ], + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "node_modules/buffer-xor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", + "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/bufio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", + "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "peer": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "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/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "dev": true, + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=12.19" + } + }, + "node_modules/cbor-web": { + "version": "8.1.0", + "resolved": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", + "integrity": "sha512-ph4ncYfGr8tLISa3rVl6QvFT1Nv/ogEWL7PZTIfTlqXcpxweQRzjnKuBSggBeWK01IXDv+9BHw/wTeVPpp3T6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.19" + } + }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/cids/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/cids/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "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==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, + "node_modules/classic-level": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", + "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", + "hasInstallScript": true, + "dependencies": { + "abstract-level": "^1.0.2", + "catering": "^2.1.0", + "module-error": "^1.0.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "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==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dev": true, + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "dev": true, + "dependencies": { + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/command-line-usage/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==", + "dev": true + }, + "node_modules/command-line-usage/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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/commander": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", + "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "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" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/core-js-pure": { + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.29.1.tgz", + "integrity": "sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "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==" + }, + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "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==", + "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==", + "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==", + "devOptional": true + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": 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==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "dev": true, + "peer": true, + "dependencies": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deferred-leveldown/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/deferred-leveldown/node_modules/level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "dependencies": { + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "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==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delimit-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", + "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "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==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/docker-compose": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", + "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", + "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==", + "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==", + "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==" + }, + "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==", + "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==" + }, + "node_modules/dockerode": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", + "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", + "dependencies": { + "concat-stream": "~1.6.2", + "docker-modem": "^1.0.8", + "tar-fs": "~1.16.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", + "dependencies": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==" + }, + "node_modules/email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + }, + "node_modules/emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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==" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "devOptional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "dev": true, + "peer": true, + "dependencies": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/encoding/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==", + "devOptional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", + "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "dependencies": { + "ansi-colors": "^3.2.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "peer": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", + "dev": true + }, + "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==" + }, + "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==", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.37.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", + "dev": true, + "peer": true, + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-n/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==", + "dev": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-n/node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-n/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-n/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + }, + "node_modules/eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "dependencies": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-plugin-node/node_modules/eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-node/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", + "dev": true, + "peer": true, + "dependencies": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "node_modules/eth-ens-namehash/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true, + "peer": true + }, + "node_modules/ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "dependencies": { + "js-sha3": "^0.8.0" + } + }, + "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==", + "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/ethereum-waffle": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz", + "integrity": "sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereum-waffle/chai": "4.0.10", + "@ethereum-waffle/compiler": "4.0.3", + "@ethereum-waffle/mock-contract": "4.0.4", + "@ethereum-waffle/provider": "4.0.5", + "solc": "0.8.15", + "typechain": "^8.0.0" + }, + "bin": { + "waffle": "bin/waffle" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "ethers": "*" + } + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ethereumjs-abi/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==" + }, + "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", + "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", + "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": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/etherscan-api": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/etherscan-api/-/etherscan-api-10.3.0.tgz", + "integrity": "sha512-XH+E7J2c6Wq750stvFuIIMdiLv5v65nTRftQojXuQXNfEsQaZOOgeY11WHdrGh6yh90ekDJQldgf033tIS1rCw==", + "dependencies": { + "axios": "1.2.2", + "gh-pages": "4.0.0", + "querystring": "0.2.1" + } + }, + "node_modules/etherscan-api/node_modules/axios": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/etherscan-api/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/etherscan-api/node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "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==", + "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==" + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", + "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" + }, + "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==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/explain-error": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", + "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extract-files": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", + "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", + "dev": true, + "engines": { + "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" + }, + "funding": { + "url": "https://github.com/sponsors/jaydenseric" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "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-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "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-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fetch-ponyfill": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", + "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", + "dependencies": { + "node-fetch": "~2.6.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg==", + "dependencies": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify-url/node_modules/filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify-url/node_modules/filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", + "dependencies": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dev": true, + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatmap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", + "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "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==" + }, + "node_modules/fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-jetpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", + "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "dependencies": { + "minimatch": "^3.0.2", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "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==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "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==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.4.3.tgz", + "integrity": "sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA==", + "bundleDependencies": [ + "@trufflesuite/bigint-buffer", + "emittery", + "keccak", + "leveldown", + "secp256k1", + "@types/bn.js", + "@types/lru-cache", + "@types/seedrandom" + ], + "dev": true, + "hasShrinkwrap": true, + "peer": true, + "dependencies": { + "@trufflesuite/bigint-buffer": "1.1.10", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "5.1.1", + "@types/seedrandom": "3.0.1", + "emittery": "0.10.0", + "keccak": "3.0.2", + "leveldown": "6.1.0", + "secp256k1": "4.0.3" + }, + "bin": { + "ganache": "dist/node/cli.js", + "ganache-cli": "dist/node/cli.js" + }, + "optionalDependencies": { + "bufferutil": "4.0.5", + "utf-8-validate": "5.0.7" + } + }, + "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", + "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "node-gyp-build": "4.4.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer/node_modules/node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/ganache/node_modules/@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ganache/node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/@types/node": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/@types/seedrandom": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", + "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/ganache/node_modules/bufferutil": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", + "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + } + }, + "node_modules/ganache/node_modules/catering": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", + "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "queue-tick": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "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/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/ganache/node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/ganache/node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/ganache/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache/node_modules/keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "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/ganache/node_modules/leveldown": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", + "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "^7.2.0", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/ganache/node_modules/leveldown/node_modules/abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer": "^6.0.3", + "catering": "^2.0.0", + "is-buffer": "^2.0.5", + "level-concat-iterator": "^3.0.0", + "level-supports": "^2.0.1", + "queue-microtask": "^1.2.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ganache/node_modules/leveldown/node_modules/level-concat-iterator": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", + "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "catering": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ganache/node_modules/leveldown/node_modules/level-supports": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", + "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache/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": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/ganache/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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/queue-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", + "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ganache/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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache/node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ganache/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==", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/ganache/node_modules/utf-8-validate": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", + "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + } + }, + "node_modules/ganache/node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/gh-pages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", + "integrity": "sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ==", + "dependencies": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/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==" + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/gh-pages/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "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": "4.3.1", + "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "license": "MIT", + "dependencies": { + "apisauce": "^1.0.1", + "app-module-path": "^2.2.0", + "cli-table3": "~0.5.0", + "colors": "1.3.3", + "cosmiconfig": "6.0.0", + "cross-spawn": "^7.0.0", + "ejs": "^2.6.1", + "enquirer": "2.3.4", + "execa": "^3.0.0", + "fs-jetpack": "^2.2.2", + "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.0", + "pluralize": "^8.0.0", + "ramdasauce": "^2.1.0", + "semver": "^7.0.0", + "which": "^2.0.0", + "yargs-parser": "^16.1.0" + }, + "bin": { + "gluegun": "bin/gluegun" + } + }, + "node_modules/gluegun/node_modules/colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "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==" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-request": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", + "integrity": "sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ==", + "dev": true, + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "cross-fetch": "^3.1.5", + "extract-files": "^9.0.0", + "form-data": "^3.0.0" + }, + "peerDependencies": { + "graphql": "14 - 16" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/hardhat": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.13.0.tgz", + "integrity": "sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==", + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@nomicfoundation/ethereumjs-block": "^4.0.0", + "@nomicfoundation/ethereumjs-blockchain": "^6.0.0", + "@nomicfoundation/ethereumjs-common": "^3.0.0", + "@nomicfoundation/ethereumjs-evm": "^1.0.0", + "@nomicfoundation/ethereumjs-rlp": "^4.0.0", + "@nomicfoundation/ethereumjs-statemanager": "^1.0.0", + "@nomicfoundation/ethereumjs-trie": "^5.0.0", + "@nomicfoundation/ethereumjs-tx": "^4.0.0", + "@nomicfoundation/ethereumjs-util": "^8.0.0", + "@nomicfoundation/ethereumjs-vm": "^6.0.0", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "bin": { + "hardhat": "internal/cli/bootstrap.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "ts-node": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/hardhat/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/hardhat/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==" + }, + "node_modules/hardhat/node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "node_modules/hardhat/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hardhat/node_modules/ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "dependencies": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "node_modules/hardhat/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/hardhat/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/hardhat/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "node_modules/hardhat/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/hardhat/node_modules/keccak": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", + "hasInstallScript": true, + "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/hardhat/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hardhat/node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hardhat/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/hardhat/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/hardhat/node_modules/solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/hardhat/node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/hardhat/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "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==", + "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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hi-base32": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", + "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" + }, + "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==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "peer": true + }, + "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==", + "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-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "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==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ==", + "dependencies": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "2.1.0" + }, + "engines": { + "node": ">=4.0.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" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true, + "peer": true + }, + "node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "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==", + "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==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "dependencies": { + "fp-ts": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ipfs-block": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", + "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "dependencies": { + "cids": "~0.7.0", + "class-is": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipfs-http-client": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", + "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "dependencies": { + "abort-controller": "^3.0.0", + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.4.2", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^2.0.0", + "explain-error": "^1.0.4", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "iterable-ndjson": "^1.1.0", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "ky": "^0.11.2", + "ky-universal": "^0.2.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.3", + "peer-info": "~0.15.1", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + }, + "engines": { + "node": ">=8.3.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipfs-http-client/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ipfs-http-client/node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ipfs-http-client/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "dependencies": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + }, + "node_modules/ipfs-utils/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ipfs-utils/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ipld-dag-cbor": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", + "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", + "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", + "dependencies": { + "borc": "^2.1.2", + "buffer": "^5.5.0", + "cids": "~0.8.0", + "is-circular": "^1.0.2", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipld-dag-cbor/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ipld-dag-cbor/node_modules/cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipld-dag-cbor/node_modules/multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/ipld-dag-cbor/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/ipld-dag-cbor/node_modules/multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "dependencies": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", + "dependencies": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipld-dag-pb/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ipld-dag-pb/node_modules/err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" + }, + "node_modules/ipld-dag-pb/node_modules/multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipld-raw": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", + "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "cids": "~0.7.0", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0" + } + }, + "node_modules/ipld-raw/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ipld-raw/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-circular": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", + "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", + "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", + "dependencies": { + "ip-regex": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-ipfs": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", + "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "dependencies": { + "bs58": "^4.0.1", + "cids": "~0.7.0", + "mafmt": "^7.0.0", + "multiaddr": "^7.2.1", + "multibase": "~0.6.0", + "multihashes": "~0.4.13" + } + }, + "node_modules/is-ipfs/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/is-ipfs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ipfs/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==", + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ipfs/node_modules/multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", + "dependencies": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "dependencies": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/is-ipfs/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" + }, + "node_modules/is-pull-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", + "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true, + "peer": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true, + "peer": true + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/iso-random-stream": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", + "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "dependencies": { + "buffer": "^6.0.3", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iso-random-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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iso-stream-http": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", + "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/iso-stream-http/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iso-url": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", + "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", + "engines": { + "node": ">=10" + } + }, + "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==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/iterable-ndjson": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", + "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "dependencies": { + "string_decoder": "^1.2.0" + } + }, + "node_modules/jayson": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", + "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "dependencies": { + "@types/connect": "^3.4.33", + "@types/express-serve-static-core": "^4.17.9", + "@types/lodash": "^4.14.159", + "@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", + "lodash": "^4.17.20", + "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==" + }, + "node_modules/jayson/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==" + }, + "node_modules/jayson/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==", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/js-base64": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz", + "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "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==" + }, + "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==" + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dev": true, + "peer": true, + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "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==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "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==" + }, + "node_modules/json-text-sequence": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", + "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", + "dependencies": { + "delimit-stream": "0.1.0" + } + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "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" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/just-kebab-case": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", + "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" + }, + "node_modules/just-map-keys": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", + "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" + }, + "node_modules/keccak": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", + "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/keypair": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", + "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/ky": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", + "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ky-universal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", + "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", + "dependencies": { + "abort-controller": "^3.0.0", + "node-fetch": "^2.3.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "ky": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "peer": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "dependencies": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/level" + } + }, + "node_modules/level-codec": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", + "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "dev": true, + "peer": true, + "dependencies": { + "buffer": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-codec/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "dev": true, + "peer": true, + "dependencies": { + "errno": "~0.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "dev": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-iterator-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==", + "dev": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/level-mem": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", + "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "dev": true, + "peer": true, + "dependencies": { + "level-packager": "^5.0.3", + "memdown": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "dev": true, + "peer": true, + "dependencies": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "dependencies": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/level-ws": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", + "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "dev": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.0", + "xtend": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-ws/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==", + "dev": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/levelup": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "dev": true, + "peer": true, + "dependencies": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/levelup/node_modules/level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "dependencies": { + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/libp2p-crypto": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", + "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", + "dependencies": { + "asmcrypto.js": "^2.3.2", + "asn1.js": "^5.0.1", + "async": "^2.6.1", + "bn.js": "^4.11.8", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.3.0", + "multihashing-async": "~0.5.1", + "node-forge": "^0.10.0", + "pem-jwk": "^2.0.0", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "ursa-optional": "~0.10.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-crypto-secp256k1": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", + "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", + "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", + "dependencies": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "multihashing-async": "~0.6.0", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.2" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/libp2p-crypto-secp256k1/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==" + }, + "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/libp2p-crypto-secp256k1/node_modules/secp256k1": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.5.2", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/libp2p-crypto/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==" + }, + "node_modules/libp2p-crypto/node_modules/multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.0.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==" + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "peer": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", + "dev": true, + "peer": true + }, + "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==" + }, + "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==" + }, + "node_modules/lodash.lowercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", + "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" + }, + "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==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "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==" + }, + "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==" + }, + "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==" + }, + "node_modules/lodash.repeat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", + "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/looper": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", + "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", + "dev": true, + "peer": true + }, + "node_modules/mafmt": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", + "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", + "dependencies": { + "multiaddr": "^7.3.0" + } + }, + "node_modules/mafmt/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/mafmt/node_modules/cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/mafmt/node_modules/cids/node_modules/multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/mafmt/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mafmt/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==", + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mafmt/node_modules/multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", + "dependencies": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/mafmt/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/mafmt/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/mafmt/node_modules/multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "dependencies": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "devOptional": true + }, + "node_modules/mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "engines": { + "node": ">=8.9.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==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/memdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", + "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "dev": true, + "peer": true, + "dependencies": { + "abstract-leveldown": "~6.2.1", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memdown/node_modules/abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memdown/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/memdown/node_modules/immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", + "dev": true, + "peer": true + }, + "node_modules/memdown/node_modules/level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "dependencies": { + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "dependencies": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "engines": { + "node": ">= 0.10.0" + } + }, + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/merkle-patricia-tree": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", + "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/levelup": "^4.3.0", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "level-ws": "^2.0.0", + "readable-stream": "^3.6.0", + "semaphore-async-await": "^1.5.1" + } + }, + "node_modules/merkle-patricia-tree/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==", + "dev": true, + "peer": true, + "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/merkle-patricia-tree/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==", + "dev": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "peer": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/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==", + "dev": true, + "peer": true + }, + "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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", + "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "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==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "dependencies": { + "obliterator": "^2.0.0" + } + }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/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==" + }, + "node_modules/mocha/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/" + } + ], + "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/mocha/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/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==" + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/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==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/minimatch/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/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==" + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/mocha/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", + "engines": { + "node": ">=10" + } + }, + "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==" + }, + "node_modules/multiaddr": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", + "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", + "dependencies": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "hi-base32": "~0.5.0", + "ip": "^1.1.5", + "is-ip": "^2.0.0", + "varint": "^5.0.0" + } + }, + "node_modules/multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/multibase/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "varint": "^5.0.0" + } + }, + "node_modules/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/multihashes/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/multihashes/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/multihashing-async": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", + "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "blakejs": "^1.1.0", + "buffer": "^5.4.3", + "err-code": "^2.0.0", + "js-sha3": "^0.8.0", + "multihashes": "^1.0.1", + "murmurhash3js-revisited": "^3.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multihashing-async/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/multihashing-async/node_modules/multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multihashing-async/node_modules/multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "dependencies": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/murmurhash3js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", + "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/mustache": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", + "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==", + "bin": { + "mustache": "bin/mustache" + }, + "engines": { + "npm": ">=1.4.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/ndjson": { + "version": "1.5.0", + "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "license": "BSD-3-Clause", + "dependencies": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + }, + "bin": { + "ndjson": "cli.js" + } + }, + "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==" + }, + "node_modules/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "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-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/nodeify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", + "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", + "dependencies": { + "is-promise": "~1.0.0", + "promise": "~1.3.0" + } + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "dev": true, + "engines": { + "node": ">=12.19" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "peer": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + }, + "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==", + "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==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", + "dependencies": { + "wordwrap": "~0.0.2" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dependencies": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "color-convert": "^1.9.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==", + "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==" + }, + "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==", + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/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==", + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/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==", + "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/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "peer": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "dev": true + }, + "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==", + "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-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "peer": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "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" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/peer-id": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", + "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", + "dependencies": { + "async": "^2.6.3", + "class-is": "^1.1.0", + "libp2p-crypto": "~0.16.1", + "multihashes": "~0.4.15" + }, + "bin": { + "peer-id": "src/bin.js" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-info": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", + "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", + "deprecated": "No longer supported for js-libp2p0.28.0 or later", + "dependencies": { + "mafmt": "^6.0.2", + "multiaddr": "^6.0.3", + "peer-id": "~0.12.2", + "unique-by": "^1.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-info/node_modules/mafmt": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", + "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", + "dependencies": { + "multiaddr": "^6.1.0" + } + }, + "node_modules/pem-jwk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", + "dependencies": { + "asn1.js": "^5.0.1" + }, + "bin": { + "pem-jwk": "bin/pem-jwk.js" + }, + "engines": { + "node": ">=5.10.0" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pkginfo": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", + "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/polygonscan-api": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/polygonscan-api/-/polygonscan-api-1.0.4.tgz", + "integrity": "sha512-lGBBLc8ymA2cwntwWl+UpNk8nIGO7bTlRcGQ9puXQTVbfTeqgQ+n/q5Ea1UR/v9gofn5kcmZvq1/abc6Rooyyg==", + "dependencies": { + "axios": "^0.19.0", + "gh-pages": "^2.1.1", + "querystring": "^0.2.0" + } + }, + "node_modules/polygonscan-api/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/polygonscan-api/node_modules/axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.5.10" + } + }, + "node_modules/polygonscan-api/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==" + }, + "node_modules/polygonscan-api/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/polygonscan-api/node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/polygonscan-api/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/polygonscan-api/node_modules/gh-pages": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", + "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", + "dependencies": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/polygonscan-api/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/polygonscan-api/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/polygonscan-api/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/polygonscan-api/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==" + }, + "node_modules/promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", + "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "dependencies": { + "is-promise": "~1" + } + }, + "node_modules/promise-nodeify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", + "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", + "engines": { + "node": ">=6", + "npm": ">=1.3.7" + } + }, + "node_modules/promisify-es6": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", + "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", + "deprecated": "Unmaintained" + }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, + "node_modules/protons": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", + "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", + "deprecated": "This module is no longer maintained", + "dependencies": { + "buffer": "^5.5.0", + "protocol-buffers-schema": "^3.3.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + } + }, + "node_modules/protons/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "peer": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + }, + "node_modules/pull-stream": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.7.0.tgz", + "integrity": "sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==" + }, + "node_modules/pull-to-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", + "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", + "dependencies": { + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pull-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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "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" + } + ] + }, + "node_modules/ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + }, + "node_modules/ramdasauce": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", + "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", + "dependencies": { + "ramda": "^0.24.1" + } + }, + "node_modules/ramdasauce/node_modules/ramda": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "peer": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "peer": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "peer": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "peer": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.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==", + "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==" + }, + "node_modules/readable-stream/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true, + "peer": true + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "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==", + "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==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", + "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "dependencies": { + "bn.js": "^4.11.1" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/rlp/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==" + }, + "node_modules/rsa-pem-to-jwk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", + "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", + "dependencies": { + "object-assign": "^2.0.0", + "rsa-unpack": "0.0.6" + } + }, + "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rsa-unpack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", + "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", + "dependencies": { + "optimist": "~0.3.5" + }, + "bin": { + "rsa-unpack": "bin/cmd.js" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, + "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" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "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, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "dev": true, + "peer": true + }, + "node_modules/semaphore-async-await": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", + "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.1" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/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==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "peer": true + }, + "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==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "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==" + }, + "node_modules/signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", + "dependencies": { + "varint": "~5.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/solc": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.15.tgz", + "integrity": "sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w==", + "dev": true, + "peer": true, + "dependencies": { + "command-exists": "^1.2.8", + "commander": "^8.1.0", + "follow-redirects": "^1.12.1", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solc.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/solc/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "peer": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "peer": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "peer": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true, + "peer": true + }, + "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==" + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/split2/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stream-to-pull-stream": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", + "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "dependencies": { + "looper": "^3.0.0", + "pull-stream": "^3.2.3" + } + }, + "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/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "dev": true + }, + "node_modules/string-math": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-math/-/string-math-1.2.2.tgz", + "integrity": "sha512-rfRZpMZbIy+0pepaW8iDCR+iW+GONxyi0jXfdyW4MgpFATH/Vlz+d3vt8UMu/a1RjA9xiejBDFayvTXzs/ROTw==", + "dev": true + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "peer": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha512-++41PnXftlL3pvI6lpvhSEO+89g1kIJC4MYB5E6yH+WHa5InIqz51yGd1YOGd7VNSNdoEOfzTMqbAM/2PbgaHQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==", + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "dependencies": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.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==", + "dependencies": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + } + }, + "node_modules/tar-fs/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/tar-fs/node_modules/pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/tar-fs/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==", + "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-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/tar-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/tar-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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/testrpc": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", + "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", + "dev": true, + "peer": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "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==", + "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==" + }, + "node_modules/then-request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/then-request/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==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", + "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tmp-promise/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.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==" + }, + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ts-command-line-args": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.4.2.tgz", + "integrity": "sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ==", + "dev": true, + "dependencies": { + "@morgan-stanley/ts-mocking-bird": "^0.6.2", + "chalk": "^4.1.0", + "command-line-args": "^5.1.1", + "command-line-usage": "^6.1.0", + "string-format": "^2.0.0" + }, + "bin": { + "write-markdown": "dist/write-markdown.js" + } + }, + "node_modules/ts-command-line-args/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "dev": true, + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "devOptional": true, + "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/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "devOptional": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typechain": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", + "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", + "dev": true, + "dependencies": { + "@types/prettier": "^2.1.1", + "debug": "^4.3.1", + "fs-extra": "^7.0.0", + "glob": "7.1.7", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.3.1", + "ts-command-line-args": "^2.2.0", + "ts-essentials": "^7.0.1" + }, + "bin": { + "typechain": "dist/cli/cli.js" + }, + "peerDependencies": { + "typescript": ">=4.3.0" + } + }, + "node_modules/typechain/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/typechain/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typechain/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/typechain/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typechain/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==" + }, + "node_modules/typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz", + "integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==", + "dependencies": { + "busboy": "^1.6.0" + }, + "engines": { + "node": ">=12.18" + } + }, + "node_modules/unique-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", + "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", + "engines": { + "node": ">= 0.10.x" + } + }, + "node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true, + "peer": true + }, + "node_modules/ursa-optional": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", + "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.14.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "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==" + }, + "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==", + "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==", + "devOptional": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "peer": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "dev": true + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "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==", + "dependencies": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.7.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-abi/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==", + "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/web3-eth-abi/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==" + }, + "node_modules/web3-eth-abi/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==", + "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": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", + "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", + "dev": true, + "peer": true, + "dependencies": { + "bn.js": "^5.2.1", + "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/webextension-polyfill": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz", + "integrity": "sha512-a19+DzlT6Kp9/UI+mF9XQopeZ+n2ussjhxHJ4/pmIGge9ijCDz7Gn93mNnjpZAk95T4Tae8iHZ6sSf869txqiQ==" + }, + "node_modules/webextension-polyfill-ts": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.26.0.tgz", + "integrity": "sha512-XEFL+aYVEsm/d4RajVwP75g56c/w2aSHnPwgtUv8/nCzbLNSzRQIix6aj1xqFkA5yr7OIDkk3OD/QTnPp8ThYA==", + "deprecated": "This project has moved to @types/webextension-polyfill", + "dependencies": { + "webextension-polyfill": "^0.8.0" + } + }, + "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==" + }, + "node_modules/whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha512-SA2KdOXATOroD3EBUYvcdugsusXS5YiQFqwskSbsp5b1gK8HpNi/YP0jcy/BDpdllp305HMnrsVf9K7Be9GiEQ==", + "dev": true + }, + "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==", + "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==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true, + "peer": true + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", + "dev": true, + "peer": true, + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dev": true, + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, + "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==", + "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/wrap-ansi/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "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==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", + "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", + "dependencies": { + "@babel/runtime": "^7.9.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "devOptional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@0xsequence/abi": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/abi/-/abi-0.39.6.tgz", + "integrity": "sha512-ROHfAyQvN1N2G6DeVyWR4wxi0dd0HjJZQ+2UkxvYJrdywQZONmrUPD6MfT4Fd+JrQwdIxkcNu2/QfgkyZDerFw==" + }, + "@0xsequence/api": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/api/-/api-0.39.6.tgz", + "integrity": "sha512-UWwPRCRl5OBJKUllzMh7gmiPgM7Jtn07WKEolpdgl1bouYs2h/it7FfOVjVkDbQYYwoY8qy+aadgMqKptiZy1Q==", + "requires": { + "cross-fetch": "^3.1.5" + } + }, + "@0xsequence/auth": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/auth/-/auth-0.39.6.tgz", + "integrity": "sha512-BSank/ZhIgiqf7CxJo697O3HyYWvyWSEvbDyTcpAs/RgfQnLZ3AuH45ohUNuXVChZj/d8Ntl+lGCXHJdjxzx2A==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/api": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/ethauth": "^0.7.0", + "@0xsequence/indexer": "^0.39.6", + "@0xsequence/metadata": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@0xsequence/wallet": "^0.39.6", + "ethers": "^5.5.2" + } + }, + "@0xsequence/config": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/config/-/config-0.39.6.tgz", + "integrity": "sha512-AKsTyCezmRwCNSs7QjHAJOGjEUM81V60Ih/99sudoP1Cz8vQLmN4WJ30XD7iJhHhR65Jkxj4X7Y4hbhA10ftoA==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/multicall": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "ethers": "^5.5.2" + } + }, + "@0xsequence/ethauth": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@0xsequence/ethauth/-/ethauth-0.7.0.tgz", + "integrity": "sha512-pghfR+OLm82wLMR9Uvvf53f0LniZLhcqw0G4EthFw1ME71/CWUskhR2MIeYKh1t7+OE3TqCbOBJ/p/buv8XynQ==", + "requires": { + "js-base64": "^3.7.2" + } + }, + "@0xsequence/guard": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/guard/-/guard-0.39.6.tgz", + "integrity": "sha512-PZk4KulqSWStO5OBSHAn9Mxq2Vul86PcV1/Eqy0s906CG6GgtfqDUV4/RE7wbIMBgctqElcHwdrD2mQnIs5qKA==" + }, + "@0xsequence/indexer": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/indexer/-/indexer-0.39.6.tgz", + "integrity": "sha512-FmiwCsTrhyc1XJUNdhj0Hje0yZTr6bj7s1rXHIQVtNBoFig0G4xvK9dM8CvquRfALD5H8+U/eccvstt6HG87Fg==", + "requires": { + "cross-fetch": "^3.1.5" + } + }, + "@0xsequence/metadata": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/metadata/-/metadata-0.39.6.tgz", + "integrity": "sha512-egC7pe6TQCaKTxgWzZ9s/GstQlruA001/sPDLPCJKO+nsjeRhIsq5o+rzmN5v8Ols1vaCakvKQGLGRb+jt53hg==", + "requires": { + "cross-fetch": "^3.1.5" + } + }, + "@0xsequence/multicall": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/multicall/-/multicall-0.39.6.tgz", + "integrity": "sha512-oHgxAuYoanYXKArrzPF+a8f9CAzDX5xYp+U+bcCd3qOagIn1xeQCEW4zbnGDRD+ZguhlcP2I7wiW1eImmoOi1g==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2" + } + }, + "@0xsequence/network": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/network/-/network-0.39.6.tgz", + "integrity": "sha512-esmdTCT98tjjbYoiYjaOmJIG0aSgadg9wR1FB6lzPdAVuq+xOGvxygtTiqhTqXF+YI2Alc4b5EP7tUWC9OA10Q==", + "requires": { + "@0xsequence/utils": "^0.39.6", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2" + } + }, + "@0xsequence/provider": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/provider/-/provider-0.39.6.tgz", + "integrity": "sha512-i8ZLRwuGvqEulWPnbWpEhXOMwShQ7oaD8DCbOs0+y7i8xuAsm+lCAZXJdmYRPt+DRHiG+lVnCAWoucdBbC1LMw==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/auth": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@0xsequence/wallet": "^0.39.6", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/providers": "^5.5.1", + "@ethersproject/web": "^5.5.1", + "ethers": "^5.5.2", + "eventemitter2": "^6.4.5", + "webextension-polyfill-ts": "^0.26.0" + } + }, + "@0xsequence/relayer": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/relayer/-/relayer-0.39.6.tgz", + "integrity": "sha512-sgeNeb5DvpcznmAqN5oeYQCY+iC9W5hrg3ohSavm15d67x7SIKW/ia9drqEj806MlC30zU+vPFzO2UjPHcBdJw==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2", + "fetch-ponyfill": "^7.1.0" + } + }, + "@0xsequence/transactions": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/transactions/-/transactions-0.39.6.tgz", + "integrity": "sha512-6GWxnQbNgWvZa13i6q02GdGzrijctfH1wZUsFAcxYMBmuE/tC79rJhUPUQxnKjwIpawOjIQaEGYSYkWaI6Hc6A==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/abi": "^5.5.0", + "ethers": "^5.5.2" + } + }, + "@0xsequence/utils": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/utils/-/utils-0.39.6.tgz", + "integrity": "sha512-Zf5NTRSzrOrc48SXsmtRDs1uaJ0gaOjwQYkANoIco54Rq+IA1Dlz9HWRebgyjeCUrXLnGCckljBemAUoZbVgIg==", + "requires": { + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "ethers": "^5.5.2", + "js-base64": "^3.7.2" + } + }, + "@0xsequence/wallet": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/@0xsequence/wallet/-/wallet-0.39.6.tgz", + "integrity": "sha512-PlVxXMQZvocXeEwT3QjhmLFJaITWkyjiQq6euddIhe/Y3M/Xon/hFR1FYEJbkQA23p1FewqVzTkX7Sh0J0xxpw==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/guard": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/relayer": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@ethersproject/abi": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/providers": "^5.5.1", + "ethers": "^5.5.2", + "fetch-ponyfill": "^7.1.0" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@chainlink/contracts": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.5.1.tgz", + "integrity": "sha512-3PDBJ38Sd6Ml9h7FNK/tZQti+kTCdXUq1qzE6E59CnlzycsV9ElPvf2hTvs9Mi9C6pEx2Mmw9yhZMfBktYUInQ==", + "requires": { + "@eth-optimism/contracts": "^0.5.21", + "@openzeppelin/contracts": "^4.3.3", + "@openzeppelin/contracts-v0.7": "npm:@openzeppelin/contracts@v3.4.2" + } + }, + "@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==", + "devOptional": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } + }, + "@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "dev": true, + "peer": true, + "requires": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "peer": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true, + "peer": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, + "peer": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true, + "peer": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "peer": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + }, + "solc": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "dev": true, + "peer": true, + "requires": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "peer": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "peer": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true, + "peer": true + }, + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", + "dev": true, + "peer": true, + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", + "dev": true, + "peer": true, + "requires": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } + } + } + }, + "@ensdomains/resolver": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", + "dev": true, + "peer": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", + "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.1", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "@eslint/js": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", + "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", + "dev": true + }, + "@eth-optimism/contracts": { + "version": "0.5.40", + "resolved": "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.5.40.tgz", + "integrity": "sha512-MrzV0nvsymfO/fursTB7m/KunkPsCndltVgfdHaT1Aj5Vi6R/doKIGGkOofHX+8B6VMZpuZosKCMQ5lQuqjt8w==", + "requires": { + "@eth-optimism/core-utils": "0.12.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0" + } + }, + "@eth-optimism/core-utils": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", + "integrity": "sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==", + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/contracts": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/providers": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bufio": "^1.0.7", + "chai": "^4.3.4" + } + }, + "@ethereum-waffle/chai": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-4.0.10.tgz", + "integrity": "sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw==", + "dev": true, + "peer": true, + "requires": { + "@ethereum-waffle/provider": "4.0.5", + "debug": "^4.3.4", + "json-bigint": "^1.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@ethereum-waffle/compiler": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", + "integrity": "sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/imports": "^0.3.3", + "@resolver-engine/imports-fs": "^0.3.3", + "@typechain/ethers-v5": "^10.0.0", + "@types/mkdirp": "^0.5.2", + "@types/node-fetch": "^2.6.1", + "mkdirp": "^0.5.1", + "node-fetch": "^2.6.7" + } + }, + "@ethereum-waffle/ens": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-4.0.3.tgz", + "integrity": "sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw==", + "dev": true, + "peer": true, + "requires": {} + }, + "@ethereum-waffle/mock-contract": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz", + "integrity": "sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA==", + "dev": true, + "peer": true, + "requires": {} + }, + "@ethereum-waffle/provider": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-4.0.5.tgz", + "integrity": "sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw==", + "dev": true, + "peer": true, + "requires": { + "@ethereum-waffle/ens": "4.0.3", + "@ganache/ethereum-options": "0.1.4", + "debug": "^4.3.4", + "ganache": "7.4.3" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@ethereumjs/block": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", + "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/common": "^2.6.5", + "@ethereumjs/tx": "^3.5.2", + "ethereumjs-util": "^7.1.5", + "merkle-patricia-tree": "^4.2.4" + }, + "dependencies": { + "@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "dev": true, + "peer": true, + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" + } + }, + "@ethereumjs/tx": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", + "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/common": "^2.6.4", + "ethereumjs-util": "^7.1.5" + } + }, + "ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + } + } + }, + "@ethereumjs/blockchain": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", + "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/common": "^2.6.4", + "@ethereumjs/ethash": "^1.1.0", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.5", + "level-mem": "^5.0.1", + "lru-cache": "^5.1.1", + "semaphore-async-await": "^1.5.1" + }, + "dependencies": { + "@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "dev": true, + "peer": true, + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "2.1.2" + } + }, + "ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + } + } + }, + "@ethereumjs/common": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.0.tgz", + "integrity": "sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==", + "dev": true, + "peer": true, + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.3" + } + }, + "@ethereumjs/ethash": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/block": "^3.5.0", + "@types/levelup": "^4.3.0", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.1.1", + "miller-rabin": "^4.0.0" + } + }, + "@ethereumjs/tx": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.4.0.tgz", + "integrity": "sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/common": "^2.6.0", + "ethereumjs-util": "^7.1.3" + } + }, + "@ethereumjs/vm": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.6.0.tgz", + "integrity": "sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/block": "^3.6.0", + "@ethereumjs/blockchain": "^5.5.0", + "@ethereumjs/common": "^2.6.0", + "@ethereumjs/tx": "^3.4.0", + "async-eventemitter": "^0.2.4", + "core-js-pure": "^3.0.1", + "debug": "^2.2.0", + "ethereumjs-util": "^7.1.3", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "merkle-patricia-tree": "^4.2.2", + "rustbn.js": "~0.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "peer": true + } + } + }, + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@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==", + "requires": { + "@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": { + "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==", + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@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==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "requires": { + "@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/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "@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==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "@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==", + "requires": { + "@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/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@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/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "requires": { + "@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" + } + }, + "@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ganache/ethereum-address": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", + "integrity": "sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw==", + "dev": true, + "peer": true, + "requires": { + "@ganache/utils": "0.1.4" + } + }, + "@ganache/ethereum-options": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz", + "integrity": "sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw==", + "dev": true, + "peer": true, + "requires": { + "@ganache/ethereum-address": "0.1.4", + "@ganache/ethereum-utils": "0.1.4", + "@ganache/options": "0.1.4", + "@ganache/utils": "0.1.4", + "bip39": "3.0.4", + "seedrandom": "3.0.5" + } + }, + "@ganache/ethereum-utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz", + "integrity": "sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg==", + "dev": true, + "peer": true, + "requires": { + "@ethereumjs/common": "2.6.0", + "@ethereumjs/tx": "3.4.0", + "@ethereumjs/vm": "5.6.0", + "@ganache/ethereum-address": "0.1.4", + "@ganache/rlp": "0.1.4", + "@ganache/utils": "0.1.4", + "emittery": "0.10.0", + "ethereumjs-abi": "0.6.8", + "ethereumjs-util": "7.1.3" + } + }, + "@ganache/options": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/options/-/options-0.1.4.tgz", + "integrity": "sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw==", + "dev": true, + "peer": true, + "requires": { + "@ganache/utils": "0.1.4", + "bip39": "3.0.4", + "seedrandom": "3.0.5" + } + }, + "@ganache/rlp": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/rlp/-/rlp-0.1.4.tgz", + "integrity": "sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ==", + "dev": true, + "peer": true, + "requires": { + "@ganache/utils": "0.1.4", + "rlp": "2.2.6" + } + }, + "@ganache/utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ganache/utils/-/utils-0.1.4.tgz", + "integrity": "sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w==", + "dev": true, + "peer": true, + "requires": { + "@trufflesuite/bigint-buffer": "1.1.9", + "emittery": "0.10.0", + "keccak": "3.0.1", + "seedrandom": "3.0.5" + } + }, + "@graphprotocol/graph-cli": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.35.0.tgz", + "integrity": "sha512-50tjeLZg3425fwueH8ORTZbPRSn4uICL0NK9XsJVriDPKCNnhyAIgJgOWaYyPAFgxR8LuyXYkoxIxZ5nduKbiw==", + "requires": { + "assemblyscript": "0.19.10", + "binary-install-raw": "0.0.13", + "chalk": "3.0.0", + "chokidar": "3.5.1", + "debug": "4.3.1", + "docker-compose": "0.23.4", + "dockerode": "2.5.8", + "fs-extra": "9.0.0", + "glob": "7.1.6", + "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "graphql": "15.5.0", + "immutable": "3.8.2", + "ipfs-http-client": "34.0.0", + "jayson": "3.6.6", + "js-yaml": "3.13.1", + "node-fetch": "2.6.0", + "pkginfo": "0.4.1", + "prettier": "1.19.1", + "request": "2.88.2", + "semver": "7.3.5", + "sync-request": "6.1.0", + "tmp-promise": "3.0.2", + "web3-eth-abi": "1.7.0", + "which": "2.0.2", + "yaml": "1.9.2" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + } + } + }, + "@graphprotocol/graph-ts": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.28.1.tgz", + "integrity": "sha512-1wMLQ0cu84/6Ml3zcz9ya1zFzrDAzCj0dIGZ7Rz9upnRSXg5jjqU4DefO/OYrl2K2/OPso9hSAr6I4aue2pL1Q==", + "requires": { + "assemblyscript": "0.19.10" + } + }, + "@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "dev": true, + "requires": {} + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "devOptional": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "devOptional": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "devOptional": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "requires": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "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==" + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "@morgan-stanley/ts-mocking-bird": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz", + "integrity": "sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==", + "dev": true, + "requires": { + "lodash": "^4.17.16", + "uuid": "^7.0.3" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true + } + } + }, + "@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==" + }, + "@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" + }, + "@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==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@nohns/algebra.js": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@nohns/algebra.js/-/algebra.js-0.2.9.tgz", + "integrity": "sha512-L9+AXigZJHrRgggYTPXZE6p6nnUoQHvnOJwKcrEBZlv3UV3PShnJFV9zyWPkJnuaYdHuZROjY36MTSDzyVm8hw==", + "dev": true + }, + "@nomicfoundation/ethereumjs-block": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz", + "integrity": "sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + } + }, + "@nomicfoundation/ethereumjs-blockchain": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz", + "integrity": "sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==", + "requires": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-ethash": "2.0.5", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "level": "^8.0.0", + "lru-cache": "^5.1.1", + "memory-level": "^1.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@nomicfoundation/ethereumjs-common": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", + "integrity": "sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==", + "requires": { + "@nomicfoundation/ethereumjs-util": "8.0.6", + "crc-32": "^1.2.0" + } + }, + "@nomicfoundation/ethereumjs-ethash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz", + "integrity": "sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==", + "requires": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "abstract-level": "^1.0.3", + "bigint-crypto-utils": "^3.0.23", + "ethereum-cryptography": "0.1.3" + } + }, + "@nomicfoundation/ethereumjs-evm": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz", + "integrity": "sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@nomicfoundation/ethereumjs-rlp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", + "integrity": "sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==" + }, + "@nomicfoundation/ethereumjs-statemanager": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz", + "integrity": "sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@nomicfoundation/ethereumjs-trie": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", + "integrity": "sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==", + "requires": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "@nomicfoundation/ethereumjs-tx": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz", + "integrity": "sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==", + "requires": { + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "ethereum-cryptography": "0.1.3" + } + }, + "@nomicfoundation/ethereumjs-util": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz", + "integrity": "sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==", + "requires": { + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "ethereum-cryptography": "0.1.3" + } + }, + "@nomicfoundation/ethereumjs-vm": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz", + "integrity": "sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==", + "requires": { + "@nomicfoundation/ethereumjs-block": "4.2.2", + "@nomicfoundation/ethereumjs-blockchain": "6.2.2", + "@nomicfoundation/ethereumjs-common": "3.1.2", + "@nomicfoundation/ethereumjs-evm": "1.3.2", + "@nomicfoundation/ethereumjs-rlp": "4.0.3", + "@nomicfoundation/ethereumjs-statemanager": "1.0.5", + "@nomicfoundation/ethereumjs-trie": "5.0.5", + "@nomicfoundation/ethereumjs-tx": "4.1.2", + "@nomicfoundation/ethereumjs-util": "8.0.6", + "@types/async-eventemitter": "^0.2.1", + "async-eventemitter": "^0.2.4", + "debug": "^4.3.3", + "ethereum-cryptography": "0.1.3", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "rustbn.js": "~0.2.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@nomicfoundation/hardhat-foundry": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-foundry/-/hardhat-foundry-1.0.0.tgz", + "integrity": "sha512-/2cmtIZPnsQj/SRIu9idbBan5j19RD35MECAGmZCcuXX4AO6Wn0nOnpUwpcvGomKW403h4+rXh8AHMWC4Vvw0Q==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@nomicfoundation/solidity-analyzer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", + "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", + "requires": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" + } + }, + "@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", + "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", + "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", + "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", + "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", + "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", + "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", + "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", + "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", + "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", + "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", + "optional": true + }, + "@nomiclabs/hardhat-ethers": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.2.tgz", + "integrity": "sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==", + "dev": true, + "requires": {} + }, + "@nomiclabs/hardhat-waffle": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.5.tgz", + "integrity": "sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==", + "dev": true, + "requires": {} + }, + "@openzeppelin/contracts": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", + "integrity": "sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==" + }, + "@openzeppelin/contracts-upgradeable": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.2.tgz", + "integrity": "sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==" + }, + "@openzeppelin/contracts-v0.7": { + "version": "npm:@openzeppelin/contracts@3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" + }, + "@prb/math": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@prb/math/-/math-3.3.1.tgz", + "integrity": "sha512-k1nnpZwCvvztainqJfvkYpBQuZ3pHKnS6vovUAp+i1hSzlcSWluM+nRxxZbb6wsXqyCJAxrw8Vd7bAG/VeMIUA==" + }, + "@rainprotocol/assemblyscript-cbor": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", + "integrity": "sha512-RNQfi/BH3fTJCGjU3b2AGHOduziPr+9QTRXz7kt0QBcX2LxYCByXm+d2Hc87Ozh2XKjccemy3iSLHe7TEkq/EA==" + }, + "@rainprotocol/meta": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rainprotocol/meta/-/meta-1.1.0.tgz", + "integrity": "sha512-cMOPThYdSoRkWCR9xM7Vnge6tFv7zdP20sK8EuU2MG3mdxBRE64bO4NRRJoqAXOtFN5xY3SzaSCRCWhFBdXvJg==", + "dev": true, + "requires": { + "ajv": "^8.12.0", + "buffer": "^6.0.3", + "cbor-web": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", + "ethers": "^5.7.2", + "graphql": "^16.6.0", + "graphql-request": "^5.2.0", + "pako": "^2.1.0", + "prettier": "^2.8.7", + "string-math": "^1.2.2" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "graphql": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", + "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + } + } + }, + "@rainprotocol/rainlang": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@rainprotocol/rainlang/-/rainlang-2.3.0.tgz", + "integrity": "sha512-/3pZxl9TazkW5iG8xeFlCQBoKErM0P6vQtN+ke8S1/D2ZikvyKnrI3tL+sUWHOSl1IVMWtTbBAIGUUNEWg9Z9Q==", + "dev": true, + "requires": { + "@nohns/algebra.js": "^0.2.9", + "@rainprotocol/meta": "^1.1.0", + "ethers": "^5.7.2", + "string-math": "^1.2.2", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.3" + } + }, + "@resolver-engine/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", + "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.1.0", + "is-url": "^1.2.4", + "request": "^2.85.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@resolver-engine/fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", + "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@resolver-engine/imports": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", + "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0", + "hosted-git-info": "^2.6.0", + "path-browserify": "^1.0.0", + "url": "^0.11.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@resolver-engine/imports-fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", + "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/fs": "^0.3.3", + "@resolver-engine/imports": "^0.3.3", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" + }, + "@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "requires": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "requires": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "requires": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "requires": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" + }, + "@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "requires": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@trufflesuite/bigint-buffer": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz", + "integrity": "sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "node-gyp-build": "4.3.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "devOptional": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "devOptional": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "devOptional": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "devOptional": true + }, + "@typechain/ethers-v5": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.0.tgz", + "integrity": "sha512-ikaq0N/w9fABM+G01OFmU3U3dNnyRwEahkdvi9mqy1a3XwKiPZaF/lu54OcNaEWnpvEYyhhS0N7buCtLQqC92w==", + "dev": true, + "peer": true, + "requires": { + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" + } + }, + "@typechain/hardhat": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.5.tgz", + "integrity": "sha512-lg7LW4qDZpxFMknp3Xool61Fg6Lays8F8TXdFGBG+MxyYcYU5795P1U2XdStuzGq9S2Dzdgh+1jGww9wvZ6r4Q==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@types/abstract-leveldown": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.1.tgz", + "integrity": "sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==", + "dev": true, + "peer": true + }, + "@types/async-eventemitter": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", + "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + }, + "@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "requires": { + "@types/node": "*" + } + }, + "@types/chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "dev": true + }, + "@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==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.33", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", + "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@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==", + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/level-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", + "dev": true, + "peer": true + }, + "@types/levelup": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", + "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "dev": true, + "peer": true, + "requires": { + "@types/abstract-leveldown": "*", + "@types/level-errors": "*", + "@types/node": "*" + } + }, + "@types/lodash": { + "version": "4.14.192", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", + "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/mocha": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "dev": true + }, + "@types/node": { + "version": "18.15.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz", + "integrity": "sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==" + }, + "@types/node-fetch": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "requires": { + "@types/node": "*" + } + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/string-math": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/string-math/-/string-math-1.0.0.tgz", + "integrity": "sha512-E3f76+cpdbIiOoi5uuxtXSSKGNZl4XFnJRBrpUUhqwZezFxInTxLpUTTgGbSnAJNb+3RY8vGhu8i2vLC78C+pg==", + "dev": true + }, + "@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz", + "integrity": "sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/type-utils": "5.57.0", + "@typescript-eslint/utils": "5.57.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", + "integrity": "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/typescript-estree": "5.57.0", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", + "integrity": "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/visitor-keys": "5.57.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz", + "integrity": "sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.57.0", + "@typescript-eslint/utils": "5.57.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@typescript-eslint/types": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", + "integrity": "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz", + "integrity": "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/visitor-keys": "5.57.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", + "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/typescript-estree": "5.57.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", + "integrity": "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.57.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "0xsequence": { + "version": "0.39.6", + "resolved": "https://registry.npmjs.org/0xsequence/-/0xsequence-0.39.6.tgz", + "integrity": "sha512-1o1LEA+VOib244cVh3p/n6Ma0lZtvaJJrJSxpxW/acnlBA//sJJJnRBNXRoukePgTBqMBVu+abb+4v7xJ4vN0Q==", + "requires": { + "@0xsequence/abi": "^0.39.6", + "@0xsequence/api": "^0.39.6", + "@0xsequence/auth": "^0.39.6", + "@0xsequence/config": "^0.39.6", + "@0xsequence/guard": "^0.39.6", + "@0xsequence/indexer": "^0.39.6", + "@0xsequence/metadata": "^0.39.6", + "@0xsequence/multicall": "^0.39.6", + "@0xsequence/network": "^0.39.6", + "@0xsequence/provider": "^0.39.6", + "@0xsequence/relayer": "^0.39.6", + "@0xsequence/transactions": "^0.39.6", + "@0xsequence/utils": "^0.39.6", + "@0xsequence/wallet": "^0.39.6", + "ethers": "^5.5.2" + } + }, + "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==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "requires": { + "buffer": "^6.0.3", + "catering": "^2.1.0", + "is-buffer": "^2.0.5", + "level-supports": "^4.0.0", + "level-transcoder": "^1.0.1", + "module-error": "^1.0.1", + "queue-microtask": "^1.2.3" + } + }, + "abstract-leveldown": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "dev": true, + "peer": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "requires": { + "xtend": "^4.0.2" + } + } + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "devOptional": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "devOptional": true + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "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==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "apisauce": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", + "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "requires": { + "axios": "^0.21.2", + "ramda": "^0.25.0" + } + }, + "apollo-fetch": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/apollo-fetch/-/apollo-fetch-0.7.0.tgz", + "integrity": "sha512-0oHsDW3Zxx+Of1wuqcOXruNj4Kv55WN69tkIjwkCQDEIrgCpgA2scjChFsgflSVMy/1mkTKCY1Mc0TYJhNRzmw==", + "dev": true, + "requires": { + "cross-fetch": "^1.0.0" + }, + "dependencies": { + "cross-fetch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-1.1.1.tgz", + "integrity": "sha512-+VJE04+UfxxmBfcnmAu/lKor53RUCx/1ilOti4p+JgrnLQ4AZZIRoe2OEd76VaHyWQmQxqKnV+TaqjHC4r0HWw==", + "dev": true, + "requires": { + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, + "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==" + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "devOptional": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "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==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asmcrypto.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", + "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "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==" + } + } + }, + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "assert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", + "dev": true, + "requires": { + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "requires": { + "async": "^2.4.0" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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==" + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + } + } + }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "bigint-crypto-utils": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", + "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "requires": { + "bigint-mod-arith": "^3.1.0" + } + }, + "bigint-mod-arith": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", + "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==" + }, + "bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "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==", + "requires": { + "axios": "^0.21.1", + "rimraf": "^3.0.2", + "tar": "^6.1.0" + } + }, + "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==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bip39": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", + "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "11.11.6", + "create-hash": "^1.1.0", + "pbkdf2": "^3.0.9", + "randombytes": "^2.0.1" + }, + "dependencies": { + "@types/node": { + "version": "11.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", + "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", + "dev": true, + "peer": true + } + } + }, + "bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "bl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", + "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", + "requires": { + "readable-stream": "^3.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "peer": true + }, + "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==" + }, + "borc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", + "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", + "requires": { + "bignumber.js": "^9.0.0", + "buffer": "^5.5.0", + "commander": "^2.15.0", + "ieee754": "^1.1.13", + "iso-url": "~0.4.7", + "json-text-sequence": "~0.1.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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==" + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "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" + }, + "dependencies": { + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + } + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "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==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "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==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, + "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==" + }, + "buffer-xor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", + "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "optional": true, + "peer": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "bufio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", + "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "peer": true, + "requires": { + "semver": "^7.0.0" + } + }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" + }, + "cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "dev": true, + "requires": { + "nofilter": "^3.1.0" + } + }, + "cbor-web": { + "version": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", + "integrity": "sha512-ph4ncYfGr8tLISa3rVl6QvFT1Nv/ogEWL7PZTIfTlqXcpxweQRzjnKuBSggBeWK01IXDv+9BHw/wTeVPpp3T6A==", + "dev": true + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "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==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, + "classic-level": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", + "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.0", + "module-error": "^1.0.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "peer": true + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dev": true, + "requires": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + } + }, + "command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "dev": true, + "requires": { + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true + } + } + }, + "commander": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", + "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "core-js-pure": { + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.29.1.tgz", + "integrity": "sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg==", + "dev": true, + "peer": true + }, + "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==" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "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==", + "requires": { + "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": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "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": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "devOptional": true + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "requires": { + "clone": "^1.0.2" + } + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "peer": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "requires": { + "xtend": "^4.0.2" + } + } + } + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delimit-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", + "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "docker-compose": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", + "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" + }, + "docker-modem": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", + "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", + "requires": { + "debug": "^3.2.6", + "JSONStream": "1.3.2", + "readable-stream": "~1.0.26-4", + "split-ca": "^1.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "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==" + }, + "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==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "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==" + } + } + }, + "dockerode": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", + "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", + "requires": { + "concat-stream": "~1.6.2", + "docker-modem": "^1.0.8", + "tar-fs": "~1.16.3" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "dev": true + }, + "drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", + "requires": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "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" + }, + "dependencies": { + "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==" + } + } + }, + "email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + }, + "emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "dev": true, + "peer": true + }, + "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==" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "devOptional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "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==", + "devOptional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + } + }, + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", + "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "requires": { + "ansi-colors": "^3.2.1" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "peer": true, + "requires": { + "prr": "~1.0.1" + } + }, + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", + "dev": true + }, + "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==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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==" + }, + "eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.37.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "requires": {} + }, + "eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "peer": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", + "dev": true, + "peer": true, + "requires": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "dependencies": { + "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==", + "dev": true, + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "peer": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "peer": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "peer": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true + }, + "espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", + "dev": true, + "peer": true, + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true, + "peer": true + } + } + }, + "ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "requires": { + "js-sha3": "^0.8.0" + } + }, + "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==", + "requires": { + "@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" + } + }, + "ethereum-waffle": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz", + "integrity": "sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==", + "dev": true, + "peer": true, + "requires": { + "@ethereum-waffle/chai": "4.0.10", + "@ethereum-waffle/compiler": "4.0.3", + "@ethereum-waffle/mock-contract": "4.0.4", + "@ethereum-waffle/provider": "4.0.5", + "solc": "0.8.15", + "typechain": "^8.0.0" + } + }, + "ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "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==" + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-util": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", + "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", + "requires": { + "@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": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "etherscan-api": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/etherscan-api/-/etherscan-api-10.3.0.tgz", + "integrity": "sha512-XH+E7J2c6Wq750stvFuIIMdiLv5v65nTRftQojXuQXNfEsQaZOOgeY11WHdrGh6yh90ekDJQldgf033tIS1rCw==", + "requires": { + "axios": "1.2.2", + "gh-pages": "4.0.0", + "querystring": "0.2.1" + }, + "dependencies": { + "axios": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "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==" + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "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==" + }, + "eventemitter2": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", + "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" + }, + "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==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "explain-error": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", + "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extract-files": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", + "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@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-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fetch-ponyfill": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", + "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", + "requires": { + "node-fetch": "~2.6.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg==", + "requires": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + }, + "dependencies": { + "filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==" + }, + "filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", + "requires": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dev": true, + "requires": { + "array-back": "^3.0.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatmap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", + "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "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==" + }, + "fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs-jetpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", + "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "requires": { + "minimatch": "^3.0.2", + "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "ganache": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.4.3.tgz", + "integrity": "sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA==", + "dev": true, + "peer": true, + "requires": { + "@trufflesuite/bigint-buffer": "1.1.10", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "5.1.1", + "@types/seedrandom": "3.0.1", + "bufferutil": "4.0.5", + "emittery": "0.10.0", + "keccak": "3.0.2", + "leveldown": "6.1.0", + "secp256k1": "4.0.3", + "utf-8-validate": "5.0.7" + }, + "dependencies": { + "@trufflesuite/bigint-buffer": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", + "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "node-gyp-build": "4.4.0" + }, + "dependencies": { + "node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "bundled": true, + "dev": true, + "peer": true + } + } + }, + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "bundled": true, + "dev": true, + "peer": true + }, + "@types/node": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", + "bundled": true, + "dev": true, + "peer": true + }, + "@types/seedrandom": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", + "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", + "bundled": true, + "dev": true, + "peer": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "bundled": true, + "dev": true, + "peer": true + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "bundled": true, + "dev": true, + "peer": true + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "bufferutil": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", + "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "catering": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", + "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "queue-tick": "^1.0.0" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "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" + }, + "dependencies": { + "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==", + "bundled": true, + "dev": true, + "peer": true + } + } + }, + "emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "bundled": true, + "dev": true, + "peer": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "bundled": true, + "dev": true, + "peer": true + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "bundled": true, + "dev": true, + "peer": true + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "bundled": true, + "dev": true, + "peer": true + }, + "keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "leveldown": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", + "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "^7.2.0", + "napi-macros": "~2.0.0", + "node-gyp-build": "^4.3.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "buffer": "^6.0.3", + "catering": "^2.0.0", + "is-buffer": "^2.0.5", + "level-concat-iterator": "^3.0.0", + "level-supports": "^2.0.1", + "queue-microtask": "^1.2.3" + } + }, + "level-concat-iterator": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", + "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "catering": "^2.1.0" + } + }, + "level-supports": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", + "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", + "bundled": true, + "dev": true, + "peer": true + } + } + }, + "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==", + "bundled": true, + "dev": true, + "peer": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "bundled": true, + "dev": true, + "peer": true + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", + "bundled": true, + "dev": true, + "peer": true + }, + "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==", + "bundled": true, + "dev": true, + "peer": true + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "bundled": true, + "dev": true, + "peer": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "bundled": true, + "dev": true, + "peer": true + }, + "queue-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", + "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", + "bundled": true, + "dev": true, + "peer": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "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==", + "bundled": true, + "dev": true, + "peer": true + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "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==", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "utf-8-validate": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", + "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, + "dev": true, + "peer": true + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gh-pages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", + "integrity": "sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ==", + "requires": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "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==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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": { + "version": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "from": "gluegun@git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "requires": { + "apisauce": "^1.0.1", + "app-module-path": "^2.2.0", + "cli-table3": "~0.5.0", + "colors": "1.3.3", + "cosmiconfig": "6.0.0", + "cross-spawn": "^7.0.0", + "ejs": "^2.6.1", + "enquirer": "2.3.4", + "execa": "^3.0.0", + "fs-jetpack": "^2.2.2", + "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.0", + "pluralize": "^8.0.0", + "ramdasauce": "^2.1.0", + "semver": "^7.0.0", + "which": "^2.0.0", + "yargs-parser": "^16.1.0" + }, + "dependencies": { + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "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==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" + }, + "graphql-request": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", + "integrity": "sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ==", + "dev": true, + "requires": { + "@graphql-typed-document-node/core": "^3.1.1", + "cross-fetch": "^3.1.5", + "extract-files": "^9.0.0", + "form-data": "^3.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hardhat": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.13.0.tgz", + "integrity": "sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==", + "requires": { + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@nomicfoundation/ethereumjs-block": "^4.0.0", + "@nomicfoundation/ethereumjs-blockchain": "^6.0.0", + "@nomicfoundation/ethereumjs-common": "^3.0.0", + "@nomicfoundation/ethereumjs-evm": "^1.0.0", + "@nomicfoundation/ethereumjs-rlp": "^4.0.0", + "@nomicfoundation/ethereumjs-statemanager": "^1.0.0", + "@nomicfoundation/ethereumjs-trie": "^5.0.0", + "@nomicfoundation/ethereumjs-tx": "^4.0.0", + "@nomicfoundation/ethereumjs-util": "^8.0.0", + "@nomicfoundation/ethereumjs-vm": "^6.0.0", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "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==" + }, + "ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "requires": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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==" + }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "keccak": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", + "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "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==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hi-base32": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", + "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "peer": true + }, + "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==", + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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==", + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ==", + "requires": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "peer": true, + "requires": { + "punycode": "2.1.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true, + "peer": true + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "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==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true, + "peer": true + }, + "io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "requires": { + "fp-ts": "^1.0.0" + } + }, + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" + }, + "ipfs-block": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", + "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0" + } + }, + "ipfs-http-client": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", + "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "requires": { + "abort-controller": "^3.0.0", + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.4.2", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^2.0.0", + "explain-error": "^1.0.4", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "iterable-ndjson": "^1.1.0", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "ky": "^0.11.2", + "ky-universal": "^0.2.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.3", + "peer-info": "~0.15.1", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "concat-stream": { + "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "ipld-dag-cbor": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", + "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", + "requires": { + "borc": "^2.1.2", + "buffer": "^5.5.0", + "cids": "~0.8.0", + "is-circular": "^1.0.2", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "requires": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + } + }, + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + } + } + } + }, + "ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-raw": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", + "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", + "requires": { + "cids": "~0.7.0", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-circular": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", + "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "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==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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==" + }, + "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==" + }, + "is-ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", + "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", + "requires": { + "ip-regex": "^2.0.0" + } + }, + "is-ipfs": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", + "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "requires": { + "bs58": "^4.0.1", + "cids": "~0.7.0", + "mafmt": "^7.0.0", + "multiaddr": "^7.2.1", + "multibase": "~0.6.0", + "multihashes": "~0.4.13" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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==" + }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "requires": { + "ip-regex": "^4.0.0" + } + }, + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "requires": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + } + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "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==" + }, + "is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" + }, + "is-pull-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", + "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true, + "peer": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true, + "peer": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "iso-random-stream": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", + "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "requires": { + "buffer": "^6.0.3", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "iso-stream-http": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", + "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "iso-url": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", + "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" + }, + "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==", + "requires": {} + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "iterable-ndjson": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", + "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "requires": { + "string_decoder": "^1.2.0" + } + }, + "jayson": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", + "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "requires": { + "@types/connect": "^3.4.33", + "@types/express-serve-static-core": "^4.17.9", + "@types/lodash": "^4.14.159", + "@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", + "lodash": "^4.17.20", + "uuid": "^8.3.2", + "ws": "^7.4.5" + }, + "dependencies": { + "@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==" + }, + "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==" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + } + } + }, + "js-base64": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz", + "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" + }, + "js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dev": true, + "peer": true, + "requires": { + "bignumber.js": "^9.0.0" + } + }, + "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==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "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==" + }, + "json-text-sequence": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", + "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", + "requires": { + "delimit-stream": "0.1.0" + } + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" + }, + "JSONStream": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "just-kebab-case": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", + "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" + }, + "just-map-keys": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", + "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" + }, + "keccak": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", + "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "keypair": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", + "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "ky": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", + "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" + }, + "ky-universal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", + "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", + "requires": { + "abort-controller": "^3.0.0", + "node-fetch": "^2.3.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "peer": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "requires": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + } + }, + "level-codec": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", + "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "dev": true, + "peer": true, + "requires": { + "buffer": "^5.6.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "dev": true, + "peer": true + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "level-mem": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", + "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "dev": true, + "peer": true, + "requires": { + "level-packager": "^5.0.3", + "memdown": "^5.0.0" + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "dev": true, + "peer": true, + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==" + }, + "level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "requires": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + } + }, + "level-ws": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", + "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "levelup": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "requires": { + "xtend": "^4.0.2" + } + } + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "libp2p-crypto": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", + "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", + "requires": { + "asmcrypto.js": "^2.3.2", + "asn1.js": "^5.0.1", + "async": "^2.6.1", + "bn.js": "^4.11.8", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.3.0", + "multihashing-async": "~0.5.1", + "node-forge": "^0.10.0", + "pem-jwk": "^2.0.0", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "ursa-optional": "~0.10.0" + }, + "dependencies": { + "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==" + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "libp2p-crypto-secp256k1": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", + "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", + "requires": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "multihashing-async": "~0.6.0", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.2" + }, + "dependencies": { + "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==" + }, + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "secp256k1": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "requires": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.5.2", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + } + } + } + }, + "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==" + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "peer": true, + "requires": { + "error-ex": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", + "dev": true, + "peer": true + }, + "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==" + }, + "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==" + }, + "lodash.lowercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", + "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" + }, + "lodash.lowerfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", + "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "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==" + }, + "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==" + }, + "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==" + }, + "lodash.repeat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", + "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" + }, + "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==" + }, + "lodash.trimend": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", + "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" + }, + "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==" + }, + "lodash.uppercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", + "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==" + }, + "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==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "looper": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", + "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" + }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "requires": { + "get-func-name": "^2.0.0" + } + }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", + "dev": true, + "peer": true + }, + "mafmt": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", + "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", + "requires": { + "multiaddr": "^7.3.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "requires": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "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==" + }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "requires": { + "ip-regex": "^4.0.0" + } + }, + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + } + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "devOptional": true + }, + "mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" + }, + "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==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "memdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", + "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "peer": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", + "dev": true, + "peer": true + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "peer": true, + "requires": { + "xtend": "^4.0.2" + } + } + } + }, + "memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "requires": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" + }, + "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==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "merkle-patricia-tree": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", + "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "dev": true, + "peer": true, + "requires": { + "@types/levelup": "^4.3.0", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "level-ws": "^2.0.0", + "readable-stream": "^3.6.0", + "semaphore-async-await": "^1.5.1" + }, + "dependencies": { + "ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "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==", + "dev": true, + "peer": true + } + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "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==" + }, + "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==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minipass": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", + "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==" + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "requires": { + "obliterator": "^2.0.0" + } + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "requires": { + "brace-expansion": "^2.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + } + } + }, + "module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multiaddr": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", + "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "hi-base32": "~0.5.0", + "ip": "^1.1.5", + "is-ip": "^2.0.0", + "varint": "^5.0.0" + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "requires": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "multihashing-async": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", + "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.4.3", + "err-code": "^2.0.0", + "js-sha3": "^0.8.0", + "multihashes": "^1.0.1", + "murmurhash3js-revisited": "^3.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + } + } + } + }, + "murmurhash3js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", + "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" + }, + "murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" + }, + "mustache": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", + "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "ndjson": { + "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "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==" + }, + "node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + }, + "nodeify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", + "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", + "requires": { + "is-promise": "~1.0.0", + "promise": "~1.3.0" + } + }, + "nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "peer": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "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==", + "requires": { + "path-key": "^3.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "peer": true + }, + "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==", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "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==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", + "requires": { + "wordwrap": "~0.0.2" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "requires": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "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==" + }, + "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==" + }, + "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==", + "requires": { + "chalk": "^2.4.2" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "peer": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" + }, + "pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "dev": true + }, + "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==", + "requires": { + "callsites": "^3.0.0" + } + }, + "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==" + }, + "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==", + "requires": { + "@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" + } + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "peer": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "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==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "peer-id": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", + "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", + "requires": { + "async": "^2.6.3", + "class-is": "^1.1.0", + "libp2p-crypto": "~0.16.1", + "multihashes": "~0.4.15" + } + }, + "peer-info": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", + "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", + "requires": { + "mafmt": "^6.0.2", + "multiaddr": "^6.0.3", + "peer-id": "~0.12.2", + "unique-by": "^1.0.0" + }, + "dependencies": { + "mafmt": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", + "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", + "requires": { + "multiaddr": "^6.1.0" + } + } + } + }, + "pem-jwk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", + "requires": { + "asn1.js": "^5.0.1" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + } + } + }, + "pkginfo": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", + "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" + }, + "polygonscan-api": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/polygonscan-api/-/polygonscan-api-1.0.4.tgz", + "integrity": "sha512-lGBBLc8ymA2cwntwWl+UpNk8nIGO7bTlRcGQ9puXQTVbfTeqgQ+n/q5Ea1UR/v9gofn5kcmZvq1/abc6Rooyyg==", + "requires": { + "axios": "^0.19.0", + "gh-pages": "^2.1.1", + "querystring": "^0.2.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "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==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "gh-pages": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", + "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", + "requires": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" + }, + "prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "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==" + }, + "promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", + "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "requires": { + "is-promise": "~1" + } + }, + "promise-nodeify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", + "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" + }, + "promisify-es6": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", + "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" + }, + "protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, + "protons": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", + "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", + "requires": { + "buffer": "^5.5.0", + "protocol-buffers-schema": "^3.3.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "peer": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + }, + "pull-stream": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.7.0.tgz", + "integrity": "sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==" + }, + "pull-to-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", + "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", + "requires": { + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==" + }, + "qs": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + }, + "ramdasauce": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", + "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", + "requires": { + "ramda": "^0.24.1" + }, + "dependencies": { + "ramda": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "peer": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "peer": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "peer": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "peer": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "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" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", + "dev": true, + "peer": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true, + "peer": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "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==" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", + "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "requires": { + "bn.js": "^4.11.1" + }, + "dependencies": { + "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==" + } + } + }, + "rsa-pem-to-jwk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", + "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", + "requires": { + "object-assign": "^2.0.0", + "rsa-unpack": "0.0.6" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" + } + } + }, + "rsa-unpack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", + "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", + "requires": { + "optimist": "~0.3.5" + } + }, + "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==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, + "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==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "dev": true, + "peer": true + }, + "semaphore-async-await": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", + "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", + "dev": true, + "peer": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "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==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "peer": true + }, + "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==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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==" + }, + "signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", + "requires": { + "varint": "~5.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "solc": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.15.tgz", + "integrity": "sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w==", + "dev": true, + "peer": true, + "requires": { + "command-exists": "^1.2.8", + "commander": "^8.1.0", + "follow-redirects": "^1.12.1", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "peer": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "peer": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "peer": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true, + "peer": true + }, + "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==" + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "requires": { + "readable-stream": "^3.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + } + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "requires": { + "type-fest": "^0.7.1" + }, + "dependencies": { + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stream-to-pull-stream": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", + "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "requires": { + "looper": "^3.0.0", + "pull-stream": "^3.2.3" + } + }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + }, + "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==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "dev": true + }, + "string-math": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-math/-/string-math-1.2.2.tgz", + "integrity": "sha512-rfRZpMZbIy+0pepaW8iDCR+iW+GONxyi0jXfdyW4MgpFATH/Vlz+d3vt8UMu/a1RjA9xiejBDFayvTXzs/ROTw==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "peer": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "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==" + }, + "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==", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "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==" + } + } + }, + "strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha512-++41PnXftlL3pvI6lpvhSEO+89g1kIJC4MYB5E6yH+WHa5InIqz51yGd1YOGd7VNSNdoEOfzTMqbAM/2PbgaHQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "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==", + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "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==", + "requires": { + "get-port": "^3.1.0" + } + }, + "table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "dependencies": { + "array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true + } + } + }, + "tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "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==", + "requires": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "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-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "testrpc": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", + "dev": true, + "peer": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmp-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", + "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "requires": { + "tmp": "^0.2.0" + }, + "dependencies": { + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + } + } + } + }, + "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==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "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==" + } + } + }, + "ts-command-line-args": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.4.2.tgz", + "integrity": "sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ==", + "dev": true, + "requires": { + "@morgan-stanley/ts-mocking-bird": "^0.6.2", + "chalk": "^4.1.0", + "command-line-args": "^5.1.1", + "command-line-usage": "^6.1.0", + "string-format": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "dev": true, + "requires": {} + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "devOptional": true, + "requires": { + "@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" + }, + "dependencies": { + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "devOptional": true + } + } + }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "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==" + }, + "typechain": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", + "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", + "dev": true, + "requires": { + "@types/prettier": "^2.1.1", + "debug": "^4.3.1", + "fs-extra": "^7.0.0", + "glob": "7.1.7", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.3.1", + "ts-command-line-args": "^2.2.0", + "ts-essentials": "^7.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "devOptional": true + }, + "typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undici": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz", + "integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==", + "requires": { + "busboy": "^1.6.0" + } + }, + "unique-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", + "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dev": true, + "peer": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true, + "peer": true + } + } + }, + "ursa-optional": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", + "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", + "requires": { + "bindings": "^1.5.0", + "nan": "^2.14.2" + } + }, + "utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "optional": true, + "peer": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "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==", + "devOptional": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "peer": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + } + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "dev": true + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "requires": { + "defaults": "^1.0.3" + } + }, + "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==", + "requires": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.7.0" + }, + "dependencies": { + "@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==", + "requires": { + "@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" + } + }, + "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==" + }, + "web3-utils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", + "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", + "requires": { + "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" + } + } + } + }, + "web3-utils": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", + "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^5.2.1", + "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" + } + }, + "webextension-polyfill": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz", + "integrity": "sha512-a19+DzlT6Kp9/UI+mF9XQopeZ+n2ussjhxHJ4/pmIGge9ijCDz7Gn93mNnjpZAk95T4Tae8iHZ6sSf869txqiQ==" + }, + "webextension-polyfill-ts": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.26.0.tgz", + "integrity": "sha512-XEFL+aYVEsm/d4RajVwP75g56c/w2aSHnPwgtUv8/nCzbLNSzRQIix6aj1xqFkA5yr7OIDkk3OD/QTnPp8ThYA==", + "requires": { + "webextension-polyfill": "^0.8.0" + } + }, + "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==" + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha512-SA2KdOXATOroD3EBUYvcdugsusXS5YiQFqwskSbsp5b1gK8HpNi/YP0jcy/BDpdllp305HMnrsVf9K7Be9GiEQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true, + "peer": true + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", + "dev": true, + "peer": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" + }, + "wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dev": true, + "requires": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "dependencies": { + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true + } + } + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, + "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==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "requires": {} + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", + "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + } + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "devOptional": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + } +} diff --git a/subgraph/package.json b/subgraph/package.json new file mode 100755 index 0000000000..9723f784ab --- /dev/null +++ b/subgraph/package.json @@ -0,0 +1,68 @@ +{ + "name": "@rainprotocol/orderbook-subgraph", + "description": "orderbook subgraph", + "version": "0.0.1", + "author": "rainprotocol", + "license": "CAL", + "repository": { + "type": "git", + "url": "https://github.com/rainprotocol/rain-protocol-subgraph.git" + }, + "keywords": [], + "bugs": { + "url": "https://github.com/rainprotocol/rain-protocol-subgraph/issues" + }, + "scripts": { + "test": "hardhat test", + "codegen": "graph codegen", + "build": "graph build", + "lint": "eslint .", + "lint-fix": "eslint . --fix", + "prettier": "prettier . '!./docker' --check", + "prettier-write": "prettier . '!./docker' --write" + }, + "dependencies": { + "@chainlink/contracts": "^0.5.1", + "@graphprotocol/graph-cli": "^0.35.0", + "@graphprotocol/graph-ts": "^0.28.1", + "@openzeppelin/contracts-upgradeable": "=4.8.2", + "@prb/math": "^3.3.1", + "@rainprotocol/assemblyscript-cbor": "^0.0.6", + "0xsequence": "^0.39.0", + "colors": "^1.4.0", + "commander": "^10.0.0", + "etherscan-api": "^10.3.0", + "hardhat": "^2.13.0", + "mustache": "^3.2.1", + "node-fetch": "^2.6.11", + "polygonscan-api": "^1.0.4" + }, + "devDependencies": { + "@nomicfoundation/hardhat-foundry": "^1.0.0", + "@nomiclabs/hardhat-ethers": "^2.2.2", + "@nomiclabs/hardhat-waffle": "^2.0.5", + "@rainprotocol/rainlang": "^2.2.2", + "@typechain/hardhat": "^6.1.5", + "@types/chai": "^4.3.4", + "@types/mocha": "^10.0.1", + "@types/string-math": "=1.0.0", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", + "apollo-fetch": "^0.7.0", + "assert": "^2.0.0", + "cbor": "=8.1.0", + "chai": "^4.3.7", + "dotenv": "^16.0.3", + "eslint": "^8.37.0", + "eslint-config-prettier": "^8.8.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", + "string-math": "=1.2.2", + "ts-node": "^10.9.1", + "typechain": "^8.1.1", + "typescript": "^5.0.2" + } +} diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql new file mode 100644 index 0000000000..f389a8c374 --- /dev/null +++ b/subgraph/schema.graphql @@ -0,0 +1,403 @@ +type OrderBook @entity { + id: Bytes! + deployer: Bytes + address: Bytes! + "The RainMetaV1 decode information" + meta: RainMetaV1 # Use the CBOR AS library to decode the meta emitted by the OB +} + +type RainMetaV1 @entity { + "Hash of the meta directly emitted by the contract" + id: Bytes! # Include the RainMeta MagicNumber. + "Original meta bytes directly emitted from the contract" + metaBytes: Bytes! # Original meta bytes emitted from the contract + "The meta content V1 decoded from the meta bytes emitted" + content: [MetaContentV1!] @derivedFrom(field: "documents") +} + +type MetaContentV1 @entity { + "The hash of the Map Rain Meta document or CBOR Item" + id: Bytes! # Hash of the whole stringify data. + "The payload present on the index 0 of the Rain meta Document" + payload: Bytes! + "The magic number that is used to track the payload" + magicNumber: BigInt! + "The header name info for Content-Type" + contentType: String + "The header name info for Content-Encoding. It's optional" + contentEncoding: String + "The header name info for Content-Language. It's optional" + contentLanguage: String + "RainMeta documents bytes that have this content" + documents: [RainMetaV1!]! +} + +# Created with the first AddOrder event, then updated on the corresponding AddOrder/RemoveOrder events +type Order implements Event @entity { + "The hash of the order" + id: ID! # This value is emitted as Uint256, but you should use the hex string representation (it's a hash)H + "The hash of the order" + orderHash: Bytes! + + "The address that added the order" + owner: Account! + + "The IInterpreter address that is used to add the order" + interpreter: Bytes! + + "The IInterpreterStore address that is used to add the order" + interpreterStore: Bytes! + + "The IExpressionDeployer contract address that is used to add the order" + expressionDeployer: Bytes! + + "The address to the rain expression for the Order" + expression: Bytes! + + "Whether the order is active or inactive" + orderActive: Boolean! + + "Flag that check if there is a handle_IO entrypoint to run. If false the order book MAY skip calling the interpreter to save gas" + handleIO: Boolean! + + # "The RainMetaV1 decode information Rain `MetaV1` when the order is placed so can be used by offChain processes." + meta: RainMetaV1 + + "validInputs" + validInputs: [IO!] + + "validOutputs" + validOutputs: [IO!] + + orderJSONString: String! + expressionJSONString: String + + "Timestamp when the order was added" + transaction: Transaction! + emitter: Account! + timestamp: BigInt! + + "Take Order entities that use this order" + takeOrders: [TakeOrderEntity!] @derivedFrom(field: "order") + "Order Clear entities that use this order" + ordersClears: [OrderClear!] +} + +# Created with AddOrder +type IO @entity { + id: ID! # ID = `order.hash() - IO.token - IO.vaultId` + token: ERC20! + decimals: Int! + vault: Vault! + vaultId: BigInt! + order: Order! + tokenVault: TokenVault! + index: Int! +} + +# Created and updated whenever an AddOrder event occurs +# Created and updated whenever an Deposit event occurs +# Updated whenever an Withdraw event occurs +type Vault @entity { + id: ID! #{vaultId}-{owner} + vaultId: BigInt! + + "The owner of this Vault" + owner: Account! + + "Tokens in this Vault" + tokenVaults: [TokenVault!] @derivedFrom(field: "vault") + + "Deposits into this Vault" + deposits: [VaultDeposit!] @derivedFrom(field: "vault") # add whenever a Deposit event occurs for this {vaultId}-{owner} + "Withdrawals from this Vault" + withdraws: [VaultWithdraw!] @derivedFrom(field: "vault") # add whenever a Withdraw event occurs for this {vaultId}-{owner} +} + +# Created and updated whenever an AddOrder event occurs +# Created and updated whenever an Deposit event occurs +# Updated whenever an Withdraw event occurs +# ALSO created and updated when a pair of Clear/AfterClear events occur +type TokenVault @entity { + #{vaultId}-{owner}-{token} + id: ID! + + # From Deposit.sender / Withdraw.sender + "The owner of this Vault" + owner: Account! + "The id of this vault" + vault: Vault! + + vaultId: BigInt! + + "The token that has a balance for this vault and owner." + token: ERC20! + + # Add to this value: + # Deposit.amount when there is a matching Deposit event for {vaultId}-{owner}-{token} + # OR AfterClear.stateChange.aInput when there is a Clear event that matches {Clear.a_.inputVault}-{Clear.a_.owner}-{Clear.a_.inputToken} + # OR AfterClear.stateChange.bInput when there is a Clear event that matches {Clear.b_.inputVault}-{Clear.b_.owner}-{Clear.b_.inputToken} + # Subtract from this value: + # Withdraw.amount when there is a matching Withdraw event for {vaultId}-{owner}-{token} + # updated on every Deposit/Withdraw event that occurs for this {vaultId}-{owner}-{token} + "The balance of this token, for this vault, for this owner" + balance: BigInt! + balanceDisplay: BigDecimal! + + # Add to array: + # when {Order.inputVault}-{Order.owner}-{Order.inputToken} match this TokenVault + # OR when {Order.outputVault}-{Order.owner}-{Order.outputToken} match this TokenVault + "Orders that reference this vault, owner and token" + orders: [Order!] + + # Add to array: + # when {Clear.a_.inputVault}-{Clear.a_.owner}-{Clear.a_.inputToken} match this TokenVault + # OR when {Clear.b_.outputVault}-{Clear.b_.owner}-{Clear.b_.outputToken} match this TokenVault + # "OrderClears that reference this vault, owner and token" + orderClears: [OrderClear!] + takeOrders: [TokenVaultTakeOrder!] @derivedFrom(field: "tokenVault") +} + +type TokenVaultTakeOrder @entity { + id: ID! + wasOutput: Boolean! + wasInput: Boolean! + takeOrder: TakeOrderEntity! + tokenVault: TokenVault! +} + +# Created for every Deposit event +type VaultDeposit implements Event @entity { + id: ID! # use txhash of the event + "The transaction sender of this deposit" + sender: Account! # Deposit.sender + "The token that was deposited" + token: ERC20! # Deposit.config.token + "The vaultId that was deposited into" + vaultId: BigInt! # Deposit.config.vaultId + "The Vault that was deposited into" + vault: Vault! # map by {Deposit.config.vaultId}-{sender} + "The amount that was deposited" + amount: BigInt! # Deposit.config.amount + amountDisplay: BigDecimal! + "The current balance of this token for this Vault" + tokenVault: TokenVault! # map by {Deposit.config.vaultId}-{Deposit.sender}-{Deposit.config.token} + transaction: Transaction! + emitter: Account! + timestamp: BigInt! +} + +# Created for every Withdraw event +type VaultWithdraw implements Event @entity { + id: ID! # use txhash of the event + "The transaction sender of this withdrawal" + sender: Account! # Withdrawal.sender + "The token that was withdrawn" + token: ERC20! # Withdraw.config.token + "The vaultId that was withdrawn from" + vaultId: BigInt! # Withdraw.config.vaultId + "The Vault that was withdrawn from" + vault: Vault! # map by {Withdraw.config.vaultId}-{sender} + "The amount that was requested be withdrawn" + requestedAmount: BigInt! # Withdraw.config.amount + requestedAmountDisplay: BigDecimal! # Withdraw.config.amount + "The amount that was withdrawn" + amount: BigInt! # Withdraw.amount + amountDisplay: BigDecimal! + "The current balance of this token for this Vault" + tokenVault: TokenVault! # map by {Withdraw.config.vaultId}-{Withdraw.sender}-{Withdraw.config.token} + transaction: Transaction! + emitter: Account! + timestamp: BigInt! +} + +type ERC20 @entity { + id: ID! # address of token + name: String! + symbol: String! + totalSupply: BigInt! + totalSupplyDisplay: BigDecimal! + decimals: Int! +} + +# Created for every pair of AfterClear/Clear events +type OrderClear implements Event @entity { + id: ID! # timestamp + "The sender address who cleared the Orders" + sender: Account! # Clear.sender + "The clearer address who cleared this order" + clearer: Account! # from Clear.sender + "Order A being cleared" + orderA: Order! # map by hash(Clear.a_) + "Order B being cleared" + orderB: Order! # map by hash(Clear.b_) + "The owners of the Orders that were cleared [Order A, Order B]" + owners: [Account!] # [Clear.a_.owner, Clear.b_.owner] + "The token input index cleared into Order A" + aInputIOIndex: BigInt! + + "The token output index cleared into Order A" + aOutputIOIndex: BigInt! + + "The token input index cleared into Order B" + bInputIOIndex: BigInt! + + "The token output index cleared into Order B" + bOutputIOIndex: BigInt! + + "The bounty paid when this order was cleared" + bounty: Bounty! @derivedFrom(field: "orderClear") # map by unique id created - see Bounty entity + "The state change that occurred because of this Clear" + stateChange: OrderClearStateChange! @derivedFrom(field: "orderClear") # map by unique id created - see OrderClearStateChange entity + transaction: Transaction! + emitter: Account! + timestamp: BigInt! +} + +# Created when each OrderClear entity is created +type Bounty @entity { + id: ID! # create a unique ID when OrderClear entity is created + "The clearer who received this bounty" + clearer: Account! # from Clear.sender + "The Clear event that paid this bounty" + orderClear: OrderClear! + + "The Vault that bounty token A was deposited into" + bountyVaultA: Vault! # map by {Clear.clearConfig.aliceBountyVaultId}-{Clear.sender} + "The Vault that bounty token B was deposited into" + bountyVaultB: Vault! # map by {Clear.clearConfig.bobBountyVaultId}-{Clear.sender} + # Not Including Tokens , bounty referenced by VaultA And VaultB + + "The A token for the bounty" + bountyTokenA: ERC20! # Clear.alice.validOutputs[clearConfig.aliceOutputIOIndex].token + "The B token for the bounty" + bountyTokenB: ERC20! # Clear.bob.validOutputs[clearConfig.bobOutputIOIndex].token + "The amount paid for bounty token A" + bountyAmountA: BigInt # AfterClear.clearStateChange.aliceOutput - AfterClear.clearStateChange.bobInput + bountyAmountADisplay: BigDecimal + + "The amount paid for bounty token B" + bountyAmountB: BigInt # AfterClear.clearStateChange.bobOutput - AfterClear.clearStateChange.aliceInput + bountyAmountBDisplay: BigDecimal + + transaction: Transaction! + emitter: Account! + timestamp: BigInt! +} + +# Created for every pair of TakeOrder events +type TakeOrderEntity implements Event @entity { + id: ID! # Hash of ((TakeOrder.config)) + sender: Account! + order: Order! + + "The input amount from the perspective of sender" + input: BigInt! + inputDisplay: BigDecimal! + + "The output amount from the perspective of sender" + output: BigInt! + outputDisplay: BigDecimal! + + "IO Ratio" + IORatio: BigDecimal! + + "The index of the input token in order to match with the take order output" + inputIOIndex: BigInt! + "The index of the output token in order to match with the take order input." + outputIOIndex: BigInt! + + "Input token from the perspective of the order taker" + inputToken: ERC20! + "Output token from the perspective of the order taker" + outputToken: ERC20! + + # Event fields + transaction: Transaction! + emitter: Account! + timestamp: BigInt! + + context: ContextEntity +} + +# Create when an OrderClear entity is created +type OrderClearStateChange @entity { + id: ID! # create a unique ID when OrderClear entity is created + orderClear: OrderClear! + aOutput: BigInt! # AfterClear.clearStateChange.aliceOutput + bOutput: BigInt! # AfterClear.clearStateChange.bobOutput + aInput: BigInt! # AfterClear.clearStateChange.aliceInput + bInput: BigInt! # AfterClear.clearStateChange.bobInput +} + +type ClearOrderConfig @entity { + id: ID! + orderClearId: OrderClear! + tokenVaultBountyAlice: TokenVault! + tokenVaultBountyBob: TokenVault! + aliceTokenVaultInput: String! + aliceTokenVaultOutput: String! + bobTokenVaultInput: String! + bobTokenVaultOutput: String! +} + +type Account @entity { + id: Bytes! + orders: [Order!] @derivedFrom(field: "owner") + withdraws: [VaultWithdraw!] @derivedFrom(field: "sender") + deposits: [VaultDeposit!] @derivedFrom(field: "sender") + ordersCleared: [OrderClear!] @derivedFrom(field: "clearer") + bounties: [Bounty!] @derivedFrom(field: "clearer") + takeOrderEntities: [TakeOrderEntity!] @derivedFrom(field: "sender") + vaults: [Vault!] @derivedFrom(field: "owner") + tokenVaults: [TokenVault!] @derivedFrom(field: "owner") + events: [Event!] @derivedFrom(field: "emitter") +} + +type Transaction @entity(immutable: true) { + id: ID! + timestamp: BigInt! + blockNumber: BigInt! + events: [Event!] @derivedFrom(field: "transaction") +} + +type ContextEntity implements Event @entity { + id: ID! + "Base caller" + caller: Account! + "Base contract" + contract: OrderBook! + + "Contextual data available to both calculate order and handle IO" + callingContext: [BigInt!] + "Contains the DECIMAL RESCALED calculations" + calculationsContext: [BigInt!] + "The inputs context data" + vaultInputsContext: [BigInt!] + "The outputs context data" + vaultOutputsContext: [BigInt!] + + "Optional signed context relevant to the transaction" + signedContext: [SignedContext!] + + "Transaction where this event was emitted." + transaction: Transaction! + "Account that sent the transaction this event was emitted in." + emitter: Account! + timestamp: BigInt! +} + +type SignedContext @entity { + id: ID! + signer: Bytes! + context: [BigInt!] +} + +interface Event { + id: ID! + "Transaction this event was emitted in." + transaction: Transaction! + "Account that sent the transaction this event was emitted in." + emitter: Account! + timestamp: BigInt! +} diff --git a/subgraph/shell.nix b/subgraph/shell.nix new file mode 100755 index 0000000000..444c5a23cb --- /dev/null +++ b/subgraph/shell.nix @@ -0,0 +1,92 @@ +let + pkgs = import + (builtins.fetchTarball { + name = "nixos-unstable-2021-10-01"; + url = "https://github.com/nixos/nixpkgs/archive/d3d2c44a26b693293e8c79da0c3e3227fc212882.tar.gz"; + sha256 = "0vi4r7sxzfdaxzlhpmdkvkn3fjg533fcwsy3yrcj5fiyqip2p3kl"; + }) + { }; + + compile = pkgs.writeShellScriptBin "compile" '' + hardhat compile --force + ''; + + codegen = pkgs.writeShellScriptBin "codegen" '' + graph codegen + ''; + + docker-up = pkgs.writeShellScriptBin "docker-up" '' + docker-down + rm -rf docker/data + docker-compose -f docker/docker-compose.yml up --build -d + ''; + + docker-down = pkgs.writeShellScriptBin "docker-down" '' + docker-compose -f docker/docker-compose.yml down + ''; + + flush-all = pkgs.writeShellScriptBin "flush-all" '' + rm -rf cache + rm -rf node_modules + rm -rf build + rm -rf generated + rm -rf docker/data + ''; + + copy-abis = pkgs.writeShellScriptBin "copy-abis" '' + cp artifacts/contracts/orderbook/OrderBook.sol/OrderBook.json abis + cp artifacts/contracts/test/testToken/ReserveToken.sol/ReserveToken.json abis + ''; + + setup = pkgs.writeShellScriptBin "setup" '' + cp -r rain-protocol/artifacts . + cp -r rain-protocol/typechain . + copy-abis + ''; + + ci-test = pkgs.writeShellScriptBin "ci-test" '' + npx mustache config/localhost.json subgraph.template.yaml subgraph.yaml + codegen + npx hardhat test --no-compile + ''; + + init = pkgs.writeShellScriptBin "init" '' + npm install + ''; + + ci-prepare-subgraph-polygon = pkgs.writeShellScriptBin "ci-prepare-subgraph-polygon" '' + npx mustache config/polygon.json subgraph.template.yaml subgraph.yaml + graph codegen + graph build + ''; + + ci-prepare-subgraph-mumbai = pkgs.writeShellScriptBin "ci-prepare-subgraph-mumbai" '' + npx mustache config/mumbai.json subgraph.template.yaml subgraph.yaml + graph codegen + graph build + ''; + +in +pkgs.stdenv.mkDerivation { + name = "shell"; + buildInputs = [ + pkgs.nixpkgs-fmt + pkgs.yarn + pkgs.nodejs-16_x + ci-test + compile + codegen + docker-up + docker-down + flush-all + init + ci-prepare-subgraph-polygon + ci-prepare-subgraph-mumbai + copy-abis + setup + ]; + + shellHook = '' + export PATH=$( npm bin ):$PATH + ''; +} diff --git a/subgraph/src/erc20.ts b/subgraph/src/erc20.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts new file mode 100644 index 0000000000..f2e492995e --- /dev/null +++ b/subgraph/src/orderBook.ts @@ -0,0 +1,1103 @@ +import { + Bounty, + IO, + MetaContentV1, + Order, + OrderClearStateChange, + ClearOrderConfig, + TokenVault, + ContextEntity, + TokenVaultTakeOrder, + OrderBook, +} from "../generated/schema"; +import { + AddOrder, + AfterClear, + Clear, + Context, + Deposit, + MetaV1, + OrderExceedsMaxRatio, + OrderNotFound, + OrderZeroAmount, + RemoveOrder, + TakeOrder, + Withdraw, + // Initialized, + ClearAliceStruct, +} from "../generated/OrderBook/OrderBook"; +import { + BigDecimal, + BigInt, + Bytes, + JSONValue, + JSONValueKind, + TypedMap, + // ValueKind, + ethereum, + json, + // log, + // store, +} from "@graphprotocol/graph-ts"; + +import { + AFTER_CLEAR_EVENT_TOPIC, + CLEAR_EVENT_TOPIC, + NEW_EXPRESSION_EVENT_TOPIC, + RAIN_META_DOCUMENT_HEX, + TAKE_ORDER_EVENT_TOPIC, + createAccount, + createContextEntity, + createOrder, + createOrderClear, + createSignedContext, + createTakeOrderConfig, + createToken, + createTokenVault, + createTransaction, + createVault, + createVaultDeposit, + createVaultWithdraw, + getEvenHex, + getKeccak256FromBytes, + // getOB, + getRainMetaV1, + isHexadecimalString, + stringToArrayBuffer, + toDisplay, + tuplePrefix, +} from "./utils"; +import { CBORDecoder } from "@rainprotocol/assemblyscript-cbor"; +import { ExpressionJSONString, OrderString } from "./orderJsonString"; + +export function handleContext(event: Context): void { + const receipt = event.receipt; + + // Should be at least one log (the current event is one). This is conditional + // is just for safe typing. + if (receipt && receipt.logs.length > 0) { + const logs = receipt.logs; + + const log_takeOrder = logs.findIndex( + (log_) => log_.topics[0].toHex() == TAKE_ORDER_EVENT_TOPIC + ); + const log_clear = logs.findIndex( + (log_) => log_.topics[0].toHex() == CLEAR_EVENT_TOPIC + ); + const log_afterClear = logs.findIndex( + (log_) => log_.topics[0].toHex() == AFTER_CLEAR_EVENT_TOPIC + ); + + if (log_clear != -1 && log_afterClear != -1) { + // It's a context for clear and afterClear + // This is in case that need to support context for these events + } + + if (log_takeOrder != -1) { + // It's a context for a takeOrder + // Create the TakeOrder and assign the context entity ID. + // ON the takeOrder handler, the takeOrder entity should not be created, only + // read/obtained and modified with the data of the take order event. + const context = event.params.context; + + // Column 0 is the Context Base + const sender = Bytes.fromHexString(getEvenHex(context[0][0].toHex())); + const callerContract = Bytes.fromHexString( + getEvenHex(context[0][1].toHex()) + ); + + // Column 1 is the Context Calling + const callingContext = context[1]; + + // Column 2 is the Context Calculations + const calculationsContext = context[2]; + + // Column 3 is the Context Vault Inputs + const vaultInputsContext = context[3]; + + // Column 4 is the Context Vault Outputs + const vaultOutputsContext = context[4]; + + // After the column 4, all is of signedContext + const signedContextArr = context.slice(5); + + // Where all the "real" signed conext entities are "save" + const signedContextEntities: string[] = []; + + if (signedContextArr.length > 0) { + const signers = signedContextArr.shift(); + + if (signers.length == signedContextArr.length) { + for (let i = 0; i < signedContextArr.length; i++) { + const signedContextEntity = createSignedContext( + event.transaction.hash.toHex(), + event.logIndex.toHex() + ); + + signedContextEntity.context = signedContextArr[i]; + signedContextEntity.signer = Bytes.fromHexString( + getEvenHex(signers[i].toHex()) + ); + + signedContextEntity.save(); + + signedContextEntities.push(signedContextEntity.id); + } + } + } + + // Temp + const contextTakeOrder = new ContextEntity("ContextTakeOrderTemp"); + + contextTakeOrder.caller = sender; + contextTakeOrder.contract = callerContract; + contextTakeOrder.callingContext = callingContext; + contextTakeOrder.calculationsContext = calculationsContext; + contextTakeOrder.vaultInputsContext = vaultInputsContext; + contextTakeOrder.vaultOutputsContext = vaultOutputsContext; + contextTakeOrder.signedContext = signedContextEntities; + + contextTakeOrder.emitter = createAccount(event.params.sender).id; + contextTakeOrder.timestamp = event.block.timestamp; + contextTakeOrder.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + + contextTakeOrder.save(); + } + } +} + +export function handleAddOrder(event: AddOrder): void { + // Order parameter from event + const orderParam = event.params.order; + + const orderHashHex = getEvenHex(event.params.orderHash.toHex()); + + let order = new Order(orderHashHex); + + order.ordersClears = []; + order.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + + order.orderHash = Bytes.fromHexString( + getEvenHex(event.params.orderHash.toHex()) + ); + order.timestamp = event.block.timestamp; + order.owner = createAccount(orderParam.owner).id; + order.emitter = createAccount(event.params.sender).id; + + order.expressionDeployer = event.params.expressionDeployer; + order.expression = orderParam.evaluable.expression; + order.interpreter = orderParam.evaluable.interpreter; + order.interpreterStore = orderParam.evaluable.store; + order.handleIO = orderParam.handleIO; + order.orderActive = true; + order.validInputs = []; + order.validOutputs = []; + + for (let i = 0; i < orderParam.validInputs.length; i++) { + let token = createToken(orderParam.validInputs[i].token); + let vault = createVault( + orderParam.validInputs[i].vaultId.toString(), + orderParam.owner + ); + let tokenVault = createTokenVault( + orderParam.validInputs[i].vaultId.toString(), + event.params.sender, + orderParam.validInputs[i].token + ); + + if (tokenVault) { + let orders = tokenVault.orders; + if (orders) orders.push(order.id); + tokenVault.orders = orders; + tokenVault.save(); + } + + let input = new IO( + `${orderHashHex}-${token.id}-${orderParam.validInputs[i].vaultId}` + ); + input.token = token.id; + input.decimals = orderParam.validInputs[i].decimals; + input.vault = vault.id; + input.vaultId = orderParam.validInputs[i].vaultId; + input.order = orderHashHex; + input.tokenVault = tokenVault.id; + input.index = i; + input.save(); + + // Add the input to the order entity + const auxInput = order.validInputs; + if (auxInput) if (!auxInput.includes(input.id)) auxInput.push(input.id); + order.validInputs = auxInput; + } + + for (let i = 0; i < orderParam.validOutputs.length; i++) { + let token = createToken(orderParam.validOutputs[i].token); + let vault = createVault( + orderParam.validOutputs[i].vaultId.toString(), + orderParam.owner + ); + let tokenVault = createTokenVault( + orderParam.validOutputs[i].vaultId.toString(), + event.params.sender, + orderParam.validOutputs[i].token + ); + + if (tokenVault) { + let orders = tokenVault.orders; + if (orders) orders.push(order.id); + tokenVault.orders = orders; + tokenVault.save(); + } + + let output = new IO( + `${orderHashHex}-${token.id}-${orderParam.validOutputs[i].vaultId}` + ); + output.token = token.id; + output.decimals = orderParam.validOutputs[i].decimals; + output.vault = vault.id; + output.vaultId = orderParam.validOutputs[i].vaultId; + output.order = orderHashHex; + output.tokenVault = tokenVault.id; + output.index = i; + output.save(); + + // Use the OrderString class to generate a Order JSON string compatible value + const orderString = new OrderString(orderParam); + order.orderJSONString = orderString.stringify(); + + // Add the input to the order entity + const auxOutput = order.validOutputs; + if (auxOutput) + if (!auxOutput.includes(output.id)) auxOutput.push(output.id); + + order.validOutputs = auxOutput; + } + + const receipt = event.receipt; + if (receipt && receipt.logs.length > 0) { + const logs = receipt.logs; + + const log_newExpression = logs.findIndex( + (log_) => log_.topics[0].toHex() == NEW_EXPRESSION_EVENT_TOPIC + ); + + if (log_newExpression != -1) { + const log_callerMeta = logs[log_newExpression]; + + const dataTuple = tuplePrefix.concat(log_callerMeta.data); + + const decodedData = ethereum.decode( + "(address,bytes[],uint256[],uint256[])", + dataTuple + ); + + if (decodedData && decodedData.kind === ethereum.ValueKind.TUPLE) { + const newExpressionTuple = decodedData.toTuple(); + + const sources_ = newExpressionTuple[1].toBytesArray(); + const constants_ = newExpressionTuple[2].toBigIntArray(); + + const expressionJsonString = new ExpressionJSONString( + sources_, + constants_ + ); + order.expressionJSONString = expressionJsonString.stringify(); + } + } + } + + order.save(); +} + +export function handleAfterClear(event: AfterClear): void { + let config = ClearOrderConfig.load("1"); + const clearStateChange = event.params.clearStateChange; + + // Amounts + const aliceInput = clearStateChange.aliceInput; + const aliceOutput = clearStateChange.aliceOutput; + const bobInput = clearStateChange.bobInput; + const bobOutput = clearStateChange.bobOutput; + + // Bounty amounts + const bountyAmountA = aliceOutput.minus(bobInput); + const bountyAmountB = bobOutput.minus(aliceInput); + + if (config) { + let orderClearStateChange = new OrderClearStateChange(config.orderClearId); + orderClearStateChange.orderClear = config.orderClearId; + orderClearStateChange.aInput = aliceInput; + orderClearStateChange.aOutput = aliceOutput; + orderClearStateChange.bInput = bobInput; + orderClearStateChange.bOutput = bobOutput; + orderClearStateChange.save(); + + let bounty = Bounty.load(config.orderClearId); + if (bounty) { + bounty.bountyAmountA = bountyAmountA; + bounty.bountyAmountADisplay = toDisplay( + bountyAmountA, + bounty.bountyTokenA + ); + bounty.bountyAmountB = bountyAmountB; + bounty.bountyAmountBDisplay = toDisplay( + bountyAmountB, + bounty.bountyTokenB + ); + bounty.save(); + } + + if (bountyAmountA.gt(BigInt.zero())) { + const tokenVaultBounty_A = TokenVault.load(config.tokenVaultBountyAlice); + + if (tokenVaultBounty_A) { + tokenVaultBounty_A.balance = + tokenVaultBounty_A.balance.plus(bountyAmountA); + tokenVaultBounty_A.balanceDisplay = toDisplay( + tokenVaultBounty_A.balance, + tokenVaultBounty_A.token + ); + + tokenVaultBounty_A.save(); + } + } + + if (bountyAmountB.gt(BigInt.zero())) { + const tokenVaultBounty_B = TokenVault.load(config.tokenVaultBountyBob); + + if (tokenVaultBounty_B) { + tokenVaultBounty_B.balance = + tokenVaultBounty_B.balance.plus(bountyAmountB); + tokenVaultBounty_B.balanceDisplay = toDisplay( + tokenVaultBounty_B.balance, + tokenVaultBounty_B.token + ); + + tokenVaultBounty_B.save(); + } + } + + // TokenVaults IDs to update balance + const aliceTokenVaultInput_ID = config.aliceTokenVaultInput; + const aliceTokenVaultOutput_ID = config.aliceTokenVaultOutput; + const bobTokenVaultInput_ID = config.bobTokenVaultInput; + const bobTokenVaultOutput_ID = config.bobTokenVaultOutput; + + // Updating alice input/output balance + const aliceTokenVaultInput = TokenVault.load(aliceTokenVaultInput_ID); + if (aliceTokenVaultInput) { + aliceTokenVaultInput.balance = + aliceTokenVaultInput.balance.plus(aliceInput); + aliceTokenVaultInput.balanceDisplay = toDisplay( + aliceTokenVaultInput.balance, + aliceTokenVaultInput.token + ); + aliceTokenVaultInput.save(); + } + + const aliceTokenVaultOutput = TokenVault.load(aliceTokenVaultOutput_ID); + if (aliceTokenVaultOutput) { + aliceTokenVaultOutput.balance = + aliceTokenVaultOutput.balance.minus(aliceOutput); + aliceTokenVaultOutput.balanceDisplay = toDisplay( + aliceTokenVaultOutput.balance, + aliceTokenVaultOutput.token + ); + aliceTokenVaultOutput.save(); + } + + // Updating bob input/output balance + const bobTokenVaultInput = TokenVault.load(bobTokenVaultInput_ID); + if (bobTokenVaultInput) { + bobTokenVaultInput.balance = bobTokenVaultInput.balance.plus(bobInput); + bobTokenVaultInput.balanceDisplay = toDisplay( + bobTokenVaultInput.balance, + bobTokenVaultInput.token + ); + bobTokenVaultInput.save(); + } + + const bobTokenVaultOutput = TokenVault.load(bobTokenVaultOutput_ID); + if (bobTokenVaultOutput) { + bobTokenVaultOutput.balance = + bobTokenVaultOutput.balance.minus(bobOutput); + bobTokenVaultOutput.balanceDisplay = toDisplay( + bobTokenVaultOutput.balance, + bobTokenVaultOutput.token + ); + bobTokenVaultOutput.save(); + } + } +} + +export function handleClear(event: Clear): void { + const alice = event.params.alice; + const bob = event.params.bob; + const clearConfig = event.params.clearConfig; + const sender = event.params.sender; + + let orderClear = createOrderClear(event.transaction.hash.toHex()); + orderClear.sender = createAccount(sender).id; + orderClear.clearer = createAccount(sender).id; + + const order_A = createOrder(alice); + const order_B = createOrder(changetype(bob)); + + orderClear.orderA = order_A.id; + orderClear.orderB = order_B.id; + + // Saving order clears to each orders + // - ORDER A + const ordersClears_A = order_A.ordersClears; + if (ordersClears_A) ordersClears_A.push(orderClear.id); + order_A.ordersClears = ordersClears_A; + order_A.save(); + // - ORDER B + const ordersClears_B = order_B.ordersClears; + if (ordersClears_B) ordersClears_B.push(orderClear.id); + order_B.ordersClears = ordersClears_B; + order_B.save(); + + orderClear.owners = [ + createAccount(alice.owner).id, + createAccount(bob.owner).id, + ]; + orderClear.aInputIOIndex = clearConfig.aliceInputIOIndex; + orderClear.aOutputIOIndex = clearConfig.aliceOutputIOIndex; + orderClear.bInputIOIndex = clearConfig.bobInputIOIndex; + orderClear.bOutputIOIndex = clearConfig.bobOutputIOIndex; + orderClear.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + orderClear.emitter = createAccount(event.params.sender).id; + orderClear.timestamp = event.block.timestamp; + orderClear.save(); + + let bounty = new Bounty(orderClear.id); + bounty.clearer = createAccount(sender).id; + bounty.orderClear = orderClear.id; + bounty.bountyVaultA = createVault( + clearConfig.aliceBountyVaultId.toString(), + sender + ).id; + bounty.bountyVaultB = createVault( + clearConfig.bobBountyVaultId.toString(), + sender + ).id; + + bounty.bountyTokenA = createToken( + alice.validOutputs[clearConfig.aliceOutputIOIndex.toI32()].token + ).id; + bounty.bountyTokenB = createToken( + bob.validOutputs[clearConfig.bobOutputIOIndex.toI32()].token + ).id; + bounty.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + bounty.emitter = createAccount(event.params.sender).id; + bounty.timestamp = event.block.timestamp; + bounty.save(); + + // IO Index values used to clear (for alice and bob) + const aliceInputIOIndex = clearConfig.aliceInputIOIndex.toI32(); + const aliceOutputIOIndex = clearConfig.aliceOutputIOIndex.toI32(); + const bobInputIOIndex = clearConfig.bobInputIOIndex.toI32(); + const bobOutputIOIndex = clearConfig.bobOutputIOIndex.toI32(); + + // Valid inputs/outpus based on the Index used (for alice and bob) + const aliceInputValues = alice.validInputs[aliceInputIOIndex]; + const aliceOutputValues = alice.validOutputs[aliceOutputIOIndex]; + const bobInputValues = bob.validInputs[bobInputIOIndex]; + const bobOutputValues = bob.validOutputs[bobOutputIOIndex]; + + // Token input/output based on the Index used (for alice and bob) + const aliceTokenInput = aliceInputValues.token; + const aliceTokenOutput = aliceOutputValues.token; + const bobTokenInput = bobInputValues.token; + const bobTokenOutput = bobOutputValues.token; + + // Vault IDs input/output based on the Index used (for alice and bob) + const aliceVaultInput = aliceInputValues.vaultId; + const aliceVaultOutput = aliceOutputValues.vaultId; + const bobVaultInput = bobInputValues.vaultId; + const bobVaultOutput = bobOutputValues.vaultId; + + // Token Vault IDs to use + const aliceTokenVaultInput = `${aliceVaultInput.toString()}-${alice.owner.toHex()}-${aliceTokenInput.toHex()}`; + const aliceTokenVaultOutput = `${aliceVaultOutput.toString()}-${alice.owner.toHex()}-${aliceTokenOutput.toHex()}`; + const bobTokenVaultInput = `${bobVaultInput.toString()}-${bob.owner.toHex()}-${bobTokenInput.toHex()}`; + const bobTokenVaultOutput = `${bobVaultOutput.toString()}-${bob.owner.toHex()}-${bobTokenOutput.toHex()}`; + + // Only should link the TokenVault to OrderClear where they are being clear + // using a the given vault and token. + // Only will link to four (4) token vaults this clear. Does not care if the + // orders have more valid inputs/outputs. + const tokenVaultArr = [ + aliceTokenVaultInput, + aliceTokenVaultOutput, + bobTokenVaultInput, + bobTokenVaultOutput, + ]; + + // The token vault should exist on this point since it was created when + // the order was added. + for (let i = 0; i < 4; i++) { + const tokenVault_ID = tokenVaultArr[i]; + let tokenVault = TokenVault.load(tokenVault_ID); + if (tokenVault) { + let orderClears = tokenVault.orderClears; + if (orderClears) orderClears.push(orderClear.id); + tokenVault.orderClears = orderClears; + tokenVault.save(); + } + } + + // Clearer/Bounty address token vaults + let tokenVaultBountyAlice = createTokenVault( + event.params.clearConfig.aliceBountyVaultId.toString(), + event.params.sender, + event.params.alice.validOutputs[ + event.params.clearConfig.aliceOutputIOIndex.toI32() + ].token + ); + + let tokenVaultBountyBob = createTokenVault( + event.params.clearConfig.bobBountyVaultId.toString(), + event.params.sender, + event.params.bob.validOutputs[ + event.params.clearConfig.bobOutputIOIndex.toI32() + ].token + ); + + let config = new ClearOrderConfig("1"); + config.orderClearId = orderClear.id; + config.tokenVaultBountyAlice = tokenVaultBountyAlice.id; + config.tokenVaultBountyBob = tokenVaultBountyBob.id; + config.aliceTokenVaultInput = aliceTokenVaultInput; + config.aliceTokenVaultOutput = aliceTokenVaultOutput; + config.bobTokenVaultInput = bobTokenVaultInput; + config.bobTokenVaultOutput = bobTokenVaultOutput; + config.save(); +} + +export function handleDeposit(event: Deposit): void { + let tokenVault = createTokenVault( + event.params.vaultId.toString(), + event.params.sender, + event.params.token + ); + + if (tokenVault) { + tokenVault.balance = tokenVault.balance.plus(event.params.amount); + tokenVault.balanceDisplay = toDisplay( + tokenVault.balance, + event.params.token.toHexString() + ); + tokenVault.save(); + } + + let vaultDeposit = createVaultDeposit(event.transaction.hash.toHex()); + vaultDeposit.sender = createAccount(event.params.sender).id; + vaultDeposit.token = createToken(event.params.token).id; + vaultDeposit.vaultId = event.params.vaultId; + vaultDeposit.vault = createVault( + event.params.vaultId.toString(), + event.params.sender + ).id; + vaultDeposit.amount = event.params.amount; + vaultDeposit.amountDisplay = toDisplay( + vaultDeposit.amount, + event.params.token.toHexString() + ); + vaultDeposit.tokenVault = tokenVault.id; + vaultDeposit.vault = createVault( + event.params.vaultId.toString(), + event.params.sender + ).id; + vaultDeposit.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + vaultDeposit.emitter = createAccount(event.params.sender).id; + vaultDeposit.timestamp = event.block.timestamp; + vaultDeposit.save(); +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function handleOrderExceedsMaxRatio(event: OrderExceedsMaxRatio): void { + // +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function handleOrderNotFound(event: OrderNotFound): void { + // +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function handleOrderZeroAmount(event: OrderZeroAmount): void { + // +} + +export function handleRemoveOrder(event: RemoveOrder): void { + const orderHashHex = getEvenHex(event.params.orderHash.toHex()); + + let order = Order.load(orderHashHex); + if (order) { + order.orderActive = false; + order.save(); + } +} + +export function handleTakeOrder(event: TakeOrder): void { + let takeOrderEntity = createTakeOrderConfig(event.transaction.hash.toHex()); + takeOrderEntity.sender = createAccount(event.params.sender).id; + takeOrderEntity.order = createOrder( + changetype(event.params.config.order) + ).id; + + takeOrderEntity.input = event.params.input; + takeOrderEntity.inputDisplay = toDisplay( + event.params.input, + event.params.config.order.validOutputs[ + event.params.config.outputIOIndex.toI32() + ].token.toHexString() + ); + + takeOrderEntity.output = event.params.output; + takeOrderEntity.outputDisplay = toDisplay( + event.params.output, + event.params.config.order.validInputs[ + event.params.config.inputIOIndex.toI32() + ].token.toHexString() + ); + if (takeOrderEntity.outputDisplay != BigDecimal.zero()) { + takeOrderEntity.IORatio = takeOrderEntity.inputDisplay.div( + takeOrderEntity.outputDisplay + ); + } else { + takeOrderEntity.IORatio = BigDecimal.zero(); + } + + takeOrderEntity.inputIOIndex = event.params.config.inputIOIndex; + takeOrderEntity.outputIOIndex = event.params.config.outputIOIndex; + + takeOrderEntity.inputToken = createToken( + event.params.config.order.validOutputs[ + event.params.config.outputIOIndex.toI32() + ].token + ).id; + + takeOrderEntity.outputToken = createToken( + event.params.config.order.validInputs[ + event.params.config.inputIOIndex.toI32() + ].token + ).id; + + takeOrderEntity.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + takeOrderEntity.emitter = createAccount(event.params.sender).id; + takeOrderEntity.timestamp = event.block.timestamp; + + // Adding the context + const contextTakeOrder = ContextEntity.load("ContextTakeOrderTemp"); + if (contextTakeOrder) { + const contextEntity = createContextEntity( + event.transaction.hash.toHex(), + event.logIndex.toHex() + ); + + contextEntity.caller = contextTakeOrder.caller; + contextEntity.contract = contextTakeOrder.contract; + contextEntity.callingContext = contextTakeOrder.callingContext; + contextEntity.calculationsContext = contextTakeOrder.calculationsContext; + contextEntity.vaultInputsContext = contextTakeOrder.vaultInputsContext; + contextEntity.vaultOutputsContext = contextTakeOrder.vaultOutputsContext; + contextEntity.signedContext = contextTakeOrder.signedContext; + + contextEntity.emitter = contextTakeOrder.emitter; + contextEntity.timestamp = contextTakeOrder.timestamp; + contextEntity.transaction = contextTakeOrder.transaction; + + takeOrderEntity.context = contextEntity.id; + + contextEntity.save(); + + // store.remove("ContextEntity", "ContextTakeOrderTemp"); + } + + takeOrderEntity.save(); + + // Updating Balance + + let order = event.params.config.order; + + // IO Index values used to takeOrder + const inputIOIndex = event.params.config.inputIOIndex.toI32(); + const outputIOIndex = event.params.config.outputIOIndex.toI32(); + + // Valid inputs/outpus based on the Index used + const inputValues = order.validInputs[inputIOIndex]; + const outputValues = order.validOutputs[outputIOIndex]; + + // Token input/output based on the Index used + const tokenInput = inputValues.token; + const tokenOutput = outputValues.token; + + // Vault IDs input/output based on the Index used + const vaultInput = inputValues.vaultId; + const vaultOutput = outputValues.vaultId; + + const tokenVaultInput = `${vaultInput.toString()}-${order.owner.toHex()}-${tokenInput.toHex()}`; + const tokenVaultOutput = `${vaultOutput.toString()}-${order.owner.toHex()}-${tokenOutput.toHex()}`; + + // Updating order input/output balance + const orderTokenVaultInput = TokenVault.load(tokenVaultInput); + if (orderTokenVaultInput) { + orderTokenVaultInput.balance = orderTokenVaultInput.balance.plus( + event.params.output + ); + orderTokenVaultInput.balanceDisplay = toDisplay( + orderTokenVaultInput.balance, + orderTokenVaultInput.token + ); + orderTokenVaultInput.save(); + + let takeOrderTokenVault = TokenVaultTakeOrder.load( + `${takeOrderEntity.id}-${orderTokenVaultInput.id}` + ); + if (!takeOrderTokenVault) { + takeOrderTokenVault = new TokenVaultTakeOrder( + `${takeOrderEntity.id}-${orderTokenVaultInput.id}` + ); + takeOrderTokenVault.wasInput = true; + takeOrderTokenVault.wasOutput = false; + takeOrderTokenVault.takeOrder = takeOrderEntity.id; + takeOrderTokenVault.tokenVault = orderTokenVaultInput.id; + takeOrderTokenVault.save(); + } + } + + // Updating order input/output balance + const orderTokenVaultOutput = TokenVault.load(tokenVaultOutput); + if (orderTokenVaultOutput) { + orderTokenVaultOutput.balance = orderTokenVaultOutput.balance.minus( + event.params.input + ); + orderTokenVaultOutput.balanceDisplay = toDisplay( + orderTokenVaultOutput.balance, + orderTokenVaultOutput.token + ); + orderTokenVaultOutput.save(); + + let takeOrderTokenVault = TokenVaultTakeOrder.load( + `${takeOrderEntity.id}-${orderTokenVaultOutput.id}` + ); + if (!takeOrderTokenVault) { + takeOrderTokenVault = new TokenVaultTakeOrder( + `${takeOrderEntity.id}-${orderTokenVaultOutput.id}` + ); + takeOrderTokenVault.wasInput = false; + takeOrderTokenVault.wasOutput = true; + takeOrderTokenVault.takeOrder = takeOrderEntity.id; + takeOrderTokenVault.tokenVault = orderTokenVaultOutput.id; + takeOrderTokenVault.save(); + } + } +} + +export function handleWithdraw(event: Withdraw): void { + let tokenVault = createTokenVault( + event.params.vaultId.toString(), + event.params.sender, + event.params.token + ); + + if (tokenVault) { + tokenVault.balance = tokenVault.balance.minus(event.params.amount); + tokenVault.balanceDisplay = toDisplay( + tokenVault.balance, + event.params.token.toHexString() + ); + tokenVault.save(); + } + + let vaultWithdraw = createVaultWithdraw(event.transaction.hash.toHex()); + vaultWithdraw.sender = createAccount(event.params.sender).id; + vaultWithdraw.token = createToken(event.params.token).id; + vaultWithdraw.vaultId = event.params.vaultId; + vaultWithdraw.vault = createVault( + event.params.vaultId.toString(), + event.params.sender + ).id; + vaultWithdraw.requestedAmount = event.params.targetAmount; + vaultWithdraw.requestedAmountDisplay = toDisplay( + event.params.targetAmount, + event.params.token.toHexString() + ); + vaultWithdraw.amount = event.params.amount; + vaultWithdraw.amountDisplay = toDisplay( + vaultWithdraw.amount, + event.params.token.toHexString() + ); + vaultWithdraw.tokenVault = tokenVault.id; + vaultWithdraw.vault = createVault( + event.params.vaultId.toString(), + event.params.sender + ).id; + vaultWithdraw.transaction = createTransaction( + event.transaction.hash.toHex(), + event.block + ).id; + vaultWithdraw.emitter = createAccount(event.params.sender).id; + vaultWithdraw.timestamp = event.block.timestamp; + vaultWithdraw.save(); +} + +export function handleMetaV1(event: MetaV1): void { + const metaV1 = getRainMetaV1(event.params.meta); + + const subjectHex = getEvenHex(event.params.subject.toHex()); + + // If the subject is equal to the emiter address, then the meta is for the OB. + // In this scenario, it is considered that is from DeployerDiscoverableMeta. + if (subjectHex == event.address.toHex()) { + let orderBook = OrderBook.load(event.address); + if (!orderBook) { + orderBook = new OrderBook(event.address); + orderBook.deployer = event.transaction.from; + orderBook.address = event.address; + orderBook.meta = metaV1.id; + + orderBook.save(); + } + } else { + // If not, the subject is an OrderHash then it's an Order meta + const orderHash = getEvenHex(event.params.subject.toHex()); + const order = Order.load(orderHash); + if (order) { + order.meta = metaV1.id; + order.save(); + } + } + + // Converts the emitted target from Bytes to a Hexadecimal value + let meta = event.params.meta.toHex(); + + // Decode the meta only if incluse the RainMeta magic number. + if (meta.includes(RAIN_META_DOCUMENT_HEX)) { + meta = meta.replace(RAIN_META_DOCUMENT_HEX, ""); + const data = new CBORDecoder(stringToArrayBuffer(meta)); + const res = data.parse(); + + const contentArr: ContentMeta[] = []; + + if (res.isSequence) { + const dataString = res.toString(); + const jsonArr = json.fromString(dataString).toArray(); + for (let i = 0; i < jsonArr.length; i++) { + const jsonValue = jsonArr[i]; + + // if some value is not a JSON/Map, then is not following the RainMeta design. + // So, return here to avoid assignation. + if (jsonValue.kind != JSONValueKind.OBJECT) return; + + const jsonContent = jsonValue.toObject(); + + // If some content is not valid, then skip it since is bad formed + if (!ContentMeta.validate(jsonContent)) return; + + const content = new ContentMeta(jsonContent, metaV1.id); + contentArr.push(content); + } + } else if (res.isObj) { + const dataString = res.toString(); + const jsonObj = json.fromString(dataString).toObject(); + + if (!ContentMeta.validate(jsonObj)) return; + const content = new ContentMeta(jsonObj, metaV1.id); + contentArr.push(content); + // + } else { + // If the response is NOT a Sequence or an Object, then the meta have an + // error or it's bad formed. + // In this case, we skip to continue the decoding and assignation process. + return; + } + + for (let i = 0; i < contentArr.length; i++) { + contentArr[i].generate(); + } + } else { + // The meta emitted does not include the RainMeta magic number, so does not + // follow the RainMeta Desing + return; + } +} +export class ContentMeta { + rainMetaId: Bytes; + payload: Bytes = Bytes.empty(); + // eslint-disable-next-line @typescript-eslint/ban-types + magicNumber: BigInt = BigInt.zero(); + contentType: string = ""; + contentEncoding: string = ""; + contentLanguage: string = ""; + + constructor( + metaContentV1Object_: TypedMap, + rainMetaID_: Bytes + ) { + const payload = metaContentV1Object_.get("0"); + const magicNumber = metaContentV1Object_.get("1"); + const contentType = metaContentV1Object_.get("2"); + const contentEncoding = metaContentV1Object_.get("3"); + const contentLanguage = metaContentV1Object_.get("4"); + + // RainMetaV1 ID + this.rainMetaId = rainMetaID_; + + // Mandatories keys + if (payload) { + let auxPayload = payload.toString(); + if (auxPayload.startsWith("h'")) { + auxPayload = auxPayload.replace("h'", ""); + } + if (auxPayload.endsWith("'")) { + auxPayload = auxPayload.replace("'", ""); + } + + this.payload = Bytes.fromHexString(auxPayload); + } + + // if (payload) this.payload = payload.toString(); + if (magicNumber) this.magicNumber = magicNumber.toBigInt(); + + // Keys optionals + if (contentType) this.contentType = contentType.toString(); + if (contentEncoding) this.contentEncoding = contentEncoding.toString(); + if (contentLanguage) this.contentLanguage = contentLanguage.toString(); + } + + /** + * Validate that the keys exist on the map + */ + static validate(metaContentV1Object: TypedMap): boolean { + const payload = metaContentV1Object.get("0"); + const magicNumber = metaContentV1Object.get("1"); + const contentType = metaContentV1Object.get("2"); + const contentEncoding = metaContentV1Object.get("3"); + const contentLanguage = metaContentV1Object.get("4"); + + // Only payload and magicNumber are mandatory on RainMetaV1 + // See: https://github.com/rainprotocol/specs/blob/main/metadata-v1.md + if (payload && magicNumber) { + if ( + payload.kind == JSONValueKind.STRING || + magicNumber.kind == JSONValueKind.NUMBER + ) { + // Check if payload is a valid Bytes (hexa) + let auxPayload = payload.toString(); + if (auxPayload.startsWith("h'")) { + auxPayload = auxPayload.replace("h'", ""); + } + if (auxPayload.endsWith("'")) { + auxPayload = auxPayload.replace("'", ""); + } + + // If the payload is not a valid bytes value + if (!isHexadecimalString(auxPayload)) { + return false; + } + + // Check the type of optionals keys + if (contentType) { + if (contentType.kind != JSONValueKind.STRING) { + return false; + } + } + if (contentEncoding) { + if (contentEncoding.kind != JSONValueKind.STRING) { + return false; + } + } + if (contentLanguage) { + if (contentLanguage.kind != JSONValueKind.STRING) { + return false; + } + } + + return true; + } + } + + return false; + } + + private getContentId(): Bytes { + // Values as Bytes + const payloadB = this.payload; + const magicNumberB = Bytes.fromHexString(this.magicNumber.toHex()); + const contentTypeB = Bytes.fromUTF8(this.contentType); + const contentEncodingB = Bytes.fromUTF8(this.contentEncoding); + const contentLanguageB = Bytes.fromUTF8(this.contentLanguage); + + // payload + magicNumber + contentType + contentEncoding + contentLanguage + const contentId = getKeccak256FromBytes( + payloadB + .concat(magicNumberB) + .concat(contentTypeB) + .concat(contentEncodingB) + .concat(contentLanguageB) + ); + + return contentId; + } + + /** + * Create or generate a MetaContentV1 entity based on the current fields: + * + * - If the MetaContentV1 does not exist, create the MetaContentV1 entity and + * made the relation to the rainMetaId. + * + * - If the MetaContentV1 does exist, add the relation to the rainMetaId. + */ + generate(): MetaContentV1 { + const contentId = this.getContentId(); + + let metaContent = MetaContentV1.load(contentId); + + if (!metaContent) { + metaContent = new MetaContentV1(contentId); + + metaContent.payload = this.payload; + metaContent.magicNumber = this.magicNumber; + metaContent.documents = []; + + if (this.contentType != "") metaContent.contentType = this.contentType; + + if (this.contentEncoding != "") + metaContent.contentEncoding = this.contentEncoding; + + if (this.contentLanguage != "") + metaContent.contentLanguage = this.contentLanguage; + } + + const aux = metaContent.documents; + if (!aux.includes(this.rainMetaId)) aux.push(this.rainMetaId); + + metaContent.documents = aux; + + metaContent.save(); + + return metaContent; + } +} diff --git a/subgraph/src/orderJsonString.ts b/subgraph/src/orderJsonString.ts new file mode 100644 index 0000000000..f7aadccbaf --- /dev/null +++ b/subgraph/src/orderJsonString.ts @@ -0,0 +1,137 @@ +import { Address, BigInt, Bytes, log } from "@graphprotocol/graph-ts"; +import { AddOrderOrderStruct } from "../generated/OrderBook/OrderBook"; +import { getEvenHex } from "./utils"; + +class JsonString { + _obj: Map; + + constructor(map_: Map) { + this._obj = map_; + } + + stringify(): string { + const keys = this._obj.keys(); + const objs: string[] = new Array(keys.length); + + for (let i: i32 = 0; i < keys.length; i++) { + const key = keys[i]; + const value = this._obj.get(key); + // "Array" + if (value.startsWith("[") && value.endsWith("]")) { + // + objs[i] = `"${key}":${value}`; + } else { + objs[i] = `"${key}":"${value}"`; + } + } + + return `{${objs.join(",")}}`; + } +} + +/** + * Generate a JSON string for a given order to be ready to use with tools + */ + +export class OrderString extends JsonString { + constructor(order_: AddOrderOrderStruct) { + const _map: Map = new Map(); + + const evaluable_ = new Evaluable_String( + order_.evaluable.interpreter, + order_.evaluable.store, + order_.evaluable.expression + ); + + const validInputsArr: string[] = []; + const validOutputsArr: string[] = []; + + const validInputs_ = order_.validInputs; + const validOutputs_ = order_.validOutputs; + + for (let i = 0; i < validInputs_.length; i++) { + const input_ = validInputs_[i]; + const io_ = new IO_String(input_.token, input_.decimals, input_.vaultId); + + validInputsArr.push(io_.stringify()); + } + + for (let i = 0; i < validOutputs_.length; i++) { + const output_ = validOutputs_[i]; + const io_ = new IO_String( + output_.token, + output_.decimals, + output_.vaultId + ); + + validOutputsArr.push(io_.stringify()); + } + + _map.set("owner", getEvenHex(order_.owner.toHex())); + _map.set("handleIO", (order_.handleIO as bool).toString()); + _map.set("evaluable", evaluable_.stringify()); + _map.set("validInputs", `[${validInputsArr.join(",")}]`); + _map.set("validOutputs", `[${validOutputsArr.join(",")}]`); + + super(_map); + } + + stringify(): string { + const keys = this._obj.keys(); + const objs: string[] = new Array(keys.length); + + for (let i: i32 = 0; i < keys.length; i++) { + const key = keys[i]; + const value = this._obj.get(key); + if (key == "owner") { + objs[i] = `"${key}":"${value}"`; + } else { + objs[i] = `"${key}":${value}`; + } + } + + return `{${objs.join(",")}}`; + } +} + +class IO_String extends JsonString { + constructor(token_: Address, decimals_: number, vaultId_: BigInt) { + const _map: Map = new Map(); + + _map.set("token", getEvenHex(token_.toHex())); + _map.set("decimals", decimals_.toString().split(".")[0]); + _map.set("vaultId", getEvenHex(vaultId_.toHex())); + + super(_map); + } +} + +class Evaluable_String extends JsonString { + constructor(interpreter_: Address, store_: Address, expression_: Address) { + const _map: Map = new Map(); + + _map.set("interpreter", getEvenHex(interpreter_.toHex())); + _map.set("store", getEvenHex(store_.toHex())); + _map.set("expression", getEvenHex(expression_.toHex())); + + super(_map); + } +} + +export class ExpressionJSONString extends JsonString { + constructor(sources_: Bytes[], constants_: BigInt[]) { + const _map: Map = new Map(); + + const sources_string = sources_.map( + (x: Bytes): string => `"${x.toHexString()}"` + ); + const constants_string = constants_.map( + (x): string => `"${x.toHexString()}"` + ); + + _map.set("sources", `[${sources_string.join(",")}]`); + _map.set("constants", `[${constants_string.join(",")}]`); + + super(_map); + } +} diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts new file mode 100644 index 0000000000..2aef28f46e --- /dev/null +++ b/subgraph/src/utils.ts @@ -0,0 +1,364 @@ +import { + Bytes, + BigInt, + Address, + ethereum, + crypto, + BigDecimal, +} from "@graphprotocol/graph-ts"; +import { + Account, + ContextEntity, + ERC20, + Order, + OrderBook, + OrderClear, + RainMetaV1, + SignedContext, + TakeOrderEntity, + TokenVault, + Transaction, + Vault, + VaultDeposit, + VaultWithdraw, +} from "../generated/schema"; +import { ReserveToken } from "../generated/OrderBook/ReserveToken"; +import { ClearAliceStruct } from "../generated/OrderBook/OrderBook"; + +export const RAIN_META_DOCUMENT_HEX = "0xff0a89c674ee7874"; + +// Orderbook: TakeOrder(address sender, TakeOrderConfig config, uint256 input, uint256 output) +export let TAKE_ORDER_EVENT_TOPIC = + "0x219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542"; + +// Orderbook: Clear(address sender, Order alice, Order bob, ClearConfig clearConfig) +export let CLEAR_EVENT_TOPIC = + "0xd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2"; + +// Orderbook: AfterClear(address sender, ClearStateChange clearStateChange); +export let AFTER_CLEAR_EVENT_TOPIC = + "0x3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d"; + +// ExpressionDeployer: NewExpression(address sender, bytes[] sources, uint256[] constants, uint256[] minOutputs) +export let NEW_EXPRESSION_EVENT_TOPIC = + "0xf66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786"; + +export const tuplePrefix = Bytes.fromHexString( + "0000000000000000000000000000000000000000000000000000000000000020" +); + +/** + * From a given hexadecimal string, check if it's have an even length + */ +export function getEvenHex(value_: string): string { + if (value_.length % 2) { + value_ = value_.slice(0, 2) + "0" + value_.slice(2); + } + + return value_; +} + +export function stringToArrayBuffer(val: string): ArrayBuffer { + const buff = new ArrayBuffer(val.length / 2); + const view = new DataView(buff); + for (let i = 0, j = 0; i < val.length; i = i + 2, j++) { + view.setUint8(j, u8(Number.parseInt(`${val.at(i)}${val.at(i + 1)}`, 16))); + } + return buff; +} + +export function createAccount(address: Bytes): Account { + let account = Account.load(address); + if (!account) { + account = new Account(address); + account.save(); + } + return account; +} + +export function createToken(address: Bytes): ERC20 { + let token = ERC20.load(address.toHex()); + let reserveToken = ReserveToken.bind(Address.fromBytes(address)); + if (!token) { + token = new ERC20(address.toHex()); + + let decimals = reserveToken.try_decimals(); + let name = reserveToken.try_name(); + let symbol = reserveToken.try_symbol(); + token.decimals = !decimals.reverted ? decimals.value : 0; + token.name = !name.reverted ? name.value : "NONE"; + token.symbol = !symbol.reverted ? symbol.value : "NONE"; + token.totalSupply = BigInt.zero(); + token.totalSupplyDisplay = BigDecimal.zero(); + token.save(); + } + let totalSupply = reserveToken.try_totalSupply(); + token.totalSupply = !totalSupply.reverted + ? totalSupply.value + : token.totalSupply; + token.save(); + return token; +} + +export function createVault(vaultId: string, owner: Bytes): Vault { + let vault = Vault.load(`${vaultId}-${owner.toHex()}`); + if (!vault) { + vault = new Vault(`${vaultId}-${owner.toHex()}`); + vault.owner = createAccount(owner).id; + vault.vaultId = BigInt.fromString(vaultId); + vault.save(); + } + return vault; +} + +export function createTokenVault( + vaultId: string, + owner: Bytes, + token: Bytes +): TokenVault { + let tokenVault = TokenVault.load( + `${vaultId}-${owner.toHex()}-${token.toHex()}` + ); + if (!tokenVault) { + tokenVault = new TokenVault(`${vaultId}-${owner.toHex()}-${token.toHex()}`); + tokenVault.owner = createAccount(owner).id; + tokenVault.token = createToken(token).id; + tokenVault.balance = BigInt.zero(); + tokenVault.balanceDisplay = BigDecimal.zero(); + tokenVault.vault = createVault(vaultId, owner).id; + tokenVault.vaultId = BigInt.fromString(vaultId); + tokenVault.orders = []; + tokenVault.orderClears = []; + tokenVault.save(); + } + return tokenVault; +} + +export function createOrder(order: ClearAliceStruct): Order { + let tupleEvaluable: Array = [ + ethereum.Value.fromAddress(order.evaluable.interpreter), + ethereum.Value.fromAddress(order.evaluable.store), + ethereum.Value.fromAddress(order.evaluable.expression), + ]; + + let evaluable = changetype(tupleEvaluable); + + let tupleValidInputs: Array = []; + for (let i = 0; i < order.validInputs.length; i++) { + let VI: Array = [ + ethereum.Value.fromAddress(order.validInputs[i].token), + ethereum.Value.fromI32(order.validInputs[i].decimals), + ethereum.Value.fromUnsignedBigInt(order.validInputs[i].vaultId), + ]; + + tupleValidInputs.push(changetype(VI)); + } + + let tupleValidOutputs: Array = []; + for (let i = 0; i < order.validOutputs.length; i++) { + let VO: Array = [ + ethereum.Value.fromAddress(order.validOutputs[i].token), + ethereum.Value.fromI32(order.validOutputs[i].decimals), + ethereum.Value.fromUnsignedBigInt(order.validOutputs[i].vaultId), + ]; + + tupleValidOutputs.push(changetype(VO)); + } + + let tupleArray: Array = [ + ethereum.Value.fromAddress(order.owner), + ethereum.Value.fromBoolean(order.handleIO), + ethereum.Value.fromTuple(evaluable), + ethereum.Value.fromTupleArray(tupleValidInputs), + ethereum.Value.fromTupleArray(tupleValidOutputs), + ]; + + let tuple = changetype(tupleArray); + let encodedOrder = ethereum.encode(ethereum.Value.fromTuple(tuple))!; + let keccak256 = crypto.keccak256(encodedOrder); + let orderHashHex = getEvenHex(keccak256.toHex()); + + let order_ = Order.load(orderHashHex); + if (order_) return order_; + else return new Order(orderHashHex); +} + +function hexToBI(hexString: string): BigInt { + return BigInt.fromUnsignedBytes( + changetype(Bytes.fromHexString(hexString).reverse()) + ); +} + +export function createTakeOrderConfig(txHash: string): TakeOrderEntity { + for (let i = 0; ; i++) { + let orderClear = TakeOrderEntity.load(`${txHash}-${i}`); + if (!orderClear) { + return new TakeOrderEntity(`${txHash}-${i}`); + } + } + return new TakeOrderEntity(""); +} + +export function createOrderClear(txHash: string): OrderClear { + for (let i = 0; ; i++) { + let orderClear = OrderClear.load(`${txHash}-${i}`); + if (!orderClear) { + return new OrderClear(`${txHash}-${i}`); + } + } + return new OrderClear(""); +} + +export function createVaultDeposit(txHash: string): VaultDeposit { + for (let i = 0; ; i++) { + let orderClear = VaultDeposit.load(`${txHash}-${i}`); + if (!orderClear) { + return new VaultDeposit(`${txHash}-${i}`); + } + } + return new VaultDeposit(""); +} + +export function createVaultWithdraw(txHash: string): VaultWithdraw { + for (let i = 0; ; i++) { + let orderClear = VaultWithdraw.load(`${txHash}-${i}`); + if (!orderClear) { + return new VaultWithdraw(`${txHash}-${i}`); + } + } + return new VaultWithdraw(""); +} + +export function getOB(obAddress_: Address): OrderBook { + let orderBook = OrderBook.load(obAddress_); + if (!orderBook) { + orderBook = new OrderBook(obAddress_); + orderBook.address = obAddress_; + orderBook.save(); + } + return orderBook; +} + +export function getRainMetaV1(meta_: Bytes): RainMetaV1 { + const metaV1_ID = getKeccak256FromBytes(meta_); + + let metaV1 = RainMetaV1.load(metaV1_ID); + + if (!metaV1) { + metaV1 = new RainMetaV1(metaV1_ID); + metaV1.metaBytes = meta_; + metaV1.save(); + } + + return metaV1; +} + +export function getKeccak256FromBytes(data_: Bytes): Bytes { + return Bytes.fromByteArray(crypto.keccak256(Bytes.fromByteArray(data_))); +} + +export function isHexadecimalString(str: string): boolean { + // Check if string is empty + if (str.length == 0) { + return false; + } + + // Check if each character is a valid hexadecimal character + for (let i = 0; i < str.length; i++) { + let charCode = str.charCodeAt(i); + if ( + !( + (charCode >= 48 && charCode <= 57) || // 0-9 + (charCode >= 65 && charCode <= 70) || // A-F + (charCode >= 97 && charCode <= 102) + ) + ) { + // a-f + return false; + } + } + + return true; +} + +export function createTransaction( + hash: string, + block: ethereum.Block +): Transaction { + let transaction = Transaction.load(hash); + if (!transaction) { + transaction = new Transaction(hash); + transaction.blockNumber = block.number; + transaction.timestamp = block.timestamp; + transaction.save(); + } + return transaction; +} + +export function toDisplay(amount: BigInt, token: string): BigDecimal { + let erc20 = createToken(Address.fromString(token)); + if (erc20) { + let denominator = BigInt.fromString(getZeros(erc20.decimals)); + return amount.toBigDecimal().div(denominator.toBigDecimal()); + } + return amount.toBigDecimal().div(BigDecimal.fromString(getZeros(0))); +} + +function getZeros(num: number): string { + let s = "1"; + for (let i = 0; i < num; i++) { + s = s + "0"; + } + return s; +} + +export function gcd(a: BigInt, b: BigInt): BigInt { + if (b.equals(BigInt.zero())) { + return a; + } else { + return gcd(b, a.mod(b)); + } +} + +export function BDtoBIMultiplier(n1: BigDecimal, n2: BigDecimal): BigInt { + let n1_split = n1.toString().split("."); + let n1_decimals = n1_split.length == 1 ? 0 : n1_split[1].length; + + let n2_split = n2.toString().split("."); + let n2_decimals = n2_split.length == 1 ? 0 : n2_split[1].length; + + let number: BigDecimal; + if (n1_decimals > n2_decimals) { + number = n1; + } else { + number = n2; + } + let location = number.toString().indexOf("."); + let len = number.toString().slice(location + 1).length; + return BigInt.fromString(getZeros(len)); +} + +export function createSignedContext( + txHash: string, + logIndex: string +): SignedContext { + for (let i = 0; ; i++) { + let signedContext = SignedContext.load(`${txHash}-${logIndex}-${i}`); + if (!signedContext) { + return new SignedContext(`${txHash}-${logIndex}-${i}`); + } + } + return new SignedContext(""); +} +export function createContextEntity( + txHash: string, + logIndex: string +): ContextEntity { + for (let i = 0; ; i++) { + let contextEntity = ContextEntity.load(`${txHash}-${logIndex}-${i}`); + if (!contextEntity) { + return new ContextEntity(`${txHash}-${logIndex}-${i}`); + } + } + return new ContextEntity(""); +} diff --git a/subgraph/subgraph.template.yaml b/subgraph/subgraph.template.yaml new file mode 100755 index 0000000000..9e573d8b33 --- /dev/null +++ b/subgraph/subgraph.template.yaml @@ -0,0 +1,68 @@ +specVersion: 0.0.4 +schema: + file: ./schema.graphql +dataSources: + - kind: ethereum/contract + name: OrderBook + network: {{ network }} + source: + address: "{{ orderbook }}" + abi: OrderBook + startBlock: {{ blockNumber }} + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + entities: + - OrderBook + abis: + - name: OrderBook + file: ./abis/OrderBook.json + - name: ReserveToken + file: ./abis/ReserveToken.json + eventHandlers: + - event: AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32) + handler: handleAddOrder + - event: AfterClear(address,(uint256,uint256,uint256,uint256)) + handler: handleAfterClear + - event: Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256)) + handler: handleClear + - event: Context(address,uint256[][]) + handler: handleContext + receipt: true + - event: Deposit(address,address,uint256,uint256) + handler: handleDeposit + - event: MetaV1(address,uint256,bytes) + handler: handleMetaV1 + - event: OrderExceedsMaxRatio(address,address,bytes32) + handler: handleOrderExceedsMaxRatio + - event: OrderNotFound(address,address,bytes32) + handler: handleOrderNotFound + - event: OrderZeroAmount(address,address,bytes32) + handler: handleOrderZeroAmount + - event: RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32) + handler: handleRemoveOrder + - event: TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256) + handler: handleTakeOrder + - event: Withdraw(address,address,uint256,uint256,uint256) + handler: handleWithdraw + file: ./src/orderBook.ts +templates: + - kind: ethereum/contract + name: ERC20Template + network: {{ network }} + source: + abi: ReserveToken + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + entities: + - EmissionsERC20 + abis: + - name: ReserveToken + file: ./abis/ReserveToken.json + eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + file: ./src/erc20.ts \ No newline at end of file diff --git a/subgraph/tsconfig.json b/subgraph/tsconfig.json new file mode 100644 index 0000000000..610e9c8564 --- /dev/null +++ b/subgraph/tsconfig.json @@ -0,0 +1,11 @@ +{ + "include": ["./test", "./utils", "./src"], + "exclude": ["node_modules/*"], + "compilerOptions": { + "target": "ES2020", + "esModuleInterop": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "lib": ["es6"] + } +} From 100626d937d2457cda4984eab3175854c060f74b Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 20 Sep 2023 00:50:31 -0400 Subject: [PATCH 002/163] added older ts tests to be ported --- subgraph/test/0_initialization.test.ts | 58 + subgraph/test/account.test.ts | 620 ++++++++ subgraph/test/bounty.test.ts | 281 ++++ subgraph/test/erc20.test.ts | 292 ++++ subgraph/test/io.test.ts | 242 +++ subgraph/test/order.test.ts | 551 +++++++ subgraph/test/orderBook.test.ts | 42 + subgraph/test/orderClear.test.ts | 489 ++++++ subgraph/test/orderClearStateChange.test.ts | 256 ++++ subgraph/test/takeOrderEntity.test.ts | 399 +++++ subgraph/test/tokenVault.test.ts | 1492 +++++++++++++++++++ subgraph/test/utils.ts | 266 ++++ subgraph/test/vault.test.ts | 700 +++++++++ subgraph/test/vaultDeposit.test.ts | 203 +++ subgraph/test/vaultWithdraw.test.ts | 275 ++++ 15 files changed, 6166 insertions(+) create mode 100644 subgraph/test/0_initialization.test.ts create mode 100644 subgraph/test/account.test.ts create mode 100644 subgraph/test/bounty.test.ts create mode 100644 subgraph/test/erc20.test.ts create mode 100644 subgraph/test/io.test.ts create mode 100644 subgraph/test/order.test.ts create mode 100644 subgraph/test/orderBook.test.ts create mode 100644 subgraph/test/orderClear.test.ts create mode 100644 subgraph/test/orderClearStateChange.test.ts create mode 100644 subgraph/test/takeOrderEntity.test.ts create mode 100644 subgraph/test/tokenVault.test.ts create mode 100644 subgraph/test/utils.ts create mode 100644 subgraph/test/vault.test.ts create mode 100644 subgraph/test/vaultDeposit.test.ts create mode 100644 subgraph/test/vaultWithdraw.test.ts diff --git a/subgraph/test/0_initialization.test.ts b/subgraph/test/0_initialization.test.ts new file mode 100644 index 0000000000..af6b6e9a5a --- /dev/null +++ b/subgraph/test/0_initialization.test.ts @@ -0,0 +1,58 @@ +import { ethers } from "hardhat"; +import { + exec, + fetchFile, + fetchSubgraph, + waitForGraphNode, + waitForSubgraphToBeSynced, + writeFile, +} from "./utils"; +import { OrderBook } from "../typechain"; +import assert from "assert"; +import * as path from "path"; +import { ApolloFetch } from "apollo-fetch"; +import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; +import deploy1820 from "../utils/deploy/registry1820/deploy"; +import { deployOrderBook } from "../utils/deploy/orderBook/deploy"; +import { zeroAddress } from "../utils"; + +export let orderBook: OrderBook; +export let subgraph: ApolloFetch; +export let signers: SignerWithAddress[]; + +before(async () => { + // Wait for the correct initialization of the graph node + await waitForGraphNode(); + + // Making available the Registry (EIP-1820) on local network + signers = await ethers.getSigners(); + await deploy1820(signers[0]); + + orderBook = await deployOrderBook(); + + const configPath = path.resolve(__dirname, "../config/localhost.json"); + + assert(!(orderBook.address === zeroAddress), "OrderBook did not deploy"); + + const config = JSON.parse(fetchFile(configPath)); + + config.network = "localhost"; + config.orderbook = orderBook.address; + config.blockNumber = orderBook.deployTransaction.blockNumber; + + writeFile(configPath, JSON.stringify(config, null, 2)); + + // create subgraph instance + exec("graph create --node http://localhost:8020/ test/test"); + // prepare subgraph manifest + exec( + "npx mustache config/localhost.json subgraph.template.yaml subgraph.yaml" + ); + // deploy subgraph + exec( + "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 test/test --version-label 1" + ); + subgraph = fetchSubgraph("test/test"); + + await waitForSubgraphToBeSynced(1000); +}); diff --git a/subgraph/test/account.test.ts b/subgraph/test/account.test.ts new file mode 100644 index 0000000000..dea9c027f1 --- /dev/null +++ b/subgraph/test/account.test.ts @@ -0,0 +1,620 @@ +import assert from "assert"; +import { expect } from "chai"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + MemoryType, + ONE, + Opcode, + basicDeploy, + compareSolStructs, + compareStructs, + eighteenZeros, + fixedPointDiv, + fixedPointMul, + generateEvaluableConfig, + max_uint256, + memoryOperand, + minBN, + op, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { concat } from "ethers/lib/utils"; +import { + AddOrderEvent, + AfterClearEvent, + ClearConfigStruct, + ClearEvent, + ClearStateChangeStruct, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, + TakeOrderConfigStruct, + TakeOrdersConfigStruct, + WithdrawConfigStruct, + WithdrawEvent, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; + +describe("Account entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query correctly the Account after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query = `{ + account (id: "${alice.address.toLowerCase()}") { + orders { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.account; + + expect(data.orders).to.deep.include({ + id: orderHash.toHexString(), + }); + }); + + it("should query correctly the Account after a deposit", async function () { + const [, alice] = signers; + + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenA.transfer(alice.address, amount); + + // Deposit config using different tokens + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId: aliceOutputVault, + amount: amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits both tokens into her output vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + // Checking Config A + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // VaultDeposit ID: `tx.hash-{N}` where n is the N deposit with the same tx.hash; + // In this case, the tx only made one deposit, so the N is 0 + const vaultDeposit_ID = `${txDeposit.hash.toLowerCase()}-0`; + + const query = `{ + account (id: "${alice.address.toLowerCase()}") { + deposits { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.account; + + expect(data.deposits).to.deep.include({ + id: vaultDeposit_ID, + }); + }); + + it("should query correctly the Account after withdrawal", async function () { + const [, alice] = signers; + + const vaultId = ethers.BigNumber.from(randomUint256()); + + // DEPOSIT + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + await tokenA.transfer(alice.address, amount); + + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId, + amount: amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits tokenA into her non-append-only vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); + + const withdrawConfigStruct: WithdrawConfigStruct = { + token: tokenA.address, + vaultId: vaultId, + amount: amount, + }; + + const txWithdraw = await orderBook + .connect(alice) + .withdraw(withdrawConfigStruct); + + const { sender: withdrawSender, config: withdrawConfig } = + (await getEventArgs( + txWithdraw, + "Withdraw", + orderBook + )) as WithdrawEvent["args"]; + + assert(withdrawSender === alice.address); + compareStructs(withdrawConfig, withdrawConfigStruct); + + const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); + + assert(aliceTokenABalance0.isZero()); + assert(aliceTokenABalance1.eq(amount)); + + // Checking the VaultIDs + assert( + depositConfig.vaultId.eq(withdrawConfig.vaultId), + "Deposit and Withdraw does not have the same VaultID" + ); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // VaultWithdraw ID: `tx.hash-{N}` where n is the N withdraw with the same tx.hash; + // In this case, the tx only made one withdraw, so the N is 0 + const vaultWithdraw_ID = `${txWithdraw.hash.toLowerCase()}-0`; + + const query = `{ + account (id: "${alice.address.toLowerCase()}") { + withdraws { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.account; + + expect(data.withdraws).to.deep.include({ + id: vaultWithdraw_ID, + }); + }); + + it("should query correctly the Account after clearing orders", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query = `{ + account (id: "${bountyBot.address.toLowerCase()}") { + bounties { + id + } + ordersCleared { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataBounties = response.data.account.bounties; + const dataOrdersCleared = response.data.account.ordersCleared; + + // The IDs are autogenerated for the SG. So, only checking that It's not + // empty (that have values) + assert(dataBounties.length > 0, "Wrong: bounties are not added"); + assert(dataOrdersCleared.length > 0, "Wrong: ordersCleared are not added"); + }); + + it("should query correctly the Account after take an order", async function () { + const [, alice, bob] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // ASK ORDER + + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrder = await orderBook.connect(alice).addOrder(OrderConfig_A); + + const { order: Order_A } = (await getEventArgs( + txAddOrder, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + // DEPOSIT + + const amountB = ethers.BigNumber.from("2" + eighteenZeros); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + + await tokenB.transfer(alice.address, amountB); + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + + // TAKE ORDER + + // Bob takes order with direct wallet transfer + const takeOrderConfigStruct: TakeOrderConfigStruct = { + order: Order_A, + inputIOIndex: 0, + outputIOIndex: 0, + signedContext: [], + }; + + const takeOrdersConfigStruct: TakeOrdersConfigStruct = { + output: tokenA.address, + input: tokenB.address, + minimumInput: amountB, + maximumInput: amountB, + maximumIORatio: ratio_A, + orders: [takeOrderConfigStruct], + }; + + const amountA = amountB.mul(ratio_A).div(ONE); + await tokenA.transfer(bob.address, amountA); + await tokenA.connect(bob).approve(orderBook.address, amountA); + + const txTakeOrders = await orderBook + .connect(bob) + .takeOrders(takeOrdersConfigStruct); + + const tokenAAliceBalance = await tokenA.balanceOf(alice.address); + const tokenBAliceBalance = await tokenB.balanceOf(alice.address); + const tokenABobBalance = await tokenA.balanceOf(bob.address); + const tokenBBobBalance = await tokenB.balanceOf(bob.address); + + assert(tokenAAliceBalance.isZero()); // Alice has not yet withdrawn + assert(tokenBAliceBalance.isZero()); + assert(tokenABobBalance.isZero()); + assert(tokenBBobBalance.eq(amountB)); + + await orderBook.connect(alice).withdraw({ + token: tokenA.address, + vaultId: aliceInputVault, + amount: amountA, + }); + + const tokenAAliceBalanceWithdrawn = await tokenA.balanceOf(alice.address); + assert(tokenAAliceBalanceWithdrawn.eq(amountA)); + + const takeOrderEntity_ID = `${txTakeOrders.hash.toLowerCase()}-${0}`; + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query = `{ + account (id: "${bob.address.toLowerCase()}") { + takeOrderEntities { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataTakeOrder = response.data.account.takeOrderEntities; + + expect(dataTakeOrder).to.deep.include({ + id: takeOrderEntity_ID, + }); + }); +}); diff --git a/subgraph/test/bounty.test.ts b/subgraph/test/bounty.test.ts new file mode 100644 index 0000000000..c137a6724a --- /dev/null +++ b/subgraph/test/bounty.test.ts @@ -0,0 +1,281 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + ONE, + basicDeploy, + compareSolStructs, + compareStructs, + eighteenZeros, + fixedPointDiv, + fixedPointMul, + max_uint256, + minBN, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { + AddOrderEvent, + AfterClearEvent, + ClearConfigStruct, + ClearEvent, + ClearStateChangeStruct, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; + +describe("Bounty entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query Bounty after clearing orders", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // The ID of Bounty is auto-generated by the SG, so get the Bounty through + // the OrderClear to test the Bounty + const orderClear_ID = `${txClearOrder.hash.toLowerCase()}-0`; + + const { aliceBountyVaultId, bobBountyVaultId } = clearBountyConfig; + + // id: ID! #{vaultId}-{owner} + const bountyVaultA_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; + const bountyVaultB_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; + + const query = `{ + orderClear (id: "${orderClear_ID}") { + bounty { + bountyAmountA + bountyAmountB + clearer { + id + } + orderClear { + id + } + bountyVaultA { + id + } + bountyVaultB { + id + } + bountyTokenA { + id + } + bountyTokenB { + id + } + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.orderClear.bounty; + + const { aliceOutput, bobOutput, aliceInput, bobInput } = clearStateChange; + + assert.equal(data.bountyAmountA, aliceOutput.sub(bobInput)); + assert.equal(data.bountyAmountB, bobOutput.sub(aliceInput)); + + assert.equal(data.clearer.id, bountyBot.address.toLowerCase()); + assert.equal(data.orderClear.id, orderClear_ID); + + assert.equal(data.bountyVaultA.id, bountyVaultA_ID); + assert.equal(data.bountyVaultB.id, bountyVaultB_ID); + + assert.equal(data.bountyTokenA.id, tokenB.address.toLowerCase()); + assert.equal(data.bountyTokenB.id, tokenA.address.toLowerCase()); + }); +}); diff --git a/subgraph/test/erc20.test.ts b/subgraph/test/erc20.test.ts new file mode 100644 index 0000000000..113fae829e --- /dev/null +++ b/subgraph/test/erc20.test.ts @@ -0,0 +1,292 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + MemoryType, + Opcode, + basicDeploy, + compareStructs, + eighteenZeros, + generateEvaluableConfig, + max_uint256, + memoryOperand, + op, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta } from "../utils/orderBook/order"; +import { concat } from "ethers/lib/utils"; +import { + AddOrderEvent, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; + +describe("ERC20 entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query the ERC20 after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query = `{ + tokenA: erc20 (id: "${tokenA.address.toLowerCase()}") { + name + symbol + totalSupply + decimals + } + tokenB: erc20 (id: "${tokenB.address.toLowerCase()}") { + name + symbol + totalSupply + decimals + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataA = response.data.tokenA; + const dataB = response.data.tokenB; + + // TokenA + assert.equal(dataA.name, await tokenA.name()); + assert.equal(dataA.symbol, await tokenA.symbol()); + assert.equal(dataA.symbol, await tokenA.symbol()); + assert.equal(dataA.totalSupply, await tokenA.totalSupply()); + assert.equal(dataA.decimals, await tokenA.decimals()); + + // TokenB + assert.equal(dataB.name, await tokenB.name()); + assert.equal(dataB.symbol, await tokenB.symbol()); + assert.equal(dataB.symbol, await tokenB.symbol()); + assert.equal(dataB.totalSupply, await tokenB.totalSupply()); + assert.equal(dataB.decimals, await tokenB.decimals()); + }); + + it("should update the Vault after deposits", async function () { + const [, alice] = signers; + + const vault = ethers.BigNumber.from(randomUint256()); + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenA.transfer(alice.address, amount); + + // Deposit config using different tokens + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId: vault, + amount: amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits both tokens into her output vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + // Checking Config + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query = `{ + erc20 (id: "${tokenA.address.toLowerCase()}") { + name + symbol + totalSupply + decimals + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.erc20; + + // Token ERC20 + assert.equal(data.name, await tokenA.name()); + assert.equal(data.symbol, await tokenA.symbol()); + assert.equal(data.symbol, await tokenA.symbol()); + assert.equal(data.totalSupply, await tokenA.totalSupply()); + assert.equal(data.decimals, await tokenA.decimals()); + }); + + it("should not break the sg when using a non-ERC20 contract as address when adding an order", async () => { + const [, alice, , nonErc20_A, nonErc20_B] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: nonErc20_A.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: nonErc20_B.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query = `{ + nonErc20_A: erc20 (id: "${nonErc20_A.address.toLowerCase()}") { + name + symbol + totalSupply + decimals + } + nonErc20_B: erc20 (id: "${nonErc20_B.address.toLowerCase()}") { + name + symbol + totalSupply + decimals + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const dataA = response.data.nonErc20_A; + const dataB = response.data.nonErc20_B; + + // nonErc20_A + assert.equal(dataA.name, "NONE"); + assert.equal(dataA.symbol, "NONE"); + assert.equal(dataA.totalSupply, 0); + assert.equal(dataA.decimals, 0); + + // nonErc20_B + assert.equal(dataB.name, "NONE"); + assert.equal(dataB.symbol, "NONE"); + assert.equal(dataB.totalSupply, 0); + assert.equal(dataB.decimals, 0); + }); +}); diff --git a/subgraph/test/io.test.ts b/subgraph/test/io.test.ts new file mode 100644 index 0000000000..94624751b0 --- /dev/null +++ b/subgraph/test/io.test.ts @@ -0,0 +1,242 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + MemoryType, + Opcode, + basicDeploy, + compareStructs, + eighteenZeros, + generateEvaluableConfig, + max_uint256, + memoryOperand, + op, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta } from "../utils/orderBook/order"; +import { concat } from "ethers/lib/utils"; +import { + AddOrderEvent, + OrderConfigStruct, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; + +describe("IO entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + }); + + it("should query the IO entities of Inputs after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash: orderHash_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + await waitForSubgraphToBeSynced(); + + // Subgraph check + const orderOwner = order_A.owner.toLowerCase(); + const orderHash = orderHash_A.toHexString().toLowerCase(); + + for (let i = 0; i < order_A.validInputs.length; i++) { + const IOValue = order_A.validInputs[i]; + const IOToken = IOValue.token.toLowerCase(); + const IOVault = IOValue.vaultId; + const IODecimals = IOValue.decimals.toString(); + + // ID = `{order.hash()}-{IO.token}-{IO.vaultId}` + const IO_ID = `${orderHash}-${IOToken}-${IOVault}`; + // ID = `{vaultId}-{owner}` + const vault_ID = `${IOVault}-${orderOwner}`; + + const query = `{ + io (id: "${IO_ID}") { + decimals + token { + id + } + vault { + id + } + order { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.io; + + assert.equal(data.decimals, IODecimals, "wrond decimals on IO"); + assert.equal(data.token.id, IOToken, "wrong token ID on IO"); + assert.equal(data.vault.id, vault_ID, "wrong vault ID on IO"); + assert.equal(data.order.id, orderHash, "wrong order ID on IO"); + } + }); + + it("should query the IO entities of Outputs after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash: orderHash_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + await waitForSubgraphToBeSynced(); + + // Subgraph check + const orderOwner = order_A.owner.toLowerCase(); + const orderHash = orderHash_A.toHexString().toLowerCase(); + + for (let i = 0; i < order_A.validOutputs.length; i++) { + const IOValue = order_A.validOutputs[i]; + const IOToken = IOValue.token.toLowerCase(); + const IOVault = IOValue.vaultId; + const IODecimals = IOValue.decimals.toString(); + + // ID = `{order.hash()}-{IO.token}-{IO.vaultId}` + const IO_ID = `${orderHash}-${IOToken}-${IOVault}`; + // ID = `{vaultId}-{owner}` + const vault_ID = `${IOVault}-${orderOwner}`; + + const query = `{ + io (id: "${IO_ID}") { + decimals + token { + id + } + vault { + id + } + order { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.io; + + assert.equal(data.decimals, IODecimals, "wrond decimals on IO"); + assert.equal(data.token.id, IOToken, "wrong token ID on IO"); + assert.equal(data.vault.id, vault_ID, "wrong vault ID on IO"); + assert.equal(data.order.id, orderHash, "wrong order ID on IO"); + } + }); +}); diff --git a/subgraph/test/order.test.ts b/subgraph/test/order.test.ts new file mode 100644 index 0000000000..0469f9a091 --- /dev/null +++ b/subgraph/test/order.test.ts @@ -0,0 +1,551 @@ +import assert from "assert"; +import { expect } from "chai"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { RainterpreterExpressionDeployer, ReserveToken18 } from "../typechain"; +import { + MemoryType, + ONE, + Opcode, + basicDeploy, + compareStructs, + eighteenZeros, + fixedPointDiv, + generateEvaluableConfig, + max_uint256, + memoryOperand, + op, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta } from "../utils/orderBook/order"; +import { concat } from "ethers/lib/utils"; +import { + AddOrderEvent, + IOStructOutput, + OrderConfigStruct, + RemoveOrderEvent, +} from "../typechain/contracts/orderbook/OrderBook"; +import { + getEventArgs, + getTxTimeblock, + waitForSubgraphToBeSynced, +} from "./utils"; + +async function getInterpretersFromDeployer(deployerAddress: string) { + const expressionDeployer = (await ethers.getContractAt( + "RainterpreterExpressionDeployer", + deployerAddress + )) as RainterpreterExpressionDeployer; + + return { + deployer: deployerAddress, + store: await expressionDeployer.store(), + rainterpreter: await expressionDeployer.interpreter(), + }; +} + +/** + * @param hexOrderHash_ Order hash emitted + * @param arrayIO_ The order IO data (input OR output) + * @param dataIO_ The arrays of (input OR output) ID's to check agaisnt `arrayIO_` + */ +function checkIO( + hexOrderHash_: string, + arrayIO_: IOStructOutput[], + // eslint-disable-next-line @typescript-eslint/no-explicit-any + dataIO_: any +) { + const length = arrayIO_.length; + for (let i = 0; i < length; i++) { + const IOToken = arrayIO_[i].token.toLowerCase(); + const IOVault = arrayIO_[i].vaultId; + + // ID = `order.hash() - IO.token - IO.vaultId` + const IO_ID = `${hexOrderHash_.toLowerCase()}-${IOToken}-${IOVault}`; + expect(dataIO_).to.deep.include({ + id: IO_ID, + }); + } +} + +describe("Order entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + }); + + it("should query the Order after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + await waitForSubgraphToBeSynced(); + + // Subgraph check + // Get Interpreters from ExpressionDeployer address + + const { deployer, store, rainterpreter } = + await getInterpretersFromDeployer(ExpressionDeployer_A); + + const [, addTimestamp] = await getTxTimeblock(txOrder_A); + + const query = `{ + order (id: "${orderHash.toHexString().toLowerCase()}") { + transaction{ + id + } + owner{ + id + } + interpreter + interpreterStore + expressionDeployer + expression + orderActive + handleIO + timestamp + meta { + id + } + validInputs { + id + } + validOutputs { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.order; + + assert.equal( + data.transaction.id.toLowerCase(), + txOrder_A.hash.toLowerCase() + ); + assert.equal(data.owner.id, sender_A.toLowerCase()); + + assert.equal(data.interpreter, rainterpreter.toLowerCase()); + assert.equal(data.interpreterStore, store.toLowerCase()); + assert.equal(data.expressionDeployer, deployer.toLowerCase()); + assert.equal( + data.expression, + order_A.evaluable.expression.toLowerCase(), + "Wrong expression address" + ); + assert.equal(data.orderActive, true); + assert.equal(data.handleIO, order_A.handleIO); + assert.equal(data.timestamp, addTimestamp); + + // TODO: Add suport for MetaV1 entities @naneez + // assert.equal(data.meta.id, ''); + + // Checking every validInputs + checkIO(orderHash.toHexString(), order_A.validInputs, data.validInputs); + + // Checking every validOutputs + checkIO(orderHash.toHexString(), order_A.validOutputs, data.validOutputs); + }); + + it("should query multiple Orders when adding orders", async () => { + const [, alice, bob] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash: orderHash_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + // Order_B + + const ratio_B = fixedPointDiv(ONE, ratio_A); + const constants_B = [max_uint256, ratio_B]; + const bOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const bRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_B = concat([ + bOpMax, + bRatio, + ]); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const EvaluableConfig_B = await generateEvaluableConfig( + [source_B, []], + constants_B + ); + + const orderConfig_B: OrderConfigStruct = { + validInputs: [ + { token: tokenB.address, decimals: 18, vaultId: bobInputVault }, + ], + validOutputs: [ + { token: tokenA.address, decimals: 18, vaultId: bobOutputVault }, + ], + evaluableConfig: EvaluableConfig_B, + meta: bobOrder, + }; + + const txOrderB = await orderBook.connect(bob).addOrder(orderConfig_B); + + const { + sender: sender_B, + order: order_B, + orderHash: orderHash_B, + } = (await getEventArgs( + txOrderB, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(order_B, orderConfig_B); + + await waitForSubgraphToBeSynced(); + // SG check + const query = `{ + orders { + id + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.orders; + + expect(data).to.deep.include({ + id: orderHash_A.toHexString().toLowerCase(), + }); + + expect(data).to.deep.include({ + id: orderHash_B.toHexString().toLowerCase(), + }); + }); + + it("should update the orderActive field when removing an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const OrderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(OrderConfig_A); + + const { + sender: liveSender_A, + order: LiveOrder_A, + orderHash: addOrderHash, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(liveSender_A === alice.address, "wrong sender"); + compareStructs(LiveOrder_A, OrderConfig_A); + + // REMOVE Order_A + + const txRemoveOrder = await orderBook + .connect(alice) + .removeOrder(LiveOrder_A); + + const { + sender: deadSender_A, + order: DeadOrder_A, + orderHash: removeOrderHash, + } = (await getEventArgs( + txRemoveOrder, + "RemoveOrder", + orderBook + )) as RemoveOrderEvent["args"]; + + await waitForSubgraphToBeSynced(); + assert(deadSender_A === alice.address, "wrong sender"); + compareStructs(DeadOrder_A, OrderConfig_A); + + // SG checks + + assert(addOrderHash.eq(removeOrderHash), "wrong order removed"); + + const query = `{ + order (id: "${addOrderHash.toHexString().toLowerCase()}") { + orderActive + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.order; + + assert.equal(data.orderActive, false); + }); + + it("should be able to use orderJSONString field to reference the Order directly (remove order)", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const OrderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(OrderConfig_A); + + const { + sender: liveSender_A, + order: LiveOrder_A, + orderHash: addOrderHash, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(liveSender_A === alice.address, "wrong sender"); + compareStructs(LiveOrder_A, OrderConfig_A); + + // Wait for sg + await waitForSubgraphToBeSynced(); + + const query_0 = `{ + order (id: "${addOrderHash.toHexString().toLowerCase()}") { + orderActive + orderJSONString + } + }`; + + const response_0 = (await subgraph({ query: query_0 })) as FetchResult; + + const data_0 = response_0.data.order; + + assert.equal(data_0.orderActive, true); + + const orderFromSg = JSON.parse(data_0.orderJSONString); + + // REMOVE Order_A + + const txRemoveOrder = await orderBook + .connect(alice) + .removeOrder(orderFromSg); + + const { + sender: deadSender_A, + order: DeadOrder_A, + orderHash: removeOrderHash, + } = (await getEventArgs( + txRemoveOrder, + "RemoveOrder", + orderBook + )) as RemoveOrderEvent["args"]; + + await waitForSubgraphToBeSynced(); + assert(deadSender_A === alice.address, "wrong sender"); + compareStructs(DeadOrder_A, OrderConfig_A); + + // SG checks + + assert(addOrderHash.eq(removeOrderHash), "wrong order removed"); + + const query_1 = `{ + order (id: "${addOrderHash.toHexString().toLowerCase()}") { + orderActive + } + }`; + + const response_1 = (await subgraph({ query: query_1 })) as FetchResult; + + const data_1 = response_1.data.order; + + assert.equal(data_1.orderActive, false); + }); +}); diff --git a/subgraph/test/orderBook.test.ts b/subgraph/test/orderBook.test.ts new file mode 100644 index 0000000000..3c03ee73d0 --- /dev/null +++ b/subgraph/test/orderBook.test.ts @@ -0,0 +1,42 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, subgraph } from "./0_initialization.test"; +import { ethers } from "hardhat"; +import { getEventArgs } from "./utils"; +import { MetaV1Event } from "../typechain/contracts/orderbook/OrderBook"; + +describe("Orderbook entity", () => { + it("should query the OrderBook entity", async () => { + const { subject, meta } = (await getEventArgs( + orderBook.deployTransaction, + "MetaV1", + orderBook + )) as MetaV1Event["args"]; + + const orderBookAddress = orderBook.address.toLowerCase(); + const deployerAddress = orderBook.deployTransaction.from.toLowerCase(); + const obSubject = ethers.utils.hexZeroPad(subject.toHexString(), 20); + const metaV1_ID = ethers.utils.keccak256(meta); + + assert(orderBookAddress === obSubject.toLowerCase(), "wrong OB subject"); + + const query = `{ + orderBook(id: "${orderBookAddress}"){ + id + address + deployer + meta { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.orderBook; + + assert.equal(data.id, orderBookAddress, "Wrong orderbook ID"); + assert.equal(data.address, orderBookAddress, "Wrong orderbook address"); + assert.equal(data.deployer, deployerAddress, "Wrong deployer address ID"); + assert.equal(data.meta.id, metaV1_ID, "Wrong meta ID"); + }); +}); diff --git a/subgraph/test/orderClear.test.ts b/subgraph/test/orderClear.test.ts new file mode 100644 index 0000000000..b7104d3afd --- /dev/null +++ b/subgraph/test/orderClear.test.ts @@ -0,0 +1,489 @@ +import assert from "assert"; +import { expect } from "chai"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + ONE, + basicDeploy, + compareSolStructs, + compareStructs, + eighteenZeros, + fixedPointDiv, + fixedPointMul, + getEvents, + max_uint256, + minBN, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { + AddOrderEvent, + AfterClearEvent, + ClearConfigStruct, + ClearEvent, + ClearStateChangeStruct, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, +} from "../typechain/contracts/orderbook/OrderBook"; +import { MultiClearStruct } from "../typechain/contracts/test/orderbook/OBMultiTx"; +import { + deployOBMultiTx, + getEventArgs, + waitForSubgraphToBeSynced, +} from "./utils"; + +describe("OrderClear entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query ClearOrder after clearing orders", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { + sender: sender_A, + order: Order_A, + orderHash: orderHash_A, + } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { + sender: sender_B, + order: Order_B, + orderHash: orderHash_B, + } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const orderClear_ID = `${txClearOrder.hash.toLowerCase()}-0`; + + const query = `{ + orderClear (id: "${orderClear_ID}") { + aInputIOIndex + aOutputIOIndex + bInputIOIndex + bOutputIOIndex + sender { + id + } + clearer { + id + } + bounty { + id + } + stateChange { + id + } + orderA { + id + } + orderB { + id + } + owners { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.orderClear; + + // Index of Input/Output values + assert.equal(data.aInputIOIndex, clearBountyConfig.aliceInputIOIndex); + assert.equal(data.aOutputIOIndex, clearBountyConfig.aliceOutputIOIndex); + assert.equal(data.bInputIOIndex, clearBountyConfig.bobInputIOIndex); + assert.equal(data.bOutputIOIndex, clearBountyConfig.bobOutputIOIndex); + + assert.equal(data.sender.id, bountyBot.address.toLowerCase()); + assert.equal(data.clearer.id, bountyBot.address.toLowerCase()); + + // The ID is generated by the SG. Only need to exist + expect(data.bounty.id).to.be.not.null; + expect(data.stateChange.id).to.be.not.null; + + assert.equal(data.orderA.id, orderHash_A.toHexString()); + assert.equal(data.orderB.id, orderHash_B.toHexString()); + + expect(data.owners).to.deep.include({ + id: clearA_.owner.toLowerCase(), + }); + expect(data.owners).to.deep.include({ + id: clearB_.owner.toLowerCase(), + }); + }); + + it("should query correctly ClearOrder after clearing orders on same transactions", async function () { + const [, alice, bob] = signers; + + // Deploy new OBMultiTx contract + const obMultiTx = await deployOBMultiTx(orderBook); + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // OBMultiTx contract CLEARS THE ORDER + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + // Generate the Config to sent the multiClear + const config: MultiClearStruct = { + alice_: Order_A, + bob_: Order_B, + clearConfig_: clearConfig, + aliceSignedContext_: [], + bobSignedContext_: [], + }; + + // Use the same config two times + const configMultiClear: MultiClearStruct[] = [config, config]; + + const txMultiClear = await obMultiTx + .connect(alice) + .multiClear(configMultiClear); + + const clearEvents = (await getEvents( + txMultiClear, + "Clear", + orderBook + )) as Array; + + const afterClearEvents = (await getEvents( + txMultiClear, + "AfterClear", + orderBook + )) as Array; + + assert(clearEvents.length === afterClearEvents.length); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + for (let i = 0; i < clearEvents.length; i++) { + const orderClear_ID = `${txMultiClear.hash.toLowerCase()}-${i}`; + const { clearConfig } = clearEvents[i]; + + const query = `{ + orderClear (id: "${orderClear_ID}") { + aInputIOIndex + aOutputIOIndex + bInputIOIndex + bOutputIOIndex + } + }`; + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.orderClear; + + // Index of Input/Output values + assert.equal(data.aInputIOIndex, clearConfig.aliceInputIOIndex); + assert.equal(data.aOutputIOIndex, clearConfig.aliceOutputIOIndex); + assert.equal(data.bInputIOIndex, clearConfig.bobInputIOIndex); + assert.equal(data.bOutputIOIndex, clearConfig.bobOutputIOIndex); + } + }); +}); diff --git a/subgraph/test/orderClearStateChange.test.ts b/subgraph/test/orderClearStateChange.test.ts new file mode 100644 index 0000000000..11934f7a8a --- /dev/null +++ b/subgraph/test/orderClearStateChange.test.ts @@ -0,0 +1,256 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + ONE, + basicDeploy, + compareSolStructs, + compareStructs, + eighteenZeros, + fixedPointDiv, + fixedPointMul, + max_uint256, + minBN, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { + AddOrderEvent, + AfterClearEvent, + ClearConfigStruct, + ClearEvent, + ClearStateChangeStruct, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; + +describe("OrderClearStateChange entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query OrderClearStateChange after clearing orders", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // The ID of OrderClearStateChange is auto-generated by the SG, so get the + // OrderClearStateChange through the OrderClear to test the OrderClearStateChange + const orderClear_ID = `${txClearOrder.hash.toLowerCase()}-0`; + + const query = `{ + orderClear (id: "${orderClear_ID}") { + stateChange { + orderClear { + id + } + aOutput + bOutput + aInput + bInput + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.orderClear; + + const { aliceOutput, bobOutput, aliceInput, bobInput } = clearStateChange; + + assert.equal(data.stateChange.orderClear.id, orderClear_ID); + + assert.equal(data.stateChange.aOutput, aliceOutput); + assert.equal(data.stateChange.bOutput, bobOutput); + assert.equal(data.stateChange.aInput, aliceInput); + assert.equal(data.stateChange.bInput, bobInput); + }); +}); diff --git a/subgraph/test/takeOrderEntity.test.ts b/subgraph/test/takeOrderEntity.test.ts new file mode 100644 index 0000000000..4f1a457b4b --- /dev/null +++ b/subgraph/test/takeOrderEntity.test.ts @@ -0,0 +1,399 @@ +import { ethers } from "hardhat"; +import { assert } from "chai"; +import { arrayify, solidityKeccak256 } from "ethers/lib/utils"; +import { ReserveToken18 } from "../typechain"; +import { + ONE, + basicDeploy, + compareStructs, + eighteenZeros, + getEvents, + max_uint256, + randomUint256, +} from "../utils"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { + AddOrderEvent, + ContextEvent, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, + SignedContextV1Struct, + TakeOrderConfigStruct, + TakeOrderEvent, + TakeOrdersConfigStruct, + WithdrawConfigStruct, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; +import { FetchResult } from "apollo-fetch"; + +//TODO: Add more tests with more takeOrders and the new entities +describe("TakeOrderEntity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query TakeOrderEntity correctly after take an order", async function () { + const [, alice, bob] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + const aliceOrder = encodeMeta("Order_A"); + + // ASK ORDER + + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrder = await orderBook.connect(alice).addOrder(OrderConfig_A); + + const { order: Order_A } = (await getEventArgs( + txAddOrder, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + // DEPOSIT + + const amountB = ethers.BigNumber.from("2" + eighteenZeros); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + + await tokenB.transfer(alice.address, amountB); + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + + // TAKE ORDER + + // Bob takes order with direct wallet transfer + const takeOrderConfigStruct: TakeOrderConfigStruct = { + order: Order_A, + inputIOIndex: 0, + outputIOIndex: 0, + signedContext: [], + }; + + const takeOrdersConfigStruct: TakeOrdersConfigStruct = { + output: tokenA.address, + input: tokenB.address, + minimumInput: amountB, + maximumInput: amountB, + maximumIORatio: ratio_A, + orders: [takeOrderConfigStruct], + }; + + const amountA = amountB.mul(ratio_A).div(ONE); + await tokenA.transfer(bob.address, amountA); + await tokenA.connect(bob).approve(orderBook.address, amountA); + + const txTakeOrders = await orderBook + .connect(bob) + .takeOrders(takeOrdersConfigStruct); + + const takeOrderEvents = (await getEvents( + txTakeOrders, + "TakeOrder", + orderBook + )) as Array; + + const tokenAAliceBalance = await tokenA.balanceOf(alice.address); + const tokenBAliceBalance = await tokenB.balanceOf(alice.address); + const tokenABobBalance = await tokenA.balanceOf(bob.address); + const tokenBBobBalance = await tokenB.balanceOf(bob.address); + + assert(tokenAAliceBalance.isZero()); // Alice has not yet withdrawn + assert(tokenBAliceBalance.isZero()); + assert(tokenABobBalance.isZero()); + assert(tokenBBobBalance.eq(amountB)); + + await orderBook.connect(alice).withdraw({ + token: tokenA.address, + vaultId: aliceInputVault, + amount: amountA, + }); + + const tokenAAliceBalanceWithdrawn = await tokenA.balanceOf(alice.address); + + assert(tokenAAliceBalanceWithdrawn.eq(amountA)); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + for (let i = 0; i < takeOrderEvents.length; i++) { + // ID: tx.hash - N (N-th order taken) + const takeOrderEntity_ID = `${txTakeOrders.hash.toLowerCase()}-${i}`; + const { sender, config, input, output } = takeOrderEvents[i]; + + const { order, inputIOIndex, outputIOIndex } = config; + const inputToken = `${order.validOutputs[inputIOIndex.toNumber()].token}`; + const outputToken = `${ + order.validInputs[outputIOIndex.toNumber()].token + }`; + + assert( + inputToken.toLowerCase() == + takeOrdersConfigStruct.input.toString().toLowerCase() + ); + + assert( + outputToken.toLowerCase() == + takeOrdersConfigStruct.output.toString().toLowerCase() + ); + + const query = `{ + takeOrderEntity (id: "${takeOrderEntity_ID}") { + input + output + inputIOIndex + outputIOIndex + sender { + id + } + inputToken { + id + } + outputToken { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.takeOrderEntity; + + assert.equal(data.input, input.toString()); + assert.equal(data.output, output.toString()); + assert.equal(data.inputIOIndex, inputIOIndex.toString()); + assert.equal(data.outputIOIndex, outputIOIndex.toString()); + + assert.equal(data.sender.id, sender.toLowerCase()); + assert.equal(data.inputToken.id, inputToken.toLowerCase()); + assert.equal(data.outputToken.id, outputToken.toLowerCase()); + + assert.equal(data.inputToken.id, inputToken.toLowerCase()); + assert.equal(data.outputToken.id, outputToken.toLowerCase()); + } + }); + + it("TODO: test with context", async function () { + const [, alice, bob, goodSigner] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + const aliceOrder = encodeMeta("Order_A"); + + // ASK ORDER + + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrder = await orderBook.connect(alice).addOrder(OrderConfig_A); + + const { order: Order_A } = (await getEventArgs( + txAddOrder, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + // DEPOSIT + + const amountB = ethers.BigNumber.from("2" + eighteenZeros); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + + await tokenB.transfer(alice.address, amountB); + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + + // TAKE ORDER + + ////////// Signed context + const context0 = [1, 2, 3]; + const hash0 = solidityKeccak256(["uint256[]"], [context0]); + const goodSignature0 = await goodSigner.signMessage(arrayify(hash0)); + + const context1 = [4, 5, 6]; + const hash1 = solidityKeccak256(["uint256[]"], [context1]); + const goodSignature1 = await goodSigner.signMessage(arrayify(hash1)); + + const signedContexts0: SignedContextV1Struct[] = [ + { + signer: goodSigner.address, + signature: goodSignature0, + context: context0, + }, + { + signer: goodSigner.address, + signature: goodSignature1, + context: context1, + }, + ]; + ////////// + + // Bob takes order with direct wallet transfer + const takeOrderConfigStruct: TakeOrderConfigStruct = { + order: Order_A, + inputIOIndex: 0, + outputIOIndex: 0, + signedContext: signedContexts0, + }; + + const takeOrdersConfigStruct: TakeOrdersConfigStruct = { + output: tokenA.address, + input: tokenB.address, + minimumInput: amountB, + maximumInput: amountB, + maximumIORatio: ratio_A, + orders: [takeOrderConfigStruct], + }; + + const amountA = amountB.mul(ratio_A).div(ONE); + await tokenA.transfer(bob.address, amountA); + await tokenA.connect(bob).approve(orderBook.address, amountA); + + const txTakeOrders = await orderBook + .connect(bob) + .takeOrders(takeOrdersConfigStruct); + + const takeOrderEvents = (await getEvents( + txTakeOrders, + "TakeOrder", + orderBook + )) as Array; + + const tokenAAliceBalance = await tokenA.balanceOf(alice.address); + const tokenBAliceBalance = await tokenB.balanceOf(alice.address); + const tokenABobBalance = await tokenA.balanceOf(bob.address); + const tokenBBobBalance = await tokenB.balanceOf(bob.address); + + assert(tokenAAliceBalance.isZero()); // Alice has not yet withdrawn + assert(tokenBAliceBalance.isZero()); + assert(tokenABobBalance.isZero()); + assert(tokenBBobBalance.eq(amountB)); + + await orderBook.connect(alice).withdraw({ + token: tokenA.address, + vaultId: aliceInputVault, + amount: amountA, + }); + + const tokenAAliceBalanceWithdrawn = await tokenA.balanceOf(alice.address); + assert(tokenAAliceBalanceWithdrawn.eq(amountA)); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + for (let i = 0; i < takeOrderEvents.length; i++) { + // ID: tx.hash - N (N-th order taken) + const takeOrderEntity_ID = `${txTakeOrders.hash.toLowerCase()}-${i}`; + const { sender, config, input, output } = takeOrderEvents[i]; + + const { order, inputIOIndex, outputIOIndex } = config; + const inputToken = `${ + order.validOutputs[outputIOIndex.toNumber()].token + }`; + const outputToken = `${order.validInputs[inputIOIndex.toNumber()].token}`; + + const query = `{ + takeOrderEntity (id: "${takeOrderEntity_ID}") { + input + output + inputIOIndex + outputIOIndex + sender { + id + } + inputToken { + id + } + outputToken { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + const data = response.data.takeOrderEntity; + + assert.equal(data.input, input.toString()); + assert.equal(data.output, output.toString()); + assert.equal(data.inputIOIndex, inputIOIndex.toString()); + assert.equal(data.outputIOIndex, outputIOIndex.toString()); + + assert.equal(data.sender.id, sender.toLowerCase()); + assert.equal(data.inputToken.id, inputToken.toLowerCase()); + assert.equal(data.outputToken.id, outputToken.toLowerCase()); + } + }); +}); diff --git a/subgraph/test/tokenVault.test.ts b/subgraph/test/tokenVault.test.ts new file mode 100644 index 0000000000..ca5cd8f042 --- /dev/null +++ b/subgraph/test/tokenVault.test.ts @@ -0,0 +1,1492 @@ +import assert from "assert"; +import { expect } from "chai"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + MemoryType, + ONE, + Opcode, + basicDeploy, + compareSolStructs, + compareStructs, + eighteenZeros, + fixedPointDiv, + fixedPointMul, + generateEvaluableConfig, + max_uint256, + memoryOperand, + minBN, + op, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { concat } from "ethers/lib/utils"; +import { + AddOrderEvent, + AfterClearEvent, + ClearConfigStruct, + ClearEvent, + ClearStateChangeStruct, + DepositConfigStruct, + DepositEvent, + OrderConfigStruct, + WithdrawConfigStruct, + WithdrawEvent, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; + +describe("TokenVault entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query the TokenVault after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // TokenVault: #{vaultId}-{owner}-{token} + const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + // Vault: #{vaultId}-{owner} + const vault_input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}`; + const vault_output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}`; + + const query = `{ + tokenVaultInput: tokenVault (id: "${tokenVault_Input_ID}") { + balance + owner { + id + } + vault { + id + } + token { + id + } + orders { + id + } + orderClears { + id + } + } + tokenVaultOutput: tokenVault (id: "${tokenVault_Output_ID}") { + balance + owner { + id + } + vault { + id + } + token { + id + } + orders { + id + } + orderClears { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataInput = response.data.tokenVaultInput; + const dataOutput = response.data.tokenVaultOutput; + + // TokenVaultInput + assert.equal(dataInput.balance, 0); + assert.equal(dataInput.owner.id, alice.address.toLowerCase()); + assert.equal(dataInput.vault.id, vault_input_ID); + assert.equal(dataInput.token.id, tokenA.address.toLowerCase()); + expect(dataInput.orders).to.deep.include({ + id: orderHash.toHexString().toLowerCase(), + }); + expect(dataInput.orderClears).to.be.empty; + + // TokenVaultOutput + assert.equal(dataOutput.balance, 0); + assert.equal(dataOutput.owner.id, alice.address.toLowerCase()); + assert.equal(dataOutput.vault.id, vault_output_ID); + assert.equal(dataOutput.token.id, tokenB.address.toLowerCase()); + expect(dataOutput.orders).to.deep.include({ + id: orderHash.toHexString().toLowerCase(), + }); + expect(dataOutput.orderClears).to.be.empty; + }); + + it("should update the TokenVault after adding orders with same Vault and Token", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order + const ratio = ethers.BigNumber.from("90" + eighteenZeros); + const constants = [max_uint256, ratio]; + const OpMax = op(Opcode.read_memory, memoryOperand(MemoryType.Constant, 0)); + const Ratio = op(Opcode.read_memory, memoryOperand(MemoryType.Constant, 1)); + + // prettier-ignore + const source = concat([ + OpMax, + Ratio, + ]); + + const EvaluableConfig = await generateEvaluableConfig( + [source, []], + constants + ); + + const orderConfig: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig); + const txOrder_B = await orderBook.connect(alice).addOrder(orderConfig); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + orderHash: orderHash_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + const { + sender: sender_B, + expressionDeployer: ExpressionDeployer_B, + order: order_B, + orderHash: orderHash_B, + } = (await getEventArgs( + txOrder_B, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig); + + assert( + ExpressionDeployer_B === EvaluableConfig.deployer, + "wrong expression deployer" + ); + assert(sender_B === alice.address, "wrong sender"); + compareStructs(order_B, orderConfig); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // TokenVault: #{vaultId}-{owner}-{token} + const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + const query = `{ + tokenVaultInput: tokenVault (id: "${tokenVault_Input_ID}") { + orders { + id + } + } + tokenVaultOutput: tokenVault (id: "${tokenVault_Output_ID}") { + orders { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataInput = response.data.tokenVaultInput; + const dataOutput = response.data.tokenVaultOutput; + + // First order + expect(dataInput.orders).to.deep.include({ + id: orderHash_A.toHexString().toLowerCase(), + }); + expect(dataOutput.orders).to.deep.include({ + id: orderHash_B.toHexString().toLowerCase(), + }); + + // Second order + expect(dataOutput.orders).to.deep.include({ + id: orderHash_A.toHexString().toLowerCase(), + }); + expect(dataInput.orders).to.deep.include({ + id: orderHash_B.toHexString().toLowerCase(), + }); + }); + + it("should update the balance of the TokenVaults after deposits", async function () { + const [, alice, bob] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // Checking SG entity after adding order to confirm status + // Subgraph check + await waitForSubgraphToBeSynced(); + + // Alice Data IDs: (across the test) + // - Token Vault: + const tokenVault_Input_Alice_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_Output_Alice_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + // Bob Data IDs:(across the test) + // - Token Vault: + const tokenVault_Input_Bob_ID = `${bobInputVault.toString()}-${bob.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + const tokenVault_Output_Bob_ID = `${bobOutputVault.toString()}-${bob.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + + const query_0 = `{ + tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { + balance + } + tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { + balance + } + tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { + balance + } + }`; + + const response_0 = (await subgraph({ query: query_0 })) as FetchResult; + + const data_0 = response_0.data; + + // Alice check + assert.equal(data_0.tokenVaultInputAlice.balance, 0); + assert.equal(data_0.tokenVaultOutputAlice.balance, 0); + + // Bob check + assert.equal(data_0.tokenVaultInputBob.balance, 0); + assert.equal(data_0.tokenVaultOutputBob.balance, 0); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // Check the TokenVaults after deposits + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query_1 = `{ + tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { + balance + } + tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { + balance + } + tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { + balance + } + }`; + + const response_1 = (await subgraph({ query: query_1 })) as FetchResult; + + const data_1 = response_1.data; + + // Alice check + assert.equal( + data_1.tokenVaultInputAlice.balance, + 0, + "Wrong: Input TokenVault was updated" + ); + assert.equal( + data_1.tokenVaultOutputAlice.balance, + depositAliceConfig.amount.toString(), + "Wrong: Output TokenVault was not updated" + ); + + // Bob check + assert.equal( + data_1.tokenVaultInputBob.balance, + 0, + "Wrong: Input TokenVault was updated" + ); + assert.equal( + data_1.tokenVaultOutputBob.balance, + depositBobConfig.amount.toString(), + "Wrong: Output TokenVault was not updated" + ); + }); + + it("should update the TokenVaults after withdrawal", async function () { + const [, alice] = signers; + + const vaultId = ethers.BigNumber.from(1); + // - Token Vault ID: + const tokenVault_Input_Alice_ID = `${vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + // Tracker balance vault + let aliceVaultTracker = ethers.constants.Zero; + + // DEPOSIT + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + await tokenA.transfer(alice.address, amount); + + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId, + amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits tokenA into her non-append-only vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + // Updating variable tracker (it's adding since is a deposit) + aliceVaultTracker = aliceVaultTracker.add(depositConfig.amount); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query_0 = `{ + tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + }`; + + const response_0 = (await subgraph({ query: query_0 })) as FetchResult; + + const data_0 = response_0.data.tokenVault; + + assert.equal( + data_0.balance, + aliceVaultTracker.toString(), + "Balance not updated after deposit" + ); + + // WITHDRAW + const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); + + const withdrawConfigStruct: WithdrawConfigStruct = { + token: tokenA.address, + vaultId: vaultId, + amount, + }; + + const txWithdraw = await orderBook + .connect(alice) + .withdraw(withdrawConfigStruct); + + const { sender: withdrawSender, config: withdrawConfig } = + (await getEventArgs( + txWithdraw, + "Withdraw", + orderBook + )) as WithdrawEvent["args"]; + + assert(withdrawSender === alice.address); + compareStructs(withdrawConfig, withdrawConfigStruct); + + const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); + + assert(aliceTokenABalance0.isZero()); + assert(aliceTokenABalance1.eq(amount)); + + // Checking the VaultIDs + assert( + depositConfig.vaultId.eq(withdrawConfig.vaultId), + "Deposit and Withdraw does not have the same VaultID" + ); + + // Updating variable tracker (it's substrasting since is a withdraw) + aliceVaultTracker = aliceVaultTracker.sub(withdrawConfig.amount); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query_1 = `{ + tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + }`; + + const response_1 = (await subgraph({ query: query_1 })) as FetchResult; + + const data_1 = response_1.data.tokenVault; + + assert.equal( + data_1.balance, + aliceVaultTracker.toString(), + "Balance not updated after withdraw" + ); + }); + + it("should update the balance of the TokenVault after clearing orders", async function () { + const [, alice, bob, bountyBot] = signers; + + // Variables to track the changes on the vaults + let aliceInputVaultTracker = ethers.constants.Zero; + let aliceOutputVaultTracker = ethers.constants.Zero; + let bobInputVaultTracker = ethers.constants.Zero; + let bobOutputVaultTracker = ethers.constants.Zero; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // Checking SG entity after adding order to confirm status + // Subgraph check + await waitForSubgraphToBeSynced(); + + // Alice Data IDs: (across the test) + // - Token Vault: + const tokenVault_Input_Alice_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_Output_Alice_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + // Bob Data IDs:(across the test) + // - Token Vault: + const tokenVault_Input_Bob_ID = `${bobInputVault.toString()}-${bob.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + const tokenVault_Output_Bob_ID = `${bobOutputVault.toString()}-${bob.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + + const query_0 = `{ + tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { + balance + } + tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { + balance + } + tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { + balance + } + }`; + + const response_0 = (await subgraph({ query: query_0 })) as FetchResult; + + const data_0 = response_0.data; + + // Alice check + assert.equal( + data_0.tokenVaultInputAlice.balance, + aliceInputVaultTracker.toString() + ); + assert.equal( + data_0.tokenVaultOutputAlice.balance, + aliceOutputVaultTracker.toString() + ); + + // Bob check + assert.equal( + data_0.tokenVaultInputBob.balance, + bobInputVaultTracker.toString() + ); + assert.equal( + data_0.tokenVaultOutputBob.balance, + bobOutputVaultTracker.toString() + ); + + //////////// + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // Updating the variables tracker for the balances. + // ONLY both outputs vaults for alice and bob were updated + aliceOutputVaultTracker = aliceOutputVaultTracker.add( + depositAliceConfig.amount + ); + bobOutputVaultTracker = bobOutputVaultTracker.add(depositBobConfig.amount); + + // Check the TokenVaults after deposits + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query_1 = `{ + tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { + balance + } + tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { + balance + } + tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { + balance + } + }`; + + const response_1 = (await subgraph({ query: query_1 })) as FetchResult; + + const data_1 = response_1.data; + + // Alice check + assert.equal( + data_1.tokenVaultInputAlice.balance, + aliceInputVaultTracker.toString(), + "Wrong: Input TokenVault was updated" + ); + assert.equal( + data_1.tokenVaultOutputAlice.balance, + aliceOutputVaultTracker.toString(), + "Wrong: Output TokenVault was not updated" + ); + + // Bob check + assert.equal( + data_1.tokenVaultInputBob.balance, + bobInputVaultTracker.toString(), + "Wrong: Input TokenVault was updated" + ); + assert.equal( + data_1.tokenVaultOutputBob.balance, + bobOutputVaultTracker.toString(), + "Wrong: Output TokenVault was not updated" + ); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Updating the variables tracker for the balances. + // The output vaults are subtracted but the input vaults are added + // - Alice vaults + aliceInputVaultTracker = aliceInputVaultTracker.add( + clearStateChange.aliceInput + ); + aliceOutputVaultTracker = aliceOutputVaultTracker.sub( + clearStateChange.aliceOutput + ); + // - Bob vaults + bobInputVaultTracker = bobInputVaultTracker.add(clearStateChange.bobInput); + bobOutputVaultTracker = bobOutputVaultTracker.sub( + clearStateChange.bobOutput + ); + + // Check the final tracker balance against the balance that the OB hold. + const vaultBalAliceInput = await orderBook.vaultBalance( + alice.address, + tokenA.address, + aliceInputVault + ); + const vaultBalAliceOutput = await orderBook.vaultBalance( + alice.address, + tokenB.address, + aliceOutputVault + ); + + const vaultBalBobInput = await orderBook.vaultBalance( + bob.address, + tokenB.address, + bobInputVault + ); + const vaultBalBobOutput = await orderBook.vaultBalance( + bob.address, + tokenA.address, + bobOutputVault + ); + + assert( + vaultBalAliceInput.eq(aliceInputVaultTracker), + "Wrong: Vault Balance Alice Input Tracker" + ); + assert( + vaultBalAliceOutput.eq(aliceOutputVaultTracker), + "Wrong: Vault Balance Alice Output Tracker" + ); + + assert( + vaultBalBobInput.eq(bobInputVaultTracker), + "Wrong: Vault Balance Bob Input Tracker" + ); + assert( + vaultBalBobOutput.eq(bobOutputVaultTracker), + "Wrong: Vault Balance Bob Output Tracker" + ); + + // Check the TokenVaults after Clearing + // Subgraph check + await waitForSubgraphToBeSynced(); + + const query_2 = `{ + tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { + balance + } + tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { + balance + } + tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { + balance + } + tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { + balance + } + }`; + + const response_2 = (await subgraph({ query: query_2 })) as FetchResult; + + const data_2 = response_2.data; + + // Alice check + assert.equal( + data_2.tokenVaultInputAlice.balance, + aliceInputVaultTracker.toString() + ); + assert.equal( + data_2.tokenVaultOutputAlice.balance, + aliceOutputVaultTracker.toString() + ); + + // Bob check + assert.equal( + data_2.tokenVaultInputBob.balance, + bobInputVaultTracker.toString() + ); + assert.equal( + data_2.tokenVaultOutputBob.balance, + bobOutputVaultTracker.toString() + ); + }); + + it("should add the ClearOrder to the TokenVault after clearing orders", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // TokenVault: #{vaultId}-{owner}-{token} + const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + const clearOrder_ID = `${txClearOrder.hash}-0`; + + const query = `{ + tokenVaultInput: tokenVault (id: "${tokenVault_Input_ID}") { + orderClears { + id + } + } + tokenVaultOutput: tokenVault (id: "${tokenVault_Output_ID}") { + orderClears { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataInput = response.data.tokenVaultInput; + const dataOutput = response.data.tokenVaultOutput; + + // TODO: Rework on the OrderClear entity for their ID @vishal @naneez + expect(dataInput.orderClears).to.deep.include({ + id: clearOrder_ID, + }); + expect(dataOutput.orderClears).to.deep.include({ + id: clearOrder_ID, + }); + }); + + it("should create/update the TokenVault of the Clearer address", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // Vault ID where the bounty will be move + const { aliceBountyVaultId, bobBountyVaultId } = clearBountyConfig; + + // TokenVault: #{vaultId}-{owner}-{token} + const tokenVault_A_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + const tokenVault_B_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + + const vault_A_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; + const vault_B_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; + + const vaultBalance_A = await orderBook.vaultBalance( + bountyBot.address, + tokenB.address, + aliceBountyVaultId + ); + const vaultBalance_B = await orderBook.vaultBalance( + bountyBot.address, + tokenA.address, + bobBountyVaultId + ); + + const query = `{ + tokenVault_A: tokenVault (id: "${tokenVault_A_ID}") { + balance + owner { + id + } + vault { + id + } + token { + id + } + } + tokenVault_B: tokenVault (id: "${tokenVault_B_ID}") { + balance + owner { + id + } + vault { + id + } + token { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data_A = response.data.tokenVault_A; + const data_B = response.data.tokenVault_B; + + // TokenVault A + assert.equal(data_A.balance, vaultBalance_A.toString()); + assert.equal(data_A.owner.id, bountyBot.address.toLowerCase()); + assert.equal(data_A.vault.id, vault_A_ID); + assert.equal(data_A.token.id, tokenB.address.toLowerCase()); + + // TokenVault B + assert.equal(data_B.balance, vaultBalance_B.toString()); + assert.equal(data_B.owner.id, bountyBot.address.toLowerCase()); + assert.equal(data_B.vault.id, vault_B_ID); + assert.equal(data_B.token.id, tokenA.address.toLowerCase()); + }); +}); diff --git a/subgraph/test/utils.ts b/subgraph/test/utils.ts new file mode 100644 index 0000000000..3c4ceabf37 --- /dev/null +++ b/subgraph/test/utils.ts @@ -0,0 +1,266 @@ +import { execSync } from "child_process"; +import fs from "fs"; +import { Contract, ContractTransaction } from "ethers"; +import { Result } from "ethers/lib/utils"; +import { ethers } from "hardhat"; +import * as path from "path"; +import { ApolloFetch, createApolloFetch } from "apollo-fetch"; +import { OBMultiTx, OrderBook } from "../typechain"; + +export const META_MAGIC_NUMBER_V1 = BigInt(0xff0a89c674ee7874n); +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const writeFile = (_path: string, file: any): void => { + try { + fs.writeFileSync(_path, file); + } catch (error) { + console.log(error); + } +}; + +export const fetchFile = (_path: string): string => { + try { + return fs.readFileSync(_path).toString(); + } catch (error) { + console.log(error); + return ""; + } +}; + +export const getEventArgs = async ( + tx: ContractTransaction, + eventName: string, + contract: Contract, + contractAddressOverride: string = null +): Promise => { + const eventObj = (await tx.wait()).events.find( + (x) => + x.topics[0] === contract.filters[eventName]().topics[0] && + x.address === (contractAddressOverride || contract.address) + ); + + if (!eventObj) { + throw new Error(`Could not find event with name ${eventName}`); + } + + // Return all events indexed and not indexed + return contract.interface.decodeEventLog( + eventName, + eventObj.data, + eventObj.topics + ); +}; + +export const appendRainMetaDoc = (data: string | string[]) => { + const startMeta = "0x" + MAGIC_NUMBERS.RAIN_META_DOCUMENT.toString(16); + + if (Array.isArray(data)) { + return startMeta + data.join(""); + } else { + return startMeta + data; + } +}; + +export const MAGIC_NUMBERS = { + /** + * Prefixes every rain meta document + */ + RAIN_META_DOCUMENT: BigInt(0xff0a89c674ee7874n), + /** + * Solidity ABIv2 + */ + SOLIDITY_ABIV2: BigInt(0xffe5ffb4a3ff2cden), + /** + * Ops meta v1 + */ + OPS_META_V1: BigInt(0xffe5282f43e495b4n), + /** + * Contract meta v1 + */ + CONTRACT_META_V1: BigInt(0xffc21bbf86cc199bn), +}; + +/** + * Execute Child Processes + * @param cmd Command to execute + * @returns The command ran it + */ +export const exec = (cmd: string): string | Buffer => { + const srcDir = path.join(__dirname, ".."); + try { + return execSync(cmd, { cwd: srcDir, stdio: "inherit" }); + } catch (e) { + console.log(e); + throw new Error(`Failed to run command \`${cmd}\``); + } +}; + +// Subgraph Management +export const fetchSubgraphs = process.env.RPC_URL + ? createApolloFetch({ + uri: `${process.env.RPC_URL}:8030/graphql`, + }) + : createApolloFetch({ + uri: `http://localhost:8030/graphql`, + }); + +/** + * Connect to an existing subgraph deployed in localhost + * @param subgraphName Name of the subgraph + * @returns connection to subgraph + */ +export const fetchSubgraph = (subgraphName: string): ApolloFetch => { + return process.env.RPC_URL + ? createApolloFetch({ + uri: `${process.env.RPC_URL}:8000/subgraphs/name/${subgraphName}`, + }) + : createApolloFetch({ + uri: `http://localhost:8000/subgraphs/name/${subgraphName}`, + }); +}; + +/** + * Create a promise to wait a determinated `ms` + * @param ms Amount of time to wait in miliseconds + */ +export function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +// Interfaces +interface SyncedSubgraphType { + synced: boolean; +} + +export const waitForSubgraphToBeSynced = async ( + wait = 0, + timeDelay = 1, + seconds = 60, + subgraphName = "test/test" +): Promise => { + if (wait > 0) { + await delay(wait); + } + /** + * Waiting for 60s by default + * Does not care about waiting the 60s - the function already try to handle if does not receive + * a response. If the subgraph need to wait for a big number of blocks, would be good increse + * the seconds to wait by sync. + */ + const deadline = Date.now() + seconds * 1000; + const currentBlock = await ethers.provider.getBlockNumber(); + + const resp = new Promise((resolve, reject) => { + // Function to check if the subgraph is synced asking to the GraphNode + const checkSubgraphSynced = async () => { + try { + const result = await fetchSubgraphs({ + query: ` + { + indexingStatusForCurrentVersion(subgraphName: "${subgraphName}") { + synced + health + fatalError{ + message + handler + } + chains { + chainHeadBlock { + number + } + latestBlock { + number + } + } + } + } + `, + }); + const data = result.data.indexingStatusForCurrentVersion; + if ( + data.synced === true && + data.chains[0].latestBlock.number == currentBlock + ) { + resolve({ synced: true }); + } else if (data.health === "failed") { + reject(new Error(`Subgraph fatalError - ${data.fatalError.message}`)); + } else { + throw new Error(`subgraph is not sync`); + } + } catch (e) { + const message = e instanceof Error ? e.message : "Unknown Error"; + if (message.includes("connect ECONNREFUSED")) { + reject(new Error(`Unable to connect to Subgraph node: ${message}`)); + } + + if (message == "Unknown Error") { + reject(new Error(`${message} - ${e}`)); + } + + if (!currentBlock) { + reject(new Error(`current block is undefined`)); + } + + if (e instanceof TypeError) { + reject( + new Error( + `${e.message} - Check that the subgraphName provided is correct.` + ) + ); + } + + if (Date.now() > deadline) { + reject(new Error(`Timed out waiting for the subgraph to sync`)); + } else { + setTimeout(checkSubgraphSynced, timeDelay * 1000); + } + } + }; + + checkSubgraphSynced(); + }); + + return resp; +}; + +function sleep(milliseconds: number) { + return new Promise((resolve) => setTimeout(resolve, milliseconds)); +} + +export const waitForGraphNode = async (): Promise => { + // eslint-disable-next-line no-constant-condition + while (true) { + try { + //@ts-expect-error fetch is already available on node + const response = await fetch("http://localhost:8030"); + if (response.status === 200) { + break; + } + } catch (error) { + console.log("graph node not ready"); + await sleep(100); + } + } +}; + +/** + * Get the block and timestamp of a specific transaction + * @param tx Transaction that will be use to get the block and timestamp + * @returns The block and timestamp of the transaction + */ +export const getTxTimeblock = async ( + tx: ContractTransaction +): Promise<[number, number]> => { + const block = tx.blockNumber; + if (block == undefined) return [0, 0]; + const timestamp = (await ethers.provider.getBlock(block)).timestamp; + return [block, timestamp]; +}; + +export const deployOBMultiTx = async (orderBook: OrderBook) => { + const contractFactory = await ethers.getContractFactory("OBMultiTx"); + const contract = await contractFactory.deploy(orderBook.address); + + await contract.deployed(); + + return contract as OBMultiTx; +}; diff --git a/subgraph/test/vault.test.ts b/subgraph/test/vault.test.ts new file mode 100644 index 0000000000..b9a4551a30 --- /dev/null +++ b/subgraph/test/vault.test.ts @@ -0,0 +1,700 @@ +import assert from "assert"; +import { expect } from "chai"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + MemoryType, + ONE, + Opcode, + basicDeploy, + compareSolStructs, + compareStructs, + eighteenZeros, + fixedPointDiv, + fixedPointMul, + generateEvaluableConfig, + max_uint256, + memoryOperand, + minBN, + op, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; +import { concat } from "ethers/lib/utils"; +import { + AddOrderEvent, + AfterClearEvent, + ClearConfigStruct, + ClearEvent, + ClearStateChangeStruct, + DepositEvent, + OrderConfigStruct, + WithdrawConfigStruct, + WithdrawEvent, +} from "../typechain/contracts/orderbook/OrderBook"; +import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; +import { DepositConfigStruct } from "../typechain/contracts/orderbook/OrderBook"; + +describe("Vault entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query the Vault after adding an order", async () => { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + await waitForSubgraphToBeSynced(); + + // Subgraph check + const vault_input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}`; + const vault_output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}`; + + // #{vaultId}-{owner}-{token} + const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + const query = `{ + vaultInput: vault (id: "${vault_input_ID}") { + owner { + id + } + tokenVaults { + id + } + deposits { + id + } + withdraws { + id + } + } + vaultOutput: vault (id: "${vault_output_ID}") { + owner { + id + } + tokenVaults { + id + } + deposits { + id + } + withdraws { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const dataInput = response.data.vaultInput; + const dataOutput = response.data.vaultOutput; + + // VaultInput + assert.equal(dataInput.owner.id, alice.address.toLowerCase()); + expect(dataInput.tokenVaults).to.deep.include({ + id: tokenVault_Input_ID, + }); + expect(dataInput.deposits).to.be.empty; + expect(dataInput.withdraws).to.be.empty; + + // VaultOutput + assert.equal(dataOutput.owner.id, alice.address.toLowerCase()); + expect(dataOutput.tokenVaults).to.deep.include({ + id: tokenVault_Output_ID, + }); + expect(dataOutput.deposits).to.be.empty; + expect(dataOutput.withdraws).to.be.empty; + }); + + it("should update the Vault after deposits", async function () { + const [, alice] = signers; + + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenA.transfer(alice.address, amount); + await tokenB.transfer(alice.address, amount); + + // Deposit config using different tokens + const depositConfigStructAlice_A: DepositConfigStruct = { + token: tokenA.address, + vaultId: aliceOutputVault, + amount: amount, + }; + const depositConfigStructAlice_B: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice_A.amount); + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice_B.amount); + + // Alice deposits both tokens into her output vault + const txDepositOrderAlice_A = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice_A); + const txDepositOrderAlice_B = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice_B); + + const { sender: depositAliceSender_A, config: depositAliceConfig_A } = + (await getEventArgs( + txDepositOrderAlice_A, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositAliceSender_B, config: depositAliceConfig_B } = + (await getEventArgs( + txDepositOrderAlice_B, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + // Checking Config A + assert(depositAliceSender_A === alice.address); + compareStructs(depositAliceConfig_A, depositConfigStructAlice_A); + // Checking Config B + assert(depositAliceSender_B === alice.address); + compareStructs(depositAliceConfig_B, depositConfigStructAlice_B); + + // Both config used the same VaultID + assert( + depositAliceConfig_A.vaultId.eq(depositAliceConfig_B.vaultId), + "Wrong: Not the same VaultID in deposits" + ); + + await waitForSubgraphToBeSynced(); + + // Subgraph check + const vault_ID = `${depositAliceConfig_A.vaultId.toString()}-${alice.address.toLowerCase()}`; + + // #{vaultId}-{owner}-{token} + const tokenVault_A_ID = `${depositAliceConfig_A.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + const tokenVault_B_ID = `${depositAliceConfig_B.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; + + // The tx.hash + N deposit made on that transaction. + // In this case, each transaction only made one deposit, so is `tx.hash()-0` + const depositA_ID = `${txDepositOrderAlice_A.hash.toLowerCase()}-0`; + const depositB_ID = `${txDepositOrderAlice_B.hash.toLowerCase()}-0`; + + const query = `{ + vault (id: "${vault_ID}") { + owner { + id + } + tokenVaults { + id + } + deposits { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vault; + + assert.equal(data.owner.id, alice.address.toLowerCase()); + expect(data.tokenVaults).to.deep.include({ + id: tokenVault_A_ID, + }); + expect(data.tokenVaults).to.deep.include({ + id: tokenVault_B_ID, + }); + + expect(data.deposits).to.deep.include({ + id: depositA_ID, + }); + expect(data.deposits).to.deep.include({ + id: depositB_ID, + }); + }); + + it("should update the Vault after adding an order and deposit", async function () { + const [, alice] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + const constants_A = [max_uint256, ratio_A]; + const aOpMax = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 0) + ); + const aRatio = op( + Opcode.read_memory, + memoryOperand(MemoryType.Constant, 1) + ); + // prettier-ignore + const source_A = concat([ + aOpMax, + aRatio, + ]); + + const EvaluableConfig_A = await generateEvaluableConfig( + [source_A, []], + constants_A + ); + + const orderConfig_A: OrderConfigStruct = { + validInputs: [ + { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, + ], + validOutputs: [ + { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, + ], + evaluableConfig: EvaluableConfig_A, + meta: aliceOrder, + }; + + const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); + + const { + sender: sender_A, + expressionDeployer: ExpressionDeployer_A, + order: order_A, + } = (await getEventArgs( + txOrder_A, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert( + ExpressionDeployer_A === EvaluableConfig_A.deployer, + "wrong expression deployer" + ); + assert(sender_A === alice.address, "wrong sender"); + compareStructs(order_A, orderConfig_A); + + // Deposit into the same INPUT vault + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + await tokenA.transfer(alice.address, amount); + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenA.address, + vaultId: aliceInputVault, + amount: amount, + }; + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + + // Alice deposits tokenA into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + + // Wait for sync + await waitForSubgraphToBeSynced(); + + // Subgraph check + const vault_input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}`; + + // The tx.hash + N deposit made on that transaction. + // In this case, the transaction only made one deposit, so is `tx.hash()-0` + const deposit_ID = `${txDepositOrderAlice.hash.toLowerCase()}-0`; + + const query = `{ + vault (id: "${vault_input_ID}") { + deposits { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vault; + + expect(data.deposits).to.deep.include({ + id: deposit_ID, + }); + }); + + it("should update the Vault after withdrawal from vault", async function () { + const [, alice] = signers; + + const vaultId = ethers.BigNumber.from(1); + + // DEPOSIT + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + await tokenA.transfer(alice.address, amount); + + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId, + amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits tokenA into her non-append-only vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); + + const withdrawConfigStruct: WithdrawConfigStruct = { + token: tokenA.address, + vaultId: vaultId, + amount, + }; + + const txWithdraw = await orderBook + .connect(alice) + .withdraw(withdrawConfigStruct); + + const { sender: withdrawSender, config: withdrawConfig } = + (await getEventArgs( + txWithdraw, + "Withdraw", + orderBook + )) as WithdrawEvent["args"]; + + assert(withdrawSender === alice.address); + compareStructs(withdrawConfig, withdrawConfigStruct); + + const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); + + assert(aliceTokenABalance0.isZero()); + assert(aliceTokenABalance1.eq(amount)); + + // Checking the VaultIDs + assert( + depositConfig.vaultId.eq(withdrawConfig.vaultId), + "Deposit and Withdraw does not have the same VaultID" + ); + + // Wait for sync + await waitForSubgraphToBeSynced(); + + // Subgraph check + const vault_input_ID = `${depositConfig.vaultId.toString()}-${alice.address.toLowerCase()}`; + + // The tx.hash + N withdraw made on that transaction. + // In this case, the transaction only made one withdraw, so is `tx.hash()-0` + const withdraw_ID = `${txWithdraw.hash.toLowerCase()}-0`; + + const query = `{ + vault (id: "${vault_input_ID}") { + withdraws { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vault; + + expect(data.withdraws).to.deep.include({ + id: withdraw_ID, + }); + }); + + it("should create/update the Vault of the Clearer address", async function () { + const [, alice, bob, bountyBot] = signers; + + const aliceInputVault = ethers.BigNumber.from(randomUint256()); + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const bobInputVault = ethers.BigNumber.from(randomUint256()); + const bobOutputVault = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); + const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); + + // Order_A + const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const aliceOrder = encodeMeta("Order_A"); + + const OrderConfig_A: OrderConfigStruct = await getOrderConfig( + ratio_A, + max_uint256, + tokenA.address, + 18, + aliceInputVault, + tokenB.address, + 18, + aliceOutputVault, + aliceOrder + ); + + const txAddOrderAlice = await orderBook + .connect(alice) + .addOrder(OrderConfig_A); + + const { sender: sender_A, order: Order_A } = (await getEventArgs( + txAddOrderAlice, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_A === alice.address, "wrong sender"); + compareStructs(Order_A, OrderConfig_A); + + // Order_B + const ratio_B = fixedPointDiv(ONE, ratio_A); + + // TODO: This is a WRONG encoding meta (FIX: @naneez) + const bobOrder = encodeMeta("Order_B"); + + const OrderConfig_B: OrderConfigStruct = await getOrderConfig( + ratio_B, + max_uint256, + tokenB.address, + 18, + bobInputVault, + tokenA.address, + 18, + bobOutputVault, + bobOrder + ); + + const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); + + const { sender: sender_B, order: Order_B } = (await getEventArgs( + txAddOrderBob, + "AddOrder", + orderBook + )) as AddOrderEvent["args"]; + + assert(sender_B === bob.address, "wrong sender"); + compareStructs(Order_B, OrderConfig_B); + + // DEPOSITS + const amountB = ethers.BigNumber.from("1000" + eighteenZeros); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenB.transfer(alice.address, amountB); + await tokenA.transfer(bob.address, amountA); + + const depositConfigStructAlice: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + const depositConfigStructBob: DepositConfigStruct = { + token: tokenA.address, + vaultId: bobOutputVault, + amount: amountA, + }; + + await tokenB + .connect(alice) + .approve(orderBook.address, depositConfigStructAlice.amount); + await tokenA + .connect(bob) + .approve(orderBook.address, depositConfigStructBob.amount); + + // Alice deposits tokenB into her output vault + const txDepositOrderAlice = await orderBook + .connect(alice) + .deposit(depositConfigStructAlice); + // Bob deposits tokenA into his output vault + const txDepositOrderBob = await orderBook + .connect(bob) + .deposit(depositConfigStructBob); + + const { sender: depositAliceSender, config: depositAliceConfig } = + (await getEventArgs( + txDepositOrderAlice, + "Deposit", + orderBook + )) as DepositEvent["args"]; + const { sender: depositBobSender, config: depositBobConfig } = + (await getEventArgs( + txDepositOrderBob, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositAliceSender === alice.address); + compareStructs(depositAliceConfig, depositConfigStructAlice); + assert(depositBobSender === bob.address); + compareStructs(depositBobConfig, depositConfigStructBob); + + // BOUNTY BOT CLEARS THE ORDER + + const clearConfig: ClearConfigStruct = { + aliceInputIOIndex: 0, + aliceOutputIOIndex: 0, + bobInputIOIndex: 0, + bobOutputIOIndex: 0, + aliceBountyVaultId: bountyBotVaultA, + bobBountyVaultId: bountyBotVaultB, + }; + + const txClearOrder = await orderBook + .connect(bountyBot) + .clear(Order_A, Order_B, clearConfig, [], []); + + const { + sender: clearSender, + alice: clearA_, + bob: clearB_, + clearConfig: clearBountyConfig, + } = (await getEventArgs( + txClearOrder, + "Clear", + orderBook + )) as ClearEvent["args"]; + const { sender: afterClearSender, clearStateChange: clearStateChange } = + (await getEventArgs( + txClearOrder, + "AfterClear", + orderBook + )) as AfterClearEvent["args"]; + + const aOutputMaxExpected = amountA; + const bOutputMaxExpected = amountB; + + const aOutputExpected = minBN( + aOutputMaxExpected, + fixedPointMul(ratio_B, amountA) + ); + const bOutputExpected = minBN( + bOutputMaxExpected, + fixedPointMul(ratio_A, amountB) + ); + + const expectedClearStateChange: ClearStateChangeStruct = { + aliceOutput: aOutputExpected, + bobOutput: bOutputExpected, + aliceInput: fixedPointMul(ratio_A, aOutputExpected), + bobInput: fixedPointMul(ratio_B, bOutputExpected), + }; + + assert(afterClearSender === bountyBot.address); + assert(clearSender === bountyBot.address); + compareSolStructs(clearA_, Order_A); + compareSolStructs(clearB_, Order_B); + compareStructs(clearBountyConfig, clearConfig); + compareStructs(clearStateChange, expectedClearStateChange); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // Vault ID where the bounty will be move + const { aliceBountyVaultId, bobBountyVaultId } = clearBountyConfig; + + const vault_A_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; + const vault_B_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; + + const query = `{ + vaults { + id + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vaults; + + expect(data).to.deep.include({ + id: vault_A_ID, + }); + expect(data).to.deep.include({ + id: vault_B_ID, + }); + }); +}); diff --git a/subgraph/test/vaultDeposit.test.ts b/subgraph/test/vaultDeposit.test.ts new file mode 100644 index 0000000000..929729bda3 --- /dev/null +++ b/subgraph/test/vaultDeposit.test.ts @@ -0,0 +1,203 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + basicDeploy, + compareStructs, + eighteenZeros, + getEvents, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { DepositEvent } from "../typechain/contracts/orderbook/OrderBook"; +import { + deployOBMultiTx, + getEventArgs, + waitForSubgraphToBeSynced, +} from "./utils"; +import { DepositConfigStruct } from "../typechain/contracts/orderbook/OrderBook"; + +describe("VaultDeposit entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query the VaultDeposit after a deposit", async function () { + const [, alice] = signers; + + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + + await tokenA.transfer(alice.address, amount); + + // Deposit config using different tokens + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId: aliceOutputVault, + amount: amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits both tokens into her output vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + // Checking Config A + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + // Subgrpah check + await waitForSubgraphToBeSynced(); + + // VaultDeposit ID: `tx.hash-{N}` where n is the N deposit with the same tx.hash; + // In this case, the tx only made one deposit, so the N is 0 + const vaultDeposit_ID = `${txDeposit.hash.toLowerCase()}-0`; + + // Vault ID: #{vaultId}-{owner} + const vault_ID = `${depositConfig.vaultId.toString()}-${alice.address.toLowerCase()}`; + + // TokenVault ID: #{vaultId}-{owner}-{token} + const tokenVault_A_ID = `${depositConfig.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + + const query = `{ + vaultDeposit (id: "${vaultDeposit_ID}") { + amount + vaultId + sender { + id + } + token { + id + } + vault { + id + } + tokenVault { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vaultDeposit; + + assert.equal(data.amount, depositConfig.amount.toString()); + assert.equal(data.vaultId, depositConfig.vaultId.toString()); + assert.equal(data.sender.id, depositSender.toLowerCase()); + assert.equal(data.token.id, tokenA.address.toLowerCase()); + assert.equal(data.vault.id, vault_ID); + assert.equal(data.tokenVault.id, tokenVault_A_ID); + }); + + it("should query correctly the VaultDeposits after deposits on same transactions", async function () { + const [, alice] = signers; + + // Deploy new OBMultiTx contract + const obMultiTx = await deployOBMultiTx(orderBook); + + const aliceOutputVault = ethers.BigNumber.from(randomUint256()); + const amountA = ethers.BigNumber.from("1000" + eighteenZeros); + const amountB = ethers.BigNumber.from("2000" + eighteenZeros); + + await tokenA.transfer(alice.address, amountA); + await tokenB.transfer(alice.address, amountB); + + // Deposit config using different tokens and amounts + const depositConfigStruct_A: DepositConfigStruct = { + token: tokenA.address, + vaultId: aliceOutputVault, + amount: amountA, + }; + const depositConfigStruct_B: DepositConfigStruct = { + token: tokenB.address, + vaultId: aliceOutputVault, + amount: amountB, + }; + + // Approve the tokens to be used by the OBMultiTx contract + await tokenA + .connect(alice) + .approve(obMultiTx.address, depositConfigStruct_A.amount); + await tokenB + .connect(alice) + .approve(obMultiTx.address, depositConfigStruct_B.amount); + + // Alice deposits both tokens using the obMultiTx + const txMultiDeposits = await obMultiTx + .connect(alice) + .multiDeposit([depositConfigStruct_A, depositConfigStruct_B]); + + const depositEvents = (await getEvents( + txMultiDeposits, + "Deposit", + orderBook + )) as Array; + + // Subgraph check + await waitForSubgraphToBeSynced(); + + for (let i = 0; i < depositEvents.length; i++) { + // Using the Deposit event for a given index + const { sender, config } = depositEvents[i]; + + // VaultDeposit ID: `tx.hash-{N}` where n is the N deposit with the same tx.hash; + // In this case, the N value is the i value given the iteration + const vaultDeposit_ID = `${txMultiDeposits.hash.toLowerCase()}-${i}`; + + // Vault ID = {Deposit.config.vaultId}-{sender} + const vault_ID = `${config.vaultId.toString()}-${sender.toLowerCase()}`; + + // TokenVault ID = {Deposit.config.vaultId}-{Deposit.sender}-{Deposit.config.token} + const tokenVault_ID = `${config.vaultId.toString()}-${sender.toLowerCase()}-${config.token.toLowerCase()}`; + + const query = `{ + vaultDeposit (id: "${vaultDeposit_ID}") { + vaultId + amount + sender { + id + } + token { + id + } + vault { + id + } + tokenVault { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vaultDeposit; + + assert.equal(data.vaultId, config.vaultId.toString()); + assert.equal(data.amount, config.amount.toString()); + assert.equal(data.sender.id, sender.toLowerCase()); + assert.equal(data.token.id, config.token.toLowerCase()); + assert.equal(data.vault.id, vault_ID); + assert.equal(data.tokenVault.id, tokenVault_ID); + } + }); +}); diff --git a/subgraph/test/vaultWithdraw.test.ts b/subgraph/test/vaultWithdraw.test.ts new file mode 100644 index 0000000000..9703014f07 --- /dev/null +++ b/subgraph/test/vaultWithdraw.test.ts @@ -0,0 +1,275 @@ +import assert from "assert"; +import { FetchResult } from "apollo-fetch"; +import { orderBook, signers, subgraph } from "./0_initialization.test"; +import { ReserveToken18 } from "../typechain"; +import { + basicDeploy, + compareStructs, + eighteenZeros, + getEvents, + randomUint256, +} from "../utils"; +import { ethers } from "hardhat"; +import { + DepositEvent, + WithdrawConfigStruct, + WithdrawEvent, +} from "../typechain/contracts/orderbook/OrderBook"; +import { + deployOBMultiTx, + getEventArgs, + waitForSubgraphToBeSynced, +} from "./utils"; +import { DepositConfigStruct } from "../typechain/contracts/orderbook/OrderBook"; + +describe("VaultWithdraw entity", () => { + let tokenA: ReserveToken18; + let tokenB: ReserveToken18; + + beforeEach(async () => { + tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; + await tokenA.initialize(); + await tokenB.initialize(); + }); + + it("should query the VaultWithdraw after withdrawal", async function () { + const [, alice] = signers; + + const vaultId = ethers.BigNumber.from(randomUint256()); + + // DEPOSIT + const amount = ethers.BigNumber.from("1000" + eighteenZeros); + await tokenA.transfer(alice.address, amount); + + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId, + amount: amount, + }; + + await tokenA + .connect(alice) + .approve(orderBook.address, depositConfigStruct.amount); + + // Alice deposits tokenA into her non-append-only vault + const txDeposit = await orderBook + .connect(alice) + .deposit(depositConfigStruct); + + const { sender: depositSender, config: depositConfig } = + (await getEventArgs( + txDeposit, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); + + const withdrawConfigStruct: WithdrawConfigStruct = { + token: tokenA.address, + vaultId: vaultId, + amount: amount, + }; + + const txWithdraw = await orderBook + .connect(alice) + .withdraw(withdrawConfigStruct); + + const { + sender: withdrawSender, + config: withdrawConfig, + amount: withdrawnAmount, + } = (await getEventArgs( + txWithdraw, + "Withdraw", + orderBook + )) as WithdrawEvent["args"]; + + assert(withdrawSender === alice.address); + compareStructs(withdrawConfig, withdrawConfigStruct); + + const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); + + assert(aliceTokenABalance0.isZero()); + assert(aliceTokenABalance1.eq(amount)); + + // Checking the VaultIDs + assert( + depositConfig.vaultId.eq(withdrawConfig.vaultId), + "Deposit and Withdraw does not have the same VaultID" + ); + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // VaultWithdraw ID: `tx.hash-{N}` where n is the N withdraw with the same tx.hash; + // In this case, the tx only made one withdraw, so the N is 0 + const vaultWithdraw_ID = `${txWithdraw.hash.toLowerCase()}-0`; + + // Vault ID: #{vaultId}-{owner} + const vault_ID = `${withdrawConfig.vaultId.toString()}-${alice.address.toLowerCase()}`; + + // TokenVault ID: #{vaultId}-{owner}-{token} + const tokenVault_ID = `${withdrawConfig.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; + + const query = `{ + vaultWithdraw (id: "${vaultWithdraw_ID}") { + vaultId + requestedAmount + amount + sender { + id + } + token { + id + } + vault { + id + } + tokenVault { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vaultWithdraw; + + assert.equal(data.vaultId, withdrawConfig.vaultId.toString()); + assert.equal(data.requestedAmount, withdrawConfig.amount.toString()); + assert.equal(data.amount, withdrawnAmount.toString()); + assert.equal(data.sender.id, withdrawSender.toLowerCase()); + assert.equal(data.token.id, withdrawConfig.token.toLowerCase()); + assert.equal(data.vault.id, vault_ID); + assert.equal(data.tokenVault.id, tokenVault_ID); + }); + + it("should query correctly the VaultWithdraws after withdraws on same transactions", async function () { + const [, alice] = signers; + + // Deploy new OBMultiTx contract + const obMultiTx = await deployOBMultiTx(orderBook); + + const vaultId = ethers.BigNumber.from(randomUint256()); + + // DEPOSIT + const amountToDeposit = ethers.BigNumber.from("2000" + eighteenZeros); + await tokenA.transfer(alice.address, amountToDeposit); + + // Make one deposit with enought amount + const depositConfigStruct: DepositConfigStruct = { + token: tokenA.address, + vaultId, + amount: amountToDeposit, + }; + + // Approve the OBMultiTx contract to use the alice tokens + await tokenA + .connect(alice) + .approve(obMultiTx.address, depositConfigStruct.amount); + + // Make the deposit using the OBMultiTx contract (the owner will be the contract) + const txDeposits = await obMultiTx + .connect(alice) + .multiDeposit([depositConfigStruct]); + + const { config: depositConfig } = (await getEventArgs( + txDeposits, + "Deposit", + orderBook + )) as DepositEvent["args"]; + + // assert(depositSender === alice.address); + compareStructs(depositConfig, depositConfigStruct); + + // WITHDRAWS + // First amount to be requested for withdrawal will be 1/4 of the deposited amount. + const amountToWithdraw_A = amountToDeposit.div(4); + + // Second amount to be requested for withdrawal will be 3/4 of the amount deposited. + const amountToWithdraw_B = amountToDeposit.div(4).mul(3); + + const withdrawConfigStruct_A: WithdrawConfigStruct = { + token: tokenA.address, + vaultId: vaultId, + amount: amountToWithdraw_A, + }; + + const withdrawConfigStruct_B: WithdrawConfigStruct = { + token: tokenA.address, + vaultId: vaultId, + amount: amountToWithdraw_B, + }; + + // Alice use the contract to multi withdraws (Contract will hold the tokens) + const txMultiWithdraws = await obMultiTx + .connect(alice) + .multiWithdraw([withdrawConfigStruct_A, withdrawConfigStruct_B]); + + const withdrawEvents = (await getEvents( + txMultiWithdraws, + "Withdraw", + orderBook + )) as Array; + + // Subgraph check + await waitForSubgraphToBeSynced(); + + // + for (let i = 0; i < withdrawEvents.length; i++) { + // Using the Withdraw event for a given index + const { + sender: withdrawSender, + config: withdrawConfig, + amount: withdrawnAmount, + } = withdrawEvents[i]; + + // VaultWithdraw ID: `tx.hash-{N}` where n is the N withdraw with the same tx.hash; + // In this case, the N value is the i value given the iteration + const vaultWithdraw_ID = `${txMultiWithdraws.hash.toLowerCase()}-${i}`; + + // Vault ID = {Withdraw.config.vaultId}-{sender} + const vault_ID = `${withdrawConfig.vaultId.toString()}-${withdrawSender.toLowerCase()}`; + + // TokenVault ID = {Withdraw.config.vaultId}-{Withdraw.sender}-{Withdraw.config.token} + const tokenVault_ID = `${withdrawConfig.vaultId.toString()}-${withdrawSender.toLowerCase()}-${withdrawConfig.token.toLowerCase()}`; + + const query = `{ + vaultWithdraw (id: "${vaultWithdraw_ID}") { + vaultId + requestedAmount + amount + sender { + id + } + token { + id + } + vault { + id + } + tokenVault { + id + } + } + }`; + + const response = (await subgraph({ query })) as FetchResult; + + const data = response.data.vaultWithdraw; + + assert.equal(data.vaultId, withdrawConfig.vaultId.toString()); + assert.equal(data.requestedAmount, withdrawConfig.amount.toString()); + assert.equal(data.amount, withdrawnAmount.toString()); + assert.equal(data.sender.id, withdrawSender.toLowerCase()); + assert.equal(data.token.id, withdrawConfig.token.toLowerCase()); + assert.equal(data.vault.id, vault_ID); + assert.equal(data.tokenVault.id, tokenVault_ID); + } + }); +}); From b7431fbbd904a7f0ee0139303b13c32aeba89f4a Mon Sep 17 00:00:00 2001 From: NanezX Date: Sat, 30 Sep 2023 13:02:44 -0400 Subject: [PATCH 003/163] removed ts tests --- subgraph/test/0_initialization.test.ts | 58 - subgraph/test/account.test.ts | 620 -------- subgraph/test/bounty.test.ts | 281 ---- subgraph/test/erc20.test.ts | 292 ---- subgraph/test/io.test.ts | 242 --- subgraph/test/order.test.ts | 551 ------- subgraph/test/orderBook.test.ts | 42 - subgraph/test/orderClear.test.ts | 489 ------ subgraph/test/orderClearStateChange.test.ts | 256 ---- subgraph/test/takeOrderEntity.test.ts | 399 ----- subgraph/test/tokenVault.test.ts | 1492 ------------------- subgraph/test/utils.ts | 266 ---- subgraph/test/vault.test.ts | 700 --------- subgraph/test/vaultDeposit.test.ts | 203 --- subgraph/test/vaultWithdraw.test.ts | 275 ---- 15 files changed, 6166 deletions(-) delete mode 100644 subgraph/test/0_initialization.test.ts delete mode 100644 subgraph/test/account.test.ts delete mode 100644 subgraph/test/bounty.test.ts delete mode 100644 subgraph/test/erc20.test.ts delete mode 100644 subgraph/test/io.test.ts delete mode 100644 subgraph/test/order.test.ts delete mode 100644 subgraph/test/orderBook.test.ts delete mode 100644 subgraph/test/orderClear.test.ts delete mode 100644 subgraph/test/orderClearStateChange.test.ts delete mode 100644 subgraph/test/takeOrderEntity.test.ts delete mode 100644 subgraph/test/tokenVault.test.ts delete mode 100644 subgraph/test/utils.ts delete mode 100644 subgraph/test/vault.test.ts delete mode 100644 subgraph/test/vaultDeposit.test.ts delete mode 100644 subgraph/test/vaultWithdraw.test.ts diff --git a/subgraph/test/0_initialization.test.ts b/subgraph/test/0_initialization.test.ts deleted file mode 100644 index af6b6e9a5a..0000000000 --- a/subgraph/test/0_initialization.test.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { ethers } from "hardhat"; -import { - exec, - fetchFile, - fetchSubgraph, - waitForGraphNode, - waitForSubgraphToBeSynced, - writeFile, -} from "./utils"; -import { OrderBook } from "../typechain"; -import assert from "assert"; -import * as path from "path"; -import { ApolloFetch } from "apollo-fetch"; -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; -import deploy1820 from "../utils/deploy/registry1820/deploy"; -import { deployOrderBook } from "../utils/deploy/orderBook/deploy"; -import { zeroAddress } from "../utils"; - -export let orderBook: OrderBook; -export let subgraph: ApolloFetch; -export let signers: SignerWithAddress[]; - -before(async () => { - // Wait for the correct initialization of the graph node - await waitForGraphNode(); - - // Making available the Registry (EIP-1820) on local network - signers = await ethers.getSigners(); - await deploy1820(signers[0]); - - orderBook = await deployOrderBook(); - - const configPath = path.resolve(__dirname, "../config/localhost.json"); - - assert(!(orderBook.address === zeroAddress), "OrderBook did not deploy"); - - const config = JSON.parse(fetchFile(configPath)); - - config.network = "localhost"; - config.orderbook = orderBook.address; - config.blockNumber = orderBook.deployTransaction.blockNumber; - - writeFile(configPath, JSON.stringify(config, null, 2)); - - // create subgraph instance - exec("graph create --node http://localhost:8020/ test/test"); - // prepare subgraph manifest - exec( - "npx mustache config/localhost.json subgraph.template.yaml subgraph.yaml" - ); - // deploy subgraph - exec( - "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 test/test --version-label 1" - ); - subgraph = fetchSubgraph("test/test"); - - await waitForSubgraphToBeSynced(1000); -}); diff --git a/subgraph/test/account.test.ts b/subgraph/test/account.test.ts deleted file mode 100644 index dea9c027f1..0000000000 --- a/subgraph/test/account.test.ts +++ /dev/null @@ -1,620 +0,0 @@ -import assert from "assert"; -import { expect } from "chai"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - MemoryType, - ONE, - Opcode, - basicDeploy, - compareSolStructs, - compareStructs, - eighteenZeros, - fixedPointDiv, - fixedPointMul, - generateEvaluableConfig, - max_uint256, - memoryOperand, - minBN, - op, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { concat } from "ethers/lib/utils"; -import { - AddOrderEvent, - AfterClearEvent, - ClearConfigStruct, - ClearEvent, - ClearStateChangeStruct, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, - TakeOrderConfigStruct, - TakeOrdersConfigStruct, - WithdrawConfigStruct, - WithdrawEvent, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; - -describe("Account entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query correctly the Account after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query = `{ - account (id: "${alice.address.toLowerCase()}") { - orders { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.account; - - expect(data.orders).to.deep.include({ - id: orderHash.toHexString(), - }); - }); - - it("should query correctly the Account after a deposit", async function () { - const [, alice] = signers; - - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenA.transfer(alice.address, amount); - - // Deposit config using different tokens - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId: aliceOutputVault, - amount: amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits both tokens into her output vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - // Checking Config A - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // VaultDeposit ID: `tx.hash-{N}` where n is the N deposit with the same tx.hash; - // In this case, the tx only made one deposit, so the N is 0 - const vaultDeposit_ID = `${txDeposit.hash.toLowerCase()}-0`; - - const query = `{ - account (id: "${alice.address.toLowerCase()}") { - deposits { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.account; - - expect(data.deposits).to.deep.include({ - id: vaultDeposit_ID, - }); - }); - - it("should query correctly the Account after withdrawal", async function () { - const [, alice] = signers; - - const vaultId = ethers.BigNumber.from(randomUint256()); - - // DEPOSIT - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - await tokenA.transfer(alice.address, amount); - - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId, - amount: amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits tokenA into her non-append-only vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); - - const withdrawConfigStruct: WithdrawConfigStruct = { - token: tokenA.address, - vaultId: vaultId, - amount: amount, - }; - - const txWithdraw = await orderBook - .connect(alice) - .withdraw(withdrawConfigStruct); - - const { sender: withdrawSender, config: withdrawConfig } = - (await getEventArgs( - txWithdraw, - "Withdraw", - orderBook - )) as WithdrawEvent["args"]; - - assert(withdrawSender === alice.address); - compareStructs(withdrawConfig, withdrawConfigStruct); - - const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); - - assert(aliceTokenABalance0.isZero()); - assert(aliceTokenABalance1.eq(amount)); - - // Checking the VaultIDs - assert( - depositConfig.vaultId.eq(withdrawConfig.vaultId), - "Deposit and Withdraw does not have the same VaultID" - ); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // VaultWithdraw ID: `tx.hash-{N}` where n is the N withdraw with the same tx.hash; - // In this case, the tx only made one withdraw, so the N is 0 - const vaultWithdraw_ID = `${txWithdraw.hash.toLowerCase()}-0`; - - const query = `{ - account (id: "${alice.address.toLowerCase()}") { - withdraws { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.account; - - expect(data.withdraws).to.deep.include({ - id: vaultWithdraw_ID, - }); - }); - - it("should query correctly the Account after clearing orders", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query = `{ - account (id: "${bountyBot.address.toLowerCase()}") { - bounties { - id - } - ordersCleared { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataBounties = response.data.account.bounties; - const dataOrdersCleared = response.data.account.ordersCleared; - - // The IDs are autogenerated for the SG. So, only checking that It's not - // empty (that have values) - assert(dataBounties.length > 0, "Wrong: bounties are not added"); - assert(dataOrdersCleared.length > 0, "Wrong: ordersCleared are not added"); - }); - - it("should query correctly the Account after take an order", async function () { - const [, alice, bob] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // ASK ORDER - - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrder = await orderBook.connect(alice).addOrder(OrderConfig_A); - - const { order: Order_A } = (await getEventArgs( - txAddOrder, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - // DEPOSIT - - const amountB = ethers.BigNumber.from("2" + eighteenZeros); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - - await tokenB.transfer(alice.address, amountB); - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - - // TAKE ORDER - - // Bob takes order with direct wallet transfer - const takeOrderConfigStruct: TakeOrderConfigStruct = { - order: Order_A, - inputIOIndex: 0, - outputIOIndex: 0, - signedContext: [], - }; - - const takeOrdersConfigStruct: TakeOrdersConfigStruct = { - output: tokenA.address, - input: tokenB.address, - minimumInput: amountB, - maximumInput: amountB, - maximumIORatio: ratio_A, - orders: [takeOrderConfigStruct], - }; - - const amountA = amountB.mul(ratio_A).div(ONE); - await tokenA.transfer(bob.address, amountA); - await tokenA.connect(bob).approve(orderBook.address, amountA); - - const txTakeOrders = await orderBook - .connect(bob) - .takeOrders(takeOrdersConfigStruct); - - const tokenAAliceBalance = await tokenA.balanceOf(alice.address); - const tokenBAliceBalance = await tokenB.balanceOf(alice.address); - const tokenABobBalance = await tokenA.balanceOf(bob.address); - const tokenBBobBalance = await tokenB.balanceOf(bob.address); - - assert(tokenAAliceBalance.isZero()); // Alice has not yet withdrawn - assert(tokenBAliceBalance.isZero()); - assert(tokenABobBalance.isZero()); - assert(tokenBBobBalance.eq(amountB)); - - await orderBook.connect(alice).withdraw({ - token: tokenA.address, - vaultId: aliceInputVault, - amount: amountA, - }); - - const tokenAAliceBalanceWithdrawn = await tokenA.balanceOf(alice.address); - assert(tokenAAliceBalanceWithdrawn.eq(amountA)); - - const takeOrderEntity_ID = `${txTakeOrders.hash.toLowerCase()}-${0}`; - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query = `{ - account (id: "${bob.address.toLowerCase()}") { - takeOrderEntities { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataTakeOrder = response.data.account.takeOrderEntities; - - expect(dataTakeOrder).to.deep.include({ - id: takeOrderEntity_ID, - }); - }); -}); diff --git a/subgraph/test/bounty.test.ts b/subgraph/test/bounty.test.ts deleted file mode 100644 index c137a6724a..0000000000 --- a/subgraph/test/bounty.test.ts +++ /dev/null @@ -1,281 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - ONE, - basicDeploy, - compareSolStructs, - compareStructs, - eighteenZeros, - fixedPointDiv, - fixedPointMul, - max_uint256, - minBN, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { - AddOrderEvent, - AfterClearEvent, - ClearConfigStruct, - ClearEvent, - ClearStateChangeStruct, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; - -describe("Bounty entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query Bounty after clearing orders", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // The ID of Bounty is auto-generated by the SG, so get the Bounty through - // the OrderClear to test the Bounty - const orderClear_ID = `${txClearOrder.hash.toLowerCase()}-0`; - - const { aliceBountyVaultId, bobBountyVaultId } = clearBountyConfig; - - // id: ID! #{vaultId}-{owner} - const bountyVaultA_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; - const bountyVaultB_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; - - const query = `{ - orderClear (id: "${orderClear_ID}") { - bounty { - bountyAmountA - bountyAmountB - clearer { - id - } - orderClear { - id - } - bountyVaultA { - id - } - bountyVaultB { - id - } - bountyTokenA { - id - } - bountyTokenB { - id - } - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.orderClear.bounty; - - const { aliceOutput, bobOutput, aliceInput, bobInput } = clearStateChange; - - assert.equal(data.bountyAmountA, aliceOutput.sub(bobInput)); - assert.equal(data.bountyAmountB, bobOutput.sub(aliceInput)); - - assert.equal(data.clearer.id, bountyBot.address.toLowerCase()); - assert.equal(data.orderClear.id, orderClear_ID); - - assert.equal(data.bountyVaultA.id, bountyVaultA_ID); - assert.equal(data.bountyVaultB.id, bountyVaultB_ID); - - assert.equal(data.bountyTokenA.id, tokenB.address.toLowerCase()); - assert.equal(data.bountyTokenB.id, tokenA.address.toLowerCase()); - }); -}); diff --git a/subgraph/test/erc20.test.ts b/subgraph/test/erc20.test.ts deleted file mode 100644 index 113fae829e..0000000000 --- a/subgraph/test/erc20.test.ts +++ /dev/null @@ -1,292 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - MemoryType, - Opcode, - basicDeploy, - compareStructs, - eighteenZeros, - generateEvaluableConfig, - max_uint256, - memoryOperand, - op, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta } from "../utils/orderBook/order"; -import { concat } from "ethers/lib/utils"; -import { - AddOrderEvent, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; - -describe("ERC20 entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query the ERC20 after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query = `{ - tokenA: erc20 (id: "${tokenA.address.toLowerCase()}") { - name - symbol - totalSupply - decimals - } - tokenB: erc20 (id: "${tokenB.address.toLowerCase()}") { - name - symbol - totalSupply - decimals - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataA = response.data.tokenA; - const dataB = response.data.tokenB; - - // TokenA - assert.equal(dataA.name, await tokenA.name()); - assert.equal(dataA.symbol, await tokenA.symbol()); - assert.equal(dataA.symbol, await tokenA.symbol()); - assert.equal(dataA.totalSupply, await tokenA.totalSupply()); - assert.equal(dataA.decimals, await tokenA.decimals()); - - // TokenB - assert.equal(dataB.name, await tokenB.name()); - assert.equal(dataB.symbol, await tokenB.symbol()); - assert.equal(dataB.symbol, await tokenB.symbol()); - assert.equal(dataB.totalSupply, await tokenB.totalSupply()); - assert.equal(dataB.decimals, await tokenB.decimals()); - }); - - it("should update the Vault after deposits", async function () { - const [, alice] = signers; - - const vault = ethers.BigNumber.from(randomUint256()); - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenA.transfer(alice.address, amount); - - // Deposit config using different tokens - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId: vault, - amount: amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits both tokens into her output vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - // Checking Config - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query = `{ - erc20 (id: "${tokenA.address.toLowerCase()}") { - name - symbol - totalSupply - decimals - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.erc20; - - // Token ERC20 - assert.equal(data.name, await tokenA.name()); - assert.equal(data.symbol, await tokenA.symbol()); - assert.equal(data.symbol, await tokenA.symbol()); - assert.equal(data.totalSupply, await tokenA.totalSupply()); - assert.equal(data.decimals, await tokenA.decimals()); - }); - - it("should not break the sg when using a non-ERC20 contract as address when adding an order", async () => { - const [, alice, , nonErc20_A, nonErc20_B] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: nonErc20_A.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: nonErc20_B.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query = `{ - nonErc20_A: erc20 (id: "${nonErc20_A.address.toLowerCase()}") { - name - symbol - totalSupply - decimals - } - nonErc20_B: erc20 (id: "${nonErc20_B.address.toLowerCase()}") { - name - symbol - totalSupply - decimals - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const dataA = response.data.nonErc20_A; - const dataB = response.data.nonErc20_B; - - // nonErc20_A - assert.equal(dataA.name, "NONE"); - assert.equal(dataA.symbol, "NONE"); - assert.equal(dataA.totalSupply, 0); - assert.equal(dataA.decimals, 0); - - // nonErc20_B - assert.equal(dataB.name, "NONE"); - assert.equal(dataB.symbol, "NONE"); - assert.equal(dataB.totalSupply, 0); - assert.equal(dataB.decimals, 0); - }); -}); diff --git a/subgraph/test/io.test.ts b/subgraph/test/io.test.ts deleted file mode 100644 index 94624751b0..0000000000 --- a/subgraph/test/io.test.ts +++ /dev/null @@ -1,242 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - MemoryType, - Opcode, - basicDeploy, - compareStructs, - eighteenZeros, - generateEvaluableConfig, - max_uint256, - memoryOperand, - op, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta } from "../utils/orderBook/order"; -import { concat } from "ethers/lib/utils"; -import { - AddOrderEvent, - OrderConfigStruct, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; - -describe("IO entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - }); - - it("should query the IO entities of Inputs after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash: orderHash_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - await waitForSubgraphToBeSynced(); - - // Subgraph check - const orderOwner = order_A.owner.toLowerCase(); - const orderHash = orderHash_A.toHexString().toLowerCase(); - - for (let i = 0; i < order_A.validInputs.length; i++) { - const IOValue = order_A.validInputs[i]; - const IOToken = IOValue.token.toLowerCase(); - const IOVault = IOValue.vaultId; - const IODecimals = IOValue.decimals.toString(); - - // ID = `{order.hash()}-{IO.token}-{IO.vaultId}` - const IO_ID = `${orderHash}-${IOToken}-${IOVault}`; - // ID = `{vaultId}-{owner}` - const vault_ID = `${IOVault}-${orderOwner}`; - - const query = `{ - io (id: "${IO_ID}") { - decimals - token { - id - } - vault { - id - } - order { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.io; - - assert.equal(data.decimals, IODecimals, "wrond decimals on IO"); - assert.equal(data.token.id, IOToken, "wrong token ID on IO"); - assert.equal(data.vault.id, vault_ID, "wrong vault ID on IO"); - assert.equal(data.order.id, orderHash, "wrong order ID on IO"); - } - }); - - it("should query the IO entities of Outputs after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash: orderHash_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - await waitForSubgraphToBeSynced(); - - // Subgraph check - const orderOwner = order_A.owner.toLowerCase(); - const orderHash = orderHash_A.toHexString().toLowerCase(); - - for (let i = 0; i < order_A.validOutputs.length; i++) { - const IOValue = order_A.validOutputs[i]; - const IOToken = IOValue.token.toLowerCase(); - const IOVault = IOValue.vaultId; - const IODecimals = IOValue.decimals.toString(); - - // ID = `{order.hash()}-{IO.token}-{IO.vaultId}` - const IO_ID = `${orderHash}-${IOToken}-${IOVault}`; - // ID = `{vaultId}-{owner}` - const vault_ID = `${IOVault}-${orderOwner}`; - - const query = `{ - io (id: "${IO_ID}") { - decimals - token { - id - } - vault { - id - } - order { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.io; - - assert.equal(data.decimals, IODecimals, "wrond decimals on IO"); - assert.equal(data.token.id, IOToken, "wrong token ID on IO"); - assert.equal(data.vault.id, vault_ID, "wrong vault ID on IO"); - assert.equal(data.order.id, orderHash, "wrong order ID on IO"); - } - }); -}); diff --git a/subgraph/test/order.test.ts b/subgraph/test/order.test.ts deleted file mode 100644 index 0469f9a091..0000000000 --- a/subgraph/test/order.test.ts +++ /dev/null @@ -1,551 +0,0 @@ -import assert from "assert"; -import { expect } from "chai"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { RainterpreterExpressionDeployer, ReserveToken18 } from "../typechain"; -import { - MemoryType, - ONE, - Opcode, - basicDeploy, - compareStructs, - eighteenZeros, - fixedPointDiv, - generateEvaluableConfig, - max_uint256, - memoryOperand, - op, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta } from "../utils/orderBook/order"; -import { concat } from "ethers/lib/utils"; -import { - AddOrderEvent, - IOStructOutput, - OrderConfigStruct, - RemoveOrderEvent, -} from "../typechain/contracts/orderbook/OrderBook"; -import { - getEventArgs, - getTxTimeblock, - waitForSubgraphToBeSynced, -} from "./utils"; - -async function getInterpretersFromDeployer(deployerAddress: string) { - const expressionDeployer = (await ethers.getContractAt( - "RainterpreterExpressionDeployer", - deployerAddress - )) as RainterpreterExpressionDeployer; - - return { - deployer: deployerAddress, - store: await expressionDeployer.store(), - rainterpreter: await expressionDeployer.interpreter(), - }; -} - -/** - * @param hexOrderHash_ Order hash emitted - * @param arrayIO_ The order IO data (input OR output) - * @param dataIO_ The arrays of (input OR output) ID's to check agaisnt `arrayIO_` - */ -function checkIO( - hexOrderHash_: string, - arrayIO_: IOStructOutput[], - // eslint-disable-next-line @typescript-eslint/no-explicit-any - dataIO_: any -) { - const length = arrayIO_.length; - for (let i = 0; i < length; i++) { - const IOToken = arrayIO_[i].token.toLowerCase(); - const IOVault = arrayIO_[i].vaultId; - - // ID = `order.hash() - IO.token - IO.vaultId` - const IO_ID = `${hexOrderHash_.toLowerCase()}-${IOToken}-${IOVault}`; - expect(dataIO_).to.deep.include({ - id: IO_ID, - }); - } -} - -describe("Order entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - }); - - it("should query the Order after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - await waitForSubgraphToBeSynced(); - - // Subgraph check - // Get Interpreters from ExpressionDeployer address - - const { deployer, store, rainterpreter } = - await getInterpretersFromDeployer(ExpressionDeployer_A); - - const [, addTimestamp] = await getTxTimeblock(txOrder_A); - - const query = `{ - order (id: "${orderHash.toHexString().toLowerCase()}") { - transaction{ - id - } - owner{ - id - } - interpreter - interpreterStore - expressionDeployer - expression - orderActive - handleIO - timestamp - meta { - id - } - validInputs { - id - } - validOutputs { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.order; - - assert.equal( - data.transaction.id.toLowerCase(), - txOrder_A.hash.toLowerCase() - ); - assert.equal(data.owner.id, sender_A.toLowerCase()); - - assert.equal(data.interpreter, rainterpreter.toLowerCase()); - assert.equal(data.interpreterStore, store.toLowerCase()); - assert.equal(data.expressionDeployer, deployer.toLowerCase()); - assert.equal( - data.expression, - order_A.evaluable.expression.toLowerCase(), - "Wrong expression address" - ); - assert.equal(data.orderActive, true); - assert.equal(data.handleIO, order_A.handleIO); - assert.equal(data.timestamp, addTimestamp); - - // TODO: Add suport for MetaV1 entities @naneez - // assert.equal(data.meta.id, ''); - - // Checking every validInputs - checkIO(orderHash.toHexString(), order_A.validInputs, data.validInputs); - - // Checking every validOutputs - checkIO(orderHash.toHexString(), order_A.validOutputs, data.validOutputs); - }); - - it("should query multiple Orders when adding orders", async () => { - const [, alice, bob] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash: orderHash_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - // Order_B - - const ratio_B = fixedPointDiv(ONE, ratio_A); - const constants_B = [max_uint256, ratio_B]; - const bOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const bRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_B = concat([ - bOpMax, - bRatio, - ]); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const EvaluableConfig_B = await generateEvaluableConfig( - [source_B, []], - constants_B - ); - - const orderConfig_B: OrderConfigStruct = { - validInputs: [ - { token: tokenB.address, decimals: 18, vaultId: bobInputVault }, - ], - validOutputs: [ - { token: tokenA.address, decimals: 18, vaultId: bobOutputVault }, - ], - evaluableConfig: EvaluableConfig_B, - meta: bobOrder, - }; - - const txOrderB = await orderBook.connect(bob).addOrder(orderConfig_B); - - const { - sender: sender_B, - order: order_B, - orderHash: orderHash_B, - } = (await getEventArgs( - txOrderB, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(order_B, orderConfig_B); - - await waitForSubgraphToBeSynced(); - // SG check - const query = `{ - orders { - id - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.orders; - - expect(data).to.deep.include({ - id: orderHash_A.toHexString().toLowerCase(), - }); - - expect(data).to.deep.include({ - id: orderHash_B.toHexString().toLowerCase(), - }); - }); - - it("should update the orderActive field when removing an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const OrderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(OrderConfig_A); - - const { - sender: liveSender_A, - order: LiveOrder_A, - orderHash: addOrderHash, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(liveSender_A === alice.address, "wrong sender"); - compareStructs(LiveOrder_A, OrderConfig_A); - - // REMOVE Order_A - - const txRemoveOrder = await orderBook - .connect(alice) - .removeOrder(LiveOrder_A); - - const { - sender: deadSender_A, - order: DeadOrder_A, - orderHash: removeOrderHash, - } = (await getEventArgs( - txRemoveOrder, - "RemoveOrder", - orderBook - )) as RemoveOrderEvent["args"]; - - await waitForSubgraphToBeSynced(); - assert(deadSender_A === alice.address, "wrong sender"); - compareStructs(DeadOrder_A, OrderConfig_A); - - // SG checks - - assert(addOrderHash.eq(removeOrderHash), "wrong order removed"); - - const query = `{ - order (id: "${addOrderHash.toHexString().toLowerCase()}") { - orderActive - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.order; - - assert.equal(data.orderActive, false); - }); - - it("should be able to use orderJSONString field to reference the Order directly (remove order)", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const OrderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(OrderConfig_A); - - const { - sender: liveSender_A, - order: LiveOrder_A, - orderHash: addOrderHash, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(liveSender_A === alice.address, "wrong sender"); - compareStructs(LiveOrder_A, OrderConfig_A); - - // Wait for sg - await waitForSubgraphToBeSynced(); - - const query_0 = `{ - order (id: "${addOrderHash.toHexString().toLowerCase()}") { - orderActive - orderJSONString - } - }`; - - const response_0 = (await subgraph({ query: query_0 })) as FetchResult; - - const data_0 = response_0.data.order; - - assert.equal(data_0.orderActive, true); - - const orderFromSg = JSON.parse(data_0.orderJSONString); - - // REMOVE Order_A - - const txRemoveOrder = await orderBook - .connect(alice) - .removeOrder(orderFromSg); - - const { - sender: deadSender_A, - order: DeadOrder_A, - orderHash: removeOrderHash, - } = (await getEventArgs( - txRemoveOrder, - "RemoveOrder", - orderBook - )) as RemoveOrderEvent["args"]; - - await waitForSubgraphToBeSynced(); - assert(deadSender_A === alice.address, "wrong sender"); - compareStructs(DeadOrder_A, OrderConfig_A); - - // SG checks - - assert(addOrderHash.eq(removeOrderHash), "wrong order removed"); - - const query_1 = `{ - order (id: "${addOrderHash.toHexString().toLowerCase()}") { - orderActive - } - }`; - - const response_1 = (await subgraph({ query: query_1 })) as FetchResult; - - const data_1 = response_1.data.order; - - assert.equal(data_1.orderActive, false); - }); -}); diff --git a/subgraph/test/orderBook.test.ts b/subgraph/test/orderBook.test.ts deleted file mode 100644 index 3c03ee73d0..0000000000 --- a/subgraph/test/orderBook.test.ts +++ /dev/null @@ -1,42 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, subgraph } from "./0_initialization.test"; -import { ethers } from "hardhat"; -import { getEventArgs } from "./utils"; -import { MetaV1Event } from "../typechain/contracts/orderbook/OrderBook"; - -describe("Orderbook entity", () => { - it("should query the OrderBook entity", async () => { - const { subject, meta } = (await getEventArgs( - orderBook.deployTransaction, - "MetaV1", - orderBook - )) as MetaV1Event["args"]; - - const orderBookAddress = orderBook.address.toLowerCase(); - const deployerAddress = orderBook.deployTransaction.from.toLowerCase(); - const obSubject = ethers.utils.hexZeroPad(subject.toHexString(), 20); - const metaV1_ID = ethers.utils.keccak256(meta); - - assert(orderBookAddress === obSubject.toLowerCase(), "wrong OB subject"); - - const query = `{ - orderBook(id: "${orderBookAddress}"){ - id - address - deployer - meta { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.orderBook; - - assert.equal(data.id, orderBookAddress, "Wrong orderbook ID"); - assert.equal(data.address, orderBookAddress, "Wrong orderbook address"); - assert.equal(data.deployer, deployerAddress, "Wrong deployer address ID"); - assert.equal(data.meta.id, metaV1_ID, "Wrong meta ID"); - }); -}); diff --git a/subgraph/test/orderClear.test.ts b/subgraph/test/orderClear.test.ts deleted file mode 100644 index b7104d3afd..0000000000 --- a/subgraph/test/orderClear.test.ts +++ /dev/null @@ -1,489 +0,0 @@ -import assert from "assert"; -import { expect } from "chai"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - ONE, - basicDeploy, - compareSolStructs, - compareStructs, - eighteenZeros, - fixedPointDiv, - fixedPointMul, - getEvents, - max_uint256, - minBN, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { - AddOrderEvent, - AfterClearEvent, - ClearConfigStruct, - ClearEvent, - ClearStateChangeStruct, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, -} from "../typechain/contracts/orderbook/OrderBook"; -import { MultiClearStruct } from "../typechain/contracts/test/orderbook/OBMultiTx"; -import { - deployOBMultiTx, - getEventArgs, - waitForSubgraphToBeSynced, -} from "./utils"; - -describe("OrderClear entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query ClearOrder after clearing orders", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { - sender: sender_A, - order: Order_A, - orderHash: orderHash_A, - } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { - sender: sender_B, - order: Order_B, - orderHash: orderHash_B, - } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const orderClear_ID = `${txClearOrder.hash.toLowerCase()}-0`; - - const query = `{ - orderClear (id: "${orderClear_ID}") { - aInputIOIndex - aOutputIOIndex - bInputIOIndex - bOutputIOIndex - sender { - id - } - clearer { - id - } - bounty { - id - } - stateChange { - id - } - orderA { - id - } - orderB { - id - } - owners { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.orderClear; - - // Index of Input/Output values - assert.equal(data.aInputIOIndex, clearBountyConfig.aliceInputIOIndex); - assert.equal(data.aOutputIOIndex, clearBountyConfig.aliceOutputIOIndex); - assert.equal(data.bInputIOIndex, clearBountyConfig.bobInputIOIndex); - assert.equal(data.bOutputIOIndex, clearBountyConfig.bobOutputIOIndex); - - assert.equal(data.sender.id, bountyBot.address.toLowerCase()); - assert.equal(data.clearer.id, bountyBot.address.toLowerCase()); - - // The ID is generated by the SG. Only need to exist - expect(data.bounty.id).to.be.not.null; - expect(data.stateChange.id).to.be.not.null; - - assert.equal(data.orderA.id, orderHash_A.toHexString()); - assert.equal(data.orderB.id, orderHash_B.toHexString()); - - expect(data.owners).to.deep.include({ - id: clearA_.owner.toLowerCase(), - }); - expect(data.owners).to.deep.include({ - id: clearB_.owner.toLowerCase(), - }); - }); - - it("should query correctly ClearOrder after clearing orders on same transactions", async function () { - const [, alice, bob] = signers; - - // Deploy new OBMultiTx contract - const obMultiTx = await deployOBMultiTx(orderBook); - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // OBMultiTx contract CLEARS THE ORDER - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - // Generate the Config to sent the multiClear - const config: MultiClearStruct = { - alice_: Order_A, - bob_: Order_B, - clearConfig_: clearConfig, - aliceSignedContext_: [], - bobSignedContext_: [], - }; - - // Use the same config two times - const configMultiClear: MultiClearStruct[] = [config, config]; - - const txMultiClear = await obMultiTx - .connect(alice) - .multiClear(configMultiClear); - - const clearEvents = (await getEvents( - txMultiClear, - "Clear", - orderBook - )) as Array; - - const afterClearEvents = (await getEvents( - txMultiClear, - "AfterClear", - orderBook - )) as Array; - - assert(clearEvents.length === afterClearEvents.length); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - for (let i = 0; i < clearEvents.length; i++) { - const orderClear_ID = `${txMultiClear.hash.toLowerCase()}-${i}`; - const { clearConfig } = clearEvents[i]; - - const query = `{ - orderClear (id: "${orderClear_ID}") { - aInputIOIndex - aOutputIOIndex - bInputIOIndex - bOutputIOIndex - } - }`; - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.orderClear; - - // Index of Input/Output values - assert.equal(data.aInputIOIndex, clearConfig.aliceInputIOIndex); - assert.equal(data.aOutputIOIndex, clearConfig.aliceOutputIOIndex); - assert.equal(data.bInputIOIndex, clearConfig.bobInputIOIndex); - assert.equal(data.bOutputIOIndex, clearConfig.bobOutputIOIndex); - } - }); -}); diff --git a/subgraph/test/orderClearStateChange.test.ts b/subgraph/test/orderClearStateChange.test.ts deleted file mode 100644 index 11934f7a8a..0000000000 --- a/subgraph/test/orderClearStateChange.test.ts +++ /dev/null @@ -1,256 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - ONE, - basicDeploy, - compareSolStructs, - compareStructs, - eighteenZeros, - fixedPointDiv, - fixedPointMul, - max_uint256, - minBN, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { - AddOrderEvent, - AfterClearEvent, - ClearConfigStruct, - ClearEvent, - ClearStateChangeStruct, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; - -describe("OrderClearStateChange entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query OrderClearStateChange after clearing orders", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // The ID of OrderClearStateChange is auto-generated by the SG, so get the - // OrderClearStateChange through the OrderClear to test the OrderClearStateChange - const orderClear_ID = `${txClearOrder.hash.toLowerCase()}-0`; - - const query = `{ - orderClear (id: "${orderClear_ID}") { - stateChange { - orderClear { - id - } - aOutput - bOutput - aInput - bInput - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.orderClear; - - const { aliceOutput, bobOutput, aliceInput, bobInput } = clearStateChange; - - assert.equal(data.stateChange.orderClear.id, orderClear_ID); - - assert.equal(data.stateChange.aOutput, aliceOutput); - assert.equal(data.stateChange.bOutput, bobOutput); - assert.equal(data.stateChange.aInput, aliceInput); - assert.equal(data.stateChange.bInput, bobInput); - }); -}); diff --git a/subgraph/test/takeOrderEntity.test.ts b/subgraph/test/takeOrderEntity.test.ts deleted file mode 100644 index 4f1a457b4b..0000000000 --- a/subgraph/test/takeOrderEntity.test.ts +++ /dev/null @@ -1,399 +0,0 @@ -import { ethers } from "hardhat"; -import { assert } from "chai"; -import { arrayify, solidityKeccak256 } from "ethers/lib/utils"; -import { ReserveToken18 } from "../typechain"; -import { - ONE, - basicDeploy, - compareStructs, - eighteenZeros, - getEvents, - max_uint256, - randomUint256, -} from "../utils"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { - AddOrderEvent, - ContextEvent, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, - SignedContextV1Struct, - TakeOrderConfigStruct, - TakeOrderEvent, - TakeOrdersConfigStruct, - WithdrawConfigStruct, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; -import { FetchResult } from "apollo-fetch"; - -//TODO: Add more tests with more takeOrders and the new entities -describe("TakeOrderEntity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query TakeOrderEntity correctly after take an order", async function () { - const [, alice, bob] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - const aliceOrder = encodeMeta("Order_A"); - - // ASK ORDER - - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrder = await orderBook.connect(alice).addOrder(OrderConfig_A); - - const { order: Order_A } = (await getEventArgs( - txAddOrder, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - // DEPOSIT - - const amountB = ethers.BigNumber.from("2" + eighteenZeros); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - - await tokenB.transfer(alice.address, amountB); - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - - // TAKE ORDER - - // Bob takes order with direct wallet transfer - const takeOrderConfigStruct: TakeOrderConfigStruct = { - order: Order_A, - inputIOIndex: 0, - outputIOIndex: 0, - signedContext: [], - }; - - const takeOrdersConfigStruct: TakeOrdersConfigStruct = { - output: tokenA.address, - input: tokenB.address, - minimumInput: amountB, - maximumInput: amountB, - maximumIORatio: ratio_A, - orders: [takeOrderConfigStruct], - }; - - const amountA = amountB.mul(ratio_A).div(ONE); - await tokenA.transfer(bob.address, amountA); - await tokenA.connect(bob).approve(orderBook.address, amountA); - - const txTakeOrders = await orderBook - .connect(bob) - .takeOrders(takeOrdersConfigStruct); - - const takeOrderEvents = (await getEvents( - txTakeOrders, - "TakeOrder", - orderBook - )) as Array; - - const tokenAAliceBalance = await tokenA.balanceOf(alice.address); - const tokenBAliceBalance = await tokenB.balanceOf(alice.address); - const tokenABobBalance = await tokenA.balanceOf(bob.address); - const tokenBBobBalance = await tokenB.balanceOf(bob.address); - - assert(tokenAAliceBalance.isZero()); // Alice has not yet withdrawn - assert(tokenBAliceBalance.isZero()); - assert(tokenABobBalance.isZero()); - assert(tokenBBobBalance.eq(amountB)); - - await orderBook.connect(alice).withdraw({ - token: tokenA.address, - vaultId: aliceInputVault, - amount: amountA, - }); - - const tokenAAliceBalanceWithdrawn = await tokenA.balanceOf(alice.address); - - assert(tokenAAliceBalanceWithdrawn.eq(amountA)); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - for (let i = 0; i < takeOrderEvents.length; i++) { - // ID: tx.hash - N (N-th order taken) - const takeOrderEntity_ID = `${txTakeOrders.hash.toLowerCase()}-${i}`; - const { sender, config, input, output } = takeOrderEvents[i]; - - const { order, inputIOIndex, outputIOIndex } = config; - const inputToken = `${order.validOutputs[inputIOIndex.toNumber()].token}`; - const outputToken = `${ - order.validInputs[outputIOIndex.toNumber()].token - }`; - - assert( - inputToken.toLowerCase() == - takeOrdersConfigStruct.input.toString().toLowerCase() - ); - - assert( - outputToken.toLowerCase() == - takeOrdersConfigStruct.output.toString().toLowerCase() - ); - - const query = `{ - takeOrderEntity (id: "${takeOrderEntity_ID}") { - input - output - inputIOIndex - outputIOIndex - sender { - id - } - inputToken { - id - } - outputToken { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.takeOrderEntity; - - assert.equal(data.input, input.toString()); - assert.equal(data.output, output.toString()); - assert.equal(data.inputIOIndex, inputIOIndex.toString()); - assert.equal(data.outputIOIndex, outputIOIndex.toString()); - - assert.equal(data.sender.id, sender.toLowerCase()); - assert.equal(data.inputToken.id, inputToken.toLowerCase()); - assert.equal(data.outputToken.id, outputToken.toLowerCase()); - - assert.equal(data.inputToken.id, inputToken.toLowerCase()); - assert.equal(data.outputToken.id, outputToken.toLowerCase()); - } - }); - - it("TODO: test with context", async function () { - const [, alice, bob, goodSigner] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - const aliceOrder = encodeMeta("Order_A"); - - // ASK ORDER - - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrder = await orderBook.connect(alice).addOrder(OrderConfig_A); - - const { order: Order_A } = (await getEventArgs( - txAddOrder, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - // DEPOSIT - - const amountB = ethers.BigNumber.from("2" + eighteenZeros); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - - await tokenB.transfer(alice.address, amountB); - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - - // TAKE ORDER - - ////////// Signed context - const context0 = [1, 2, 3]; - const hash0 = solidityKeccak256(["uint256[]"], [context0]); - const goodSignature0 = await goodSigner.signMessage(arrayify(hash0)); - - const context1 = [4, 5, 6]; - const hash1 = solidityKeccak256(["uint256[]"], [context1]); - const goodSignature1 = await goodSigner.signMessage(arrayify(hash1)); - - const signedContexts0: SignedContextV1Struct[] = [ - { - signer: goodSigner.address, - signature: goodSignature0, - context: context0, - }, - { - signer: goodSigner.address, - signature: goodSignature1, - context: context1, - }, - ]; - ////////// - - // Bob takes order with direct wallet transfer - const takeOrderConfigStruct: TakeOrderConfigStruct = { - order: Order_A, - inputIOIndex: 0, - outputIOIndex: 0, - signedContext: signedContexts0, - }; - - const takeOrdersConfigStruct: TakeOrdersConfigStruct = { - output: tokenA.address, - input: tokenB.address, - minimumInput: amountB, - maximumInput: amountB, - maximumIORatio: ratio_A, - orders: [takeOrderConfigStruct], - }; - - const amountA = amountB.mul(ratio_A).div(ONE); - await tokenA.transfer(bob.address, amountA); - await tokenA.connect(bob).approve(orderBook.address, amountA); - - const txTakeOrders = await orderBook - .connect(bob) - .takeOrders(takeOrdersConfigStruct); - - const takeOrderEvents = (await getEvents( - txTakeOrders, - "TakeOrder", - orderBook - )) as Array; - - const tokenAAliceBalance = await tokenA.balanceOf(alice.address); - const tokenBAliceBalance = await tokenB.balanceOf(alice.address); - const tokenABobBalance = await tokenA.balanceOf(bob.address); - const tokenBBobBalance = await tokenB.balanceOf(bob.address); - - assert(tokenAAliceBalance.isZero()); // Alice has not yet withdrawn - assert(tokenBAliceBalance.isZero()); - assert(tokenABobBalance.isZero()); - assert(tokenBBobBalance.eq(amountB)); - - await orderBook.connect(alice).withdraw({ - token: tokenA.address, - vaultId: aliceInputVault, - amount: amountA, - }); - - const tokenAAliceBalanceWithdrawn = await tokenA.balanceOf(alice.address); - assert(tokenAAliceBalanceWithdrawn.eq(amountA)); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - for (let i = 0; i < takeOrderEvents.length; i++) { - // ID: tx.hash - N (N-th order taken) - const takeOrderEntity_ID = `${txTakeOrders.hash.toLowerCase()}-${i}`; - const { sender, config, input, output } = takeOrderEvents[i]; - - const { order, inputIOIndex, outputIOIndex } = config; - const inputToken = `${ - order.validOutputs[outputIOIndex.toNumber()].token - }`; - const outputToken = `${order.validInputs[inputIOIndex.toNumber()].token}`; - - const query = `{ - takeOrderEntity (id: "${takeOrderEntity_ID}") { - input - output - inputIOIndex - outputIOIndex - sender { - id - } - inputToken { - id - } - outputToken { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - const data = response.data.takeOrderEntity; - - assert.equal(data.input, input.toString()); - assert.equal(data.output, output.toString()); - assert.equal(data.inputIOIndex, inputIOIndex.toString()); - assert.equal(data.outputIOIndex, outputIOIndex.toString()); - - assert.equal(data.sender.id, sender.toLowerCase()); - assert.equal(data.inputToken.id, inputToken.toLowerCase()); - assert.equal(data.outputToken.id, outputToken.toLowerCase()); - } - }); -}); diff --git a/subgraph/test/tokenVault.test.ts b/subgraph/test/tokenVault.test.ts deleted file mode 100644 index ca5cd8f042..0000000000 --- a/subgraph/test/tokenVault.test.ts +++ /dev/null @@ -1,1492 +0,0 @@ -import assert from "assert"; -import { expect } from "chai"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - MemoryType, - ONE, - Opcode, - basicDeploy, - compareSolStructs, - compareStructs, - eighteenZeros, - fixedPointDiv, - fixedPointMul, - generateEvaluableConfig, - max_uint256, - memoryOperand, - minBN, - op, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { concat } from "ethers/lib/utils"; -import { - AddOrderEvent, - AfterClearEvent, - ClearConfigStruct, - ClearEvent, - ClearStateChangeStruct, - DepositConfigStruct, - DepositEvent, - OrderConfigStruct, - WithdrawConfigStruct, - WithdrawEvent, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; - -describe("TokenVault entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query the TokenVault after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // TokenVault: #{vaultId}-{owner}-{token} - const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - // Vault: #{vaultId}-{owner} - const vault_input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}`; - const vault_output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}`; - - const query = `{ - tokenVaultInput: tokenVault (id: "${tokenVault_Input_ID}") { - balance - owner { - id - } - vault { - id - } - token { - id - } - orders { - id - } - orderClears { - id - } - } - tokenVaultOutput: tokenVault (id: "${tokenVault_Output_ID}") { - balance - owner { - id - } - vault { - id - } - token { - id - } - orders { - id - } - orderClears { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataInput = response.data.tokenVaultInput; - const dataOutput = response.data.tokenVaultOutput; - - // TokenVaultInput - assert.equal(dataInput.balance, 0); - assert.equal(dataInput.owner.id, alice.address.toLowerCase()); - assert.equal(dataInput.vault.id, vault_input_ID); - assert.equal(dataInput.token.id, tokenA.address.toLowerCase()); - expect(dataInput.orders).to.deep.include({ - id: orderHash.toHexString().toLowerCase(), - }); - expect(dataInput.orderClears).to.be.empty; - - // TokenVaultOutput - assert.equal(dataOutput.balance, 0); - assert.equal(dataOutput.owner.id, alice.address.toLowerCase()); - assert.equal(dataOutput.vault.id, vault_output_ID); - assert.equal(dataOutput.token.id, tokenB.address.toLowerCase()); - expect(dataOutput.orders).to.deep.include({ - id: orderHash.toHexString().toLowerCase(), - }); - expect(dataOutput.orderClears).to.be.empty; - }); - - it("should update the TokenVault after adding orders with same Vault and Token", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order - const ratio = ethers.BigNumber.from("90" + eighteenZeros); - const constants = [max_uint256, ratio]; - const OpMax = op(Opcode.read_memory, memoryOperand(MemoryType.Constant, 0)); - const Ratio = op(Opcode.read_memory, memoryOperand(MemoryType.Constant, 1)); - - // prettier-ignore - const source = concat([ - OpMax, - Ratio, - ]); - - const EvaluableConfig = await generateEvaluableConfig( - [source, []], - constants - ); - - const orderConfig: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig); - const txOrder_B = await orderBook.connect(alice).addOrder(orderConfig); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - orderHash: orderHash_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - const { - sender: sender_B, - expressionDeployer: ExpressionDeployer_B, - order: order_B, - orderHash: orderHash_B, - } = (await getEventArgs( - txOrder_B, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig); - - assert( - ExpressionDeployer_B === EvaluableConfig.deployer, - "wrong expression deployer" - ); - assert(sender_B === alice.address, "wrong sender"); - compareStructs(order_B, orderConfig); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // TokenVault: #{vaultId}-{owner}-{token} - const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - const query = `{ - tokenVaultInput: tokenVault (id: "${tokenVault_Input_ID}") { - orders { - id - } - } - tokenVaultOutput: tokenVault (id: "${tokenVault_Output_ID}") { - orders { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataInput = response.data.tokenVaultInput; - const dataOutput = response.data.tokenVaultOutput; - - // First order - expect(dataInput.orders).to.deep.include({ - id: orderHash_A.toHexString().toLowerCase(), - }); - expect(dataOutput.orders).to.deep.include({ - id: orderHash_B.toHexString().toLowerCase(), - }); - - // Second order - expect(dataOutput.orders).to.deep.include({ - id: orderHash_A.toHexString().toLowerCase(), - }); - expect(dataInput.orders).to.deep.include({ - id: orderHash_B.toHexString().toLowerCase(), - }); - }); - - it("should update the balance of the TokenVaults after deposits", async function () { - const [, alice, bob] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // Checking SG entity after adding order to confirm status - // Subgraph check - await waitForSubgraphToBeSynced(); - - // Alice Data IDs: (across the test) - // - Token Vault: - const tokenVault_Input_Alice_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_Output_Alice_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - // Bob Data IDs:(across the test) - // - Token Vault: - const tokenVault_Input_Bob_ID = `${bobInputVault.toString()}-${bob.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - const tokenVault_Output_Bob_ID = `${bobOutputVault.toString()}-${bob.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - - const query_0 = `{ - tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { - balance - } - tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { - balance - } - tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { - balance - } - }`; - - const response_0 = (await subgraph({ query: query_0 })) as FetchResult; - - const data_0 = response_0.data; - - // Alice check - assert.equal(data_0.tokenVaultInputAlice.balance, 0); - assert.equal(data_0.tokenVaultOutputAlice.balance, 0); - - // Bob check - assert.equal(data_0.tokenVaultInputBob.balance, 0); - assert.equal(data_0.tokenVaultOutputBob.balance, 0); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // Check the TokenVaults after deposits - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query_1 = `{ - tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { - balance - } - tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { - balance - } - tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { - balance - } - }`; - - const response_1 = (await subgraph({ query: query_1 })) as FetchResult; - - const data_1 = response_1.data; - - // Alice check - assert.equal( - data_1.tokenVaultInputAlice.balance, - 0, - "Wrong: Input TokenVault was updated" - ); - assert.equal( - data_1.tokenVaultOutputAlice.balance, - depositAliceConfig.amount.toString(), - "Wrong: Output TokenVault was not updated" - ); - - // Bob check - assert.equal( - data_1.tokenVaultInputBob.balance, - 0, - "Wrong: Input TokenVault was updated" - ); - assert.equal( - data_1.tokenVaultOutputBob.balance, - depositBobConfig.amount.toString(), - "Wrong: Output TokenVault was not updated" - ); - }); - - it("should update the TokenVaults after withdrawal", async function () { - const [, alice] = signers; - - const vaultId = ethers.BigNumber.from(1); - // - Token Vault ID: - const tokenVault_Input_Alice_ID = `${vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - // Tracker balance vault - let aliceVaultTracker = ethers.constants.Zero; - - // DEPOSIT - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - await tokenA.transfer(alice.address, amount); - - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId, - amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits tokenA into her non-append-only vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - // Updating variable tracker (it's adding since is a deposit) - aliceVaultTracker = aliceVaultTracker.add(depositConfig.amount); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query_0 = `{ - tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - }`; - - const response_0 = (await subgraph({ query: query_0 })) as FetchResult; - - const data_0 = response_0.data.tokenVault; - - assert.equal( - data_0.balance, - aliceVaultTracker.toString(), - "Balance not updated after deposit" - ); - - // WITHDRAW - const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); - - const withdrawConfigStruct: WithdrawConfigStruct = { - token: tokenA.address, - vaultId: vaultId, - amount, - }; - - const txWithdraw = await orderBook - .connect(alice) - .withdraw(withdrawConfigStruct); - - const { sender: withdrawSender, config: withdrawConfig } = - (await getEventArgs( - txWithdraw, - "Withdraw", - orderBook - )) as WithdrawEvent["args"]; - - assert(withdrawSender === alice.address); - compareStructs(withdrawConfig, withdrawConfigStruct); - - const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); - - assert(aliceTokenABalance0.isZero()); - assert(aliceTokenABalance1.eq(amount)); - - // Checking the VaultIDs - assert( - depositConfig.vaultId.eq(withdrawConfig.vaultId), - "Deposit and Withdraw does not have the same VaultID" - ); - - // Updating variable tracker (it's substrasting since is a withdraw) - aliceVaultTracker = aliceVaultTracker.sub(withdrawConfig.amount); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query_1 = `{ - tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - }`; - - const response_1 = (await subgraph({ query: query_1 })) as FetchResult; - - const data_1 = response_1.data.tokenVault; - - assert.equal( - data_1.balance, - aliceVaultTracker.toString(), - "Balance not updated after withdraw" - ); - }); - - it("should update the balance of the TokenVault after clearing orders", async function () { - const [, alice, bob, bountyBot] = signers; - - // Variables to track the changes on the vaults - let aliceInputVaultTracker = ethers.constants.Zero; - let aliceOutputVaultTracker = ethers.constants.Zero; - let bobInputVaultTracker = ethers.constants.Zero; - let bobOutputVaultTracker = ethers.constants.Zero; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // Checking SG entity after adding order to confirm status - // Subgraph check - await waitForSubgraphToBeSynced(); - - // Alice Data IDs: (across the test) - // - Token Vault: - const tokenVault_Input_Alice_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_Output_Alice_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - // Bob Data IDs:(across the test) - // - Token Vault: - const tokenVault_Input_Bob_ID = `${bobInputVault.toString()}-${bob.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - const tokenVault_Output_Bob_ID = `${bobOutputVault.toString()}-${bob.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - - const query_0 = `{ - tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { - balance - } - tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { - balance - } - tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { - balance - } - }`; - - const response_0 = (await subgraph({ query: query_0 })) as FetchResult; - - const data_0 = response_0.data; - - // Alice check - assert.equal( - data_0.tokenVaultInputAlice.balance, - aliceInputVaultTracker.toString() - ); - assert.equal( - data_0.tokenVaultOutputAlice.balance, - aliceOutputVaultTracker.toString() - ); - - // Bob check - assert.equal( - data_0.tokenVaultInputBob.balance, - bobInputVaultTracker.toString() - ); - assert.equal( - data_0.tokenVaultOutputBob.balance, - bobOutputVaultTracker.toString() - ); - - //////////// - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // Updating the variables tracker for the balances. - // ONLY both outputs vaults for alice and bob were updated - aliceOutputVaultTracker = aliceOutputVaultTracker.add( - depositAliceConfig.amount - ); - bobOutputVaultTracker = bobOutputVaultTracker.add(depositBobConfig.amount); - - // Check the TokenVaults after deposits - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query_1 = `{ - tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { - balance - } - tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { - balance - } - tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { - balance - } - }`; - - const response_1 = (await subgraph({ query: query_1 })) as FetchResult; - - const data_1 = response_1.data; - - // Alice check - assert.equal( - data_1.tokenVaultInputAlice.balance, - aliceInputVaultTracker.toString(), - "Wrong: Input TokenVault was updated" - ); - assert.equal( - data_1.tokenVaultOutputAlice.balance, - aliceOutputVaultTracker.toString(), - "Wrong: Output TokenVault was not updated" - ); - - // Bob check - assert.equal( - data_1.tokenVaultInputBob.balance, - bobInputVaultTracker.toString(), - "Wrong: Input TokenVault was updated" - ); - assert.equal( - data_1.tokenVaultOutputBob.balance, - bobOutputVaultTracker.toString(), - "Wrong: Output TokenVault was not updated" - ); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Updating the variables tracker for the balances. - // The output vaults are subtracted but the input vaults are added - // - Alice vaults - aliceInputVaultTracker = aliceInputVaultTracker.add( - clearStateChange.aliceInput - ); - aliceOutputVaultTracker = aliceOutputVaultTracker.sub( - clearStateChange.aliceOutput - ); - // - Bob vaults - bobInputVaultTracker = bobInputVaultTracker.add(clearStateChange.bobInput); - bobOutputVaultTracker = bobOutputVaultTracker.sub( - clearStateChange.bobOutput - ); - - // Check the final tracker balance against the balance that the OB hold. - const vaultBalAliceInput = await orderBook.vaultBalance( - alice.address, - tokenA.address, - aliceInputVault - ); - const vaultBalAliceOutput = await orderBook.vaultBalance( - alice.address, - tokenB.address, - aliceOutputVault - ); - - const vaultBalBobInput = await orderBook.vaultBalance( - bob.address, - tokenB.address, - bobInputVault - ); - const vaultBalBobOutput = await orderBook.vaultBalance( - bob.address, - tokenA.address, - bobOutputVault - ); - - assert( - vaultBalAliceInput.eq(aliceInputVaultTracker), - "Wrong: Vault Balance Alice Input Tracker" - ); - assert( - vaultBalAliceOutput.eq(aliceOutputVaultTracker), - "Wrong: Vault Balance Alice Output Tracker" - ); - - assert( - vaultBalBobInput.eq(bobInputVaultTracker), - "Wrong: Vault Balance Bob Input Tracker" - ); - assert( - vaultBalBobOutput.eq(bobOutputVaultTracker), - "Wrong: Vault Balance Bob Output Tracker" - ); - - // Check the TokenVaults after Clearing - // Subgraph check - await waitForSubgraphToBeSynced(); - - const query_2 = `{ - tokenVaultInputAlice: tokenVault (id: "${tokenVault_Input_Alice_ID}") { - balance - } - tokenVaultOutputAlice: tokenVault (id: "${tokenVault_Output_Alice_ID}") { - balance - } - tokenVaultInputBob: tokenVault (id: "${tokenVault_Input_Bob_ID}") { - balance - } - tokenVaultOutputBob: tokenVault (id: "${tokenVault_Output_Bob_ID}") { - balance - } - }`; - - const response_2 = (await subgraph({ query: query_2 })) as FetchResult; - - const data_2 = response_2.data; - - // Alice check - assert.equal( - data_2.tokenVaultInputAlice.balance, - aliceInputVaultTracker.toString() - ); - assert.equal( - data_2.tokenVaultOutputAlice.balance, - aliceOutputVaultTracker.toString() - ); - - // Bob check - assert.equal( - data_2.tokenVaultInputBob.balance, - bobInputVaultTracker.toString() - ); - assert.equal( - data_2.tokenVaultOutputBob.balance, - bobOutputVaultTracker.toString() - ); - }); - - it("should add the ClearOrder to the TokenVault after clearing orders", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // TokenVault: #{vaultId}-{owner}-{token} - const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - const clearOrder_ID = `${txClearOrder.hash}-0`; - - const query = `{ - tokenVaultInput: tokenVault (id: "${tokenVault_Input_ID}") { - orderClears { - id - } - } - tokenVaultOutput: tokenVault (id: "${tokenVault_Output_ID}") { - orderClears { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataInput = response.data.tokenVaultInput; - const dataOutput = response.data.tokenVaultOutput; - - // TODO: Rework on the OrderClear entity for their ID @vishal @naneez - expect(dataInput.orderClears).to.deep.include({ - id: clearOrder_ID, - }); - expect(dataOutput.orderClears).to.deep.include({ - id: clearOrder_ID, - }); - }); - - it("should create/update the TokenVault of the Clearer address", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // Vault ID where the bounty will be move - const { aliceBountyVaultId, bobBountyVaultId } = clearBountyConfig; - - // TokenVault: #{vaultId}-{owner}-{token} - const tokenVault_A_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - const tokenVault_B_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - - const vault_A_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; - const vault_B_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; - - const vaultBalance_A = await orderBook.vaultBalance( - bountyBot.address, - tokenB.address, - aliceBountyVaultId - ); - const vaultBalance_B = await orderBook.vaultBalance( - bountyBot.address, - tokenA.address, - bobBountyVaultId - ); - - const query = `{ - tokenVault_A: tokenVault (id: "${tokenVault_A_ID}") { - balance - owner { - id - } - vault { - id - } - token { - id - } - } - tokenVault_B: tokenVault (id: "${tokenVault_B_ID}") { - balance - owner { - id - } - vault { - id - } - token { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data_A = response.data.tokenVault_A; - const data_B = response.data.tokenVault_B; - - // TokenVault A - assert.equal(data_A.balance, vaultBalance_A.toString()); - assert.equal(data_A.owner.id, bountyBot.address.toLowerCase()); - assert.equal(data_A.vault.id, vault_A_ID); - assert.equal(data_A.token.id, tokenB.address.toLowerCase()); - - // TokenVault B - assert.equal(data_B.balance, vaultBalance_B.toString()); - assert.equal(data_B.owner.id, bountyBot.address.toLowerCase()); - assert.equal(data_B.vault.id, vault_B_ID); - assert.equal(data_B.token.id, tokenA.address.toLowerCase()); - }); -}); diff --git a/subgraph/test/utils.ts b/subgraph/test/utils.ts deleted file mode 100644 index 3c4ceabf37..0000000000 --- a/subgraph/test/utils.ts +++ /dev/null @@ -1,266 +0,0 @@ -import { execSync } from "child_process"; -import fs from "fs"; -import { Contract, ContractTransaction } from "ethers"; -import { Result } from "ethers/lib/utils"; -import { ethers } from "hardhat"; -import * as path from "path"; -import { ApolloFetch, createApolloFetch } from "apollo-fetch"; -import { OBMultiTx, OrderBook } from "../typechain"; - -export const META_MAGIC_NUMBER_V1 = BigInt(0xff0a89c674ee7874n); -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const writeFile = (_path: string, file: any): void => { - try { - fs.writeFileSync(_path, file); - } catch (error) { - console.log(error); - } -}; - -export const fetchFile = (_path: string): string => { - try { - return fs.readFileSync(_path).toString(); - } catch (error) { - console.log(error); - return ""; - } -}; - -export const getEventArgs = async ( - tx: ContractTransaction, - eventName: string, - contract: Contract, - contractAddressOverride: string = null -): Promise => { - const eventObj = (await tx.wait()).events.find( - (x) => - x.topics[0] === contract.filters[eventName]().topics[0] && - x.address === (contractAddressOverride || contract.address) - ); - - if (!eventObj) { - throw new Error(`Could not find event with name ${eventName}`); - } - - // Return all events indexed and not indexed - return contract.interface.decodeEventLog( - eventName, - eventObj.data, - eventObj.topics - ); -}; - -export const appendRainMetaDoc = (data: string | string[]) => { - const startMeta = "0x" + MAGIC_NUMBERS.RAIN_META_DOCUMENT.toString(16); - - if (Array.isArray(data)) { - return startMeta + data.join(""); - } else { - return startMeta + data; - } -}; - -export const MAGIC_NUMBERS = { - /** - * Prefixes every rain meta document - */ - RAIN_META_DOCUMENT: BigInt(0xff0a89c674ee7874n), - /** - * Solidity ABIv2 - */ - SOLIDITY_ABIV2: BigInt(0xffe5ffb4a3ff2cden), - /** - * Ops meta v1 - */ - OPS_META_V1: BigInt(0xffe5282f43e495b4n), - /** - * Contract meta v1 - */ - CONTRACT_META_V1: BigInt(0xffc21bbf86cc199bn), -}; - -/** - * Execute Child Processes - * @param cmd Command to execute - * @returns The command ran it - */ -export const exec = (cmd: string): string | Buffer => { - const srcDir = path.join(__dirname, ".."); - try { - return execSync(cmd, { cwd: srcDir, stdio: "inherit" }); - } catch (e) { - console.log(e); - throw new Error(`Failed to run command \`${cmd}\``); - } -}; - -// Subgraph Management -export const fetchSubgraphs = process.env.RPC_URL - ? createApolloFetch({ - uri: `${process.env.RPC_URL}:8030/graphql`, - }) - : createApolloFetch({ - uri: `http://localhost:8030/graphql`, - }); - -/** - * Connect to an existing subgraph deployed in localhost - * @param subgraphName Name of the subgraph - * @returns connection to subgraph - */ -export const fetchSubgraph = (subgraphName: string): ApolloFetch => { - return process.env.RPC_URL - ? createApolloFetch({ - uri: `${process.env.RPC_URL}:8000/subgraphs/name/${subgraphName}`, - }) - : createApolloFetch({ - uri: `http://localhost:8000/subgraphs/name/${subgraphName}`, - }); -}; - -/** - * Create a promise to wait a determinated `ms` - * @param ms Amount of time to wait in miliseconds - */ -export function delay(ms: number): Promise { - return new Promise((resolve) => setTimeout(resolve, ms)); -} - -// Interfaces -interface SyncedSubgraphType { - synced: boolean; -} - -export const waitForSubgraphToBeSynced = async ( - wait = 0, - timeDelay = 1, - seconds = 60, - subgraphName = "test/test" -): Promise => { - if (wait > 0) { - await delay(wait); - } - /** - * Waiting for 60s by default - * Does not care about waiting the 60s - the function already try to handle if does not receive - * a response. If the subgraph need to wait for a big number of blocks, would be good increse - * the seconds to wait by sync. - */ - const deadline = Date.now() + seconds * 1000; - const currentBlock = await ethers.provider.getBlockNumber(); - - const resp = new Promise((resolve, reject) => { - // Function to check if the subgraph is synced asking to the GraphNode - const checkSubgraphSynced = async () => { - try { - const result = await fetchSubgraphs({ - query: ` - { - indexingStatusForCurrentVersion(subgraphName: "${subgraphName}") { - synced - health - fatalError{ - message - handler - } - chains { - chainHeadBlock { - number - } - latestBlock { - number - } - } - } - } - `, - }); - const data = result.data.indexingStatusForCurrentVersion; - if ( - data.synced === true && - data.chains[0].latestBlock.number == currentBlock - ) { - resolve({ synced: true }); - } else if (data.health === "failed") { - reject(new Error(`Subgraph fatalError - ${data.fatalError.message}`)); - } else { - throw new Error(`subgraph is not sync`); - } - } catch (e) { - const message = e instanceof Error ? e.message : "Unknown Error"; - if (message.includes("connect ECONNREFUSED")) { - reject(new Error(`Unable to connect to Subgraph node: ${message}`)); - } - - if (message == "Unknown Error") { - reject(new Error(`${message} - ${e}`)); - } - - if (!currentBlock) { - reject(new Error(`current block is undefined`)); - } - - if (e instanceof TypeError) { - reject( - new Error( - `${e.message} - Check that the subgraphName provided is correct.` - ) - ); - } - - if (Date.now() > deadline) { - reject(new Error(`Timed out waiting for the subgraph to sync`)); - } else { - setTimeout(checkSubgraphSynced, timeDelay * 1000); - } - } - }; - - checkSubgraphSynced(); - }); - - return resp; -}; - -function sleep(milliseconds: number) { - return new Promise((resolve) => setTimeout(resolve, milliseconds)); -} - -export const waitForGraphNode = async (): Promise => { - // eslint-disable-next-line no-constant-condition - while (true) { - try { - //@ts-expect-error fetch is already available on node - const response = await fetch("http://localhost:8030"); - if (response.status === 200) { - break; - } - } catch (error) { - console.log("graph node not ready"); - await sleep(100); - } - } -}; - -/** - * Get the block and timestamp of a specific transaction - * @param tx Transaction that will be use to get the block and timestamp - * @returns The block and timestamp of the transaction - */ -export const getTxTimeblock = async ( - tx: ContractTransaction -): Promise<[number, number]> => { - const block = tx.blockNumber; - if (block == undefined) return [0, 0]; - const timestamp = (await ethers.provider.getBlock(block)).timestamp; - return [block, timestamp]; -}; - -export const deployOBMultiTx = async (orderBook: OrderBook) => { - const contractFactory = await ethers.getContractFactory("OBMultiTx"); - const contract = await contractFactory.deploy(orderBook.address); - - await contract.deployed(); - - return contract as OBMultiTx; -}; diff --git a/subgraph/test/vault.test.ts b/subgraph/test/vault.test.ts deleted file mode 100644 index b9a4551a30..0000000000 --- a/subgraph/test/vault.test.ts +++ /dev/null @@ -1,700 +0,0 @@ -import assert from "assert"; -import { expect } from "chai"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - MemoryType, - ONE, - Opcode, - basicDeploy, - compareSolStructs, - compareStructs, - eighteenZeros, - fixedPointDiv, - fixedPointMul, - generateEvaluableConfig, - max_uint256, - memoryOperand, - minBN, - op, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { encodeMeta, getOrderConfig } from "../utils/orderBook/order"; -import { concat } from "ethers/lib/utils"; -import { - AddOrderEvent, - AfterClearEvent, - ClearConfigStruct, - ClearEvent, - ClearStateChangeStruct, - DepositEvent, - OrderConfigStruct, - WithdrawConfigStruct, - WithdrawEvent, -} from "../typechain/contracts/orderbook/OrderBook"; -import { getEventArgs, waitForSubgraphToBeSynced } from "./utils"; -import { DepositConfigStruct } from "../typechain/contracts/orderbook/OrderBook"; - -describe("Vault entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query the Vault after adding an order", async () => { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - await waitForSubgraphToBeSynced(); - - // Subgraph check - const vault_input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}`; - const vault_output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}`; - - // #{vaultId}-{owner}-{token} - const tokenVault_Input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_Output_ID = `${aliceOutputVault.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - const query = `{ - vaultInput: vault (id: "${vault_input_ID}") { - owner { - id - } - tokenVaults { - id - } - deposits { - id - } - withdraws { - id - } - } - vaultOutput: vault (id: "${vault_output_ID}") { - owner { - id - } - tokenVaults { - id - } - deposits { - id - } - withdraws { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const dataInput = response.data.vaultInput; - const dataOutput = response.data.vaultOutput; - - // VaultInput - assert.equal(dataInput.owner.id, alice.address.toLowerCase()); - expect(dataInput.tokenVaults).to.deep.include({ - id: tokenVault_Input_ID, - }); - expect(dataInput.deposits).to.be.empty; - expect(dataInput.withdraws).to.be.empty; - - // VaultOutput - assert.equal(dataOutput.owner.id, alice.address.toLowerCase()); - expect(dataOutput.tokenVaults).to.deep.include({ - id: tokenVault_Output_ID, - }); - expect(dataOutput.deposits).to.be.empty; - expect(dataOutput.withdraws).to.be.empty; - }); - - it("should update the Vault after deposits", async function () { - const [, alice] = signers; - - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenA.transfer(alice.address, amount); - await tokenB.transfer(alice.address, amount); - - // Deposit config using different tokens - const depositConfigStructAlice_A: DepositConfigStruct = { - token: tokenA.address, - vaultId: aliceOutputVault, - amount: amount, - }; - const depositConfigStructAlice_B: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice_A.amount); - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice_B.amount); - - // Alice deposits both tokens into her output vault - const txDepositOrderAlice_A = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice_A); - const txDepositOrderAlice_B = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice_B); - - const { sender: depositAliceSender_A, config: depositAliceConfig_A } = - (await getEventArgs( - txDepositOrderAlice_A, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositAliceSender_B, config: depositAliceConfig_B } = - (await getEventArgs( - txDepositOrderAlice_B, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - // Checking Config A - assert(depositAliceSender_A === alice.address); - compareStructs(depositAliceConfig_A, depositConfigStructAlice_A); - // Checking Config B - assert(depositAliceSender_B === alice.address); - compareStructs(depositAliceConfig_B, depositConfigStructAlice_B); - - // Both config used the same VaultID - assert( - depositAliceConfig_A.vaultId.eq(depositAliceConfig_B.vaultId), - "Wrong: Not the same VaultID in deposits" - ); - - await waitForSubgraphToBeSynced(); - - // Subgraph check - const vault_ID = `${depositAliceConfig_A.vaultId.toString()}-${alice.address.toLowerCase()}`; - - // #{vaultId}-{owner}-{token} - const tokenVault_A_ID = `${depositAliceConfig_A.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - const tokenVault_B_ID = `${depositAliceConfig_B.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenB.address.toLowerCase()}`; - - // The tx.hash + N deposit made on that transaction. - // In this case, each transaction only made one deposit, so is `tx.hash()-0` - const depositA_ID = `${txDepositOrderAlice_A.hash.toLowerCase()}-0`; - const depositB_ID = `${txDepositOrderAlice_B.hash.toLowerCase()}-0`; - - const query = `{ - vault (id: "${vault_ID}") { - owner { - id - } - tokenVaults { - id - } - deposits { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vault; - - assert.equal(data.owner.id, alice.address.toLowerCase()); - expect(data.tokenVaults).to.deep.include({ - id: tokenVault_A_ID, - }); - expect(data.tokenVaults).to.deep.include({ - id: tokenVault_B_ID, - }); - - expect(data.deposits).to.deep.include({ - id: depositA_ID, - }); - expect(data.deposits).to.deep.include({ - id: depositB_ID, - }); - }); - - it("should update the Vault after adding an order and deposit", async function () { - const [, alice] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - const constants_A = [max_uint256, ratio_A]; - const aOpMax = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 0) - ); - const aRatio = op( - Opcode.read_memory, - memoryOperand(MemoryType.Constant, 1) - ); - // prettier-ignore - const source_A = concat([ - aOpMax, - aRatio, - ]); - - const EvaluableConfig_A = await generateEvaluableConfig( - [source_A, []], - constants_A - ); - - const orderConfig_A: OrderConfigStruct = { - validInputs: [ - { token: tokenA.address, decimals: 18, vaultId: aliceInputVault }, - ], - validOutputs: [ - { token: tokenB.address, decimals: 18, vaultId: aliceOutputVault }, - ], - evaluableConfig: EvaluableConfig_A, - meta: aliceOrder, - }; - - const txOrder_A = await orderBook.connect(alice).addOrder(orderConfig_A); - - const { - sender: sender_A, - expressionDeployer: ExpressionDeployer_A, - order: order_A, - } = (await getEventArgs( - txOrder_A, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert( - ExpressionDeployer_A === EvaluableConfig_A.deployer, - "wrong expression deployer" - ); - assert(sender_A === alice.address, "wrong sender"); - compareStructs(order_A, orderConfig_A); - - // Deposit into the same INPUT vault - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - await tokenA.transfer(alice.address, amount); - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenA.address, - vaultId: aliceInputVault, - amount: amount, - }; - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - - // Alice deposits tokenA into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - - // Wait for sync - await waitForSubgraphToBeSynced(); - - // Subgraph check - const vault_input_ID = `${aliceInputVault.toString()}-${alice.address.toLowerCase()}`; - - // The tx.hash + N deposit made on that transaction. - // In this case, the transaction only made one deposit, so is `tx.hash()-0` - const deposit_ID = `${txDepositOrderAlice.hash.toLowerCase()}-0`; - - const query = `{ - vault (id: "${vault_input_ID}") { - deposits { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vault; - - expect(data.deposits).to.deep.include({ - id: deposit_ID, - }); - }); - - it("should update the Vault after withdrawal from vault", async function () { - const [, alice] = signers; - - const vaultId = ethers.BigNumber.from(1); - - // DEPOSIT - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - await tokenA.transfer(alice.address, amount); - - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId, - amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits tokenA into her non-append-only vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); - - const withdrawConfigStruct: WithdrawConfigStruct = { - token: tokenA.address, - vaultId: vaultId, - amount, - }; - - const txWithdraw = await orderBook - .connect(alice) - .withdraw(withdrawConfigStruct); - - const { sender: withdrawSender, config: withdrawConfig } = - (await getEventArgs( - txWithdraw, - "Withdraw", - orderBook - )) as WithdrawEvent["args"]; - - assert(withdrawSender === alice.address); - compareStructs(withdrawConfig, withdrawConfigStruct); - - const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); - - assert(aliceTokenABalance0.isZero()); - assert(aliceTokenABalance1.eq(amount)); - - // Checking the VaultIDs - assert( - depositConfig.vaultId.eq(withdrawConfig.vaultId), - "Deposit and Withdraw does not have the same VaultID" - ); - - // Wait for sync - await waitForSubgraphToBeSynced(); - - // Subgraph check - const vault_input_ID = `${depositConfig.vaultId.toString()}-${alice.address.toLowerCase()}`; - - // The tx.hash + N withdraw made on that transaction. - // In this case, the transaction only made one withdraw, so is `tx.hash()-0` - const withdraw_ID = `${txWithdraw.hash.toLowerCase()}-0`; - - const query = `{ - vault (id: "${vault_input_ID}") { - withdraws { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vault; - - expect(data.withdraws).to.deep.include({ - id: withdraw_ID, - }); - }); - - it("should create/update the Vault of the Clearer address", async function () { - const [, alice, bob, bountyBot] = signers; - - const aliceInputVault = ethers.BigNumber.from(randomUint256()); - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const bobInputVault = ethers.BigNumber.from(randomUint256()); - const bobOutputVault = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultA = ethers.BigNumber.from(randomUint256()); - const bountyBotVaultB = ethers.BigNumber.from(randomUint256()); - - // Order_A - const ratio_A = ethers.BigNumber.from("90" + eighteenZeros); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const aliceOrder = encodeMeta("Order_A"); - - const OrderConfig_A: OrderConfigStruct = await getOrderConfig( - ratio_A, - max_uint256, - tokenA.address, - 18, - aliceInputVault, - tokenB.address, - 18, - aliceOutputVault, - aliceOrder - ); - - const txAddOrderAlice = await orderBook - .connect(alice) - .addOrder(OrderConfig_A); - - const { sender: sender_A, order: Order_A } = (await getEventArgs( - txAddOrderAlice, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_A === alice.address, "wrong sender"); - compareStructs(Order_A, OrderConfig_A); - - // Order_B - const ratio_B = fixedPointDiv(ONE, ratio_A); - - // TODO: This is a WRONG encoding meta (FIX: @naneez) - const bobOrder = encodeMeta("Order_B"); - - const OrderConfig_B: OrderConfigStruct = await getOrderConfig( - ratio_B, - max_uint256, - tokenB.address, - 18, - bobInputVault, - tokenA.address, - 18, - bobOutputVault, - bobOrder - ); - - const txAddOrderBob = await orderBook.connect(bob).addOrder(OrderConfig_B); - - const { sender: sender_B, order: Order_B } = (await getEventArgs( - txAddOrderBob, - "AddOrder", - orderBook - )) as AddOrderEvent["args"]; - - assert(sender_B === bob.address, "wrong sender"); - compareStructs(Order_B, OrderConfig_B); - - // DEPOSITS - const amountB = ethers.BigNumber.from("1000" + eighteenZeros); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenB.transfer(alice.address, amountB); - await tokenA.transfer(bob.address, amountA); - - const depositConfigStructAlice: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - const depositConfigStructBob: DepositConfigStruct = { - token: tokenA.address, - vaultId: bobOutputVault, - amount: amountA, - }; - - await tokenB - .connect(alice) - .approve(orderBook.address, depositConfigStructAlice.amount); - await tokenA - .connect(bob) - .approve(orderBook.address, depositConfigStructBob.amount); - - // Alice deposits tokenB into her output vault - const txDepositOrderAlice = await orderBook - .connect(alice) - .deposit(depositConfigStructAlice); - // Bob deposits tokenA into his output vault - const txDepositOrderBob = await orderBook - .connect(bob) - .deposit(depositConfigStructBob); - - const { sender: depositAliceSender, config: depositAliceConfig } = - (await getEventArgs( - txDepositOrderAlice, - "Deposit", - orderBook - )) as DepositEvent["args"]; - const { sender: depositBobSender, config: depositBobConfig } = - (await getEventArgs( - txDepositOrderBob, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositAliceSender === alice.address); - compareStructs(depositAliceConfig, depositConfigStructAlice); - assert(depositBobSender === bob.address); - compareStructs(depositBobConfig, depositConfigStructBob); - - // BOUNTY BOT CLEARS THE ORDER - - const clearConfig: ClearConfigStruct = { - aliceInputIOIndex: 0, - aliceOutputIOIndex: 0, - bobInputIOIndex: 0, - bobOutputIOIndex: 0, - aliceBountyVaultId: bountyBotVaultA, - bobBountyVaultId: bountyBotVaultB, - }; - - const txClearOrder = await orderBook - .connect(bountyBot) - .clear(Order_A, Order_B, clearConfig, [], []); - - const { - sender: clearSender, - alice: clearA_, - bob: clearB_, - clearConfig: clearBountyConfig, - } = (await getEventArgs( - txClearOrder, - "Clear", - orderBook - )) as ClearEvent["args"]; - const { sender: afterClearSender, clearStateChange: clearStateChange } = - (await getEventArgs( - txClearOrder, - "AfterClear", - orderBook - )) as AfterClearEvent["args"]; - - const aOutputMaxExpected = amountA; - const bOutputMaxExpected = amountB; - - const aOutputExpected = minBN( - aOutputMaxExpected, - fixedPointMul(ratio_B, amountA) - ); - const bOutputExpected = minBN( - bOutputMaxExpected, - fixedPointMul(ratio_A, amountB) - ); - - const expectedClearStateChange: ClearStateChangeStruct = { - aliceOutput: aOutputExpected, - bobOutput: bOutputExpected, - aliceInput: fixedPointMul(ratio_A, aOutputExpected), - bobInput: fixedPointMul(ratio_B, bOutputExpected), - }; - - assert(afterClearSender === bountyBot.address); - assert(clearSender === bountyBot.address); - compareSolStructs(clearA_, Order_A); - compareSolStructs(clearB_, Order_B); - compareStructs(clearBountyConfig, clearConfig); - compareStructs(clearStateChange, expectedClearStateChange); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // Vault ID where the bounty will be move - const { aliceBountyVaultId, bobBountyVaultId } = clearBountyConfig; - - const vault_A_ID = `${aliceBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; - const vault_B_ID = `${bobBountyVaultId.toString()}-${bountyBot.address.toLowerCase()}`; - - const query = `{ - vaults { - id - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vaults; - - expect(data).to.deep.include({ - id: vault_A_ID, - }); - expect(data).to.deep.include({ - id: vault_B_ID, - }); - }); -}); diff --git a/subgraph/test/vaultDeposit.test.ts b/subgraph/test/vaultDeposit.test.ts deleted file mode 100644 index 929729bda3..0000000000 --- a/subgraph/test/vaultDeposit.test.ts +++ /dev/null @@ -1,203 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - basicDeploy, - compareStructs, - eighteenZeros, - getEvents, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { DepositEvent } from "../typechain/contracts/orderbook/OrderBook"; -import { - deployOBMultiTx, - getEventArgs, - waitForSubgraphToBeSynced, -} from "./utils"; -import { DepositConfigStruct } from "../typechain/contracts/orderbook/OrderBook"; - -describe("VaultDeposit entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query the VaultDeposit after a deposit", async function () { - const [, alice] = signers; - - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - - await tokenA.transfer(alice.address, amount); - - // Deposit config using different tokens - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId: aliceOutputVault, - amount: amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits both tokens into her output vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - // Checking Config A - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - // Subgrpah check - await waitForSubgraphToBeSynced(); - - // VaultDeposit ID: `tx.hash-{N}` where n is the N deposit with the same tx.hash; - // In this case, the tx only made one deposit, so the N is 0 - const vaultDeposit_ID = `${txDeposit.hash.toLowerCase()}-0`; - - // Vault ID: #{vaultId}-{owner} - const vault_ID = `${depositConfig.vaultId.toString()}-${alice.address.toLowerCase()}`; - - // TokenVault ID: #{vaultId}-{owner}-{token} - const tokenVault_A_ID = `${depositConfig.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - - const query = `{ - vaultDeposit (id: "${vaultDeposit_ID}") { - amount - vaultId - sender { - id - } - token { - id - } - vault { - id - } - tokenVault { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vaultDeposit; - - assert.equal(data.amount, depositConfig.amount.toString()); - assert.equal(data.vaultId, depositConfig.vaultId.toString()); - assert.equal(data.sender.id, depositSender.toLowerCase()); - assert.equal(data.token.id, tokenA.address.toLowerCase()); - assert.equal(data.vault.id, vault_ID); - assert.equal(data.tokenVault.id, tokenVault_A_ID); - }); - - it("should query correctly the VaultDeposits after deposits on same transactions", async function () { - const [, alice] = signers; - - // Deploy new OBMultiTx contract - const obMultiTx = await deployOBMultiTx(orderBook); - - const aliceOutputVault = ethers.BigNumber.from(randomUint256()); - const amountA = ethers.BigNumber.from("1000" + eighteenZeros); - const amountB = ethers.BigNumber.from("2000" + eighteenZeros); - - await tokenA.transfer(alice.address, amountA); - await tokenB.transfer(alice.address, amountB); - - // Deposit config using different tokens and amounts - const depositConfigStruct_A: DepositConfigStruct = { - token: tokenA.address, - vaultId: aliceOutputVault, - amount: amountA, - }; - const depositConfigStruct_B: DepositConfigStruct = { - token: tokenB.address, - vaultId: aliceOutputVault, - amount: amountB, - }; - - // Approve the tokens to be used by the OBMultiTx contract - await tokenA - .connect(alice) - .approve(obMultiTx.address, depositConfigStruct_A.amount); - await tokenB - .connect(alice) - .approve(obMultiTx.address, depositConfigStruct_B.amount); - - // Alice deposits both tokens using the obMultiTx - const txMultiDeposits = await obMultiTx - .connect(alice) - .multiDeposit([depositConfigStruct_A, depositConfigStruct_B]); - - const depositEvents = (await getEvents( - txMultiDeposits, - "Deposit", - orderBook - )) as Array; - - // Subgraph check - await waitForSubgraphToBeSynced(); - - for (let i = 0; i < depositEvents.length; i++) { - // Using the Deposit event for a given index - const { sender, config } = depositEvents[i]; - - // VaultDeposit ID: `tx.hash-{N}` where n is the N deposit with the same tx.hash; - // In this case, the N value is the i value given the iteration - const vaultDeposit_ID = `${txMultiDeposits.hash.toLowerCase()}-${i}`; - - // Vault ID = {Deposit.config.vaultId}-{sender} - const vault_ID = `${config.vaultId.toString()}-${sender.toLowerCase()}`; - - // TokenVault ID = {Deposit.config.vaultId}-{Deposit.sender}-{Deposit.config.token} - const tokenVault_ID = `${config.vaultId.toString()}-${sender.toLowerCase()}-${config.token.toLowerCase()}`; - - const query = `{ - vaultDeposit (id: "${vaultDeposit_ID}") { - vaultId - amount - sender { - id - } - token { - id - } - vault { - id - } - tokenVault { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vaultDeposit; - - assert.equal(data.vaultId, config.vaultId.toString()); - assert.equal(data.amount, config.amount.toString()); - assert.equal(data.sender.id, sender.toLowerCase()); - assert.equal(data.token.id, config.token.toLowerCase()); - assert.equal(data.vault.id, vault_ID); - assert.equal(data.tokenVault.id, tokenVault_ID); - } - }); -}); diff --git a/subgraph/test/vaultWithdraw.test.ts b/subgraph/test/vaultWithdraw.test.ts deleted file mode 100644 index 9703014f07..0000000000 --- a/subgraph/test/vaultWithdraw.test.ts +++ /dev/null @@ -1,275 +0,0 @@ -import assert from "assert"; -import { FetchResult } from "apollo-fetch"; -import { orderBook, signers, subgraph } from "./0_initialization.test"; -import { ReserveToken18 } from "../typechain"; -import { - basicDeploy, - compareStructs, - eighteenZeros, - getEvents, - randomUint256, -} from "../utils"; -import { ethers } from "hardhat"; -import { - DepositEvent, - WithdrawConfigStruct, - WithdrawEvent, -} from "../typechain/contracts/orderbook/OrderBook"; -import { - deployOBMultiTx, - getEventArgs, - waitForSubgraphToBeSynced, -} from "./utils"; -import { DepositConfigStruct } from "../typechain/contracts/orderbook/OrderBook"; - -describe("VaultWithdraw entity", () => { - let tokenA: ReserveToken18; - let tokenB: ReserveToken18; - - beforeEach(async () => { - tokenA = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - tokenB = (await basicDeploy("ReserveToken18", {})) as ReserveToken18; - await tokenA.initialize(); - await tokenB.initialize(); - }); - - it("should query the VaultWithdraw after withdrawal", async function () { - const [, alice] = signers; - - const vaultId = ethers.BigNumber.from(randomUint256()); - - // DEPOSIT - const amount = ethers.BigNumber.from("1000" + eighteenZeros); - await tokenA.transfer(alice.address, amount); - - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId, - amount: amount, - }; - - await tokenA - .connect(alice) - .approve(orderBook.address, depositConfigStruct.amount); - - // Alice deposits tokenA into her non-append-only vault - const txDeposit = await orderBook - .connect(alice) - .deposit(depositConfigStruct); - - const { sender: depositSender, config: depositConfig } = - (await getEventArgs( - txDeposit, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - const aliceTokenABalance0 = await tokenA.balanceOf(alice.address); - - const withdrawConfigStruct: WithdrawConfigStruct = { - token: tokenA.address, - vaultId: vaultId, - amount: amount, - }; - - const txWithdraw = await orderBook - .connect(alice) - .withdraw(withdrawConfigStruct); - - const { - sender: withdrawSender, - config: withdrawConfig, - amount: withdrawnAmount, - } = (await getEventArgs( - txWithdraw, - "Withdraw", - orderBook - )) as WithdrawEvent["args"]; - - assert(withdrawSender === alice.address); - compareStructs(withdrawConfig, withdrawConfigStruct); - - const aliceTokenABalance1 = await tokenA.balanceOf(alice.address); - - assert(aliceTokenABalance0.isZero()); - assert(aliceTokenABalance1.eq(amount)); - - // Checking the VaultIDs - assert( - depositConfig.vaultId.eq(withdrawConfig.vaultId), - "Deposit and Withdraw does not have the same VaultID" - ); - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // VaultWithdraw ID: `tx.hash-{N}` where n is the N withdraw with the same tx.hash; - // In this case, the tx only made one withdraw, so the N is 0 - const vaultWithdraw_ID = `${txWithdraw.hash.toLowerCase()}-0`; - - // Vault ID: #{vaultId}-{owner} - const vault_ID = `${withdrawConfig.vaultId.toString()}-${alice.address.toLowerCase()}`; - - // TokenVault ID: #{vaultId}-{owner}-{token} - const tokenVault_ID = `${withdrawConfig.vaultId.toString()}-${alice.address.toLowerCase()}-${tokenA.address.toLowerCase()}`; - - const query = `{ - vaultWithdraw (id: "${vaultWithdraw_ID}") { - vaultId - requestedAmount - amount - sender { - id - } - token { - id - } - vault { - id - } - tokenVault { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vaultWithdraw; - - assert.equal(data.vaultId, withdrawConfig.vaultId.toString()); - assert.equal(data.requestedAmount, withdrawConfig.amount.toString()); - assert.equal(data.amount, withdrawnAmount.toString()); - assert.equal(data.sender.id, withdrawSender.toLowerCase()); - assert.equal(data.token.id, withdrawConfig.token.toLowerCase()); - assert.equal(data.vault.id, vault_ID); - assert.equal(data.tokenVault.id, tokenVault_ID); - }); - - it("should query correctly the VaultWithdraws after withdraws on same transactions", async function () { - const [, alice] = signers; - - // Deploy new OBMultiTx contract - const obMultiTx = await deployOBMultiTx(orderBook); - - const vaultId = ethers.BigNumber.from(randomUint256()); - - // DEPOSIT - const amountToDeposit = ethers.BigNumber.from("2000" + eighteenZeros); - await tokenA.transfer(alice.address, amountToDeposit); - - // Make one deposit with enought amount - const depositConfigStruct: DepositConfigStruct = { - token: tokenA.address, - vaultId, - amount: amountToDeposit, - }; - - // Approve the OBMultiTx contract to use the alice tokens - await tokenA - .connect(alice) - .approve(obMultiTx.address, depositConfigStruct.amount); - - // Make the deposit using the OBMultiTx contract (the owner will be the contract) - const txDeposits = await obMultiTx - .connect(alice) - .multiDeposit([depositConfigStruct]); - - const { config: depositConfig } = (await getEventArgs( - txDeposits, - "Deposit", - orderBook - )) as DepositEvent["args"]; - - // assert(depositSender === alice.address); - compareStructs(depositConfig, depositConfigStruct); - - // WITHDRAWS - // First amount to be requested for withdrawal will be 1/4 of the deposited amount. - const amountToWithdraw_A = amountToDeposit.div(4); - - // Second amount to be requested for withdrawal will be 3/4 of the amount deposited. - const amountToWithdraw_B = amountToDeposit.div(4).mul(3); - - const withdrawConfigStruct_A: WithdrawConfigStruct = { - token: tokenA.address, - vaultId: vaultId, - amount: amountToWithdraw_A, - }; - - const withdrawConfigStruct_B: WithdrawConfigStruct = { - token: tokenA.address, - vaultId: vaultId, - amount: amountToWithdraw_B, - }; - - // Alice use the contract to multi withdraws (Contract will hold the tokens) - const txMultiWithdraws = await obMultiTx - .connect(alice) - .multiWithdraw([withdrawConfigStruct_A, withdrawConfigStruct_B]); - - const withdrawEvents = (await getEvents( - txMultiWithdraws, - "Withdraw", - orderBook - )) as Array; - - // Subgraph check - await waitForSubgraphToBeSynced(); - - // - for (let i = 0; i < withdrawEvents.length; i++) { - // Using the Withdraw event for a given index - const { - sender: withdrawSender, - config: withdrawConfig, - amount: withdrawnAmount, - } = withdrawEvents[i]; - - // VaultWithdraw ID: `tx.hash-{N}` where n is the N withdraw with the same tx.hash; - // In this case, the N value is the i value given the iteration - const vaultWithdraw_ID = `${txMultiWithdraws.hash.toLowerCase()}-${i}`; - - // Vault ID = {Withdraw.config.vaultId}-{sender} - const vault_ID = `${withdrawConfig.vaultId.toString()}-${withdrawSender.toLowerCase()}`; - - // TokenVault ID = {Withdraw.config.vaultId}-{Withdraw.sender}-{Withdraw.config.token} - const tokenVault_ID = `${withdrawConfig.vaultId.toString()}-${withdrawSender.toLowerCase()}-${withdrawConfig.token.toLowerCase()}`; - - const query = `{ - vaultWithdraw (id: "${vaultWithdraw_ID}") { - vaultId - requestedAmount - amount - sender { - id - } - token { - id - } - vault { - id - } - tokenVault { - id - } - } - }`; - - const response = (await subgraph({ query })) as FetchResult; - - const data = response.data.vaultWithdraw; - - assert.equal(data.vaultId, withdrawConfig.vaultId.toString()); - assert.equal(data.requestedAmount, withdrawConfig.amount.toString()); - assert.equal(data.amount, withdrawnAmount.toString()); - assert.equal(data.sender.id, withdrawSender.toLowerCase()); - assert.equal(data.token.id, withdrawConfig.token.toLowerCase()); - assert.equal(data.vault.id, vault_ID); - assert.equal(data.tokenVault.id, tokenVault_ID); - } - }); -}); From 785f79a9dcbd5b9a844d122a6a4e4373ae729662 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 19:35:04 -0400 Subject: [PATCH 004/163] subgraph cli test flakes --- subgraph/.gitignore | 38 +- subgraph/Cargo.lock | 4097 +++ subgraph/Cargo.toml | 25 + subgraph/cli/README.md | 5 + subgraph/cli/main.rs | 109 + subgraph/flake.nix | 40 + subgraph/package-lock.json | 6656 ++--- subgraph/package.json | 2 +- subgraph/shell.nix | 13 +- subgraph/test.rs | 972 + subgraph/tests/ReserveToken.json | 390 + subgraph/tests/deploy_orderbook.rs | 44 + .../deploy/deploy1820/ERC1820RegistryABI.json | 215 + subgraph/tests/utils/deploy/deploy1820/mod.rs | 52 + .../deploy/deploy_orderbook/OrderBook.json | 23730 ++++++++++++++++ .../utils/deploy/deploy_orderbook/mod.rs | 14 + subgraph/tests/utils/deploy/mod.rs | 3 + .../deploy/touch_deployer/Rainterpreter.json | 5651 ++++ .../RainterpreterExpressionDeployer.json | 9281 ++++++ .../touch_deployer/RainterpreterStore.json | 1931 ++ .../utils/deploy/touch_deployer/data.json | 3 + .../tests/utils/deploy/touch_deployer/mod.rs | 99 + subgraph/tests/utils/mod.rs | 2 + subgraph/tests/utils/utils.rs | 57 + 24 files changed, 49241 insertions(+), 4188 deletions(-) create mode 100644 subgraph/Cargo.lock create mode 100644 subgraph/Cargo.toml create mode 100644 subgraph/cli/README.md create mode 100644 subgraph/cli/main.rs create mode 100644 subgraph/flake.nix create mode 100644 subgraph/test.rs create mode 100644 subgraph/tests/ReserveToken.json create mode 100644 subgraph/tests/deploy_orderbook.rs create mode 100644 subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json create mode 100644 subgraph/tests/utils/deploy/deploy1820/mod.rs create mode 100644 subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json create mode 100644 subgraph/tests/utils/deploy/deploy_orderbook/mod.rs create mode 100644 subgraph/tests/utils/deploy/mod.rs create mode 100644 subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json create mode 100644 subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json create mode 100644 subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json create mode 100644 subgraph/tests/utils/deploy/touch_deployer/data.json create mode 100644 subgraph/tests/utils/deploy/touch_deployer/mod.rs create mode 100644 subgraph/tests/utils/mod.rs create mode 100644 subgraph/tests/utils/utils.rs diff --git a/subgraph/.gitignore b/subgraph/.gitignore index 373cd0082f..eae9239cda 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -1,44 +1,20 @@ # subgraph -build -generated -subgraph.yaml +/build +/generated +/subgraph.yaml # npm -node_modules +/node_modules # hardhat -cache +/cache #vscode .vscode #docker -docker/data +/docker/data -#rain-protocol -rain-protocol/artifacts -rain-protocol/.nix-node -rain-protocol/node_modules -rain-protocol/public/build -rain-protocol/.env -rain-protocol/cache -rain-protocol/typechain -rain-protocol/artifacts -rain-protocol/build -rain-protocol/venv -rain-protocol/bin -rain-protocol/docs/api -rain-protocol/*.tgz -rain-protocol/.npmrc -rain-protocol/solt -rain-protocol/!dist/** -rain-protocol/tenderly.yaml -rain-protocol/test-template.ts -rain-protocol/dumpfile -rain-protocol/.DS_Store # Echidna -rain-protocol/crytic-export - -rain-protocol/cache_forge -rain-protocol/out \ No newline at end of file +/target \ No newline at end of file diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock new file mode 100644 index 0000000000..8fe005a24f --- /dev/null +++ b/subgraph/Cargo.lock @@ -0,0 +1,4097 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aho-corasick" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" +dependencies = [ + "memchr", +] + +[[package]] +name = "anstream" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" + +[[package]] +name = "anstyle-parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +dependencies = [ + "anstyle", + "windows-sys", +] + +[[package]] +name = "anyhow" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ascii" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "async-trait" +version = "0.1.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version", +] + +[[package]] +name = "auto_impl" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bech32" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bs58" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +dependencies = [ + "sha2", + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +dependencies = [ + "serde", +] + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "jobserver", + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "num-traits", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "4.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "clap_lex" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" + +[[package]] +name = "coins-bip32" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" +dependencies = [ + "bs58", + "coins-core", + "digest 0.10.7", + "hmac", + "k256", + "serde", + "sha2", + "thiserror", +] + +[[package]] +name = "coins-bip39" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" +dependencies = [ + "bitvec", + "coins-bip32", + "hmac", + "once_cell", + "pbkdf2 0.12.2", + "rand", + "sha2", + "thiserror", +] + +[[package]] +name = "coins-core" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" +dependencies = [ + "base64 0.21.4", + "bech32", + "bs58", + "digest 0.10.7", + "generic-array", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2", + "sha3", + "thiserror", +] + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "colored" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" +dependencies = [ + "is-terminal", + "lazy_static", + "windows-sys", +] + +[[package]] +name = "combine" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" +dependencies = [ + "ascii", + "byteorder", + "either", + "memchr", + "unreachable", +] + +[[package]] +name = "const-hex" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa72a10d0e914cad6bcad4e7409e68d230c1c2db67896e19a37f758b1fcbdab5" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[package]] +name = "der" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "ecdsa" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "elliptic-curve" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "ena" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +dependencies = [ + "log 0.4.20", +] + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enr" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" +dependencies = [ + "base64 0.21.4", + "bytes", + "hex", + "k256", + "log 0.4.20", + "rand", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "eth-keystore" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +dependencies = [ + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac", + "pbkdf2 0.11.0", + "rand", + "scrypt", + "serde", + "serde_json", + "sha2", + "sha3", + "thiserror", + "uuid", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", + "uint", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad13497f6e0a24292fc7b408e30d22fe9dc262da1f40d7b542c3a44e7fc0476" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", + "ethers-solc", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" +dependencies = [ + "ethers-core", + "once_cell", + "serde", + "serde_json", +] + +[[package]] +name = "ethers-contract" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" +dependencies = [ + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", + "once_cell", + "pin-project", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "ethers-contract-abigen" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "ethers-etherscan", + "eyre", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "reqwest", + "serde", + "serde_json", + "syn 2.0.37", + "toml", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.37", +] + +[[package]] +name = "ethers-core" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" +dependencies = [ + "arrayvec", + "bytes", + "cargo_metadata", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array", + "k256", + "num_enum", + "once_cell", + "open-fastrlp", + "rand", + "rlp", + "serde", + "serde_json", + "strum", + "syn 2.0.37", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" +dependencies = [ + "ethers-core", + "reqwest", + "semver", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" +dependencies = [ + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", +] + +[[package]] +name = "ethers-providers" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.4", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-tungstenite", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "ethers-signers" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand", + "sha2", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-solc" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de34e484e7ae3cab99fbfd013d6c5dc7f9013676a4e0e414d8b12e1213e8b3ba" +dependencies = [ + "cfg-if", + "const-hex", + "dirs", + "dunce", + "ethers-core", + "glob", + "home", + "md-5", + "num_cpus", + "once_cell", + "path-slash", + "rayon", + "regex", + "semver", + "serde", + "serde_json", + "solang-parser", + "svm-rs", + "thiserror", + "tiny-keccak", + "tokio", + "tracing", + "walkdir", + "yansi", +] + +[[package]] +name = "eyre" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core", + "subtle", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-locks" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "graphql-introspection-query" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" +dependencies = [ + "serde", +] + +[[package]] +name = "graphql-parser" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" +dependencies = [ + "combine", + "thiserror", +] + +[[package]] +name = "graphql_client" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cdf7b487d864c2939b23902291a5041bc4a84418268f25fda1c8d4e15ad8fa" +dependencies = [ + "graphql_query_derive", + "serde", + "serde_json", +] + +[[package]] +name = "graphql_client_codegen" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40f793251171991c4eb75bd84bc640afa8b68ff6907bc89d3b712a22f700506" +dependencies = [ + "graphql-introspection-query", + "graphql-parser", + "heck", + "lazy_static", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 1.0.109", +] + +[[package]] +name = "graphql_query_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00bda454f3d313f909298f626115092d348bc231025699f557b27e248475f48c" +dependencies = [ + "graphql_client_codegen", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "headers" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +dependencies = [ + "base64 0.21.4", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +dependencies = [ + "http", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +dependencies = [ + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown 0.14.1", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi", + "rustix", + "windows-sys", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpc-core" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" +dependencies = [ + "futures", + "futures-executor", + "futures-util", + "log 0.4.20", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.4", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "k256" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lalrpop" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" +dependencies = [ + "ascii-canvas", + "bit-set", + "diff", + "ena", + "is-terminal", + "itertools 0.10.5", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.148" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" + +[[package]] +name = "linux-raw-sys" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +dependencies = [ + "log 0.4.20", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi", + "windows-sys", +] + +[[package]] +name = "mustache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51956ef1c5d20a1384524d91e616fb44dfc7d8f249bf696d49c97dd3289ecab5" +dependencies = [ + "log 0.3.9", + "serde", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log 0.4.20", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "openssl" +version = "0.10.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +dependencies = [ + "bitflags 2.4.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "parity-scale-codec" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core", + "subtle", +] + +[[package]] +name = "path-slash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.7", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.0.2", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.37", +] + +[[package]] +name = "primitive-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "reqwest" +version = "0.11.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +dependencies = [ + "base64 0.21.4", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "hyper-tls", + "ipnet", + "js-sys", + "log 0.4.20", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tokio-rustls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rust-bigint" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe1d6964d886b707f3e2cec76ac5b0e887661a6699f695ed0d3d5bb4852d6959" +dependencies = [ + "getrandom", + "rust-gmp-kzen", + "serde", + "serde_derive", +] + +[[package]] +name = "rust-gmp-kzen" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e654bb304958a567aefa09e83cc313251388202c40bfc245fac19a0e2dd8d08" +dependencies = [ + "libc", + "num-traits", + "serde", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531" +dependencies = [ + "bitflags 2.4.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustls" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +dependencies = [ + "log 0.4.20", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +dependencies = [ + "base64 0.21.4", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scale-info" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "schannel" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac", + "pbkdf2 0.11.0", + "salsa20", + "sha2", +] + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "secp256k1" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" +dependencies = [ + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +dependencies = [ + "cc", +] + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" +dependencies = [ + "serde", +] + +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "serde_json" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +dependencies = [ + "digest 0.10.7", + "rand_core", +] + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64 0.13.1", + "bytes", + "futures", + "httparse", + "log 0.4.20", + "rand", + "sha-1", +] + +[[package]] +name = "solang-parser" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cb9fa2fa2fa6837be8a2495486ff92e3ffe68a99b6eeba288e139efdd842457" +dependencies = [ + "itertools 0.11.0", + "lalrpop", + "lalrpop-util", + "phf", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spki" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.37", +] + +[[package]] +name = "subgraph" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "colored", + "ethers", + "graphql_client", + "hex", + "mustache", + "reqwest", + "rust-bigint", + "serde", + "serde_bytes", + "serde_json", + "tokio", + "web3", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "svm-rs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597e3a746727984cb7ea2487b6a40726cad0dbe86628e7d429aa6b8c4c153db4" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest", + "semver", + "serde", + "serde_json", + "sha2", + "thiserror", + "url", + "zip", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "thiserror" +version = "1.0.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "time" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" +dependencies = [ + "deranged", + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +dependencies = [ + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.4", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log 0.4.20", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.0.2", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log 0.4.20", + "rand", + "rustls", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +dependencies = [ + "void", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "walkdir" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log 0.4.20", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.37", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web3" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5388522c899d1e1c96a4c307e3797e0f697ba7c77dd8e0e625ecba9dd0342937" +dependencies = [ + "arrayvec", + "base64 0.21.4", + "bytes", + "derive_more", + "ethabi", + "ethereum-types", + "futures", + "futures-timer", + "headers", + "hex", + "idna", + "jsonrpc-core", + "log 0.4.20", + "once_cell", + "parking_lot", + "pin-project", + "reqwest", + "rlp", + "secp256k1", + "serde", + "serde_json", + "soketto", + "tiny-keccak", + "tokio", + "tokio-stream", + "tokio-util", + "url", + "web3-async-native-tls", +] + +[[package]] +name = "web3-async-native-tls" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f6d8d1636b2627fe63518d5a9b38a569405d9c9bc665c43c9c341de57227ebb" +dependencies = [ + "native-tls", + "thiserror", + "tokio", + "url", +] + +[[package]] +name = "webpki-roots" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log 0.4.20", + "pharos", + "rustc_version", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "zeroize" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2 0.11.0", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml new file mode 100644 index 0000000000..c3d7ee6fe9 --- /dev/null +++ b/subgraph/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "subgraph" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[[bin]] +name = "subgraph-cli" +path = "cli/main.rs" + +[dependencies] +tokio = { version = "1.28.0", features = ["full"] } +hex = "0.4.3" +serde_json = "1.0.99" +serde = "1.0.160" +serde_bytes = "0.11.9" +anyhow = "1.0.70" +mustache = "0.9.0" +reqwest = { version = "0.11.17", features = ["json"] } +rust-bigint = "1.2.0" +graphql_client = "0.13.0" +web3 = "0.19.0" +ethers = "2.0" +clap = { version = "4.4.6", features = ["cargo", "derive"] } +colored = "2.0.4" diff --git a/subgraph/cli/README.md b/subgraph/cli/README.md new file mode 100644 index 0000000000..544c21b797 --- /dev/null +++ b/subgraph/cli/README.md @@ -0,0 +1,5 @@ +# Rain Subpgrah CLI + +This code is intended to contain commands that help to manage the subgraph code, like the tests, generation and deployment. + +Still in process. If you want a specific command or find a bug - please report it. diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs new file mode 100644 index 0000000000..caa33bd37b --- /dev/null +++ b/subgraph/cli/main.rs @@ -0,0 +1,109 @@ +use clap::{Args, Parser, Subcommand}; +use colored::*; +use std::env; +use std::io::{BufRead, BufReader}; +use std::process::{Command, Stdio}; +use std::thread; + +#[derive(Parser)] +#[clap(author, version, about)] +pub struct Cli { + #[clap(subcommand)] + pub subgraph: Subgraph, +} + +#[derive(Subcommand)] +pub enum Subgraph { + #[command(about = "Install dependecies for the rain subgraph")] + Install, + #[command(about = "Build the rain subgraph")] + Build, + #[command(about = "Test the rain subgraph")] + Test, + #[command(about = "Deploy the rain subgraph")] + Deploy(DeployCommand), +} + +#[derive(Args, Debug)] +pub struct DeployCommand { + /// Endpoint URL where the subgraph will be deployed + url: String, + /// Subgraph token to deploy the subgraph + key: String, + /// Network that the subgraph will index + network: String, + /// Block number where the subgraph will start indexing + block_number: String, + /// Contract address that the subgraph will be indexing (Assuming one address) + address: String, +} + +fn main() { + let args = Cli::parse(); + match args.subgraph { + Subgraph::Install => { + // Get the current working directory + let current_dir = env::current_dir().expect("Failed to get current directory"); + + // Create a new Command to run the npm install command + let mut npm_install = Command::new("npm"); + npm_install.arg("install"); + npm_install.current_dir(¤t_dir); + npm_install.stdout(Stdio::piped()); + npm_install.stderr(Stdio::piped()); + + println!("{}", "Running npm install...".green()); + + // Execute the npm install command + let mut child = npm_install.spawn().expect("Failed to start npm install"); + + // Read and print stdout in a separate thread + let stdout_child = child.stdout.take().expect("Failed to get stdout"); + let stdout_reader = BufReader::new(stdout_child); + + let stdout_handle = thread::spawn(move || { + for line in stdout_reader.lines() { + if let Ok(line) = line { + println!("npm: {}", line); + } + } + }); + + // Read and print stderr in the main thread + let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); + for line in stderr_reader.lines() { + if let Ok(line) = line { + eprintln!("npm error: {}", line); + } + } + + // Wait for the command to finish and get the exit status + let status = child.wait().expect("Failed to wait for npm install"); + + // Wait for the stdout thread to finish + stdout_handle.join().expect("Failed to join stdout thread"); + + if status.success() { + println!("{}", "npm install successful".green()); + } else { + eprintln!( + "{}", + format!( + "npm install failed with exit code: {}", + status.code().unwrap_or(-1) + ) + .red() + ); + } + } + Subgraph::Build => { + println!("Hello build"); + } + Subgraph::Test => { + println!("Hello tests"); + } + Subgraph::Deploy(args) => { + println!("Deploy with: {:?}", args); + } + } +} diff --git a/subgraph/flake.nix b/subgraph/flake.nix new file mode 100644 index 0000000000..de6f03e216 --- /dev/null +++ b/subgraph/flake.nix @@ -0,0 +1,40 @@ +{ + description = "Flake for development workflows."; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + rain_subgraph.url = "github:rainprotocol/rain.subgraph-cli"; + flake-utils.url = "github:numtide/flake-utils"; + + }; + + outputs = {self, nixpkgs, rain, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + rain-subgraph-cli = "${rain_subgraph.defaultPackage.${system}}/bin/rain_subgraph"; + + in rec { + packages = rec { + check-aver = ["Aver" "xd"]; + check-build = "rain-subgraph-cli build"; + + + + # build-check= contract: '' + # ${(build-meta-cmd contract)} -o meta/${contract}.rain.meta; + # ''; + + + default = "echo lol"; + + # build-meta-cmd = contract: '' + # ${rain-cli} meta build \ + # -i <(${rain-cli} meta solc artifact -c abi -i out/${contract}.sol/${contract}.json) -m solidity-abi-v2 -t json -e deflate -l en \ + # -i src/concrete/${contract}.meta.json -m interpreter-caller-meta-v1 -t json -e deflate -l en \ + # ''; + }; + } + ); + +} diff --git a/subgraph/package-lock.json b/subgraph/package-lock.json index f1cebb2055..494934325b 100644 --- a/subgraph/package-lock.json +++ b/subgraph/package-lock.json @@ -10,7 +10,7 @@ "license": "CAL", "dependencies": { "@chainlink/contracts": "^0.5.1", - "@graphprotocol/graph-cli": "^0.35.0", + "@graphprotocol/graph-cli": "^0.46.1", "@graphprotocol/graph-ts": "^0.28.1", "@openzeppelin/contracts-upgradeable": "=4.8.2", "@prb/math": "^3.3.1", @@ -322,17 +322,6 @@ "node": ">=4" } }, - "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@chainlink/contracts": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.5.1.tgz", @@ -347,7 +336,6 @@ "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==", - "devOptional": true, "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -630,23 +618,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -722,24 +693,6 @@ "ethers": "*" } }, - "node_modules/@ethereum-waffle/chai/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@ethereum-waffle/compiler": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", @@ -811,24 +764,6 @@ "ethers": "*" } }, - "node_modules/@ethereum-waffle/provider/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@ethereumjs/block": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", @@ -909,24 +844,6 @@ "ethereumjs-util": "^7.1.5" } }, - "node_modules/@ethereumjs/blockchain/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@ethereumjs/blockchain/node_modules/ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -1689,6 +1606,44 @@ "@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==", + "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==" + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.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==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@ganache/ethereum-address": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", @@ -1771,46 +1726,112 @@ } }, "node_modules/@graphprotocol/graph-cli": { - "version": "0.35.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.35.0.tgz", - "integrity": "sha512-50tjeLZg3425fwueH8ORTZbPRSn4uICL0NK9XsJVriDPKCNnhyAIgJgOWaYyPAFgxR8LuyXYkoxIxZ5nduKbiw==", - "dependencies": { - "assemblyscript": "0.19.10", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.46.1.tgz", + "integrity": "sha512-594BiH2m9gThP1xdvxguVzvVlOb1KzJyVdh2F4dV78NPfMRFY2fe1nakmadKcewc72VVLXNgfdBu/J4IPfo0eg==", + "dependencies": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.0", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", + "fs-extra": "9.1.0", + "glob": "9.3.4", "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.3.8", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" }, "bin": { - "graph": "bin/graph" + "graph": "dist/bin.js" + }, + "engines": { + "node": ">=14" } }, - "node_modules/@graphprotocol/graph-cli/node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "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==", + "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==", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/@graphprotocol/graph-cli/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/glob": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.4.tgz", + "integrity": "sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==" + }, + "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==", + "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/prettier": { @@ -1874,11 +1895,36 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "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==", + "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==", + "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==", + "dependencies": { + "multiformats": "^9.5.4" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "devOptional": true, "engines": { "node": ">=6.0.0" } @@ -1886,14 +1932,12 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "devOptional": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "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==", - "devOptional": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1999,7 +2043,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2012,7 +2055,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -2021,7 +2063,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2074,22 +2115,6 @@ "node": ">=14" } }, - "node_modules/@nomicfoundation/ethereumjs-blockchain/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@nomicfoundation/ethereumjs-common": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", @@ -2133,22 +2158,6 @@ "node": ">=14" } }, - "node_modules/@nomicfoundation/ethereumjs-evm/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@nomicfoundation/ethereumjs-rlp": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", @@ -2174,22 +2183,6 @@ "functional-red-black-tree": "^1.0.1" } }, - "node_modules/@nomicfoundation/ethereumjs-statemanager/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@nomicfoundation/ethereumjs-trie": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", @@ -2269,22 +2262,6 @@ "node": ">=14" } }, - "node_modules/@nomicfoundation/ethereumjs-vm/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@nomicfoundation/hardhat-foundry": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-foundry/-/hardhat-foundry-1.0.0.tgz", @@ -2560,27 +2537,265 @@ "hardhat": "^2.0.0" } }, - "node_modules/@openzeppelin/contracts": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", - "integrity": "sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==" - }, - "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.2.tgz", - "integrity": "sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==" + "node_modules/@oclif/core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz", + "integrity": "sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg==", + "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/@openzeppelin/contracts-v0.7": { - "name": "@openzeppelin/contracts", - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" + "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==", + "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/@prb/math": { - "version": "3.3.1", + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/core/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==", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@oclif/core/node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@oclif/core/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/core/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@oclif/core/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/@openzeppelin/contracts": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", + "integrity": "sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==" + }, + "node_modules/@openzeppelin/contracts-upgradeable": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.2.tgz", + "integrity": "sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==" + }, + "node_modules/@openzeppelin/contracts-v0.7": { + "name": "@openzeppelin/contracts", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "dependencies": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@peculiar/asn1-schema/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "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==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@peculiar/json-schema/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@peculiar/webcrypto/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/@prb/math": { + "version": "3.3.1", "resolved": "https://registry.npmjs.org/@prb/math/-/math-3.3.1.tgz", "integrity": "sha512-k1nnpZwCvvztainqJfvkYpBQuZ3pHKnS6vovUAp+i1hSzlcSWluM+nRxxZbb6wsXqyCJAxrw8Vd7bAG/VeMIUA==" }, + "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==" + }, + "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==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, "node_modules/@rainprotocol/assemblyscript-cbor": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", @@ -2657,6 +2872,11 @@ "vscode-languageserver-types": "^3.17.3" } }, + "node_modules/@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, "node_modules/@resolver-engine/core": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", @@ -2901,26 +3121,22 @@ "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "devOptional": true + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, "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==", - "devOptional": true + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, "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==", - "devOptional": true + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "node_modules/@tsconfig/node16": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "devOptional": true + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, "node_modules/@typechain/ethers-v5": { "version": "10.2.0", @@ -2958,30 +3174,6 @@ "typechain": "^8.1.1" } }, - "node_modules/@typechain/hardhat/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==", - "dev": true, - "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/@typechain/hardhat/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@types/abstract-leveldown": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.1.tgz", @@ -3008,6 +3200,14 @@ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, + "node_modules/@types/cli-progress": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.3.tgz", + "integrity": "sha512-/+C9xAdVtc+g5yHHkGBThgAA8rYpi5B+2ve3wLtybYj0JHEBs57ivR4x/zGfSsplRnV+psE91Nfin1soNKqz5Q==", + "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", @@ -3017,23 +3217,13 @@ } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.33", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", - "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -3073,16 +3263,21 @@ "@types/node": "*" } }, - "node_modules/@types/lodash": { - "version": "4.14.192", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", - "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + "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==" }, "node_modules/@types/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, + "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==" + }, "node_modules/@types/mkdirp": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", @@ -3139,11 +3334,6 @@ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, "node_modules/@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -3206,56 +3396,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/parser": { "version": "5.57.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", @@ -3283,23 +3423,6 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.57.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", @@ -3344,23 +3467,6 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@typescript-eslint/types": { "version": "5.57.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", @@ -3401,70 +3507,20 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@typescript-eslint/utils": { + "version": "5.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", + "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", - "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.57.0", + "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/typescript-estree": "5.57.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3477,39 +3533,6 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.57.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", @@ -3527,6 +3550,40 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "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==" + }, + "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==", + "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==", + "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/@whatwg-node/node-fetch/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/0xsequence": { "version": "0.39.6", "resolved": "https://registry.npmjs.org/0xsequence/-/0xsequence-0.39.6.tgz", @@ -3636,7 +3693,6 @@ "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "devOptional": true, "bin": { "acorn": "bin/acorn" }, @@ -3657,7 +3713,6 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "devOptional": true, "engines": { "node": ">=0.4.0" } @@ -3757,6 +3812,20 @@ "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==" + }, + "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==", + "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", @@ -3824,8 +3893,7 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { "version": "1.0.10", @@ -3880,7 +3948,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, "engines": { "node": ">=8" } @@ -3934,11 +4001,6 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -3947,21 +4009,23 @@ "safer-buffer": "~2.1.0" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/asn1.js/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==" + "node_modules/asn1js/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/assemblyscript": { "version": "0.19.10", @@ -4143,6 +4207,8 @@ "version": "9.1.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "dev": true, + "peer": true, "engines": { "node": "*" } @@ -4176,14 +4242,6 @@ "wasm-opt": "bin/wasm-opt" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, "node_modules/bip39": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", @@ -4204,40 +4262,19 @@ "dev": true, "peer": true }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "dependencies": { - "readable-stream": "^3.0.1" - } - }, - "node_modules/bl/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "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==" }, + "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==", + "dependencies": { + "browser-readablestream-to-it": "^1.0.3" + } + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -4250,64 +4287,6 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, - "node_modules/borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "dependencies": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/borc/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/borc/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==" - }, - "node_modules/borc/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4344,6 +4323,11 @@ "run-parallel-limit": "^1.1.0" } }, + "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==" + }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -4464,11 +4448,6 @@ "node": ">=8.0.0" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, "node_modules/builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", @@ -4526,6 +4505,18 @@ "node": ">=6" } }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "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", @@ -4561,6 +4552,14 @@ "node": ">=12.19" } }, + "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==", + "bin": { + "cborg": "cli.js" + } + }, "node_modules/chai": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", @@ -4599,23 +4598,29 @@ } }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "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/" + } + ], "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.3.1" + "fsevents": "~2.3.2" } }, "node_modules/chownr": { @@ -4631,56 +4636,6 @@ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -4690,11 +4645,6 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, "node_modules/classic-level": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", @@ -4730,11 +4680,43 @@ "node": ">=8" } }, - "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", - "engines": { + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-progress/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-progress/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "engines": { "node": ">=6" }, "funding": { @@ -5075,8 +5057,7 @@ "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==", - "devOptional": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-fetch": { "version": "3.1.5", @@ -5130,9 +5111,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -5294,11 +5275,6 @@ "node": ">=0.4.0" } }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -5307,11 +5283,6 @@ "node": ">= 0.8" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -5324,7 +5295,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -5332,10 +5302,23 @@ "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==", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } + }, "node_modules/docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==", + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "dependencies": { + "yaml": "^1.10.2" + }, "engines": { "node": ">= 6.0.0" } @@ -5417,19 +5400,6 @@ "node": ">=12" } }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -5448,6 +5418,17 @@ "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==", + "dependencies": { + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -5494,7 +5475,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "devOptional": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -5519,7 +5499,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "devOptional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -5555,9 +5534,9 @@ } }, "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "node_modules/errno": { "version": "0.1.8", @@ -6012,19 +5991,6 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-plugin-n/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==", - "dev": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-plugin-n/node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -6043,29 +6009,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-n/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true - }, "node_modules/eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", @@ -6247,23 +6190,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", @@ -6754,11 +6680,6 @@ "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6792,6 +6713,11 @@ "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==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6803,11 +6729,15 @@ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, + "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==" + }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6830,11 +6760,31 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "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==", + "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==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/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==" + }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -6859,10 +6809,32 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "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==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "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==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, "node_modules/filename-reserved-regex": { "version": "2.0.0", @@ -6992,11 +6964,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "node_modules/flatted": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", @@ -7064,14 +7031,14 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" }, "engines": { "node": ">=10" @@ -7351,7 +7318,6 @@ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "dev": true, - "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { @@ -7740,7 +7706,6 @@ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "dev": true, - "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { @@ -7785,6 +7750,19 @@ "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==" + }, + "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==", + "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", @@ -7988,7 +7966,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -8084,6 +8061,14 @@ "node": ">= 10.x" } }, + "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==", + "peerDependencies": { + "graphql": "*" + } + }, "node_modules/graphql-request": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", @@ -8553,11 +8538,6 @@ "he": "bin/he" } }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -8663,6 +8643,14 @@ "node": ">=0.10.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==", + "engines": { + "node": ">=4" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -8710,7 +8698,6 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -8723,12 +8710,9 @@ "peer": true }, "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "engines": { - "node": ">=0.10.0" - } + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -8776,6 +8760,21 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "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==", + "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==" + }, "node_modules/internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -8808,410 +8807,143 @@ "fp-ts": "^1.0.0" } }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "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==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" } }, - "node_modules/ipfs-http-client": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "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==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", "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==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "dependencies": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "engines": { - "node": ">=8.3.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-http-client/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "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==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ipfs-http-client/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" + "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==", + "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": ">=6.0.0" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ipfs-http-client/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==", + "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==" + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "dependencies": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ipfs-utils/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/ipfs-utils/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "deprecated": "This module has been superseded by @ipld/dag-cbor and multiformats", - "dependencies": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/ipld-dag-cbor/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ipld-dag-cbor/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "deprecated": "This module has been superseded by @ipld/dag-pb and multiformats", - "dependencies": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-dag-pb/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/ipld-dag-pb/node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "node_modules/ipld-dag-pb/node_modules/multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } - }, - "node_modules/ipld-raw/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/ipld-raw/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-array-buffer": { @@ -9306,11 +9038,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "node_modules/is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -9338,6 +9065,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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==", + "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", @@ -9403,61 +9144,6 @@ } }, "node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dependencies": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "node_modules/is-ipfs/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/is-ipfs/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ipfs/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==", @@ -9468,99 +9154,6 @@ "node": ">=8" } }, - "node_modules/is-ipfs/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/is-ipfs/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, "node_modules/is-nan": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", @@ -9629,16 +9222,6 @@ "node": ">=8" } }, - "node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -9757,41 +9340,108 @@ "dev": true, "peer": true }, - "node_modules/is-weakref": { + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "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==", + "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==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "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==" + }, + "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==" + }, + "node_modules/it-glob": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "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==" }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "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==" }, - "node_modules/iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "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==" + }, + "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==", "dependencies": { "buffer": "^6.0.3", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">=8" + "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/iso-random-stream/node_modules/readable-stream": { + "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==", @@ -9804,66 +9454,49 @@ "node": ">= 6" } }, - "node_modules/iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/iso-stream-http/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==", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==", "engines": { "node": ">=10" } }, - "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==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "node_modules/jake/node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "node_modules/iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "string_decoder": "^1.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "dependencies": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -9873,7 +9506,6 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, @@ -9935,9 +9567,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -9987,14 +9619,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, "node_modules/json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", @@ -10018,14 +9642,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -10063,16 +9679,6 @@ "node": ">=0.6.0" } }, - "node_modules/just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "node_modules/just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, "node_modules/keccak": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", @@ -10086,19 +9692,6 @@ "node": ">=10.0.0" } }, - "node_modules/keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", @@ -10107,29 +9700,6 @@ "graceful-fs": "^4.1.9" } }, - "node_modules/ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "dependencies": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "ky": ">=0.10.0" - } - }, "node_modules/lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -10371,114 +9941,6 @@ "node": ">= 0.8.0" } }, - "node_modules/libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "dependencies": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "deprecated": "Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto", - "dependencies": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/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==" - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/libp2p-crypto-secp256k1/node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/libp2p-crypto/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==" - }, - "node_modules/libp2p-crypto/node_modules/multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.0.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", @@ -10632,203 +10094,55 @@ }, "funding": { "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", - "dev": true, - "peer": true - }, - "node_modules/mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dependencies": { - "multiaddr": "^7.3.0" - } - }, - "node_modules/mafmt/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/mafmt/node_modules/cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/mafmt/node_modules/cids/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/mafmt/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/mafmt/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==", + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "ip-regex": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/mafmt/node_modules/multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "node_modules/mafmt/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "get-func-name": "^2.0.0" } }, - "node_modules/mafmt/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" }, - "node_modules/mafmt/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "yallist": "^3.0.2" } }, - "node_modules/mafmt/node_modules/multihashes/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } + "node_modules/ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", + "dev": true, + "peer": true }, "node_modules/make-dir": { "version": "3.1.0", @@ -10855,8 +10169,7 @@ "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==", - "devOptional": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/mcl-wasm": { "version": "0.7.9", @@ -10977,6 +10290,17 @@ "node": ">= 0.10.0" } }, + "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==", + "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", @@ -10986,7 +10310,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -11042,7 +10365,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -11235,53 +10557,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/mocha/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/" - } - ], - "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/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/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==" - }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -11376,272 +10651,105 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/mocha/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/module-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", - "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", - "engines": { - "node": ">=10" - } - }, - "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==" - }, - "node_modules/multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "dependencies": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multibase/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dependencies": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/multihashing-async/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/multihashing-async/node_modules/multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": ">=8" } }, - "node_modules/multihashing-async/node_modules/multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "node_modules/mocha/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==", "dependencies": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==", + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", + "node_modules/module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", "engines": { - "node": ">=8.0.0" + "node": ">=10" + } + }, + "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==" + }, + "node_modules/multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", + "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==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", + "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==" + }, "node_modules/mustache": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", @@ -11658,11 +10766,6 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" - }, "node_modules/nanoid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", @@ -11679,6 +10782,22 @@ "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" }, + "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==", + "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==", + "peerDependencies": { + "node-fetch": "*" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -11691,18 +10810,12 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, - "node_modules/ndjson": { - "version": "1.5.0", - "resolved": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "license": "BSD-3-Clause", - "dependencies": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - }, - "bin": { - "ndjson": "cli.js" + "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==", + "engines": { + "node": "*" } }, "node_modules/node-addon-api": { @@ -11729,14 +10842,6 @@ } } }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/node-gyp-build": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", @@ -11747,15 +10852,6 @@ "node-gyp-build-test": "build-test.js" } }, - "node_modules/nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "dependencies": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, "node_modules/nofilter": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", @@ -11898,6 +10994,14 @@ "node": ">= 0.4" } }, + "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==", + "engines": { + "node": ">= 10" + } + }, "node_modules/object.assign": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", @@ -11960,14 +11064,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -12102,6 +11198,23 @@ "node": ">=0.10.0" } }, + "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==", + "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==", + "dependencies": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, "node_modules/p-finally": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", @@ -12176,6 +11289,11 @@ "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==" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -12193,6 +11311,15 @@ "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==", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -12229,6 +11356,37 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "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", @@ -12260,62 +11418,6 @@ "node": ">=0.12" } }, - "node_modules/peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "dependencies": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - }, - "bin": { - "peer-id": "src/bin.js" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "deprecated": "No longer supported for js-libp2p0.28.0 or later", - "dependencies": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/peer-info/node_modules/mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "dependencies": { - "multiaddr": "^6.1.0" - } - }, - "node_modules/pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "dependencies": { - "asn1.js": "^5.0.1" - }, - "bin": { - "pem-jwk": "bin/pem-jwk.js" - }, - "engines": { - "node": ">=5.10.0" - } - }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -12434,14 +11536,6 @@ "node": ">=8" } }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -12622,67 +11716,29 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "node_modules/promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "dependencies": { - "is-promise": "~1" - } - }, - "node_modules/promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==", - "engines": { - "node": ">=6", - "npm": ">=1.3.7" - } - }, - "node_modules/promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==", - "deprecated": "Unmaintained" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "node_modules/protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "deprecated": "This module is no longer maintained", - "dependencies": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - } - }, - "node_modules/protons/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@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/proxy-from-env": { @@ -12693,48 +11749,14 @@ "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "peer": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/pull-stream": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.7.0.tgz", - "integrity": "sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==" - }, - "node_modules/pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "dependencies": { - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pull-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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "peer": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "node_modules/pump": { "version": "3.0.0", @@ -12753,6 +11775,27 @@ "node": ">=6" } }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvtsutils/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/qs": { "version": "6.11.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", @@ -12847,6 +11890,14 @@ "node": ">= 0.8" } }, + "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==", + "dependencies": { + "p-defer": "^3.0.0" + } + }, "node_modules/read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -12946,9 +11997,9 @@ } }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { "picomatch": "^2.2.1" }, @@ -12956,6 +12007,22 @@ "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==", + "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==", + "dependencies": { + "esprima": "~4.0.0" + } + }, "node_modules/reduce-flatten": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", @@ -12965,11 +12032,6 @@ "node": ">=6" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "node_modules/regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -13116,11 +12178,15 @@ "node": ">=8" } }, + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -13165,39 +12231,10 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, - "node_modules/rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "dependencies": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - } - }, - "node_modules/rsa-pem-to-jwk/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "dependencies": { - "optimist": "~0.3.5" - }, - "bin": { - "rsa-unpack": "bin/cmd.js" - } - }, "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==", - "dev": true, "funding": [ { "type": "github", @@ -13318,9 +12355,9 @@ } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13421,19 +12458,10 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "dependencies": { - "varint": "~5.0.0" - } - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -13557,27 +12585,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -13612,12 +12619,6 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, "node_modules/stacktrace-parser": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", @@ -13645,13 +12646,12 @@ "node": ">= 0.8" } }, - "node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "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==", "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" } }, "node_modules/streamsearch": { @@ -13859,6 +12859,18 @@ "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==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -13992,67 +13004,6 @@ "node": ">= 0.8.0" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/tar-stream/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/tar-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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/tar/node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -14135,13 +13086,14 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "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==", "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "node_modules/tmp": { @@ -14156,9 +13108,9 @@ } }, "node_modules/tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "dependencies": { "tmp": "^0.2.0" } @@ -14287,7 +13239,6 @@ "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "devOptional": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -14330,7 +13281,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true, "engines": { "node": ">=0.3.1" } @@ -14544,7 +13494,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -14562,6 +13511,14 @@ "node": ">=8" } }, + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -14588,18 +13545,10 @@ "node": ">=12.18" } }, - "node_modules/unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==", - "engines": { - "node": ">= 0.10.x" - } - }, "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -14638,18 +13587,10 @@ "dev": true, "peer": true }, - "node_modules/ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - }, - "engines": { - "node": ">=4" - } + "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==" }, "node_modules/utf-8-validate": { "version": "5.0.10", @@ -14699,8 +13640,7 @@ "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==", - "devOptional": true + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", @@ -14714,9 +13654,9 @@ } }, "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/verror": { "version": "1.10.0", @@ -14756,6 +13696,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "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", @@ -14825,6 +13773,23 @@ "node": ">=8.0.0" } }, + "node_modules/webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/webcrypto-core/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/webextension-polyfill": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz", @@ -14916,6 +13881,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/widest-line/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/widest-line/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/window-size": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", @@ -14939,12 +13936,9 @@ } }, "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", - "engines": { - "node": ">=0.4.0" - } + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, "node_modules/wordwrapjs": { "version": "4.0.1", @@ -15057,12 +14051,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dependencies": { - "@babel/runtime": "^7.9.2" - }, + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "engines": { "node": ">= 6" } @@ -15162,7 +14153,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true, "engines": { "node": ">=6" } @@ -15424,14 +14414,6 @@ } } }, - "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, "@chainlink/contracts": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.5.1.tgz", @@ -15446,7 +14428,6 @@ "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==", - "devOptional": true, "requires": { "@jridgewell/trace-mapping": "0.3.9" } @@ -15684,15 +14665,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -15753,18 +14725,6 @@ "@ethereum-waffle/provider": "4.0.5", "debug": "^4.3.4", "json-bigint": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.1.2" - } - } } }, "@ethereum-waffle/compiler": { @@ -15810,18 +14770,6 @@ "@ganache/ethereum-options": "0.1.4", "debug": "^4.3.4", "ganache": "7.4.3" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.1.2" - } - } } }, "@ethereumjs/block": { @@ -15903,16 +14851,6 @@ "ethereumjs-util": "^7.1.5" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -16376,6 +15314,37 @@ "@ethersproject/strings": "^5.7.0" } }, + "@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==", + "requires": { + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + } + } + }, "@ganache/ethereum-address": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", @@ -16456,41 +15425,84 @@ } }, "@graphprotocol/graph-cli": { - "version": "0.35.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.35.0.tgz", - "integrity": "sha512-50tjeLZg3425fwueH8ORTZbPRSn4uICL0NK9XsJVriDPKCNnhyAIgJgOWaYyPAFgxR8LuyXYkoxIxZ5nduKbiw==", - "requires": { - "assemblyscript": "0.19.10", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.46.1.tgz", + "integrity": "sha512-594BiH2m9gThP1xdvxguVzvVlOb1KzJyVdh2F4dV78NPfMRFY2fe1nakmadKcewc72VVLXNgfdBu/J4IPfo0eg==", + "requires": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.0", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", "binary-install-raw": "0.0.13", "chalk": "3.0.0", - "chokidar": "3.5.1", - "debug": "4.3.1", - "docker-compose": "0.23.4", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", "dockerode": "2.5.8", - "fs-extra": "9.0.0", - "glob": "7.1.6", + "fs-extra": "9.1.0", + "glob": "9.3.4", "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", "graphql": "15.5.0", - "immutable": "3.8.2", - "ipfs-http-client": "34.0.0", - "jayson": "3.6.6", - "js-yaml": "3.13.1", - "node-fetch": "2.6.0", - "pkginfo": "0.4.1", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", "prettier": "1.19.1", "request": "2.88.2", - "semver": "7.3.5", + "semver": "7.3.8", "sync-request": "6.1.0", - "tmp-promise": "3.0.2", + "tmp-promise": "3.0.3", "web3-eth-abi": "1.7.0", "which": "2.0.2", - "yaml": "1.9.2" + "yaml": "1.10.2" }, "dependencies": { - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + "assemblyscript": { + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", + "requires": { + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" + } + }, + "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==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.4.tgz", + "integrity": "sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==", + "requires": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + } + }, + "long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "requires": { + "brace-expansion": "^2.0.1" + } }, "prettier": { "version": "1.19.1", @@ -16537,23 +15549,46 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "@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==", + "requires": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "@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==", + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "@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==", + "requires": { + "multiformats": "^9.5.4" + } + }, "@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "devOptional": true + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "devOptional": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "devOptional": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -16632,7 +15667,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -16641,14 +15675,12 @@ "@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==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@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==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -16690,16 +15722,6 @@ "level": "^8.0.0", "lru-cache": "^5.1.1", "memory-level": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - } } }, "@nomicfoundation/ethereumjs-common": { @@ -16737,16 +15759,6 @@ "ethereum-cryptography": "0.1.3", "mcl-wasm": "^0.7.1", "rustbn.js": "~0.2.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - } } }, "@nomicfoundation/ethereumjs-rlp": { @@ -16766,16 +15778,6 @@ "debug": "^4.3.3", "ethereum-cryptography": "0.1.3", "functional-red-black-tree": "^1.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - } } }, "@nomicfoundation/ethereumjs-trie": { @@ -16842,16 +15844,6 @@ "functional-red-black-tree": "^1.0.1", "mcl-wasm": "^0.7.1", "rustbn.js": "~0.2.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - } } }, "@nomicfoundation/hardhat-foundry": { @@ -17012,6 +16004,107 @@ "dev": true, "requires": {} }, + "@oclif/core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz", + "integrity": "sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg==", + "requires": { + "@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" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "requires": { + "escape-string-regexp": "4.0.0" + } + }, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, "@openzeppelin/contracts": { "version": "4.8.2", "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", @@ -17027,11 +16120,116 @@ "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" }, + "@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "requires": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, + "@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==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, + "@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, "@prb/math": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/@prb/math/-/math-3.3.1.tgz", "integrity": "sha512-k1nnpZwCvvztainqJfvkYpBQuZ3pHKnS6vovUAp+i1hSzlcSWluM+nRxxZbb6wsXqyCJAxrw8Vd7bAG/VeMIUA==" }, + "@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==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "@rainprotocol/assemblyscript-cbor": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", @@ -17100,6 +16298,11 @@ "vscode-languageserver-types": "^3.17.3" } }, + "@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, "@resolver-engine/core": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", @@ -17309,26 +16512,22 @@ "@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "devOptional": true + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, "@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, "@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "@tsconfig/node16": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "devOptional": true + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, "@typechain/ethers-v5": { "version": "10.2.0", @@ -17348,26 +16547,6 @@ "dev": true, "requires": { "fs-extra": "^9.1.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } } }, "@types/abstract-leveldown": { @@ -17396,6 +16575,14 @@ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, + "@types/cli-progress": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.3.tgz", + "integrity": "sha512-/+C9xAdVtc+g5yHHkGBThgAA8rYpi5B+2ve3wLtybYj0JHEBs57ivR4x/zGfSsplRnV+psE91Nfin1soNKqz5Q==", + "requires": { + "@types/node": "*" + } + }, "@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -17405,23 +16592,13 @@ } }, "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", "requires": { "@types/node": "*" } }, - "@types/express-serve-static-core": { - "version": "4.17.33", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", - "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -17461,16 +16638,21 @@ "@types/node": "*" } }, - "@types/lodash": { - "version": "4.14.192", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", - "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "@types/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + }, "@types/mkdirp": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", @@ -17527,11 +16709,6 @@ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, "@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -17576,41 +16753,6 @@ "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "@typescript-eslint/parser": { @@ -17623,17 +16765,6 @@ "@typescript-eslint/types": "5.57.0", "@typescript-eslint/typescript-estree": "5.57.0", "debug": "^4.3.4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } } }, "@typescript-eslint/scope-manager": { @@ -17656,17 +16787,6 @@ "@typescript-eslint/utils": "5.57.0", "debug": "^4.3.4", "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } } }, "@typescript-eslint/types": { @@ -17687,42 +16807,7 @@ "globby": "^11.1.0", "is-glob": "^4.0.3", "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "tsutils": "^3.21.0" } }, "@typescript-eslint/utils": { @@ -17739,32 +16824,6 @@ "@typescript-eslint/typescript-estree": "5.57.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { @@ -17777,6 +16836,42 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@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==" + }, + "@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==", + "requires": { + "@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": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "requires": { + "@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" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, "0xsequence": { "version": "0.39.6", "resolved": "https://registry.npmjs.org/0xsequence/-/0xsequence-0.39.6.tgz", @@ -17861,8 +16956,7 @@ "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "devOptional": true + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "acorn-jsx": { "version": "5.3.2", @@ -17874,8 +16968,7 @@ "acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "devOptional": true + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, "adm-zip": { "version": "0.4.16", @@ -17941,6 +17034,20 @@ "color-convert": "^2.0.1" } }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" + }, + "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==", + "requires": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, "anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -18004,8 +17111,7 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { "version": "1.0.10", @@ -18047,8 +17153,7 @@ "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==", - "dev": true + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "array-uniq": { "version": "1.0.3", @@ -18084,11 +17189,6 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asmcrypto.js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", - "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" - }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -18097,21 +17197,20 @@ "safer-buffer": "~2.1.0" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" }, "dependencies": { - "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==" + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" } } }, @@ -18250,7 +17349,9 @@ "bignumber.js": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "dev": true, + "peer": true }, "binary-extensions": { "version": "2.2.0", @@ -18272,14 +17373,6 @@ "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==" }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, "bip39": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", @@ -18302,39 +17395,19 @@ } } }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", - "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", - "requires": { - "readable-stream": "^3.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, + "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==", + "requires": { + "browser-readablestream-to-it": "^1.0.3" + } + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -18347,46 +17420,6 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, - "borc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", - "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", - "requires": { - "bignumber.js": "^9.0.0", - "buffer": "^5.5.0", - "commander": "^2.15.0", - "ieee754": "^1.1.13", - "iso-url": "~0.4.7", - "json-text-sequence": "~0.1.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==" - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -18420,6 +17453,11 @@ "run-parallel-limit": "^1.1.0" } }, + "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==" + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -18521,11 +17559,6 @@ "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==" }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, "builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", @@ -18568,6 +17601,15 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -18592,6 +17634,11 @@ "integrity": "sha512-ph4ncYfGr8tLISa3rVl6QvFT1Nv/ogEWL7PZTIfTlqXcpxweQRzjnKuBSggBeWK01IXDv+9BHw/wTeVPpp3T6A==", "dev": true }, + "cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" + }, "chai": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", @@ -18621,18 +17668,18 @@ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "chownr": { @@ -18645,38 +17692,6 @@ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -18686,11 +17701,6 @@ "safe-buffer": "^5.0.1" } }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, "classic-level": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", @@ -18716,6 +17726,31 @@ "restore-cursor": "^3.1.0" } }, + "cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "requires": { + "string-width": "^4.2.3" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, "cli-spinners": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", @@ -18983,8 +18018,7 @@ "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==", - "devOptional": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-fetch": { "version": "3.1.5", @@ -19023,9 +18057,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } @@ -19131,21 +18165,11 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==" - }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -19155,15 +18179,27 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "requires": { "path-type": "^4.0.0" } }, + "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==", + "requires": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } + }, "docker-compose": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.4.tgz", - "integrity": "sha512-yWdXby9uQ8o4syOfvoSJ9ZlTnLipvUmDn59uaYY5VGIUSUAfMPPGqE1DE3pOCnfSg9Tl9UOOFO0PCSAzuIHmuA==" + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "requires": { + "yaml": "^1.10.2" + } }, "docker-modem": { "version": "1.0.9", @@ -19232,16 +18268,6 @@ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "dev": true }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -19256,6 +18282,14 @@ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" }, + "electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "requires": { + "encoding": "^0.1.13" + } + }, "elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -19298,7 +18332,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "devOptional": true, "requires": { "iconv-lite": "^0.6.2" }, @@ -19307,7 +18340,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "devOptional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -19349,9 +18381,9 @@ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" }, "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "errno": { "version": "0.1.8", @@ -19537,15 +18569,6 @@ "supports-color": "^7.1.0" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "eslint-scope": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", @@ -19799,16 +18822,6 @@ "semver": "^7.3.8" }, "dependencies": { - "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==", - "dev": true, - "peer": true, - "requires": { - "yallist": "^4.0.0" - } - }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -19820,23 +18833,6 @@ "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "peer": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true } } }, @@ -20250,11 +19246,6 @@ "strip-final-newline": "^2.0.0" } }, - "explain-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", - "integrity": "sha512-/wSgNMxFusiYRy1rd19LT2SQlIXDppHpumpWo06wxjflD1OYxDLbl6rMVw+U3bxD5Nuhex4TKqv9Aem4D0lVzQ==" - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -20276,6 +19267,11 @@ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" }, + "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==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -20287,11 +19283,15 @@ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, + "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==" + }, "fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -20311,11 +19311,33 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "requires": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "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==", + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + } + } + }, "fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -20337,11 +19359,32 @@ "flat-cache": "^3.0.4" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, + "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==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -20433,11 +19476,6 @@ "rimraf": "^3.0.2" } }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha512-OuR+o7kHVe+x9RtIujPay7Uw3bvDZBZFSBXClEphZuSDLmZTqMdclasf4vFSsogC8baDz0eaC2NdO/2dlXHBKQ==" - }, "flatted": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", @@ -20485,14 +19523,14 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "fs-jetpack": { @@ -20990,6 +20028,16 @@ "has-symbols": "^1.0.3" } }, + "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==" + }, + "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==" + }, "get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", @@ -21136,7 +20184,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -21215,6 +20262,12 @@ "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" }, + "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==", + "requires": {} + }, "graphql-request": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", @@ -21571,11 +20624,6 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -21664,6 +20712,11 @@ "strip-url-auth": "^1.0.0" } }, + "hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -21690,8 +20743,7 @@ "ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, "immediate": { "version": "3.3.0", @@ -21701,9 +20753,9 @@ "peer": true }, "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" }, "import-fresh": { "version": "3.3.0", @@ -21739,6 +20791,21 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "requires": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "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==" + }, "internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -21765,280 +20832,110 @@ "fp-ts": "^1.0.0" } }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "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==", + "requires": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "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==", "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" + "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": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-34.0.0.tgz", - "integrity": "sha512-4RCkk8ix4Dqn6sxqFVwuXWCZ1eLFPsVaj6Ijvu1fs9VYgxgVudsW9PWwarlr4mw1xUCmPWYyXnEbGgzBrfMy0Q==", + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", "requires": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", "abort-controller": "^3.0.0", - "async": "^2.6.1", - "bignumber.js": "^9.0.0", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.4.2", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^2.0.0", - "explain-error": "^1.0.4", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "ipld-raw": "^4.0.0", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "iterable-ndjson": "^1.1.0", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "ky": "^0.11.2", - "ky-universal": "^0.2.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "concat-stream": { - "version": "git+ssh://git@github.com/hugomrdias/concat-stream.git#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", - "from": "concat-stream@github:hugomrdias/concat-stream#feat/smaller", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.0.2" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "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": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", + "requires": { + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" } }, "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", - "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", + "requires": { + "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", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ipld-dag-cbor": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz", - "integrity": "sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA==", - "requires": { - "borc": "^2.1.2", - "buffer": "^5.5.0", - "cids": "~0.8.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } - } - }, - "ipld-dag-pb": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", - "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", - "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "protons": "^1.0.1", - "stable": "~0.1.8" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==" - }, - "multihashing-async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", - "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", - "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.2.1", - "err-code": "^1.1.2", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js-revisited": "^3.0.0" - } - } - } - }, - "ipld-raw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.1.tgz", - "integrity": "sha512-WjIdtZ06jJEar8zh+BHB84tE6ZdbS/XNa7+XCArOYfmeJ/c01T9VQpeMwdJQYn5c3s5UvvCu7y4VIi3vk2g1bA==", - "requires": { - "cids": "~0.7.0", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.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" + }, + "dependencies": { + "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==" } } }, @@ -22106,11 +21003,6 @@ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, "is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -22129,6 +21021,11 @@ "has-tostringtag": "^1.0.0" } }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, "is-electron": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", @@ -22172,125 +21069,11 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==", - "requires": { - "ip-regex": "^2.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } + "ip-regex": "^4.0.0" } }, "is-nan": { @@ -22334,16 +21117,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "is-pull-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", - "integrity": "sha512-NWLwqCc95I6m8FZDYLAmVJc9Xgk8O+8pPOoDKFTC293FH4S7FBcbLCw3WWPCdiT8uUSdzPy47VM08WPDMJJrag==" - }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -22432,23 +21205,85 @@ "call-bind": "^1.0.2" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" + }, + "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==", + "requires": {} + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" + }, + "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==" + }, + "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==", + "requires": { + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" + } + }, + "it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" + }, + "it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "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==" }, - "iso-random-stream": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", - "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "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==", "requires": { "buffer": "^6.0.3", - "readable-stream": "^3.4.0" + "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" }, "dependencies": { "readable-stream": { @@ -22463,60 +21298,39 @@ } } }, - "iso-stream-http": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", - "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" }, "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } } } }, - "iso-url": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", - "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" - }, - "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==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "iterable-ndjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", - "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", - "requires": { - "string_decoder": "^1.2.0" - } - }, "jayson": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.6.6.tgz", - "integrity": "sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", "requires": { "@types/connect": "^3.4.33", - "@types/express-serve-static-core": "^4.17.9", - "@types/lodash": "^4.14.159", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", @@ -22526,7 +21340,6 @@ "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "JSONStream": "^1.3.5", - "lodash": "^4.17.20", "uuid": "^8.3.2", "ws": "^7.4.5" }, @@ -22574,9 +21387,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -22623,14 +21436,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==", - "requires": { - "delimit-stream": "0.1.0" - } - }, "json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", @@ -22647,13 +21452,6 @@ "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } } }, "jsonparse": { @@ -22681,16 +21479,6 @@ "verror": "1.10.0" } }, - "just-kebab-case": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", - "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" - }, - "just-map-keys": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.2.1.tgz", - "integrity": "sha512-Dmyz1Cy2SWM+PpqDPB1kdDglyexdzMthnAsvOIE9w4OPj8NDRuY1mh20x/JfG5w6fCGw9F0WmcofJhYZ4MiuyA==" - }, "keccak": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", @@ -22700,16 +21488,6 @@ "node-gyp-build": "^4.2.0" } }, - "keypair": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", - "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", @@ -22718,20 +21496,6 @@ "graceful-fs": "^4.1.9" } }, - "ky": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.11.2.tgz", - "integrity": "sha512-5Aou5BWue5/mkPqIRqzSWW+0Hkl403pr/2AIrCKYw7cVl/Xoe8Xe4KLBO0PRjbz7GnRe1/8wW1KhqQNFFE7/GQ==" - }, - "ky-universal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.2.2.tgz", - "integrity": "sha512-fb32o/fKy/ux2ALWa9HU2hvGtfOq7/vn2nH0FpVE+jwNzyTeORlAbj3Fiw+WLMbUlmVqZIWupnLZ2USHvqwZHw==", - "requires": { - "abort-controller": "^3.0.0", - "node-fetch": "^2.3.0" - } - }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -22915,95 +21679,6 @@ "type-check": "~0.4.0" } }, - "libp2p-crypto": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.4.tgz", - "integrity": "sha512-II8HxKc9jbmQp34pprlluNxsBCWJDjHRPYJzuRy7ragztNip9Zb7uJ4lCje6gGzz4DNAcHkAUn+GqCIK1592iA==", - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.10.0", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - }, - "dependencies": { - "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==" - }, - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } - } - }, - "libp2p-crypto-secp256k1": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", - "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", - "requires": { - "async": "^2.6.2", - "bs58": "^4.0.1", - "multihashing-async": "~0.6.0", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.2" - }, - "dependencies": { - "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==" - }, - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - }, - "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - } - } - }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -23162,11 +21837,6 @@ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg==" - }, "loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -23195,113 +21865,6 @@ "dev": true, "peer": true }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "requires": { - "multiaddr": "^7.3.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "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==" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "requires": { - "ip-regex": "^4.0.0" - } - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -23320,8 +21883,7 @@ "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "mcl-wasm": { "version": "0.7.9", @@ -23412,6 +21974,14 @@ "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" }, + "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==", + "requires": { + "is-plain-obj": "^2.1.0" + } + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -23420,8 +21990,7 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "merkle-patricia-tree": { "version": "4.2.4", @@ -23470,7 +22039,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -23620,36 +22188,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -23742,14 +22280,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -23776,128 +22306,30 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multiaddr": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", - "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", - "requires": { - "bs58": "^4.0.1", - "class-is": "^1.1.0", - "hi-base32": "~0.5.0", - "ip": "^1.1.5", - "is-ip": "^2.0.0", - "varint": "^5.0.0" - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } + "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" } }, - "multihashing-async": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.2.tgz", - "integrity": "sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ==", + "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==", "requires": { - "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", - "js-sha3": "^0.8.0", - "multihashes": "^1.0.1", - "murmurhash3js-revisited": "^3.0.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - } - } + "multiaddr": "^10.0.0" } }, - "murmurhash3js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", - "integrity": "sha512-KL8QYUaxq7kUbcl0Yto51rMcYt7E/4N4BG3/c96Iqw1PQrTRspu8Cpx4TZ4Nunib1d4bEkIH3gjCYlP2RLBdow==" - }, - "murmurhash3js-revisited": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", - "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, "mustache": { "version": "3.2.1", @@ -23909,11 +22341,6 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" - }, "nanoid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", @@ -23924,6 +22351,18 @@ "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" }, + "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==", + "requires": {} + }, + "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==", + "requires": {} + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -23936,15 +22375,10 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, - "ndjson": { - "version": "git+ssh://git@github.com/hugomrdias/ndjson.git#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", - "from": "ndjson@github:hugomrdias/ndjson#feat/readable-stream3", - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^3.1.0", - "through2": "^3.0.0" - } + "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==" }, "node-addon-api": { "version": "2.0.2", @@ -23959,25 +22393,11 @@ "whatwg-url": "^5.0.0" } }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, "node-gyp-build": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" }, - "nodeify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", - "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", - "requires": { - "is-promise": "~1.0.0", - "promise": "~1.3.0" - } - }, "nofilter": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", @@ -24084,6 +22504,11 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, + "object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" + }, "object.assign": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", @@ -24128,14 +22553,6 @@ "mimic-fn": "^2.1.0" } }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "requires": { - "wordwrap": "~0.0.2" - } - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -24241,6 +22658,20 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "requires": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, "p-finally": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", @@ -24294,6 +22725,11 @@ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, + "parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==" + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -24305,6 +22741,15 @@ "lines-and-columns": "^1.1.6" } }, + "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==", + "requires": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -24332,6 +22777,27 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -24354,46 +22820,6 @@ "sha.js": "^2.4.8" } }, - "peer-id": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", - "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", - "requires": { - "async": "^2.6.3", - "class-is": "^1.1.0", - "libp2p-crypto": "~0.16.1", - "multihashes": "~0.4.15" - } - }, - "peer-info": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", - "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", - "requires": { - "mafmt": "^6.0.2", - "multiaddr": "^6.0.3", - "peer-id": "~0.12.2", - "unique-by": "^1.0.0" - }, - "dependencies": { - "mafmt": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", - "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", - "requires": { - "multiaddr": "^6.1.0" - } - } - } - }, - "pem-jwk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", - "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", - "requires": { - "asn1.js": "^5.0.1" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -24475,11 +22901,6 @@ } } }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==" - }, "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -24618,49 +23039,24 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", - "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", - "requires": { - "is-promise": "~1" - } - }, - "promise-nodeify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", - "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" - }, - "promisify-es6": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", - "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" - }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, - "protons": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", - "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", - "requires": { - "buffer": "^5.5.0", - "protocol-buffers-schema": "^3.3.1", - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } + "protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "requires": { + "@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" } }, "proxy-from-env": { @@ -24680,36 +23076,6 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-stream": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.7.0.tgz", - "integrity": "sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==" - }, - "pull-to-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", - "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", - "requires": { - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -24724,6 +23090,26 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==" }, + "pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "requires": { + "tslib": "^2.6.1" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, + "pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" + }, "qs": { "version": "6.11.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", @@ -24790,6 +23176,14 @@ "unpipe": "1.0.0" } }, + "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==", + "requires": { + "p-defer": "^3.0.0" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -24880,24 +23274,35 @@ } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } }, + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "requires": { + "ms": "^2.1.1" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "requires": { + "esprima": "~4.0.0" + } + }, "reduce-flatten": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", "dev": true }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -25005,11 +23410,15 @@ "signal-exit": "^3.0.2" } }, + "retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rimraf": { "version": "3.0.2", @@ -25043,35 +23452,10 @@ } } }, - "rsa-pem-to-jwk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", - "integrity": "sha512-ZlVavEvTnD8Rzh/pdB8NH4VF5GNEtF6biGQcTtC4GKFMsbZR08oHtOYefbhCN+JnJIuMItiCDCMycdcMrw6blA==", - "requires": { - "object-assign": "^2.0.0", - "rsa-unpack": "0.0.6" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" - } - } - }, - "rsa-unpack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", - "integrity": "sha512-HRrl8GHjjPziPFRDJPq/v5OxZ3IPdksV5h3cime/oHgcgM1k1toO5OdtzClgBqRf5dF6IgptOB0g/zFb0w5zQw==", - "requires": { - "optimist": "~0.3.5" - } - }, "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==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } @@ -25140,9 +23524,9 @@ "peer": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "requires": { "lru-cache": "^6.0.0" }, @@ -25224,19 +23608,10 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "requires": { - "varint": "~5.0.0" - } - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "solc": { "version": "0.8.15", @@ -25340,26 +23715,6 @@ "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -25388,11 +23743,6 @@ } } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, "stacktrace-parser": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", @@ -25413,13 +23763,12 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, - "stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "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==", "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" + "get-iterator": "^1.0.2" } }, "streamsearch": { @@ -25573,6 +23922,15 @@ "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -25698,49 +24056,6 @@ } } }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "testrpc": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", @@ -25802,13 +24117,14 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "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==", "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, "tmp": { @@ -25820,9 +24136,9 @@ } }, "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "requires": { "tmp": "^0.2.0" }, @@ -25927,7 +24243,6 @@ "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "devOptional": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -25947,8 +24262,7 @@ "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" } } }, @@ -26113,8 +24427,7 @@ "typescript": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "devOptional": true + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==" }, "typical": { "version": "4.0.0", @@ -26122,6 +24435,14 @@ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "dev": true }, + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "requires": { + "multiformats": "^9.4.2" + } + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -26142,15 +24463,10 @@ "busboy": "^1.6.0" } }, - "unique-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", - "integrity": "sha512-rJRXK5V0zL6TiSzhoGNpJp5dr+TZBLoPJFC06rLn17Ug++7Aa0Qnve5v+skXeQxx6/sI7rBsSesa6MAcmFi8Ew==" - }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "unpipe": { "version": "1.0.0", @@ -26185,14 +24501,10 @@ } } }, - "ursa-optional": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", - "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", - "requires": { - "bindings": "^1.5.0", - "nan": "^2.14.2" - } + "urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" }, "utf-8-validate": { "version": "5.0.10", @@ -26235,8 +24547,7 @@ "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==", - "devOptional": true + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -26250,9 +24561,9 @@ } }, "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "verror": { "version": "1.10.0", @@ -26291,6 +24602,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, "web3-eth-abi": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", @@ -26353,6 +24669,25 @@ "utf8": "3.0.0" } }, + "webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "requires": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + } + }, "webextension-polyfill": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz", @@ -26428,6 +24763,31 @@ "is-typed-array": "^1.1.10" } }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, "window-size": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", @@ -26442,9 +24802,9 @@ "dev": true }, "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, "wordwrapjs": { "version": "4.0.1", @@ -26523,12 +24883,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { "version": "16.2.0", @@ -26601,8 +24958,7 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" }, "yocto-queue": { "version": "0.1.0", diff --git a/subgraph/package.json b/subgraph/package.json index 9723f784ab..9733e9fe2f 100755 --- a/subgraph/package.json +++ b/subgraph/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "@chainlink/contracts": "^0.5.1", - "@graphprotocol/graph-cli": "^0.35.0", + "@graphprotocol/graph-cli": "^0.46.1", "@graphprotocol/graph-ts": "^0.28.1", "@openzeppelin/contracts-upgradeable": "=4.8.2", "@prb/math": "^3.3.1", diff --git a/subgraph/shell.nix b/subgraph/shell.nix index 444c5a23cb..b38b38bcda 100755 --- a/subgraph/shell.nix +++ b/subgraph/shell.nix @@ -1,4 +1,4 @@ -let +`let pkgs = import (builtins.fetchTarball { name = "nixos-unstable-2021-10-01"; @@ -16,13 +16,13 @@ let ''; docker-up = pkgs.writeShellScriptBin "docker-up" '' - docker-down - rm -rf docker/data - docker-compose -f docker/docker-compose.yml up --build -d + # docker-down + # rm -rf docker/data + docker-compose -f docker/docker-compose.yaml up --build -d ''; docker-down = pkgs.writeShellScriptBin "docker-down" '' - docker-compose -f docker/docker-compose.yml down + docker-compose -f docker/docker-compose.yaml down ''; flush-all = pkgs.writeShellScriptBin "flush-all" '' @@ -47,7 +47,8 @@ let ci-test = pkgs.writeShellScriptBin "ci-test" '' npx mustache config/localhost.json subgraph.template.yaml subgraph.yaml codegen - npx hardhat test --no-compile + # npx hardhat test --no-compile + cargo run --manifest-path ./Cargo.toml test ''; init = pkgs.writeShellScriptBin "init" '' diff --git a/subgraph/test.rs b/subgraph/test.rs new file mode 100644 index 0000000000..4c7402b864 --- /dev/null +++ b/subgraph/test.rs @@ -0,0 +1,972 @@ +//! `Eth` namespace + +use crate::{ + api::Namespace, + helpers::{self, CallFuture}, + types::{ + Address, Block, BlockHeader, BlockId, BlockNumber, Bytes, CallRequest, FeeHistory, Filter, + Index, Log, Proof, SyncState, Transaction, TransactionId, TransactionReceipt, + TransactionRequest, Work, H256, H520, H64, U256, U64, + }, + Transport, +}; + +/// `Eth` namespace +#[derive(Debug, Clone)] +pub struct Eth { + transport: T, +} + +impl Namespace for Eth { + fn new(transport: T) -> Self + where + Self: Sized, + { + Eth { transport } + } + + fn transport(&self) -> &T { + &self.transport + } +} + +impl Eth { + /// Get list of available accounts. + pub fn accounts(&self) -> CallFuture, T::Out> { + CallFuture::new(self.transport.execute("eth_accounts", vec![])) + } + + /// Get current block number + pub fn block_number(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_blockNumber", vec![])) + } + + /// Call a constant method of contract without changing the state of the blockchain. + pub fn call(&self, req: CallRequest, block: Option) -> CallFuture { + let req = helpers::serialize(&req); + let block = helpers::serialize(&block.unwrap_or_else(|| BlockNumber::Latest.into())); + + CallFuture::new(self.transport.execute("eth_call", vec![req, block])) + } + + /// Get coinbase address + pub fn coinbase(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_coinbase", vec![])) + } + + /// Compile LLL + pub fn compile_lll(&self, code: String) -> CallFuture { + let code = helpers::serialize(&code); + CallFuture::new(self.transport.execute("eth_compileLLL", vec![code])) + } + + /// Compile Solidity + pub fn compile_solidity(&self, code: String) -> CallFuture { + let code = helpers::serialize(&code); + CallFuture::new(self.transport.execute("eth_compileSolidity", vec![code])) + } + + /// Compile Serpent + pub fn compile_serpent(&self, code: String) -> CallFuture { + let code = helpers::serialize(&code); + CallFuture::new(self.transport.execute("eth_compileSerpent", vec![code])) + } + + /// Call a contract without changing the state of the blockchain to estimate gas usage. + pub fn estimate_gas( + &self, + req: CallRequest, + block: Option, + ) -> CallFuture { + let req = helpers::serialize(&req); + + let args = match block { + Some(block) => vec![req, helpers::serialize(&block)], + None => vec![req], + }; + + CallFuture::new(self.transport.execute("eth_estimateGas", args)) + } + + /// Get current recommended gas price + pub fn gas_price(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_gasPrice", vec![])) + } + + /// Returns a collection of historical gas information. This can be used for evaluating the max_fee_per_gas + /// and max_priority_fee_per_gas to send the future transactions. + pub fn fee_history( + &self, + block_count: U256, + newest_block: BlockNumber, + reward_percentiles: Option>, + ) -> CallFuture { + let block_count = helpers::serialize(&block_count); + let newest_block = helpers::serialize(&newest_block); + let reward_percentiles = helpers::serialize(&reward_percentiles); + + CallFuture::new(self.transport.execute( + "eth_feeHistory", + vec![block_count, newest_block, reward_percentiles], + )) + } + + /// Get balance of given address + pub fn balance( + &self, + address: Address, + block: Option, + ) -> CallFuture { + let address = helpers::serialize(&address); + let block = helpers::serialize(&block.unwrap_or(BlockNumber::Latest)); + + CallFuture::new( + self.transport + .execute("eth_getBalance", vec![address, block]), + ) + } + + /// Get all logs matching a given filter object + pub fn logs(&self, filter: Filter) -> CallFuture, T::Out> { + let filter = helpers::serialize(&filter); + CallFuture::new(self.transport.execute("eth_getLogs", vec![filter])) + } + + /// Get block details with transaction hashes. + pub fn block(&self, block: BlockId) -> CallFuture>, T::Out> { + let include_txs = helpers::serialize(&false); + + let result = match block { + BlockId::Hash(hash) => { + let hash = helpers::serialize(&hash); + self.transport + .execute("eth_getBlockByHash", vec![hash, include_txs]) + } + BlockId::Number(num) => { + let num = helpers::serialize(&num); + self.transport + .execute("eth_getBlockByNumber", vec![num, include_txs]) + } + }; + + CallFuture::new(result) + } + + /// Get block details with full transaction objects. + pub fn block_with_txs(&self, block: BlockId) -> CallFuture>, T::Out> { + let include_txs = helpers::serialize(&true); + + let result = match block { + BlockId::Hash(hash) => { + let hash = helpers::serialize(&hash); + self.transport + .execute("eth_getBlockByHash", vec![hash, include_txs]) + } + BlockId::Number(num) => { + let num = helpers::serialize(&num); + self.transport + .execute("eth_getBlockByNumber", vec![num, include_txs]) + } + }; + + CallFuture::new(result) + } + + /// Get number of transactions in block + pub fn block_transaction_count(&self, block: BlockId) -> CallFuture, T::Out> { + let result = match block { + BlockId::Hash(hash) => { + let hash = helpers::serialize(&hash); + self.transport + .execute("eth_getBlockTransactionCountByHash", vec![hash]) + } + BlockId::Number(num) => { + let num = helpers::serialize(&num); + self.transport + .execute("eth_getBlockTransactionCountByNumber", vec![num]) + } + }; + + CallFuture::new(result) + } + + /// Get code under given address + pub fn code(&self, address: Address, block: Option) -> CallFuture { + let address = helpers::serialize(&address); + let block = helpers::serialize(&block.unwrap_or(BlockNumber::Latest)); + + CallFuture::new(self.transport.execute("eth_getCode", vec![address, block])) + } + + /// Get supported compilers + pub fn compilers(&self) -> CallFuture, T::Out> { + CallFuture::new(self.transport.execute("eth_getCompilers", vec![])) + } + + /// Get chain id + pub fn chain_id(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_chainId", vec![])) + } + + /// Get available user accounts. This method is only available in the browser. With MetaMask, + /// this will cause the popup that prompts the user to allow or deny access to their accounts + /// to your app. + pub fn request_accounts(&self) -> CallFuture, T::Out> { + CallFuture::new(self.transport.execute("eth_requestAccounts", vec![])) + } + + /// Get storage entry + pub fn storage( + &self, + address: Address, + idx: U256, + block: Option, + ) -> CallFuture { + let address = helpers::serialize(&address); + let idx = helpers::serialize(&idx); + let block = helpers::serialize(&block.unwrap_or(BlockNumber::Latest)); + + CallFuture::new( + self.transport + .execute("eth_getStorageAt", vec![address, idx, block]), + ) + } + + /// Get nonce + pub fn transaction_count( + &self, + address: Address, + block: Option, + ) -> CallFuture { + let address = helpers::serialize(&address); + let block = helpers::serialize(&block.unwrap_or(BlockNumber::Latest)); + + CallFuture::new( + self.transport + .execute("eth_getTransactionCount", vec![address, block]), + ) + } + + /// Get transaction + pub fn transaction(&self, id: TransactionId) -> CallFuture, T::Out> { + let result = match id { + TransactionId::Hash(hash) => { + let hash = helpers::serialize(&hash); + self.transport + .execute("eth_getTransactionByHash", vec![hash]) + } + TransactionId::Block(BlockId::Hash(hash), index) => { + let hash = helpers::serialize(&hash); + let idx = helpers::serialize(&index); + self.transport + .execute("eth_getTransactionByBlockHashAndIndex", vec![hash, idx]) + } + TransactionId::Block(BlockId::Number(number), index) => { + let number = helpers::serialize(&number); + let idx = helpers::serialize(&index); + self.transport + .execute("eth_getTransactionByBlockNumberAndIndex", vec![number, idx]) + } + }; + + CallFuture::new(result) + } + + /// Get transaction receipt + pub fn transaction_receipt( + &self, + hash: H256, + ) -> CallFuture, T::Out> { + let hash = helpers::serialize(&hash); + + CallFuture::new( + self.transport + .execute("eth_getTransactionReceipt", vec![hash]), + ) + } + + /// Get uncle header by block ID and uncle index. + /// + /// This method is meant for TurboGeth compatiblity, + /// which is missing transaction hashes in the response. + pub fn uncle_header( + &self, + block: BlockId, + index: Index, + ) -> CallFuture, T::Out> { + self.fetch_uncle(block, index) + } + + /// Get uncle by block ID and uncle index -- transactions only has hashes. + pub fn uncle(&self, block: BlockId, index: Index) -> CallFuture>, T::Out> { + self.fetch_uncle(block, index) + } + + fn fetch_uncle(&self, block: BlockId, index: Index) -> CallFuture, T::Out> { + let index = helpers::serialize(&index); + + let result = match block { + BlockId::Hash(hash) => { + let hash = helpers::serialize(&hash); + self.transport + .execute("eth_getUncleByBlockHashAndIndex", vec![hash, index]) + } + BlockId::Number(num) => { + let num = helpers::serialize(&num); + self.transport + .execute("eth_getUncleByBlockNumberAndIndex", vec![num, index]) + } + }; + + CallFuture::new(result) + } + + /// Get uncle count in block + pub fn uncle_count(&self, block: BlockId) -> CallFuture, T::Out> { + let result = match block { + BlockId::Hash(hash) => { + let hash = helpers::serialize(&hash); + self.transport + .execute("eth_getUncleCountByBlockHash", vec![hash]) + } + BlockId::Number(num) => { + let num = helpers::serialize(&num); + self.transport + .execute("eth_getUncleCountByBlockNumber", vec![num]) + } + }; + + CallFuture::new(result) + } + + /// Get work package + pub fn work(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_getWork", vec![])) + } + + /// Get hash rate + pub fn hashrate(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_hashrate", vec![])) + } + + /// Get mining status + pub fn mining(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_mining", vec![])) + } + + /// Start new block filter + pub fn new_block_filter(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_newBlockFilter", vec![])) + } + + /// Start new pending transaction filter + pub fn new_pending_transaction_filter(&self) -> CallFuture { + CallFuture::new( + self.transport + .execute("eth_newPendingTransactionFilter", vec![]), + ) + } + + /// Start new pending transaction filter + pub fn protocol_version(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_protocolVersion", vec![])) + } + + /// Sends a rlp-encoded signed transaction + pub fn send_raw_transaction(&self, rlp: Bytes) -> CallFuture { + let rlp = helpers::serialize(&rlp); + CallFuture::new(self.transport.execute("eth_sendRawTransaction", vec![rlp])) + } + + /// Sends a transaction transaction + pub fn send_transaction(&self, tx: TransactionRequest) -> CallFuture { + let tx = helpers::serialize(&tx); + CallFuture::new(self.transport.execute("eth_sendTransaction", vec![tx])) + } + + /// Signs a hash of given data + pub fn sign(&self, address: Address, data: Bytes) -> CallFuture { + let address = helpers::serialize(&address); + let data = helpers::serialize(&data); + CallFuture::new(self.transport.execute("eth_sign", vec![address, data])) + } + + /// Submit hashrate of external miner + pub fn submit_hashrate(&self, rate: U256, id: H256) -> CallFuture { + let rate = helpers::serialize(&rate); + let id = helpers::serialize(&id); + CallFuture::new(self.transport.execute("eth_submitHashrate", vec![rate, id])) + } + + /// Submit work of external miner + pub fn submit_work( + &self, + nonce: H64, + pow_hash: H256, + mix_hash: H256, + ) -> CallFuture { + let nonce = helpers::serialize(&nonce); + let pow_hash = helpers::serialize(&pow_hash); + let mix_hash = helpers::serialize(&mix_hash); + CallFuture::new( + self.transport + .execute("eth_submitWork", vec![nonce, pow_hash, mix_hash]), + ) + } + + /// Get syncing status + pub fn syncing(&self) -> CallFuture { + CallFuture::new(self.transport.execute("eth_syncing", vec![])) + } + + /// Returns the account- and storage-values of the specified account including the Merkle-proof. + pub fn proof( + &self, + address: Address, + keys: Vec, + block: Option, + ) -> CallFuture, T::Out> { + let add = helpers::serialize(&address); + let ks = helpers::serialize(&keys); + let blk = helpers::serialize(&block.unwrap_or(BlockNumber::Latest)); + CallFuture::new(self.transport.execute("eth_getProof", vec![add, ks, blk])) + } +} + +#[cfg(test)] +mod tests { + use super::Eth; + use crate::{ + api::Namespace, + rpc::Value, + types::{ + Address, Block, BlockHeader, BlockId, BlockNumber, CallRequest, FeeHistory, + FilterBuilder, Log, Proof, SyncInfo, SyncState, Transaction, TransactionId, + TransactionReceipt, TransactionRequest, Work, H256, H520, H64, U256, + }, + }; + use hex_literal::hex; + use serde_json::json; + + // taken from RPC docs. + const EXAMPLE_BLOCK: &str = r#"{ + "number": "0x1b4", + "hash": "0x0e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", + "parentHash": "0x9646252be9520f6e71339a8df9c55e4d7619deeb018d2a3f2d21fc165dde5eb5", + "mixHash": "0x1010101010101010101010101010101010101010101010101010101010101010", + "nonce": "0x0000000000000000", + "sealFields": [ + "0xe04d296d2460cfb8472af2c5fd05b5a214109c25688d3704aed5484f9a7792f2", + "0x0000000000000042" + ], + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x0e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", + "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot": "0xd5855eb08b3387c0af375e9cdb6acfc05eb8f519e419b874b6ff2ffda7ed1dff", + "miner": "0x4e65fda2159562a496f9f3522f89122a3088497a", + "difficulty": "0x27f07", + "totalDifficulty": "0x27f07", + "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000", + "size": "0x27f07", + "gasLimit": "0x9f759", + "minGasPrice": "0x9f759", + "gasUsed": "0x9f759", + "timestamp": "0x54e34e8e", + "transactions": [], + "uncles": [] + }"#; + + // response from RPC request {"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["pending", false],"id":1}. + const EXAMPLE_PENDING_BLOCK: &str = r#"{ + "author": "0x0000000000000000000000000000000000000000", + "difficulty": "0x7eac2e8c440b2", + "extraData": "0xde830207028f5061726974792d457468657265756d86312e34312e30826c69", + "gasLimit": "0x974a0a", + "gasUsed": "0x44dd8", + "hash": null, + "logsBloom": null, + "miner": "0x0000000000000000000000000000000000000000", + "number": null, + "parentHash": "0xb4bb0904f19fd05ed527191f21ea27bd4f2d81903f77bfa2626631617001327c", + "receiptsRoot": "0x855c8c3b1c985b6bc5fd975a37b764095542b98a177588b887e197fcc5e0a0cd", + "sealFields": [], + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x8b6", + "stateRoot": "0xfa035b07c349fb33768aebeb988639bd2ca7d5284170f29808ead43482a432c5", + "timestamp": "0x5ea09b90", + "totalDifficulty": "0x332b576efbc4023b848", + "transactions": [ + "0x8e0d2bdfd47d7e68d5c86c30cbe4967ffcf920745a4b8177e1911fafd48e851a", + "0x2ac5f94e2d653d64fe89f7af2140600e4b7a59b3345700b5424bd4fae08212af", + "0x75d3e2d2ab548f4ca6e9f0c27306cedf28074ce60f39a6e78f56ea3f4a22e2d5", + "0xbcdb4f0829c7191a14e03dba0783fb015fa921d06b683e0ce8afb938745f89f7", + "0x75cede4d4cdb8402b242a1b1b39a23d537b2fee6a14783eaab67aa1e79bd71cd", + "0x50e406de9432a3589681b1eb3093ab6aba0895b5dc755588ca64735386591425", + "0x101e8b02d478dfab2266688b53668039107e98feacf085dcf9bfd24f390ec17d", + "0x22c75911be879047f4b0480fa07b2c2a77518571fb358d92b47c456d7065a76f", + "0x7715b514ba8ead48117b581f9ebcc61696a5b91f9111c55a7087e91474a58ec7", + "0x95dd913782cd4bfe5550a8f9102ba821f9a76691780c833d5130e311d62eb638" + ], + "transactionsRoot": "0x3acac83d7cc227b0c9a9ab1702964e70d7c8d1bfbf0f587b40e2a0aa0048aa44", + "uncles": [] + }"#; + + // taken from RPC docs, but with leading `00` added to `blockHash` + // and `transactionHash` fields because RPC docs currently show + // 31-byte values in both positions (must be 32 bytes). + const EXAMPLE_LOG: &str = r#"{ + "logIndex": "0x1", + "blockNumber":"0x1b4", + "blockHash": "0x008216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d", + "transactionHash": "0x00df829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf", + "transactionIndex": "0x0", + "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d", + "data":"0x0000000000000000000000000000000000000000000000000000000000000000", + "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"] + }"#; + + // taken from RPC docs. + const EXAMPLE_TX: &str = r#"{ + "hash": "0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", + "nonce": "0x0", + "blockHash": "0xbeab0aa2411b7ab17f30a99d3cb9c6ef2fc5426d6ad6fd9e2a26a6aed1d1055b", + "blockNumber": "0x15df", + "transactionIndex": "0x1", + "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", + "to": "0x85dd43d8a49eeb85d32cf465507dd71d507100c1", + "value": "0x7f110", + "gas": "0x7f110", + "gasPrice": "0x09184e72a000", + "input": "0x603880600c6000396000f300603880600c6000396000f3603880600c6000396000f360" + }"#; + + // taken from RPC docs. + // https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionreceipt + const EXAMPLE_RECEIPT: &str = r#"{ + "transactionHash": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238", + "transactionIndex": "0x1", + "from": "0xa7d9ddbe1f17865597fbd27ec712455208b6b76d", + "blockNumber": "0xb", + "blockHash": "0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", + "cumulativeGasUsed": "0x33bc", + "gasUsed": "0x4dc", + "contractAddress": "0xb60e8dd61c5d32be8058bb8eb970870f07233155", + "logsBloom": "0x0e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d15273310e670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", + "logs": [], + "status": "0x1", + "effectiveGasPrice": "0x100" + }"#; + + const EXAMPLE_FEE_HISTORY: &str = r#"{ + "baseFeePerGas": [ + "0x15f794d04b", + "0x1730fe199f", + "0x176212b802", + "0x165bce08cb", + "0x16c6235c9d", + "0x1539ff7ccd" + ], + "gasUsedRatio": [ + 0.722926465013414, + 0.53306761204479, + 0.32474768127264964, + 0.574309529134573, + 0.2282121795900929 + ], + "oldestBlock": "0xcd1df9" + }"#; + + ///taken from RPC docs + /// https://eips.ethereum.org/EIPS/eip-1186 + const EXAMPLE_PROOF: &str = r#"{ + "address": "0x1234567890123456789012345678901234567890", + "accountProof": [ + "0xf90211a0c3b7e484f7e3258823aee7fada1378f1667757c4a1c3bde259adb4857b481726a0d0f709bf8bd61dd176b876f250638b03e65d367aa0e13f01a122e328e6215603a0d3ca85d7f5f63a6b01d818369c656639087aed983f63906b2eba99bf71255ef3a0d168cf7cc0253337d59fa3ed11bde10744a152fcb644c77bd8babbddf878714da02d4e42471dbdbd96eb3b115877d6b6202450cebee0d96d346d650ebd73eaa96ea07c2a9fbbec5c243327961f1a5ed3ce410dd0b255e4db934e68c2df424ede2a67a00a4ae2f21873ad931752edd3b3cfeffcedf15bb070525450bde50bdce6a78faca023e61f772deb072c430adb4316b65a66d8d3cef73dae7d515938e37c0db5c2f0a0d078fc1c446572cfb172888172287dd243ec085eb54594034926c99a3051230da04182e559c0f1bd6533e52fd995760da41701d37e8e21eab59e63db07e836a80fa0968213088b84869050884d5788ae5669d7d35ac0ddbdab71cfbd241da72df9e0a0bdc9921220e3bb9b4744c1764be9a9d7c22e5007387367285dc8f7495ebc0f21a01bf9c2458bb0c5c8f477734e347fb1f940a493ff0b533fef3c0bce20a5a69628a0626a993a9f6cb9febf4ca826b5731cc2ed85066c253cea94511d28a139445699a032a58d4abc48ee971d839915b0848d26af588b23138df7b072575d2dce3cb829a01b8af404f9cc8dc1590fa6f4ed79ea93a65d1aa152854f510efaceba183c8abb80", + "0xf90211a0e1557a91967828ea9eaf9b4c25bb0f079857340c54fa01acf24977f5d4d12ad4a0805a5d2f0d1b8c33c6415d2df4f4d812f4abe6b2d0f9f12196d31bbe5d76e47da0882d8a3a3493a0d76c907b0c2a4c6e3f26ca67a6a37aba6105c428d98ec2f67ea0b8bb9bd971ca68a49135390b03c11e2f7c352c146be2e3f8fff2a311dda5ddf1a01ae7bbab4493b34935640f40c74d7d72079742157ad5040a23f70c64f5153ca7a0574403fc7faa3a262eae412a707a74785a1159027e5b8de9990e1e82278e9691a01edc831a2e842b4d55b009c9831774fd6f17acfdee99f097c4fb20be583911f6a044569f910709fedb1ef83ef29b508e24def8eb9cc876dac0f6fa4f5f791cd719a0ebfdbfe9538bd72dbbeb56024982502950c69d9beb5d0d6d985917120e77e0d5a02c6fdf33ef98ca85a94ac9ed1319832ca5e2b344c1b8d921e77eda35480ba9d0a0c6b20bfc93fa2167bd43fe14cb648eb53c66fd56a3c95d0bd4c0442e86f7e686a01bed6e7e4a83c9aed9b39c49bb29782d63064d5ac425734dbfe4f0367eb29d07a0dede0f30aa107e1383be0a3ac31e0083213c27e1b11912e45e974257fa1d9915a089673bee5c46e4ee86b7e68115bc34b6eb9387e7c0d7300af1c502a8ef14fdf8a07e8e4d1729077f052c82cbd6de80966666514c53072945b53afd55c40b4f3a47a024caac94dd8acbf9c88a149b728115651faebd379f92e0ecc126fb136d5289df80", + "0xf89180a057d3fa3f15f8c0e639b1c3ac64e623348f39c5663587003279dcd5cf261489a58080a0b65511b496c46cca3eff9484a1a1961bcf7ae59237da1ead3675eea9b3f8469fa05114cfcd51e3a3735c556d68ac28f83dd28aa1a833425090521f0b9217c2114e8080a0adaeaae85d671adf3b559aaee605156f0c4511f9aa474cbcf6a594b219d216a88080808080808080" + ], + "balance": "0x2166f8062324c623840", + "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nonce": "0x6c", + "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "storageProof": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": "0x0", + "proof": [] + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000001", + "value": "0x0", + "proof": [] + } + ] + }"#; + + rpc_test! ( + Eth:accounts => "eth_accounts"; + Value::Array(vec![Value::String("0x0000000000000000000000000000000000000123".into())]) => vec![Address::from_low_u64_be(0x123)] + ); + + rpc_test! ( + Eth:block_number => "eth_blockNumber"; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:call, CallRequest { + from: None, to: Some(Address::from_low_u64_be(0x123)), + gas: None, gas_price: None, + value: Some(0x1.into()), data: None, + transaction_type: None, access_list: None, + max_fee_per_gas: None, max_priority_fee_per_gas: None, + }, None + => + "eth_call", vec![r#"{"to":"0x0000000000000000000000000000000000000123","value":"0x1"}"#, r#""latest""#]; + Value::String("0x010203".into()) => hex!("010203") + ); + + rpc_test! ( + Eth:coinbase => "eth_coinbase"; + Value::String("0x0000000000000000000000000000000000000123".into()) => Address::from_low_u64_be(0x123) + ); + + rpc_test! ( + Eth:compile_lll, "code" => "eth_compileLLL", vec![r#""code""#]; + Value::String("0x0123".into()) => hex!("0123") + ); + + rpc_test! ( + Eth:compile_solidity, "code" => "eth_compileSolidity", vec![r#""code""#]; + Value::String("0x0123".into()) => hex!("0123") + ); + + rpc_test! ( + Eth:compile_serpent, "code" => "eth_compileSerpent", vec![r#""code""#]; + Value::String("0x0123".into()) => hex!("0123") + ); + + rpc_test! ( + Eth:estimate_gas, CallRequest { + from: None, to: Some(Address::from_low_u64_be(0x123)), + gas: None, gas_price: None, + value: Some(0x1.into()), data: None, + transaction_type: None, access_list: None, + max_fee_per_gas: None, max_priority_fee_per_gas: None, + }, None + => + "eth_estimateGas", vec![r#"{"to":"0x0000000000000000000000000000000000000123","value":"0x1"}"#]; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:estimate_gas:optional_to_addr, CallRequest { + from: None, to: None, + gas: None, gas_price: None, + value: Some(0x1.into()), data: None, + transaction_type: None, access_list: None, + max_fee_per_gas: None, max_priority_fee_per_gas: None, + }, None + => + "eth_estimateGas", vec![r#"{"value":"0x1"}"#]; + Value::String("0x5555".into()) => 0x5555 + ); + + rpc_test! ( + Eth:estimate_gas:for_block, CallRequest { + from: None, to: Some(Address::from_low_u64_be(0x123)), + gas: None, gas_price: None, + value: Some(0x1.into()), data: None, + transaction_type: None, access_list: None, + max_fee_per_gas: None, max_priority_fee_per_gas: None, + }, Some(0x123.into()) + => + "eth_estimateGas", vec![r#"{"to":"0x0000000000000000000000000000000000000123","value":"0x1"}"#, r#""0x123""#]; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:gas_price => "eth_gasPrice"; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:fee_history, 0x3, BlockNumber::Latest, None => "eth_feeHistory", vec![r#""0x3""#, r#""latest""#, r#"null"#]; + ::serde_json::from_str(EXAMPLE_FEE_HISTORY).unwrap() + => ::serde_json::from_str::(EXAMPLE_FEE_HISTORY).unwrap() + ); + + rpc_test! ( + Eth:balance, Address::from_low_u64_be(0x123), None + => + "eth_getBalance", vec![r#""0x0000000000000000000000000000000000000123""#, r#""latest""#]; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:logs, FilterBuilder::default().build() => "eth_getLogs", vec!["{}"]; + Value::Array(vec![::serde_json::from_str(EXAMPLE_LOG).unwrap()]) + => vec![::serde_json::from_str::(EXAMPLE_LOG).unwrap()] + ); + + rpc_test! ( + Eth:block:block_by_hash, BlockId::Hash(H256::from_low_u64_be(0x123)) + => + "eth_getBlockByHash", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#, r#"false"#]; + ::serde_json::from_str(EXAMPLE_BLOCK).unwrap() + => Some(::serde_json::from_str::>(EXAMPLE_BLOCK).unwrap()) + ); + + rpc_test! ( + Eth:block, BlockNumber::Pending + => + "eth_getBlockByNumber", vec![r#""pending""#, r#"false"#]; + ::serde_json::from_str(EXAMPLE_PENDING_BLOCK).unwrap() + => Some(::serde_json::from_str::>(EXAMPLE_PENDING_BLOCK).unwrap()) + ); + + rpc_test! ( + Eth:block_with_txs, BlockNumber::Pending + => + "eth_getBlockByNumber", vec![r#""pending""#, r#"true"#]; + ::serde_json::from_str(EXAMPLE_BLOCK).unwrap() + => Some(::serde_json::from_str::>(EXAMPLE_BLOCK).unwrap()) + ); + + rpc_test! ( + Eth:block_transaction_count:block_tx_count_by_hash, BlockId::Hash(H256::from_low_u64_be(0x123)) + => + "eth_getBlockTransactionCountByHash", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#]; + Value::String("0x123".into()) => Some(0x123.into()) + ); + + rpc_test! ( + Eth:block_transaction_count, BlockNumber::Pending + => + "eth_getBlockTransactionCountByNumber", vec![r#""pending""#]; + Value::Null => None + ); + + rpc_test! ( + Eth:code, H256::from_low_u64_be(0x123), Some(BlockNumber::Pending) + => + "eth_getCode", vec![r#""0x0000000000000000000000000000000000000123""#, r#""pending""#]; + Value::String("0x0123".into()) => hex!("0123") + ); + + rpc_test! ( + Eth:compilers => "eth_getCompilers"; + Value::Array(vec![]) => vec![] + ); + + rpc_test! ( + Eth:chain_id => "eth_chainId"; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:storage, Address::from_low_u64_be(0x123), 0x456, None + => + "eth_getStorageAt", vec![ + r#""0x0000000000000000000000000000000000000123""#, + r#""0x456""#, + r#""latest""# + ]; + Value::String("0x0000000000000000000000000000000000000000000000000000000000000123".into()) => H256::from_low_u64_be(0x123) + ); + + rpc_test! ( + Eth:transaction_count, Address::from_low_u64_be(0x123), None + => + "eth_getTransactionCount", vec![r#""0x0000000000000000000000000000000000000123""#, r#""latest""#]; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:transaction:tx_by_hash, TransactionId::Hash(H256::from_low_u64_be(0x123)) + => + "eth_getTransactionByHash", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#]; + ::serde_json::from_str(EXAMPLE_TX).unwrap() + => Some(::serde_json::from_str::(EXAMPLE_TX).unwrap()) + ); + + rpc_test! ( + Eth:transaction:tx_by_block_hash_and_index, TransactionId::Block( + BlockId::Hash(H256::from_low_u64_be(0x123)), + 5.into() + ) + => + "eth_getTransactionByBlockHashAndIndex", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#, r#""0x5""#]; + Value::Null => None + ); + + rpc_test! ( + Eth:transaction:tx_by_block_no_and_index, TransactionId::Block( + BlockNumber::Pending.into(), + 5.into() + ) + => + "eth_getTransactionByBlockNumberAndIndex", vec![r#""pending""#, r#""0x5""#]; + ::serde_json::from_str(EXAMPLE_TX).unwrap() + => Some(::serde_json::from_str::(EXAMPLE_TX).unwrap()) + ); + + rpc_test! ( + Eth:transaction_receipt, H256::from_low_u64_be(0x123) + => + "eth_getTransactionReceipt", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#]; + ::serde_json::from_str(EXAMPLE_RECEIPT).unwrap() + => Some(::serde_json::from_str::(EXAMPLE_RECEIPT).unwrap()) + ); + + rpc_test! ( + Eth:uncle:uncle_by_hash, BlockId::Hash(H256::from_low_u64_be(0x123)), 5 + => + "eth_getUncleByBlockHashAndIndex", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#, r#""0x5""#]; + ::serde_json::from_str(EXAMPLE_BLOCK).unwrap() + => Some(::serde_json::from_str::>(EXAMPLE_BLOCK).unwrap()) + ); + + rpc_test! ( + Eth:uncle_header:uncle_header_by_hash, BlockId::Hash(H256::from_low_u64_be(0x123)), 5 + => + "eth_getUncleByBlockHashAndIndex", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#, r#""0x5""#]; + ::serde_json::from_str(EXAMPLE_BLOCK).unwrap() + => Some(::serde_json::from_str::(EXAMPLE_BLOCK).unwrap()) + ); + + rpc_test! ( + Eth:uncle:uncle_by_no, BlockNumber::Earliest, 5 + => + "eth_getUncleByBlockNumberAndIndex", vec![r#""earliest""#, r#""0x5""#]; + Value::Null => None + ); + + rpc_test! ( + Eth:uncle_count:uncle_count_by_hash, BlockId::Hash(H256::from_low_u64_be(0x123)) + => + "eth_getUncleCountByBlockHash", vec![r#""0x0000000000000000000000000000000000000000000000000000000000000123""#]; + Value::String("0x123".into())=> Some(0x123.into()) + ); + + rpc_test! ( + Eth:uncle_count:uncle_count_by_no, BlockNumber::Earliest + => + "eth_getUncleCountByBlockNumber", vec![r#""earliest""#]; + Value::Null => None + ); + + rpc_test! ( + Eth:work:work_3 => "eth_getWork"; + Value::Array(vec![ + Value::String("0x0000000000000000000000000000000000000000000000000000000000000123".into()), + Value::String("0x0000000000000000000000000000000000000000000000000000000000000456".into()), + Value::String("0x0000000000000000000000000000000000000000000000000000000000000789".into()), + ]) => Work { + pow_hash: H256::from_low_u64_be(0x123), + seed_hash: H256::from_low_u64_be(0x456), + target: H256::from_low_u64_be(0x789), + number: None, + } + ); + + rpc_test! ( + Eth:work:work_4 => "eth_getWork"; + Value::Array(vec![ + Value::String("0x0000000000000000000000000000000000000000000000000000000000000123".into()), + Value::String("0x0000000000000000000000000000000000000000000000000000000000000456".into()), + Value::String("0x0000000000000000000000000000000000000000000000000000000000000789".into()), + Value::Number(5.into()), + ]) => Work { + pow_hash: H256::from_low_u64_be(0x123), + seed_hash: H256::from_low_u64_be(0x456), + target: H256::from_low_u64_be(0x789), + number: Some(5), + } + ); + + rpc_test! ( + Eth:hashrate => "eth_hashrate"; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:mining => "eth_mining"; + Value::Bool(true) => true + ); + + rpc_test! ( + Eth:new_block_filter => "eth_newBlockFilter"; + Value::String("0x123".into()) => 0x123 + ); + rpc_test! ( + Eth:new_pending_transaction_filter => "eth_newPendingTransactionFilter"; + Value::String("0x123".into()) => 0x123 + ); + + rpc_test! ( + Eth:protocol_version => "eth_protocolVersion"; + Value::String("0x123".into()) => "0x123" + ); + + rpc_test! ( + Eth:send_raw_transaction, hex!("01020304") + => + "eth_sendRawTransaction", vec![r#""0x01020304""#]; + Value::String("0x0000000000000000000000000000000000000000000000000000000000000123".into()) => H256::from_low_u64_be(0x123) + ); + + rpc_test! ( + Eth:send_transaction, TransactionRequest { + from: Address::from_low_u64_be(0x123), to: Some(Address::from_low_u64_be(0x123)), + gas: None, gas_price: Some(0x1.into()), + value: Some(0x1.into()), data: None, + nonce: None, condition: None, + transaction_type: None, access_list: None, + max_fee_per_gas: None, max_priority_fee_per_gas: None, + } + => + "eth_sendTransaction", vec![r#"{"from":"0x0000000000000000000000000000000000000123","gasPrice":"0x1","to":"0x0000000000000000000000000000000000000123","value":"0x1"}"#]; + Value::String("0x0000000000000000000000000000000000000000000000000000000000000123".into()) => H256::from_low_u64_be(0x123) + ); + + rpc_test! ( + Eth:sign, H256::from_low_u64_be(0x123), hex!("01020304") + => + "eth_sign", vec![r#""0x0000000000000000000000000000000000000123""#, r#""0x01020304""#]; + Value::String("0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123".into()) => H520::from_low_u64_be(0x123) + ); + + rpc_test! ( + Eth:submit_hashrate, 0x123, H256::from_low_u64_be(0x456) + => + "eth_submitHashrate", vec![r#""0x123""#, r#""0x0000000000000000000000000000000000000000000000000000000000000456""#]; + Value::Bool(true) => true + ); + + rpc_test! ( + Eth:submit_work, H64::from_low_u64_be(0x123), H256::from_low_u64_be(0x456), H256::from_low_u64_be(0x789) + => + "eth_submitWork", vec![r#""0x0000000000000123""#, r#""0x0000000000000000000000000000000000000000000000000000000000000456""#, r#""0x0000000000000000000000000000000000000000000000000000000000000789""#]; + Value::Bool(true) => true + ); + + rpc_test! ( + Eth:syncing:syncing => "eth_syncing"; + json!({"startingBlock": "0x384","currentBlock": "0x386","highestBlock": "0x454"}) => SyncState::Syncing(SyncInfo { starting_block: 0x384.into(), current_block: 0x386.into(), highest_block: 0x454.into()}) + ); + + rpc_test! { + Eth:syncing:not_syncing => "eth_syncing"; + Value::Bool(false) => SyncState::NotSyncing + } + + rpc_test! { + Eth:proof, Address::from_low_u64_be(0x123), [U256::from(0x123)], BlockNumber::Latest + => + "eth_getProof", vec![r#""0x0000000000000000000000000000000000000123""#, r#"["0x123"]"#, r#""latest""#]; + ::serde_json::from_str(EXAMPLE_PROOF).unwrap() + => Some(::serde_json::from_str::(EXAMPLE_PROOF).unwrap()) + } +} diff --git a/subgraph/tests/ReserveToken.json b/subgraph/tests/ReserveToken.json new file mode 100644 index 0000000000..a067d178bf --- /dev/null +++ b/subgraph/tests/ReserveToken.json @@ -0,0 +1,390 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ReserveToken", + "sourceName": "contracts/test/testToken/ReserveToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DECIMALS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "TOTAL_SUPPLY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account_", + "type": "address" + } + ], + "name": "addFreezable", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "freezables", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061164d806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs new file mode 100644 index 0000000000..8075b5bf7c --- /dev/null +++ b/subgraph/tests/deploy_orderbook.rs @@ -0,0 +1,44 @@ +// use utils::{ +// deploy::{deploy1820::deploy1820, deploy_orderbook::deploy_orderbook}, +// utils::deploy_anvil_and_docker, +// }; + +// use ethers::contract::Abigen; + +use std::process::Command; + +mod utils; +#[tokio::main] +#[test] +async fn orderbook_entity_test() -> anyhow::Result<()> { + println!("Hello my man"); + // let command = "forge"; + // let args = vec!["build", "--root", "../"]; + + // let mut cmd = Command::new(command); + // cmd.args(args); + + // let output = cmd.output().expect("Failed to run command"); + + // if output.status.success() { + // println!( + // "SUCCESS, OUTPUT: \n{}", + // String::from_utf8_lossy(&output.stdout) + // ); + // } else { + // eprintln!( + // "FAILED, OUTPUT: \n{}", + // String::from_utf8_lossy(&output.stdout) + // ); + // } + + assert!(true, "test_1"); + // Abigen::new("TokenReserve", "./ReserveToken.json")? + // .generate()? + // .write_to_file("token.rs")?; + // let anvil = deploy_anvil_and_docker()?; + // deploy1820(&anvil).await?; + // deploy_orderbook(&anvil).await?; + + Ok(()) +} diff --git a/subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json b/subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json new file mode 100644 index 0000000000..98f8f37a4b --- /dev/null +++ b/subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json @@ -0,0 +1,215 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "implementer", + "type": "address" + } + ], + "name": "InterfaceImplementerSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newManager", + "type": "address" + } + ], + "name": "ManagerChanged", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + } + ], + "name": "getInterfaceImplementer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getManager", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "implementsERC165Interface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "implementsERC165InterfaceNoCache", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "interfaceName", + "type": "string" + } + ], + "name": "interfaceHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "implementer", + "type": "address" + } + ], + "name": "setInterfaceImplementer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "newManager", + "type": "address" + } + ], + "name": "setManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "updateERC165Cache", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/deploy1820/mod.rs b/subgraph/tests/utils/deploy/deploy1820/mod.rs new file mode 100644 index 0000000000..5fcd249986 --- /dev/null +++ b/subgraph/tests/utils/deploy/deploy1820/mod.rs @@ -0,0 +1,52 @@ +use anyhow; +use ethers::{ + providers::{Http, Middleware, Provider}, + types::BlockId, + types::{Bytes, NameOrAddress, TransactionRequest, U256}, + utils::AnvilInstance, +}; +use std::io::Read; +use std::{fs::File, time::Duration}; + +pub async fn deploy1820(anvil: &AnvilInstance) -> anyhow::Result<()> { + let provider = + Provider::::try_from(anvil.endpoint())?.interval(Duration::from_millis(10)); + + let signature_address: NameOrAddress = "0xa990077c3205cbDf861e17Fa532eeB069cE9fF96".parse()?; + let registry_address = "0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24"; + let cost: U256 = U256::from("80000000000000000"); + let mut file = File::open("tests/utils/deploy/deploy1820/ERC1820RegistryABI.json")?; + let mut erc1820_registry_abi = String::new(); + file.read_to_string(&mut erc1820_registry_abi)?; + + let tx_erc1820_registry_deployment = + "f90a388085174876e800830c35008080b909e5608060405234801561001057600080fd5b506109c5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c010000000000000000000000000000000000000000000000000000000090048063a41e7d5111610078578063a41e7d51146101d4578063aabbb8ca1461020a578063b705676514610236578063f712f3e814610280576100a5565b806329965a1d146100aa5780633d584063146100e25780635df8122f1461012457806365ba36c114610152575b600080fd5b6100e0600480360360608110156100c057600080fd5b50600160a060020a038135811691602081013591604090910135166102b6565b005b610108600480360360208110156100f857600080fd5b5035600160a060020a0316610570565b60408051600160a060020a039092168252519081900360200190f35b6100e06004803603604081101561013a57600080fd5b50600160a060020a03813581169160200135166105bc565b6101c26004803603602081101561016857600080fd5b81019060208101813564010000000081111561018357600080fd5b82018360208201111561019557600080fd5b803590602001918460018302840111640100000000831117156101b757600080fd5b5090925090506106b3565b60408051918252519081900360200190f35b6100e0600480360360408110156101ea57600080fd5b508035600160a060020a03169060200135600160e060020a0319166106ee565b6101086004803603604081101561022057600080fd5b50600160a060020a038135169060200135610778565b61026c6004803603604081101561024c57600080fd5b508035600160a060020a03169060200135600160e060020a0319166107ef565b604080519115158252519081900360200190f35b61026c6004803603604081101561029657600080fd5b508035600160a060020a03169060200135600160e060020a0319166108aa565b6000600160a060020a038416156102cd57836102cf565b335b9050336102db82610570565b600160a060020a031614610339576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b6103428361092a565b15610397576040805160e560020a62461bcd02815260206004820152601a60248201527f4d757374206e6f7420626520616e204552433136352068617368000000000000604482015290519081900360640190fd5b600160a060020a038216158015906103b85750600160a060020a0382163314155b156104ff5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012082600160a060020a031663249cb3fa85846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600160a060020a0316600160a060020a031681526020019250505060206040518083038186803b15801561047e57600080fd5b505afa158015610492573d6000803e3d6000fd5b505050506040513d60208110156104a857600080fd5b5051146104ff576040805160e560020a62461bcd02815260206004820181905260248201527f446f6573206e6f7420696d706c656d656e742074686520696e74657266616365604482015290519081900360640190fd5b600160a060020a03818116600081815260208181526040808320888452909152808220805473ffffffffffffffffffffffffffffffffffffffff19169487169485179055518692917f93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db15391a450505050565b600160a060020a03818116600090815260016020526040812054909116151561059a5750806105b7565b50600160a060020a03808216600090815260016020526040902054165b919050565b336105c683610570565b600160a060020a031614610624576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b81600160a060020a031681600160a060020a0316146106435780610646565b60005b600160a060020a03838116600081815260016020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169585169590951790945592519184169290917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a43509190a35050565b600082826040516020018083838082843780830192505050925050506040516020818303038152906040528051906020012090505b92915050565b6106f882826107ef565b610703576000610705565b815b600160a060020a03928316600081815260208181526040808320600160e060020a031996909616808452958252808320805473ffffffffffffffffffffffffffffffffffffffff19169590971694909417909555908152600284528181209281529190925220805460ff19166001179055565b600080600160a060020a038416156107905783610792565b335b905061079d8361092a565b156107c357826107ad82826108aa565b6107b85760006107ba565b815b925050506106e8565b600160a060020a0390811660009081526020818152604080832086845290915290205416905092915050565b6000808061081d857f01ffc9a70000000000000000000000000000000000000000000000000000000061094c565b909250905081158061082d575080155b1561083d576000925050506106e8565b61084f85600160e060020a031961094c565b909250905081158061086057508015155b15610870576000925050506106e8565b61087a858561094c565b909250905060018214801561088f5750806001145b1561089f576001925050506106e8565b506000949350505050565b600160a060020a0382166000908152600260209081526040808320600160e060020a03198516845290915281205460ff1615156108f2576108eb83836107ef565b90506106e8565b50600160a060020a03808316600081815260208181526040808320600160e060020a0319871684529091529020549091161492915050565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff161590565b6040517f01ffc9a7000000000000000000000000000000000000000000000000000000008082526004820183905260009182919060208160248189617530fa90519096909550935050505056fea165627a7a72305820377f4a2d4301ede9949f163f319021a6e9c687c292a5e2b2c4734c126b524e6c00291ba01820182018201820182018201820182018201820182018201820182018201820a01820182018201820182018201820182018201820182018201820182018201820"; + + let tx_erc1820_registry_deployment = hex::decode(tx_erc1820_registry_deployment)?; + let tx_erc1820_registry_deployment = Bytes::from(tx_erc1820_registry_deployment); + + let block = BlockId::from(provider.get_block_number().await?); + + let code = provider.get_code(registry_address, block.into()).await?; + + if code == Bytes::default() { + let deployer = anvil.addresses()[0]; + let nonce = provider + .get_transaction_count(deployer, block.into()) + .await?; + + let tx: TransactionRequest = TransactionRequest { + to: Some(signature_address), + value: Some(cost), + from: Some(deployer), + nonce: Some(nonce), + ..Default::default() + }; + + provider.send_transaction(tx, None).await?; + provider + .send_raw_transaction(tx_erc1820_registry_deployment) + .await?; + } + Ok(()) +} diff --git a/subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json b/subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json new file mode 100644 index 0000000000..25ca36f963 --- /dev/null +++ b/subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json @@ -0,0 +1,23730 @@ +{ + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct DeployerDiscoverableMetaV1ConstructionConfig", + "name": "config_", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ActiveDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "name": "FlashLenderCallbackFailed", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "name": "InvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "name": "MinimumInput", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NotOrderOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "name": "NotRainMetaV1", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "SameOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "name": "TokenMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "name": "UnexpectedMetaHash", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroReceiver", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IExpressionDeployerV1", + "name": "expressionDeployer", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "orderHash", + "type": "uint256" + } + ], + "name": "AddOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple" + } + ], + "name": "AfterClear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + } + ], + "name": "Clear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + } + ], + "name": "Context", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct DepositConfig", + "name": "config", + "type": "tuple" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subject", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "name": "MetaV1", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "orderHash", + "type": "uint256" + } + ], + "name": "OrderExceedsMaxRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "orderHash", + "type": "uint256" + } + ], + "name": "OrderNotFound", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "orderHash", + "type": "uint256" + } + ], + "name": "OrderZeroAmount", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "orderHash", + "type": "uint256" + } + ], + "name": "RemoveOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "input", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "output", + "type": "uint256" + } + ], + "name": "TakeOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct WithdrawConfig", + "name": "config", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IExpressionDeployerV1", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes[]", + "name": "sources", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ], + "internalType": "struct EvaluableConfig", + "name": "evaluableConfig", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct OrderConfig", + "name": "config_", + "type": "tuple" + } + ], + "name": "addOrder", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "alice_", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "bob_", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "internalType": "struct ClearConfig", + "name": "clearConfig_", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext_", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext_", + "type": "tuple[]" + } + ], + "name": "clear", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct DepositConfig", + "name": "config_", + "type": "tuple" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver_", + "type": "address" + }, + { + "internalType": "address", + "name": "token_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data_", + "type": "bytes" + } + ], + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token_", + "type": "address" + } + ], + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order_", + "type": "tuple" + } + ], + "name": "removeOrder", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "output", + "type": "address" + }, + { + "internalType": "address", + "name": "input", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]" + } + ], + "internalType": "struct TakeOrdersConfig", + "name": "takeOrders_", + "type": "tuple" + } + ], + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalInput_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalOutput_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct WithdrawConfig", + "name": "config_", + "type": "tuple" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b50604051620055bc380380620055bc833981016040819052620000559162000323565b7f23f773c3618546fdcc07be06f9424910462a90bd2b919684a4b856afa40f138460001b8160016000819055506200009d8282602001516200010160201b620018661760201c565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000d6913391309162000431565b60405180910390a1620000f881600001516200014860201b620018be1760201c565b505050620005a3565b80516020820120828114620001385760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b620001438262000213565b505050565b60408051600080825260208201909252819081906001600160a01b03851690635511cb6790836200018a565b6060815260200190600190039081620001745790505b5060408051600080825260208201908152818301928390526001600160e01b031960e086901b16909252620001c4929160448201620004a0565b6060604051808303816000875af1158015620001e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020a919062000533565b50505050505050565b6200021e8162000243565b620002405780604051630c89984b60e31b81526004016200012f919062000587565b50565b60006008825110156200025857506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620002ae57620002ae62000273565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002df57620002df62000273565b604052919050565b6001600160a01b03811681146200024057600080fd5b60005b838110156200031a57818101518382015260200162000300565b50506000910152565b600060208083850312156200033757600080fd5b82516001600160401b03808211156200034f57600080fd5b90840190604082870312156200036457600080fd5b6200036e62000289565b82516200037b81620002e7565b815282840151828111156200038f57600080fd5b80840193505086601f840112620003a557600080fd5b825182811115620003ba57620003ba62000273565b620003ce601f8201601f19168601620002b4565b92508083528785828601011115620003e557600080fd5b620003f681868501878701620002fd565b5092830152509392505050565b600081518084526200041d816020860160208601620002fd565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200045a606083018462000403565b95945050505050565b600081518084526020808501945080840160005b83811015620004955781518752958201959082019060010162000477565b509495945050505050565b6000606082016060835280865180835260808501915060808160051b8601019250602080890160005b83811015620004fb57607f19888703018552620004e886835162000403565b95509382019390820190600101620004c9565b50508584038187015250505062000513818662000463565b9050828103604084015262000529818562000463565b9695505050505050565b6000806000606084860312156200054957600080fd5b83516200055681620002e7565b60208501519093506200056981620002e7565b60408501519092506200057c81620002e7565b809150509250925092565b6020815260006200059c602083018462000403565b9392505050565b61500980620005b36000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80639e18968b11610081578063d9d98ce41161005b578063d9d98ce4146101cb578063e23746a3146101de578063e6b62636146101f157600080fd5b80639e18968b14610167578063ac9650d81461017a578063d97b2e481461019a57600080fd5b8063613255ab116100b2578063613255ab1461010b578063702766781461012c5780637a8048df1461013f57600080fd5b80634f266187146100ce5780635cffe9de146100e3575b600080fd5b6100e16100dc3660046137ef565b610204565b005b6100f66100f136600461382d565b610352565b60405190151581526020015b60405180910390f35b61011e6101193660046138cc565b610601565b604051908152602001610102565b6100e161013a3660046138e9565b6106ab565b61015261014d366004613936565b610a4e565b60408051928352602083019190915201610102565b6100e1610175366004613e3a565b610fb3565b61018d610188366004613efc565b611574565b6040516101029190614034565b61011e6101a8366004614047565b600560209081526000938452604080852082529284528284209052825290205481565b61011e6101d9366004614088565b6106a2565b6100e16101ec3660046140b4565b611669565b6100e16101ff3660046137ef565b61177e565b61020c6119a7565b336000908152600560209081526040822090829061022c908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208584013582529092528082205492506102739084013583611a1a565b905061027f818361411e565b3360009081526005602090815260408220919061029e908701876138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085602001358152602001908152602001600020819055507f2538ccc7ad2a119a36f2e65c1e2fc908beef800cd59b5d6680db24de18e7847a33848360405161032493929190614169565b60405180910390a161034361033c60208501856138cc565b3383611a32565b505061034f6001600055565b50565b600061035c611ae0565b73ffffffffffffffffffffffffffffffffffffffff85166103a9576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166103f6576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556001805492891692909116919091179055600384905583156104775761047773ffffffffffffffffffffffffffffffffffffffff86168786611b51565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906104d69033908a908a9087908b908b906004016141ea565b6020604051808303816000875af11580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105199190614230565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9811461057c576040517f5b62c548000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b600354945084156105b8576001546002546105b29173ffffffffffffffffffffffffffffffffffffffff91821691163088611c25565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556105f4611ae0565b5060019695505050505050565b600061060b611c89565b6106a2576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d9190614230565b6106a5565b60005b92915050565b6106b36119a7565b600080806106c46040850185614249565b6106d29060208101906138cc565b73ffffffffffffffffffffffffffffffffffffffff16635511cb676106fa6040870187614249565b610708906020810190614287565b6107156040890189614249565b610723906040810190614287565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b815260040161075e959493929190614375565b6060604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a1919061446b565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008780604001906107e29190614249565b6107f0906020810190614287565b6001818110610801576108016144b8565b905060200281019061081391906144e7565b919091118252506040805160608101825273ffffffffffffffffffffffffffffffffffffffff8089168252878116602083810191909152908716828401528301520161085f878061454c565b808060200260200160405190810160405280939291908181526020016000905b828210156108ab5761089c606083028601368190038101906145b3565b8152602001906001019061087f565b505050505081526020018680602001906108c5919061454c565b808060200260200160405190810160405280939291908181526020016000905b8282101561091157610902606083028601368190038101906145b3565b815260200190600101906108e5565b50505050508152509050600061092682611cda565b60008181526004602052604090819020600190559091507f73e46afa6205785bdaa1daaf8b6ccc71715ec06b3b4264f5a00fde98671c2fc690339061096d90890189614249565b61097b9060208101906138cc565b848460405161098d94939291906146b1565b60405180910390a160006109a460608801886144e7565b90501115610a3f576109f66109bc60608801886144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2992505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610a2660608a018a6144e7565b604051610a3694939291906146fb565b60405180910390a15b505050505061034f6001600055565b600080610a596119a7565b6000610ac0604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a08101825260008082526020808301829052835160608082018652838252918101839052808501929092529282015281810182905260808101829052908601355b610b1360a0880188614287565b905084108015610b235750600081115b15610efa57610b3560a0880188614287565b85818110610b4557610b456144b8565b9050602002810190610b579190614731565b610b6090614765565b805190935091506000610b7283611cda565b600081815260046020526040902054909150610be55782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b9060600160405180910390a1610eee565b610bf260208901896138cc565b73ffffffffffffffffffffffffffffffffffffffff168360600151856020015181518110610c2257610c226144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610ccf578260600151846020015181518110610c6357610c636144b8565b6020908102919091018101515190610c7d908a018a6138cc565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b610cdf6040890160208a016138cc565b73ffffffffffffffffffffffffffffffffffffffff168360800151856040015181518110610d0f57610d0f6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610d6f578260800151846040015181518110610d5057610d506144b8565b602002602001015160000151886020016020810190610c7d91906138cc565b6000610d8a8486602001518760400151338960600151611d6a565b9050886080013581602001511115610dfa5783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f460c258f27efac20e56c4607a28003d235168e76997ffb7542637d26d45ea6d8906060015b60405180910390a1610eec565b8051600003610e585783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f3ba461a0ffd1b6782d4817ae7be605cfb1bbb4fa503c0dd613b8e50f1dcafacd90606001610ded565b8051600090610e68908590611a1a565b90506000610e86836020015160018461246c9092919063ffffffff16565b9050610e92828661411e565b9450610e9e818a6147ff565b9850610eac8682848661248a565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc3296254233888484604051610ee19493929190614812565b60405180910390a150505b505b50600190930192610b06565b610f0881606089013561411e565b95508660400135861015610f5557604080517f45094d8800000000000000000000000000000000000000000000000000000000815290880135600482015260248101879052604401610573565b610f86333087610f6860208c018c6138cc565b73ffffffffffffffffffffffffffffffffffffffff16929190611c25565b610fa0610f996040890160208a016138cc565b3388611a32565b50505050610fae6001600055565b915091565b610fbb6119a7565b8351855173ffffffffffffffffffffffffffffffffffffffff91821691160361102b5784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610573565b8360600151836040013581518110611045576110456144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611081576110816144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111465784608001518360200135815181106110c2576110c26144b8565b60200260200101516000015184606001518460400135815181106110e8576110e86144b8565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b60608501518051843590811061115e5761115e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16846080015184606001358151811061119a5761119a6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111ff576060850151805184359081106111d9576111d96144b8565b60200260200101516000015184608001518460600135815181106110e8576110e86144b8565b60006004600061120e88611cda565b8152602001908152602001600020540361128d577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33866000015161125288611cda565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1611563565b60006004600061129c87611cda565b815260200190815260200160002054036112e0577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33856000015161125287611cda565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2338686866040516113159493929190614942565b60405180910390a160006113388685600001358660200135886000015186611d6a565b9050600061135586866040013587606001358a6000015188611d6a565b905060006113638383612932565b905061137988826040015183600001518661248a565b61138d87826060015183602001518561248a565b606081015181516000916113a09161411e565b90506000826040015183602001516113b8919061411e565b9050811561145e57336000908152600560209081526040822060808d01518051869492938d01359081106113ee576113ee6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461145891906147ff565b90915550505b80156115025733600090815260056020526040812060808b015180518493919060608d0135908110611492576114926144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546114fc91906147ff565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b61156d6001600055565b5050505050565b60608167ffffffffffffffff81111561158f5761158f61396b565b6040519080825280602002602001820160405280156115c257816020015b60608152602001906001900390816115ad5790505b50905060005b8281101561166257611632308585848181106115e6576115e66144b8565b90506020028101906115f891906144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b828281518110611644576116446144b8565b6020026020010181905250808061165a906149cc565b9150506115c8565b5092915050565b6116716119a7565b61167e60208201826138cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461171057336116be60208301836138cc565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b600061172361171e83614a04565b611cda565b60008181526004602052604080822091909155519091507fe2dd87ac53228b6f23feabcc7301fe64145f23cc3c3ed75e6cd07341ae7f22829061176b90339085908590614ae0565b60405180910390a15061034f6001600055565b6117866119a7565b7fadc7bd964a04a8a02261d33d2d09c6a7d9f539bc5eab77008e85fc6661ef123133826040516117b7929190614be5565b60405180910390a16117d633306040840135610f6860208601866138cc565b336000908152600560209081526040808320908401359290916117fb908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083602001358152602001908152602001600020600082825461185991906147ff565b9091555050600160005550565b805160208201208281146118b0576040517f74fe10f00000000000000000000000000000000000000000000000000000000081526004810184905260248101829052604401610573565b6118b982611d29565b505050565b604080516000808252602082019092528190819073ffffffffffffffffffffffffffffffffffffffff851690635511cb67908361190b565b60608152602001906001900390816118f65790505b5060408051600080825260208201908152818301928390527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690925261195b929160448201614c0f565b6060604051808303816000875af115801561197a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199e919061446b565b50505050505050565b600260005403611a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610573565b6002600055565b6000818310611a295781611a2b565b825b9392505050565b60025473ffffffffffffffffffffffffffffffffffffffff8481169116148015611a76575060015473ffffffffffffffffffffffffffffffffffffffff8381169116145b15611ab9576000611a9260035483611a1a90919063ffffffff16565b9050611a9e818361411e565b91508060036000828254611ab2919061411e565b9091555050505b80156118b9576118b973ffffffffffffffffffffffffffffffffffffffff84168383611b51565b611ae8611c89565b15611b4f576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610573565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526118b99084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612a2c565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611c839085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611ba3565b50505050565b60015460009073ffffffffffffffffffffffffffffffffffffffff16151580611cc9575060025473ffffffffffffffffffffffffffffffffffffffff1615155b80611cd5575060035415155b905090565b600081604051602001611ced9190614c48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b611d3281612b38565b61034f57806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b611d9c6040518060a0016040528060008152602001600081526020016060815260200160008152602001606081525090565b6000611da787611cda565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081611dc557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110611e2d57611e2d6144b8565b6020026020010181905250611fc289606001518981518110611e5157611e516144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110611e8957611e896144b8565b60200260200101516020015160ff168b606001518b81518110611eae57611eae6144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f1557611f156144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f7357611f736144b8565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110611fd857611fd86144b8565b602002602001018190525061211e89608001518881518110611ffc57611ffc6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612034576120346144b8565b60200260200101516020015160ff168b608001518a81518110612059576120596144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d815181106120c0576120c06144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110611f7357611f736144b8565b81600160040381518110612134576121346144b8565b60200260200101819052506121498186612b68565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c6040015160200151856121ad8f6040015160400151612e98565b886040518563ffffffff1660e01b81526004016121cd9493929190614cb6565b600060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122309190810190614d4c565b9150915060008260028451038151811061224c5761224c6144b8565b6020026020010151905060008360018551038151811061226e5761226e6144b8565b602002602001015190506122b28d608001518c81518110612291576122916144b8565b60200260200101516020015160ff16600284612ec19092919063ffffffff16565b915061230e8d608001518c815181106122cd576122cd6144b8565b6020026020010151602001518e606001518e815181106122ef576122ef6144b8565b602002602001015160200151600184612f46909392919063ffffffff16565b90506123f6600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e8151811061236e5761236e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e815181106123cc576123cc6144b8565b60200260200101516040015181526020019081526020016000205483611a1a90919063ffffffff16565b6040805160028152602081018390528082018490526060810190915290925086600281518110612428576124286144b8565b60200260200101819052506040518060a001604052808381526020018281526020018781526020018681526020018481525097505050505050505095945050505050565b60006124828484670de0b6b3a764000085612fc1565b949350505050565b8281604001516003815181106124a2576124a26144b8565b60200260200101516004815181106124bc576124bc6144b8565b6020026020010181815250508181604001516004815181106124e0576124e06144b8565b60200260200101516004815181106124fa576124fa6144b8565b6020908102919091010152821561260757835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805186939190600390811061254d5761254d6144b8565b6020026020010151600081518110612567576125676144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516003815181106125c2576125c26144b8565b60200260200101516002815181106125dc576125dc6144b8565b60200260200101518152602001908152602001600020600082825461260191906147ff565b90915550505b811561270957835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805185939190600490811061264f5761264f6144b8565b6020026020010151600081518110612669576126696144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516004815181106126c4576126c46144b8565b60200260200101516002815181106126de576126de6144b8565b602002602001015181526020019081526020016000206000828254612703919061411e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f33826040015160405161273e929190614db0565b60405180910390a1608081015151156127cf5783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc6826060015183608001516040518363ffffffff1660e01b815260040161279c929190614ddf565b600060405180830381600087803b1580156127b657600080fd5b505af11580156127ca573d6000803e3d6000fd5b505050505b836020015115611c8357600084604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f825866040015160200151846060015161281e89604001516040015161301e565b86604001516040518563ffffffff1660e01b81526004016128429493929190614cb6565b600060405180830381865afa15801561285f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128a59190810190614d4c565b91505060008151111561156d5784604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68360600151836040518363ffffffff1660e01b81526004016128f9929190614ddf565b600060405180830381600087803b15801561291357600080fd5b505af1158015612927573d6000803e3d6000fd5b505050505050505050565b61295d6040518060800160405280600081526020016000815260200160008152602001600081525090565b6129886040518060800160405280600081526020016000815260200160008152602001600081525090565b602083015183516129a79161299f9190600161246c565b855190611a1a565b8152602084015184516129c8916129c09190600161246c565b845190611a1a565b60208083019190915284015181516129e191600161246c565b6040820152602080840151908201516129fb91600161246c565b60608201529392505050565b6060611a2b8383604051806060016040528060278152602001614fe260279139613049565b6000612a8e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166130ce9092919063ffffffff16565b8051909150156118b95780806020019051810190612aac9190614df8565b6118b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610573565b6000600882511015612b4c57506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff811115612b8657612b8661396b565b604051908082528060200260200182016040528015612baf578160200160208202803683370190505b509050600080845111612bc3576000612bc9565b83516001015b855160010101905060008167ffffffffffffffff811115612bec57612bec61396b565b604051908082528060200260200182016040528015612c1f57816020015b6060815260200190600190039081612c0a5790505b5090506000612c44604080516002815233602082015230818301526060810190915290565b828281518110612c5657612c566144b8565b602002602001018190525060005b8751811015612cb4578180600101925050878181518110612c8757612c876144b8565b6020026020010151838381518110612ca157612ca16144b8565b6020908102919091010152600101612c64565b50855115612e8e57808060010191505083828281518110612cd757612cd76144b8565b602002602001018190525060005b8651811015612e8c57612db6878281518110612d0357612d036144b8565b602002602001015160000151612d93612d408a8581518110612d2757612d276144b8565b6020026020010151602001518051602090810291012090565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b898481518110612da557612da56144b8565b6020026020010151604001516130dd565b612def576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610573565b868181518110612e0157612e016144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110612e3557612e356144b8565b6020026020010181815250508180600101925050868181518110612e5b57612e5b6144b8565b602002602001015160200151838381518110612e7957612e796144b8565b6020908102919091010152600101612ce5565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff00000000166002176106a5565b60008260121115612ef65760128390036001831615612eec57612ee485826132aa565b915050611a2b565b612ee485826132f8565b6012831115612f3f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612f3557612ee48582613324565b612ee485826133aa565b5082611a2b565b60008360ff168360ff161115612f84578383036002831615612f7757612f6f868260ff16613324565b915050612482565b612f6f868260ff166133aa565b8260ff168460ff161115612fb8578284036001831615612fab57612f6f868260ff166132aa565b612f6f868260ff166132f8565b50929392505050565b600080612fcf8686866133d9565b90506001836002811115612fe557612fe5614e15565b148015613002575060008480612ffd57612ffd614e44565b868809115b15613015576130126001826147ff565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff0000000016176106a5565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516130739190614e73565b600060405180830381855af49150503d80600081146130ae576040519150601f19603f3d011682016040523d82523d6000602084013e6130b3565b606091505b50915091506130c4868383876134a6565b9695505050505050565b60606124828484600085613546565b60008060006130ec858561365f565b9092509050600081600481111561310557613105614e15565b14801561313d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561314d57600192505050611a2b565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8888604051602401613182929190614e85565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161320b9190614e73565b600060405180830381855afa9150503d8060008114613246576040519150601f19603f3d011682016040523d82523d6000602084013e61324b565b606091505b509150915081801561325e575080516020145b801561329e575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061329c9083016020908101908401614230565b145b98975050505050505050565b6000604e82106132ce5782156132c15760016132c4565b60005b60ff1690506106a5565b600a82900a8084816132e2576132e2614e44565b0491508082028414611662575060010192915050565b6000604e82101561331b5781600a0a838161331557613315614e44565b04611a2b565b50600092915050565b6000604e821061336457821561335a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61335d565b60005b90506106a5565b50600a81900a828102908381838161337e5761337e614e44565b0414611662577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612482565b600a81900a6133b98184614e9e565b9050604e82106106a557821561331b576133d482600a614fd5565b611a2b565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036134315783828161342757613427614e44565b0492505050611a2b565b80841161343d57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561353c5782516000036135355773ffffffffffffffffffffffffffffffffffffffff85163b613535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610573565b5081612482565b61248283836136a4565b6060824710156135d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610573565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516136019190614e73565b60006040518083038185875af1925050503d806000811461363e576040519150601f19603f3d011682016040523d82523d6000602084013e613643565b606091505b5091509150613654878383876134a6565b979650505050505050565b60008082516041036136955760208301516040840151606085015160001a613689878285856136e8565b9450945050505061369d565b506000905060025b9250929050565b8151156136b45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561371f57506000905060036137ce565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613773573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166137c7576000600192509250506137ce565b9150600090505b94509492505050565b6000606082840312156137e957600080fd5b50919050565b60006060828403121561380157600080fd5b611a2b83836137d7565b73ffffffffffffffffffffffffffffffffffffffff8116811461034f57600080fd5b60008060008060006080868803121561384557600080fd5b85356138508161380b565b945060208601356138608161380b565b935060408601359250606086013567ffffffffffffffff8082111561388457600080fd5b818801915088601f83011261389857600080fd5b8135818111156138a757600080fd5b8960208285010111156138b957600080fd5b9699959850939650602001949392505050565b6000602082840312156138de57600080fd5b8135611a2b8161380b565b6000602082840312156138fb57600080fd5b813567ffffffffffffffff81111561391257600080fd5b820160808185031215611a2b57600080fd5b600060c082840312156137e957600080fd5b60006020828403121561394857600080fd5b813567ffffffffffffffff81111561395f57600080fd5b61248284828501613924565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156139bd576139bd61396b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613a0a57613a0a61396b565b604052919050565b801515811461034f57600080fd5b8035613a2b81613a12565b919050565b600060608284031215613a4257600080fd5b613a4a61399a565b90508135613a578161380b565b81526020820135613a678161380b565b60208201526040820135613a7a8161380b565b604082015292915050565b600067ffffffffffffffff821115613a9f57613a9f61396b565b5060051b60200190565b803560ff81168114613a2b57600080fd5b600060608284031215613acc57600080fd5b613ad461399a565b90508135613ae18161380b565b8152613aef60208301613aa9565b60208201526040820135604082015292915050565b600082601f830112613b1557600080fd5b81356020613b2a613b2583613a85565b6139c3565b82815260609283028501820192828201919087851115613b4957600080fd5b8387015b85811015613b6c57613b5f8982613aba565b8452928401928101613b4d565b5090979650505050505050565b600060e08284031215613b8b57600080fd5b60405160a0810167ffffffffffffffff8282108183111715613baf57613baf61396b565b8160405282935084359150613bc38261380b565b818352613bd260208601613a20565b6020840152613be48660408701613a30565b604084015260a0850135915080821115613bfd57600080fd5b613c0986838701613b04565b606084015260c0850135915080821115613c2257600080fd5b50613c2f85828601613b04565b6080830152505092915050565b600082601f830112613c4d57600080fd5b813567ffffffffffffffff811115613c6757613c6761396b565b613c9860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016139c3565b818152846020838601011115613cad57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112613cdb57600080fd5b81356020613ceb613b2583613a85565b82815260059290921b84018101918181019086841115613d0a57600080fd5b8286015b84811015613e2f57803567ffffffffffffffff80821115613d2e57600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215613d655760008081fd5b613d6d61399a565b86830135613d7a8161380b565b815260408381013583811115613d905760008081fd5b8401603f81018d13613da25760008081fd5b88810135613db2613b2582613a85565b81815260059190911b82018301908a8101908f831115613dd25760008081fd5b928401925b82841015613df05783358252928b0192908b0190613dd7565b858c0152505050606084013583811115613e0a5760008081fd5b613e188d8a83880101613c3c565b918301919091525085525050918301918301613d0e565b509695505050505050565b60008060008060006101408688031215613e5357600080fd5b853567ffffffffffffffff80821115613e6b57600080fd5b613e7789838a01613b79565b96506020880135915080821115613e8d57600080fd5b613e9989838a01613b79565b9550613ea88960408a01613924565b9450610100880135915080821115613ebf57600080fd5b613ecb89838a01613cca565b9350610120880135915080821115613ee257600080fd5b50613eef88828901613cca565b9150509295509295909350565b60008060208385031215613f0f57600080fd5b823567ffffffffffffffff80821115613f2757600080fd5b818501915085601f830112613f3b57600080fd5b813581811115613f4a57600080fd5b8660208260051b8501011115613f5f57600080fd5b60209290920196919550909350505050565b60005b83811015613f8c578181015183820152602001613f74565b50506000910152565b60008151808452613fad816020860160208601613f71565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614015848351613f95565b98850198935090840190600101613ffd565b5091979650505050505050565b602081526000611a2b6020830184613fdf565b60008060006060848603121561405c57600080fd5b83356140678161380b565b925060208401356140778161380b565b929592945050506040919091013590565b6000806040838503121561409b57600080fd5b82356140a68161380b565b946020939093013593505050565b6000602082840312156140c657600080fd5b813567ffffffffffffffff8111156140dd57600080fd5b820160e08185031215611a2b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106a5576106a56140ef565b803561413c8161380b565b73ffffffffffffffffffffffffffffffffffffffff16825260208181013590830152604090810135910152565b73ffffffffffffffffffffffffffffffffffffffff8416815260a081016141936020830185614131565b826080830152949350505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a0608083015261329e60a0830184866141a1565b60006020828403121561424257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261427d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142bc57600080fd5b83018035915067ffffffffffffffff8211156142d757600080fd5b6020019150600581901b360382131561369d57600080fd5b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561432157600080fd5b8260051b80836020870137939093016020019392505050565b600081518084526020808501945080840160005b8381101561436a5781518752958201959082019060010161434e565b509495945050505050565b6060808252810185905260006080600587901b8301810190830188835b89811015614441577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8086850301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18c36030181126143f357600080fd5b8b01602081810191359067ffffffffffffffff82111561441257600080fd5b81360383131561442157600080fd5b61442c8783856141a1565b96509485019493909301925050600101614392565b50505082810360208401526144578186886142ef565b9050828103604084015261329e818561433a565b60008060006060848603121561448057600080fd5b835161448b8161380b565b602085015190935061449c8161380b565b60408501519092506144ad8161380b565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261451c57600080fd5b83018035915067ffffffffffffffff82111561453757600080fd5b60200191503681900382131561369d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261458157600080fd5b83018035915067ffffffffffffffff82111561459c57600080fd5b602001915060608102360382131561369d57600080fd5b6000606082840312156145c557600080fd5b611a2b8383613aba565b600081518084526020808501945080840160005b8381101561436a578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016145e3565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261469860e08501826145cf565b9050608083015184820360c086015261301582826145cf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526146ea608083018561462e565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006130c46060830184866141a1565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261427d57600080fd5b60006080823603121561477757600080fd5b6040516080810167ffffffffffffffff828210818311171561479b5761479b61396b565b8160405284359150808211156147b057600080fd5b6147bc36838701613b79565b8352602085013560208401526040850135604084015260608501359150808211156147e657600080fd5b506147f336828601613cca565b60608301525092915050565b808201808211156106a5576106a56140ef565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261484c61010086018261462e565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015614925577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526148f98885018261433a565b91890151848303858b01529190506149118183613f95565b968b0196958b0195935050506001016148ad565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526149728184018761462e565b90508281036040840152614986818661462e565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149fd576149fd6140ef565b5060010190565b60006106a53683613b79565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614a4557600080fd5b830160208101925035905067ffffffffffffffff811115614a6557600080fd5b60608102360382131561369d57600080fd5b8183526000602080850194508260005b8581101561436a578135614a9a8161380b565b73ffffffffffffffffffffffffffffffffffffffff16875260ff614abf838501613aa9565b16878401526040828101359088015260609687019690910190600101614a87565b600073ffffffffffffffffffffffffffffffffffffffff8086168352606060208401528435614b0e8161380b565b811660608401526020850135614b2381613a12565b151560808401526040850135614b388161380b565b811660a08401526060850135614b4d8161380b565b811660c08401526080850135614b628161380b565b1660e0830152614b7560a0850185614a10565b60e0610100850152614b8c61014085018284614a77565b915050614b9c60c0860186614a10565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085840301610120860152614bd2838284614a77565b9350505050826040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260808101611a2b6020830184614131565b606081526000614c226060830186613fdf565b8281036020840152614c34818661433a565b905082810360408401526130c4818561433a565b602081526000611a2b602083018461462e565b602081526000611a2b6020830184613f95565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614ca484835161433a565b98850198935090840190600101614c8c565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528260408201526080606082015260006130c46080830184614c6e565b600082601f830112614d0257600080fd5b81516020614d12613b2583613a85565b82815260059290921b84018101918181019086841115614d3157600080fd5b8286015b84811015613e2f5780518352918301918301614d35565b60008060408385031215614d5f57600080fd5b825167ffffffffffffffff80821115614d7757600080fd5b614d8386838701614cf1565b93506020850151915080821115614d9957600080fd5b50614da685828601614cf1565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006124826040830184614c6e565b828152604060208201526000612482604083018461433a565b600060208284031215614e0a57600080fd5b8151611a2b81613a12565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000825161427d818460208701613f71565b8281526040602082015260006124826040830184613f95565b80820281158282048414176106a5576106a56140ef565b600181815b80851115614f0e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614ef457614ef46140ef565b80851615614f0157918102915b93841c9390800290614eba565b509250929050565b600082614f25575060016106a5565b81614f32575060006106a5565b8160018114614f485760028114614f5257614f6e565b60019150506106a5565b60ff841115614f6357614f636140ef565b50506001821b6106a5565b5060208310610133831016604e8410600b8410161715614f91575081810a6106a5565b614f9b8383614eb5565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614fcd57614fcd6140ef565b029392505050565b6000611a2b8383614f1656fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "5807:20091:44:-:0;;;1775:75:43;;;-1:-1:-1;;;;;;1775:75:43;;;;;;1856:35;;;;;;;;1847:1;1897:27;;7182:141:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1986:66;1978:75;;7308:7;1716:1:13;1821:7;:22;;;;1068:46:26;1092:8;1102:6;:11;;;1068:23;;;;;:46;;:::i;:::-;1181:11;;;;1129:64;;;;;;1136:10;;1172:4;;1129:64;:::i;:::-;;;;;;;;1203:54;1241:6;:15;;;1203:37;;;;;:54;;:::i;:::-;968:296;;7182:141:44;5807:20091;;1424:292:25;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:25;;;;;3082:25:51;;;3123:18;;;3116:34;;;3055:18;;1619:46:25;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;917:319:33:-;1116:14;;;978:26;1116:14;;;;;;;;;978:26;;;;-1:-1:-1;;;;;1067:48:33;;;;;978:26;1116:14;;;;;;;;;;;;;;;;;;;-1:-1:-1;1132:16:33;;;1146:1;1132:16;;;;;;1150;;;;;;;;;;-1:-1:-1;;;;;;1067:100:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;917:319:33:o;1075:155:25:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:25;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:25;;550:376;-1:-1:-1;550:376:25:o;631:34::-;-1:-1:-1;846:1:25;835:13;829:20;-1:-1:-1;;;;;825:32:25;667:18:24;883:36:25;;550:376::o;14:127:51:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:51;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:51;508:40;;-1:-1:-1;;;;;563:34:51;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:51:o;687:131::-;-1:-1:-1;;;;;762:31:51;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:51;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:51;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:51;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:51;;;2179:29;-1:-1:-1;2190:5:51;1078:1160;-1:-1:-1;;;1078:1160:51:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:51;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:51:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:51:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:51;;3161:435;-1:-1:-1;;;;;3161:435:51:o;3601:1184::-;3917:4;3965:2;3954:9;3950:18;3995:2;3984:9;3977:21;4018:6;4053;4047:13;4084:6;4076;4069:22;4122:3;4111:9;4107:19;4100:26;;4185:3;4175:6;4172:1;4168:14;4157:9;4153:30;4149:40;4135:54;;4208:4;4247:2;4239:6;4235:15;4268:1;4278:255;4292:6;4289:1;4286:13;4278:255;;;4385:3;4381:8;4369:9;4361:6;4357:22;4353:37;4348:3;4341:50;4414:39;4446:6;4437;4431:13;4414:39;:::i;:::-;4404:49;-1:-1:-1;4511:12:51;;;;4476:15;;;;4314:1;4307:9;4278:255;;;4282:3;;4581:9;4573:6;4569:22;4564:2;4553:9;4549:18;4542:50;;;;4615:44;4652:6;4644;4615:44;:::i;:::-;4601:58;;4707:9;4699:6;4695:22;4690:2;4679:9;4675:18;4668:50;4735:44;4772:6;4764;4735:44;:::i;:::-;4727:52;3601:1184;-1:-1:-1;;;;;;3601:1184:51:o;4790:572::-;4931:6;4939;4947;5000:2;4988:9;4979:7;4975:23;4971:32;4968:52;;;5016:1;5013;5006:12;4968:52;5048:9;5042:16;5067:31;5092:5;5067:31;:::i;:::-;5167:2;5152:18;;5146:25;5117:5;;-1:-1:-1;5180:33:51;5146:25;5180:33;:::i;:::-;5284:2;5269:18;;5263:25;5232:7;;-1:-1:-1;5297:33:51;5263:25;5297:33;:::i;:::-;5349:7;5339:17;;;4790:572;;;;;:::o;5367:217::-;5514:2;5503:9;5496:21;5477:4;5534:44;5574:2;5563:9;5559:18;5551:6;5534:44;:::i;:::-;5526:52;5367:217;-1:-1:-1;;;5367:217:51:o;:::-;5807:20091:44;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80639e18968b11610081578063d9d98ce41161005b578063d9d98ce4146101cb578063e23746a3146101de578063e6b62636146101f157600080fd5b80639e18968b14610167578063ac9650d81461017a578063d97b2e481461019a57600080fd5b8063613255ab116100b2578063613255ab1461010b578063702766781461012c5780637a8048df1461013f57600080fd5b80634f266187146100ce5780635cffe9de146100e3575b600080fd5b6100e16100dc3660046137ef565b610204565b005b6100f66100f136600461382d565b610352565b60405190151581526020015b60405180910390f35b61011e6101193660046138cc565b610601565b604051908152602001610102565b6100e161013a3660046138e9565b6106ab565b61015261014d366004613936565b610a4e565b60408051928352602083019190915201610102565b6100e1610175366004613e3a565b610fb3565b61018d610188366004613efc565b611574565b6040516101029190614034565b61011e6101a8366004614047565b600560209081526000938452604080852082529284528284209052825290205481565b61011e6101d9366004614088565b6106a2565b6100e16101ec3660046140b4565b611669565b6100e16101ff3660046137ef565b61177e565b61020c6119a7565b336000908152600560209081526040822090829061022c908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208584013582529092528082205492506102739084013583611a1a565b905061027f818361411e565b3360009081526005602090815260408220919061029e908701876138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085602001358152602001908152602001600020819055507f2538ccc7ad2a119a36f2e65c1e2fc908beef800cd59b5d6680db24de18e7847a33848360405161032493929190614169565b60405180910390a161034361033c60208501856138cc565b3383611a32565b505061034f6001600055565b50565b600061035c611ae0565b73ffffffffffffffffffffffffffffffffffffffff85166103a9576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166103f6576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556001805492891692909116919091179055600384905583156104775761047773ffffffffffffffffffffffffffffffffffffffff86168786611b51565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906104d69033908a908a9087908b908b906004016141ea565b6020604051808303816000875af11580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105199190614230565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9811461057c576040517f5b62c548000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b600354945084156105b8576001546002546105b29173ffffffffffffffffffffffffffffffffffffffff91821691163088611c25565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556105f4611ae0565b5060019695505050505050565b600061060b611c89565b6106a2576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d9190614230565b6106a5565b60005b92915050565b6106b36119a7565b600080806106c46040850185614249565b6106d29060208101906138cc565b73ffffffffffffffffffffffffffffffffffffffff16635511cb676106fa6040870187614249565b610708906020810190614287565b6107156040890189614249565b610723906040810190614287565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b815260040161075e959493929190614375565b6060604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a1919061446b565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008780604001906107e29190614249565b6107f0906020810190614287565b6001818110610801576108016144b8565b905060200281019061081391906144e7565b919091118252506040805160608101825273ffffffffffffffffffffffffffffffffffffffff8089168252878116602083810191909152908716828401528301520161085f878061454c565b808060200260200160405190810160405280939291908181526020016000905b828210156108ab5761089c606083028601368190038101906145b3565b8152602001906001019061087f565b505050505081526020018680602001906108c5919061454c565b808060200260200160405190810160405280939291908181526020016000905b8282101561091157610902606083028601368190038101906145b3565b815260200190600101906108e5565b50505050508152509050600061092682611cda565b60008181526004602052604090819020600190559091507f73e46afa6205785bdaa1daaf8b6ccc71715ec06b3b4264f5a00fde98671c2fc690339061096d90890189614249565b61097b9060208101906138cc565b848460405161098d94939291906146b1565b60405180910390a160006109a460608801886144e7565b90501115610a3f576109f66109bc60608801886144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2992505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610a2660608a018a6144e7565b604051610a3694939291906146fb565b60405180910390a15b505050505061034f6001600055565b600080610a596119a7565b6000610ac0604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a08101825260008082526020808301829052835160608082018652838252918101839052808501929092529282015281810182905260808101829052908601355b610b1360a0880188614287565b905084108015610b235750600081115b15610efa57610b3560a0880188614287565b85818110610b4557610b456144b8565b9050602002810190610b579190614731565b610b6090614765565b805190935091506000610b7283611cda565b600081815260046020526040902054909150610be55782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b9060600160405180910390a1610eee565b610bf260208901896138cc565b73ffffffffffffffffffffffffffffffffffffffff168360600151856020015181518110610c2257610c226144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610ccf578260600151846020015181518110610c6357610c636144b8565b6020908102919091018101515190610c7d908a018a6138cc565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b610cdf6040890160208a016138cc565b73ffffffffffffffffffffffffffffffffffffffff168360800151856040015181518110610d0f57610d0f6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610d6f578260800151846040015181518110610d5057610d506144b8565b602002602001015160000151886020016020810190610c7d91906138cc565b6000610d8a8486602001518760400151338960600151611d6a565b9050886080013581602001511115610dfa5783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f460c258f27efac20e56c4607a28003d235168e76997ffb7542637d26d45ea6d8906060015b60405180910390a1610eec565b8051600003610e585783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f3ba461a0ffd1b6782d4817ae7be605cfb1bbb4fa503c0dd613b8e50f1dcafacd90606001610ded565b8051600090610e68908590611a1a565b90506000610e86836020015160018461246c9092919063ffffffff16565b9050610e92828661411e565b9450610e9e818a6147ff565b9850610eac8682848661248a565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc3296254233888484604051610ee19493929190614812565b60405180910390a150505b505b50600190930192610b06565b610f0881606089013561411e565b95508660400135861015610f5557604080517f45094d8800000000000000000000000000000000000000000000000000000000815290880135600482015260248101879052604401610573565b610f86333087610f6860208c018c6138cc565b73ffffffffffffffffffffffffffffffffffffffff16929190611c25565b610fa0610f996040890160208a016138cc565b3388611a32565b50505050610fae6001600055565b915091565b610fbb6119a7565b8351855173ffffffffffffffffffffffffffffffffffffffff91821691160361102b5784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610573565b8360600151836040013581518110611045576110456144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611081576110816144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111465784608001518360200135815181106110c2576110c26144b8565b60200260200101516000015184606001518460400135815181106110e8576110e86144b8565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b60608501518051843590811061115e5761115e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16846080015184606001358151811061119a5761119a6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111ff576060850151805184359081106111d9576111d96144b8565b60200260200101516000015184608001518460600135815181106110e8576110e86144b8565b60006004600061120e88611cda565b8152602001908152602001600020540361128d577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33866000015161125288611cda565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1611563565b60006004600061129c87611cda565b815260200190815260200160002054036112e0577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33856000015161125287611cda565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2338686866040516113159493929190614942565b60405180910390a160006113388685600001358660200135886000015186611d6a565b9050600061135586866040013587606001358a6000015188611d6a565b905060006113638383612932565b905061137988826040015183600001518661248a565b61138d87826060015183602001518561248a565b606081015181516000916113a09161411e565b90506000826040015183602001516113b8919061411e565b9050811561145e57336000908152600560209081526040822060808d01518051869492938d01359081106113ee576113ee6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461145891906147ff565b90915550505b80156115025733600090815260056020526040812060808b015180518493919060608d0135908110611492576114926144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546114fc91906147ff565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b61156d6001600055565b5050505050565b60608167ffffffffffffffff81111561158f5761158f61396b565b6040519080825280602002602001820160405280156115c257816020015b60608152602001906001900390816115ad5790505b50905060005b8281101561166257611632308585848181106115e6576115e66144b8565b90506020028101906115f891906144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b828281518110611644576116446144b8565b6020026020010181905250808061165a906149cc565b9150506115c8565b5092915050565b6116716119a7565b61167e60208201826138cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461171057336116be60208301836138cc565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b600061172361171e83614a04565b611cda565b60008181526004602052604080822091909155519091507fe2dd87ac53228b6f23feabcc7301fe64145f23cc3c3ed75e6cd07341ae7f22829061176b90339085908590614ae0565b60405180910390a15061034f6001600055565b6117866119a7565b7fadc7bd964a04a8a02261d33d2d09c6a7d9f539bc5eab77008e85fc6661ef123133826040516117b7929190614be5565b60405180910390a16117d633306040840135610f6860208601866138cc565b336000908152600560209081526040808320908401359290916117fb908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083602001358152602001908152602001600020600082825461185991906147ff565b9091555050600160005550565b805160208201208281146118b0576040517f74fe10f00000000000000000000000000000000000000000000000000000000081526004810184905260248101829052604401610573565b6118b982611d29565b505050565b604080516000808252602082019092528190819073ffffffffffffffffffffffffffffffffffffffff851690635511cb67908361190b565b60608152602001906001900390816118f65790505b5060408051600080825260208201908152818301928390527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690925261195b929160448201614c0f565b6060604051808303816000875af115801561197a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199e919061446b565b50505050505050565b600260005403611a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610573565b6002600055565b6000818310611a295781611a2b565b825b9392505050565b60025473ffffffffffffffffffffffffffffffffffffffff8481169116148015611a76575060015473ffffffffffffffffffffffffffffffffffffffff8381169116145b15611ab9576000611a9260035483611a1a90919063ffffffff16565b9050611a9e818361411e565b91508060036000828254611ab2919061411e565b9091555050505b80156118b9576118b973ffffffffffffffffffffffffffffffffffffffff84168383611b51565b611ae8611c89565b15611b4f576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610573565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526118b99084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612a2c565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611c839085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611ba3565b50505050565b60015460009073ffffffffffffffffffffffffffffffffffffffff16151580611cc9575060025473ffffffffffffffffffffffffffffffffffffffff1615155b80611cd5575060035415155b905090565b600081604051602001611ced9190614c48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b611d3281612b38565b61034f57806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b611d9c6040518060a0016040528060008152602001600081526020016060815260200160008152602001606081525090565b6000611da787611cda565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081611dc557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110611e2d57611e2d6144b8565b6020026020010181905250611fc289606001518981518110611e5157611e516144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110611e8957611e896144b8565b60200260200101516020015160ff168b606001518b81518110611eae57611eae6144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f1557611f156144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f7357611f736144b8565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110611fd857611fd86144b8565b602002602001018190525061211e89608001518881518110611ffc57611ffc6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612034576120346144b8565b60200260200101516020015160ff168b608001518a81518110612059576120596144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d815181106120c0576120c06144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110611f7357611f736144b8565b81600160040381518110612134576121346144b8565b60200260200101819052506121498186612b68565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c6040015160200151856121ad8f6040015160400151612e98565b886040518563ffffffff1660e01b81526004016121cd9493929190614cb6565b600060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122309190810190614d4c565b9150915060008260028451038151811061224c5761224c6144b8565b6020026020010151905060008360018551038151811061226e5761226e6144b8565b602002602001015190506122b28d608001518c81518110612291576122916144b8565b60200260200101516020015160ff16600284612ec19092919063ffffffff16565b915061230e8d608001518c815181106122cd576122cd6144b8565b6020026020010151602001518e606001518e815181106122ef576122ef6144b8565b602002602001015160200151600184612f46909392919063ffffffff16565b90506123f6600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e8151811061236e5761236e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e815181106123cc576123cc6144b8565b60200260200101516040015181526020019081526020016000205483611a1a90919063ffffffff16565b6040805160028152602081018390528082018490526060810190915290925086600281518110612428576124286144b8565b60200260200101819052506040518060a001604052808381526020018281526020018781526020018681526020018481525097505050505050505095945050505050565b60006124828484670de0b6b3a764000085612fc1565b949350505050565b8281604001516003815181106124a2576124a26144b8565b60200260200101516004815181106124bc576124bc6144b8565b6020026020010181815250508181604001516004815181106124e0576124e06144b8565b60200260200101516004815181106124fa576124fa6144b8565b6020908102919091010152821561260757835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805186939190600390811061254d5761254d6144b8565b6020026020010151600081518110612567576125676144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516003815181106125c2576125c26144b8565b60200260200101516002815181106125dc576125dc6144b8565b60200260200101518152602001908152602001600020600082825461260191906147ff565b90915550505b811561270957835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805185939190600490811061264f5761264f6144b8565b6020026020010151600081518110612669576126696144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516004815181106126c4576126c46144b8565b60200260200101516002815181106126de576126de6144b8565b602002602001015181526020019081526020016000206000828254612703919061411e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f33826040015160405161273e929190614db0565b60405180910390a1608081015151156127cf5783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc6826060015183608001516040518363ffffffff1660e01b815260040161279c929190614ddf565b600060405180830381600087803b1580156127b657600080fd5b505af11580156127ca573d6000803e3d6000fd5b505050505b836020015115611c8357600084604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f825866040015160200151846060015161281e89604001516040015161301e565b86604001516040518563ffffffff1660e01b81526004016128429493929190614cb6565b600060405180830381865afa15801561285f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128a59190810190614d4c565b91505060008151111561156d5784604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68360600151836040518363ffffffff1660e01b81526004016128f9929190614ddf565b600060405180830381600087803b15801561291357600080fd5b505af1158015612927573d6000803e3d6000fd5b505050505050505050565b61295d6040518060800160405280600081526020016000815260200160008152602001600081525090565b6129886040518060800160405280600081526020016000815260200160008152602001600081525090565b602083015183516129a79161299f9190600161246c565b855190611a1a565b8152602084015184516129c8916129c09190600161246c565b845190611a1a565b60208083019190915284015181516129e191600161246c565b6040820152602080840151908201516129fb91600161246c565b60608201529392505050565b6060611a2b8383604051806060016040528060278152602001614fe260279139613049565b6000612a8e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166130ce9092919063ffffffff16565b8051909150156118b95780806020019051810190612aac9190614df8565b6118b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610573565b6000600882511015612b4c57506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff811115612b8657612b8661396b565b604051908082528060200260200182016040528015612baf578160200160208202803683370190505b509050600080845111612bc3576000612bc9565b83516001015b855160010101905060008167ffffffffffffffff811115612bec57612bec61396b565b604051908082528060200260200182016040528015612c1f57816020015b6060815260200190600190039081612c0a5790505b5090506000612c44604080516002815233602082015230818301526060810190915290565b828281518110612c5657612c566144b8565b602002602001018190525060005b8751811015612cb4578180600101925050878181518110612c8757612c876144b8565b6020026020010151838381518110612ca157612ca16144b8565b6020908102919091010152600101612c64565b50855115612e8e57808060010191505083828281518110612cd757612cd76144b8565b602002602001018190525060005b8651811015612e8c57612db6878281518110612d0357612d036144b8565b602002602001015160000151612d93612d408a8581518110612d2757612d276144b8565b6020026020010151602001518051602090810291012090565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b898481518110612da557612da56144b8565b6020026020010151604001516130dd565b612def576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610573565b868181518110612e0157612e016144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110612e3557612e356144b8565b6020026020010181815250508180600101925050868181518110612e5b57612e5b6144b8565b602002602001015160200151838381518110612e7957612e796144b8565b6020908102919091010152600101612ce5565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff00000000166002176106a5565b60008260121115612ef65760128390036001831615612eec57612ee485826132aa565b915050611a2b565b612ee485826132f8565b6012831115612f3f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612f3557612ee48582613324565b612ee485826133aa565b5082611a2b565b60008360ff168360ff161115612f84578383036002831615612f7757612f6f868260ff16613324565b915050612482565b612f6f868260ff166133aa565b8260ff168460ff161115612fb8578284036001831615612fab57612f6f868260ff166132aa565b612f6f868260ff166132f8565b50929392505050565b600080612fcf8686866133d9565b90506001836002811115612fe557612fe5614e15565b148015613002575060008480612ffd57612ffd614e44565b868809115b15613015576130126001826147ff565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff0000000016176106a5565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516130739190614e73565b600060405180830381855af49150503d80600081146130ae576040519150601f19603f3d011682016040523d82523d6000602084013e6130b3565b606091505b50915091506130c4868383876134a6565b9695505050505050565b60606124828484600085613546565b60008060006130ec858561365f565b9092509050600081600481111561310557613105614e15565b14801561313d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561314d57600192505050611a2b565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8888604051602401613182929190614e85565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161320b9190614e73565b600060405180830381855afa9150503d8060008114613246576040519150601f19603f3d011682016040523d82523d6000602084013e61324b565b606091505b509150915081801561325e575080516020145b801561329e575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061329c9083016020908101908401614230565b145b98975050505050505050565b6000604e82106132ce5782156132c15760016132c4565b60005b60ff1690506106a5565b600a82900a8084816132e2576132e2614e44565b0491508082028414611662575060010192915050565b6000604e82101561331b5781600a0a838161331557613315614e44565b04611a2b565b50600092915050565b6000604e821061336457821561335a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61335d565b60005b90506106a5565b50600a81900a828102908381838161337e5761337e614e44565b0414611662577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612482565b600a81900a6133b98184614e9e565b9050604e82106106a557821561331b576133d482600a614fd5565b611a2b565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036134315783828161342757613427614e44565b0492505050611a2b565b80841161343d57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561353c5782516000036135355773ffffffffffffffffffffffffffffffffffffffff85163b613535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610573565b5081612482565b61248283836136a4565b6060824710156135d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610573565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516136019190614e73565b60006040518083038185875af1925050503d806000811461363e576040519150601f19603f3d011682016040523d82523d6000602084013e613643565b606091505b5091509150613654878383876134a6565b979650505050505050565b60008082516041036136955760208301516040840151606085015160001a613689878285856136e8565b9450945050505061369d565b506000905060025b9250929050565b8151156136b45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561371f57506000905060036137ce565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613773573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166137c7576000600192509250506137ce565b9150600090505b94509492505050565b6000606082840312156137e957600080fd5b50919050565b60006060828403121561380157600080fd5b611a2b83836137d7565b73ffffffffffffffffffffffffffffffffffffffff8116811461034f57600080fd5b60008060008060006080868803121561384557600080fd5b85356138508161380b565b945060208601356138608161380b565b935060408601359250606086013567ffffffffffffffff8082111561388457600080fd5b818801915088601f83011261389857600080fd5b8135818111156138a757600080fd5b8960208285010111156138b957600080fd5b9699959850939650602001949392505050565b6000602082840312156138de57600080fd5b8135611a2b8161380b565b6000602082840312156138fb57600080fd5b813567ffffffffffffffff81111561391257600080fd5b820160808185031215611a2b57600080fd5b600060c082840312156137e957600080fd5b60006020828403121561394857600080fd5b813567ffffffffffffffff81111561395f57600080fd5b61248284828501613924565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156139bd576139bd61396b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613a0a57613a0a61396b565b604052919050565b801515811461034f57600080fd5b8035613a2b81613a12565b919050565b600060608284031215613a4257600080fd5b613a4a61399a565b90508135613a578161380b565b81526020820135613a678161380b565b60208201526040820135613a7a8161380b565b604082015292915050565b600067ffffffffffffffff821115613a9f57613a9f61396b565b5060051b60200190565b803560ff81168114613a2b57600080fd5b600060608284031215613acc57600080fd5b613ad461399a565b90508135613ae18161380b565b8152613aef60208301613aa9565b60208201526040820135604082015292915050565b600082601f830112613b1557600080fd5b81356020613b2a613b2583613a85565b6139c3565b82815260609283028501820192828201919087851115613b4957600080fd5b8387015b85811015613b6c57613b5f8982613aba565b8452928401928101613b4d565b5090979650505050505050565b600060e08284031215613b8b57600080fd5b60405160a0810167ffffffffffffffff8282108183111715613baf57613baf61396b565b8160405282935084359150613bc38261380b565b818352613bd260208601613a20565b6020840152613be48660408701613a30565b604084015260a0850135915080821115613bfd57600080fd5b613c0986838701613b04565b606084015260c0850135915080821115613c2257600080fd5b50613c2f85828601613b04565b6080830152505092915050565b600082601f830112613c4d57600080fd5b813567ffffffffffffffff811115613c6757613c6761396b565b613c9860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016139c3565b818152846020838601011115613cad57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112613cdb57600080fd5b81356020613ceb613b2583613a85565b82815260059290921b84018101918181019086841115613d0a57600080fd5b8286015b84811015613e2f57803567ffffffffffffffff80821115613d2e57600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215613d655760008081fd5b613d6d61399a565b86830135613d7a8161380b565b815260408381013583811115613d905760008081fd5b8401603f81018d13613da25760008081fd5b88810135613db2613b2582613a85565b81815260059190911b82018301908a8101908f831115613dd25760008081fd5b928401925b82841015613df05783358252928b0192908b0190613dd7565b858c0152505050606084013583811115613e0a5760008081fd5b613e188d8a83880101613c3c565b918301919091525085525050918301918301613d0e565b509695505050505050565b60008060008060006101408688031215613e5357600080fd5b853567ffffffffffffffff80821115613e6b57600080fd5b613e7789838a01613b79565b96506020880135915080821115613e8d57600080fd5b613e9989838a01613b79565b9550613ea88960408a01613924565b9450610100880135915080821115613ebf57600080fd5b613ecb89838a01613cca565b9350610120880135915080821115613ee257600080fd5b50613eef88828901613cca565b9150509295509295909350565b60008060208385031215613f0f57600080fd5b823567ffffffffffffffff80821115613f2757600080fd5b818501915085601f830112613f3b57600080fd5b813581811115613f4a57600080fd5b8660208260051b8501011115613f5f57600080fd5b60209290920196919550909350505050565b60005b83811015613f8c578181015183820152602001613f74565b50506000910152565b60008151808452613fad816020860160208601613f71565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614015848351613f95565b98850198935090840190600101613ffd565b5091979650505050505050565b602081526000611a2b6020830184613fdf565b60008060006060848603121561405c57600080fd5b83356140678161380b565b925060208401356140778161380b565b929592945050506040919091013590565b6000806040838503121561409b57600080fd5b82356140a68161380b565b946020939093013593505050565b6000602082840312156140c657600080fd5b813567ffffffffffffffff8111156140dd57600080fd5b820160e08185031215611a2b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106a5576106a56140ef565b803561413c8161380b565b73ffffffffffffffffffffffffffffffffffffffff16825260208181013590830152604090810135910152565b73ffffffffffffffffffffffffffffffffffffffff8416815260a081016141936020830185614131565b826080830152949350505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a0608083015261329e60a0830184866141a1565b60006020828403121561424257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261427d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142bc57600080fd5b83018035915067ffffffffffffffff8211156142d757600080fd5b6020019150600581901b360382131561369d57600080fd5b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561432157600080fd5b8260051b80836020870137939093016020019392505050565b600081518084526020808501945080840160005b8381101561436a5781518752958201959082019060010161434e565b509495945050505050565b6060808252810185905260006080600587901b8301810190830188835b89811015614441577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8086850301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18c36030181126143f357600080fd5b8b01602081810191359067ffffffffffffffff82111561441257600080fd5b81360383131561442157600080fd5b61442c8783856141a1565b96509485019493909301925050600101614392565b50505082810360208401526144578186886142ef565b9050828103604084015261329e818561433a565b60008060006060848603121561448057600080fd5b835161448b8161380b565b602085015190935061449c8161380b565b60408501519092506144ad8161380b565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261451c57600080fd5b83018035915067ffffffffffffffff82111561453757600080fd5b60200191503681900382131561369d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261458157600080fd5b83018035915067ffffffffffffffff82111561459c57600080fd5b602001915060608102360382131561369d57600080fd5b6000606082840312156145c557600080fd5b611a2b8383613aba565b600081518084526020808501945080840160005b8381101561436a578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016145e3565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261469860e08501826145cf565b9050608083015184820360c086015261301582826145cf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526146ea608083018561462e565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006130c46060830184866141a1565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261427d57600080fd5b60006080823603121561477757600080fd5b6040516080810167ffffffffffffffff828210818311171561479b5761479b61396b565b8160405284359150808211156147b057600080fd5b6147bc36838701613b79565b8352602085013560208401526040850135604084015260608501359150808211156147e657600080fd5b506147f336828601613cca565b60608301525092915050565b808201808211156106a5576106a56140ef565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261484c61010086018261462e565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015614925577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526148f98885018261433a565b91890151848303858b01529190506149118183613f95565b968b0196958b0195935050506001016148ad565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526149728184018761462e565b90508281036040840152614986818661462e565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149fd576149fd6140ef565b5060010190565b60006106a53683613b79565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614a4557600080fd5b830160208101925035905067ffffffffffffffff811115614a6557600080fd5b60608102360382131561369d57600080fd5b8183526000602080850194508260005b8581101561436a578135614a9a8161380b565b73ffffffffffffffffffffffffffffffffffffffff16875260ff614abf838501613aa9565b16878401526040828101359088015260609687019690910190600101614a87565b600073ffffffffffffffffffffffffffffffffffffffff8086168352606060208401528435614b0e8161380b565b811660608401526020850135614b2381613a12565b151560808401526040850135614b388161380b565b811660a08401526060850135614b4d8161380b565b811660c08401526080850135614b628161380b565b1660e0830152614b7560a0850185614a10565b60e0610100850152614b8c61014085018284614a77565b915050614b9c60c0860186614a10565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085840301610120860152614bd2838284614a77565b9350505050826040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260808101611a2b6020830184614131565b606081526000614c226060830186613fdf565b8281036020840152614c34818661433a565b905082810360408401526130c4818561433a565b602081526000611a2b602083018461462e565b602081526000611a2b6020830184613f95565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614ca484835161433a565b98850198935090840190600101614c8c565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528260408201526080606082015260006130c46080830184614c6e565b600082601f830112614d0257600080fd5b81516020614d12613b2583613a85565b82815260059290921b84018101918181019086841115614d3157600080fd5b8286015b84811015613e2f5780518352918301918301614d35565b60008060408385031215614d5f57600080fd5b825167ffffffffffffffff80821115614d7757600080fd5b614d8386838701614cf1565b93506020850151915080821115614d9957600080fd5b50614da685828601614cf1565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006124826040830184614c6e565b828152604060208201526000612482604083018461433a565b600060208284031215614e0a57600080fd5b8151611a2b81613a12565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000825161427d818460208701613f71565b8281526040602082015260006124826040830184613f95565b80820281158282048414176106a5576106a56140ef565b600181815b80851115614f0e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614ef457614ef46140ef565b80851615614f0157918102915b93841c9390800290614eba565b509250929050565b600082614f25575060016106a5565b81614f32575060006106a5565b8160018114614f485760028114614f5257614f6e565b60019150506106a5565b60ff841115614f6357614f636140ef565b50506001821b6106a5565b5060208310610133831016604e8410600b8410161715614f91575081810a6106a5565b614f9b8383614eb5565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614fcd57614fcd6140ef565b029392505050565b6000611a2b8383614f1656fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "5807:20091:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7891:678;;;;;;:::i;:::-;;:::i;:::-;;5137:2321:43;;;;;;:::i;:::-;;:::i;:::-;;;1804:14:51;;1797:22;1779:41;;1767:2;1752:18;5137:2321:43;;;;;;;;7899:164;;;;;;:::i;:::-;;:::i;:::-;;;2252:25:51;;;2240:2;2225:18;7899:164:43;2106:177:51;8608:1084:44;;;;;;:::i;:::-;;:::i;10514:3413::-;;;;;;:::i;:::-;;:::i;:::-;;;;3409:25:51;;;3465:2;3450:18;;3443:34;;;;3382:18;10514:3413:44;3235:248:51;13966:3475:44;;;;;;:::i;:::-;;:::i;407:308:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6793:87:44:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7504:110:43;;;;;;:::i;:::-;;:::i;10151:324:44:-;;;;;;:::i;:::-;;:::i;7362:490::-;;;;;;:::i;:::-;;:::i;7891:678::-;2261:21:13;:19;:21::i;:::-;8011:10:44::1;7974:21;7998:24:::0;;;:12:::1;:24;::::0;;;;;;;7974:21;;8023:13:::1;::::0;;::::1;:7:::0;:13:::1;:::i;:::-;7998:39;;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;7998:39:44;;;8038:15;;::::1;;7998:56:::0;;;;;;;;;;-1:-1:-1;8090:33:44::1;::::0;:14;::::1;;7998:56:::0;8090:18:::1;:33::i;:::-;8064:59:::0;-1:-1:-1;8385:31:44::1;8064:59:::0;8385:13;:31:::1;:::i;:::-;8339:10;8326:24;::::0;;;:12:::1;:24;::::0;;;;;;;;8351:13:::1;::::0;;::::1;:7:::0;:13:::1;:::i;:::-;8326:39;;;;;;;;;;;;;;;:56;8366:7;:15;;;8326:56;;;;;;;;;;;:90;;;;8431:46;8440:10;8452:7;8461:15;8431:46;;;;;;;;:::i;:::-;;;;;;;;8487:75;8519:13;;::::0;::::1;:7:::0;:13:::1;:::i;:::-;8534:10;8546:15;8487:31;:75::i;:::-;7964:605;;2303:20:13::0;1716:1;2809:7;:22;2629:209;2303:20;7891:678:44;:::o;5137:2321:43:-;5295:4;5439:18;:16;:18::i;:::-;5715:20;;;5711:77;;5762:11;;;;;;;;;;;;;;5711:77;5805:32;;;5801:92;;5864:14;;;;;;;;;;;;;;5801:92;5906:6;:15;;;;;;;;;;;;;;;5935:21;;;;;;;;;;;;;;;5970:7;:17;;;6005:11;;6001:106;;6036:56;:27;;;6072:9;6084:7;6036:27;:56::i;:::-;6145:237;;;;;6127:15;;6145:21;;;;;;:237;;6205:10;;6250:6;;6292:7;;6127:15;;6367:5;;;;6145:237;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6127:255;;425:45:47;6396:7:43;:41;6392:113;;6460:34;;;;;;;;2252:25:51;;;2225:18;;6460:34:43;;;;;;;;6392:113;6884:7;;;-1:-1:-1;6909:11:43;;6905:154;;6980:9;;6947:6;;6940:75;;6980:9;6947:6;;;;6980:9;7000:4;7007:7;6940:31;:75::i;:::-;7043:1;7033:7;:11;6905:154;7182:9;:45;;;;;;;;;7241:6;:19;;;;;;;7411:18;:16;:18::i;:::-;-1:-1:-1;7447:4:43;;5137:2321;-1:-1:-1;;;;;;5137:2321:43:o;7899:164::-;7969:7;7995:15;:13;:15::i;:::-;:61;;8017:39;;;;;8050:4;8017:39;;;18491:74:51;8017:24:43;;;;;;18464:18:51;;8017:39:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7995:61;;;8013:1;7995:61;7988:68;7899:164;-1:-1:-1;;7899:164:43:o;8608:1084:44:-;2261:21:13;:19;:21::i;:::-;8689:27:44::1;::::0;;8769:36:::1;;::::0;::::1;:7:::0;:36:::1;:::i;:::-;:58;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:88;;;8871:23;;::::0;::::1;:7:::0;:23:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;8916:23;;::::0;::::1;:7:::0;:23:::1;:::i;:::-;:33;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:38::0;3277:11;;2763:1:44::1;3301:16:38::0;;;3348:4;3337:16;;3330:27;3002:1:44::1;3377:16:38::0;;;3370:27;3195:22;3423:16;;3410:30;;;8769:281:44::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8688:362;;;;;;9060:19;9082:262;;;;;;;;9101:10;9082:262;;;;;;9208:1;9125:7;:23;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;2640:1;9125:73:::0;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:84:::0;;;::::1;9082:262:::0;;-1:-1:-1;9223:44:44::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;9082:262;9223:44:::0;;::::1;::::0;;;;;;::::1;::::0;;;;9082:262;::::1;::::0;;9281:19:::1;:7:::0;;:19:::1;:::i;:::-;9082:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9314:7;:20;;;;;;;;:::i;:::-;9082:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;9060:284:::1;;9354:18;9375:13;:6;:11;:13::i;:::-;9399:18;::::0;;;:6:::1;:18;::::0;;;;;;2203:1:::1;9399:31:::0;;9354:34;;-1:-1:-1;9445:74:44::1;::::0;9454:10:::1;::::0;9466:23:::1;::::0;;::::1;:7:::0;:23:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;9500:6;9508:10;9445:74;;;;;;;;;:::i;:::-;;;;;;;;9556:1;9534:12;;::::0;::::1;:7:::0;:12:::1;:::i;:::-;:19;;:23;9530:156;;;9573:39;9599:12;;::::0;::::1;:7:::0;:12:::1;:::i;:::-;9573:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9573:25:44::1;::::0;-1:-1:-1;;;9573:39:44:i:1;:::-;9631:44;9638:10;9650::::0;9662:12:::1;;::::0;::::1;:7:::0;:12:::1;:::i;:::-;9631:44;;;;;;;;;:::i;:::-;;;;;;;;9530:156;8678:1014;;;;;2303:20:13::0;1716:1;2809:7;:22;2629:209;10514:3413:44;10628:19;10649:20;2261:21:13;:19;:21::i;:::-;10685:10:44::1;10709:33;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10709:33:44::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10807:24:44;::::1;;10841:2351;10853:18;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;:25;;10848:2;:30;:53;;;;;10900:1;10882:15;:19;10848:53;10841:2351;;;10930:18;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;10949:2;10930:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;10917:35;;;:::i;:::-;10975:16:::0;;10917:35;;-1:-1:-1;10975:16:44;-1:-1:-1;10975:16:44::1;11026:13;10975:16:::0;11026:11:::1;:13::i;:::-;2314:1;11057:18:::0;;;:6:::1;:18;::::0;;;;;11005:34;;-1:-1:-1;11053:2068:44::1;;11140:12:::0;;11114:51:::1;::::0;;11128:10:::1;30350:34:51::0;;30299:42;30420:15;;;30415:2;30400:18;;30393:43;30452:18;;30445:34;;;11114:51:44::1;::::0;30277:2:51;30262:18;11114:51:44::1;;;;;;;11053:2068;;;11261:18;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;11208:71;;:6;:18;;;11227:10;:23;;;11208:43;;;;;;;;:::i;:::-;;;;;;;:49;;;:71;;;11204:209;;11324:6;:18;;;11343:10;:23;;;11324:43;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:49;;11375:18:::1;::::0;;::::1;:11:::0;:18:::1;:::i;:::-;11310:84;::::0;::::1;::::0;;30674:42:51;30743:15;;;11310:84:44::1;::::0;::::1;30725:34:51::0;30795:15;;30775:18;;;30768:43;30637:18;;11310:84:44::1;30490:327:51::0;11204:209:44::1;11489:17;::::0;;;::::1;::::0;::::1;;:::i;:::-;11434:72;;:6;:19;;;11454:10;:24;;;11434:45;;;;;;;;:::i;:::-;;;;;;;:51;;;:72;;;11430:211;;11551:6;:19;;;11571:10;:24;;;11551:45;;;;;;;;:::i;:::-;;;;;;;:51;;;11604:11;:17;;;;;;;;;;:::i;11430:211::-;11659:45;11707:152;11746:6;11754:10;:23;;;11779:10;:24;;;11805:10;11817;:24;;;11707:17;:152::i;:::-;11659:200;;12239:11;:26;;;12209:19;:27;;;:56;12205:902;;;12327:12:::0;;12294:58:::1;::::0;;12315:10:::1;30350:34:51::0;;30299:42;30420:15;;;30415:2;30400:18;;30393:43;30452:18;;30445:34;;;12294:58:44::1;::::0;30277:2:51;30262:18;12294:58:44::1;;;;;;;;12205:902;;;12381:29:::0;;::::1;:34:::0;12377:730:::1;;12472:12:::0;;12444:53:::1;::::0;;12460:10:::1;30350:34:51::0;;30299:42;30420:15;;;30415:2;30400:18;;30393:43;30452:18;;30445:34;;;12444:53:44::1;::::0;30277:2:51;30262:18;12444:53:44::1;30087:398:51::0;12377:730:44::1;12642:29:::0;;12605:14:::1;::::0;12622:50:::1;::::0;:15;;:19:::1;:50::i;:::-;12605:67;;12750:15;12768:67;12789:19;:27;;;12818:16;12768:6;:20;;:67;;;;;:::i;:::-;12750:85:::0;-1:-1:-1;12858:25:44::1;12877:6:::0;12858:25;::::1;:::i;:::-;::::0;-1:-1:-1;12905:23:44::1;12921:7:::0;12905:23;::::1;:::i;:::-;;;12951:60;12966:6;12974:7;12983:6;12991:19;12951:14;:60::i;:::-;13038:50;13048:10;13060;13072:6;13080:7;13038:50;;;;;;;;;:::i;:::-;;;;;;;;12522:585;;12377:730;11186:1935;11053:2068;-1:-1:-1::0;13163:4:44::1;::::0;;::::1;::::0;10841:2351:::1;;;13215:42;13242:15:::0;13215:24:::1;::::0;::::1;;:42;:::i;:::-;13201:56;;13286:11;:24;;;13272:11;:38;13268:127;;;13346:24;13333:51:::0;;::::1;::::0;;13346:24;;::::1;;13333:51;::::0;::::1;3409:25:51::0;3450:18;;;3443:34;;;3382:18;;13333:51:44::1;3235:248:51::0;13268:127:44::1;13640:84;13684:10;13704:4;13711:12:::0;13647:18:::1;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;13640:43;;::::0;:84;;:43:::1;:84::i;:::-;13845:75;13877:17;::::0;;;::::1;::::0;::::1;;:::i;:::-;13896:10;13908:11;13845:31;:75::i;:::-;10675:3252;;;;2303:20:13::0;1716:1;2809:7;:22;2629:209;2303:20;10514:3413:44;;;:::o;13966:3475::-;2261:21:13;:19;:21::i;:::-;14258:10:44;;14242:12;;:26:::1;::::0;;::::1;::::0;::::1;::::0;14238:95:::1;;14305:12:::0;;14295:23:::1;::::0;::::1;::::0;;18521:42:51;18509:55;;;14295:23:44::1;::::0;::::1;18491:74:51::0;18464:18;;14295:23:44::1;18345:226:51::0;14238:95:44::1;14449:4;:16;;;14466:12;:28;;;14449:46;;;;;;;;:::i;:::-;;;;;;;:52;;;14367:134;;:6;:19;;;14387:12;:31;;;14367:52;;;;;;;;:::i;:::-;;;;;;;:58;;;:134;;;14346:395;;14576:6;:19;;;14596:12;:31;;;14576:52;;;;;;;;:::i;:::-;;;;;;;:58;;;14656:4;:16;;;14673:12;:28;;;14656:46;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:52;14541:185:::1;::::0;::::1;::::0;;30674:42:51;30743:15;;;14541:185:44::1;::::0;::::1;30725:34:51::0;30795:15;;30775:18;;;30768:43;30637:18;;14541:185:44::1;30490:327:51::0;14346:395:44::1;14854:18;::::0;::::1;::::0;:50;;14873:30;::::1;::::0;14854:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;14776:134;;:4;:17;;;14794:12;:29;;;14776:48;;;;;;;;:::i;:::-;;;;;;;:54;;;:134;;;14755:395;;14985:18;::::0;::::1;::::0;:50;;15004:30;::::1;::::0;14985:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;15063:4;:17;;;15081:12;:29;;;15063:48;;;;;;;;:::i;14755:395::-;2314:1;15375:6;:21;15382:13;:6;:11;:13::i;:::-;15375:21;;;;;;;;;;;;:35:::0;15371:157:::1;;15435:54;15449:10;15461:6;:12;;;15475:13;:6;:11;:13::i;:::-;15435:54;::::0;;30299:42:51;30368:15;;;30350:34;;30420:15;;;;30415:2;30400:18;;30393:43;30452:18;;;30445:34;30277:2;30262:18;15435:54:44::1;;;;;;;15507:7;;15371:157;2314:1;15545:6;:19;15552:11;:4;:9;:11::i;:::-;15545:19;;;;;;;;;;;;:33:::0;15541:151:::1;;15603:50;15617:10;15629:4;:10;;;15641:11;:4;:9;:11::i;15541:151::-;15762:45;15768:10;15780:6;15788:4;15794:12;15762:45;;;;;;;;;:::i;:::-;;;;;;;;15827:50;15880:143;15911:6;15919:12;:30;;;15951:12;:31;;;15984:4;:10;;;15996:17;15880;:143::i;:::-;15827:196;;16033:48;16084:141;16115:4;16121:12;:28;;;16151:12;:29;;;16182:6;:12;;;16196:19;16084:17;:141::i;:::-;16033:192;;16235:41;16291:80;16322:24;16348:22;16291:30;:80::i;:::-;16235:136;;16382:109;16397:6;16405:17;:28;;;16435:17;:29;;;16466:24;16382:14;:109::i;:::-;16501:101;16516:4;16522:17;:26;;;16550:17;:27;;;16579:22;16501:14;:101::i;:::-;16814:26;::::0;::::1;::::0;16782:29;;16759:20:::1;::::0;16782:58:::1;::::0;::::1;:::i;:::-;16759:81;;16854:18;16905:17;:28;;;16875:17;:27;;;:58;;;;:::i;:::-;16854:79:::0;-1:-1:-1;16951:16:44;;16947:209:::1;;17000:10;16987:24;::::0;;;:12:::1;:24;::::0;;;;;;17012:19:::1;::::0;::::1;::::0;:52;;17129:12;;16987:24;;17032:31;::::1;;::::0;17012:52;::::1;;;;;:::i;:::-;;;;;;;:58;;;16987:84;;;;;;;;;;;;;;;:138;17072:12;:52;;;16987:138;;;;;;;;;;;;:154;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;16947:209:44::1;17173:14:::0;;17169:199:::1;;17220:10;17207:24;::::0;;;:12:::1;:24;::::0;;;;17232:17:::1;::::0;::::1;::::0;:48;;17343:10;;17207:24;17232:17;17250:29:::1;::::0;::::1;;::::0;17232:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;17207:80;;;;;;;;;;;;;;;:132;17288:12;:50;;;17207:132;;;;;;;;;;;;:146;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;17169:199:44::1;-1:-1:-1::0;;17393:41:44::1;::::0;;17404:10:::1;34284:74:51::0;;34394:13;;34389:2;34374:18;;;34367:41;;;;34450:15;;34444:22;34424:18;;;34417:50;34509:15;;;34503:22;34498:2;34483:18;;;34476:50;;;;34569:15;;34563:22;34557:3;34542:19;;34535:51;17393:41:44::1;::::0;34271:3:51;34256:19;17393:41:44::1;;;;;;;14214:3227;;;2292:1:13;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;13966:3475:44;;;;;:::o;407:308:18:-;475:22;531:4;519:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:34;;558:9;553:132;573:15;;;553:132;;;622:52;659:4;666;;671:1;666:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;622:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;622:28:18;;-1:-1:-1;;;622:52:18:i;:::-;609:7;617:1;609:10;;;;;;;;:::i;:::-;;;;;;:65;;;;590:3;;;;;:::i;:::-;;;;553:132;;;;407:308;;;;:::o;10151:324:44:-;2261:21:13;:19;:21::i;:::-;10245:12:44::1;;::::0;::::1;:6:::0;:12:::1;:::i;:::-;10231:26;;:10;:26;;;10227:103;;10294:10;10306:12;;::::0;::::1;:6:::0;:12:::1;:::i;:::-;10280:39;::::0;::::1;::::0;;30674:42:51;30743:15;;;10280:39:44::1;::::0;::::1;30725:34:51::0;30795:15;;30775:18;;;30768:43;30637:18;;10280:39:44::1;30490:327:51::0;10227:103:44::1;10339:18;10360:13;:11;:6:::0;:11:::1;:::i;:::-;;:13::i;:::-;10391:18;::::0;;;:6:::1;:18;::::0;;;;;10383:27;;;;10425:43;10339:34;;-1:-1:-1;10425:43:44::1;::::0;::::1;::::0;10437:10:::1;::::0;10449:6;;10339:34;;10425:43:::1;:::i;:::-;;;;;;;;10217:258;2303:20:13::0;1716:1;2809:7;:22;2629:209;7362:490:44;2261:21:13;:19;:21::i;:::-;7642:28:44::1;7650:10;7662:7;7642:28;;;;;;;:::i;:::-;;;;;;;;7680:81;7719:10;7739:4;7746:14;::::0;::::1;;7687:13;;::::0;::::1;7746:7:::0;7687:13:::1;:::i;7680:81::-;7784:10;7771:24;::::0;;;:12:::1;:24;::::0;;;7831:14:::1;7771:24:::0;;;7831:14;;::::1;;::::0;7771:24;;7796:13:::1;::::0;;::::1;7831:7:::0;7796:13:::1;:::i;:::-;7771:39;;;;;;;;;;;;;;;:56;7811:7;:15;;;7771:56;;;;;;;;;;;;:74;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:13;2809:7;:22;7891:678:44;:::o;1424:292:25:-;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;;;;;;;3409:25:51;;;3450:18;;;3443:34;;;3382:18;;1619:46:25;3235:248:51;1564:112:25;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;917:319:33:-;1116:14;;;978:26;1116:14;;;;;;;;;978:26;;;;1067:48;;;;;;978:26;1116:14;;;;;;;;;;;;;;;;;;;-1:-1:-1;1132:16:33;;;1146:1;1132:16;;;;;;1150;;;;;;;;;;1067:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;917:319:33:o;2336:287:13:-;1759:1;2468:7;;:19;2460:63;;;;;;;39803:2:51;2460:63:13;;;39785:21:51;39842:2;39822:18;;;39815:30;39881:33;39861:18;;;39854:61;39932:18;;2460:63:13;39601:355:51;2460:63:13;1759:1;2598:7;:18;2336:287::o;588:104:22:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;680:1;672:13;665:20;588:104;-1:-1:-1;;;588:104:22:o;4368:723:43:-;4618:6;;;4608:16;;;4618:6;;4608:16;:51;;;;-1:-1:-1;4649:9:43;;;4628:31;;;4649:9;;4628:31;4608:51;4604:374;;;4675:22;4700:24;4716:7;;4700:11;:15;;:24;;;;:::i;:::-;4675:49;-1:-1:-1;4738:29:43;4675:49;4738:29;;:::i;:::-;;;4953:14;4942:7;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4604:374:43;4992:15;;4988:97;;5023:51;:27;;;5051:9;5062:11;5023:27;:51::i;2089:158::-;2145:15;:13;:15::i;:::-;2141:100;;;2202:9;;2214:6;;2222:7;;2183:47;;;;;2202:9;;;;2183:47;;;30350:34:51;2214:6:43;;;;30400:18:51;;;30393:43;30452:18;;;30445:34;30262:18;;2183:47:43;30087:398:51;2141:100:43;2089:158::o;763:205:16:-;902:58;;40165:42:51;40153:55;;902:58:16;;;40135:74:51;40225:18;;;40218:34;;;875:86:16;;895:5;;925:23;;40108:18:51;;902:58:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;875:19;:86::i;974:241::-;1139:68;;30299:42:51;30368:15;;;1139:68:16;;;30350:34:51;30420:15;;30400:18;;;30393:43;30452:18;;;30445:34;;;1112:96:16;;1132:5;;1162:27;;30262:18:51;;1139:68:16;30087:398:51;1112:96:16;974:241;;;;:::o;1931:152:43:-;2011:9;;1979:4;;2003:32;2011:9;2003:32;;;:56;;-1:-1:-1;2039:6:43;;:20;:6;:20;;2003:56;:72;;;-1:-1:-1;2063:7:43;;:12;;2003:72;1995:81;;1931:152;:::o;567:129:49:-;625:7;680:6;669:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;659:29;;669:18;659:29;;;;;567:129;-1:-1:-1;;567:129:49:o;1075:155:25:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;18150:4582:44:-;18386:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18386:25:44;18447:18;18468:13;:6;:11;:13::i;:::-;18592:78;;;3701:1;18592:78;;;;;;;;;18447:34;;-1:-1:-1;18496:27:44;;18555:34;;18592:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;18817:12:44;;4055:4:38;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;18801:30:44;;;;4149:16:38;;;4142:27;18833:31:44;;;3967:22:38;4189:16;;4182:27;4246:4;4235:16;;4222:30;;18555:115:44;;-1:-1:-1;18688:15:44;18737:1;4134;18704:34;18688:51;;;;;;;;:::i;:::-;;;;;;:194;;;;18952:485;19015:6;:18;;;19034:13;19015:33;;;;;;;;:::i;:::-;;;;;;;:39;;;18999:57;;19078:6;:18;;;19097:13;19078:33;;;;;;;;:::i;:::-;;;;;;;:42;;;18952:485;;19142:6;:18;;;19161:13;19142:33;;;;;;;;:::i;:::-;;;;;;;:41;;;19205:12;:26;19218:6;:12;;;19205:26;;;;;;;;;;;;;;;:67;19232:6;:18;;;19251:13;19232:33;;;;;;;;:::i;:::-;;;;;;;:39;;;19205:67;;;;;;;;;;;;;;;:135;19273:6;:18;;;19292:13;19273:33;;;;;;;;:::i;:::-;;;;;;;:66;;;19205:135;;;;;;;;;;;;19418:1;5980:4:38;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;18952:485:44;18901:15;18947:1;4669;18917:31;18901:48;;;;;;;;:::i;:::-;;;;;;:536;;;;19508:495;19571:6;:19;;;19591:14;19571:35;;;;;;;;:::i;:::-;;;;;;;:41;;;19555:59;;19636:6;:19;;;19656:14;19636:35;;;;;;;;:::i;:::-;;;;;;;:44;;;19508:495;;19702:6;:19;;;19722:14;19702:35;;;;;;;;:::i;:::-;;;;;;;:43;;;19767:12;:26;19780:6;:12;;;19767:26;;;;;;;;;;;;;;;:69;19794:6;:19;;;19814:14;19794:35;;;;;;;;:::i;:::-;;;;;;;:41;;;19767:69;;;;;;;;;;;;;;;:139;19837:6;:19;;;19857:14;19837:35;;;;;;;;:::i;19508:495::-;19456:15;19503:1;4836;19472:32;19456:49;;;;;;;;:::i;:::-;;;;;;:547;;;;20032:49;20049:15;20066:14;20032:16;:49::i;:::-;20021:60;;18537:1559;20272:25;20336:6;:12;;;20320:30;;20272:79;;20366:23;20391:21;20416:6;:16;;;:28;;;:33;;;20467:6;:16;;;:22;;;20491:10;20503:52;20527:6;:16;;;:27;;;20503:23;:52::i;:::-;20557:8;20416:163;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20365:214;;;;20594:23;20620:6;20643:1;20627:6;:13;:17;20620:25;;;;;;;;:::i;:::-;;;;;;;20594:51;;20659:21;20683:6;20706:1;20690:6;:13;:17;20683:25;;;;;;;;:::i;:::-;;;;;;;20659:49;;20902:458;20942:6;:19;;;20962:14;20942:35;;;;;;;;:::i;:::-;;;;;;;:44;;;20902:458;;503:6:40;20902:15:44;:22;;:458;;;;;:::i;:::-;20884:476;;21556:479;21598:6;:19;;;21618:14;21598:35;;;;;;;;:::i;:::-;;;;;;;:44;;;21660:6;:18;;;21679:13;21660:33;;;;;;;;:::i;:::-;;;;;;;:42;;;416:1:40;21556:13:44;:24;;:479;;;;;;:::i;:::-;21540:495;;22196:186;22233:12;:26;22246:6;:12;;;22233:26;;;;;;;;;;;;;;;:69;22260:6;:19;;;22280:14;22260:35;;;;;;;;:::i;:::-;;;;;;;:41;;;22233:69;;;;;;;;;;;;;;;:135;22303:6;:19;;;22323:14;22303:35;;;;;;;;:::i;:::-;;;;;;;:64;;;22233:135;;;;;;;;;;;;22196:15;:19;;:186;;;;:::i;:::-;3283:4:38;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;22178:204:44;;-1:-1:-1;22518:8:44;4329:1;22518:37;;;;;;;;:::i;:::-;;;;;;:97;;;;22637:78;;;;;;;;22656:15;22637:78;;;;22673:13;22637:78;;;;22688:8;22637:78;;;;22698:10;22637:78;;;;22710:4;22637:78;;;22630:85;;;;;;;;;18150:4582;;;;;;;:::o;646:163:39:-;738:7;764:38;:1;773;339:4:40;793:8:39;764;:38::i;:::-;757:45;646:163;-1:-1:-1;;;;646:163:39:o;23310:2586:44:-;23590:6;23500:19;:27;;;4669:1;23500:56;;;;;;;;:::i;:::-;;;;;;;5653:1;23500:87;;;;;;;;:::i;:::-;;;;;;:96;;;;;23697:7;23606:19;:27;;;4836:1;23606:57;;;;;;;;:::i;:::-;;;;;;;5653:1;23606:88;;;;;;;;:::i;:::-;;;;;;;;;;:98;23719:10;;23715:363;;23829:12;;23816:26;;;;;;:12;:26;;;;;;23876:27;;;;:56;;24061:6;;23816:26;23876:27;4669:1;;23876:56;;;;;;:::i;:::-;;;;;;;4954:1;23876:80;;;;;;;;:::i;:::-;;;;;;;23816:156;;;;;;;;;;;;;;;:241;23973:19;:27;;;4669:1;23973:56;;;;;;;;:::i;:::-;;;;;;;5196:1;23973:83;;;;;;;;:::i;:::-;;;;;;;23816:241;;;;;;;;;;;;:251;;;;;;;:::i;:::-;;;;-1:-1:-1;;23715:363:44;24091:11;;24087:368;;24203:12;;24190:26;;;;;;:12;:26;;;;;;24250:27;;;;:57;;24437:7;;24190:26;24250:27;4836:1;;24250:57;;;;;;:::i;:::-;;;;;;;4954:1;24250:81;;;;;;;;:::i;:::-;;;;;;;24190:157;;;;;;;;;;;;;;;:243;24348:19;:27;;;4836:1;24348:57;;;;;;;;:::i;:::-;;;;;;;5196:1;24348:84;;;;;;;;:::i;:::-;;;;;;;24190:243;;;;;;;;;;;;:254;;;;;;;:::i;:::-;;;;-1:-1:-1;;24087:368:44;24621:48;24629:10;24641:19;:27;;;24621:48;;;;;;;:::i;:::-;;;;;;;;24900:23;;;;:30;:34;24896:147;;24950:6;:16;;;:22;;;:26;;;24977:19;:29;;;25008:19;:23;;;24950:82;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24896:147;25201:6;:15;;;25197:693;;;25351:29;25384:6;:16;;;:28;;;:33;;;25435:6;:16;;;:22;;;25475:19;:29;;;25522:46;25540:6;:16;;;:27;;;25522:17;:46::i;:::-;25586:19;:27;;;25384:243;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25348:279;;;25773:1;25751:12;:19;:23;25747:133;;;25794:6;:16;;;:22;;;:26;;;25821:19;:29;;;25852:12;25794:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25218:672;23310:2586;;;;:::o;3258:1690:50:-;3432:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:23:50;3467:41;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3467:41:50;3886:30;;;;3839:32;;3564:385;;3839:96;;:32;3918:16;3839:46;:96::i;:::-;3564:34;;;:38;:385::i;:::-;3532:417;;4315:32;;;;4266:34;;3993:387;;4266:100;;:34;4349:16;4266:48;:100::i;:::-;3993:32;;;:36;:387::i;:::-;3963:27;;;;:417;;;;4591:32;;;4547:29;;:95;;4625:16;4547:43;:95::i;:::-;4500:28;;;:142;4848:30;;;;;4806:27;;;;:91;;4880:16;4806:41;:91::i;:::-;4761:26;;;:136;:26;3258:1690;-1:-1:-1;;;3258:1690:50:o;6469:198:17:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;3747:706:16:-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;4192:27;;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:16;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;;;;44635:2:51;4351:85:16;;;44617:21:51;44674:2;44654:18;;;44647:30;44713:34;44693:18;;;44686:62;44784:12;44764:18;;;44757:40;44814:19;;4351:85:16;44433:406:51;550:376:25;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:25;;550:376;-1:-1:-1;550:376:25:o;631:34::-;-1:-1:-1;846:1:25;835:13;829:20;691:16;825:32;667:18:24;883:36:25;;550:376::o;7162:2290:32:-;7297:18;7355:24;7396:14;:21;7382:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7382:36:32;;7355:63;;7567:21;7641:1;7617:14;:21;:25;:57;;7673:1;7617:57;;;7645:14;:21;7669:1;7645:25;7617:57;7595:11;:18;7591:1;:22;:84;7567:108;;7690:26;7735:13;7719:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:59;;7763:14;7813:17;3283:4:38;3277:11;;3315:1;3301:16;;2284:10:32;3348:4:38;3337:16;;3330:27;2322:4:32;3377:16:38;;;3370:27;2207:16:32;3423::38;;3410:30;;;3277:11;1931:152:43;7813:17:32;7795:7;7803:6;7795:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7850:9;7845:140;7869:11;:18;7865:1;:22;7845:140;;;7912:8;;;;;;;7956:11;7968:1;7956:14;;;;;;;;:::i;:::-;;;;;;;7938:7;7946:6;7938:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7889:3;;7845:140;;;-1:-1:-1;8003:21:32;;:25;7999:1408;;8048:8;;;;;;;8092:7;8074;8082:6;8074:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8123:9;8118:1275;8142:14;:21;8138:1;:25;8118:1275;;;8820:284;8886:14;8901:1;8886:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8940:81;8969:51;8994:14;9009:1;8994:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:23;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8969:51:32;7455:58:20;;45756:66:51;7455:58:20;;;45744:79:51;45839:12;;;45832:28;;;7325:7:20;;45876:12:51;;7455:58:20;;;;;;;;;;;;7445:69;;;;;;7438:76;;7256:265;;;;8940:81:32;9051:14;9066:1;9051:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8820:36;:284::i;:::-;8192:1010;;9160:19;;;;;;;;2252:25:51;;;2225:18;;9160:19:32;2106:177:51;8192:1010:32;9253:14;9268:1;9253:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9237:42;;9224:7;9232:1;9224:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9301:8;;;;;;;9349:14;9364:1;9349:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9331:7;9339:6;9331:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8165:3;;8118:1275;;;;7999:1408;-1:-1:-1;9428:7:32;7162:2290;-1:-1:-1;;;;;7162:2290:32:o;9698:213:44:-;9775:15;1052:2:34;1019:35;;;;;2883:1:44;1018:103:34;9809:95:44;816:322:34;7076:898:41;7168:7;7238:15;253:2:40;7215:38:41;7211:747;;;253:2:40;7296:38:41;;;416:1:40;7356:22:41;;:26;7352:195;;7413:34;7430:2;7434:12;7413:16;:34::i;:::-;7406:41;;;;;7352:195;7501:27;7511:2;7515:12;7501:9;:27::i;7211:747::-;253:2:40;7571:15:41;:38;7567:391;;;7650:38;;;503:6:40;7710:22:41;;:26;7706:190;;7767:33;7785:2;7789:10;7767:17;:33::i;7706:190::-;7854:23;7862:2;7866:10;7854:7;:23::i;7567:391::-;-1:-1:-1;7941:2:41;7934:9;;10263:901;10398:7;10462:10;10449:23;;:10;:23;;;10445:703;;;10511:23;;;503:6:40;10556:22:41;;:26;10552:198;;10613:37;10631:6;10639:10;10613:37;;:17;:37::i;:::-;10606:44;;;;;10552:198;10704:27;10712:6;10720:10;10704:27;;:7;:27::i;10445:703::-;10787:10;10774:23;;:10;:23;;;10770:378;;;10838:23;;;416:1:40;10883:22:41;;:26;10879:203;;10940:38;10957:6;10965:12;10940:38;;:16;:38::i;10879:203::-;11032:31;11042:6;11050:12;11032:31;;:9;:31::i;10770:378::-;-1:-1:-1;11127:6:41;;10263:901;-1:-1:-1;;;10263:901:41:o;5724:337:22:-;5863:7;5882:14;5899:25;5906:1;5909;5912:11;5899:6;:25::i;:::-;5882:42;-1:-1:-1;5950:11:22;5938:8;:23;;;;;;;;:::i;:::-;;:56;;;;;5993:1;5978:11;5965:25;;;;;:::i;:::-;5975:1;5972;5965:25;:29;5938:56;5934:98;;;6010:11;6020:1;6010:11;;:::i;:::-;;;5934:98;6048:6;5724:337;-1:-1:-1;;;;;5724:337:22:o;9917:195:44:-;9988:15;1059:47:34;1052:2;1019:35;;;;;1018:89;10022:83:44;816:322:34;6853:325:17;6994:12;7019;7033:23;7060:6;:19;;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:17:o;3873:223::-;4006:12;4037:52;4059:6;4067:4;4073:1;4076:12;4037:21;:52::i;1039:667:21:-;1175:4;1192:17;1211:24;1239:33;1256:4;1262:9;1239:16;:33::i;:::-;1191:81;;-1:-1:-1;1191:81:21;-1:-1:-1;1295:26:21;1286:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1338:6;1325:19;;:9;:19;;;1286:58;1282:100;;;1367:4;1360:11;;;;;;1282:100;1393:12;1407:19;1430:6;:17;;1484:34;;;1520:4;1526:9;1461:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1430:116;;;;1461:75;1430:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1392:154;;;;1564:7;:42;;;;;1587:6;:13;1604:2;1587:19;1564:42;:134;;;;-1:-1:-1;1622:29:21;;1663:34;;1622:29;;;;;;;;;;;;:::i;:::-;:76;1564:134;1556:143;1039:667;-1:-1:-1;;;;;;;;1039:667:21:o;4877:613:41:-;4960:10;726:2:40;5010:12:41;:37;5006:468;;5072:7;;:15;;5086:1;5072:15;;;5082:1;5072:15;5067:20;;;;5006:468;;;5139:2;:18;;;;5180:2;5139:18;5180:7;;;;:::i;:::-;;5175:12;;5408:2;5403;:7;5397:2;:13;5393:67;;-1:-1:-1;5440:1:41;5434:7;;4877:613;-1:-1:-1;;4877:613:41:o;4659:212::-;4735:7;726:2:40;4785:12:41;:37;;:69;;4841:12;4835:2;:18;4829:2;:25;;;;;:::i;:::-;;4785:69;;;-1:-1:-1;4825:1:41;;4659:212;-1:-1:-1;;4659:212:41:o;3552:702::-;3634:10;726:2:40;3684:10:41;:35;3680:558;;3744:7;;:31;;3758:17;3744:31;;;3754:1;3744:31;3739:36;;3680:558;;;-1:-1:-1;3957:2:41;:16;;;3996:7;;;;:2;3957:16;3996:7;3957:16;4185:7;;;;:::i;:::-;;:13;:38;;4206:17;4185:38;;2593:700;2772:2;:16;;;2813:7;2772:16;2813:2;:7;:::i;:::-;2808:12;;726:2:40;3190:10:41;:35;3186:101;;3246:7;;:30;;3260:16;3266:10;3260:2;:16;:::i;:::-;3246:30;;1667:3925:22;1779:14;;;2319:6;2316:1;2313;2306:20;2359:1;2356;2352:9;2343:18;;2414:5;2410:2;2407:13;2399:5;2395:2;2391:14;2387:34;2378:43;;;2516:5;2525:1;2516:10;2512:75;;2561:11;2553:5;:19;;;;;:::i;:::-;;2546:26;;;;;;2512:75;2711:5;2697:11;:19;2689:28;;;;;;2973:17;3108:11;3105:1;3102;3095:25;4486:1;3656;3641:12;;:16;;3626:32;;3761:22;;;;4467:1;:15;;4466:21;;4719;;;4715:25;;4704:36;4788:21;;;4784:25;;4773:36;4858:21;;;4854:25;;4843:36;4928:21;;;4924:25;;4913:36;4998:21;;;4994:25;;4983:36;5069:21;;;5065:25;;;5054:36;;;3611:12;4006;;;4002:23;;;3998:31;;;3222:20;;;3211:32;;;4118:12;;;;3269:21;;3859:16;;;;4109:21;;;;5533:15;;;-1:-1:-1;;;;1667:3925:22:o;7466:628:17:-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;1465:19;;;;7908:60;;;;;;;48061:2:51;7908:60:17;;;48043:21:51;48100:2;48080:18;;;48073:30;48139:31;48119:18;;;48112:59;48188:18;;7908:60:17;47859:353:51;7908:60:17;-1:-1:-1;8003:10:17;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;4960:446::-;5125:12;5182:5;5157:21;:30;;5149:81;;;;;;;48419:2:51;5149:81:17;;;48401:21:51;48458:2;48438:18;;;48431:30;48497:34;48477:18;;;48470:62;48568:8;48548:18;;;48541:36;48594:19;;5149:81:17;48217:402:51;5149:81:17;5241:12;5255:23;5282:6;:11;;5301:5;5308:4;5282:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:73;;;;5330:69;5357:6;5365:7;5374:10;5386:12;5330:26;:69::i;:::-;5323:76;4960:446;-1:-1:-1;;;;;;;4960:446:17:o;2145:730:20:-;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:20;;-1:-1:-1;2822:35:20;2259:610;2145:730;;;;;:::o;8616:540:17:-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;;;;;;;;;;:::i;5069:1494:20:-;5195:7;;6119:66;6106:79;;6102:161;;;-1:-1:-1;6217:1:20;;-1:-1:-1;6221:30:20;6201:51;;6102:161;6374:24;;;6357:14;6374:24;;;;;;;;;49075:25:51;;;49148:4;49136:17;;49116:18;;;49109:45;;;;49170:18;;;49163:34;;;49213:18;;;49206:34;;;6374:24:20;;49047:19:51;;6374:24:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6374:24:20;;;;;;-1:-1:-1;;6412:20:20;;;6408:101;;6464:1;6468:29;6448:50;;;;;;;6408:101;6527:6;-1:-1:-1;6535:20:20;;-1:-1:-1;5069:1494:20;;;;;;;;:::o;14:162:51:-;81:5;126:2;117:6;112:3;108:16;104:25;101:45;;;142:1;139;132:12;101:45;-1:-1:-1;164:6:51;14:162;-1:-1:-1;14:162:51:o;181:253::-;275:6;328:2;316:9;307:7;303:23;299:32;296:52;;;344:1;341;334:12;296:52;367:61;420:7;409:9;367:61;:::i;439:177::-;548:42;541:5;537:54;530:5;527:65;517:93;;606:1;603;596:12;621:1013;749:6;757;765;773;781;834:3;822:9;813:7;809:23;805:33;802:53;;;851:1;848;841:12;802:53;890:9;877:23;909:54;957:5;909:54;:::i;:::-;982:5;-1:-1:-1;1039:2:51;1024:18;;1011:32;1052:56;1011:32;1052:56;:::i;:::-;1127:7;-1:-1:-1;1181:2:51;1166:18;;1153:32;;-1:-1:-1;1236:2:51;1221:18;;1208:32;1259:18;1289:14;;;1286:34;;;1316:1;1313;1306:12;1286:34;1354:6;1343:9;1339:22;1329:32;;1399:7;1392:4;1388:2;1384:13;1380:27;1370:55;;1421:1;1418;1411:12;1370:55;1461:2;1448:16;1487:2;1479:6;1476:14;1473:34;;;1503:1;1500;1493:12;1473:34;1548:7;1543:2;1534:6;1530:2;1526:15;1522:24;1519:37;1516:57;;;1569:1;1566;1559:12;1516:57;621:1013;;;;-1:-1:-1;621:1013:51;;-1:-1:-1;1600:2:51;1592:11;;1622:6;621:1013;-1:-1:-1;;;621:1013:51:o;1831:270::-;1890:6;1943:2;1931:9;1922:7;1918:23;1914:32;1911:52;;;1959:1;1956;1949:12;1911:52;1998:9;1985:23;2017:54;2065:5;2017:54;:::i;2288:392::-;2379:6;2432:2;2420:9;2411:7;2407:23;2403:32;2400:52;;;2448:1;2445;2438:12;2400:52;2488:9;2475:23;2521:18;2513:6;2510:30;2507:50;;;2553:1;2550;2543:12;2507:50;2576:22;;2632:3;2614:16;;;2610:26;2607:46;;;2649:1;2646;2639:12;2685:165;2754:5;2799:3;2790:6;2785:3;2781:16;2777:26;2774:46;;;2816:1;2813;2806:12;2855:375;2951:6;3004:2;2992:9;2983:7;2979:23;2975:32;2972:52;;;3020:1;3017;3010:12;2972:52;3060:9;3047:23;3093:18;3085:6;3082:30;3079:50;;;3125:1;3122;3115:12;3079:50;3148:76;3216:7;3207:6;3196:9;3192:22;3148:76;:::i;3488:184::-;3540:77;3537:1;3530:88;3637:4;3634:1;3627:15;3661:4;3658:1;3651:15;3677:253;3749:2;3743:9;3791:4;3779:17;;3826:18;3811:34;;3847:22;;;3808:62;3805:88;;;3873:18;;:::i;:::-;3909:2;3902:22;3677:253;:::o;3935:334::-;4006:2;4000:9;4062:2;4052:13;;4067:66;4048:86;4036:99;;4165:18;4150:34;;4186:22;;;4147:62;4144:88;;;4212:18;;:::i;:::-;4248:2;4241:22;3935:334;;-1:-1:-1;3935:334:51:o;4274:118::-;4360:5;4353:13;4346:21;4339:5;4336:32;4326:60;;4382:1;4379;4372:12;4397:128;4462:20;;4491:28;4462:20;4491:28;:::i;:::-;4397:128;;;:::o;4530:637::-;4586:5;4634:4;4622:9;4617:3;4613:19;4609:30;4606:50;;;4652:1;4649;4642:12;4606:50;4674:22;;:::i;:::-;4665:31;;4733:9;4720:23;4752:56;4800:7;4752:56;:::i;:::-;4817:22;;4891:2;4876:18;;4863:32;4904:56;4863:32;4904:56;:::i;:::-;4987:2;4976:14;;4969:31;5052:2;5037:18;;5024:32;5065:56;5024:32;5065:56;:::i;:::-;5148:2;5137:14;;5130:31;5141:5;4530:637;-1:-1:-1;;4530:637:51:o;5172:185::-;5234:4;5267:18;5259:6;5256:30;5253:56;;;5289:18;;:::i;:::-;-1:-1:-1;5334:1:51;5330:14;5346:4;5326:25;;5172:185::o;5362:156::-;5428:20;;5488:4;5477:16;;5467:27;;5457:55;;5508:1;5505;5498:12;5523:442;5572:5;5620:4;5608:9;5603:3;5599:19;5595:30;5592:50;;;5638:1;5635;5628:12;5592:50;5660:22;;:::i;:::-;5651:31;;5719:9;5706:23;5738:56;5786:7;5738:56;:::i;:::-;5803:22;;5857:36;5889:2;5874:18;;5857:36;:::i;:::-;5852:2;5845:5;5841:14;5834:60;5954:2;5943:9;5939:18;5926:32;5921:2;5914:5;5910:14;5903:56;5523:442;;;;:::o;5970:703::-;6026:5;6079:3;6072:4;6064:6;6060:17;6056:27;6046:55;;6097:1;6094;6087:12;6046:55;6133:6;6120:20;6159:4;6183:62;6199:45;6241:2;6199:45;:::i;:::-;6183:62;:::i;:::-;6279:15;;;6341:4;6384:11;;;6372:24;;6368:33;;;6310:12;;;;6267:3;6413:15;;;6410:35;;;6441:1;6438;6431:12;6410:35;6477:2;6469:6;6465:15;6489:155;6505:6;6500:3;6497:15;6489:155;;;6571:30;6597:3;6592;6571:30;:::i;:::-;6559:43;;6622:12;;;;6522;;6489:155;;;-1:-1:-1;6662:5:51;;5970:703;-1:-1:-1;;;;;;;5970:703:51:o;6678:1071::-;6730:5;6778:4;6766:9;6761:3;6757:19;6753:30;6750:50;;;6796:1;6793;6786:12;6750:50;6829:2;6823:9;6871:4;6863:6;6859:17;6895:18;6963:6;6951:10;6948:22;6943:2;6931:10;6928:18;6925:46;6922:72;;;6974:18;;:::i;:::-;7014:10;7010:2;7003:22;7043:6;7034:15;;7086:9;7073:23;7058:38;;7105:56;7153:7;7105:56;:::i;:::-;7185:7;7177:6;7170:23;7226:35;7257:2;7246:9;7242:18;7226:35;:::i;:::-;7221:2;7213:6;7209:15;7202:60;7295:52;7343:3;7338:2;7327:9;7323:18;7295:52;:::i;:::-;7290:2;7282:6;7278:15;7271:77;7399:4;7388:9;7384:20;7371:34;7357:48;;7428:2;7420:6;7417:14;7414:34;;;7444:1;7441;7434:12;7414:34;7483:59;7538:3;7529:6;7518:9;7514:22;7483:59;:::i;:::-;7476:4;7468:6;7464:17;7457:86;7596:3;7585:9;7581:19;7568:33;7552:49;;7626:2;7616:8;7613:16;7610:36;;;7642:1;7639;7632:12;7610:36;;7681:61;7738:3;7727:8;7716:9;7712:24;7681:61;:::i;:::-;7674:4;7666:6;7662:17;7655:88;;;6678:1071;;;;:::o;7754:589::-;7796:5;7849:3;7842:4;7834:6;7830:17;7826:27;7816:55;;7867:1;7864;7857:12;7816:55;7903:6;7890:20;7929:18;7925:2;7922:26;7919:52;;;7951:18;;:::i;:::-;7995:114;8103:4;8034:66;8027:4;8023:2;8019:13;8015:86;8011:97;7995:114;:::i;:::-;8134:2;8125:7;8118:19;8180:3;8173:4;8168:2;8160:6;8156:15;8152:26;8149:35;8146:55;;;8197:1;8194;8187:12;8146:55;8262:2;8255:4;8247:6;8243:17;8236:4;8227:7;8223:18;8210:55;8310:1;8285:16;;;8303:4;8281:27;8274:38;;;;8289:7;7754:589;-1:-1:-1;;;7754:589:51:o;8348:2577::-;8417:5;8470:3;8463:4;8455:6;8451:17;8447:27;8437:55;;8488:1;8485;8478:12;8437:55;8524:6;8511:20;8550:4;8574:62;8590:45;8632:2;8590:45;:::i;8574:62::-;8670:15;;;8756:1;8752:10;;;;8740:23;;8736:32;;;8701:12;;;;8780:15;;;8777:35;;;8808:1;8805;8798:12;8777:35;8844:2;8836:6;8832:15;8856:2040;8872:6;8867:3;8864:15;8856:2040;;;8958:3;8945:17;8985:18;9035:2;9022:11;9019:19;9016:39;;;9051:1;9048;9041:12;9016:39;9078:24;;;;9209:4;9126:12;;;9140:66;9122:85;9118:96;9115:186;;;9255:1;9284:2;9280;9273:14;9115:186;9327:22;;:::i;:::-;9398:2;9394;9390:11;9377:25;9415:56;9463:7;9415:56;:::i;:::-;9484:22;;9529:2;9573:11;;;9560:25;9601:16;;;9598:106;;;9658:1;9687:2;9683;9676:14;9598:106;9727:17;;9779:2;9771:11;;9767:21;-1:-1:-1;9757:119:51;;9830:1;9859:2;9855;9848:14;9757:119;9921:2;9917;9913:11;9900:25;9951:63;9967:46;10009:3;9967:46;:::i;9951:63::-;10058:18;;;10157:1;10153:11;;;;10145:20;;10141:29;;;10098:14;;;;10186:17;;;10183:110;;;10245:1;10275:3;10270;10263:16;10183:110;10319:11;;;;10343:174;10361:8;10354:5;10351:19;10343:174;;;10443:19;;10429:34;;10382:14;;;;10489;;;;10343:174;;;10537:14;;;10530:29;-1:-1:-1;;;10609:4:51;10601:13;;10588:27;10631:16;;;10628:109;;;10689:1;10719:3;10714;10707:16;10628:109;10773:49;10818:3;10813:2;10802:8;10798:2;10794:17;10790:26;10773:49;:::i;:::-;10757:14;;;10750:73;;;;-1:-1:-1;10836:18:51;;-1:-1:-1;;10874:12:51;;;;8889;;8856:2040;;;-1:-1:-1;10914:5:51;8348:2577;-1:-1:-1;;;;;;8348:2577:51:o;10930:1276::-;11223:6;11231;11239;11247;11255;11308:3;11296:9;11287:7;11283:23;11279:33;11276:53;;;11325:1;11322;11315:12;11276:53;11365:9;11352:23;11394:18;11435:2;11427:6;11424:14;11421:34;;;11451:1;11448;11441:12;11421:34;11474:56;11522:7;11513:6;11502:9;11498:22;11474:56;:::i;:::-;11464:66;;11583:2;11572:9;11568:18;11555:32;11539:48;;11612:2;11602:8;11599:16;11596:36;;;11628:1;11625;11618:12;11596:36;11651:58;11701:7;11690:8;11679:9;11675:24;11651:58;:::i;:::-;11641:68;;11728:72;11792:7;11787:2;11776:9;11772:18;11728:72;:::i;:::-;11718:82;;11853:3;11842:9;11838:19;11825:33;11809:49;;11883:2;11873:8;11870:16;11867:36;;;11899:1;11896;11889:12;11867:36;11922:78;11992:7;11981:8;11970:9;11966:24;11922:78;:::i;:::-;11912:88;;12053:3;12042:9;12038:19;12025:33;12009:49;;12083:2;12073:8;12070:16;12067:36;;;12099:1;12096;12089:12;12067:36;;12122:78;12192:7;12181:8;12170:9;12166:24;12122:78;:::i;:::-;12112:88;;;10930:1276;;;;;;;;:::o;12211:626::-;12308:6;12316;12369:2;12357:9;12348:7;12344:23;12340:32;12337:52;;;12385:1;12382;12375:12;12337:52;12425:9;12412:23;12454:18;12495:2;12487:6;12484:14;12481:34;;;12511:1;12508;12501:12;12481:34;12549:6;12538:9;12534:22;12524:32;;12594:7;12587:4;12583:2;12579:13;12575:27;12565:55;;12616:1;12613;12606:12;12565:55;12656:2;12643:16;12682:2;12674:6;12671:14;12668:34;;;12698:1;12695;12688:12;12668:34;12751:7;12746:2;12736:6;12733:1;12729:14;12725:2;12721:23;12717:32;12714:45;12711:65;;;12772:1;12769;12762:12;12711:65;12803:2;12795:11;;;;;12825:6;;-1:-1:-1;12211:626:51;;-1:-1:-1;;;;12211:626:51:o;12842:250::-;12927:1;12937:113;12951:6;12948:1;12945:13;12937:113;;;13027:11;;;13021:18;13008:11;;;13001:39;12973:2;12966:10;12937:113;;;-1:-1:-1;;13084:1:51;13066:16;;13059:27;12842:250::o;13097:329::-;13138:3;13176:5;13170:12;13203:6;13198:3;13191:19;13219:76;13288:6;13281:4;13276:3;13272:14;13265:4;13258:5;13254:16;13219:76;:::i;:::-;13340:2;13328:15;13345:66;13324:88;13315:98;;;;13415:4;13311:109;;13097:329;-1:-1:-1;;13097:329:51:o;13431:614::-;13482:3;13520:5;13514:12;13547:6;13542:3;13535:19;13573:4;13614:2;13609:3;13605:12;13639:11;13666;13659:18;;13716:6;13713:1;13709:14;13702:5;13698:26;13686:38;;13758:2;13751:5;13747:14;13779:1;13789:230;13803:6;13800:1;13797:13;13789:230;;;13874:5;13868:4;13864:16;13859:3;13852:29;13902:37;13934:4;13925:6;13919:13;13902:37;:::i;:::-;13997:12;;;;13894:45;-1:-1:-1;13962:15:51;;;;13825:1;13818:9;13789:230;;;-1:-1:-1;14035:4:51;;13431:614;-1:-1:-1;;;;;;;13431:614:51:o;14050:277::-;14247:2;14236:9;14229:21;14210:4;14267:54;14317:2;14306:9;14302:18;14294:6;14267:54;:::i;14332:502::-;14409:6;14417;14425;14478:2;14466:9;14457:7;14453:23;14449:32;14446:52;;;14494:1;14491;14484:12;14446:52;14533:9;14520:23;14552:54;14600:5;14552:54;:::i;:::-;14625:5;-1:-1:-1;14682:2:51;14667:18;;14654:32;14695:56;14654:32;14695:56;:::i;:::-;14332:502;;14770:7;;-1:-1:-1;;;14824:2:51;14809:18;;;;14796:32;;14332:502::o;14839:338::-;14907:6;14915;14968:2;14956:9;14947:7;14943:23;14939:32;14936:52;;;14984:1;14981;14974:12;14936:52;15023:9;15010:23;15042:54;15090:5;15042:54;:::i;:::-;15115:5;15167:2;15152:18;;;;15139:32;;-1:-1:-1;;;14839:338:51:o;15182:386::-;15267:6;15320:2;15308:9;15299:7;15295:23;15291:32;15288:52;;;15336:1;15333;15326:12;15288:52;15376:9;15363:23;15409:18;15401:6;15398:30;15395:50;;;15441:1;15438;15431:12;15395:50;15464:22;;15520:3;15502:16;;;15498:26;15495:46;;;15537:1;15534;15527:12;15830:184;15882:77;15879:1;15872:88;15979:4;15976:1;15969:15;16003:4;16000:1;15993:15;16019:128;16086:9;;;16107:11;;;16104:37;;;16121:18;;:::i;16152:386::-;16257:5;16244:19;16272:56;16320:7;16272:56;:::i;:::-;16362:42;16349:56;16337:69;;16462:4;16451:16;;;16438:30;16422:14;;;16415:54;16525:4;16514:16;;;16501:30;16485:14;;16478:54;16152:386::o;16543:473::-;16844:42;16832:55;;16814:74;;16801:3;16786:19;;16897:69;16962:2;16947:18;;16939:6;16897:69;:::i;:::-;17003:6;16997:3;16986:9;16982:19;16975:35;16543:473;;;;;;:::o;17021:325::-;17109:6;17104:3;17097:19;17161:6;17154:5;17147:4;17142:3;17138:14;17125:43;;17213:1;17206:4;17197:6;17192:3;17188:16;17184:27;17177:38;17079:3;17335:4;17265:66;17260:2;17252:6;17248:15;17244:88;17239:3;17235:98;17231:109;17224:116;;17021:325;;;;:::o;17351:618::-;17591:4;17620:42;17701:2;17693:6;17689:15;17678:9;17671:34;17753:2;17745:6;17741:15;17736:2;17725:9;17721:18;17714:43;;17793:6;17788:2;17777:9;17773:18;17766:34;17836:6;17831:2;17820:9;17816:18;17809:34;17880:3;17874;17863:9;17859:19;17852:32;17901:62;17958:3;17947:9;17943:19;17935:6;17927;17901:62;:::i;17974:184::-;18044:6;18097:2;18085:9;18076:7;18072:23;18068:32;18065:52;;;18113:1;18110;18103:12;18065:52;-1:-1:-1;18136:16:51;;17974:184;-1:-1:-1;17974:184:51:o;18765:392::-;18867:4;18925:11;18912:25;19015:66;19004:8;18988:14;18984:29;18980:102;18960:18;18956:127;18946:155;;19097:1;19094;19087:12;18946:155;19118:33;;;;;18765:392;-1:-1:-1;;18765:392:51:o;19468:615::-;19572:4;19578:6;19638:11;19625:25;19728:66;19717:8;19701:14;19697:29;19693:102;19673:18;19669:127;19659:155;;19810:1;19807;19800:12;19659:155;19837:33;;19889:20;;;-1:-1:-1;19932:18:51;19921:30;;19918:50;;;19964:1;19961;19954:12;19918:50;19997:4;19985:17;;-1:-1:-1;20048:1:51;20044:14;;;20028;20024:35;20014:46;;20011:66;;;20073:1;20070;20063:12;20697:358;20797:6;20792:3;20785:19;20767:3;20827:66;20819:6;20816:78;20813:98;;;20907:1;20904;20897:12;20813:98;20943:6;20940:1;20936:14;20995:8;20988:5;20981:4;20976:3;20972:14;20959:45;21024:18;;;;21044:4;21020:29;;20697:358;-1:-1:-1;;;20697:358:51:o;21060:435::-;21113:3;21151:5;21145:12;21178:6;21173:3;21166:19;21204:4;21233:2;21228:3;21224:12;21217:19;;21270:2;21263:5;21259:14;21291:1;21301:169;21315:6;21312:1;21309:13;21301:169;;;21376:13;;21364:26;;21410:12;;;;21445:15;;;;21337:1;21330:9;21301:169;;;-1:-1:-1;21486:3:51;;21060:435;-1:-1:-1;;;;;21060:435:51:o;21500:1760::-;21886:2;21898:21;;;21871:18;;21954:22;;;-1:-1:-1;22007:3:51;22057:1;22053:14;;;22038:30;;22034:40;;;21992:19;;22097:6;-1:-1:-1;22131:858:51;22145:6;22142:1;22139:13;22131:858;;;22234:66;22222:9;22214:6;22210:22;22206:95;22201:3;22194:108;22354:6;22341:20;22441:66;22432:6;22416:14;22412:27;22408:100;22388:18;22384:125;22374:153;;22523:1;22520;22513:12;22374:153;22553:31;;22653:4;22685:14;;;;22611:19;;22726:18;22715:30;;22712:50;;;22758:1;22755;22748:12;22712:50;22811:6;22795:14;22791:27;22782:7;22778:41;22775:61;;;22832:1;22829;22822:12;22775:61;22859:50;22902:6;22894;22885:7;22859:50;:::i;:::-;22849:60;-1:-1:-1;22967:12:51;;;;22932:15;;;;;-1:-1:-1;;22167:1:51;22160:9;22131:858;;;22135:3;;;23039:9;23031:6;23027:22;23020:4;23009:9;23005:20;22998:52;23073:61;23127:6;23119;23111;23073:61;:::i;:::-;23059:75;;23182:9;23174:6;23170:22;23165:2;23154:9;23150:18;23143:50;23210:44;23247:6;23239;23210:44;:::i;23265:641::-;23406:6;23414;23422;23475:2;23463:9;23454:7;23450:23;23446:32;23443:52;;;23491:1;23488;23481:12;23443:52;23523:9;23517:16;23542:54;23590:5;23542:54;:::i;:::-;23665:2;23650:18;;23644:25;23615:5;;-1:-1:-1;23678:56:51;23644:25;23678:56;:::i;:::-;23805:2;23790:18;;23784:25;23753:7;;-1:-1:-1;23818:56:51;23784:25;23818:56;:::i;:::-;23893:7;23883:17;;;23265:641;;;;;:::o;23911:184::-;23963:77;23960:1;23953:88;24060:4;24057:1;24050:15;24084:4;24081:1;24074:15;24100:580;24177:4;24183:6;24243:11;24230:25;24333:66;24322:8;24306:14;24302:29;24298:102;24278:18;24274:127;24264:155;;24415:1;24412;24405:12;24264:155;24442:33;;24494:20;;;-1:-1:-1;24537:18:51;24526:30;;24523:50;;;24569:1;24566;24559:12;24523:50;24602:4;24590:17;;-1:-1:-1;24633:14:51;24629:27;;;24619:38;;24616:58;;;24670:1;24667;24660:12;24685:630;24801:4;24807:6;24867:11;24854:25;24957:66;24946:8;24930:14;24926:29;24922:102;24902:18;24898:127;24888:155;;25039:1;25036;25029:12;24888:155;25066:33;;25118:20;;;-1:-1:-1;25161:18:51;25150:30;;25147:50;;;25193:1;25190;25183:12;25147:50;25226:4;25214:17;;-1:-1:-1;25285:4:51;25273:17;;25257:14;25253:38;25243:49;;25240:69;;;25305:1;25302;25295:12;25320:218;25400:6;25453:2;25441:9;25432:7;25428:23;25424:32;25421:52;;;25469:1;25466;25459:12;25421:52;25492:40;25524:7;25513:9;25492:40;:::i;25543:664::-;25598:3;25636:5;25630:12;25663:6;25658:3;25651:19;25689:4;25718:2;25713:3;25709:12;25702:19;;25755:2;25748:5;25744:14;25776:1;25786:396;25800:6;25797:1;25794:13;25786:396;;;25859:13;;25901:9;;25912:42;25897:58;25885:71;;26000:11;;;25994:18;26014:4;25990:29;25976:12;;;25969:51;26043:4;26087:11;;;26081:18;26067:12;;;26060:40;26129:4;26120:14;;;;26157:15;;;;25822:1;25815:9;25786:396;;26212:833;26260:3;26288:42;26369:2;26361:5;26355:12;26351:21;26346:3;26339:34;26436:4;26429:5;26425:16;26419:23;26412:31;26405:39;26398:4;26393:3;26389:14;26382:63;26491:4;26484:5;26480:16;26474:23;26554:2;26539:12;26533:19;26529:28;26522:4;26517:3;26513:14;26506:52;26624:2;26616:4;26602:12;26598:23;26592:30;26588:39;26583:2;26578:3;26574:12;26567:61;26695:2;26687:4;26673:12;26669:23;26663:30;26659:39;26653:3;26648;26644:13;26637:62;;;26747:2;26740:5;26736:14;26730:21;26783:4;26776;26771:3;26767:14;26760:28;26809:62;26865:4;26860:3;26856:14;26840;26809:62;:::i;:::-;26797:74;;26919:3;26912:5;26908:15;26902:22;26966:3;26960:4;26956:14;26949:4;26944:3;26940:14;26933:38;26987:52;27034:4;27018:14;26987:52;:::i;27050:579::-;27305:4;27334:42;27415:2;27407:6;27403:15;27392:9;27385:34;27467:2;27459:6;27455:15;27450:2;27439:9;27435:18;27428:43;;27507:3;27502:2;27491:9;27487:18;27480:31;27528:52;27575:3;27564:9;27560:19;27552:6;27528:52;:::i;:::-;27520:60;;27616:6;27611:2;27600:9;27596:18;27589:34;27050:579;;;;;;;:::o;27634:435::-;27859:42;27851:6;27847:55;27836:9;27829:74;27939:6;27934:2;27923:9;27919:18;27912:34;27982:2;27977;27966:9;27962:18;27955:30;27810:4;28002:61;28059:2;28048:9;28044:18;28036:6;28028;28002:61;:::i;28719:392::-;28821:4;28879:11;28866:25;28969:66;28958:8;28942:14;28938:29;28934:102;28914:18;28910:127;28900:155;;29051:1;29048;29041:12;29116:966;29236:9;29295:4;29287:5;29271:14;29267:26;29263:37;29260:57;;;29313:1;29310;29303:12;29260:57;29346:2;29340:9;29388:4;29380:6;29376:17;29412:18;29480:6;29468:10;29465:22;29460:2;29448:10;29445:18;29442:46;29439:72;;;29491:18;;:::i;:::-;29531:10;29527:2;29520:22;29578:5;29565:19;29551:33;;29607:2;29599:6;29596:14;29593:34;;;29623:1;29620;29613:12;29593:34;29651:59;29695:14;29686:6;29679:5;29675:18;29651:59;:::i;:::-;29643:6;29636:75;29768:2;29761:5;29757:14;29744:28;29739:2;29731:6;29727:15;29720:53;29830:2;29823:5;29819:14;29806:28;29801:2;29793:6;29789:15;29782:53;29884:2;29877:5;29873:14;29860:28;29844:44;;29913:2;29903:8;29900:16;29897:36;;;29929:1;29926;29919:12;29897:36;;29966:81;30032:14;30021:8;30014:5;30010:20;29966:81;:::i;:::-;29961:2;29949:15;;29942:106;-1:-1:-1;29953:6:51;29116:966;-1:-1:-1;;29116:966:51:o;30822:125::-;30887:9;;;30908:10;;;30905:36;;;30921:18;;:::i;30952:2000::-;31196:4;31225:42;31306:2;31298:6;31294:15;31283:9;31276:34;31329:2;31367:3;31362:2;31351:9;31347:18;31340:31;31406:6;31400:13;31450:3;31444;31433:9;31429:19;31422:32;31477:58;31530:3;31519:9;31515:19;31501:12;31477:58;:::i;:::-;31463:72;;31590:2;31582:6;31578:15;31572:22;31566:3;31555:9;31551:19;31544:51;31614:4;31673:2;31665:6;31661:15;31655:22;31649:3;31638:9;31634:19;31627:51;31697:4;31750:2;31742:6;31738:15;31732:22;31819:66;31807:9;31799:6;31795:22;31791:95;31785:3;31774:9;31770:19;31763:124;31907:6;31942:14;31936:21;31981:6;31973;31966:22;32016:2;32008:6;32004:15;31997:22;;32075:2;32065:6;32062:1;32058:14;32050:6;32046:27;32042:36;32121:2;32105:14;32101:23;32087:37;;32142:1;32152:685;32166:6;32163:1;32160:13;32152:685;;;32252:66;32243:6;32235;32231:19;32227:92;32222:3;32215:105;32349:6;32343:13;32399:2;32394;32388:9;32384:18;32376:6;32369:34;32452:2;32448;32444:11;32438:18;32493:2;32488;32480:6;32476:15;32469:27;32523:61;32580:2;32572:6;32568:15;32552:14;32523:61;:::i;:::-;32625:11;;;32619:18;32674:19;;;32657:15;;;32650:44;32619:18;32509:75;-1:-1:-1;32717:40:51;32509:75;32619:18;32717:40;:::i;:::-;32780:15;;;;32815:12;;;;32707:50;-1:-1:-1;;;32188:1:51;32181:9;32152:685;;;-1:-1:-1;32876:18:51;;;32869:34;;;;-1:-1:-1;;32919:18:51;;;32912:34;;;;-1:-1:-1;32854:6:51;;30952:2000;-1:-1:-1;;;;;;30952:2000:51:o;32957:1077::-;33291:4;33320:3;33362:42;33354:6;33350:55;33339:9;33332:74;33442:2;33437;33426:9;33422:18;33415:30;33468:51;33515:2;33504:9;33500:18;33492:6;33468:51;:::i;:::-;33454:65;;33567:9;33559:6;33555:22;33550:2;33539:9;33535:18;33528:50;33595:39;33627:6;33619;33595:39;:::i;:::-;33587:47;;;33683:6;33670:20;33665:2;33654:9;33650:18;33643:48;33753:2;33745:6;33741:15;33728:29;33722:3;33711:9;33707:19;33700:58;33820:2;33812:6;33808:15;33795:29;33789:3;33778:9;33774:19;33767:58;33887:2;33879:6;33875:15;33862:29;33856:3;33845:9;33841:19;33834:58;33954:3;33946:6;33942:16;33929:30;33923:3;33912:9;33908:19;33901:59;34022:3;34014:6;34010:16;33997:30;33991:3;33980:9;33976:19;33969:59;32957:1077;;;;;;;:::o;34597:195::-;34636:3;34667:66;34660:5;34657:77;34654:103;;34737:18;;:::i;:::-;-1:-1:-1;34784:1:51;34773:13;;34597:195::o;34797:189::-;34897:9;34934:46;34965:14;34958:5;34934:46;:::i;34991:593::-;35072:5;35079:6;35139:3;35126:17;35221:66;35210:8;35194:14;35190:29;35186:102;35166:18;35162:127;35152:155;;35303:1;35300;35293:12;35152:155;35331:33;;35435:4;35422:18;;;-1:-1:-1;35383:21:51;;-1:-1:-1;35463:18:51;35452:30;;35449:50;;;35495:1;35492;35485:12;35449:50;35554:4;35546:6;35542:17;35526:14;35522:38;35515:5;35511:50;35508:70;;;35574:1;35571;35564:12;35589:776;35700:6;35695:3;35688:19;35670:3;35726:4;35755:2;35750:3;35746:12;35739:19;;35781:5;35804:1;35814:526;35828:6;35825:1;35822:13;35814:526;;;35905:6;35892:20;35925:56;35973:7;35925:56;:::i;:::-;36019:42;36006:56;35994:69;;36136:4;36101:33;36118:15;;;36101:33;:::i;:::-;36097:44;36083:12;;;36076:66;36165:4;36216:15;;;36203:29;36189:12;;;36182:51;36256:4;36280:12;;;;36315:15;;;;35850:1;35843:9;35814:526;;36370:1879;36568:4;36597:42;36678:2;36670:6;36666:15;36655:9;36648:34;36718:2;36713;36702:9;36698:18;36691:30;36756:6;36743:20;36772:54;36820:5;36772:54;:::i;:::-;36862:14;;36857:2;36842:18;;36835:42;36926:2;36914:15;;36901:29;36939:30;36901:29;36939:30;:::i;:::-;37013:15;37006:23;37000:3;36985:19;;36978:52;37079:4;37067:17;;37054:31;37094:56;37054:31;37094:56;:::i;:::-;37187:16;;37181:3;37166:19;;37159:45;37253:2;37241:15;;37228:29;37266:56;37228:29;37266:56;:::i;:::-;37359:16;;37353:3;37338:19;;37331:45;37425:3;37413:16;;37400:30;37439:56;37400:30;37439:56;:::i;:::-;37533:16;37526:4;37511:20;;37504:46;37593:79;37667:3;37655:16;;37659:6;37593:79;:::i;:::-;37709:4;37703:3;37692:9;37688:19;37681:33;37737:97;37829:3;37818:9;37814:19;37800:12;37786;37737:97;:::i;:::-;37723:111;;;37881:79;37955:3;37947:6;37943:16;37935:6;37881:79;:::i;:::-;38025:66;38013:9;38005:6;38001:22;37997:95;37991:3;37980:9;37976:19;37969:124;38110:88;38191:6;38175:14;38159;38110:88;:::i;:::-;38102:96;;;;;38236:6;38229:4;38218:9;38214:20;38207:36;36370:1879;;;;;;:::o;38254:399::-;38525:42;38513:55;;38495:74;;38482:3;38467:19;;38578:69;38643:2;38628:18;;38620:6;38578:69;:::i;38911:685::-;39264:2;39253:9;39246:21;39227:4;39290:54;39340:2;39329:9;39325:18;39317:6;39290:54;:::i;:::-;39392:9;39384:6;39380:22;39375:2;39364:9;39360:18;39353:50;39426:44;39463:6;39455;39426:44;:::i;:::-;39412:58;;39518:9;39510:6;39506:22;39501:2;39490:9;39486:18;39479:50;39546:44;39583:6;39575;39546:44;:::i;40263:254::-;40440:2;40429:9;40422:21;40403:4;40460:51;40507:2;40496:9;40492:18;40484:6;40460:51;:::i;40522:217::-;40669:2;40658:9;40651:21;40632:4;40689:44;40729:2;40718:9;40714:18;40706:6;40689:44;:::i;40744:638::-;40807:3;40845:5;40839:12;40872:6;40867:3;40860:19;40898:4;40939:2;40934:3;40930:12;40964:11;40991;40984:18;;41041:6;41038:1;41034:14;41027:5;41023:26;41011:38;;41083:2;41076:5;41072:14;41104:1;41114:242;41128:6;41125:1;41122:13;41114:242;;;41199:5;41193:4;41189:16;41184:3;41177:29;41227:49;41271:4;41262:6;41256:13;41227:49;:::i;:::-;41334:12;;;;41219:57;-1:-1:-1;41299:15:51;;;;41150:1;41143:9;41114:242;;41387:687;41814:42;41806:6;41802:55;41791:9;41784:74;41894:6;41889:2;41878:9;41874:18;41867:34;41937:6;41932:2;41921:9;41917:18;41910:34;41980:3;41975:2;41964:9;41960:18;41953:31;41765:4;42001:67;42063:3;42052:9;42048:19;42040:6;42001:67;:::i;42079:661::-;42144:5;42197:3;42190:4;42182:6;42178:17;42174:27;42164:55;;42215:1;42212;42205:12;42164:55;42244:6;42238:13;42270:4;42294:62;42310:45;42352:2;42310:45;:::i;42294:62::-;42390:15;;;42476:1;42472:10;;;;42460:23;;42456:32;;;42421:12;;;;42500:15;;;42497:35;;;42528:1;42525;42518:12;42497:35;42564:2;42556:6;42552:15;42576:135;42592:6;42587:3;42584:15;42576:135;;;42658:10;;42646:23;;42689:12;;;;42609;;42576:135;;42745:614;42874:6;42882;42935:2;42923:9;42914:7;42910:23;42906:32;42903:52;;;42951:1;42948;42941:12;42903:52;42984:9;42978:16;43013:18;43054:2;43046:6;43043:14;43040:34;;;43070:1;43067;43060:12;43040:34;43093:72;43157:7;43148:6;43137:9;43133:22;43093:72;:::i;:::-;43083:82;;43211:2;43200:9;43196:18;43190:25;43174:41;;43240:2;43230:8;43227:16;43224:36;;;43256:1;43253;43246:12;43224:36;;43279:74;43345:7;43334:8;43323:9;43319:24;43279:74;:::i;:::-;43269:84;;;42745:614;;;;;:::o;43364:441::-;43633:42;43625:6;43621:55;43610:9;43603:74;43713:2;43708;43697:9;43693:18;43686:30;43584:4;43733:66;43795:2;43784:9;43780:18;43772:6;43733:66;:::i;43810:368::-;44053:6;44042:9;44035:25;44096:2;44091;44080:9;44076:18;44069:30;44016:4;44116:56;44168:2;44157:9;44153:18;44145:6;44116:56;:::i;44183:245::-;44250:6;44303:2;44291:9;44282:7;44278:23;44274:32;44271:52;;;44319:1;44316;44309:12;44271:52;44351:9;44345:16;44370:28;44392:5;44370:28;:::i;44844:184::-;44896:77;44893:1;44886:88;44993:4;44990:1;44983:15;45017:4;45014:1;45007:15;45033:184;45085:77;45082:1;45075:88;45182:4;45179:1;45172:15;45206:4;45203:1;45196:15;45222:287;45351:3;45389:6;45383:13;45405:66;45464:6;45459:3;45452:4;45444:6;45440:17;45405:66;:::i;45899:288::-;46074:6;46063:9;46056:25;46117:2;46112;46101:9;46097:18;46090:30;46037:4;46137:44;46177:2;46166:9;46162:18;46154:6;46137:44;:::i;46192:168::-;46265:9;;;46296;;46313:15;;;46307:22;;46293:37;46283:71;;46334:18;;:::i;46365:482::-;46454:1;46497:5;46454:1;46511:330;46532:7;46522:8;46519:21;46511:330;;;46651:4;46583:66;46579:77;46573:4;46570:87;46567:113;;;46660:18;;:::i;:::-;46710:7;46700:8;46696:22;46693:55;;;46730:16;;;;46693:55;46809:22;;;;46769:15;;;;46511:330;;;46515:3;46365:482;;;;;:::o;46852:866::-;46901:5;46931:8;46921:80;;-1:-1:-1;46972:1:51;46986:5;;46921:80;47020:4;47010:76;;-1:-1:-1;47057:1:51;47071:5;;47010:76;47102:4;47120:1;47115:59;;;;47188:1;47183:130;;;;47095:218;;47115:59;47145:1;47136:10;;47159:5;;;47183:130;47220:3;47210:8;47207:17;47204:43;;;47227:18;;:::i;:::-;-1:-1:-1;;47283:1:51;47269:16;;47298:5;;47095:218;;47397:2;47387:8;47384:16;47378:3;47372:4;47369:13;47365:36;47359:2;47349:8;47346:16;47341:2;47335:4;47332:12;47328:35;47325:77;47322:159;;;-1:-1:-1;47434:19:51;;;47466:5;;47322:159;47513:34;47538:8;47532:4;47513:34;:::i;:::-;47643:6;47575:66;47571:79;47562:7;47559:92;47556:118;;;47654:18;;:::i;:::-;47692:20;;46852:866;-1:-1:-1;;;46852:866:51:o;47723:131::-;47783:5;47812:36;47839:8;47833:4;47812:36;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))": "70276678", + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", + "deposit((address,uint256,uint256))": "e6b62636", + "flashFee(address,uint256)": "d9d98ce4", + "flashLoan(address,address,uint256,bytes)": "5cffe9de", + "maxFlashLoan(address)": "613255ab", + "multicall(bytes[])": "ac9650d8", + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", + "takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))": "7a8048df", + "vaultBalance(address,address,uint256)": "d97b2e48", + "withdraw((address,uint256,uint256))": "4f266187" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV1ConstructionConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV1\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct DepositConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct WithdrawConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV1\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"sources\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfig\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext_\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext_\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct DepositConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order_\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"output\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"input\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrdersConfig\",\"name\":\"takeOrders_\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalInput_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalOutput_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct WithdrawConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,(address,uint256,uint256))\":{\"params\":{\"config\":\"All config sent to the `deposit` call.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,uint256)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,uint256)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,uint256)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,(address,uint256,uint256),uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the config amount if the vault does not have the funds available to cover the config amount. For example an active order might move tokens before the withdraw completes.\",\"config\":\"All config sent to the `withdraw` call.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit((address,uint256,uint256))\":{\"params\":{\"config\":\"All config for the deposit.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"}},\"takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalInput_\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalOutput_\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"withdraw((address,uint256,uint256))\":{\"params\":{\"config\":\"All config required to withdraw. Notably if the amount is less than the current vault balance then the vault will be cleared to 0 rather than the withdraw transaction reverting.\"}}},\"stateVariables\":{\"vaultBalance\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"return\":\"The current balance of the vault.\",\"returns\":{\"_0\":\"The current balance of the vault.\"}}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,(address,uint256,uint256))\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,uint256)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,uint256)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,uint256)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,(address,uint256,uint256),uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit((address,uint256,uint256))\":{\"notice\":\"`msg.sender` deposits tokens according to config. The config specifies the vault to deposit tokens under. Delegated depositing is NOT supported. Depositing DOES NOT mint shares (unlike ERC4626) so the overall vaulted experience is much simpler as there is always a 1:1 relationship between deposited assets and vault balances globally and individually. This mitigates rounding/dust issues, speculative behaviour on derived assets, possible regulatory issues re: whether a vault share is a security, code bloat on the vault, complex mint/deposit/withdraw/redeem 4-way logic, the need for preview functions, etc. etc. At the same time, allowing vault IDs to be specified by the depositor allows much more granular and direct control over token movements within Orderbook than either ERC4626 vault shares or mere contract-level ERC20 allowances can facilitate.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw((address,uint256,uint256))\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":100000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/rain.interpreter/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/rain.interpreter/lib/openzeppelin-contracts/contracts/\",\":rain.interface.interpreter/=lib/rain.interface.interpreter/src/\",\":rain.interface.orderbook/=lib/rain.interface.orderbook/src/\",\":rain.interpreter/=lib/rain.interpreter/src/\",\":rain.lib.hash/=lib/rain.interface.interpreter/lib/rain.lib.hash/src/\",\":rain.lib.interpreter/=lib/rain.lib.interpreter/src/\",\":rain.lib.memkv/=lib/rain.lib.interpreter/lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.interpreter/lib/rain.metadata/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/rain.lib.interpreter/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"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\":\"0x190dd6f8d592b7e4e930feb7f4313aeb8e1c4ad3154c27ce1cf6a512fc30d8cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ce8dfb62d0c4fa260d6eec8f1cd47f5f2a044e11bde5b31d18072fa6e7d9010\",\"dweb:/ipfs/QmTyFztU3tLEcEDnqqiaW4UJetqsU77LXc6pjc9oTXCK5u\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0x35e30a35e23f856cbcee3558b7efdd83f6017a8f1b419710645143d98e892463\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dae8b319a276abec4bb2f134251597daddbacd03779c707105a348e53cfd72a\",\"dweb:/ipfs/QmXPnLLsoWDKSa4NocGr6HonQhHnfxy72gYLgV8oitH1WQ\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbc8d1f66b26e211a1f6f40a17453e9d5020ec96749014379205cff100809884c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9c056a3068bb6fe41b28239bd71acd3a5249d23ed089c874182a4e3d7e47df1\",\"dweb:/ipfs/QmdFFG7dxiZ5jBaaYDXPMiKVG9rNoMhvR7cBt5997E2pat\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"lib/rain.interface.interpreter/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.interpreter/lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.interpreter/lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV1.sol\":{\"keccak256\":\"0xa77654c83162f29850efc8e40e108fd800b800348c4007bd078a6ec1c9df626a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7393afc0fb0109d788e7c17f33d654372338eb1a94526b12f8436ea2cc56c5d4\",\"dweb:/ipfs/QmWbbD9S42BGeBhXH98HgPXfsDkFUsND3Ma6ecCzspk3j9\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xe93e1663f30d95cef4df5e19a371282cef6739b1cda72868439a2c39403732dc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://de3d740e4174bd1b080b0d67e7c694a665aeec6028c13257506abe2bceb8fa60\",\"dweb:/ipfs/QmYS1KFuu5XfZLikK8oa8Tn8wypNBrxAMz5y7MDUW5MZYb\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/LibContext.sol\":{\"keccak256\":\"0x4e8bc140250ffe9747dad4c61959b00b1db29d26b92cce0e384e2f7a5282a3f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://237788dcd51fd0fe4ab4bcc957298f583d3fc91c13a989e1bfbb4ec42f32c994\",\"dweb:/ipfs/QmWpmKbLKJdoKXdkt1Y7dayHT2iRNmSF2fiMtMoHMtmaxn\"]},\"lib/rain.interpreter/src/lib/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0xa4585885c30fd796b5ae877469f0b2db8e72f08b33f9c534e1a6b0fe7e12d80c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://599d54e48716b692a8214cf671f62eb035fffaaeecfca0173640f451271efc0f\",\"dweb:/ipfs/QmScYbE8hHgiFFmtqZeqU3faxuPtMBhE3YdDZPihwGqGAL\"]},\"lib/rain.interpreter/src/lib/LibEncodedDispatch.sol\":{\"keccak256\":\"0xfb12f41d1a287db207c1893237ab2f68ca5a80e4dea988c9b1595fa7490b3565\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f800664e82a45c56b295a6262143d249bf184919398944254e40ce49235b8da\",\"dweb:/ipfs/QmcFr5JZrRv8mBJgHaXvd3dLUj8kG78HkQjifPnMBv1DyF\"]},\"lib/rain.interpreter/src/lib/LibEvaluable.sol\":{\"keccak256\":\"0xcb179258811491a7556173a5ac5b835034a24b1f5cf7eece98e1583a0045af3c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://14758e64af1d24094ab82cba8bb2b5f4e0bb794ac9ca127ac6117584ea4dbff6\",\"dweb:/ipfs/QmQcJa2xbJhzVuNiJ5an3XY7YSFQ77gim9dmqHSRnPM8sg\"]},\"lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec\",\"dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy\"]},\"lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol\":{\"keccak256\":\"0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36\",\"dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR\"]},\"src/abstract/OrderBookFlashLender.sol\":{\"keccak256\":\"0x81315016eec8557153b8e9a0cf7e11d9af9656c93cf8842b9286ed58fbb8e67f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://77c97d2736f807e57b503cdb6dcd658ac0421381983cf348594dbb4fc0e4d8f3\",\"dweb:/ipfs/QmR9YHknMUUAoH2Jz1r3D9SnU2AdjPoDaBbbeUj1o8R5Nf\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0xce7524b3e705cd00f53ad332a4a80c37e9b5b4980cc195e141d5813e3db04117\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c7f71730a12553e42bbd5258d7adb86f82ad0a6f5fcb420e40e072599115195d\",\"dweb:/ipfs/QmVM5FxNacvApgL5hdDYQaee8EnpuLrwhEYs53TYFjenQ4\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0x0e5ae5d299854a119010703b3aba61412b2f2daa98846821b994de55cacb7feb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a49787b9c848304bf06337e9538d700110d9800caa347ab176d3ea514ad45caf\",\"dweb:/ipfs/QmdeMDJCiRaFB2877R4Zd8NhJEBZd36Z1sgrXLVJ1HVGEc\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0x673854a52bc87607a4e546f3e17d83536275a48f745863c7bf70c1607d629d50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://07d62f5376c6a97852aab3572d96c634783442008d00ce669e94e24f29b1957c\",\"dweb:/ipfs/QmRjD6mAjUuS6RxaNfFCs3eJfDwfcK1FwsNXvsMev37mj6\"]},\"src/lib/LibOrderBook.sol\":{\"keccak256\":\"0xa0dc092bf0193f9a65557889a6571f29b48c680a9e3774304ab5687eae3c77b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcd5f8dcc94b6faab819213b34566bd5462895036d08d2ef8df5852f735a3b42\",\"dweb:/ipfs/QmcXHN9Bp27g4mmJnB7NNjTGfiSWLzNVRbfQeuo6Yxf7mi\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.18+commit.87f61d96" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct DeployerDiscoverableMetaV1ConstructionConfig", + "name": "config_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "type": "error", + "name": "ActiveDebt" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "type": "error", + "name": "FlashLenderCallbackFailed" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "type": "error", + "name": "InvalidSignature" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "type": "error", + "name": "MinimumInput" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "NotOrderOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "type": "error", + "name": "NotRainMetaV1" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "SameOwner" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "type": "error", + "name": "TokenMismatch" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedMetaHash" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroReceiver" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroToken" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "contract IExpressionDeployerV1", + "name": "expressionDeployer", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "orderHash", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "AddOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "AfterClear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "Clear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]", + "indexed": false + } + ], + "type": "event", + "name": "Context", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct DepositConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "Deposit", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "subject", + "type": "uint256", + "indexed": false + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "MetaV1", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "orderHash", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "OrderExceedsMaxRatio", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "orderHash", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "OrderNotFound", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "orderHash", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "OrderZeroAmount", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "orderHash", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "RemoveOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "TakeOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct WithdrawConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Withdraw", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "struct OrderConfig", + "name": "config_", + "type": "tuple", + "components": [ + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct EvaluableConfig", + "name": "evaluableConfig", + "type": "tuple", + "components": [ + { + "internalType": "contract IExpressionDeployerV1", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes[]", + "name": "sources", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ] + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "addOrder" + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "alice_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct Order", + "name": "bob_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig_", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext_", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext_", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clear" + }, + { + "inputs": [ + { + "internalType": "struct DepositConfig", + "name": "config_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deposit" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function", + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver_", + "type": "address" + }, + { + "internalType": "address", + "name": "token_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data_", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "order_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "removeOrder" + }, + { + "inputs": [ + { + "internalType": "struct TakeOrdersConfig", + "name": "takeOrders_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "output", + "type": "address" + }, + { + "internalType": "address", + "name": "input", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ] + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalInput_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalOutput_", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct WithdrawConfig", + "name": "config_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))": { + "params": { + "config": "All config required to build an `Order`." + } + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "params": { + "alice": "Some order to clear.", + "aliceSignedContext": "Optional signed context that is relevant to A.", + "bob": "Another order to clear.", + "bobSignedContext": "Optional signed context that is relevant to B.", + "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." + } + }, + "deposit((address,uint256,uint256))": { + "params": { + "config": "All config for the deposit." + } + }, + "flashFee(address,uint256)": { + "details": "The fee to be charged for a given loan.", + "params": { + "amount": "The amount of tokens lent.", + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." + } + }, + "flashLoan(address,address,uint256,bytes)": { + "details": "Initiate a flash loan.", + "params": { + "amount": "The amount of tokens lent.", + "data": "Arbitrary data structure, intended to contain user-defined parameters.", + "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", + "token": "The loan currency." + } + }, + "maxFlashLoan(address)": { + "details": "The amount of currency available to be lent.", + "params": { + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` that can be borrowed." + } + }, + "multicall(bytes[])": { + "details": "Receives and executes a batch of function calls on this contract." + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "params": { + "order": "The `Order` data exactly as it was added." + } + }, + "takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))": { + "params": { + "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." + }, + "returns": { + "totalInput_": "Total tokens sent to `msg.sender`, taken from order vaults processed.", + "totalOutput_": "Total tokens taken from `msg.sender` and distributed between vaults." + } + }, + "withdraw((address,uint256,uint256))": { + "params": { + "config": "All config required to withdraw. Notably if the amount is less than the current vault balance then the vault will be cleared to 0 rather than the withdraw transaction reverting." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))": { + "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own." + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" + }, + "constructor": { + "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." + }, + "deposit((address,uint256,uint256))": { + "notice": "`msg.sender` deposits tokens according to config. The config specifies the vault to deposit tokens under. Delegated depositing is NOT supported. Depositing DOES NOT mint shares (unlike ERC4626) so the overall vaulted experience is much simpler as there is always a 1:1 relationship between deposited assets and vault balances globally and individually. This mitigates rounding/dust issues, speculative behaviour on derived assets, possible regulatory issues re: whether a vault share is a security, code bloat on the vault, complex mint/deposit/withdraw/redeem 4-way logic, the need for preview functions, etc. etc. At the same time, allowing vault IDs to be specified by the depositor allows much more granular and direct control over token movements within Orderbook than either ERC4626 vault shares or mere contract-level ERC20 allowances can facilitate." + }, + "maxFlashLoan(address)": { + "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." + }, + "takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))": { + "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." + }, + "vaultBalance(address,address,uint256)": { + "notice": "Get the current balance of a vault for a given owner, token and vault ID." + }, + "withdraw((address,uint256,uint256))": { + "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + ":ds-test/=lib/forge-std/lib/ds-test/src/", + ":erc4626-tests/=lib/rain.interpreter/lib/openzeppelin-contracts/lib/erc4626-tests/", + ":forge-std/=lib/forge-std/src/", + ":openzeppelin-contracts/=lib/openzeppelin-contracts/", + ":openzeppelin/=lib/rain.interpreter/lib/openzeppelin-contracts/contracts/", + ":rain.interface.interpreter/=lib/rain.interface.interpreter/src/", + ":rain.interface.orderbook/=lib/rain.interface.orderbook/src/", + ":rain.interpreter/=lib/rain.interpreter/src/", + ":rain.lib.hash/=lib/rain.interface.interpreter/lib/rain.lib.hash/src/", + ":rain.lib.interpreter/=lib/rain.lib.interpreter/src/", + ":rain.lib.memkv/=lib/rain.lib.interpreter/lib/rain.lib.memkv/src/", + ":rain.lib.typecast/=lib/rain.lib.typecast/src/", + ":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + ":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + ":rain.metadata/=lib/rain.interpreter/lib/rain.metadata/src/", + ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", + ":sol.lib.memory/=lib/rain.lib.interpreter/lib/sol.lib.memory/src/", + ":sol.metadata/=lib/sol.metadata/src/" + ], + "optimizer": { + "enabled": true, + "runs": 100000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "src/concrete/OrderBook.sol": "OrderBook" + }, + "libraries": {} + }, + "sources": { + "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": "0x190dd6f8d592b7e4e930feb7f4313aeb8e1c4ad3154c27ce1cf6a512fc30d8cc", + "urls": [ + "bzz-raw://4ce8dfb62d0c4fa260d6eec8f1cd47f5f2a044e11bde5b31d18072fa6e7d9010", + "dweb:/ipfs/QmTyFztU3tLEcEDnqqiaW4UJetqsU77LXc6pjc9oTXCK5u" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b", + "urls": [ + "bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34", + "dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { + "keccak256": "0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329", + "urls": [ + "bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95", + "dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238", + "urls": [ + "bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6", + "dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1", + "urls": [ + "bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269", + "dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { + "keccak256": "0x35e30a35e23f856cbcee3558b7efdd83f6017a8f1b419710645143d98e892463", + "urls": [ + "bzz-raw://7dae8b319a276abec4bb2f134251597daddbacd03779c707105a348e53cfd72a", + "dweb:/ipfs/QmXPnLLsoWDKSa4NocGr6HonQhHnfxy72gYLgV8oitH1WQ" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { + "keccak256": "0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a", + "urls": [ + "bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634", + "dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba", + "urls": [ + "bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb", + "dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { + "keccak256": "0xbc8d1f66b26e211a1f6f40a17453e9d5020ec96749014379205cff100809884c", + "urls": [ + "bzz-raw://b9c056a3068bb6fe41b28239bd71acd3a5249d23ed089c874182a4e3d7e47df1", + "dweb:/ipfs/QmdFFG7dxiZ5jBaaYDXPMiKVG9rNoMhvR7cBt5997E2pat" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6", + "urls": [ + "bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b", + "dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz" + ], + "license": "MIT" + }, + "lib/rain.interface.interpreter/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { + "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", + "urls": [ + "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", + "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/rain.metadata/src/IMetaV1.sol": { + "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", + "urls": [ + "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", + "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/rain.metadata/src/LibMeta.sol": { + "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", + "urls": [ + "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", + "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV1.sol": { + "keccak256": "0xa77654c83162f29850efc8e40e108fd800b800348c4007bd078a6ec1c9df626a", + "urls": [ + "bzz-raw://7393afc0fb0109d788e7c17f33d654372338eb1a94526b12f8436ea2cc56c5d4", + "dweb:/ipfs/QmWbbD9S42BGeBhXH98HgPXfsDkFUsND3Ma6ecCzspk3j9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { + "keccak256": "0xe93e1663f30d95cef4df5e19a371282cef6739b1cda72868439a2c39403732dc", + "urls": [ + "bzz-raw://de3d740e4174bd1b080b0d67e7c694a665aeec6028c13257506abe2bceb8fa60", + "dweb:/ipfs/QmYS1KFuu5XfZLikK8oa8Tn8wypNBrxAMz5y7MDUW5MZYb" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { + "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", + "urls": [ + "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", + "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/LibContext.sol": { + "keccak256": "0x4e8bc140250ffe9747dad4c61959b00b1db29d26b92cce0e384e2f7a5282a3f0", + "urls": [ + "bzz-raw://237788dcd51fd0fe4ab4bcc957298f583d3fc91c13a989e1bfbb4ec42f32c994", + "dweb:/ipfs/QmWpmKbLKJdoKXdkt1Y7dayHT2iRNmSF2fiMtMoHMtmaxn" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/LibDeployerDiscoverable.sol": { + "keccak256": "0xa4585885c30fd796b5ae877469f0b2db8e72f08b33f9c534e1a6b0fe7e12d80c", + "urls": [ + "bzz-raw://599d54e48716b692a8214cf671f62eb035fffaaeecfca0173640f451271efc0f", + "dweb:/ipfs/QmScYbE8hHgiFFmtqZeqU3faxuPtMBhE3YdDZPihwGqGAL" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/LibEncodedDispatch.sol": { + "keccak256": "0xfb12f41d1a287db207c1893237ab2f68ca5a80e4dea988c9b1595fa7490b3565", + "urls": [ + "bzz-raw://2f800664e82a45c56b295a6262143d249bf184919398944254e40ce49235b8da", + "dweb:/ipfs/QmcFr5JZrRv8mBJgHaXvd3dLUj8kG78HkQjifPnMBv1DyF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/LibEvaluable.sol": { + "keccak256": "0xcb179258811491a7556173a5ac5b835034a24b1f5cf7eece98e1583a0045af3c", + "urls": [ + "bzz-raw://14758e64af1d24094ab82cba8bb2b5f4e0bb794ac9ca127ac6117584ea4dbff6", + "dweb:/ipfs/QmQcJa2xbJhzVuNiJ5an3XY7YSFQ77gim9dmqHSRnPM8sg" + ], + "license": "CAL" + }, + "lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol": { + "keccak256": "0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0", + "urls": [ + "bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec", + "dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol": { + "keccak256": "0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1", + "urls": [ + "bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36", + "dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR" + ], + "license": "CAL" + }, + "src/abstract/OrderBookFlashLender.sol": { + "keccak256": "0x81315016eec8557153b8e9a0cf7e11d9af9656c93cf8842b9286ed58fbb8e67f", + "urls": [ + "bzz-raw://77c97d2736f807e57b503cdb6dcd658ac0421381983cf348594dbb4fc0e4d8f3", + "dweb:/ipfs/QmR9YHknMUUAoH2Jz1r3D9SnU2AdjPoDaBbbeUj1o8R5Nf" + ], + "license": "CAL" + }, + "src/concrete/OrderBook.sol": { + "keccak256": "0xce7524b3e705cd00f53ad332a4a80c37e9b5b4980cc195e141d5813e3db04117", + "urls": [ + "bzz-raw://c7f71730a12553e42bbd5258d7adb86f82ad0a6f5fcb420e40e072599115195d", + "dweb:/ipfs/QmVM5FxNacvApgL5hdDYQaee8EnpuLrwhEYs53TYFjenQ4" + ], + "license": "CAL" + }, + "src/interface/IOrderBookV2.sol": { + "keccak256": "0x0e5ae5d299854a119010703b3aba61412b2f2daa98846821b994de55cacb7feb", + "urls": [ + "bzz-raw://a49787b9c848304bf06337e9538d700110d9800caa347ab176d3ea514ad45caf", + "dweb:/ipfs/QmdeMDJCiRaFB2877R4Zd8NhJEBZd36Z1sgrXLVJ1HVGEc" + ], + "license": "CAL" + }, + "src/interface/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", + "urls": [ + "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", + "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" + ], + "license": "CC0" + }, + "src/interface/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", + "urls": [ + "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", + "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" + ], + "license": "CC0" + }, + "src/lib/LibOrder.sol": { + "keccak256": "0x673854a52bc87607a4e546f3e17d83536275a48f745863c7bf70c1607d629d50", + "urls": [ + "bzz-raw://07d62f5376c6a97852aab3572d96c634783442008d00ce669e94e24f29b1957c", + "dweb:/ipfs/QmRjD6mAjUuS6RxaNfFCs3eJfDwfcK1FwsNXvsMev37mj6" + ], + "license": "CAL" + }, + "src/lib/LibOrderBook.sol": { + "keccak256": "0xa0dc092bf0193f9a65557889a6571f29b48c680a9e3774304ab5687eae3c77b9", + "urls": [ + "bzz-raw://bcd5f8dcc94b6faab819213b34566bd5462895036d08d2ef8df5852f735a3b42", + "dweb:/ipfs/QmcXHN9Bp27g4mmJnB7NNjTGfiSWLzNVRbfQeuo6Yxf7mi" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/concrete/OrderBook.sol", + "id": 30273, + "exportedSymbols": { + "ActiveDebt": [ + 28470 + ], + "CALCULATE_ORDER_ENTRYPOINT": [ + 28855 + ], + "CALCULATE_ORDER_MAX_OUTPUTS": [ + 28871 + ], + "CALCULATE_ORDER_MIN_OUTPUTS": [ + 28867 + ], + "CALLER_META_HASH": [ + 28839 + ], + "CALLING_CONTEXT_COLUMNS": [ + 28883 + ], + "CONTEXT_BASE_COLUMN": [ + 28887 + ], + "CONTEXT_CALCULATIONS_COLUMN": [ + 28895 + ], + "CONTEXT_CALLING_CONTEXT_COLUMN": [ + 28891 + ], + "CONTEXT_VAULT_INPUTS_COLUMN": [ + 28899 + ], + "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ + 28919 + ], + "CONTEXT_VAULT_IO_BALANCE_DIFF": [ + 28923 + ], + "CONTEXT_VAULT_IO_ROWS": [ + 28927 + ], + "CONTEXT_VAULT_IO_TOKEN": [ + 28907 + ], + "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ + 28911 + ], + "CONTEXT_VAULT_IO_VAULT_ID": [ + 28915 + ], + "CONTEXT_VAULT_OUTPUTS_COLUMN": [ + 28903 + ], + "ClearConfig": [ + 30368 + ], + "ClearStateChange": [ + 30377 + ], + "DEAD_ORDER": [ + 28847 + ], + "DEFAULT_STATE_NAMESPACE": [ + 26778 + ], + "DeployerDiscoverableMetaV1": [ + 26653 + ], + "DeployerDiscoverableMetaV1ConstructionConfig": [ + 26608 + ], + "DepositConfig": [ + 30284 + ], + "ECDSA": [ + 25490 + ], + "EncodedDispatch": [ + 26766 + ], + "Evaluable": [ + 27306 + ], + "EvaluableConfig": [ + 27297 + ], + "FIXED_POINT_DECIMALS": [ + 27760 + ], + "FIXED_POINT_ONE": [ + 27764 + ], + "FLAG_MAX_INT": [ + 27780 + ], + "FLAG_ROUND_UP": [ + 27768 + ], + "FLAG_SATURATE": [ + 27774 + ], + "FLASH_FEE": [ + 28474 + ], + "FixedPointDecimalArithmeticOpenZeppelin": [ + 27754 + ], + "FixedPointDecimalScale": [ + 28266 + ], + "FlashLenderCallbackFailed": [ + 28461 + ], + "FullyQualifiedNamespace": [ + 26727 + ], + "HANDLE_IO_ENTRYPOINT": [ + 28863 + ], + "HANDLE_IO_MAX_OUTPUTS": [ + 28879 + ], + "HANDLE_IO_MIN_OUTPUTS": [ + 28875 + ], + "HASH_NIL": [ + 26443 + ], + "IERC20": [ + 24252 + ], + "IERC3156FlashBorrower": [ + 30867 + ], + "IERC3156FlashLender": [ + 30904 + ], + "IExpressionDeployerV1": [ + 26692 + ], + "IInterpreterCallerV2": [ + 26722 + ], + "IInterpreterStoreV1": [ + 26759 + ], + "IInterpreterV1": [ + 26809 + ], + "IO": [ + 30298 + ], + "IOrderBookV2": [ + 30557 + ], + "InvalidSignature": [ + 26853 + ], + "LIVE_ORDER": [ + 28843 + ], + "LibContext": [ + 27138 + ], + "LibEncodedDispatch": [ + 27282 + ], + "LibEvaluable": [ + 27319 + ], + "LibHashNoAlloc": [ + 26485 + ], + "LibMemCpy": [ + 27351 + ], + "LibMeta": [ + 26598 + ], + "LibOrder": [ + 30929 + ], + "LibOrderBook": [ + 31043 + ], + "LibPointer": [ + 27475 + ], + "LibUint256Array": [ + 27703 + ], + "Math": [ + 26438 + ], + "MinimumInput": [ + 28827 + ], + "Multicall": [ + 24954 + ], + "NO_STORE": [ + 26736 + ], + "NotOrderOwner": [ + 28813 + ], + "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ + 30850 + ], + "OVERFLOW_RESCALE_OOMS": [ + 27784 + ], + "Operand": [ + 26770 + ], + "Order": [ + 30328 + ], + "OrderBook": [ + 30272 + ], + "OrderBookFlashLender": [ + 28782 + ], + "OrderConfig": [ + 30312 + ], + "OrderIOCalculation": [ + 30951 + ], + "OutOfBoundsTruncate": [ + 27485 + ], + "Pointer": [ + 27355 + ], + "ReentrancyGuard": [ + 24174 + ], + "SIGNED_CONTEXT_CONTEXT_OFFSET": [ + 26708 + ], + "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ + 26711 + ], + "SIGNED_CONTEXT_SIGNER_OFFSET": [ + 26705 + ], + "SafeERC20": [ + 24569 + ], + "SameOwner": [ + 28832 + ], + "SignatureChecker": [ + 25573 + ], + "SignedContextV1": [ + 26702 + ], + "SourceIndex": [ + 26764 + ], + "StateNamespace": [ + 26768 + ], + "TakeOrderConfig": [ + 30355 + ], + "TakeOrdersConfig": [ + 30343 + ], + "TokenMismatch": [ + 28820 + ], + "WithdrawConfig": [ + 30291 + ], + "ZeroReceiver": [ + 28456 + ], + "ZeroToken": [ + 28453 + ] + }, + "nodeType": "SourceUnit", + "src": "32:25867:44", + "nodes": [ + { + "id": 28784, + "nodeType": "PragmaDirective", + "src": "32:24:44", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".18" + ] + }, + { + "id": 28786, + "nodeType": "ImportDirective", + "src": "58:74:44", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "file": "openzeppelin-contracts/contracts/utils/math/Math.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 26439, + "symbolAliases": [ + { + "foreign": { + "id": 28785, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26438, + "src": "66:4:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28788, + "nodeType": "ImportDirective", + "src": "133:79:44", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "file": "openzeppelin-contracts/contracts/utils/Multicall.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 24955, + "symbolAliases": [ + { + "foreign": { + "id": 28787, + "name": "Multicall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24954, + "src": "141:9:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28790, + "nodeType": "ImportDirective", + "src": "213:79:44", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 24253, + "symbolAliases": [ + { + "foreign": { + "id": 28789, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24252, + "src": "221:6:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28792, + "nodeType": "ImportDirective", + "src": "293:91:44", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "file": "openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 24570, + "symbolAliases": [ + { + "foreign": { + "id": 28791, + "name": "SafeERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24569, + "src": "301:9:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28794, + "nodeType": "ImportDirective", + "src": "385:94:44", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "file": "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 24175, + "symbolAliases": [ + { + "foreign": { + "id": 28793, + "name": "ReentrancyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24174, + "src": "393:15:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28795, + "nodeType": "ImportDirective", + "src": "481:74:44", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol", + "file": "rain.math.fixedpoint/FixedPointDecimalArithmeticOpenZeppelin.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 27755, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28796, + "nodeType": "ImportDirective", + "src": "556:57:44", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol", + "file": "rain.math.fixedpoint/FixedPointDecimalScale.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 28267, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28797, + "nodeType": "ImportDirective", + "src": "614:53:44", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/LibEncodedDispatch.sol", + "file": "rain.interpreter/lib/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 27283, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28798, + "nodeType": "ImportDirective", + "src": "668:45:44", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/LibContext.sol", + "file": "rain.interpreter/lib/LibContext.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 27139, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28802, + "nodeType": "ImportDirective", + "src": "714:169:44", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV1.sol", + "file": "rain.interpreter/abstract/DeployerDiscoverableMetaV1.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 26654, + "symbolAliases": [ + { + "foreign": { + "id": 28799, + "name": "DeployerDiscoverableMetaV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26653, + "src": "727:26:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 28800, + "name": "DeployerDiscoverableMetaV1ConstructionConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26608, + "src": "759:44:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 28801, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26598, + "src": "809:7:44", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28803, + "nodeType": "ImportDirective", + "src": "885:39:44", + "nodes": [], + "absolutePath": "src/interface/IOrderBookV2.sol", + "file": "../interface/IOrderBookV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 30558, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28804, + "nodeType": "ImportDirective", + "src": "925:29:44", + "nodes": [], + "absolutePath": "src/lib/LibOrder.sol", + "file": "../lib/LibOrder.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 30930, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28805, + "nodeType": "ImportDirective", + "src": "955:33:44", + "nodes": [], + "absolutePath": "src/lib/LibOrderBook.sol", + "file": "../lib/LibOrderBook.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 31044, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28806, + "nodeType": "ImportDirective", + "src": "989:46:44", + "nodes": [], + "absolutePath": "src/abstract/OrderBookFlashLender.sol", + "file": "../abstract/OrderBookFlashLender.sol", + "nameLocation": "-1:-1:-1", + "scope": 30273, + "sourceUnit": 28783, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28813, + "nodeType": "ErrorDefinition", + "src": "1211:51:44", + "nodes": [], + "documentation": { + "id": 28807, + "nodeType": "StructuredDocumentation", + "src": "1037:174:44", + "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." + }, + "errorSelector": "4702b914", + "name": "NotOrderOwner", + "nameLocation": "1217:13:44", + "parameters": { + "id": 28812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28809, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1239:6:44", + "nodeType": "VariableDeclaration", + "scope": 28813, + "src": "1231:14:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1231:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28811, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1255:5:44", + "nodeType": "VariableDeclaration", + "scope": 28813, + "src": "1247:13:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1247:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1230:31:44" + } + }, + { + "id": 28820, + "nodeType": "ErrorDefinition", + "src": "1479:58:44", + "nodes": [], + "documentation": { + "id": 28814, + "nodeType": "StructuredDocumentation", + "src": "1264:215:44", + "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." + }, + "errorSelector": "f902523f", + "name": "TokenMismatch", + "nameLocation": "1485:13:44", + "parameters": { + "id": 28819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28816, + "mutability": "mutable", + "name": "aliceToken", + "nameLocation": "1507:10:44", + "nodeType": "VariableDeclaration", + "scope": 28820, + "src": "1499:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1499:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28818, + "mutability": "mutable", + "name": "bobToken", + "nameLocation": "1527:8:44", + "nodeType": "VariableDeclaration", + "scope": 28820, + "src": "1519:16:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1519:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1498:38:44" + } + }, + { + "id": 28827, + "nodeType": "ErrorDefinition", + "src": "1683:56:44", + "nodes": [], + "documentation": { + "id": 28821, + "nodeType": "StructuredDocumentation", + "src": "1539:144:44", + "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." + }, + "errorSelector": "45094d88", + "name": "MinimumInput", + "nameLocation": "1689:12:44", + "parameters": { + "id": 28826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28823, + "mutability": "mutable", + "name": "minimumInput", + "nameLocation": "1710:12:44", + "nodeType": "VariableDeclaration", + "scope": 28827, + "src": "1702:20:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1702:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28825, + "mutability": "mutable", + "name": "input", + "nameLocation": "1732:5:44", + "nodeType": "VariableDeclaration", + "scope": 28827, + "src": "1724:13:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1724:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1701:37:44" + } + }, + { + "id": 28832, + "nodeType": "ErrorDefinition", + "src": "1845:31:44", + "nodes": [], + "documentation": { + "id": 28828, + "nodeType": "StructuredDocumentation", + "src": "1741:104:44", + "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." + }, + "errorSelector": "227e4ce9", + "name": "SameOwner", + "nameLocation": "1851:9:44", + "parameters": { + "id": 28831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28830, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1869:5:44", + "nodeType": "VariableDeclaration", + "scope": 28832, + "src": "1861:13:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1861:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1860:15:44" + } + }, + { + "id": 28839, + "nodeType": "VariableDeclaration", + "src": "1942:111:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLER_META_HASH", + "nameLocation": "1959:16:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28834, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1942:7:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307832336637373363333631383534366664636330376265303666393432343931303436326139306264326239313936383461346238353661666134306631333834", + "id": 28837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1986:66:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_16268159893704184928837356448898433775429341601071432415989839163113241252740_by_1", + "typeString": "int_const 1626...(69 digits omitted)...2740" + }, + "value": "0x23f773c3618546fdcc07be06f9424910462a90bd2b919684a4b856afa40f1384" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_16268159893704184928837356448898433775429341601071432415989839163113241252740_by_1", + "typeString": "int_const 1626...(69 digits omitted)...2740" + } + ], + "id": 28836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1978:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 28835, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1978:7:44", + "typeDescriptions": {} + } + }, + "id": 28838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1978:75:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 28843, + "nodeType": "VariableDeclaration", + "src": "2173:31:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "LIVE_ORDER", + "nameLocation": "2190:10:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2173:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 28842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2203:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 28847, + "nodeType": "VariableDeclaration", + "src": "2284:31:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "DEAD_ORDER", + "nameLocation": "2301:10:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2284:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 28846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2314:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 28855, + "nodeType": "VariableDeclaration", + "src": "2387:69:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nameLocation": "2408:26:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 28850, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28849, + "name": "SourceIndex", + "nameLocations": [ + "2387:11:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26764, + "src": "2387:11:44" + }, + "referencedDeclaration": 26764, + "src": "2387:11:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "30", + "id": 28853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2454:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 28851, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26764, + "src": "2437:11:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$26764_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 28852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2449:4:44", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2437:16:44", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$26764_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 28854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2437:19:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 28863, + "nodeType": "VariableDeclaration", + "src": "2579:63:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_ENTRYPOINT", + "nameLocation": "2600:20:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 28858, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28857, + "name": "SourceIndex", + "nameLocations": [ + "2579:11:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26764, + "src": "2579:11:44" + }, + "referencedDeclaration": 26764, + "src": "2579:11:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "31", + "id": 28861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2640:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "id": 28859, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26764, + "src": "2623:11:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$26764_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 28860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2635:4:44", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2623:16:44", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$26764_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 28862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2623:19:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 28867, + "nodeType": "VariableDeclaration", + "src": "2716:48:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nameLocation": "2733:27:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2716:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 28866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2763:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 28871, + "nodeType": "VariableDeclaration", + "src": "2837:47:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nameLocation": "2853:27:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 28869, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2837:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32", + "id": 28870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2883:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 28875, + "nodeType": "VariableDeclaration", + "src": "2961:42:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MIN_OUTPUTS", + "nameLocation": "2978:21:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2961:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 28874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3002:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 28879, + "nodeType": "VariableDeclaration", + "src": "3079:41:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MAX_OUTPUTS", + "nameLocation": "3095:21:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 28877, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3079:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "30", + "id": 28878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3119:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 28883, + "nodeType": "VariableDeclaration", + "src": "3658:44:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLING_CONTEXT_COLUMNS", + "nameLocation": "3675:23:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3658:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 28882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3701:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 28887, + "nodeType": "VariableDeclaration", + "src": "3743:40:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_BASE_COLUMN", + "nameLocation": "3760:19:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3743:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 28886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3782:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 28891, + "nodeType": "VariableDeclaration", + "src": "4084:51:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nameLocation": "4101:30:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28889, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4084:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 28890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4134:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 28895, + "nodeType": "VariableDeclaration", + "src": "4282:48:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nameLocation": "4299:27:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4282:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 28894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4329:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 28899, + "nodeType": "VariableDeclaration", + "src": "4622:48:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nameLocation": "4639:27:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4622:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 28898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4669:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 28903, + "nodeType": "VariableDeclaration", + "src": "4788:49:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nameLocation": "4805:28:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4788:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 28902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4836:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 28907, + "nodeType": "VariableDeclaration", + "src": "4912:43:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN", + "nameLocation": "4929:22:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4912:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 28906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4954:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 28911, + "nodeType": "VariableDeclaration", + "src": "5030:52:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", + "nameLocation": "5047:31:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5030:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 28910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5081:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 28915, + "nodeType": "VariableDeclaration", + "src": "5151:46:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nameLocation": "5168:25:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5151:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 28914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5196:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 28919, + "nodeType": "VariableDeclaration", + "src": "5304:52:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", + "nameLocation": "5321:31:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5304:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 28918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5355:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 28923, + "nodeType": "VariableDeclaration", + "src": "5604:50:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nameLocation": "5621:29:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5604:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 28922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5653:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 28927, + "nodeType": "VariableDeclaration", + "src": "5694:42:44", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_ROWS", + "nameLocation": "5711:21:44", + "scope": 30273, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5694:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "35", + "id": 28926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5735:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "id": 30272, + "nodeType": "ContractDefinition", + "src": "5807:20091:44", + "nodes": [ + { + "id": 28941, + "nodeType": "UsingForDirective", + "src": "5926:23:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28939, + "name": "Math", + "nameLocations": [ + "5932:4:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26438, + "src": "5932:4:44" + }, + "typeName": { + "id": 28940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5941:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 28945, + "nodeType": "UsingForDirective", + "src": "5954:36:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28942, + "name": "LibUint256Array", + "nameLocations": [ + "5960:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27703, + "src": "5960:15:44" + }, + "typeName": { + "baseType": { + "id": 28943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5980:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28944, + "nodeType": "ArrayTypeName", + "src": "5980:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "id": 28949, + "nodeType": "UsingForDirective", + "src": "5995:27:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28946, + "name": "SafeERC20", + "nameLocations": [ + "6001:9:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24569, + "src": "6001:9:44" + }, + "typeName": { + "id": 28948, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28947, + "name": "IERC20", + "nameLocations": [ + "6015:6:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24252, + "src": "6015:6:44" + }, + "referencedDeclaration": 24252, + "src": "6015:6:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$24252", + "typeString": "contract IERC20" + } + } + }, + { + "id": 28952, + "nodeType": "UsingForDirective", + "src": "6027:58:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28950, + "name": "FixedPointDecimalArithmeticOpenZeppelin", + "nameLocations": [ + "6033:39:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27754, + "src": "6033:39:44" + }, + "typeName": { + "id": 28951, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6077:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 28955, + "nodeType": "UsingForDirective", + "src": "6090:41:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28953, + "name": "FixedPointDecimalScale", + "nameLocations": [ + "6096:22:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28266, + "src": "6096:22:44" + }, + "typeName": { + "id": 28954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6123:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 28959, + "nodeType": "UsingForDirective", + "src": "6136:25:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28956, + "name": "LibOrder", + "nameLocations": [ + "6142:8:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30929, + "src": "6142:8:44" + }, + "typeName": { + "id": 28958, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28957, + "name": "Order", + "nameLocations": [ + "6155:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "6155:5:44" + }, + "referencedDeclaration": 30328, + "src": "6155:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + } + }, + { + "id": 28962, + "nodeType": "UsingForDirective", + "src": "6166:34:44", + "nodes": [], + "global": false, + "libraryName": { + "id": 28960, + "name": "LibUint256Array", + "nameLocations": [ + "6172:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27703, + "src": "6172:15:44" + }, + "typeName": { + "id": 28961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6192:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 28967, + "nodeType": "VariableDeclaration", + "src": "6710:43:44", + "nodes": [], + "constant": false, + "documentation": { + "id": 28963, + "nodeType": "StructuredDocumentation", + "src": "6206:499:44", + "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing and gives a gas refund on removal.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" + }, + "mutability": "mutable", + "name": "orders", + "nameLocation": "6747:6:44", + "scope": 30272, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 28966, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 28964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6718:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "6710:27:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 28965, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6729:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "id": 28976, + "nodeType": "VariableDeclaration", + "src": "6793:87:44", + "nodes": [], + "baseFunctions": [ + 30496 + ], + "constant": false, + "documentation": { + "id": 28968, + "nodeType": "StructuredDocumentation", + "src": "6760:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "d97b2e48", + "mutability": "mutable", + "name": "vaultBalance", + "nameLocation": "6868:12:44", + "scope": 30272, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "typeName": { + "id": 28975, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 28969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6801:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "6793:67:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 28974, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 28970, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6820:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "6812:47:44", + "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": 28973, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 28971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6839:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "6831:27:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 28972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6850:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + } + }, + "visibility": "public" + }, + { + "id": 28988, + "nodeType": "FunctionDefinition", + "src": "7182:141:44", + "nodes": [], + "body": { + "id": 28987, + "nodeType": "Block", + "src": "7321:2:44", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 28977, + "nodeType": "StructuredDocumentation", + "src": "6887:290:44", + "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 28983, + "name": "CALLER_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28839, + "src": "7290:16:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 28984, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28980, + "src": "7308:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV1ConstructionConfig_$26608_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV1ConstructionConfig memory" + } + } + ], + "id": 28985, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 28982, + "name": "DeployerDiscoverableMetaV1", + "nameLocations": [ + "7263:26:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26653, + "src": "7263:26:44" + }, + "nodeType": "ModifierInvocation", + "src": "7263:53:44" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 28981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28980, + "mutability": "mutable", + "name": "config_", + "nameLocation": "7246:7:44", + "nodeType": "VariableDeclaration", + "scope": 28988, + "src": "7194:59:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV1ConstructionConfig_$26608_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV1ConstructionConfig" + }, + "typeName": { + "id": 28979, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28978, + "name": "DeployerDiscoverableMetaV1ConstructionConfig", + "nameLocations": [ + "7194:44:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26608, + "src": "7194:44:44" + }, + "referencedDeclaration": 26608, + "src": "7194:44:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV1ConstructionConfig_$26608_storage_ptr", + "typeString": "struct DeployerDiscoverableMetaV1ConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "7193:61:44" + }, + "returnParameters": { + "id": 28986, + "nodeType": "ParameterList", + "parameters": [], + "src": "7321:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 29033, + "nodeType": "FunctionDefinition", + "src": "7362:490:44", + "nodes": [], + "body": { + "id": 29032, + "nodeType": "Block", + "src": "7433:419:44", + "nodes": [], + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 28998, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7650:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7654:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7650:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29000, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "7662:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + ], + "id": 28997, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30390, + "src": "7642:7:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_DepositConfig_$30284_memory_ptr_$returns$__$", + "typeString": "function (address,struct DepositConfig memory)" + } + }, + "id": 29001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7642:28:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29002, + "nodeType": "EmitStatement", + "src": "7637:33:44" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 29008, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7719:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7723:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7719:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 29012, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "7739:4:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$30272", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$30272", + "typeString": "contract OrderBook" + } + ], + "id": 29011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7731:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7731:7:44", + "typeDescriptions": {} + } + }, + "id": 29013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7731:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29014, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "7746:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "id": 29015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7754:6:44", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 30283, + "src": "7746:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 29004, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "7687:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "id": 29005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7695:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30279, + "src": "7687:13:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29003, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24252, + "src": "7680:6:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$24252_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 29006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7680:21:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$24252", + "typeString": "contract IERC20" + } + }, + "id": 29007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7702:16:44", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 24346, + "src": "7680:38:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$24252_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$24252_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 29016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7680:81:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29017, + "nodeType": "ExpressionStatement", + "src": "7680:81:44" + }, + { + "expression": { + "id": 29030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29018, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "7771:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29025, + "indexExpression": { + "expression": { + "id": 29019, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7784:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7788:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7784:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7771:24:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29026, + "indexExpression": { + "expression": { + "id": 29021, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "7796:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "id": 29022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7804:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30279, + "src": "7796:13:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7771:39:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29027, + "indexExpression": { + "expression": { + "id": 29023, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "7811:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "id": 29024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7819:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30281, + "src": "7811:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7771:56:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "id": 29028, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "7831:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "id": 29029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7839:6:44", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 30283, + "src": "7831:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7771:74:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29031, + "nodeType": "ExpressionStatement", + "src": "7771:74:44" + } + ] + }, + "baseFunctions": [ + 30503 + ], + "documentation": { + "id": 28989, + "nodeType": "StructuredDocumentation", + "src": "7329:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "e6b62636", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28995, + "kind": "modifierInvocation", + "modifierName": { + "id": 28994, + "name": "nonReentrant", + "nameLocations": [ + "7420:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24150, + "src": "7420:12:44" + }, + "nodeType": "ModifierInvocation", + "src": "7420:12:44" + } + ], + "name": "deposit", + "nameLocation": "7371:7:44", + "parameters": { + "id": 28993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28992, + "mutability": "mutable", + "name": "config_", + "nameLocation": "7402:7:44", + "nodeType": "VariableDeclaration", + "scope": 29033, + "src": "7379:30:44", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 28991, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28990, + "name": "DepositConfig", + "nameLocations": [ + "7379:13:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30284, + "src": "7379:13:44" + }, + "referencedDeclaration": 30284, + "src": "7379:13:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$30284_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "src": "7378:32:44" + }, + "returnParameters": { + "id": 28996, + "nodeType": "ParameterList", + "parameters": [], + "src": "7433:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 29094, + "nodeType": "FunctionDefinition", + "src": "7891:678:44", + "nodes": [], + "body": { + "id": 29093, + "nodeType": "Block", + "src": "7964:605:44", + "nodes": [], + "statements": [ + { + "assignments": [ + 29043 + ], + "declarations": [ + { + "constant": false, + "id": 29043, + "mutability": "mutable", + "name": "vaultBalance_", + "nameLocation": "7982:13:44", + "nodeType": "VariableDeclaration", + "scope": 29093, + "src": "7974:21:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29042, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7974:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29054, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29044, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "7998:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29047, + "indexExpression": { + "expression": { + "id": 29045, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8011:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8015:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8011:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7998:24:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29050, + "indexExpression": { + "expression": { + "id": 29048, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8023:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + "id": 29049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8031:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30286, + "src": "8023:13:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7998:39:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29053, + "indexExpression": { + "expression": { + "id": 29051, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8038:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + "id": 29052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8046:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30288, + "src": "8038:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7998:56:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7974:80:44" + }, + { + "assignments": [ + 29056 + ], + "declarations": [ + { + "constant": false, + "id": 29056, + "mutability": "mutable", + "name": "withdrawAmount_", + "nameLocation": "8072:15:44", + "nodeType": "VariableDeclaration", + "scope": 29093, + "src": "8064:23:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29055, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8064:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29062, + "initialValue": { + "arguments": [ + { + "id": 29060, + "name": "vaultBalance_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29043, + "src": "8109:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "expression": { + "id": 29057, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8090:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + "id": 29058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8098:6:44", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 30290, + "src": "8090:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8105:3:44", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 25616, + "src": "8090:18:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 29061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8090:33:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8064:59:44" + }, + { + "expression": { + "id": 29076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29063, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "8326:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29070, + "indexExpression": { + "expression": { + "id": 29064, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8339:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8343:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8339:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8326:24:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29071, + "indexExpression": { + "expression": { + "id": 29066, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8351:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + "id": 29067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8359:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30286, + "src": "8351:13:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8326:39:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29072, + "indexExpression": { + "expression": { + "id": 29068, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8366:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + "id": 29069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8374:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30288, + "src": "8366:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8326:56:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29073, + "name": "vaultBalance_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29043, + "src": "8385:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 29074, + "name": "withdrawAmount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29056, + "src": "8401:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8385:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8326:90:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29077, + "nodeType": "ExpressionStatement", + "src": "8326:90:44" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29079, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8440:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8444:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8440:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29081, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8452:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + { + "id": 29082, + "name": "withdrawAmount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29056, + "src": "8461:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29078, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30400, + "src": "8431:8:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_WithdrawConfig_$30291_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,struct WithdrawConfig memory,uint256)" + } + }, + "id": 29083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8431:46:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29084, + "nodeType": "EmitStatement", + "src": "8426:51:44" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 29086, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29037, + "src": "8519:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig calldata" + } + }, + "id": 29087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8527:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30286, + "src": "8519:13:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29088, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8534:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8538:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8534:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29090, + "name": "withdrawAmount_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29056, + "src": "8546:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29085, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28598, + "src": "8487:31:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8487:75:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29092, + "nodeType": "ExpressionStatement", + "src": "8487:75:44" + } + ] + }, + "baseFunctions": [ + 30510 + ], + "documentation": { + "id": 29034, + "nodeType": "StructuredDocumentation", + "src": "7858:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "4f266187", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 29040, + "kind": "modifierInvocation", + "modifierName": { + "id": 29039, + "name": "nonReentrant", + "nameLocations": [ + "7951:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24150, + "src": "7951:12:44" + }, + "nodeType": "ModifierInvocation", + "src": "7951:12:44" + } + ], + "name": "withdraw", + "nameLocation": "7900:8:44", + "parameters": { + "id": 29038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29037, + "mutability": "mutable", + "name": "config_", + "nameLocation": "7933:7:44", + "nodeType": "VariableDeclaration", + "scope": 29094, + "src": "7909:31:44", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", + "typeString": "struct WithdrawConfig" + }, + "typeName": { + "id": 29036, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29035, + "name": "WithdrawConfig", + "nameLocations": [ + "7909:14:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30291, + "src": "7909:14:44" + }, + "referencedDeclaration": 30291, + "src": "7909:14:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WithdrawConfig_$30291_storage_ptr", + "typeString": "struct WithdrawConfig" + } + }, + "visibility": "internal" + } + ], + "src": "7908:33:44" + }, + "returnParameters": { + "id": 29041, + "nodeType": "ParameterList", + "parameters": [], + "src": "7964:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 29201, + "nodeType": "FunctionDefinition", + "src": "8608:1084:44", + "nodes": [], + "body": { + "id": 29200, + "nodeType": "Block", + "src": "8678:1014:44", + "nodes": [], + "statements": [ + { + "assignments": [ + 29105, + 29108, + 29110 + ], + "declarations": [ + { + "constant": false, + "id": 29105, + "mutability": "mutable", + "name": "interpreter_", + "nameLocation": "8704:12:44", + "nodeType": "VariableDeclaration", + "scope": 29200, + "src": "8689:27:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$26809", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 29104, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29103, + "name": "IInterpreterV1", + "nameLocations": [ + "8689:14:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26809, + "src": "8689:14:44" + }, + "referencedDeclaration": 26809, + "src": "8689:14:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$26809", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29108, + "mutability": "mutable", + "name": "store_", + "nameLocation": "8738:6:44", + "nodeType": "VariableDeclaration", + "scope": 29200, + "src": "8718:26:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 29107, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29106, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "8718:19:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26759, + "src": "8718:19:44" + }, + "referencedDeclaration": 26759, + "src": "8718:19:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29110, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "8754:11:44", + "nodeType": "VariableDeclaration", + "scope": 29200, + "src": "8746:19:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8746:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 29127, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 29115, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "8871:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8879:15:44", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 30309, + "src": "8871:23:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", + "typeString": "struct EvaluableConfig calldata" + } + }, + "id": 29117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8895:7:44", + "memberName": "sources", + "nodeType": "MemberAccess", + "referencedDeclaration": 27293, + "src": "8871:31:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + { + "expression": { + "expression": { + "id": 29118, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "8916:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8924:15:44", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 30309, + "src": "8916:23:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", + "typeString": "struct EvaluableConfig calldata" + } + }, + "id": 29120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8940:9:44", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 27296, + "src": "8916:33:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "arguments": [ + { + "id": 29123, + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28867, + "src": "8989:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29124, + "name": "HANDLE_IO_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28875, + "src": "9018:21:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29121, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27703, + "src": "8963:15:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 29122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8979:9:44", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27562, + "src": "8963:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 29125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8963:77:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 29111, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "8769:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8790:15:44", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 30309, + "src": "8769:36:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", + "typeString": "struct EvaluableConfig calldata" + } + }, + "id": 29113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8819:8:44", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 27290, + "src": "8769:58:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV1_$26692", + "typeString": "contract IExpressionDeployerV1" + } + }, + "id": 29114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8841:16:44", + "memberName": "deployExpression", + "nodeType": "MemberAccess", + "referencedDeclaration": 26691, + "src": "8769:88:44", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$26809_$_t_contract$_IInterpreterStoreV1_$26759_$_t_address_$", + "typeString": "function (bytes memory[] memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "id": 29126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8769:281:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$26809_$_t_contract$_IInterpreterStoreV1_$26759_$_t_address_$", + "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8688:362:44" + }, + { + "assignments": [ + 29130 + ], + "declarations": [ + { + "constant": false, + "id": 29130, + "mutability": "mutable", + "name": "order_", + "nameLocation": "9073:6:44", + "nodeType": "VariableDeclaration", + "scope": 29200, + "src": "9060:19:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 29129, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29128, + "name": "Order", + "nameLocations": [ + "9060:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "9060:5:44" + }, + "referencedDeclaration": 30328, + "src": "9060:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 29155, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 29132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9101:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9105:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9101:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 29134, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9125:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9133:15:44", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 30309, + "src": "9125:23:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", + "typeString": "struct EvaluableConfig calldata" + } + }, + "id": 29136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9149:7:44", + "memberName": "sources", + "nodeType": "MemberAccess", + "referencedDeclaration": 27293, + "src": "9125:31:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 29141, + "indexExpression": { + "arguments": [ + { + "id": 29139, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28863, + "src": "9176:20:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + ], + "expression": { + "id": 29137, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26764, + "src": "9157:11:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$26764_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 29138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9169:6:44", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "9157:18:44", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$26764_$returns$_t_uint16_$", + "typeString": "function (SourceIndex) pure returns (uint16)" + } + }, + "id": 29140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9157:40:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9125:73:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 29142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9199:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9125:80:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 29143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9208:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9125:84:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "id": 29146, + "name": "interpreter_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29105, + "src": "9233:12:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$26809", + "typeString": "contract IInterpreterV1" + } + }, + { + "id": 29147, + "name": "store_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29108, + "src": "9247:6:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 29148, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29110, + "src": "9255:11:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterV1_$26809", + "typeString": "contract IInterpreterV1" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29145, + "name": "Evaluable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27306, + "src": "9223:9:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Evaluable_$27306_storage_ptr_$", + "typeString": "type(struct Evaluable storage pointer)" + } + }, + "id": 29149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9223:44:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + { + "expression": { + "id": 29150, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9281:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9289:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30302, + "src": "9281:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + { + "expression": { + "id": 29152, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9314:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9322:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30306, + "src": "9314:20:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + ], + "id": 29131, + "name": "Order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30328, + "src": "9082:5:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Order_$30328_storage_ptr_$", + "typeString": "type(struct Order storage pointer)" + } + }, + "id": 29154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9082:262:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9060:284:44" + }, + { + "assignments": [ + 29157 + ], + "declarations": [ + { + "constant": false, + "id": 29157, + "mutability": "mutable", + "name": "orderHash_", + "nameLocation": "9362:10:44", + "nodeType": "VariableDeclaration", + "scope": 29200, + "src": "9354:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9354:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29161, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29158, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29130, + "src": "9375:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29159, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9382:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "9375:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9375:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9354:34:44" + }, + { + "expression": { + "id": 29166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29162, + "name": "orders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28967, + "src": "9399:6:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29164, + "indexExpression": { + "id": 29163, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29157, + "src": "9406:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9399:18:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 29165, + "name": "LIVE_ORDER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28843, + "src": "9420:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9399:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29167, + "nodeType": "ExpressionStatement", + "src": "9399:31:44" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29169, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9454:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9458:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9454:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "expression": { + "id": 29171, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9466:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9474:15:44", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 30309, + "src": "9466:23:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", + "typeString": "struct EvaluableConfig calldata" + } + }, + "id": 29173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9490:8:44", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 27290, + "src": "9466:32:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV1_$26692", + "typeString": "contract IExpressionDeployerV1" + } + }, + { + "id": 29174, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29130, + "src": "9500:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 29175, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29157, + "src": "9508:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IExpressionDeployerV1_$26692", + "typeString": "contract IExpressionDeployerV1" + }, + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29168, + "name": "AddOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30413, + "src": "9445:8:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV1_$26692_$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,contract IExpressionDeployerV1,struct Order memory,uint256)" + } + }, + "id": 29176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9445:74:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29177, + "nodeType": "EmitStatement", + "src": "9440:79:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 29178, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9534:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9542:4:44", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 30311, + "src": "9534:12:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 29180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9547:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9534:19:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 29181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9556:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9534:23:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29199, + "nodeType": "IfStatement", + "src": "9530:156:44", + "trueBody": { + "id": 29198, + "nodeType": "Block", + "src": "9559:127:44", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 29186, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9599:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9607:4:44", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 30311, + "src": "9599:12:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 29183, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26598, + "src": "9573:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibMeta_$26598_$", + "typeString": "type(library LibMeta)" + } + }, + "id": 29185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9581:17:44", + "memberName": "checkMetaUnhashed", + "nodeType": "MemberAccess", + "referencedDeclaration": 26568, + "src": "9573:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 29188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9573:39:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29189, + "nodeType": "ExpressionStatement", + "src": "9573:39:44" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29191, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9638:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9642:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9638:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29193, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29157, + "src": "9650:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29194, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29098, + "src": "9662:7:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig calldata" + } + }, + "id": 29195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9670:4:44", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 30311, + "src": "9662:12:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 29190, + "name": "MetaV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26513, + "src": "9631:6:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 29196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9631:44:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29197, + "nodeType": "EmitStatement", + "src": "9626:49:44" + } + ] + } + } + ] + }, + "baseFunctions": [ + 30517 + ], + "documentation": { + "id": 29095, + "nodeType": "StructuredDocumentation", + "src": "8575:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "70276678", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 29101, + "kind": "modifierInvocation", + "modifierName": { + "id": 29100, + "name": "nonReentrant", + "nameLocations": [ + "8665:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24150, + "src": "8665:12:44" + }, + "nodeType": "ModifierInvocation", + "src": "8665:12:44" + } + ], + "name": "addOrder", + "nameLocation": "8617:8:44", + "parameters": { + "id": 29099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29098, + "mutability": "mutable", + "name": "config_", + "nameLocation": "8647:7:44", + "nodeType": "VariableDeclaration", + "scope": 29201, + "src": "8626:28:44", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", + "typeString": "struct OrderConfig" + }, + "typeName": { + "id": 29097, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29096, + "name": "OrderConfig", + "nameLocations": [ + "8626:11:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30312, + "src": "8626:11:44" + }, + "referencedDeclaration": 30312, + "src": "8626:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfig_$30312_storage_ptr", + "typeString": "struct OrderConfig" + } + }, + "visibility": "internal" + } + ], + "src": "8625:30:44" + }, + "returnParameters": { + "id": 29102, + "nodeType": "ParameterList", + "parameters": [], + "src": "8678:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 29217, + "nodeType": "FunctionDefinition", + "src": "9698:213:44", + "nodes": [], + "body": { + "id": 29216, + "nodeType": "Block", + "src": "9792:119:44", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 29211, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29203, + "src": "9835:11:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29212, + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28855, + "src": "9848:26:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + }, + { + "id": 29213, + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28871, + "src": "9876:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 29209, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27282, + "src": "9809:18:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$27282_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 29210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9828:6:44", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 27233, + "src": "9809:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$26764_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 29214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9809:95:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 29208, + "id": 29215, + "nodeType": "Return", + "src": "9802:102:44" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_calculateOrderDispatch", + "nameLocation": "9707:23:44", + "parameters": { + "id": 29204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29203, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "9739:11:44", + "nodeType": "VariableDeclaration", + "scope": 29217, + "src": "9731:19:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9731:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9730:21:44" + }, + "returnParameters": { + "id": 29208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29207, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29217, + "src": "9775:15:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 29206, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29205, + "name": "EncodedDispatch", + "nameLocations": [ + "9775:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26766, + "src": "9775:15:44" + }, + "referencedDeclaration": 26766, + "src": "9775:15:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "9774:17:44" + }, + "scope": 30272, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29233, + "nodeType": "FunctionDefinition", + "src": "9917:195:44", + "nodes": [], + "body": { + "id": 29232, + "nodeType": "Block", + "src": "10005:107:44", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 29227, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29219, + "src": "10048:11:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29228, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28863, + "src": "10061:20:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + } + }, + { + "id": 29229, + "name": "HANDLE_IO_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28879, + "src": "10083:21:44", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 29225, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27282, + "src": "10022:18:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$27282_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 29226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10041:6:44", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 27233, + "src": "10022:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$26764_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 29230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10022:83:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 29224, + "id": 29231, + "nodeType": "Return", + "src": "10015:90:44" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_handleIODispatch", + "nameLocation": "9926:17:44", + "parameters": { + "id": 29220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29219, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "9952:11:44", + "nodeType": "VariableDeclaration", + "scope": 29233, + "src": "9944:19:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9944:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9943:21:44" + }, + "returnParameters": { + "id": 29224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29223, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29233, + "src": "9988:15:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 29222, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29221, + "name": "EncodedDispatch", + "nameLocations": [ + "9988:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26766, + "src": "9988:15:44" + }, + "referencedDeclaration": 26766, + "src": "9988:15:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "9987:17:44" + }, + "scope": 30272, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29276, + "nodeType": "FunctionDefinition", + "src": "10151:324:44", + "nodes": [], + "body": { + "id": 29275, + "nodeType": "Block", + "src": "10217:258:44", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29242, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10231:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10235:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10231:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 29244, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29237, + "src": "10245:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 29245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10252:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "10245:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10231:26:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29255, + "nodeType": "IfStatement", + "src": "10227:103:44", + "trueBody": { + "id": 29254, + "nodeType": "Block", + "src": "10259:71:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 29248, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10294:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10298:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10294:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29250, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29237, + "src": "10306:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 29251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10313:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "10306:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29247, + "name": "NotOrderOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28813, + "src": "10280:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 29252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10280:39:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29253, + "nodeType": "RevertStatement", + "src": "10273:46:44" + } + ] + } + }, + { + "assignments": [ + 29257 + ], + "declarations": [ + { + "constant": false, + "id": 29257, + "mutability": "mutable", + "name": "orderHash_", + "nameLocation": "10347:10:44", + "nodeType": "VariableDeclaration", + "scope": 29275, + "src": "10339:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29256, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10339:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29261, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29258, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29237, + "src": "10360:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 29259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10367:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "10360:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10360:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10339:34:44" + }, + { + "expression": { + "id": 29266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10383:27:44", + "subExpression": { + "components": [ + { + "baseExpression": { + "id": 29262, + "name": "orders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28967, + "src": "10391:6:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29264, + "indexExpression": { + "id": 29263, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29257, + "src": "10398:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10391:18:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 29265, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10390:20:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29267, + "nodeType": "ExpressionStatement", + "src": "10383:27:44" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29269, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10437:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10441:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10437:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29271, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29237, + "src": "10449:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + { + "id": 29272, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29257, + "src": "10457:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", + "typeString": "struct Order calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29268, + "name": "RemoveOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30423, + "src": "10425:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,struct Order memory,uint256)" + } + }, + "id": 29273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10425:43:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29274, + "nodeType": "EmitStatement", + "src": "10420:48:44" + } + ] + }, + "baseFunctions": [ + 30524 + ], + "documentation": { + "id": 29234, + "nodeType": "StructuredDocumentation", + "src": "10118:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "e23746a3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 29240, + "kind": "modifierInvocation", + "modifierName": { + "id": 29239, + "name": "nonReentrant", + "nameLocations": [ + "10204:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24150, + "src": "10204:12:44" + }, + "nodeType": "ModifierInvocation", + "src": "10204:12:44" + } + ], + "name": "removeOrder", + "nameLocation": "10160:11:44", + "parameters": { + "id": 29238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29237, + "mutability": "mutable", + "name": "order_", + "nameLocation": "10187:6:44", + "nodeType": "VariableDeclaration", + "scope": 29276, + "src": "10172:21:44", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 29236, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29235, + "name": "Order", + "nameLocations": [ + "10172:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "10172:5:44" + }, + "referencedDeclaration": 30328, + "src": "10172:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "src": "10171:23:44" + }, + "returnParameters": { + "id": 29241, + "nodeType": "ParameterList", + "parameters": [], + "src": "10217:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 29528, + "nodeType": "FunctionDefinition", + "src": "10514:3413:44", + "nodes": [], + "body": { + "id": 29527, + "nodeType": "Block", + "src": "10675:3252:44", + "nodes": [], + "statements": [ + { + "assignments": [ + 29290 + ], + "declarations": [ + { + "constant": false, + "id": 29290, + "mutability": "mutable", + "name": "i_", + "nameLocation": "10693:2:44", + "nodeType": "VariableDeclaration", + "scope": 29527, + "src": "10685:10:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29289, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10685:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29292, + "initialValue": { + "hexValue": "30", + "id": 29291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10698:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10685:14:44" + }, + { + "assignments": [ + 29295 + ], + "declarations": [ + { + "constant": false, + "id": 29295, + "mutability": "mutable", + "name": "takeOrder_", + "nameLocation": "10732:10:44", + "nodeType": "VariableDeclaration", + "scope": 29527, + "src": "10709:33:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig" + }, + "typeName": { + "id": 29294, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29293, + "name": "TakeOrderConfig", + "nameLocations": [ + "10709:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30355, + "src": "10709:15:44" + }, + "referencedDeclaration": 30355, + "src": "10709:15:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_storage_ptr", + "typeString": "struct TakeOrderConfig" + } + }, + "visibility": "internal" + } + ], + "id": 29296, + "nodeType": "VariableDeclarationStatement", + "src": "10709:33:44" + }, + { + "assignments": [ + 29299 + ], + "declarations": [ + { + "constant": false, + "id": 29299, + "mutability": "mutable", + "name": "order_", + "nameLocation": "10765:6:44", + "nodeType": "VariableDeclaration", + "scope": 29527, + "src": "10752:19:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 29298, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29297, + "name": "Order", + "nameLocations": [ + "10752:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "10752:5:44" + }, + "referencedDeclaration": 30328, + "src": "10752:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 29300, + "nodeType": "VariableDeclarationStatement", + "src": "10752:19:44" + }, + { + "assignments": [ + 29302 + ], + "declarations": [ + { + "constant": false, + "id": 29302, + "mutability": "mutable", + "name": "remainingInput_", + "nameLocation": "10789:15:44", + "nodeType": "VariableDeclaration", + "scope": 29527, + "src": "10781:23:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29301, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10781:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29305, + "initialValue": { + "expression": { + "id": 29303, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "10807:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10819:12:44", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30336, + "src": "10807:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10781:50:44" + }, + { + "body": { + "id": 29484, + "nodeType": "Block", + "src": "10903:2289:44", + "statements": [ + { + "expression": { + "id": 29320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29315, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "10917:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 29316, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "10930:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10942:6:44", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 30342, + "src": "10930:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$30355_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 29319, + "indexExpression": { + "id": 29318, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29290, + "src": "10949:2:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10930:22:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "src": "10917:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29321, + "nodeType": "ExpressionStatement", + "src": "10917:35:44" + }, + { + "expression": { + "id": 29325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29322, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "10966:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 29323, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "10975:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29324, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10986:5:44", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 30346, + "src": "10975:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "src": "10966:25:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29326, + "nodeType": "ExpressionStatement", + "src": "10966:25:44" + }, + { + "assignments": [ + 29328 + ], + "declarations": [ + { + "constant": false, + "id": 29328, + "mutability": "mutable", + "name": "orderHash_", + "nameLocation": "11013:10:44", + "nodeType": "VariableDeclaration", + "scope": 29484, + "src": "11005:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11005:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29332, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29329, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11026:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11033:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "11026:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11026:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11005:34:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 29333, + "name": "orders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28967, + "src": "11057:6:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29335, + "indexExpression": { + "id": 29334, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29328, + "src": "11064:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11057:18:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 29336, + "name": "DEAD_ORDER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28847, + "src": "11079:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11057:32:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 29478, + "nodeType": "Block", + "src": "11186:1935:44", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29347, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11208:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11215:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "11208:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29351, + "indexExpression": { + "expression": { + "id": 29349, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11227:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29350, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11238:12:44", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30348, + "src": "11227:23:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11208:43:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29352, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11252:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "11208:49:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 29353, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "11261:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11273:6:44", + "memberName": "output", + "nodeType": "MemberAccess", + "referencedDeclaration": 30330, + "src": "11261:18:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11208:71:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29368, + "nodeType": "IfStatement", + "src": "11204:209:44", + "trueBody": { + "id": 29367, + "nodeType": "Block", + "src": "11281:132:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 29357, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11324:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11331:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "11324:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29361, + "indexExpression": { + "expression": { + "id": 29359, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11343:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29360, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11354:12:44", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30348, + "src": "11343:23:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11324:43:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29362, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11368:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "11324:49:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29363, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "11375:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11387:6:44", + "memberName": "output", + "nodeType": "MemberAccess", + "referencedDeclaration": 30330, + "src": "11375:18:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29356, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28820, + "src": "11310:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 29365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11310:84:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29366, + "nodeType": "RevertStatement", + "src": "11303:91:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29369, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11434:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29370, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11441:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "11434:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29373, + "indexExpression": { + "expression": { + "id": 29371, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11454:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11465:13:44", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30350, + "src": "11454:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11434:45:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29374, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11480:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "11434:51:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 29375, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "11489:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11501:5:44", + "memberName": "input", + "nodeType": "MemberAccess", + "referencedDeclaration": 30332, + "src": "11489:17:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11434:72:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29390, + "nodeType": "IfStatement", + "src": "11430:211:44", + "trueBody": { + "id": 29389, + "nodeType": "Block", + "src": "11508:133:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 29379, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11551:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11558:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "11551:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29383, + "indexExpression": { + "expression": { + "id": 29381, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11571:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11582:13:44", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30350, + "src": "11571:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11551:45:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11597:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "11551:51:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29385, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "11604:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11616:5:44", + "memberName": "input", + "nodeType": "MemberAccess", + "referencedDeclaration": 30332, + "src": "11604:17:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29378, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28820, + "src": "11537:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 29387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11537:85:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29388, + "nodeType": "RevertStatement", + "src": "11530:92:44" + } + ] + } + }, + { + "assignments": [ + 29393 + ], + "declarations": [ + { + "constant": false, + "id": 29393, + "mutability": "mutable", + "name": "orderIOCalculation_", + "nameLocation": "11685:19:44", + "nodeType": "VariableDeclaration", + "scope": 29478, + "src": "11659:45:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 29392, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29391, + "name": "OrderIOCalculation", + "nameLocations": [ + "11659:18:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30951, + "src": "11659:18:44" + }, + "referencedDeclaration": 30951, + "src": "11659:18:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 29405, + "initialValue": { + "arguments": [ + { + "id": 29395, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11746:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 29396, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11754:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11765:12:44", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30348, + "src": "11754:23:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29398, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11779:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11790:13:44", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30350, + "src": "11779:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29400, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11805:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11809:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11805:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29402, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "11817:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 29403, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11828:13:44", + "memberName": "signedContext", + "nodeType": "MemberAccess", + "referencedDeclaration": 30354, + "src": "11817:24:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 29394, + "name": "_calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30100, + "src": "11707:17:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 29404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11707:152:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11659:200:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29406, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29393, + "src": "12209:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 29407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12229:7:44", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 30940, + "src": "12209:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 29408, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "12239:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12251:14:44", + "memberName": "maximumIORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 30338, + "src": "12239:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12209:56:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29420, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29393, + "src": "12381:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 29421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12401:9:44", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 30938, + "src": "12381:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 29422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12414:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12381:34:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 29475, + "nodeType": "Block", + "src": "12522:585:44", + "statements": [ + { + "assignments": [ + 29434 + ], + "declarations": [ + { + "constant": false, + "id": 29434, + "mutability": "mutable", + "name": "input_", + "nameLocation": "12613:6:44", + "nodeType": "VariableDeclaration", + "scope": 29475, + "src": "12605:14:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12605:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29440, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 29437, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29393, + "src": "12642:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 29438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12662:9:44", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 30938, + "src": "12642:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29435, + "name": "remainingInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29302, + "src": "12622:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12638:3:44", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 25616, + "src": "12622:19:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 29439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12622:50:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12605:67:44" + }, + { + "assignments": [ + 29442 + ], + "declarations": [ + { + "constant": false, + "id": 29442, + "mutability": "mutable", + "name": "output_", + "nameLocation": "12758:7:44", + "nodeType": "VariableDeclaration", + "scope": 29475, + "src": "12750:15:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29441, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12750:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29451, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 29445, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29393, + "src": "12789:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 29446, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12809:7:44", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 30940, + "src": "12789:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 29447, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26438, + "src": "12818:4:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$26438_$", + "typeString": "type(library Math)" + } + }, + "id": 29448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12823:8:44", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 25580, + "src": "12818:13:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$25580_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 29449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12832:2:44", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 25578, + "src": "12818:16:44", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$25580", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$25580", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "id": 29443, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29434, + "src": "12768:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12775:13:44", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 27732, + "src": "12768:20:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$25580_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 29450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12768:67:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12750:85:44" + }, + { + "expression": { + "id": 29454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29452, + "name": "remainingInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29302, + "src": "12858:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 29453, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29434, + "src": "12877:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12858:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29455, + "nodeType": "ExpressionStatement", + "src": "12858:25:44" + }, + { + "expression": { + "id": 29458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29456, + "name": "totalOutput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29287, + "src": "12905:12:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29457, + "name": "output_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29442, + "src": "12921:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12905:23:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29459, + "nodeType": "ExpressionStatement", + "src": "12905:23:44" + }, + { + "expression": { + "arguments": [ + { + "id": 29461, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "12966:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 29462, + "name": "output_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29442, + "src": "12974:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29463, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29434, + "src": "12983:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29464, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29393, + "src": "12991:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 29460, + "name": "_recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30271, + "src": "12951:14:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 29465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12951:60:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29466, + "nodeType": "ExpressionStatement", + "src": "12951:60:44" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29468, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13048:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13052:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13048:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29470, + "name": "takeOrder_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29295, + "src": "13060:10:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + { + "id": 29471, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29434, + "src": "13072:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29472, + "name": "output_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29442, + "src": "13080:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29467, + "name": "TakeOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30435, + "src": "13038:9:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$30355_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" + } + }, + "id": 29473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13038:50:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29474, + "nodeType": "EmitStatement", + "src": "13033:55:44" + } + ] + }, + "id": 29476, + "nodeType": "IfStatement", + "src": "12377:730:44", + "trueBody": { + "id": 29432, + "nodeType": "Block", + "src": "12417:99:44", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29425, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12460:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12464:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12460:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29427, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "12472:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12479:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "12472:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29429, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29328, + "src": "12486:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29424, + "name": "OrderZeroAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30453, + "src": "12444:15:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12444:53:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29431, + "nodeType": "EmitStatement", + "src": "12439:58:44" + } + ] + } + }, + "id": 29477, + "nodeType": "IfStatement", + "src": "12205:902:44", + "trueBody": { + "id": 29419, + "nodeType": "Block", + "src": "12267:104:44", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29412, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12315:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12319:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12315:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29414, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "12327:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29415, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12334:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "12327:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29416, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29328, + "src": "12341:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29411, + "name": "OrderExceedsMaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30462, + "src": "12294:20:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12294:58:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29418, + "nodeType": "EmitStatement", + "src": "12289:63:44" + } + ] + } + } + ] + }, + "id": 29479, + "nodeType": "IfStatement", + "src": "11053:2068:44", + "trueBody": { + "id": 29346, + "nodeType": "Block", + "src": "11091:89:44", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29339, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11128:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11132:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11128:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29341, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29299, + "src": "11140:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11147:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "11140:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29343, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29328, + "src": "11154:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29338, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30444, + "src": "11114:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11114:51:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29345, + "nodeType": "EmitStatement", + "src": "11109:56:44" + } + ] + } + }, + { + "id": 29483, + "nodeType": "UncheckedBlock", + "src": "13135:47:44", + "statements": [ + { + "expression": { + "id": 29481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "13163:4:44", + "subExpression": { + "id": 29480, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29290, + "src": "13163:2:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29482, + "nodeType": "ExpressionStatement", + "src": "13163:4:44" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 29314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29306, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29290, + "src": "10848:2:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "id": 29307, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "10853:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10865:6:44", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 30342, + "src": "10853:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$30355_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 29309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10872:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10853:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10848:30:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29311, + "name": "remainingInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29302, + "src": "10882:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 29312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10900:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10882:19:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10848:53:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29485, + "nodeType": "WhileStatement", + "src": "10841:2351:44" + }, + { + "expression": { + "id": 29491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29486, + "name": "totalInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29285, + "src": "13201:11:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29487, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "13215:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13227:12:44", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30336, + "src": "13215:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 29489, + "name": "remainingInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29302, + "src": "13242:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13215:42:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13201:56:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29492, + "nodeType": "ExpressionStatement", + "src": "13201:56:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29493, + "name": "totalInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29285, + "src": "13272:11:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 29494, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "13286:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13298:12:44", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30334, + "src": "13286:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13272:38:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29504, + "nodeType": "IfStatement", + "src": "13268:127:44", + "trueBody": { + "id": 29503, + "nodeType": "Block", + "src": "13312:83:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 29498, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "13346:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13358:12:44", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30334, + "src": "13346:24:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29500, + "name": "totalInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29285, + "src": "13372:11:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29497, + "name": "MinimumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28827, + "src": "13333:12:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 29501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13333:51:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29502, + "nodeType": "RevertStatement", + "src": "13326:58:44" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 29510, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13684:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13688:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13684:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 29514, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "13704:4:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$30272", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$30272", + "typeString": "contract OrderBook" + } + ], + "id": 29513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13696:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13696:7:44", + "typeDescriptions": {} + } + }, + "id": 29515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13696:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29516, + "name": "totalOutput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29287, + "src": "13711:12:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 29506, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "13647:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13659:6:44", + "memberName": "output", + "nodeType": "MemberAccess", + "referencedDeclaration": 30330, + "src": "13647:18:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29505, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24252, + "src": "13640:6:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$24252_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 29508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13640:26:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$24252", + "typeString": "contract IERC20" + } + }, + "id": 29509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13667:16:44", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 24346, + "src": "13640:43:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$24252_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$24252_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 29517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13640:84:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29518, + "nodeType": "ExpressionStatement", + "src": "13640:84:44" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 29520, + "name": "takeOrders_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29280, + "src": "13877:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig calldata" + } + }, + "id": 29521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13889:5:44", + "memberName": "input", + "nodeType": "MemberAccess", + "referencedDeclaration": 30332, + "src": "13877:17:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13896:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13900:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13896:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29524, + "name": "totalInput_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29285, + "src": "13908:11:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29519, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28598, + "src": "13845:31:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13845:75:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29526, + "nodeType": "ExpressionStatement", + "src": "13845:75:44" + } + ] + }, + "baseFunctions": [ + 30535 + ], + "documentation": { + "id": 29277, + "nodeType": "StructuredDocumentation", + "src": "10481:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "7a8048df", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 29283, + "kind": "modifierInvocation", + "modifierName": { + "id": 29282, + "name": "nonReentrant", + "nameLocations": [ + "10598:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24150, + "src": "10598:12:44" + }, + "nodeType": "ModifierInvocation", + "src": "10598:12:44" + } + ], + "name": "takeOrders", + "nameLocation": "10523:10:44", + "parameters": { + "id": 29281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29280, + "mutability": "mutable", + "name": "takeOrders_", + "nameLocation": "10560:11:44", + "nodeType": "VariableDeclaration", + "scope": 29528, + "src": "10534:37:44", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", + "typeString": "struct TakeOrdersConfig" + }, + "typeName": { + "id": 29279, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29278, + "name": "TakeOrdersConfig", + "nameLocations": [ + "10534:16:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30343, + "src": "10534:16:44" + }, + "referencedDeclaration": 30343, + "src": "10534:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_storage_ptr", + "typeString": "struct TakeOrdersConfig" + } + }, + "visibility": "internal" + } + ], + "src": "10533:39:44" + }, + "returnParameters": { + "id": 29288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29285, + "mutability": "mutable", + "name": "totalInput_", + "nameLocation": "10636:11:44", + "nodeType": "VariableDeclaration", + "scope": 29528, + "src": "10628:19:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10628:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29287, + "mutability": "mutable", + "name": "totalOutput_", + "nameLocation": "10657:12:44", + "nodeType": "VariableDeclaration", + "scope": 29528, + "src": "10649:20:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10649:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10627:43:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 29795, + "nodeType": "FunctionDefinition", + "src": "13966:3475:44", + "nodes": [], + "body": { + "id": 29794, + "nodeType": "Block", + "src": "14214:3227:44", + "nodes": [], + "statements": [ + { + "id": 29671, + "nodeType": "Block", + "src": "14224:1594:44", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29551, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "14242:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14249:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "14242:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 29553, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "14258:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14263:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "14258:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14242:26:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29562, + "nodeType": "IfStatement", + "src": "14238:95:44", + "trueBody": { + "id": 29561, + "nodeType": "Block", + "src": "14270:63:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 29557, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "14305:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29558, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14312:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "14305:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29556, + "name": "SameOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28832, + "src": "14295:9:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 29559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14295:23:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29560, + "nodeType": "RevertStatement", + "src": "14288:30:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29563, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "14367:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14374:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "14367:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29567, + "indexExpression": { + "expression": { + "id": 29565, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "14387:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14400:18:44", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30359, + "src": "14387:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14367:52:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14420:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14367:58:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29569, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "14449:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14454:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "14449:16:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29573, + "indexExpression": { + "expression": { + "id": 29571, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "14466:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14479:15:44", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30361, + "src": "14466:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14449:46:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14496:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14449:52:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14367:134:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29592, + "nodeType": "IfStatement", + "src": "14346:395:44", + "trueBody": { + "id": 29591, + "nodeType": "Block", + "src": "14516:225:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 29577, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "14576:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14583:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "14576:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29581, + "indexExpression": { + "expression": { + "id": 29579, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "14596:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14609:18:44", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30359, + "src": "14596:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14576:52:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29582, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14629:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14576:58:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 29583, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "14656:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29584, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14661:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "14656:16:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29587, + "indexExpression": { + "expression": { + "id": 29585, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "14673:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14686:15:44", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30361, + "src": "14673:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14656:46:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14703:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14656:52:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29576, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28820, + "src": "14541:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 29589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14541:185:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29590, + "nodeType": "RevertStatement", + "src": "14534:192:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29593, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "14776:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14781:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "14776:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29597, + "indexExpression": { + "expression": { + "id": 29595, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "14794:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14807:16:44", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30363, + "src": "14794:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14776:48:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14825:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14776:54:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29599, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "14854:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29600, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14861:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "14854:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29603, + "indexExpression": { + "expression": { + "id": 29601, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "14873:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14886:17:44", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30357, + "src": "14873:30:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14854:50:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14905:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14854:56:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14776:134:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29622, + "nodeType": "IfStatement", + "src": "14755:395:44", + "trueBody": { + "id": 29621, + "nodeType": "Block", + "src": "14925:225:44", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 29607, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "14985:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29608, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14992:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "14985:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29611, + "indexExpression": { + "expression": { + "id": 29609, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "15004:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15017:17:44", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30357, + "src": "15004:30:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14985:50:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29612, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15036:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "14985:56:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 29613, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "15063:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29614, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15068:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "15063:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29617, + "indexExpression": { + "expression": { + "id": 29615, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "15081:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15094:16:44", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30363, + "src": "15081:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15063:48:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15112:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "15063:54:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29606, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28820, + "src": "14950:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 29619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14950:185:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29620, + "nodeType": "RevertStatement", + "src": "14943:192:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 29623, + "name": "orders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28967, + "src": "15375:6:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29627, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29624, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "15382:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15389:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "15382:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15382:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15375:21:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 29628, + "name": "DEAD_ORDER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28847, + "src": "15400:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15375:35:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29642, + "nodeType": "IfStatement", + "src": "15371:157:44", + "trueBody": { + "id": 29641, + "nodeType": "Block", + "src": "15412:116:44", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29631, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15449:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15453:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15449:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29633, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "15461:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15468:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "15461:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29635, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "15475:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15482:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "15475:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15475:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29630, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30444, + "src": "15435:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15435:54:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29639, + "nodeType": "EmitStatement", + "src": "15430:59:44" + }, + { + "functionReturnParameters": 29550, + "id": 29640, + "nodeType": "Return", + "src": "15507:7:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 29643, + "name": "orders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28967, + "src": "15545:6:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29647, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29644, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "15552:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29645, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15557:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "15552:9:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15552:11:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15545:19:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 29648, + "name": "DEAD_ORDER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28847, + "src": "15568:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15545:33:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29662, + "nodeType": "IfStatement", + "src": "15541:151:44", + "trueBody": { + "id": 29661, + "nodeType": "Block", + "src": "15580:112:44", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29651, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15617:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15621:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15617:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29653, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "15629:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15634:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "15629:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29655, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "15641:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15646:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "15641:9:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15641:11:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29650, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30444, + "src": "15603:13:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15603:50:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29659, + "nodeType": "EmitStatement", + "src": "15598:55:44" + }, + { + "functionReturnParameters": 29550, + "id": 29660, + "nodeType": "Return", + "src": "15671:7:44" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29664, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15768:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15772:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15768:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29666, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "15780:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 29667, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "15788:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 29668, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "15794:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + ], + "id": 29663, + "name": "Clear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30476, + "src": "15762:5:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$30328_memory_ptr_$_t_struct$_Order_$30328_memory_ptr_$_t_struct$_ClearConfig_$30368_memory_ptr_$returns$__$", + "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" + } + }, + "id": 29669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15762:45:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29670, + "nodeType": "EmitStatement", + "src": "15757:50:44" + } + ] + }, + { + "assignments": [ + 29674 + ], + "declarations": [ + { + "constant": false, + "id": 29674, + "mutability": "mutable", + "name": "aliceOrderIOCalculation_", + "nameLocation": "15853:24:44", + "nodeType": "VariableDeclaration", + "scope": 29794, + "src": "15827:50:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 29673, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29672, + "name": "OrderIOCalculation", + "nameLocations": [ + "15827:18:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30951, + "src": "15827:18:44" + }, + "referencedDeclaration": 30951, + "src": "15827:18:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 29685, + "initialValue": { + "arguments": [ + { + "id": 29676, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "15911:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 29677, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "15919:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15932:17:44", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30357, + "src": "15919:30:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29679, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "15951:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15964:18:44", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30359, + "src": "15951:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29681, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "15984:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15989:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "15984:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29683, + "name": "bobSignedContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29546, + "src": "15996:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 29675, + "name": "_calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30100, + "src": "15880:17:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 29684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15880:143:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15827:196:44" + }, + { + "assignments": [ + 29688 + ], + "declarations": [ + { + "constant": false, + "id": 29688, + "mutability": "mutable", + "name": "bobOrderIOCalculation_", + "nameLocation": "16059:22:44", + "nodeType": "VariableDeclaration", + "scope": 29794, + "src": "16033:48:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 29687, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29686, + "name": "OrderIOCalculation", + "nameLocations": [ + "16033:18:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30951, + "src": "16033:18:44" + }, + "referencedDeclaration": 30951, + "src": "16033:18:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 29699, + "initialValue": { + "arguments": [ + { + "id": 29690, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "16115:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 29691, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "16121:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16134:15:44", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30361, + "src": "16121:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29693, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "16151:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16164:16:44", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30363, + "src": "16151:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29695, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "16182:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16189:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "16182:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29697, + "name": "aliceSignedContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29542, + "src": "16196:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 29689, + "name": "_calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30100, + "src": "16084:17:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 29698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16084:141:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16033:192:44" + }, + { + "assignments": [ + 29702 + ], + "declarations": [ + { + "constant": false, + "id": 29702, + "mutability": "mutable", + "name": "clearStateChange_", + "nameLocation": "16259:17:44", + "nodeType": "VariableDeclaration", + "scope": 29794, + "src": "16235:41:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 29701, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29700, + "name": "ClearStateChange", + "nameLocations": [ + "16235:16:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30377, + "src": "16235:16:44" + }, + "referencedDeclaration": 30377, + "src": "16235:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "id": 29708, + "initialValue": { + "arguments": [ + { + "id": 29705, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29674, + "src": "16322:24:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 29706, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29688, + "src": "16348:22:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "expression": { + "id": 29703, + "name": "LibOrderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31043, + "src": "16291:12:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibOrderBook_$31043_$", + "typeString": "type(library LibOrderBook)" + } + }, + "id": 29704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16304:17:44", + "memberName": "_clearStateChange", + "nodeType": "MemberAccess", + "referencedDeclaration": 31042, + "src": "16291:30:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$_t_struct$_ClearStateChange_$30377_memory_ptr_$", + "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" + } + }, + "id": 29707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16291:80:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16235:136:44" + }, + { + "expression": { + "arguments": [ + { + "id": 29710, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "16397:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 29711, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16405:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29712, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16423:10:44", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30374, + "src": "16405:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29713, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16435:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29714, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16453:11:44", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30370, + "src": "16435:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29715, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29674, + "src": "16466:24:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 29709, + "name": "_recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30271, + "src": "16382:14:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 29716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16382:109:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29717, + "nodeType": "ExpressionStatement", + "src": "16382:109:44" + }, + { + "expression": { + "arguments": [ + { + "id": 29719, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "16516:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 29720, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16522:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29721, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16540:8:44", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30376, + "src": "16522:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29722, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16550:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29723, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16568:9:44", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30372, + "src": "16550:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29724, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29688, + "src": "16579:22:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 29718, + "name": "_recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30271, + "src": "16501:14:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 29725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16501:101:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29726, + "nodeType": "ExpressionStatement", + "src": "16501:101:44" + }, + { + "id": 29787, + "nodeType": "Block", + "src": "16613:765:44", + "statements": [ + { + "assignments": [ + 29728 + ], + "declarations": [ + { + "constant": false, + "id": 29728, + "mutability": "mutable", + "name": "aliceBounty_", + "nameLocation": "16767:12:44", + "nodeType": "VariableDeclaration", + "scope": 29787, + "src": "16759:20:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16759:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29734, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29729, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16782:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16800:11:44", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30370, + "src": "16782:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 29731, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16814:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16832:8:44", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30376, + "src": "16814:26:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16782:58:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16759:81:44" + }, + { + "assignments": [ + 29736 + ], + "declarations": [ + { + "constant": false, + "id": 29736, + "mutability": "mutable", + "name": "bobBounty_", + "nameLocation": "16862:10:44", + "nodeType": "VariableDeclaration", + "scope": 29787, + "src": "16854:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29735, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16854:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29742, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29737, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16875:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16893:9:44", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30372, + "src": "16875:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 29739, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "16905:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 29740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16923:10:44", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 30374, + "src": "16905:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16875:58:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16854:79:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29743, + "name": "aliceBounty_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29728, + "src": "16951:12:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 29744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16966:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16951:16:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29764, + "nodeType": "IfStatement", + "src": "16947:209:44", + "trueBody": { + "id": 29763, + "nodeType": "Block", + "src": "16969:187:44", + "statements": [ + { + "expression": { + "id": 29761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29746, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "16987:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29757, + "indexExpression": { + "expression": { + "id": 29747, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17000:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17004:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17000:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16987:24:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29758, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29749, + "name": "alice_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29532, + "src": "17012:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17019:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "17012:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29753, + "indexExpression": { + "expression": { + "id": 29751, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "17032:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17045:18:44", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30359, + "src": "17032:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17012:52:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29754, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17065:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "17012:58:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16987:84:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29759, + "indexExpression": { + "expression": { + "id": 29755, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "17072:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17106:18:44", + "memberName": "aliceBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30365, + "src": "17072:52:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16987:138:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29760, + "name": "aliceBounty_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29728, + "src": "17129:12:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16987:154:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29762, + "nodeType": "ExpressionStatement", + "src": "16987:154:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29765, + "name": "bobBounty_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29736, + "src": "17173:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 29766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17186:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17173:14:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29786, + "nodeType": "IfStatement", + "src": "17169:199:44", + "trueBody": { + "id": 29785, + "nodeType": "Block", + "src": "17189:179:44", + "statements": [ + { + "expression": { + "id": 29783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29768, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "17207:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29779, + "indexExpression": { + "expression": { + "id": 29769, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17220:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17224:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17220:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17207:24:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29780, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29771, + "name": "bob_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29535, + "src": "17232:4:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29772, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17237:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "17232:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29775, + "indexExpression": { + "expression": { + "id": 29773, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "17250:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17263:16:44", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 30363, + "src": "17250:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17232:48:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17281:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "17232:54:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17207:80:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29781, + "indexExpression": { + "expression": { + "id": 29777, + "name": "clearConfig_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29538, + "src": "17288:12:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 29778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17322:16:44", + "memberName": "bobBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30367, + "src": "17288:50:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17207:132:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29782, + "name": "bobBounty_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29736, + "src": "17343:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17207:146:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29784, + "nodeType": "ExpressionStatement", + "src": "17207:146:44" + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29789, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17404:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17408:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17404:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29791, + "name": "clearStateChange_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29702, + "src": "17416:17:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + ], + "id": 29788, + "name": "AfterClear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30484, + "src": "17393:10:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$30377_memory_ptr_$returns$__$", + "typeString": "function (address,struct ClearStateChange memory)" + } + }, + "id": 29792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17393:41:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29793, + "nodeType": "EmitStatement", + "src": "17388:46:44" + } + ] + }, + "baseFunctions": [ + 30556 + ], + "documentation": { + "id": 29529, + "nodeType": "StructuredDocumentation", + "src": "13933:28:44", + "text": "@inheritdoc IOrderBookV2" + }, + "functionSelector": "9e18968b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 29549, + "kind": "modifierInvocation", + "modifierName": { + "id": 29548, + "name": "nonReentrant", + "nameLocations": [ + "14201:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24150, + "src": "14201:12:44" + }, + "nodeType": "ModifierInvocation", + "src": "14201:12:44" + } + ], + "name": "clear", + "nameLocation": "13975:5:44", + "parameters": { + "id": 29547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29532, + "mutability": "mutable", + "name": "alice_", + "nameLocation": "14003:6:44", + "nodeType": "VariableDeclaration", + "scope": 29795, + "src": "13990:19:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 29531, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29530, + "name": "Order", + "nameLocations": [ + "13990:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "13990:5:44" + }, + "referencedDeclaration": 30328, + "src": "13990:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29535, + "mutability": "mutable", + "name": "bob_", + "nameLocation": "14032:4:44", + "nodeType": "VariableDeclaration", + "scope": 29795, + "src": "14019:17:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 29534, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29533, + "name": "Order", + "nameLocations": [ + "14019:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "14019:5:44" + }, + "referencedDeclaration": 30328, + "src": "14019:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29538, + "mutability": "mutable", + "name": "clearConfig_", + "nameLocation": "14067:12:44", + "nodeType": "VariableDeclaration", + "scope": 29795, + "src": "14046:33:44", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 29537, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29536, + "name": "ClearConfig", + "nameLocations": [ + "14046:11:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30368, + "src": "14046:11:44" + }, + "referencedDeclaration": 30368, + "src": "14046:11:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$30368_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29542, + "mutability": "mutable", + "name": "aliceSignedContext_", + "nameLocation": "14114:19:44", + "nodeType": "VariableDeclaration", + "scope": 29795, + "src": "14089:44:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 29540, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29539, + "name": "SignedContextV1", + "nameLocations": [ + "14089:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26702, + "src": "14089:15:44" + }, + "referencedDeclaration": 26702, + "src": "14089:15:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$26702_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 29541, + "nodeType": "ArrayTypeName", + "src": "14089:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29546, + "mutability": "mutable", + "name": "bobSignedContext_", + "nameLocation": "14168:17:44", + "nodeType": "VariableDeclaration", + "scope": 29795, + "src": "14143:42:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 29544, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29543, + "name": "SignedContextV1", + "nameLocations": [ + "14143:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26702, + "src": "14143:15:44" + }, + "referencedDeclaration": 26702, + "src": "14143:15:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$26702_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 29545, + "nodeType": "ArrayTypeName", + "src": "14143:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "13980:211:44" + }, + "returnParameters": { + "id": 29550, + "nodeType": "ParameterList", + "parameters": [], + "src": "14214:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 30100, + "nodeType": "FunctionDefinition", + "src": "18150:4582:44", + "nodes": [], + "body": { + "id": 30099, + "nodeType": "Block", + "src": "18413:4319:44", + "nodes": [], + "statements": [ + { + "id": 30098, + "nodeType": "UncheckedBlock", + "src": "18423:4303:44", + "statements": [ + { + "assignments": [ + 29816 + ], + "declarations": [ + { + "constant": false, + "id": 29816, + "mutability": "mutable", + "name": "orderHash_", + "nameLocation": "18455:10:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "18447:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29815, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18447:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29820, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 29817, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "18468:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18475:4:44", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 30928, + "src": "18468:11:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (uint256)" + } + }, + "id": 29819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18468:13:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18447:34:44" + }, + { + "assignments": [ + 29826 + ], + "declarations": [ + { + "constant": false, + "id": 29826, + "mutability": "mutable", + "name": "context_", + "nameLocation": "18515:8:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "18496:27:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 29823, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18496:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29824, + "nodeType": "ArrayTypeName", + "src": "18496:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 29825, + "nodeType": "ArrayTypeName", + "src": "18496:11:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 29827, + "nodeType": "VariableDeclarationStatement", + "src": "18496:27:44" + }, + { + "id": 29971, + "nodeType": "Block", + "src": "18537:1559:44", + "statements": [ + { + "assignments": [ + 29833 + ], + "declarations": [ + { + "constant": false, + "id": 29833, + "mutability": "mutable", + "name": "callingContext_", + "nameLocation": "18574:15:44", + "nodeType": "VariableDeclaration", + "scope": 29971, + "src": "18555:34:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 29830, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18555:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29831, + "nodeType": "ArrayTypeName", + "src": "18555:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 29832, + "nodeType": "ArrayTypeName", + "src": "18555:11:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 29840, + "initialValue": { + "arguments": [ + { + "id": 29838, + "name": "CALLING_CONTEXT_COLUMNS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28883, + "src": "18629:23:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18592:15:44", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 29834, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18596:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29835, + "nodeType": "ArrayTypeName", + "src": "18596:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 29836, + "nodeType": "ArrayTypeName", + "src": "18596:11:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + } + }, + "id": 29839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18592:78:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18555:115:44" + }, + { + "expression": { + "id": 29865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29841, + "name": "callingContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29833, + "src": "18688:15:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 29845, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 29842, + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28891, + "src": "18704:30:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 29843, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18737:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18704:34:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18688:51:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 29848, + "name": "orderHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29816, + "src": "18789:10:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 29853, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "18817:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29854, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18824:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "18817:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18809:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29851, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "18809:7:44", + "typeDescriptions": {} + } + }, + "id": 29855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18809:21:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 29850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18801:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18801:7:44", + "typeDescriptions": {} + } + }, + "id": 29856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18801:30:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 29861, + "name": "counterparty_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29805, + "src": "18849:13:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18841:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29859, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "18841:7:44", + "typeDescriptions": {} + } + }, + "id": 29862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18841:22:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 29858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18833:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18833:7:44", + "typeDescriptions": {} + } + }, + "id": 29863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18833:31:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29846, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27703, + "src": "18742:15:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 29847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18758:9:44", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27577, + "src": "18742:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 29864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18742:140:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "18688:194:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 29866, + "nodeType": "ExpressionStatement", + "src": "18688:194:44" + }, + { + "expression": { + "id": 29913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29867, + "name": "callingContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29833, + "src": "18901:15:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 29871, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 29868, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28899, + "src": "18917:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 29869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18947:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18917:31:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18901:48:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 29878, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19015:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29879, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19022:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "19015:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29881, + "indexExpression": { + "id": 29880, + "name": "inputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29801, + "src": "19034:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19015:33:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29882, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19049:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "19015:39:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19007:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29876, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "19007:7:44", + "typeDescriptions": {} + } + }, + "id": 29883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19007:48:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 29875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18999:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18999:7:44", + "typeDescriptions": {} + } + }, + "id": 29884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18999:57:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 29885, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19078:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29886, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19085:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "19078:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29888, + "indexExpression": { + "id": 29887, + "name": "inputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29801, + "src": "19097:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19078:33:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29889, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19112:8:44", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 30295, + "src": "19078:42:44", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 29890, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19142:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19149:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "19142:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29893, + "indexExpression": { + "id": 29892, + "name": "inputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29801, + "src": "19161:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19142:33:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19176:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30297, + "src": "19142:41:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29895, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "19205:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29898, + "indexExpression": { + "expression": { + "id": 29896, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19218:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29897, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19225:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "19218:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19205:26:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29904, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29899, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19232:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29900, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19239:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "19232:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29902, + "indexExpression": { + "id": 29901, + "name": "inputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29801, + "src": "19251:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19232:33:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29903, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19266:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "19232:39:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19205:67:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29910, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29905, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19273:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19280:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "19273:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29908, + "indexExpression": { + "id": 29907, + "name": "inputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29801, + "src": "19292:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19273:33:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29909, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19332:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30297, + "src": "19273:66:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19205:135:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 29911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19418:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 29872, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27703, + "src": "18952:15:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 29873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18968:9:44", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27613, + "src": "18952:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 29912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18952:485:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "18901:536:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 29914, + "nodeType": "ExpressionStatement", + "src": "18901:536:44" + }, + { + "expression": { + "id": 29961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29915, + "name": "callingContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29833, + "src": "19456:15:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 29919, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 29916, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28903, + "src": "19472:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 29917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19503:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "19472:32:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "19456:49:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 29926, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19571:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29927, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19578:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "19571:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29929, + "indexExpression": { + "id": 29928, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "19591:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19571:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29930, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19607:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "19571:41:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19563:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29924, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "19563:7:44", + "typeDescriptions": {} + } + }, + "id": 29931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19563:50:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 29923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19555:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19555:7:44", + "typeDescriptions": {} + } + }, + "id": 29932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19555:59:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 29933, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19636:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29934, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19643:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "19636:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29936, + "indexExpression": { + "id": 29935, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "19656:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19636:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29937, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19672:8:44", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 30295, + "src": "19636:44:44", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 29938, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19702:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29939, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19709:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "19702:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29941, + "indexExpression": { + "id": 29940, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "19722:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19702:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29942, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19738:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30297, + "src": "19702:43:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 29943, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "19767:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 29946, + "indexExpression": { + "expression": { + "id": 29944, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19780:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29945, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19787:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "19780:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19767:26:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 29952, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29947, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19794:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19801:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "19794:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29950, + "indexExpression": { + "id": 29949, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "19814:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19794:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29951, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19830:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "19794:41:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19767:69:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 29958, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 29953, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "19837:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29954, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19844:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "19837:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 29956, + "indexExpression": { + "id": 29955, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "19857:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19837:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 29957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19898:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30297, + "src": "19837:68:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19767:139:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 29959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19984:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 29920, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27703, + "src": "19508:15:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 29921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19524:9:44", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27613, + "src": "19508:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 29960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19508:495:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "19456:547:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 29962, + "nodeType": "ExpressionStatement", + "src": "19456:547:44" + }, + { + "expression": { + "id": 29969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29963, + "name": "context_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29826, + "src": "20021:8:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 29966, + "name": "callingContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29833, + "src": "20049:15:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 29967, + "name": "signedContext_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29809, + "src": "20066:14:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "expression": { + "id": 29964, + "name": "LibContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27138, + "src": "20032:10:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibContext_$27138_$", + "typeString": "type(library LibContext)" + } + }, + "id": 29965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20043:5:44", + "memberName": "build", + "nodeType": "MemberAccess", + "referencedDeclaration": 27137, + "src": "20032:16:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" + } + }, + "id": 29968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20032:49:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "src": "20021:60:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 29970, + "nodeType": "ExpressionStatement", + "src": "20021:60:44" + } + ] + }, + { + "assignments": [ + 29974 + ], + "declarations": [ + { + "constant": false, + "id": 29974, + "mutability": "mutable", + "name": "namespace_", + "nameLocation": "20287:10:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "20272:25:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 29973, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29972, + "name": "StateNamespace", + "nameLocations": [ + "20272:14:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26768, + "src": "20272:14:44" + }, + "referencedDeclaration": 26768, + "src": "20272:14:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + } + ], + "id": 29986, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 29981, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "20336:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29982, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20343:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "20336:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20328:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29979, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "20328:7:44", + "typeDescriptions": {} + } + }, + "id": 29983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20328:21:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 29978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20320:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20320:7:44", + "typeDescriptions": {} + } + }, + "id": 29984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20320:30:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29975, + "name": "StateNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26768, + "src": "20300:14:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$26768_$", + "typeString": "type(StateNamespace)" + } + }, + "id": 29976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20315:4:44", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20300:19:44", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$26768_$", + "typeString": "function (uint256) pure returns (StateNamespace)" + } + }, + "id": 29985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20300:51:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20272:79:44" + }, + { + "assignments": [ + 29991, + 29994 + ], + "declarations": [ + { + "constant": false, + "id": 29991, + "mutability": "mutable", + "name": "stack_", + "nameLocation": "20383:6:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "20366:23:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 29989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20366:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29990, + "nodeType": "ArrayTypeName", + "src": "20366:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29994, + "mutability": "mutable", + "name": "kvs_", + "nameLocation": "20408:4:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "20391:21:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 29992, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20391:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29993, + "nodeType": "ArrayTypeName", + "src": "20391:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 30010, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 29999, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "20467:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30000, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20474:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "20467:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20484:5:44", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 27303, + "src": "20467:22:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 30002, + "name": "namespace_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29974, + "src": "20491:10:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 30004, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "20527:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30005, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20534:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "20527:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20544:10:44", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 27305, + "src": "20527:27:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30003, + "name": "_calculateOrderDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29217, + "src": "20503:23:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 30007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20503:52:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + } + }, + { + "id": 30008, + "name": "context_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29826, + "src": "20557:8:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 29995, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "20416:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 29996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20423:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "20416:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 29997, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20433:11:44", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 27300, + "src": "20416:28:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$26809", + "typeString": "contract IInterpreterV1" + } + }, + "id": 29998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20445:4:44", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 26808, + "src": "20416:33:44", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$26759_$_t_userDefinedValueType$_StateNamespace_$26768_$_t_userDefinedValueType$_EncodedDispatch_$26766_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 30009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20416:163:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20365:214:44" + }, + { + "assignments": [ + 30012 + ], + "declarations": [ + { + "constant": false, + "id": 30012, + "mutability": "mutable", + "name": "orderOutputMax_", + "nameLocation": "20602:15:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "20594:23:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20594:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 30019, + "initialValue": { + "baseExpression": { + "id": 30013, + "name": "stack_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29991, + "src": "20620:6:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30018, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30014, + "name": "stack_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29991, + "src": "20627:6:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20634:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "20627:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "32", + "id": 30016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20643:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "20627:17:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20620:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20594:51:44" + }, + { + "assignments": [ + 30021 + ], + "declarations": [ + { + "constant": false, + "id": 30021, + "mutability": "mutable", + "name": "orderIORatio_", + "nameLocation": "20667:13:44", + "nodeType": "VariableDeclaration", + "scope": 30098, + "src": "20659:21:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30020, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20659:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 30028, + "initialValue": { + "baseExpression": { + "id": 30022, + "name": "stack_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29991, + "src": "20683:6:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30027, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30023, + "name": "stack_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29991, + "src": "20690:6:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20697:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "20690:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 30025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20706:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "20690:17:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20683:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20659:49:44" + }, + { + "expression": { + "id": 30039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30029, + "name": "orderOutputMax_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30012, + "src": "20884:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 30032, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "20942:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30033, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20949:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "20942:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 30035, + "indexExpression": { + "id": 30034, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "20962:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20942:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 30036, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20978:8:44", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 30295, + "src": "20942:44:44", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 30037, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27774, + "src": "21333:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 30030, + "name": "orderOutputMax_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30012, + "src": "20902:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20918:6:44", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 28109, + "src": "20902:22:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 30038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20902:458:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20884:476:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30040, + "nodeType": "ExpressionStatement", + "src": "20884:476:44" + }, + { + "expression": { + "id": 30056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30041, + "name": "orderIORatio_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30021, + "src": "21540:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 30044, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "21598:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21605:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "21598:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 30047, + "indexExpression": { + "id": 30046, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "21618:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21598:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 30048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21634:8:44", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 30295, + "src": "21598:44:44", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 30049, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "21660:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21667:11:44", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30323, + "src": "21660:18:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 30052, + "indexExpression": { + "id": 30051, + "name": "inputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29801, + "src": "21679:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21660:33:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 30053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21694:8:44", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 30295, + "src": "21660:42:44", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 30054, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27768, + "src": "22008:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 30042, + "name": "orderIORatio_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30021, + "src": "21556:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21570:10:44", + "memberName": "scaleRatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 28265, + "src": "21556:24:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$_t_uint8_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint8,uint8,uint256) pure returns (uint256)" + } + }, + "id": 30055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21556:479:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21540:495:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30057, + "nodeType": "ExpressionStatement", + "src": "21540:495:44" + }, + { + "expression": { + "id": 30078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30058, + "name": "orderOutputMax_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30012, + "src": "22178:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 30061, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "22233:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 30064, + "indexExpression": { + "expression": { + "id": 30062, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "22246:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22253:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "22246:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22233:26:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 30070, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 30065, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "22260:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22267:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "22260:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 30068, + "indexExpression": { + "id": 30067, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "22280:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22260:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 30069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22296:5:44", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 30293, + "src": "22260:41:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22233:69:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 30076, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 30071, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29799, + "src": "22303:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22310:12:44", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30327, + "src": "22303:19:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 30074, + "indexExpression": { + "id": 30073, + "name": "outputIOIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29803, + "src": "22323:14:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22303:35:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 30075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22360:7:44", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 30297, + "src": "22303:64:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22233:135:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 30059, + "name": "orderOutputMax_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30012, + "src": "22196:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22212:3:44", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 25616, + "src": "22196:19:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 30077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22196:186:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22178:204:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30079, + "nodeType": "ExpressionStatement", + "src": "22178:204:44" + }, + { + "expression": { + "id": 30088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 30080, + "name": "context_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29826, + "src": "22518:8:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30082, + "indexExpression": { + "id": 30081, + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28895, + "src": "22527:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "22518:37:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30085, + "name": "orderOutputMax_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30012, + "src": "22584:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 30086, + "name": "orderIORatio_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30021, + "src": "22601:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 30083, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27703, + "src": "22558:15:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 30084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22574:9:44", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27562, + "src": "22558:25:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 30087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22558:57:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "22518:97:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30089, + "nodeType": "ExpressionStatement", + "src": "22518:97:44" + }, + { + "expression": { + "arguments": [ + { + "id": 30091, + "name": "orderOutputMax_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30012, + "src": "22656:15:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 30092, + "name": "orderIORatio_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30021, + "src": "22673:13:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 30093, + "name": "context_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29826, + "src": "22688:8:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 30094, + "name": "namespace_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29974, + "src": "22698:10:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + { + "id": 30095, + "name": "kvs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29994, + "src": "22710:4:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 30090, + "name": "OrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30951, + "src": "22637:18:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$30951_storage_ptr_$", + "typeString": "type(struct OrderIOCalculation storage pointer)" + } + }, + "id": 30096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22637:78:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "functionReturnParameters": 29814, + "id": 30097, + "nodeType": "Return", + "src": "22630:85:44" + } + ] + } + ] + }, + "documentation": { + "id": 29796, + "nodeType": "StructuredDocumentation", + "src": "17447:698:44", + "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order_ The order to evaluate.\n @param inputIOIndex_ The index of the input token being calculated for.\n @param outputIOIndex_ The index of the output token being calculated for.\n @param counterparty_ The counterparty of the order as it is currently\n being cleared against.\n @param signedContext_ Any signed context provided by the clearer/taker\n that the order may need for its calculations." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_calculateOrderIO", + "nameLocation": "18159:17:44", + "parameters": { + "id": 29810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29799, + "mutability": "mutable", + "name": "order_", + "nameLocation": "18199:6:44", + "nodeType": "VariableDeclaration", + "scope": 30100, + "src": "18186:19:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 29798, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29797, + "name": "Order", + "nameLocations": [ + "18186:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "18186:5:44" + }, + "referencedDeclaration": 30328, + "src": "18186:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29801, + "mutability": "mutable", + "name": "inputIOIndex_", + "nameLocation": "18223:13:44", + "nodeType": "VariableDeclaration", + "scope": 30100, + "src": "18215:21:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18215:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29803, + "mutability": "mutable", + "name": "outputIOIndex_", + "nameLocation": "18254:14:44", + "nodeType": "VariableDeclaration", + "scope": 30100, + "src": "18246:22:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29802, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18246:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29805, + "mutability": "mutable", + "name": "counterparty_", + "nameLocation": "18286:13:44", + "nodeType": "VariableDeclaration", + "scope": 30100, + "src": "18278:21:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18278:7:44", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29809, + "mutability": "mutable", + "name": "signedContext_", + "nameLocation": "18334:14:44", + "nodeType": "VariableDeclaration", + "scope": 30100, + "src": "18309:39:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 29807, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29806, + "name": "SignedContextV1", + "nameLocations": [ + "18309:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26702, + "src": "18309:15:44" + }, + "referencedDeclaration": 26702, + "src": "18309:15:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$26702_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 29808, + "nodeType": "ArrayTypeName", + "src": "18309:17:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "18176:178:44" + }, + "returnParameters": { + "id": 29814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29813, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 30100, + "src": "18386:25:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 29812, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29811, + "name": "OrderIOCalculation", + "nameLocations": [ + "18386:18:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30951, + "src": "18386:18:44" + }, + "referencedDeclaration": 30951, + "src": "18386:18:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "18385:27:44" + }, + "scope": 30272, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30271, + "nodeType": "FunctionDefinition", + "src": "23310:2586:44", + "nodes": [], + "body": { + "id": 30270, + "nodeType": "Block", + "src": "23490:2406:44", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 30114, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "23500:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23520:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "23500:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30119, + "indexExpression": { + "id": 30116, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28899, + "src": "23528:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23500:56:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30120, + "indexExpression": { + "id": 30117, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28923, + "src": "23557:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23500:87:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30121, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30106, + "src": "23590:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23500:96:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30123, + "nodeType": "ExpressionStatement", + "src": "23500:96:44" + }, + { + "expression": { + "id": 30132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 30124, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "23606:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30128, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23626:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "23606:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30129, + "indexExpression": { + "id": 30126, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28903, + "src": "23634:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23606:57:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30130, + "indexExpression": { + "id": 30127, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28923, + "src": "23664:29:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23606:88:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30131, + "name": "output_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30108, + "src": "23697:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23606:98:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30133, + "nodeType": "ExpressionStatement", + "src": "23606:98:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30134, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30106, + "src": "23719:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 30135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23728:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23719:10:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30165, + "nodeType": "IfStatement", + "src": "23715:363:44", + "trueBody": { + "id": 30164, + "nodeType": "Block", + "src": "23731:347:44", + "statements": [ + { + "expression": { + "id": 30162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 30137, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "23816:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 30158, + "indexExpression": { + "expression": { + "id": 30138, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "23829:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30139, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23836:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "23829:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23816:26:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 30159, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 30144, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "23876:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23896:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "23876:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30147, + "indexExpression": { + "id": 30146, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28899, + "src": "23904:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23876:56:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30149, + "indexExpression": { + "id": 30148, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28907, + "src": "23933:22:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23876:80:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 30143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23868:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 30142, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "23868:7:44", + "typeDescriptions": {} + } + }, + "id": 30150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23868:89:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 30141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23843:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23843:7:44", + "typeDescriptions": {} + } + }, + "id": 30151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23843:128:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23816:156:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 30160, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 30152, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "23973:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30153, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23993:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "23973:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30155, + "indexExpression": { + "id": 30154, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28899, + "src": "24001:27:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23973:56:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30157, + "indexExpression": { + "id": 30156, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28915, + "src": "24030:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23973:83:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23816:241:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 30161, + "name": "input_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30106, + "src": "24061:6:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23816:251:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30163, + "nodeType": "ExpressionStatement", + "src": "23816:251:44" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30166, + "name": "output_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30108, + "src": "24091:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 30167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24101:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24091:11:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30197, + "nodeType": "IfStatement", + "src": "24087:368:44", + "trueBody": { + "id": 30196, + "nodeType": "Block", + "src": "24104:351:44", + "statements": [ + { + "expression": { + "id": 30194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 30169, + "name": "vaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28976, + "src": "24190:12:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 30190, + "indexExpression": { + "expression": { + "id": 30170, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "24203:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30171, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24210:5:44", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 30314, + "src": "24203:12:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24190:26:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 30191, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 30176, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "24250:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24270:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "24250:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30179, + "indexExpression": { + "id": 30178, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28903, + "src": "24278:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24250:57:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30181, + "indexExpression": { + "id": 30180, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28907, + "src": "24308:22:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24250:81:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 30175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24242:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 30174, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "24242:7:44", + "typeDescriptions": {} + } + }, + "id": 30182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24242:90:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 30173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24217:7:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24217:7:44", + "typeDescriptions": {} + } + }, + "id": 30183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24217:129:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24190:157:44", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 30192, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 30184, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "24348:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24368:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "24348:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 30187, + "indexExpression": { + "id": 30186, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28903, + "src": "24376:28:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24348:57:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30189, + "indexExpression": { + "id": 30188, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28915, + "src": "24406:25:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24348:84:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "24190:243:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 30193, + "name": "output_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30108, + "src": "24437:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24190:254:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30195, + "nodeType": "ExpressionStatement", + "src": "24190:254:44" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 30199, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "24629:3:44", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 30200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24633:6:44", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "24629:10:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 30201, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "24641:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24661:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "24641:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "id": 30198, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26721, + "src": "24621:7:44", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory[] memory)" + } + }, + "id": 30203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24621:48:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30204, + "nodeType": "EmitStatement", + "src": "24616:53:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 30205, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "24900:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24920:3:44", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30950, + "src": "24900:23:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24924:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "24900:30:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 30208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24933:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24900:34:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30224, + "nodeType": "IfStatement", + "src": "24896:147:44", + "trueBody": { + "id": 30223, + "nodeType": "Block", + "src": "24936:107:44", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 30217, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "24977:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24997:9:44", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 30947, + "src": "24977:29:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + { + "expression": { + "id": 30219, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "25008:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30220, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25028:3:44", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 30950, + "src": "25008:23:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 30210, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "24950:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30214, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24957:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "24950:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24967:5:44", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 27303, + "src": "24950:22:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 30216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24973:3:44", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 26747, + "src": "24950:26:44", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$26768_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 30221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24950:82:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30222, + "nodeType": "ExpressionStatement", + "src": "24950:82:44" + } + ] + } + }, + { + "condition": { + "expression": { + "id": 30225, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "25201:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25208:8:44", + "memberName": "handleIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 30316, + "src": "25201:15:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30269, + "nodeType": "IfStatement", + "src": "25197:693:44", + "trueBody": { + "id": 30268, + "nodeType": "Block", + "src": "25218:672:44", + "statements": [ + { + "assignments": [ + null, + 30231 + ], + "declarations": [ + null, + { + "constant": false, + "id": 30231, + "mutability": "mutable", + "name": "handleIOKVs_", + "nameLocation": "25368:12:44", + "nodeType": "VariableDeclaration", + "scope": 30268, + "src": "25351:29:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 30229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25351:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30230, + "nodeType": "ArrayTypeName", + "src": "25351:9:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 30249, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 30236, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "25435:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25442:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "25435:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25452:5:44", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 27303, + "src": "25435:22:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "expression": { + "id": 30239, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "25475:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30240, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25495:9:44", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 30947, + "src": "25475:29:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 30242, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "25540:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25547:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "25540:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30244, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25557:10:44", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 27305, + "src": "25540:27:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30241, + "name": "_handleIODispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29233, + "src": "25522:17:44", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 30245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25522:46:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + } + }, + { + "expression": { + "id": 30246, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "25586:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25606:7:44", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 30944, + "src": "25586:27:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 30232, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "25384:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25391:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "25384:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30234, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25401:11:44", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 27300, + "src": "25384:28:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$26809", + "typeString": "contract IInterpreterV1" + } + }, + "id": 30235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25413:4:44", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 26808, + "src": "25384:33:44", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$26759_$_t_userDefinedValueType$_StateNamespace_$26768_$_t_userDefinedValueType$_EncodedDispatch_$26766_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 30248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25384:243:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25348:279:44" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30250, + "name": "handleIOKVs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30231, + "src": "25751:12:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 30251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25764:6:44", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "25751:19:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 30252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25773:1:44", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "25751:23:44", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30267, + "nodeType": "IfStatement", + "src": "25747:133:44", + "trueBody": { + "id": 30266, + "nodeType": "Block", + "src": "25776:104:44", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 30261, + "name": "orderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30111, + "src": "25821:19:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 30262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25841:9:44", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 30947, + "src": "25821:29:44", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + } + }, + { + "id": 30263, + "name": "handleIOKVs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30231, + "src": "25852:12:44", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 30254, + "name": "order_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30104, + "src": "25794:6:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 30258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25801:9:44", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 30319, + "src": "25794:16:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 30259, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25811:5:44", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 27303, + "src": "25794:22:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 30260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25817:3:44", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 26747, + "src": "25794:26:44", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$26768_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 30264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25794:71:44", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30265, + "nodeType": "ExpressionStatement", + "src": "25794:71:44" + } + ] + } + } + ] + } + } + ] + }, + "documentation": { + "id": 30101, + "nodeType": "StructuredDocumentation", + "src": "22738:567:44", + "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order_ The order that is being cleared.\n @param input_ The exact token input amount to move into the owner's\n vault.\n @param output_ The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation_ The verbatim order IO calculation returned by\n `_calculateOrderIO`." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_recordVaultIO", + "nameLocation": "23319:14:44", + "parameters": { + "id": 30112, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30104, + "mutability": "mutable", + "name": "order_", + "nameLocation": "23356:6:44", + "nodeType": "VariableDeclaration", + "scope": 30271, + "src": "23343:19:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 30103, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30102, + "name": "Order", + "nameLocations": [ + "23343:5:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30328, + "src": "23343:5:44" + }, + "referencedDeclaration": 30328, + "src": "23343:5:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30106, + "mutability": "mutable", + "name": "input_", + "nameLocation": "23380:6:44", + "nodeType": "VariableDeclaration", + "scope": 30271, + "src": "23372:14:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23372:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30108, + "mutability": "mutable", + "name": "output_", + "nameLocation": "23404:7:44", + "nodeType": "VariableDeclaration", + "scope": 30271, + "src": "23396:15:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23396:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30111, + "mutability": "mutable", + "name": "orderIOCalculation_", + "nameLocation": "23447:19:44", + "nodeType": "VariableDeclaration", + "scope": 30271, + "src": "23421:45:44", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 30110, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30109, + "name": "OrderIOCalculation", + "nameLocations": [ + "23421:18:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30951, + "src": "23421:18:44" + }, + "referencedDeclaration": 30951, + "src": "23421:18:44", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "23333:139:44" + }, + "returnParameters": { + "id": 30113, + "nodeType": "ParameterList", + "parameters": [], + "src": "23490:0:44" + }, + "scope": 30272, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 28929, + "name": "IOrderBookV2", + "nameLocations": [ + "5829:12:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30557, + "src": "5829:12:44" + }, + "id": 28930, + "nodeType": "InheritanceSpecifier", + "src": "5829:12:44" + }, + { + "baseName": { + "id": 28931, + "name": "ReentrancyGuard", + "nameLocations": [ + "5843:15:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24174, + "src": "5843:15:44" + }, + "id": 28932, + "nodeType": "InheritanceSpecifier", + "src": "5843:15:44" + }, + { + "baseName": { + "id": 28933, + "name": "Multicall", + "nameLocations": [ + "5860:9:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 24954, + "src": "5860:9:44" + }, + "id": 28934, + "nodeType": "InheritanceSpecifier", + "src": "5860:9:44" + }, + { + "baseName": { + "id": 28935, + "name": "OrderBookFlashLender", + "nameLocations": [ + "5871:20:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28782, + "src": "5871:20:44" + }, + "id": 28936, + "nodeType": "InheritanceSpecifier", + "src": "5871:20:44" + }, + { + "baseName": { + "id": 28937, + "name": "DeployerDiscoverableMetaV1", + "nameLocations": [ + "5893:26:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26653, + "src": "5893:26:44" + }, + "id": 28938, + "nodeType": "InheritanceSpecifier", + "src": "5893:26:44" + } + ], + "canonicalName": "OrderBook", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 28928, + "nodeType": "StructuredDocumentation", + "src": "5739:68:44", + "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 30272, + 26653, + 26514, + 28782, + 24954, + 24174, + 30557, + 26722, + 30904 + ], + "name": "OrderBook", + "nameLocation": "5816:9:44", + "scope": 30273, + "usedErrors": [ + 26494, + 26499, + 26853, + 28453, + 28456, + 28461, + 28470, + 28813, + 28820, + 28827, + 28832 + ] + } + ], + "license": "CAL" + }, + "id": 44 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs new file mode 100644 index 0000000000..9cf78c77e1 --- /dev/null +++ b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs @@ -0,0 +1,14 @@ +use ethers::utils::AnvilInstance; + +use super::touch_deployer::deploy_touch_deployer; + +pub async fn deploy_orderbook(anvil: &AnvilInstance) -> anyhow::Result<()> { + let _touch_deployer = deploy_touch_deployer(anvil).await?; + // let mut json = String::new(); + // let mut file = File::open("tests/utils/deploy/deploy_orderbook/OrderBook.json")?; + // file.read_to_string(&mut json)?; + + // let json: Value = serde_json::from_str(&json)?; + + Ok(()) +} diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs new file mode 100644 index 0000000000..468c10a0e2 --- /dev/null +++ b/subgraph/tests/utils/deploy/mod.rs @@ -0,0 +1,3 @@ +pub mod deploy1820; +pub mod touch_deployer; +pub mod deploy_orderbook; \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json b/subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json new file mode 100644 index 0000000000..b2ddac3100 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json @@ -0,0 +1,5651 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "name": "BadDynamicLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "BadExternResultsLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "MemoryKVPtr", + "name": "ptr", + "type": "uint256" + } + ], + "name": "InvalidPtr", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "name": "NotPosIntPrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv18_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Ceil_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Exp2_InputTooBig", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Exp_InputTooBig", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + }, + { + "internalType": "UD60x18", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Gm_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Log_InputTooSmall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Sqrt_Overflow", + "type": "error" + }, + { + "inputs": [], + "name": "ReadError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "staleAfter", + "type": "uint256" + } + ], + "name": "StalePrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualLength", + "type": "uint256" + } + ], + "name": "UnexpectedResultLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "store_", + "type": "address" + }, + { + "internalType": "StateNamespace", + "name": "namespace_", + "type": "uint256" + }, + { + "internalType": "EncodedDispatch", + "name": "dispatch_", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "context_", + "type": "uint256[][]" + } + ], + "name": "eval", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "functionPointers", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b50614b76806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780636715f8251461006e578063f933c72f1461008f575b600080fd5b61005961005436600461443b565b6100a4565b60405190151581526020015b60405180910390f35b61008161007c3660046144e5565b6100db565b60405161006592919061465b565b610097610187565b60405161006591906146c6565b60006001600160e01b03198216634f131f8560e11b14806100d557506001600160e01b031982166301ffc9a760e01b145b92915050565b606080602084901c60ff601086901c811690861660006101026100fd856101d7565b610229565b600060408201529050610114896103e4565b60608201526001600160a01b038a16608082015260a081018790528051600090610141908390869061042b565b8251909150602090820304600061016261015b8387610481565b8490610497565b9150508061017385604001516104ab565b985098505050505050505094509492505050565b6040805160008082526020820190925260609190816101b7565b6143eb8152602001906001900390816101a15790505b5090506101d16101cc6101c98361053b565b90565b610854565b91505090565b6060813b60008190036101fd57604051631354fb0f60e11b815260040160405180910390fd5b60408051603e8301601f1916810190915260001990910180825290915080600160208401853c50919050565b6102316143f5565b6102396143f5565b6040805160008082526020820190925290610264565b606081526020019060019003908161024f5790505b5060a08201526000610277845b60200190565b9050600061028f61028a83601f19015190565b830190565b905060208201915060006102a583601f19015190565b905060008167ffffffffffffffff8111156102c2576102c261447a565b6040519080825280602002602001820160405280156102eb578160200160208202803683370190505b5060208082018752858101908701819052945190915061030d90602002850190565b9350600084815b858210156103395761032f61027161032a845190565b840190565b9150600101610314565b8067ffffffffffffffff8111156103525761035261447a565b60405190808252806020026020018201604052801561038557816020015b60608152602001906001900390816103705790505b5060c08901525b858710156103d657868860c0015184815181106103ab576103ab6146d9565b60200260200101819052506103c96102716103c4895190565b890190565b965060019092019161038c565b509598975050505050505050565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000906054015b60408051601f19818403018152919052805160209091012092915050565b60c08301516020838102909101015180516000919081015b8082101561047457600491909101805190919061ffff601082901c8116911661046b88828885565b95505050610443565b83925050505b9392505050565b6000818310610490578161047a565b5090919050565b60208102909103601f190180519181529091565b606061ffff8216601083901c60008167ffffffffffffffff8111156104d2576104d261447a565b6040519080825280602002602001820160405280156104fb578160200160208202803683370190505b50905060208101602082510281015b80821015610530578451825260208086015190830152604094850151949091019061050a565b509095945050505050565b6060600060405180610a400160405280610553605190565b67ffffffffffffffff1681526108e460208201526108f360408201526109026060820152610962608082015261097060a08201526109c260c0820152610a1460e0820152610a6f610100820152610b39610120820152610b8f610140820152610bbb610160820152610c0e610180820152610d2f6101a0820152610d646101c0820152610d826101e0820152610d91610200820152610d9f610220820152610dae6102408201819052610dbc610260830152610dca610280830152610dd86102a0830152610de66102c08301526102e0820152610df4610300820152610e02610320820152610e11610340820152610e1f610360820152610e2d610380820152610e3c6103a0820152610e4b6103c0820152610e5a6103e0820152610e69610400820152610e78610420820152610e87610440820152610e96610460820152610ea5610480820152610eb46104a0820152610ec36104c0820152610ed26104e0820152610ee1610500820152610ef0610520820152610eff610540820152610f48610560820152610f5a610580820152610f686105a0820152610f9a6105c0820152610fa86105e0820152610fb6610600820152610fc4610620820152610fd2610640820152610fe0610660820152610fee610680820152610ffc6106a082015261100a6106c08201526110186106e082015261102661070082015261103461072082015261104261074082015261105061076082015261105e61078082015261106c6107a082015261107a6107c08201526110886107e08201526110966108008201526110a46108208201526110b36108408201526110c26108608201526110d16108808201526110df6108a08201526110ed6108c08201526110fb6108e082015261110961090082015261111761092082015261112561094082015261113361096082015261121861098082015261125a6109a08201526112696109c08201526112786109e0820152611286610a008201526112cb610a20909101529050600061083e826112da565b905061084a8185611310565b805b949350505050565b60606000825160020267ffffffffffffffff8111156108755761087561447a565b6040519080825280601f01601f19166020018201604052801561089f576020820181803683370190505b50905061ffff801990506020840160208551028101600284015b818310156108d957805183519085161781526020909201916002016108b9565b509295945050505050565b600061084c826113468561135e565b600061084c82611381856113a7565b6000806000610910846113d9565b909250905063ffffffff61095783828416602085901c8416604086901c8516606087901c8616608088901c871660a089901c881660c08a901c891660e08b901c6113e38b16565b979650505050505050565b600061084c82611419611425565b600061084c8460a00151600885901c8151811061098f5761098f6146d9565b602002602001015160ff8516815181106109ab576109ab6146d9565b60200260200101518361144a90919063ffffffff16565b600061084c8460a0015184815181106109dd576109dd6146d9565b60200260200101516040516020016109f59190614705565b60408051808303601f1901815291905280516020918201208452830190565b6000806000610a22846113d9565b915091506104748660a001518681518110610a3f57610a3f6146d9565b60200260200101518281518110610a5857610a586146d9565b60200260200101518361145290919063ffffffff16565b6000600f83811690600485901c811690600886901c16600c86901c808201855b8960a001518581518110610aa557610aa56146d9565b6020026020010151518110156103d65760005b84811015610b1557610b0b8b60a0015182880181518110610adb57610adb6146d9565b60200260200101518381518110610af457610af46146d9565b60200260200101518a61144a90919063ffffffff16565b9850600101610ab8565b50600886901b600484901b178217610b2e8b828b610b39565b985050600101610a8f565b8251600090600f84811691600486901c90911690600886901c9060208402860388526000610b6889848961042b565b9050610b7b6020850282038a5186611456565b508751975250602002909401949350505050565b600080836003811115610ba457610ba461473b565b9050610bb185848361147e565b5091949350505050565b600060ff831660018101600481901b851783610bd6866113d9565b90965090505b8015610c0257610bed888388610b39565b9550610bf8866113d9565b9096509050610bdc565b50939695505050505050565b602083810151600a84901c918202015160009160a082901c908390606090601f88169085610c3c8984610497565b9095509350610c5985601f19602086028c03015b90815260200190565b60405163b65ad68360e01b815290995060058b901c601f169350600092506001600160a01b038816915063b65ad68390610c999088908790600401614751565b600060405180830381865afa158015610cb6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cde919081019061476a565b905081815114610d1757805160405163ea4915ed60e01b8152610d0e918491600401918252602082015260400190565b60405180910390fd5b610d218882611582565b9a9950505050505050505050565b6000600c83901c610fff8416825b828110156108d957610d50878387610b39565b945080610d5c81614806565b915050610d3d565b60018281166020908102949094015192901c83029091015181520190565b600061084c8261159a856115ad565b600061084c826115dc611650565b600061084c8261167c856116f2565b600061084c8261176f611425565b600061084c826117de611842565b600061084c82611863611650565b600061084c8261189c611425565b600061084c826118cc611842565b600061084c8261193f611425565b600061084c826119bb856119c8565b43815260006020820161084c565b42815260006020820161084c565b600061084c82611a0185611a0d565b600061084c82611a5485611a0d565b600061084c82611a6085611a0d565b600061084c82611a6c85611a0d565b600061084c8261048185611a0d565b600061084c82611a7b85611a0d565b600061084c82611a8785611a0d565b600061084c82611a9385611a0d565b600061084c82611a9f8561135e565b600061084c82611ac6856113a7565b600061084c82611adf856113a7565b600061084c82611afa856113a7565b600061084c82611b138561135e565b600061084c82611b208561135e565b6000602083028203805b83811015610f39576000610f1b825190565b90508015610f3057825250602001905061047a565b50602001610f09565b50602081015b95945050505050565b600061084c82611b2d600186016116f2565b600061084c82611b3d611425565b6000602083028203805b83811015610f39578051600003610f92575060008152602001905061047a565b602001610f72565b600061084c82611b41611425565b600061084c82611b45611842565b600061084c82611b49611425565b600061084c82611b4d611425565b600061084c82611b59611842565b600061084c82611b64611425565b600061084c82611b70611842565b600061084c82611b7b611842565b600061084c82611b86611842565b600061084c82611b9e611842565b600061084c82611bb0611425565b600061084c82611bbc611842565b600061084c82611bc7611842565b600061084c82611bd2611842565b600061084c82611bdd611842565b600061084c82611be8611425565b600061084c82611bf4611425565b600061084c82611c00611425565b600061084c82611c0c611842565b600061084c82611c1785611a0d565b600061084c82611c3485611a0d565b600061084c82611c6585611a0d565b600061084c82611c7b611d0a565b600061084c82611d4b611842565b600061084c82611d8b611842565b600061084c82611dcb611842565b600061084c82611e40611842565b600061084c82611e80611842565b600061084c82611ec0611650565b60008061113f836113d9565b604087015191945091506000906111569083611ef9565b9050600081600003611200576080870151606088015160405163334f245560e11b81526001600160a01b039092169163669e48aa916111a2918790600401918252602082015260400190565b602060405180830381865afa1580156111bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e3919061481f565b60408801519091506111f6908483611f22565b604088015261120c565b61120982611f7b565b90505b80855260208501610957565b6000806000611226846113d9565b9094509050611234846113d9565b60408801519195509250611249908383611f22565b604087015250829150509392505050565b600061084c82611fa985611fda565b600061084c8261202a8561209e565b600061084c826120f1611425565b600060ff8316600884901c600316600a85901c83806112a58786610497565b915091506112be6112b884868585612150565b82610c50565b9998505050505050505050565b600061084c82612245856113a7565b8051819060511461130b57805160405163c8b5690160e01b8152600481019190915260516024820152604401610d0e565b919050565b60405182518251602080830286010183111561132b57600080fd5b602081028301604052018352611341828261225d565b505050565b60ff80831660020a6000190160089390931c161c1690565b601f1983018051600091611376848363ffffffff8816565b905250929392505050565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b603f1983018051601f19909401805190946000929091906113cd85848463ffffffff8a16565b90525093949350505050565b601f190180519091565b968852602088019590955260408701939093526060860191909152608085015260a084015260c083015260e08201526101000190565b600061047a8383612271565b603f1982018051601f1990930180519093600092909190611376838363ffffffff8816565b815260200190565b9052565b8060200283015b8084101561147857835183526020938401939092019161145d565b50505050565b600060038260038111156114945761149461473b565b036114dd5760005b8460c00151518110156114d7576114cf8560c0015182815181106114c2576114c26146d9565b60200260200101516123b1565b60010161149c565b5061157a565b60008260038111156114f1576114f161473b565b036115025783516114d790846123f4565b60018260038111156115165761151661473b565b0361153a576115356115306101c98660200151601f190190565b612411565b61157a565b60005b8460a0015151811015611578576115708560a001518281518110611563576115636146d9565b6020026020010151612411565b60010161153d565b505b509092915050565b600061158e828461225d565b8151602002830161047a565b60008160405160200161040d9190614705565b600080806115bb8685610497565b9150915060006115ce828763ffffffff16565b905061095781610c50858582565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa15801561162c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c919061481f565b605f1982018051603f1984018051601f199095015190946000939091906113cd84848463ffffffff8a16565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906116ad9086908690600401614838565b600060405180830381865afa1580156116ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084c919081019061476a565b6000602082028403816117058285612491565b90506000806117148487610497565b9150915060006117298383868b63ffffffff16565b90508681511461175957805160405163118b036560e11b8152610d0e918991600401918252602082015260400190565b81611764828261225d565b602088028101610d21565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a919061481f565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d5919061481f565b601f19820180516000916118598263ffffffff8616565b9052509192915050565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e9060440161160f565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d09060240161179d565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611930919061488e565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa158015611987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ab919061488e565b6001600160a01b03169392505050565b806119c557600080fd5b50565b600060208202840381815b868310156119f757825191506020830192506119f2828763ffffffff16565b6119d3565b9695505050505050565b600061047a82846148ab565b60208181028403805160009282019083825b88841015611a465783519150611a3983838a63ffffffff16565b9250602084019350611a1f565b919093529695505050505050565b600061047a82846148be565b600061047a82846149b6565b6000818311610490578161047a565b600061047a82846149c2565b600061047a82846149d6565b600061047a82846149ed565b600061047a600184901c600185166002811115611abe57611abe61473b565b8491906124e9565b600061084c8282611ad88688836124e9565b919061253a565b600061084c83600186166002811115611abe57611abe61473b565b600061084c8282611b0c8688836124e9565b9190612550565b600061047a828483612566565b600061047a8284836125b5565b60606000841161157a578161084c565b1490565b1090565b1590565b1190565b600061047a83836125f7565b60006100d58261260a565b600061047a8383612652565b60006100d58261266a565b60006100d5826126b9565b6000670de0b6b3a764000082068015150282036100d5565b6000670de0b6b3a764000082066100d5565b600061047a838361270e565b60006100d582612775565b60006100d582612798565b60006100d5826127c9565b60006100d582613468565b600061047a838361359b565b600061047a83836135aa565b600061047a8383613607565b60006100d582613667565b6000828201838110611c29578061084c565b600019949350505050565b600082600003611c46575060006100d5565b82820282848281611c5957611c596146ef565b0403611c29578061084c565b6000818311611c7557600061047a565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf8919061481f565b6001600160a01b031695945050505050565b607f1982018051605f1984018051603f19860151601f1990960151919560009491929091611d3e8585858563ffffffff8c16565b9052509495945050505050565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f9190614a00565b60038111156100d5576100d561473b565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc9060440161160f565b61ffff828116905b8115611f1b5781518314611f1b5760408201519150611f01565b5092915050565b600080611f2f8585611ef9565b905061ffff8115611f4557836020830152611f71565b60405191506060820160405284825283602083015280861660408301528160028760101c0160101b1795505b5093949350505050565b600081600003611fa1576040516314ae691160e11b815260048101839052602401610d0e565b506020015190565b604051632235a18160e21b81526000906001600160a01b038516906388d686049061160f9086908690600401614a21565b60008080611fe88685610497565b915091506000611ff58290565b9050600080612003836113d9565b9150915061201d6120198287878c63ffffffff16565b8352565b5090979650505050505050565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b9061205d90879087908790600401614a45565b602060405180830381865afa15801561207a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f919061481f565b600080806120ac8685610497565b915091506000806120c26120bd8490565b6113d9565b9150915060006120d483601f19015190565b905061201d6120e9828488888d63ffffffff16565b601f19850152565b60008060015b6008811161214857600061210b86836136bd565b9050600061211986846136bd565b905060006121278383611c65565b9050612137856001860383613705565b945050600190920191506120f79050565b509392505050565b805160009081908190819060015b6008811161223757600092508289612179575060001961217d565b5060005b60005b83811015612213576121ab89828151811061219d5761219d6146d9565b6020026020010151846136bd565b95508986116121fc578a6121ca576121c38683610481565b91506121f3565b60018b036121dc576121c38683611a6c565b60028b1480156121ea575084155b156121f3578591505b6001945061220b565b8b61220b576000199150612213565b600101612180565b508361221e57506000195b61222c866001840383613705565b95505060010161215e565b509298975050505050505050565b600061084c8385600f16600487901c600f1685613745565b600060208301905061134181838551611456565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156122b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d89190614a86565b509350509250506000821361230357604051633351e26f60e01b815260048101839052602401610d0e565b8361230e82426149ed565b1115612337576040516304e61d6960e31b81526004810182905260248101859052604401610d0e565b610f3f856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190614ad6565b60ff1660016123aa856137a1565b91906124e9565b6119c5816040516024016123c591906146c6565b60408051601f198184030181529190526020810180516001600160e01b03166305f3bfab60e11b1790526137f7565b600080602084840304905061157a61153060208302850383612491565b612435604051806040016040528060038152602001623f3f3f60e91b815250613818565b60005b815181101561246c5761246481838381518110612457576124576146d9565b602002602001015161385b565b600101612438565b506119c5604051806040016040528060038152602001623f3f3f60e91b815250613818565b606060008267ffffffffffffffff8111156124ae576124ae61447a565b6040519080825280602002602001820160405280156124d7578160200160208202803683370190505b50905060208101612148858286611456565b600080836012036124fd578491505061047a565b83601211156125295750601283900361252161251a82600a6149b6565b8690611c34565b91505061047a565b5060111983016125218582856138a6565b600061084c84670de0b6b3a764000085856138fe565b600061084c8484670de0b6b3a7640000856138fe565b60008260000b60000361257a57508261047a565b60008360000b13156125a25761259b61259484600a614af9565b8590611c34565b905061047a565b60ff6000849003166125218582856138a6565b600080601284036125c9578491505061047a565b83601211156125e3578360120390506125218582856138a6565b50601119830161252161251a82600a6149b6565b6000828280821681831860011c01610f3f565b60008167081ad01a501bffff1981111561263a57604051636149f6b960e01b815260048101849052602401610d0e565b5050670de0b6b3a76400008082068015159103020190565b600061047a6101c984670de0b6b3a76400008561394e565b600081680736ea4425c11ac631811061269957604051630d7b1d6560e11b815260048101849052602401610d0e565b6714057b7ef767814f810261084c6126b9670de0b6b3a7640000835b0490565b600081680a688906bd8b00000081106126e85760405163b3b6ba1f60e01b815260048101849052602401610d0e565b6000612700670de0b6b3a7640000604084901b6148be565b905061084c6101c982613a22565b6000828281158061271d575080155b1561272d576000925050506100d5565b81810281838281612740576127406146ef565b04146127695760405163ae7f3b3760e01b81526004810187905260248101869052604401610d0e565b6119f76101c982614183565b60006100d5826ec097ce7bc90715b34b9f1000000000816126b5576126b56146ef565b60006100d56714057b7ef767814f670de0b6b3a76400006127bb6101c986613468565b02816126b5576126b56146ef565b600081670de0b6b3a76400008110156127f85760405163036d32ef60e41b815260048101849052602401610d0e565b8260018114612f2457600a8114612f355760648114612f46576103e88114612f57576127108114612f6857620186a08114612f7957620f42408114612f8a57629896808114612f9b576305f5e1008114612fac57633b9aca008114612fbd576402540be4008114612fce5764174876e8008114612fdf5764e8d4a510008114612ff0576509184e72a000811461300157655af3107a400081146130125766038d7ea4c68000811461302357662386f26fc1000081146130345767016345785d8a0000811461304557670de0b6b3a7640000811461305657678ac7230489e80000811461305f5768056bc75e2d63100000811461306f57683635c9adc5dea00000811461307f5769021e19e0c9bab2400000811461308f5769152d02c7e14af6800000811461309f5769d3c21bcecceda100000081146130af576a084595161401484a00000081146130bf576a52b7d2dcc80cd2e400000081146130cf576b033b2e3c9fd0803ce800000081146130df576b204fce5e3e2502611000000081146130ef576c01431e0fae6d7217caa000000081146130ff576c0c9f2c9cd04674edea40000000811461310f576c7e37be2022c0914b2680000000811461311f576d04ee2d6d415b85acef8100000000811461312f576d314dc6448d9338c15b0a00000000811461313f576e01ed09bead87c0378d8e6400000000811461314f576e13426172c74d822b878fe800000000811461315f576ec097ce7bc90715b34b9f1000000000811461316f576f0785ee10d5da46d900f436a000000000811461317f576f4b3b4ca85a86c47a098a2240000000008114613190577002f050fe938943acc45f6556800000000081146131a157701d6329f1c35ca4bfabb9f561000000000081146131b257710125dfa371a19e6f7cb54395ca000000000081146131c357710b7abc627050305adf14a3d9e4000000000081146131d4577172cb5bd86321e38cb6ce6682e8000000000081146131e55772047bf19673df52e37f2410011d10000000000081146131f657722cd76fe086b93ce2f768a00b22a000000000008114613207577301c06a5ec5433c60ddaa16406f5a40000000000081146132185773118427b3b4a05bc8a8a4de84598680000000000081146132295773af298d050e4395d69670b12b7f41000000000000811461323a577406d79f82328ea3da61e066ebb2f88a000000000000811461324b5774446c3b15f9926687d2c40534fdb564000000000000811461325c577502ac3a4edbbfb8014e3ba83411e915e8000000000000811461326d57751aba4714957d300d0e549208b31adb10000000000000811461327e5776010b46c6cdd6e3e0828f4db456ff0c8ea0000000000000811461328f57760a70c3c40a64e6c51999090b65f67d924000000000000081146132a057766867a5a867f103b2fffa5a71fba0e7b68000000000000081146132b1577704140c78940f6a24fdffc78873d4490d210000000000000081146132c2577728c87cb5c89a2571ebfdcb54864ada834a0000000000000081146132d357780197d4df19d605767337e9f14d3eec8920e40000000000000081146132e457780fee50b7025c36a0802f236d04753d5b48e80000000000000081146132f557789f4f2726179a224501d762422c946590d9100000000000000081146133065779063917877cec0556b21269d695bdcbf7a87aa000000000000000811461331757793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114613328577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114613339577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000811461334a577af316271c7fc3908a8bef464e3945ef7a25360a0000000000000000811461335b577b097edd871cfda3a5697758bf0e3cbb5ac5741c640000000000000000811461336c577b5ef4a74721e864761ea977768e5f518bb6891be80000000000000000811461337d577c03b58e88c75313ec9d329eaaa18fb92f75215b17100000000000000000811461338e577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a00000000000000000811461339f577d0172ebad6ddc73c86d67c5faa71c245689c107950240000000000000000081146133b0577d0e7d34c64a9c85d4460dbbca87196b61618a4bd21680000000000000000081146133c1577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e100000000000000000081146133d2577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca00000000000000000081146133e3577e3899162693736ac531a5a58f1fbb4b746504382ca7e400000000000000000081146133f4577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114613405577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114613416577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114613427576000199250613434565b67f9ccd8a1c507ffff199250613434565b67ebec21ee1da3ffff199250613434565b67de0b6b3a763fffff199250613434565b67d02ab486cedbffff199250613434565b67c249fdd32777ffff199250613434565b67b469471f8013ffff199250613434565b67a688906bd8afffff199250613434565b6798a7d9b8314bffff199250613434565b678ac7230489e7ffff199250613434565b677ce66c50e283ffff199250613434565b676f05b59d3b1fffff199250613434565b676124fee993bbffff199250613434565b6753444835ec57ffff199250613434565b674563918244f3ffff199250613434565b673782dace9d8fffff199250613434565b6729a2241af62bffff199250613434565b671bc16d674ec7ffff199250613434565b670de0b6b3a763ffff199250613434565b60009250613434565b670de0b6b3a76400009250613434565b671bc16d674ec800009250613434565b6729a2241af62c00009250613434565b673782dace9d9000009250613434565b674563918244f400009250613434565b6753444835ec5800009250613434565b676124fee993bc00009250613434565b676f05b59d3b2000009250613434565b677ce66c50e28400009250613434565b678ac7230489e800009250613434565b6798a7d9b8314c00009250613434565b67a688906bd8b000009250613434565b67b469471f801400009250613434565b67c249fdd3277800009250613434565b67d02ab486cedc00009250613434565b67de0b6b3a764000009250613434565b67ebec21ee1da400009250613434565b67f9ccd8a1c50800009250613434565b680107ad8f556c6c00009250613434565b6801158e460913d000009250613434565b6801236efcbcbb3400009250613434565b6801314fb370629800009250613434565b68013f306a2409fc00009250613434565b68014d1120d7b16000009250613434565b68015af1d78b58c400009250613434565b680168d28e3f002800009250613434565b680176b344f2a78c00009250613434565b68018493fba64ef000009250613434565b68019274b259f65400009250613434565b6801a055690d9db800009250613434565b6801ae361fc1451c00009250613434565b6801bc16d674ec8000009250613434565b6801c9f78d2893e400009250613434565b6801d7d843dc3b4800009250613434565b6801e5b8fa8fe2ac00009250613434565b6801f399b1438a1000009250613434565b6802017a67f7317400009250613434565b68020f5b1eaad8d800009250613434565b68021d3bd55e803c00009250613434565b68022b1c8c1227a000009250613434565b680238fd42c5cf0400009250613434565b680246ddf979766800009250613434565b680254beb02d1dcc00009250613434565b6802629f66e0c53000009250613434565b680270801d946c9400009250613434565b68027e60d44813f800009250613434565b68028c418afbbb5c00009250613434565b68029a2241af62c000009250613434565b6802a802f8630a2400009250613434565b6802b5e3af16b18800009250613434565b6802c3c465ca58ec00009250613434565b6802d1a51c7e005000009250613434565b6802df85d331a7b400009250613434565b6802ed6689e54f1800009250613434565b6802fb474098f67c00009250613434565b68030927f74c9de000009250613434565b68031708ae00454400009250613434565b680324e964b3eca800009250613434565b680332ca1b67940c000092505b5060001982036134625761345f672e19dc008126bf2b670de0b6b3a76400006127bb6101c987613468565b91505b50919050565b600081670de0b6b3a76400008110156134975760405163036d32ef60e41b815260048101849052602401610d0e565b6000613523670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff19810161354c5750949350505050565b671bc16d674ec800006706f05b59d3b200005b801561358f57670de0b6b3a7640000838002049250818310613587579283019260019290921c915b60011c61355f565b50919695505050505050565b600061047a6101c984846142fb565b600082828183036135d35780156135c25760006135cc565b670de0b6b3a76400005b92506135ff565b670de0b6b3a764000081036135ea578492506135ff565b610f3f6126b96135f987613468565b8661359b565b505092915050565b600082816001841661362157670de0b6b3a7640000613623565b815b9050600184901c93505b83156136615761363d82836142fb565b915060018416156136555761365281836142fb565b90505b600184901c935061362d565b80610f3f565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218111156136a75760405163edc236ad60e01b815260048101849052602401610d0e565b61345f6101c9670de0b6b3a76400008302614183565b60008160088111156136e15760405162461bcd60e51b8152600401610d0e90614b08565b826000036136f25760009150611f1b565b5050600019016020021c63ffffffff1690565b60008260088111156137295760405162461bcd60e51b8152600401610d0e90614b08565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156137695760405162461bcd60e51b8152600401610d0e90614b08565b6000855b858110156137955763ffffffff6020820290811b199890981685891b1797915060010161376d565b50959695505050505050565b6000808212156137f35760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610d0e565b5090565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6119c58160405160240161382c91906146c6565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526137f7565b60405160248101839052604481018290526138a29060640160408051601f198184030181529190526020810180516001600160e01b0316637b3338ad60e11b1790526137f7565b5050565b6000806138b484600a6149b6565b905060006138c282876148be565b905060018460028111156138d8576138d861473b565b1480156138ee57506138ea82826149d6565b8614155b15610f3f576119f76001826148ab565b60008061390c8686866143af565b905060018360028111156139225761392261473b565b1480156138ee57506000848061393a5761393a6146ef565b8688091115610f3f576119f76001826148ab565b60008080600019858709858702925082811083820303915050806000036139885783828161397e5761397e6146ef565b049250505061047a565b8381106139b957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d0e565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff00000000000000821615613b2f57678000000000000000821615613a565768016a09e667f3bcc9090260401c5b674000000000000000821615613a75576801306fe0a31b7152df0260401c5b672000000000000000821615613a94576801172b83c7d517adce0260401c5b671000000000000000821615613ab35768010b5586cf9890f62a0260401c5b670800000000000000821615613ad2576801059b0d31585743ae0260401c5b670400000000000000821615613af157680102c9a3e778060ee70260401c5b670200000000000000821615613b105768010163da9fb33356d80260401c5b670100000000000000821615613b2f57680100b1afa5abcbed610260401c5b66ff000000000000821615613c2e576680000000000000821615613b5c5768010058c86da1c09ea20260401c5b6640000000000000821615613b7a576801002c605e2e8cec500260401c5b6620000000000000821615613b9857680100162f3904051fa10260401c5b6610000000000000821615613bb6576801000b175effdc76ba0260401c5b6608000000000000821615613bd457680100058ba01fb9f96d0260401c5b6604000000000000821615613bf25768010002c5cc37da94920260401c5b6602000000000000821615613c10576801000162e525ee05470260401c5b6601000000000000821615613c2e5768010000b17255775c040260401c5b65ff0000000000821615613d245765800000000000821615613c59576801000058b91b5bc9ae0260401c5b65400000000000821615613c7657680100002c5c89d5ec6d0260401c5b65200000000000821615613c935768010000162e43f4f8310260401c5b65100000000000821615613cb057680100000b1721bcfc9a0260401c5b65080000000000821615613ccd5768010000058b90cf1e6e0260401c5b65040000000000821615613cea576801000002c5c863b73f0260401c5b65020000000000821615613d0757680100000162e430e5a20260401c5b65010000000000821615613d24576801000000b1721835510260401c5b64ff00000000821615613e1157648000000000821615613d4d57680100000058b90c0b490260401c5b644000000000821615613d695768010000002c5c8601cc0260401c5b642000000000821615613d85576801000000162e42fff00260401c5b641000000000821615613da15768010000000b17217fbb0260401c5b640800000000821615613dbd576801000000058b90bfce0260401c5b640400000000821615613dd957680100000002c5c85fe30260401c5b640200000000821615613df55768010000000162e42ff10260401c5b640100000000821615613e1157680100000000b17217f80260401c5b64ff00000000821615613ef6576380000000821615613e395768010000000058b90bfc0260401c5b6340000000821615613e54576801000000002c5c85fe0260401c5b6320000000821615613e6f57680100000000162e42ff0260401c5b6310000000821615613e8a576801000000000b17217f0260401c5b6308000000821615613ea557680100000000058b90c00260401c5b6304000000821615613ec05768010000000002c5c8600260401c5b6302000000821615613edb576801000000000162e4300260401c5b6301000000821615613ef65768010000000000b172180260401c5b62ff0000821615613fd15762800000821615613f1b576801000000000058b90c0260401c5b62400000821615613f3557680100000000002c5c860260401c5b62200000821615613f4f5768010000000000162e430260401c5b62100000821615613f6957680100000000000b17210260401c5b62080000821615613f835768010000000000058b910260401c5b62040000821615613f9d576801000000000002c5c80260401c5b62020000821615613fb757680100000000000162e40260401c5b62010000821615613fd1576801000000000000b1720260401c5b61ff008216156140a357618000821615613ff457680100000000000058b90260401c5b61400082161561400d5768010000000000002c5d0260401c5b612000821615614026576801000000000000162e0260401c5b61100082161561403f5768010000000000000b170260401c5b610800821615614058576801000000000000058c0260401c5b61040082161561407157680100000000000002c60260401c5b61020082161561408a57680100000000000001630260401c5b6101008216156140a357680100000000000000b10260401c5b60ff82161561416c5760808216156140c457680100000000000000590260401c5b60408216156140dc576801000000000000002c0260401c5b60208216156140f457680100000000000000160260401c5b601082161561410c576801000000000000000b0260401c5b600882161561412457680100000000000000060260401c5b600482161561413c57680100000000000000030260401c5b600282161561415457680100000000000000010260401c5b600182161561416c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b60008160000361419557506000919050565b50600181600160801b81106141af5760409190911b9060801c5b6801000000000000000081106141ca5760209190911b9060401c5b64010000000081106141e15760109190911b9060201c5b6201000081106141f65760089190911b9060101c5b610100811061420a5760049190911b9060081c5b6010811061421d5760029190911b9060041c5b6004811061422d57600182901b91505b600182848161423e5761423e6146ef565b048301901c91506001828481614256576142566146ef565b048301901c9150600182848161426e5761426e6146ef565b048301901c91506001828481614286576142866146ef565b048301901c9150600182848161429e5761429e6146ef565b048301901c915060018284816142b6576142b66146ef565b048301901c915060018284816142ce576142ce6146ef565b048301901c915060008284816142e6576142e66146ef565b0490508083106142f4578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a7640000811061434657604051635173648d60e01b81526004810186905260248101859052604401610d0e565b6000670de0b6b3a7640000858709905081600003614372575050670de0b6b3a7640000900490506100d5565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b60008080600019858709858702925082811083820303915050806000036143df5783828161397e5761397e6146ef565b8084116139b957600080fd5b6143f3614b2a565b565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b60006020828403121561444d57600080fd5b81356001600160e01b03198116811461047a57600080fd5b6001600160a01b03811681146119c557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156144b9576144b961447a565b604052919050565b600067ffffffffffffffff8211156144db576144db61447a565b5060051b60200190565b600080600080608085870312156144fb57600080fd5b6145058535614465565b843593506020850135925060408501359150606085013567ffffffffffffffff8082111561453257600080fd5b818701915087601f83011261454657600080fd5b61455861455383356144c1565b614490565b82358082526020808301929160051b8501018a81111561457757600080fd5b602085015b8181101561460e57848135111561459257600080fd5b803586018c603f8201126145a557600080fd5b60208101356145b6614553826144c1565b81815260059190911b82016040019060208101908f8311156145d757600080fd5b6040840193505b828410156145f95783358252602093840193909101906145de565b8752505060209485019491909101905061457c565b50508094505050505092959194509250565b600081518084526020808501945080840160005b8381101561465057815187529582019590820190600101614634565b509495945050505050565b60408152600061466e6040830185614620565b8281036020840152610f3f8185614620565b6000815180845260005b818110156146a65760208185018101518683018201520161468a565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061047a6020830184614680565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b815160009082906020808601845b8381101561472f57815185529382019390820190600101614713565b50929695505050505050565b634e487b7160e01b600052602160045260246000fd5b82815260406020820152600061084c6040830184614620565b6000602080838503121561477d57600080fd5b825167ffffffffffffffff81111561479457600080fd5b8301601f810185136147a557600080fd5b80516147b3614553826144c1565b81815260059190911b820183019083810190878311156147d257600080fd5b928401925b82841015610957578351825292840192908401906147d7565b634e487b7160e01b600052601160045260246000fd5b600060018201614818576148186147f0565b5060010190565b60006020828403121561483157600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b8281101561487a5781516001600160a01b031684529284019290840190600101614855565b505050838103828501526119f78186614620565b6000602082840312156148a057600080fd5b815161047a81614465565b808201808211156100d5576100d56147f0565b6000826148cd576148cd6146ef565b500490565b600181815b8085111561490d5781600019048211156148f3576148f36147f0565b8085161561490057918102915b93841c93908002906148d7565b509250929050565b600082614924575060016100d5565b81614931575060006100d5565b816001811461494757600281146149515761496d565b60019150506100d5565b60ff841115614962576149626147f0565b50506001821b6100d5565b5060208310610133831016604e8410600b8410161715614990575081810a6100d5565b61499a83836148d2565b80600019048211156149ae576149ae6147f0565b029392505050565b600061047a8383614915565b6000826149d1576149d16146ef565b500690565b80820281158282048414176100d5576100d56147f0565b818103818111156100d5576100d56147f0565b600060208284031215614a1257600080fd5b81516004811061047a57600080fd5b6001600160a01b038316815260406020820181905260009061084c90830184614620565b60018060a01b0384168152826020820152606060408201526000610f3f6060830184614620565b805169ffffffffffffffffffff8116811461130b57600080fd5b600080600080600060a08688031215614a9e57600080fd5b614aa786614a6c565b9450602086015193506040860151925060608601519150614aca60808701614a6c565b90509295509295909350565b600060208284031215614ae857600080fd5b815160ff8116811461047a57600080fd5b600061047a60ff841683614915565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220f88fca329a50110af76555aab77910726029f57e1b699b3c3fd2066667731ba464736f6c63430008120033", + "sourceMap": "1013:2589:120:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780636715f8251461006e578063f933c72f1461008f575b600080fd5b61005961005436600461443b565b6100a4565b60405190151581526020015b60405180910390f35b61008161007c3660046144e5565b6100db565b60405161006592919061465b565b610097610187565b60405161006591906146c6565b60006001600160e01b03198216634f131f8560e11b14806100d557506001600160e01b031982166301ffc9a760e01b145b92915050565b606080602084901c60ff601086901c811690861660006101026100fd856101d7565b610229565b600060408201529050610114896103e4565b60608201526001600160a01b038a16608082015260a081018790528051600090610141908390869061042b565b8251909150602090820304600061016261015b8387610481565b8490610497565b9150508061017385604001516104ab565b985098505050505050505094509492505050565b6040805160008082526020820190925260609190816101b7565b6143eb8152602001906001900390816101a15790505b5090506101d16101cc6101c98361053b565b90565b610854565b91505090565b6060813b60008190036101fd57604051631354fb0f60e11b815260040160405180910390fd5b60408051603e8301601f1916810190915260001990910180825290915080600160208401853c50919050565b6102316143f5565b6102396143f5565b6040805160008082526020820190925290610264565b606081526020019060019003908161024f5790505b5060a08201526000610277845b60200190565b9050600061028f61028a83601f19015190565b830190565b905060208201915060006102a583601f19015190565b905060008167ffffffffffffffff8111156102c2576102c261447a565b6040519080825280602002602001820160405280156102eb578160200160208202803683370190505b5060208082018752858101908701819052945190915061030d90602002850190565b9350600084815b858210156103395761032f61027161032a845190565b840190565b9150600101610314565b8067ffffffffffffffff8111156103525761035261447a565b60405190808252806020026020018201604052801561038557816020015b60608152602001906001900390816103705790505b5060c08901525b858710156103d657868860c0015184815181106103ab576103ab6146d9565b60200260200101819052506103c96102716103c4895190565b890190565b965060019092019161038c565b509598975050505050505050565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000906054015b60408051601f19818403018152919052805160209091012092915050565b60c08301516020838102909101015180516000919081015b8082101561047457600491909101805190919061ffff601082901c8116911661046b88828885565b95505050610443565b83925050505b9392505050565b6000818310610490578161047a565b5090919050565b60208102909103601f190180519181529091565b606061ffff8216601083901c60008167ffffffffffffffff8111156104d2576104d261447a565b6040519080825280602002602001820160405280156104fb578160200160208202803683370190505b50905060208101602082510281015b80821015610530578451825260208086015190830152604094850151949091019061050a565b509095945050505050565b6060600060405180610a400160405280610553605190565b67ffffffffffffffff1681526108e460208201526108f360408201526109026060820152610962608082015261097060a08201526109c260c0820152610a1460e0820152610a6f610100820152610b39610120820152610b8f610140820152610bbb610160820152610c0e610180820152610d2f6101a0820152610d646101c0820152610d826101e0820152610d91610200820152610d9f610220820152610dae6102408201819052610dbc610260830152610dca610280830152610dd86102a0830152610de66102c08301526102e0820152610df4610300820152610e02610320820152610e11610340820152610e1f610360820152610e2d610380820152610e3c6103a0820152610e4b6103c0820152610e5a6103e0820152610e69610400820152610e78610420820152610e87610440820152610e96610460820152610ea5610480820152610eb46104a0820152610ec36104c0820152610ed26104e0820152610ee1610500820152610ef0610520820152610eff610540820152610f48610560820152610f5a610580820152610f686105a0820152610f9a6105c0820152610fa86105e0820152610fb6610600820152610fc4610620820152610fd2610640820152610fe0610660820152610fee610680820152610ffc6106a082015261100a6106c08201526110186106e082015261102661070082015261103461072082015261104261074082015261105061076082015261105e61078082015261106c6107a082015261107a6107c08201526110886107e08201526110966108008201526110a46108208201526110b36108408201526110c26108608201526110d16108808201526110df6108a08201526110ed6108c08201526110fb6108e082015261110961090082015261111761092082015261112561094082015261113361096082015261121861098082015261125a6109a08201526112696109c08201526112786109e0820152611286610a008201526112cb610a20909101529050600061083e826112da565b905061084a8185611310565b805b949350505050565b60606000825160020267ffffffffffffffff8111156108755761087561447a565b6040519080825280601f01601f19166020018201604052801561089f576020820181803683370190505b50905061ffff801990506020840160208551028101600284015b818310156108d957805183519085161781526020909201916002016108b9565b509295945050505050565b600061084c826113468561135e565b600061084c82611381856113a7565b6000806000610910846113d9565b909250905063ffffffff61095783828416602085901c8416604086901c8516606087901c8616608088901c871660a089901c881660c08a901c891660e08b901c6113e38b16565b979650505050505050565b600061084c82611419611425565b600061084c8460a00151600885901c8151811061098f5761098f6146d9565b602002602001015160ff8516815181106109ab576109ab6146d9565b60200260200101518361144a90919063ffffffff16565b600061084c8460a0015184815181106109dd576109dd6146d9565b60200260200101516040516020016109f59190614705565b60408051808303601f1901815291905280516020918201208452830190565b6000806000610a22846113d9565b915091506104748660a001518681518110610a3f57610a3f6146d9565b60200260200101518281518110610a5857610a586146d9565b60200260200101518361145290919063ffffffff16565b6000600f83811690600485901c811690600886901c16600c86901c808201855b8960a001518581518110610aa557610aa56146d9565b6020026020010151518110156103d65760005b84811015610b1557610b0b8b60a0015182880181518110610adb57610adb6146d9565b60200260200101518381518110610af457610af46146d9565b60200260200101518a61144a90919063ffffffff16565b9850600101610ab8565b50600886901b600484901b178217610b2e8b828b610b39565b985050600101610a8f565b8251600090600f84811691600486901c90911690600886901c9060208402860388526000610b6889848961042b565b9050610b7b6020850282038a5186611456565b508751975250602002909401949350505050565b600080836003811115610ba457610ba461473b565b9050610bb185848361147e565b5091949350505050565b600060ff831660018101600481901b851783610bd6866113d9565b90965090505b8015610c0257610bed888388610b39565b9550610bf8866113d9565b9096509050610bdc565b50939695505050505050565b602083810151600a84901c918202015160009160a082901c908390606090601f88169085610c3c8984610497565b9095509350610c5985601f19602086028c03015b90815260200190565b60405163b65ad68360e01b815290995060058b901c601f169350600092506001600160a01b038816915063b65ad68390610c999088908790600401614751565b600060405180830381865afa158015610cb6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cde919081019061476a565b905081815114610d1757805160405163ea4915ed60e01b8152610d0e918491600401918252602082015260400190565b60405180910390fd5b610d218882611582565b9a9950505050505050505050565b6000600c83901c610fff8416825b828110156108d957610d50878387610b39565b945080610d5c81614806565b915050610d3d565b60018281166020908102949094015192901c83029091015181520190565b600061084c8261159a856115ad565b600061084c826115dc611650565b600061084c8261167c856116f2565b600061084c8261176f611425565b600061084c826117de611842565b600061084c82611863611650565b600061084c8261189c611425565b600061084c826118cc611842565b600061084c8261193f611425565b600061084c826119bb856119c8565b43815260006020820161084c565b42815260006020820161084c565b600061084c82611a0185611a0d565b600061084c82611a5485611a0d565b600061084c82611a6085611a0d565b600061084c82611a6c85611a0d565b600061084c8261048185611a0d565b600061084c82611a7b85611a0d565b600061084c82611a8785611a0d565b600061084c82611a9385611a0d565b600061084c82611a9f8561135e565b600061084c82611ac6856113a7565b600061084c82611adf856113a7565b600061084c82611afa856113a7565b600061084c82611b138561135e565b600061084c82611b208561135e565b6000602083028203805b83811015610f39576000610f1b825190565b90508015610f3057825250602001905061047a565b50602001610f09565b50602081015b95945050505050565b600061084c82611b2d600186016116f2565b600061084c82611b3d611425565b6000602083028203805b83811015610f39578051600003610f92575060008152602001905061047a565b602001610f72565b600061084c82611b41611425565b600061084c82611b45611842565b600061084c82611b49611425565b600061084c82611b4d611425565b600061084c82611b59611842565b600061084c82611b64611425565b600061084c82611b70611842565b600061084c82611b7b611842565b600061084c82611b86611842565b600061084c82611b9e611842565b600061084c82611bb0611425565b600061084c82611bbc611842565b600061084c82611bc7611842565b600061084c82611bd2611842565b600061084c82611bdd611842565b600061084c82611be8611425565b600061084c82611bf4611425565b600061084c82611c00611425565b600061084c82611c0c611842565b600061084c82611c1785611a0d565b600061084c82611c3485611a0d565b600061084c82611c6585611a0d565b600061084c82611c7b611d0a565b600061084c82611d4b611842565b600061084c82611d8b611842565b600061084c82611dcb611842565b600061084c82611e40611842565b600061084c82611e80611842565b600061084c82611ec0611650565b60008061113f836113d9565b604087015191945091506000906111569083611ef9565b9050600081600003611200576080870151606088015160405163334f245560e11b81526001600160a01b039092169163669e48aa916111a2918790600401918252602082015260400190565b602060405180830381865afa1580156111bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e3919061481f565b60408801519091506111f6908483611f22565b604088015261120c565b61120982611f7b565b90505b80855260208501610957565b6000806000611226846113d9565b9094509050611234846113d9565b60408801519195509250611249908383611f22565b604087015250829150509392505050565b600061084c82611fa985611fda565b600061084c8261202a8561209e565b600061084c826120f1611425565b600060ff8316600884901c600316600a85901c83806112a58786610497565b915091506112be6112b884868585612150565b82610c50565b9998505050505050505050565b600061084c82612245856113a7565b8051819060511461130b57805160405163c8b5690160e01b8152600481019190915260516024820152604401610d0e565b919050565b60405182518251602080830286010183111561132b57600080fd5b602081028301604052018352611341828261225d565b505050565b60ff80831660020a6000190160089390931c161c1690565b601f1983018051600091611376848363ffffffff8816565b905250929392505050565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b603f1983018051601f19909401805190946000929091906113cd85848463ffffffff8a16565b90525093949350505050565b601f190180519091565b968852602088019590955260408701939093526060860191909152608085015260a084015260c083015260e08201526101000190565b600061047a8383612271565b603f1982018051601f1990930180519093600092909190611376838363ffffffff8816565b815260200190565b9052565b8060200283015b8084101561147857835183526020938401939092019161145d565b50505050565b600060038260038111156114945761149461473b565b036114dd5760005b8460c00151518110156114d7576114cf8560c0015182815181106114c2576114c26146d9565b60200260200101516123b1565b60010161149c565b5061157a565b60008260038111156114f1576114f161473b565b036115025783516114d790846123f4565b60018260038111156115165761151661473b565b0361153a576115356115306101c98660200151601f190190565b612411565b61157a565b60005b8460a0015151811015611578576115708560a001518281518110611563576115636146d9565b6020026020010151612411565b60010161153d565b505b509092915050565b600061158e828461225d565b8151602002830161047a565b60008160405160200161040d9190614705565b600080806115bb8685610497565b9150915060006115ce828763ffffffff16565b905061095781610c50858582565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa15801561162c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c919061481f565b605f1982018051603f1984018051601f199095015190946000939091906113cd84848463ffffffff8a16565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906116ad9086908690600401614838565b600060405180830381865afa1580156116ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084c919081019061476a565b6000602082028403816117058285612491565b90506000806117148487610497565b9150915060006117298383868b63ffffffff16565b90508681511461175957805160405163118b036560e11b8152610d0e918991600401918252602082015260400190565b81611764828261225d565b602088028101610d21565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a919061481f565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d5919061481f565b601f19820180516000916118598263ffffffff8616565b9052509192915050565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e9060440161160f565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d09060240161179d565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611930919061488e565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa158015611987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ab919061488e565b6001600160a01b03169392505050565b806119c557600080fd5b50565b600060208202840381815b868310156119f757825191506020830192506119f2828763ffffffff16565b6119d3565b9695505050505050565b600061047a82846148ab565b60208181028403805160009282019083825b88841015611a465783519150611a3983838a63ffffffff16565b9250602084019350611a1f565b919093529695505050505050565b600061047a82846148be565b600061047a82846149b6565b6000818311610490578161047a565b600061047a82846149c2565b600061047a82846149d6565b600061047a82846149ed565b600061047a600184901c600185166002811115611abe57611abe61473b565b8491906124e9565b600061084c8282611ad88688836124e9565b919061253a565b600061084c83600186166002811115611abe57611abe61473b565b600061084c8282611b0c8688836124e9565b9190612550565b600061047a828483612566565b600061047a8284836125b5565b60606000841161157a578161084c565b1490565b1090565b1590565b1190565b600061047a83836125f7565b60006100d58261260a565b600061047a8383612652565b60006100d58261266a565b60006100d5826126b9565b6000670de0b6b3a764000082068015150282036100d5565b6000670de0b6b3a764000082066100d5565b600061047a838361270e565b60006100d582612775565b60006100d582612798565b60006100d5826127c9565b60006100d582613468565b600061047a838361359b565b600061047a83836135aa565b600061047a8383613607565b60006100d582613667565b6000828201838110611c29578061084c565b600019949350505050565b600082600003611c46575060006100d5565b82820282848281611c5957611c596146ef565b0403611c29578061084c565b6000818311611c7557600061047a565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf8919061481f565b6001600160a01b031695945050505050565b607f1982018051605f1984018051603f19860151601f1990960151919560009491929091611d3e8585858563ffffffff8c16565b9052509495945050505050565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f9190614a00565b60038111156100d5576100d561473b565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc9060440161160f565b61ffff828116905b8115611f1b5781518314611f1b5760408201519150611f01565b5092915050565b600080611f2f8585611ef9565b905061ffff8115611f4557836020830152611f71565b60405191506060820160405284825283602083015280861660408301528160028760101c0160101b1795505b5093949350505050565b600081600003611fa1576040516314ae691160e11b815260048101839052602401610d0e565b506020015190565b604051632235a18160e21b81526000906001600160a01b038516906388d686049061160f9086908690600401614a21565b60008080611fe88685610497565b915091506000611ff58290565b9050600080612003836113d9565b9150915061201d6120198287878c63ffffffff16565b8352565b5090979650505050505050565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b9061205d90879087908790600401614a45565b602060405180830381865afa15801561207a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f919061481f565b600080806120ac8685610497565b915091506000806120c26120bd8490565b6113d9565b9150915060006120d483601f19015190565b905061201d6120e9828488888d63ffffffff16565b601f19850152565b60008060015b6008811161214857600061210b86836136bd565b9050600061211986846136bd565b905060006121278383611c65565b9050612137856001860383613705565b945050600190920191506120f79050565b509392505050565b805160009081908190819060015b6008811161223757600092508289612179575060001961217d565b5060005b60005b83811015612213576121ab89828151811061219d5761219d6146d9565b6020026020010151846136bd565b95508986116121fc578a6121ca576121c38683610481565b91506121f3565b60018b036121dc576121c38683611a6c565b60028b1480156121ea575084155b156121f3578591505b6001945061220b565b8b61220b576000199150612213565b600101612180565b508361221e57506000195b61222c866001840383613705565b95505060010161215e565b509298975050505050505050565b600061084c8385600f16600487901c600f1685613745565b600060208301905061134181838551611456565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156122b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d89190614a86565b509350509250506000821361230357604051633351e26f60e01b815260048101839052602401610d0e565b8361230e82426149ed565b1115612337576040516304e61d6960e31b81526004810182905260248101859052604401610d0e565b610f3f856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190614ad6565b60ff1660016123aa856137a1565b91906124e9565b6119c5816040516024016123c591906146c6565b60408051601f198184030181529190526020810180516001600160e01b03166305f3bfab60e11b1790526137f7565b600080602084840304905061157a61153060208302850383612491565b612435604051806040016040528060038152602001623f3f3f60e91b815250613818565b60005b815181101561246c5761246481838381518110612457576124576146d9565b602002602001015161385b565b600101612438565b506119c5604051806040016040528060038152602001623f3f3f60e91b815250613818565b606060008267ffffffffffffffff8111156124ae576124ae61447a565b6040519080825280602002602001820160405280156124d7578160200160208202803683370190505b50905060208101612148858286611456565b600080836012036124fd578491505061047a565b83601211156125295750601283900361252161251a82600a6149b6565b8690611c34565b91505061047a565b5060111983016125218582856138a6565b600061084c84670de0b6b3a764000085856138fe565b600061084c8484670de0b6b3a7640000856138fe565b60008260000b60000361257a57508261047a565b60008360000b13156125a25761259b61259484600a614af9565b8590611c34565b905061047a565b60ff6000849003166125218582856138a6565b600080601284036125c9578491505061047a565b83601211156125e3578360120390506125218582856138a6565b50601119830161252161251a82600a6149b6565b6000828280821681831860011c01610f3f565b60008167081ad01a501bffff1981111561263a57604051636149f6b960e01b815260048101849052602401610d0e565b5050670de0b6b3a76400008082068015159103020190565b600061047a6101c984670de0b6b3a76400008561394e565b600081680736ea4425c11ac631811061269957604051630d7b1d6560e11b815260048101849052602401610d0e565b6714057b7ef767814f810261084c6126b9670de0b6b3a7640000835b0490565b600081680a688906bd8b00000081106126e85760405163b3b6ba1f60e01b815260048101849052602401610d0e565b6000612700670de0b6b3a7640000604084901b6148be565b905061084c6101c982613a22565b6000828281158061271d575080155b1561272d576000925050506100d5565b81810281838281612740576127406146ef565b04146127695760405163ae7f3b3760e01b81526004810187905260248101869052604401610d0e565b6119f76101c982614183565b60006100d5826ec097ce7bc90715b34b9f1000000000816126b5576126b56146ef565b60006100d56714057b7ef767814f670de0b6b3a76400006127bb6101c986613468565b02816126b5576126b56146ef565b600081670de0b6b3a76400008110156127f85760405163036d32ef60e41b815260048101849052602401610d0e565b8260018114612f2457600a8114612f355760648114612f46576103e88114612f57576127108114612f6857620186a08114612f7957620f42408114612f8a57629896808114612f9b576305f5e1008114612fac57633b9aca008114612fbd576402540be4008114612fce5764174876e8008114612fdf5764e8d4a510008114612ff0576509184e72a000811461300157655af3107a400081146130125766038d7ea4c68000811461302357662386f26fc1000081146130345767016345785d8a0000811461304557670de0b6b3a7640000811461305657678ac7230489e80000811461305f5768056bc75e2d63100000811461306f57683635c9adc5dea00000811461307f5769021e19e0c9bab2400000811461308f5769152d02c7e14af6800000811461309f5769d3c21bcecceda100000081146130af576a084595161401484a00000081146130bf576a52b7d2dcc80cd2e400000081146130cf576b033b2e3c9fd0803ce800000081146130df576b204fce5e3e2502611000000081146130ef576c01431e0fae6d7217caa000000081146130ff576c0c9f2c9cd04674edea40000000811461310f576c7e37be2022c0914b2680000000811461311f576d04ee2d6d415b85acef8100000000811461312f576d314dc6448d9338c15b0a00000000811461313f576e01ed09bead87c0378d8e6400000000811461314f576e13426172c74d822b878fe800000000811461315f576ec097ce7bc90715b34b9f1000000000811461316f576f0785ee10d5da46d900f436a000000000811461317f576f4b3b4ca85a86c47a098a2240000000008114613190577002f050fe938943acc45f6556800000000081146131a157701d6329f1c35ca4bfabb9f561000000000081146131b257710125dfa371a19e6f7cb54395ca000000000081146131c357710b7abc627050305adf14a3d9e4000000000081146131d4577172cb5bd86321e38cb6ce6682e8000000000081146131e55772047bf19673df52e37f2410011d10000000000081146131f657722cd76fe086b93ce2f768a00b22a000000000008114613207577301c06a5ec5433c60ddaa16406f5a40000000000081146132185773118427b3b4a05bc8a8a4de84598680000000000081146132295773af298d050e4395d69670b12b7f41000000000000811461323a577406d79f82328ea3da61e066ebb2f88a000000000000811461324b5774446c3b15f9926687d2c40534fdb564000000000000811461325c577502ac3a4edbbfb8014e3ba83411e915e8000000000000811461326d57751aba4714957d300d0e549208b31adb10000000000000811461327e5776010b46c6cdd6e3e0828f4db456ff0c8ea0000000000000811461328f57760a70c3c40a64e6c51999090b65f67d924000000000000081146132a057766867a5a867f103b2fffa5a71fba0e7b68000000000000081146132b1577704140c78940f6a24fdffc78873d4490d210000000000000081146132c2577728c87cb5c89a2571ebfdcb54864ada834a0000000000000081146132d357780197d4df19d605767337e9f14d3eec8920e40000000000000081146132e457780fee50b7025c36a0802f236d04753d5b48e80000000000000081146132f557789f4f2726179a224501d762422c946590d9100000000000000081146133065779063917877cec0556b21269d695bdcbf7a87aa000000000000000811461331757793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114613328577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114613339577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000811461334a577af316271c7fc3908a8bef464e3945ef7a25360a0000000000000000811461335b577b097edd871cfda3a5697758bf0e3cbb5ac5741c640000000000000000811461336c577b5ef4a74721e864761ea977768e5f518bb6891be80000000000000000811461337d577c03b58e88c75313ec9d329eaaa18fb92f75215b17100000000000000000811461338e577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a00000000000000000811461339f577d0172ebad6ddc73c86d67c5faa71c245689c107950240000000000000000081146133b0577d0e7d34c64a9c85d4460dbbca87196b61618a4bd21680000000000000000081146133c1577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e100000000000000000081146133d2577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca00000000000000000081146133e3577e3899162693736ac531a5a58f1fbb4b746504382ca7e400000000000000000081146133f4577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114613405577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114613416577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114613427576000199250613434565b67f9ccd8a1c507ffff199250613434565b67ebec21ee1da3ffff199250613434565b67de0b6b3a763fffff199250613434565b67d02ab486cedbffff199250613434565b67c249fdd32777ffff199250613434565b67b469471f8013ffff199250613434565b67a688906bd8afffff199250613434565b6798a7d9b8314bffff199250613434565b678ac7230489e7ffff199250613434565b677ce66c50e283ffff199250613434565b676f05b59d3b1fffff199250613434565b676124fee993bbffff199250613434565b6753444835ec57ffff199250613434565b674563918244f3ffff199250613434565b673782dace9d8fffff199250613434565b6729a2241af62bffff199250613434565b671bc16d674ec7ffff199250613434565b670de0b6b3a763ffff199250613434565b60009250613434565b670de0b6b3a76400009250613434565b671bc16d674ec800009250613434565b6729a2241af62c00009250613434565b673782dace9d9000009250613434565b674563918244f400009250613434565b6753444835ec5800009250613434565b676124fee993bc00009250613434565b676f05b59d3b2000009250613434565b677ce66c50e28400009250613434565b678ac7230489e800009250613434565b6798a7d9b8314c00009250613434565b67a688906bd8b000009250613434565b67b469471f801400009250613434565b67c249fdd3277800009250613434565b67d02ab486cedc00009250613434565b67de0b6b3a764000009250613434565b67ebec21ee1da400009250613434565b67f9ccd8a1c50800009250613434565b680107ad8f556c6c00009250613434565b6801158e460913d000009250613434565b6801236efcbcbb3400009250613434565b6801314fb370629800009250613434565b68013f306a2409fc00009250613434565b68014d1120d7b16000009250613434565b68015af1d78b58c400009250613434565b680168d28e3f002800009250613434565b680176b344f2a78c00009250613434565b68018493fba64ef000009250613434565b68019274b259f65400009250613434565b6801a055690d9db800009250613434565b6801ae361fc1451c00009250613434565b6801bc16d674ec8000009250613434565b6801c9f78d2893e400009250613434565b6801d7d843dc3b4800009250613434565b6801e5b8fa8fe2ac00009250613434565b6801f399b1438a1000009250613434565b6802017a67f7317400009250613434565b68020f5b1eaad8d800009250613434565b68021d3bd55e803c00009250613434565b68022b1c8c1227a000009250613434565b680238fd42c5cf0400009250613434565b680246ddf979766800009250613434565b680254beb02d1dcc00009250613434565b6802629f66e0c53000009250613434565b680270801d946c9400009250613434565b68027e60d44813f800009250613434565b68028c418afbbb5c00009250613434565b68029a2241af62c000009250613434565b6802a802f8630a2400009250613434565b6802b5e3af16b18800009250613434565b6802c3c465ca58ec00009250613434565b6802d1a51c7e005000009250613434565b6802df85d331a7b400009250613434565b6802ed6689e54f1800009250613434565b6802fb474098f67c00009250613434565b68030927f74c9de000009250613434565b68031708ae00454400009250613434565b680324e964b3eca800009250613434565b680332ca1b67940c000092505b5060001982036134625761345f672e19dc008126bf2b670de0b6b3a76400006127bb6101c987613468565b91505b50919050565b600081670de0b6b3a76400008110156134975760405163036d32ef60e41b815260048101849052602401610d0e565b6000613523670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff19810161354c5750949350505050565b671bc16d674ec800006706f05b59d3b200005b801561358f57670de0b6b3a7640000838002049250818310613587579283019260019290921c915b60011c61355f565b50919695505050505050565b600061047a6101c984846142fb565b600082828183036135d35780156135c25760006135cc565b670de0b6b3a76400005b92506135ff565b670de0b6b3a764000081036135ea578492506135ff565b610f3f6126b96135f987613468565b8661359b565b505092915050565b600082816001841661362157670de0b6b3a7640000613623565b815b9050600184901c93505b83156136615761363d82836142fb565b915060018416156136555761365281836142fb565b90505b600184901c935061362d565b80610f3f565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218111156136a75760405163edc236ad60e01b815260048101849052602401610d0e565b61345f6101c9670de0b6b3a76400008302614183565b60008160088111156136e15760405162461bcd60e51b8152600401610d0e90614b08565b826000036136f25760009150611f1b565b5050600019016020021c63ffffffff1690565b60008260088111156137295760405162461bcd60e51b8152600401610d0e90614b08565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156137695760405162461bcd60e51b8152600401610d0e90614b08565b6000855b858110156137955763ffffffff6020820290811b199890981685891b1797915060010161376d565b50959695505050505050565b6000808212156137f35760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610d0e565b5090565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6119c58160405160240161382c91906146c6565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526137f7565b60405160248101839052604481018290526138a29060640160408051601f198184030181529190526020810180516001600160e01b0316637b3338ad60e11b1790526137f7565b5050565b6000806138b484600a6149b6565b905060006138c282876148be565b905060018460028111156138d8576138d861473b565b1480156138ee57506138ea82826149d6565b8614155b15610f3f576119f76001826148ab565b60008061390c8686866143af565b905060018360028111156139225761392261473b565b1480156138ee57506000848061393a5761393a6146ef565b8688091115610f3f576119f76001826148ab565b60008080600019858709858702925082811083820303915050806000036139885783828161397e5761397e6146ef565b049250505061047a565b8381106139b957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d0e565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff00000000000000821615613b2f57678000000000000000821615613a565768016a09e667f3bcc9090260401c5b674000000000000000821615613a75576801306fe0a31b7152df0260401c5b672000000000000000821615613a94576801172b83c7d517adce0260401c5b671000000000000000821615613ab35768010b5586cf9890f62a0260401c5b670800000000000000821615613ad2576801059b0d31585743ae0260401c5b670400000000000000821615613af157680102c9a3e778060ee70260401c5b670200000000000000821615613b105768010163da9fb33356d80260401c5b670100000000000000821615613b2f57680100b1afa5abcbed610260401c5b66ff000000000000821615613c2e576680000000000000821615613b5c5768010058c86da1c09ea20260401c5b6640000000000000821615613b7a576801002c605e2e8cec500260401c5b6620000000000000821615613b9857680100162f3904051fa10260401c5b6610000000000000821615613bb6576801000b175effdc76ba0260401c5b6608000000000000821615613bd457680100058ba01fb9f96d0260401c5b6604000000000000821615613bf25768010002c5cc37da94920260401c5b6602000000000000821615613c10576801000162e525ee05470260401c5b6601000000000000821615613c2e5768010000b17255775c040260401c5b65ff0000000000821615613d245765800000000000821615613c59576801000058b91b5bc9ae0260401c5b65400000000000821615613c7657680100002c5c89d5ec6d0260401c5b65200000000000821615613c935768010000162e43f4f8310260401c5b65100000000000821615613cb057680100000b1721bcfc9a0260401c5b65080000000000821615613ccd5768010000058b90cf1e6e0260401c5b65040000000000821615613cea576801000002c5c863b73f0260401c5b65020000000000821615613d0757680100000162e430e5a20260401c5b65010000000000821615613d24576801000000b1721835510260401c5b64ff00000000821615613e1157648000000000821615613d4d57680100000058b90c0b490260401c5b644000000000821615613d695768010000002c5c8601cc0260401c5b642000000000821615613d85576801000000162e42fff00260401c5b641000000000821615613da15768010000000b17217fbb0260401c5b640800000000821615613dbd576801000000058b90bfce0260401c5b640400000000821615613dd957680100000002c5c85fe30260401c5b640200000000821615613df55768010000000162e42ff10260401c5b640100000000821615613e1157680100000000b17217f80260401c5b64ff00000000821615613ef6576380000000821615613e395768010000000058b90bfc0260401c5b6340000000821615613e54576801000000002c5c85fe0260401c5b6320000000821615613e6f57680100000000162e42ff0260401c5b6310000000821615613e8a576801000000000b17217f0260401c5b6308000000821615613ea557680100000000058b90c00260401c5b6304000000821615613ec05768010000000002c5c8600260401c5b6302000000821615613edb576801000000000162e4300260401c5b6301000000821615613ef65768010000000000b172180260401c5b62ff0000821615613fd15762800000821615613f1b576801000000000058b90c0260401c5b62400000821615613f3557680100000000002c5c860260401c5b62200000821615613f4f5768010000000000162e430260401c5b62100000821615613f6957680100000000000b17210260401c5b62080000821615613f835768010000000000058b910260401c5b62040000821615613f9d576801000000000002c5c80260401c5b62020000821615613fb757680100000000000162e40260401c5b62010000821615613fd1576801000000000000b1720260401c5b61ff008216156140a357618000821615613ff457680100000000000058b90260401c5b61400082161561400d5768010000000000002c5d0260401c5b612000821615614026576801000000000000162e0260401c5b61100082161561403f5768010000000000000b170260401c5b610800821615614058576801000000000000058c0260401c5b61040082161561407157680100000000000002c60260401c5b61020082161561408a57680100000000000001630260401c5b6101008216156140a357680100000000000000b10260401c5b60ff82161561416c5760808216156140c457680100000000000000590260401c5b60408216156140dc576801000000000000002c0260401c5b60208216156140f457680100000000000000160260401c5b601082161561410c576801000000000000000b0260401c5b600882161561412457680100000000000000060260401c5b600482161561413c57680100000000000000030260401c5b600282161561415457680100000000000000010260401c5b600182161561416c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b60008160000361419557506000919050565b50600181600160801b81106141af5760409190911b9060801c5b6801000000000000000081106141ca5760209190911b9060401c5b64010000000081106141e15760109190911b9060201c5b6201000081106141f65760089190911b9060101c5b610100811061420a5760049190911b9060081c5b6010811061421d5760029190911b9060041c5b6004811061422d57600182901b91505b600182848161423e5761423e6146ef565b048301901c91506001828481614256576142566146ef565b048301901c9150600182848161426e5761426e6146ef565b048301901c91506001828481614286576142866146ef565b048301901c9150600182848161429e5761429e6146ef565b048301901c915060018284816142b6576142b66146ef565b048301901c915060018284816142ce576142ce6146ef565b048301901c915060008284816142e6576142e66146ef565b0490508083106142f4578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a7640000811061434657604051635173648d60e01b81526004810186905260248101859052604401610d0e565b6000670de0b6b3a7640000858709905081600003614372575050670de0b6b3a7640000900490506100d5565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b60008080600019858709858702925082811083820303915050806000036143df5783828161397e5761397e6146ef565b8084116139b957600080fd5b6143f3614b2a565b565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b60006020828403121561444d57600080fd5b81356001600160e01b03198116811461047a57600080fd5b6001600160a01b03811681146119c557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156144b9576144b961447a565b604052919050565b600067ffffffffffffffff8211156144db576144db61447a565b5060051b60200190565b600080600080608085870312156144fb57600080fd5b6145058535614465565b843593506020850135925060408501359150606085013567ffffffffffffffff8082111561453257600080fd5b818701915087601f83011261454657600080fd5b61455861455383356144c1565b614490565b82358082526020808301929160051b8501018a81111561457757600080fd5b602085015b8181101561460e57848135111561459257600080fd5b803586018c603f8201126145a557600080fd5b60208101356145b6614553826144c1565b81815260059190911b82016040019060208101908f8311156145d757600080fd5b6040840193505b828410156145f95783358252602093840193909101906145de565b8752505060209485019491909101905061457c565b50508094505050505092959194509250565b600081518084526020808501945080840160005b8381101561465057815187529582019590820190600101614634565b509495945050505050565b60408152600061466e6040830185614620565b8281036020840152610f3f8185614620565b6000815180845260005b818110156146a65760208185018101518683018201520161468a565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061047a6020830184614680565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b815160009082906020808601845b8381101561472f57815185529382019390820190600101614713565b50929695505050505050565b634e487b7160e01b600052602160045260246000fd5b82815260406020820152600061084c6040830184614620565b6000602080838503121561477d57600080fd5b825167ffffffffffffffff81111561479457600080fd5b8301601f810185136147a557600080fd5b80516147b3614553826144c1565b81815260059190911b820183019083810190878311156147d257600080fd5b928401925b82841015610957578351825292840192908401906147d7565b634e487b7160e01b600052601160045260246000fd5b600060018201614818576148186147f0565b5060010190565b60006020828403121561483157600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b8281101561487a5781516001600160a01b031684529284019290840190600101614855565b505050838103828501526119f78186614620565b6000602082840312156148a057600080fd5b815161047a81614465565b808201808211156100d5576100d56147f0565b6000826148cd576148cd6146ef565b500490565b600181815b8085111561490d5781600019048211156148f3576148f36147f0565b8085161561490057918102915b93841c93908002906148d7565b509250929050565b600082614924575060016100d5565b81614931575060006100d5565b816001811461494757600281146149515761496d565b60019150506100d5565b60ff841115614962576149626147f0565b50506001821b6100d5565b5060208310610133831016604e8410600b8410161715614990575081810a6100d5565b61499a83836148d2565b80600019048211156149ae576149ae6147f0565b029392505050565b600061047a8383614915565b6000826149d1576149d16146ef565b500690565b80820281158282048414176100d5576100d56147f0565b818103818111156100d5576100d56147f0565b600060208284031215614a1257600080fd5b81516004811061047a57600080fd5b6001600160a01b038316815260406020820181905260009061084c90830184614620565b60018060a01b0384168152826020820152606060408201526000610f3f6060830184614620565b805169ffffffffffffffffffff8116811461130b57600080fd5b600080600080600060a08688031215614a9e57600080fd5b614aa786614a6c565b9450602086015193506040860151925060608601519150614aca60808701614a6c565b90509295509295909350565b600060208284031215614ae857600080fd5b815160ff8116811461047a57600080fd5b600061047a60ff841683614915565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220f88fca329a50110af76555aab77910726029f57e1b699b3c3fd2066667731ba464736f6c63430008120033", + "sourceMap": "1013:2589:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:247;;;;;;:::i;:::-;;:::i;:::-;;;470:14:282;;463:22;445:41;;433:2;418:18;1513:247:120;;;;;;;;1801:1172;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;3014:586::-;;;:::i;:::-;;;;;;;:::i;1513:247::-;1613:4;-1:-1:-1;;;;;;1648:48:120;;-1:-1:-1;;;1648:48:120;;:105;;-1:-1:-1;;;;;;;1712:41:120;;-1:-1:-1;;;1712:41:120;1648:105;1629:124;1513:247;-1:-1:-1;;1513:247:120:o;1801:1172::-;1987:16;;1582:2:116;1545:39;;;1661:4;1655:2;1618:39;;;1617:48;;;1680:40;;2079:19:120;2330:73;:46;1545:39:116;2330:33:120;:46::i;:::-;:71;:73::i;:::-;2444:1;2413:14;;;:33;2297:106;-1:-1:-1;2475:29:120;:10;:27;:29::i;:::-;2456:16;;;:48;-1:-1:-1;;;;;2514:21:120;;:12;;;:21;2545:14;;;:25;;;2714:18;;-1:-1:-1;;2688:45:120;;2456:6;;2700:12;;2688:11;:45::i;:::-;2766:18;;2663:70;;-1:-1:-1;39536:4:119;39446:86;;;39445:95;2743:20:120;2842:67;2870:29;39445:95:119;2887:11:120;2870:16;:29::i;:::-;2842:9;;:14;:67::i;:::-;2813:96;;;2927:5;2934:31;:6;:14;;;:29;:31::i;:::-;2919:47;;;;;;;;;;;1801:1172;;;;;;;:::o;3014:586::-;3240:155;;;3097:140;3240:155;;;;;;;;;3073:12;;3097:140;;3240:155;;;;;;;;;;;;;;;;;;;;3097:298;;3424:169;3471:108;:70;3530:10;3471:58;:70::i;:::-;3643:4:198;3368:295;3471:108:120;3424:29;:169::i;:::-;3405:188;;;3014:586;:::o;6735:1024:212:-;6790:18;6958:21;;6820:13;7002:10;;;6998:34;;7021:11;;-1:-1:-1;;;7021:11:212;;;;;;;;;;;6998:34;7300:4;7294:11;;7470:27;;;-1:-1:-1;;7466:43:212;7455:55;;7442:69;;;-1:-1:-1;;7126:13:212;;;7563:20;;;7294:11;;-1:-1:-1;7126:13:212;7137:1;7485:4;7716:16;;7706:8;7694:49;7067:686;6735:1024;;;:::o;11580:2068:118:-;11664:23;;:::i;:::-;11723:30;;:::i;:::-;11968:18;;;11984:1;11968:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11951:14:118;;;:35;12001:20;12024:33;:11;:28;36165:4:119;36128:41;;35978:209;12024:33:118;12001:56;;12139:17;12159:31;12175:14;:7;-1:-1:-1;;3416:24:119;3410:31;;3261:215;12175:14:118;12159:7;37524:39:119;;37349:232;12159:31:118;12139:51;-1:-1:-1;36165:4:119;36128:41;;12261:22:118;;12297:20;12320:14;:7;-1:-1:-1;;3416:24:119;3410:31;;3261:215;12320:14:118;12297:37;;12527:23;12567:12;12553:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12553:27:118;-1:-1:-1;34385:4:119;34373:17;;;12594:46:118;;36128:41:119;;;12761:22:118;;;:32;;;3410:31:119;;12527:53:118;;-1:-1:-1;12817:26:118;;36767:4:119;:9;36730:46;;;36523:288;12817:26:118;12807:36;-1:-1:-1;12900:10:118;12807:36;12900:10;13018:276;13099:4;13062:13;13042:62;13018:276;;;13153:92;:66;13196:22;:13;2881:20:119;;2716:220;13196:22:118;13153:13;37524:39:119;;37349:232;13153:92:118;13137:108;-1:-1:-1;13263:16:118;;13018:276;;;13344:14;13332:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13307:22:118;;;:52;13373:232;13431:4;13400:7;13380:56;13373:232;;;13485:7;13456:6;:22;;;13479:2;13456:26;;;;;;;;:::i;:::-;;;;;;:46;;;;13530:38;:33;13546:16;:7;2881:20:119;;2716:220;13546:16:118;13530:7;37524:39:119;;37349:232;13530:38:118;13520:48;-1:-1:-1;13586:4:118;;;;;13373:232;;;-1:-1:-1;13625:6:118;;11580:2068;-1:-1:-1;;;;;;;;11580:2068:118:o;18558:470::-;18817:150;;-1:-1:-1;;18863:10:118;5193:2:282;5189:15;5185:53;18817:150:118;;;5173:66:282;5255:12;;;5248:28;;;18653:23:118;;5292:12:282;;18817:150:118;;;;-1:-1:-1;;18817:150:118;;;;;;;;;18782:207;;18817:150;18782:207;;;;;18558:470;-1:-1:-1;;18558:470:118:o;16454:1431::-;16983:4;16971:17;;16965:24;17029:4;17025:23;;;16787:284;;;;16760:329;17127:14;;16603:12;;16760:329;17114:28;;17206:633;17223:4;17213:7;:14;17206:633;;;17467:1;17456:12;;;;17599:14;;17456:12;;;17659:6;17706:2;17702:12;;;17698:25;;;17650:16;17792:32;17796:6;17650:16;17814:9;17698:25;17792:32::i;:::-;17780:44;;17229:610;;17206:633;;;17859:9;17852:16;;;;16454:1431;;;;;;:::o;599:104:258:-;657:7;687:1;683;:5;:13;;695:1;683:13;;;-1:-1:-1;691:1:258;;676:20;-1:-1:-1;599:104:258:o;31004:409:119:-;31290:4;31277:18;;31248:49;;;-1:-1:-1;;31248:49:119;31319:12;;31344:22;;;31319:12;;31004:409::o;7008:922:125:-;7083:16;1156:11:210;7150:33:125;;7239:2;7215:26;;;7135:12;7215:26;7279:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7279:22:125;;7255:46;;7409:4;7403;7399:15;7477:4;7470;7464:11;7460:22;7451:7;7447:36;7358:517;7514:4;7505:7;7502:17;7358:517;;;7706:11;;7690:28;;7763:4;7840:15;;;7834:22;7750:18;;;7818:39;7553:18;7606:15;;;7600:22;;7553:18;;;;7358:517;;;-1:-1:-1;7909:4:125;;7008:922;-1:-1:-1;;;;;7008:922:125:o;12643:4200:33:-;12888:165;13102:183;:3518;;;;;;;;13310:45;3669:2;1490::198;1184:324;13310:45:33;13102:3518;;;;13377:15;13102:3518;;;;13414:15;13102:3518;;;;13451:15;13102:3518;;;;13488:26;13102:3518;;;;13536:13;13102:3518;;;;13571:23;13102:3518;;;;13616:16;13102:3518;;;;13654:17;13102:3518;;;;13693:10;13102:3518;;;;13756:11;13102:3518;;;;13789:13;13102:3518;;;;13824:15;13102:3518;;;;13861:11;13102:3518;;;;13894:16;13102:3518;;;;13932:10;13102:3518;;;;13964:22;13102:3518;;;;14008:27;13102:3518;;;;14057:20;13102:3518;;;;;;14099:22;13102:3518;;;;14143:30;13102:3518;;;;14195:32;13102:3518;;;;14249:18;13102:3518;;;;;;;;14332:19;13102:3518;;;;14373:12;13102:3518;;;;14407:17;13102:3518;;;;14446:15;13102:3518;;;;14483:9;13102:3518;;;;14514:9;13102:3518;;;;14545:9;13102:3518;;;;14576:9;13102:3518;;;;14607:9;13102:3518;;;;14638:9;13102:3518;;;;14669:9;13102:3518;;;;14700:9;13102:3518;;;;14731:23;13102:3518;;;;14776:26;13102:3518;;;;14824:30;13102:3518;;;;14876:26;13102:3518;;;;14924:23;13102:3518;;;;14969:22;13102:3518;;;;15013:9;13102:3518;;;;15044:13;13102:3518;;;;15079:13;13102:3518;;;;15114:11;13102:3518;;;;15147:17;13102:3518;;;;15186:12;13102:3518;;;;15220:14;13102:3518;;;;15256:12;13102:3518;;;;15290:13;13102:3518;;;;15325:12;13102:3518;;;;15359:12;13102:3518;;;;15393:13;13102:3518;;;;15428:14;13102:3518;;;;15464:13;13102:3518;;;;15499:11;13102:3518;;;;15532:12;13102:3518;;;;15566:11;13102:3518;;;;15630:14;13102:3518;;;;15666:13;13102:3518;;;;15701:12;13102:3518;;;;15735:12;13102:3518;;;;15769:13;13102:3518;;;;15804:13;13102:3518;;;;15839:19;13102:3518;;;;15880:19;13102:3518;;;;15921:19;13102:3518;;;;15962:30;13102:3518;;;;16014:36;13102:3518;;;;16072:20;13102:3518;;;;16114:23;13102:3518;;;;16159:18;13102:3518;;;;16199:33;13102:3518;;;;16254:34;13102:3518;;;;16339:9;13102:3518;;;;16370:9;13102:3518;;;;16401:19;13102:3518;;;;16442:30;13102:3518;;;;16494:20;13102:3518;;;;16536:15;13102:3518;;;;16573:29;13102:3518;;;;;;-1:-1:-1;;16663:31:33;13102:3518;16663:29;:31::i;:::-;16634:60;-1:-1:-1;16708:42:33;16634:60;16725:7;16708:16;:42::i;:::-;16790:9;:36;16764:62;12643:4200;-1:-1:-1;;;;12643:4200:33:o;1536:1037:199:-;1623:12;1736:19;1768:3;:10;1781:1;1768:14;1758:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1758:25:199;;1736:47;;1860:6;1908:12;1904:17;1883:38;;1988:4;1983:3;1979:14;2055:4;2049:3;2043:10;2039:21;2030:7;2026:35;2114:4;2106:6;2102:17;1938:578;2150:4;2141:7;2138:17;1938:578;;;2321:19;;2461:14;;2434:25;;;2431:45;2361:137;;2202:4;2189:18;;;;2262:4;2244:23;1938:578;;;-1:-1:-1;2550:6:199;;1536:1037;-1:-1:-1;;;;;1536:1037:199:o;1670:201:34:-;1803:12;1834:30;:9;1852:1;1855:8;1834:17;:30::i;2081:201:35:-;2214:12;2245:30;:9;2263:1;2266:8;2245:17;:30::i;726:611:36:-;850:12;875:22;899:10;913:15;:9;:13;:15::i;:::-;874:54;;-1:-1:-1;874:54:36;-1:-1:-1;962:16:36;1008:322;874:54;1040:10;;;1075:4;1069:10;;;1068:20;;1113:4;1107:10;;;1106:20;;1151:4;1145:10;;;1144:20;;1189:4;1183:10;;;1182:20;;1227:4;1221:10;;;1220:20;;1265:4;1259:10;;;1258:20;;1303:4;1297:10;;;1008:14;:322;;:::i;:::-;989:341;726:611;-1:-1:-1;;;;;;;726:611:36:o;898:182:37:-;1022:12;1053:20;:9;1071:1;1053:17;:20::i;1476:425:38:-;1616:12;1727:167;1759:6;:14;;;1802:1;1789:8;1774:29;;1759:45;;;;;;;;:::i;:::-;;;;;;;534:10:210;1841:8:38;1826:36;1759:121;;;;;;;;:::i;:::-;;;;;;;1727:9;:14;;:167;;;;:::i;976:1282:39:-;1116:12;1159:1092;2131:6;:14;;;2161:8;2131:40;;;;;;;;:::i;:::-;;;;;;;2085:112;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;2085:112:39;;;;;;1220:999;;2085:112;1220:999;;;;12065:25:119;;12120:24;;;11903:287;1804:392:40;1944:12;2037:22;2061:12;2077:15;:9;:13;:15::i;:::-;2036:56;;;;2102:61;2116:6;:14;;;2146:8;2116:40;;;;;;;;:::i;:::-;;;;;;;2157:4;2116:46;;;;;;;;:::i;:::-;;;;;;;2102:9;:13;;:61;;;;:::i;2684:1682:41:-;2824:12;274:10:210;2895:36:41;;;;2992:1;2964:29;;;2963:43;;;3066:1;3038:29;;;3037:43;3140:2;3112:30;;;3329:16;;;2824:12;3505:814;3531:6;:14;;;3546:7;3531:23;;;;;;;;:::i;:::-;;;;;;;:30;3526:2;:35;3505:814;;;3673:10;3668:187;3694:6;3689:2;:11;3668:187;;;3742:94;3782:6;:14;;;3807:2;3797:7;:12;3782:28;;;;;;;;:::i;:::-;;;;;;;3811:2;3782:32;;;;;;;;:::i;:::-;;;;;;;3742:9;:14;;:94;;;;:::i;:::-;3730:106;-1:-1:-1;3702:4:41;;3668:187;;;-1:-1:-1;4180:1:41;4164:17;;;4197:1;4186:12;;;4163:36;:50;;4261:43;4272:6;4163:50;4294:9;4261:10;:43::i;:::-;4249:55;-1:-1:-1;;3563:4:41;;3505:814;;4759:1570:42;5326:18;;4899:27;;274:10:210;5025:36:42;;;;5119:1;5091:29;;;5090:43;;;;5232:1;5204:29;;;;38600:4:119;:9;;38563:46;;5414:44:42;;:18;5711:40;5414:6;5723:16;5741:9;5711:11;:40::i;:::-;5682:69;-1:-1:-1;5890:182:42;38600:4:119;:9;;38563:46;;6021:18:42;;6054:8;5890:34;:182::i;:::-;-1:-1:-1;6167:18:42;;6289:33;;-1:-1:-1;36767:4:119;:9;36730:46;;;;6150:48:42;-1:-1:-1;;;;4759:1570:42:o;1011:306:43:-;1151:12;1175:22;1226:8;1200:36;;;;;;;;:::i;:::-;1175:61;-1:-1:-1;1247:36:43;:6;1260:9;1175:61;1247:12;:36::i;:::-;-1:-1:-1;1301:9:43;;1011:306;-1:-1:-1;;;;1011:306:43:o;3379:698:44:-;3519:12;534:10:210;3585:36:44;;3664:1;3654:11;;3772:1;3760:13;;;3732:42;;3519:12;3846:15;:9;:13;:15::i;:::-;3827:34;;-1:-1:-1;3827:34:44;-1:-1:-1;3875:156:44;3882:7;;3875:156;;3921:43;3932:6;3940:12;3954:9;3921:10;:43::i;:::-;3909:55;;4001:15;:9;:13;:15::i;:::-;3982:34;;-1:-1:-1;3982:34:44;-1:-1:-1;3875:156:44;;;-1:-1:-1;4051:9:44;;3379:698;-1:-1:-1;;;;;;3379:698:44:o;1523:1449:45:-;2219:4;2184:28;;;2178:35;1974:2;1946:30;;;2215:18;;;2174:60;2147:105;1677:12;;461:3:32;418:46;;;;1677:12:45;;1813:22;;336:10:210;1877:36:45;;;2147:105;2415:23;:9;1877:36;2415:14;:23::i;:::-;2398:40;;-1:-1:-1;2398:40:45;-1:-1:-1;2464:42:45;2398:40;-1:-1:-1;;38600:4:119;:9;;38563:46;;37974:41;2464:30:45;:35;12065:25:119;;12139:4;12120:24;;11903:287;2464:42:45;2646:95;;-1:-1:-1;;;2646:95:45;;2452:54;;-1:-1:-1;2589:1:45;2561:29;;;336:10:210;2560:43:45;;-1:-1:-1;2541:16:45;;-1:-1:-1;;;;;;2646:25:45;;;-1:-1:-1;2646:25:45;;:95;;2689:15;;2722:5;;2646:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2646:95:45;;;;;;;;;;;;:::i;:::-;2618:123;;2779:8;2760;:15;:27;2756:122;;2847:15;;2814:49;;-1:-1:-1;;;2814:49:45;;;;2837:8;;2814:49;;7569:25:282;;;7625:2;7610:18;;7603:34;7557:2;7542:18;;7395:248;2814:49:45;;;;;;;;2756:122;2904:24;:9;2919:8;2904:14;:24::i;:::-;2892:36;1523:1449;-1:-1:-1;;;;;;;;;;1523:1449:45:o;2430:471:46:-;2570:12;2635:2;2607:30;;;828:11:210;2696:37:46;;2570:12;2753:116;2779:2;2774;:7;2753:116;;;2815:43;2826:6;2834:12;2848:9;2815:10;:43::i;:::-;2803:55;-1:-1:-1;2783:4:46;;;;:::i;:::-;;;;2753:116;;2707:738:47;100:10:210;2911:36:47;;;3258:4;3206:16;;;3194:29;;;;3188:36;2979:29;;;3254:18;;3155:143;;;3124:196;3065:273;;3390:37;;2707:738::o;1060:217:48:-;1193:12;1224:46;:9;1242:1;1260:8;1224:17;:46::i;1071:182:49:-;1195:12;1226:20;:9;1244:1;1226:17;:20::i;1377:217:50:-;1510:12;1541:46;:9;1559:1;1577:8;1541:17;:46::i;983:182:51:-;1107:12;1138:20;:9;1156:1;1138:17;:20::i;883:182:52:-;1007:12;1038:20;:9;1056:1;1038:17;:20::i;1213:182:53:-;1337:12;1368:20;:9;1386:1;1368:17;:20::i;1121:182:54:-;1245:12;1276:20;:9;1294:1;1276:17;:20::i;827:182:55:-;951:12;982:20;:9;1000:1;982:17;:20::i;939:182:57:-;1063:12;1094:20;:9;1112:1;1094:17;:20::i;943:218:58:-;1076:12;1107:47;:9;1126:1;1144:8;1107:18;:47::i;630:190:59:-;800:12;12065:25:119;;754:12:59;12139:4:119;12120:24;;785:28:59;11903:287:119;623:193:60;793:15;12065:25:119;;747:12:60;12139:4:119;12120:24;;778:31:60;11903:287:119;966:218:61;1099:12;1130:47;:9;1149:1;1167:8;1130:18;:47::i;820:233:62:-;953:27;999:47;:9;1018:1;1036:8;999:18;:47::i;824:233:63:-;957:27;1003:47;:9;1022:1;1040:8;1003:18;:47::i;841:233:64:-;974:27;1020:47;:9;1039:1;1057:8;1020:18;:47::i;841:233:65:-;974:27;1020:47;:9;1039:1;1057:8;1020:18;:47::i;814:233:66:-;947:27;993:47;:9;1012:1;1030:8;993:18;:47::i;823:233:67:-;956:27;1002:47;:9;1021:1;1039:8;1002:18;:47::i;823:233:68:-;956:27;1002:47;:9;1021:1;1039:8;1002:18;:47::i;1012:201:69:-;1145:12;1176:30;:9;1194:1;1197:8;1176:17;:30::i;1046:201:70:-;1179:12;1210:30;:9;1228:1;1231:8;1210:17;:30::i;1160:201:71:-;1293:12;1324:30;:9;1342:1;1345:8;1324:17;:30::i;1052:201:72:-;1185:12;1216:30;:9;1234:1;1237:8;1216:17;:30::i;974:201:73:-;1107:12;1138:30;:9;1156:1;1159:8;1138:17;:30::i;904:201:74:-;1037:12;1068:30;:9;1086:1;1089:8;1068:17;:30::i;914:554:75:-;1047:12;38600:4:119;:9;;38563:46;;;1144:289:75;1247:9;1221:2;1201:56;1144:289;;;1308:13;1324:11;:2;2881:20:119;;2716:220;1324:11:75;1308:27;-1:-1:-1;1353:9:75;;1349:74;;12065:25:119;;-1:-1:-1;12139:4:119;12120:24;;-1:-1:-1;1382:26:75;;1349:74;-1:-1:-1;36165:4:119;36128:41;1144:289:75;;;-1:-1:-1;36165:4:119;36128:41;;1449:12:75;1442:19;914:554;-1:-1:-1;;;;;914:554:75:o;1195:255:76:-;1328:12;1383:50;:9;1401:1;1431;1404:28;;1383:17;:50::i;985:182:77:-;1109:12;1140:20;:9;1158:1;1140:17;:20::i;946:516:78:-;1079:12;38600:4:119;:9;;38563:46;;;1176:251:78;1279:9;1253:2;1233:56;1176:251;;;2881:20:119;;1359:1:78;1344:16;1340:77;;-1:-1:-1;1400:1:78;12065:25:119;;12139:4;12120:24;;-1:-1:-1;1380:22:78;;1340:77;36165:4:119;36128:41;1176:251:78;;867:182:79;991:12;1022:20;:9;1040:1;1022:17;:20::i;847:182:80:-;971:12;1002:20;:9;1020:1;1002:17;:20::i;861:182:81:-;985:12;1016:20;:9;1034:1;1016:17;:20::i;728:182:82:-;852:12;883:20;:9;901:1;883:17;:20::i;701:182:83:-;825:12;856:20;:9;874:1;856:17;:20::i;728:182:84:-;852:12;883:20;:9;901:1;883:17;:20::i;698:182:85:-;822:12;853:20;:9;871:1;853:17;:20::i;701:182:86:-;825:12;856:20;:9;874:1;856:17;:20::i;704:182:87:-;828:12;859:20;:9;877:1;859:17;:20::i;701:182:88:-;825:12;856:20;:9;874:1;856:17;:20::i;725:182:89:-;849:12;880:20;:9;898:1;880:17;:20::i;698:182:90:-;822:12;853:20;:9;871:1;853:17;:20::i;695:182:91:-;819:12;850:20;:9;868:1;850:17;:20::i;704:182:92:-;828:12;859:20;:9;877:1;859:17;:20::i;701:182:93:-;825:12;856:20;:9;874:1;856:17;:20::i;728:182:94:-;852:12;883:20;:9;901:1;883:17;:20::i;728:182:95:-;852:12;883:20;:9;901:1;883:17;:20::i;717:182:96:-;841:12;872:20;:9;890:1;872:17;:20::i;701:182:97:-;825:12;856:20;:9;874:1;856:17;:20::i;883:318:98:-;1016:27;1074:120;:9;1110:28;1171:8;1074:18;:120::i;894:318:99:-;1027:27;1085:120;:9;1121:28;1182:8;1085:18;:120::i;891:318:100:-;1024:27;1082:120;:9;1118:28;1179:8;1082:18;:120::i;1195:182:101:-;1319:12;1350:20;:9;1368:1;1350:17;:20::i;910:182:102:-;1034:12;1065:20;:9;1083:1;1065:17;:20::i;848:182:103:-;972:12;1003:20;:9;1021:1;1003:17;:20::i;851:182:104:-;975:12;1006:20;:9;1024:1;1006:17;:20::i;838:182:105:-;962:12;993:20;:9;1011:1;993:17;:20::i;895:182:106:-;1019:12;1050:20;:9;1068:1;1050:17;:20::i;1123:182:107:-;1247:12;1278:20;:9;1296:1;1278:17;:20::i;1496:965:108:-;1638:12;1662:10;1700:15;:9;:13;:15::i;:::-;1746:25;;;;1682:33;;-1:-1:-1;1682:33:108;-1:-1:-1;1725:18:108;;1746:76;;1682:33;1746:32;:76::i;:::-;1725:97;;1832:10;1927:6;1938:1;1908:31;1904:516;;1960:23;;;;1988:27;;;;1960:60;;-1:-1:-1;;;1960:60:108;;-1:-1:-1;;;;;1960:27:108;;;;;;:60;;2017:2;;1960:60;;7569:25:282;;;7625:2;7610:18;;7603:34;7557:2;7542:18;;7395:248;1960:60:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2182:25;;;;1955:65;;-1:-1:-1;2182:122:108;;2249:2;1955:65;2182:32;:122::i;:::-;2154:25;;;:150;1904:516;;;2389:19;:6;:17;:19::i;:::-;2365:44;;1904:516;12065:25:119;;;12139:4;12120:24;;2436:18:108;11903:287:119;971:496:109;1102:12;1150:10;1174;1216:15;:9;:13;:15::i;:::-;1198:33;;-1:-1:-1;1198:33:109;-1:-1:-1;1263:15:109;1198:33;1263:13;:15::i;:::-;1309:14;;;;1245:33;;-1:-1:-1;1245:33:109;-1:-1:-1;1309:111:109;;1245:33;1403:2;1309:21;:111::i;:::-;1292:14;;;:128;-1:-1:-1;1441:9:109;;-1:-1:-1;;971:496:109;;;;;:::o;1195:232:110:-;1328:27;1374:46;:9;1392:1;1410:8;1374:17;:46::i;1285:217:111:-;1418:12;1449:46;:9;1467:1;1485:8;1449:17;:46::i;956:210:112:-;1080:12;1111:48;:9;1129:29;1111:17;:48::i;1538:662:113:-;1671:12;534:10:210;1737:36:113;;1832:1;1804:29;;;156:10:210;1803:43:113;1905:2;1877:30;;;1671:12;;1966:53;:9;1737:36;1966:14;:53::i;:::-;1921:98;;;;2056:127;2108:57;2134:6;2142:5;2149;2156:8;2108:25;:57::i;:::-;2056:8;:25;35496:250:119;2056:127:113;2033:150;1538:662;-1:-1:-1;;;;;;;;;1538:662:113:o;1372:201:114:-;1505:12;1536:30;:9;1554:1;1557:8;1536:17;:30::i;7556:483:33:-;7899:15;;7870:6;;3669:2;7899:42;7895:138;;7981:15;;7964:58;;-1:-1:-1;;;7964:58:33;;;;;7569:25:282;;;;3669:2:33;7610:18:282;;;7603:34;7542:18;;7964:58:33;7395:248:282;7895:138:33;7556:483;;;:::o;9821:1296:0:-;10095:4;10089:11;10132:12;;10178:14;;10593:4;10589:22;;;10568:45;;;10512:115;;10509:163;;;10656:1;10653;10646:12;10509:163;10887:4;10883:24;;10859:49;;10853:4;10846:63;11011:31;10997:46;;11063:47;11082:7;10863:18;11063;:47::i;:::-;9923:1194;9821:1296;;:::o;508:606:34:-;534:10:210;737:36:34;;;1028:1;:12;-1:-1:-1;;1028:16:34;691:1;663:29;;;;662:43;1068:20;1067:30;;508:606::o;18590:507:119:-;-1:-1:-1;;18889:20:119;;18928:16;;18766:12;;18968:17;18972:8;18928:16;18968:17;;;:::i;:::-;19034:21;;-1:-1:-1;19081:9:119;;18590:507;-1:-1:-1;;;18590:507:119:o;707:819:35:-;534:10:210;961:36:35;;;1252:1;:12;-1:-1:-1;;1252:16:35;1479:15;;;915:1;887:29;;;;886:43;1478:30;;;1374:18;;;;1372:21;1362:31;;;;1361:148;;707:819::o;25104:621:119:-;-1:-1:-1;;25478:20:119;;25517:16;;-1:-1:-1;;25432:20:119;;;25552:16;;25432:20;;25289:12;;25517:16;;25552;25592:21;25596:8;25517:16;25552;25592:21;;;:::i;:::-;25662;;-1:-1:-1;25709:9:119;;25104:621;-1:-1:-1;;;;25104:621:119:o;4973:358::-;-1:-1:-1;;5206:24:119;5249:25;;5206:24;;4973:358::o;16675:771::-;16977:25;;;17041:4;17022:24;;17015:36;;;;17090:4;17071:24;;17064:36;;;;17139:4;17120:24;;17113:36;;;;17188:4;17169:24;;17162:36;17237:4;17218:24;;17211:36;17286:4;17267:24;;17260:36;17335:4;17316:24;;17309:36;17394:5;17375:25;;16675:771::o;471:181:37:-;563:7;589:56;624:5;633:11;589:18;:56::i;19438:576:119:-;-1:-1:-1;;19777:20:119;;19816:16;;-1:-1:-1;;19731:20:119;;;19851:16;;19731:20;;19588:12;;19816:16;;19851;19891:11;19816:16;19851;19891:11;;;:::i;11903:287::-;12065:25;;12139:4;12120:24;;11903:287::o;11125:157::-;11241:25;;11125:157::o;14349:512:0:-;14594:7;14588:4;14584:18;14570:12;14566:37;14532:313;14635:4;14621:12;14618:22;14532:313;;;14811:19;;14789:42;;14693:4;14675:23;;;;14732:24;;;;14532:313;;;14536:81;14349:512;;;:::o;7205:941:118:-;7353:12;7420:17;7405:11;:32;;;;;;;;:::i;:::-;;7401:699;;7462:10;7457:148;7483:6;:22;;;:29;7478:2;:34;7457:148;;;7542:44;7559:6;:22;;;7582:2;7559:26;;;;;;;;:::i;:::-;;;;;;;7542:16;:44::i;:::-;7514:4;;7457:148;;;;7401:699;;;7662:16;7647:11;:31;;;;;;;;:::i;:::-;;7643:443;;7702:18;;:40;;7732:9;7702:29;:40::i;7643:443::-;7786:19;7771:11;:34;;;;;;;;:::i;:::-;;7767:319;;7829:58;7840:46;:29;:6;:22;;;-1:-1:-1;;37974:41:119;;37822:211;7840:46:118;7829:10;:58::i;:::-;7767:319;;;7939:10;7934:134;7960:6;:14;;;:21;7955:2;:26;7934:134;;;8015:30;8026:6;:14;;;8041:2;8026:18;;;;;;;;:::i;:::-;;;;;;;8015:10;:30::i;:::-;7983:4;;7934:134;;;;7767:319;-1:-1:-1;8120:9:118;;7205:941;-1:-1:-1;;7205:941:118:o;13010:252:119:-;13122:12;13146:61;:6;13192:13;13146:25;:61::i;:::-;13241:13;;36767:4;:9;36730:46;;13224:31;36523:288;488:138:48;548:7;609;592:25;;;;;;;;:::i;26159:358:119:-;26334:12;;;26397:23;:9;26412:7;26397:14;:23::i;:::-;26358:62;;;;26430:10;26443;26447:5;26443:3;:10;;:::i;:::-;26430:23;-1:-1:-1;26470:40:119;26430:23;26470:31;26498:2;26470:5;:31;35496:250;546:279:49;695:123;;-1:-1:-1;;;695:123:49;;-1:-1:-1;;;;;8599:32:282;;;695:123:49;;;8581:51:282;8648:18;;;8641:34;;;657:7:49;;695:44;;;;;;8554:18:282;;695:123:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;22917:655:119:-;-1:-1:-1;;23285:20:119;;23324:16;;-1:-1:-1;;23239:20:119;;23359:16;;-1:-1:-1;;23400:20:119;;;23394:27;23239:20;;23076:12;;23359:16;;23394:27;23445:15;23324:16;23359;23394:27;23445:15;;;:::i;677:311:50:-;855:126;;-1:-1:-1;;;855:126:50;;808:16;;-1:-1:-1;;;;;855:49:50;;;;;:126;;922:9;;963:4;;855:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;855:126:50;;;;;;;;;;;;:::i;28890:923:119:-;29137:12;38600:4;:9;;38563:46;;29137:12;29241:111;38563:46;38600:9;29241:37;:111::i;:::-;29218:134;-1:-1:-1;29363:10:119;;29399:22;:8;29413:7;29399:13;:22::i;:::-;29362:59;;;;29432:25;29460:17;29464:2;29468:3;29473;29460;:17;;:::i;:::-;29432:45;;29510:7;29491:8;:15;:26;29487:112;;29572:15;;29540:48;;-1:-1:-1;;;29540:48:119;;;;29563:7;;29540:48;;7569:25:282;;;7625:2;7610:18;;7603:34;7557:2;7542:18;;7395:248;29487:112:119;29632:3;29662:108;29710:8;29632:3;29662:34;:108::i;:::-;36767:4;:9;;36730:46;;29787:19;36523:288;502:235:51;630:100;;-1:-1:-1;;;630:100:51;;-1:-1:-1;;;;;9687:32:282;;;630:100:51;;;9669:51:282;592:7:51;;630:42;;;;;;9642:18:282;;630:100:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;508:129:52:-;558:7;607:6;-1:-1:-1;;;;;584:44:52;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17787:462:119:-;-1:-1:-1;;18051:20:119;;18090:16;;17928:12;;18130:7;18090:16;18130:7;;;:::i;:::-;18186:21;;-1:-1:-1;18233:9:119;;17787:462;-1:-1:-1;;17787:462:119:o;665:302:53:-;822:138;;-1:-1:-1;;;822:138:53;;-1:-1:-1;;;;;8599:32:282;;;822:138:53;;;8581:51:282;8648:18;;;8641:34;;;784:7:53;;822:51;;;;;;8554:18:282;;822:138:53;8407:274:282;671:204:54;802:66;;-1:-1:-1;;;802:66:54;;;;;9877:25:282;;;764:7:54;;-1:-1:-1;;;;;802:53:54;;;;;9850:18:282;;802:66:54;9731:177:282;382:199:55;435:7;538:9;-1:-1:-1;;;;;514:42:55;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;473:101:55;;382:199;-1:-1:-1;;382:199:55:o;533:160:57:-;638:46;;-1:-1:-1;;;638:46:57;;;;;9877:25:282;;;596:7:57;;-1:-1:-1;;;;;638:41:57;;;;;9850:18:282;;638:46:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;622:64:57;;533:160;-1:-1:-1;;;533:160:57:o;427::58:-;523:2;513:58;;555:1;552;545:12;513:58;427:160;:::o;21929:647:119:-;22073:12;22259:4;22251:13;;22236:29;;22073:12;22236:29;22322:217;22359:9;22329:7;:40;22322:217;;;22440:7;22434:14;22428:20;;22489:4;22480:7;22476:18;22465:29;;22521:7;22525:2;22521:3;:7;;:::i;:::-;22322:217;;;22555:14;21929:647;-1:-1:-1;;;;;;21929:647:119:o;512:98:61:-;570:7;596;601:2;596;:7;:::i;20481:981:119:-;20924:4;20916:13;;;20901:29;;20953:14;;20652:12;;21002:18;;;20652:12;21002:18;21089:233;21126:9;21096:7;:40;21089:233;;;21215:7;21209:14;21203:20;;21263:11;21267:2;21271;21263:3;:11;;:::i;:::-;21258:16;;21303:4;21292:15;;;;21089:233;;;21378:19;;;;;20481:981;-1:-1:-1;;;;;;20481:981:119:o;366:98:62:-;424:7;450;455:2;450;:7;:::i;369:99:63:-;427:7;453:8;459:2;453;:8;:::i;377:108:64:-;435:7;466:2;461;:7;:17;;476:2;461:17;;360:98:66;418:7;444;449:2;444;:7;:::i;369:98:67:-;427:7;453;458:2;453;:7;:::i;369:98:68:-;427:7;453;458:2;453;:7;:::i;517:249:69:-;581:7;619:140;675:1;662:8;647:29;;100:10:210;723:8:69;708:36;694:51;;;;;;;;:::i;:::-;619:2;;:140;:10;:140::i;521:279:70:-;627:7;665:128;770:2;627:7;665:73;:2;708:8;627:7;665:27;:73::i;:::-;:104;:128;:104;:128::i;642:272:71:-;752:7;790:117;818:6;100:10:210;871:8:71;856:36;842:51;;;;;;;;:::i;527:279:72:-;633:7;671:128;776:2;633:7;671:73;:2;714:8;633:7;671:27;:73::i;:::-;:104;:128;:104;:128::i;504:224:73:-;568:7;606:115;:2;660:8;568:7;606:10;:115::i;506:152:74:-;570:7;596:55;:2;621:8;570:7;596:9;:55::i;402:180:76:-;522:16;562:1;557:2;:6;:18;;572:3;557:18;;462:277:77;713:10;;462:277::o;470:151:79:-;-1:-1:-1;595:10:79;470:151::o;462:139:80:-;575:10;;462:139::o;464:151:81:-;-1:-1:-1;589:10:81;464:151::o;336:146:82:-;394:7;435:39;452:2;470;435:3;:39::i;338:117:83:-;384:7;425:22;443:2;425:4;:22::i;336:146:84:-;394:7;435:39;452:2;470;435:3;:39::i;336:116:85:-;382:7;423:21;440:2;423:3;:21::i;338:117:86:-;384:7;425:22;443:2;425:4;:22::i;340:118:87:-;386:7;5505:5:279;5498:13;;5632:16;;;5617:32;5610:40;;427:23:87;5336:322:279;338:117:88;384:7;6047:5:279;6040:13;;425:22:88;5934:127:279;334:145:89;392:7;433:38;449:2;467;433;:38::i;336:116:90:-;382:7;423:21;440:2;423:3;:21::i;334:115:91:-;380:7;421:20;437:2;421;:20::i;340:118:92:-;386:7;427:23;446:2;427:5;:23::i;338:117:93:-;384:7;425:22;443:2;425:4;:22::i;336:146:94:-;394:7;435:39;452:2;470;435:3;:39::i;336:146:95:-;394:7;435:39;452:2;470;435:3;:39::i;338:133:96:-;396:7;437:26;455:2;460;437:4;:26::i;338:117:97:-;384:7;425:22;443:2;425:4;:22::i;956:203:209:-;1026:7;1082;;;1110;;;:32;;1140:2;1110:32;;;-1:-1:-1;;1103:39:209;956:203;-1:-1:-1;;;;956:203:209:o;1608:469::-;1678:7;1950:2;1956:1;1950:7;1946:21;;-1:-1:-1;1966:1:209;1959:8;;1946:21;1994:7;;;1999:2;1994;:7;:2;2022:7;;;;:::i;:::-;;:13;:38;;2058:2;2022:38;;1296:158;1366:7;1421:2;1416;:7;:21;;1436:1;1416:21;;;-1:-1:-1;1426:7:209;;;1296:158::o;475:474:101:-;704:206;;-1:-1:-1;;;704:206:101;;-1:-1:-1;;;;;12500:15:282;;;704:206:101;;;12482:34:282;12552:15;;;12532:18;;;12525:43;12584:18;;;12577:34;;;612:7:101;;704:55;;;;;;12417:18:282;;704:206:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;650:292:101;;475:474;-1:-1:-1;;;;;475:474:101:o;23913:770:119:-;-1:-1:-1;;24346:20:119;;24385:16;;-1:-1:-1;;24300:20:119;;24420:16;;-1:-1:-1;;24461:20:119;;24455:27;-1:-1:-1;;24507:20:119;;;24501:27;24300:20;;24117:12;;24420:16;;24455:27;;24552:19;24385:16;24420;24455:27;24501;24552:19;;;:::i;:::-;24620:21;;-1:-1:-1;24667:9:119;;23913:770;-1:-1:-1;;;;;23913:770:119:o;483:140:102:-;532:7;582:5;-1:-1:-1;;;;;558:56:102;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:142:103;484:7;550:5;-1:-1:-1;;;;;526:40:103;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:133:104;493:7;548:5;-1:-1:-1;;;;;524:43:104;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;519:51;;;;;;;;:::i;429:140:105:-;478:7;544:5;-1:-1:-1;;;;;520:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:137:106;523:7;573:5;-1:-1:-1;;;;;549:53:106;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;481:373:107;677:156;;-1:-1:-1;;;677:156:107;;-1:-1:-1;;;;;8599:32:282;;;677:156:107;;;8581:51:282;8648:18;;;8641:34;;;602:7:107;;677:58;;;;;;8554:18:282;;677:156:107;8407:274:282;4286:514:125;1156:11:210;4570:15:125;;;;4540:244;4614:4;4607:12;4540:244;;4712:11;;4702:68;;4747:5;4702:68;4663:4;4657;4653:15;4647:22;4639:30;;4540:244;;;4466:328;4286:514;;;;:::o;5384:1042::-;5499:8;5519:16;5538:15;5545:3;5550:2;5538:6;:15::i;:::-;5519:34;-1:-1:-1;1156:11:210;5621:28:125;;5617:783;;5732:2;5725:4;5719;5715:15;5708:27;5617:783;;;5901:4;5895:11;5887:19;;5946:4;5940;5936:15;5930:4;5923:29;6013:2;6007:4;6000:16;6057:2;6050:4;6044;6040:15;6033:27;6110:5;6105:3;6101:15;6094:4;6088;6084:15;6077:40;6354:4;6298:1;6292:3;6288:2;6284:12;6280:20;6276:2;6272:29;6212:164;6205:171;;5617:783;-1:-1:-1;6416:3:125;;5384:1042;-1:-1:-1;;;;5384:1042:125:o;3138:408::-;3213:14;3393:4;3402:1;3374:29;3370:83;;3426:16;;-1:-1:-1;;;3426:16:125;;;;;9877:25:282;;;9850:18;;3426:16:125;9731:177:282;3370:83:125;-1:-1:-1;3524:4:125;3514:15;3508:22;;3138:408::o;471:308:110:-;641:131;;-1:-1:-1;;;641:131:110;;603:7;;-1:-1:-1;;;;;641:47:110;;;;;:131;;722:8;;750;;641:131;;;:::i;26951:527:119:-;27180:12;;;27243:23;:9;27258:7;27243:14;:23::i;:::-;27204:62;;;;27276:27;27306:22;:5;35694:6;35496:250;27306:22;27276:52;;27339:22;27363:10;27377:20;:14;:18;:20::i;:::-;27338:59;;;;27407:33;27421:18;27425:2;27429;27433:5;27421:3;:18;;:::i;:::-;27407:9;11241:25;11125:157;27407:33;-1:-1:-1;27457:14:119;;26951:527;-1:-1:-1;;;;;;;26951:527:119:o;493:365:111:-;686:165;;-1:-1:-1;;;686:165:111;;648:7;;-1:-1:-1;;;;;686:58:111;;;;;:165;;778:8;;806:5;;829:8;;686:165;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27897:573:119:-;28135:12;;;28198:23;:9;28213:7;28198:14;:23::i;:::-;28159:62;;;;28232:27;28261:10;28275:54;:35;:5;35694:6;35496:250;28275:35;:52;:54::i;:::-;28231:98;;;;28339:10;28352:21;:14;-1:-1:-1;;3416:24:119;3410:31;;3261:215;28352:21;28339:34;;28383:49;28409:22;28413:2;28417;28421;28425:5;28409:3;:22;;:::i;:::-;-1:-1:-1;;37974:41:119;;11241:25;11125:157;1379:724:197;1491:7;;1581:1;1560:502;1593:1;1584:5;:10;1560:502;;1623:19;1645:107;1695:12;1729:5;1645:28;:107::i;:::-;1623:129;;1770:19;1792:107;1842:12;1876:5;1792:28;:107::i;:::-;1770:129;-1:-1:-1;1917:13:197;1933:38;:11;1770:129;1933:25;:38::i;:::-;1917:54;;1996:51;2024:4;2038:1;2030:5;:9;2041:5;1996:27;:51::i;:::-;1989:58;-1:-1:-1;;1596:7:197;;;;;-1:-1:-1;1560:502:197;;-1:-1:-1;1560:502:197;;-1:-1:-1;2082:4:197;1379:724;-1:-1:-1;;;1379:724:197:o;3152:2379::-;3453:15;;3312:7;;;;;;;;3503:1;3482:2008;3515:1;3506:5;:10;3482:2008;;3545:20;;-1:-1:-1;3545:20:197;3752:5;3748:185;;-1:-1:-1;;;3748:185:197;;;-1:-1:-1;3913:1:197;3748:185;4100:10;4095:1107;4121:7;4116:2;:12;4095:1107;;;4167:49;4196:8;4205:2;4196:12;;;;;;;;:::i;:::-;;;;;;;4210:5;4167:28;:49::i;:::-;4158:58;;4253:12;4243:6;:22;4239:945;;4418:5;4414:470;;4499:24;:6;4510:12;4499:10;:24::i;:::-;4484:39;;4414:470;;;696:1;4560:5;:34;4556:328;;4641:24;:6;4652:12;4641:10;:24::i;4556:328::-;813:1;4731:5;:36;:48;;;;;4772:7;4771:8;4731:48;4698:186;;;4851:6;4836:21;;4698:186;4919:4;4909:14;;4239:945;;;4956:6;4952:232;;-1:-1:-1;;5089:41:197;;5156:5;;4952:232;4130:4;;4095:1107;;;;5224:7;5219:96;;-1:-1:-1;;;5219:96:197;5339:136;5388:4;5422:1;5414:5;:9;5445:12;5339:27;:136::i;:::-;5332:143;-1:-1:-1;;3518:7:197;;3482:2008;;;-1:-1:-1;5510:4:197;;3152:2379;-1:-1:-1;;;;;;;;3152:2379:197:o;375:493:114:-;494:7;532:329;584:7;686:8;698:4;671:31;810:1;797:8;782:29;;815:4;781:38;837:10;532:34;:329::i;11953:315:0:-;12076:20;12174:4;12165:7;12161:18;12145:34;;12198:63;12217:12;12231:13;12246:7;:14;12198:18;:63::i;1472:1045:1:-;1568:7;1590:14;1608:18;1667:5;-1:-1:-1;;;;;1632:66:1;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1587:113;;;;;;;1726:1;1715:7;:12;1711:73;;1750:23;;-1:-1:-1;;;1750:23:1;;;;;9877:25:282;;;9850:18;;1750:23:1;9731:177:282;1711:73:1;2009:11;1978:28;1996:10;1978:15;:28;:::i;:::-;:42;1974:115;;;2043:35;;-1:-1:-1;;;2043:35:1;;;;;7569:25:282;;;7610:18;;;7603:34;;;7542:18;;2043:35:1;7395:248:282;1974:115:1;2378:132;2445:5;-1:-1:-1;;;;;2423:37:1;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2378:132;;2480:16;2378:19;:7;:17;:19::i;:::-;:27;:132;:27;:132::i;1127:115:281:-;1180:58;1234:2;1196:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1196:41:281;;;;;;;;;;;;;;-1:-1:-1;;;;;1196:41:281;-1:-1:-1;;;1196:41:281;;;1180:15;:58::i;6297:371:118:-;6413:12;;39536:4:119;39446:86;;;39445:95;6437:49:118;-1:-1:-1;6496:139:118;6520:105;38600:4:119;:9;;38563:46;;6437:49:118;6520:66;:105::i;5731:300::-;5824:28;5836:15;;;;;;;;;;;;;-1:-1:-1;;;5836:15:118;;;5824:11;:28::i;:::-;5871:10;5866:107;5892:6;:13;5887:2;:18;5866:107;;;5931:27;5943:2;5947:6;5954:2;5947:10;;;;;;;;:::i;:::-;;;;;;;5931:11;:27::i;:::-;5907:4;;5866:107;;;;5986:28;5998:15;;;;;;;;;;;;;-1:-1:-1;;;5998:15:118;;;5986:11;:28::i;13110:416:0:-;13225:16;13253:25;13295:7;13281:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13281:22:0;-1:-1:-1;13253:50:0;-1:-1:-1;13414:4:0;13400:19;;13438:56;13457:12;13400:19;13486:7;13438:18;:56::i;4371:602:127:-;4498:7;4517:17;4563:10;522:2;4548:25;4544:423;;4596:2;4589:9;;;;;4544:423;4633:10;522:2;4619:24;4615:352;;;-1:-1:-1;522:2:127;4699:24;;;4758:33;4775:15;4699:24;4775:2;:15;:::i;:::-;4758:2;;:16;:33::i;:::-;4751:40;;;;;4615:352;-1:-1:-1;;;4862:24:127;;4921:35;4931:2;4862:24;4946:9;4921;:35::i;9720:190::-;9845:7;9871:32;:2;776:4;9889:2;9893:9;9871;:32::i;9196:190::-;9321:7;9347:32;:2;9357;776:4;9369:9;9347;:32::i;7572:496::-;7694:7;7717:8;:13;;7729:1;7717:13;7713:349;;-1:-1:-1;7753:2:127;7746:9;;7713:349;7787:1;7776:8;:12;;;7772:290;;;7811:39;7828:21;7840:8;7828:2;:21;:::i;:::-;7811:2;;:16;:39::i;:::-;7804:46;;;;7772:290;7943:35;7881:20;7964:13;;;7943:35;8013:38;8023:2;7943:35;8041:9;8013;:38::i;5297:626::-;5428:7;5447:17;522:2;5478:15;:30;5474:443;;5531:2;5524:9;;;;;5474:443;5568:15;522:2;5554:29;5550:367;;;5653:15;522:2;5639:29;5627:41;;5703:35;5713:2;5717:9;5728;5703;:35::i;5550:367::-;-1:-1:-1;;;5809:29:127;;5873:33;5890:15;5809:29;5890:2;:15;:::i;1474:217:279:-;1523:14;1568:1;1599;1642:13;;;1661;;;1679:1;1660:20;1641:40;1636:46;3069:92:275;2188:538:279;2227:14;2272:1;-1:-1:-1;;2284:26:279;;2280:88;;;2329:32;;-1:-1:-1;;;2329:32:279;;;;;9877:25:282;;;9850:18;;2329:32:279;9731:177:282;2280:88:279;-1:-1:-1;;2481:5:279;2474:13;;;2700:16;;;2566:21;;2689:28;2682:36;;2188:538::o;3119:124::-;3168:14;3199:41;3204:35;3218:1;1295:4:276;3236:1:279;3204:6;:35::i;3574:505::-;3612:14;3657:1;3760:22;3751:31;;3747:95;;3801:34;;-1:-1:-1;;;3801:34:279;;;;;9877:25:282;;;9850:18;;3801:34:279;9731:177:282;3747:95:279;540:20:276;3999:15:279;;4033:37;4038:31;1295:4:276;3999:15:279;4043:25;;3156:1:275;3069:92;4038:31:279;4472:14;4517:1;4625:6;4616:15;;4612:80;;4650:35;;-1:-1:-1;;;4650:35:279;;;;;9877:25:282;;;9850:18;;4650:35:279;9731:177:282;4612:80:279;4753:16;4772:21;1295:4:276;4782:2:279;4773:11;;;4772:21;:::i;:::-;4753:40;;4911:23;4916:17;4924:8;4916:7;:17::i;6406:678::-;6454:14;6499:1;6530;6542:10;;;:24;;-1:-1:-1;6556:10:279;;6542:24;6538:58;;;1420:1:276;6578:11:279;;;;;;6538:58;6720:13;;;6728:5;6720;:13;:5;6747:14;;;;:::i;:::-;;:23;6743:94;;6793:33;;-1:-1:-1;;;6793:33:279;;;;;7569:25:282;;;7610:18;;;7603:34;;;7542:18;;6793:33:279;7395:248:282;6743:94:279;7054:21;7059:15;7067:6;7059:7;:15::i;7314:152::-;7352:14;7435:22;7454:1;7440:4;:16;;;;;:::i;7947:315::-;7984:14;8212:41;540:20:276;1295:4;8218:15:279;8225:7;8230:1;8225:4;:7::i;8218:15::-;:23;8217:35;;;;;:::i;8747:7194::-;8787:14;8832:1;1295:4:276;8844:13:279;;8840:79;;;8876:36;;-1:-1:-1;;;8876:36:279;;;;;9877:25:282;;;9850:18;;8876:36:279;9731:177:282;8840:79:279;9105:1;9120;9115:43;;;;9172:2;9167:44;;;;9225:3;9220:45;;;;9279:4;9274:46;;;;9334:5;9329:47;;;;9390:6;9385:48;;;;9447:7;9442:49;;;;9505:8;9500:50;;;;9564:9;9559:51;;;;9624:10;9619:52;;;;9685:11;9680:54;;;;9748:12;9743:55;;;;9812:13;9807:56;;;;9877:14;9872:57;;;;9943:15;9938:58;;;;10010:16;10005:59;;;;10078:17;10073:60;;;;10147:18;10142:61;;;;10217:19;10212:40;;;;10266:20;10261:45;;;;10320:21;10315:54;;;;10383:22;10378:55;;;;10447:23;10442:56;;;;10512:24;10507:57;;;;10578:25;10573:58;;;;10645:26;10640:59;;;;10713:27;10708:60;;;;10782:28;10777:61;;;;10852:29;10847:63;;;;10924:30;10919:64;;;;10997:31;10992:65;;;;11071:32;11066:66;;;;11146:33;11141:67;;;;11222:34;11217:68;;;;11299:35;11294:69;;;;11377:36;11372:70;;;;11456:37;11451:71;;;;11536:38;11531:72;;;;11617:39;11612:73;;;;11699:40;11694:74;;;;11782:41;11777:75;;;;11866:42;11861:76;;;;11951:43;11946:77;;;;12037:44;12032:78;;;;12124:45;12119:79;;;;12212:46;12207:80;;;;12301:47;12296:81;;;;12391:48;12386:82;;;;12482:49;12477:83;;;;12574:50;12569:84;;;;12667:51;12662:85;;;;12761:52;12756:86;;;;12856:53;12851:87;;;;12952:54;12947:88;;;;13049:55;13044:89;;;;13147:56;13142:90;;;;13246:57;13241:91;;;;13346:58;13341:92;;;;13447:59;13442:93;;;;13549:60;13544:94;;;;13652:61;13647:95;;;;13756:62;13751:96;;;;13861:63;13856:97;;;;13967:64;13962:98;;;;14074:65;14069:99;;;;14182:66;14177:100;;;;14291:67;14286:101;;;;14401:68;14396:102;;;;14512:69;14507:103;;;;14624:70;14619:104;;;;14737:71;14732:105;;;;14851:72;14846:106;;;;14966:73;14961:107;;;;15082:74;15077:108;;;;15199:75;15194:109;;;;-1:-1:-1;;;15312:110:279;;;;15436:77;15431:111;;;;15556:78;15551:112;;;;-1:-1:-1;;15694:22:279;;9098:6628;;9115:43;-1:-1:-1;;9134:22:279;-1:-1:-1;9115:43:279;;9167:44;-1:-1:-1;;9187:22:279;-1:-1:-1;9167:44:279;;9220:45;-1:-1:-1;;9241:22:279;-1:-1:-1;9220:45:279;;9274:46;-1:-1:-1;;9296:22:279;-1:-1:-1;9274:46:279;;9329:47;-1:-1:-1;;9352:22:279;-1:-1:-1;9329:47:279;;9385:48;-1:-1:-1;;9409:22:279;-1:-1:-1;9385:48:279;;9442:49;-1:-1:-1;;9467:22:279;-1:-1:-1;9442:49:279;;9500:50;-1:-1:-1;;9526:22:279;-1:-1:-1;9500:50:279;;9559:51;-1:-1:-1;;9586:22:279;-1:-1:-1;9559:51:279;;9619:52;-1:-1:-1;;9647:22:279;-1:-1:-1;9619:52:279;;9680:54;-1:-1:-1;;9709:23:279;-1:-1:-1;9680:54:279;;9743:55;-1:-1:-1;;9773:23:279;-1:-1:-1;9743:55:279;;9807:56;-1:-1:-1;;9838:23:279;-1:-1:-1;9807:56:279;;9872:57;-1:-1:-1;;9904:23:279;-1:-1:-1;9872:57:279;;9938:58;-1:-1:-1;;9971:23:279;-1:-1:-1;9938:58:279;;10005:59;-1:-1:-1;;10039:23:279;-1:-1:-1;10005:59:279;;10073:60;-1:-1:-1;;10108:23:279;-1:-1:-1;10073:60:279;;10142:61;-1:-1:-1;;10178:23:279;-1:-1:-1;10142:61:279;;10212:40;10249:1;10239:11;;10212:40;;10261:45;10299:5;10289:15;;10261:45;;10315:54;10354:13;;-1:-1:-1;10315:54:279;;10378:55;10418:13;;-1:-1:-1;10378:55:279;;10442:56;10483:13;;-1:-1:-1;10442:56:279;;10507:57;10549:13;;-1:-1:-1;10507:57:279;;10573:58;10616:13;;-1:-1:-1;10573:58:279;;10640:59;10684:13;;-1:-1:-1;10640:59:279;;10708:60;10753:13;;-1:-1:-1;10708:60:279;;10777:61;10823:13;;-1:-1:-1;10777:61:279;;10847:63;10894:14;;-1:-1:-1;10847:63:279;;10919:64;10967:14;;-1:-1:-1;10919:64:279;;10992:65;11041:14;;-1:-1:-1;10992:65:279;;11066:66;11116:14;;-1:-1:-1;11066:66:279;;11141:67;11192:14;;-1:-1:-1;11141:67:279;;11217:68;11269:14;;-1:-1:-1;11217:68:279;;11294:69;11347:14;;-1:-1:-1;11294:69:279;;11372:70;11426:14;;-1:-1:-1;11372:70:279;;11451:71;11506:14;;-1:-1:-1;11451:71:279;;11531:72;11587:14;;-1:-1:-1;11531:72:279;;11612:73;11669:14;;-1:-1:-1;11612:73:279;;11694:74;11752:14;;-1:-1:-1;11694:74:279;;11777:75;11836:14;;-1:-1:-1;11777:75:279;;11861:76;11921:14;;-1:-1:-1;11861:76:279;;11946:77;12007:14;;-1:-1:-1;11946:77:279;;12032:78;12094:14;;-1:-1:-1;12032:78:279;;12119:79;12182:14;;-1:-1:-1;12119:79:279;;12207:80;12271:14;;-1:-1:-1;12207:80:279;;12296:81;12361:14;;-1:-1:-1;12296:81:279;;12386:82;12452:14;;-1:-1:-1;12386:82:279;;12477:83;12544:14;;-1:-1:-1;12477:83:279;;12569:84;12637:14;;-1:-1:-1;12569:84:279;;12662:85;12731:14;;-1:-1:-1;12662:85:279;;12756:86;12826:14;;-1:-1:-1;12756:86:279;;12851:87;12922:14;;-1:-1:-1;12851:87:279;;12947:88;13019:14;;-1:-1:-1;12947:88:279;;13044:89;13117:14;;-1:-1:-1;13044:89:279;;13142:90;13216:14;;-1:-1:-1;13142:90:279;;13241:91;13316:14;;-1:-1:-1;13241:91:279;;13341:92;13417:14;;-1:-1:-1;13341:92:279;;13442:93;13519:14;;-1:-1:-1;13442:93:279;;13544:94;13622:14;;-1:-1:-1;13544:94:279;;13647:95;13726:14;;-1:-1:-1;13647:95:279;;13751:96;13831:14;;-1:-1:-1;13751:96:279;;13856:97;13937:14;;-1:-1:-1;13856:97:279;;13962:98;14044:14;;-1:-1:-1;13962:98:279;;14069:99;14152:14;;-1:-1:-1;14069:99:279;;14177:100;14261:14;;-1:-1:-1;14177:100:279;;14286:101;14371:14;;-1:-1:-1;14286:101:279;;14396:102;14482:14;;-1:-1:-1;14396:102:279;;14507:103;14594:14;;-1:-1:-1;14507:103:279;;14619:104;14707:14;;-1:-1:-1;14619:104:279;;14732:105;14821:14;;-1:-1:-1;14732:105:279;;14846:106;14936:14;;-1:-1:-1;14846:106:279;;14961:107;15052:14;;-1:-1:-1;14961:107:279;;15077:108;15169:14;;-1:-1:-1;15077:108:279;;15194:109;15287:14;;-1:-1:-1;15194:109:279;;15312:110;15406:14;;-1:-1:-1;15312:110:279;;15431:111;15526:14;;-1:-1:-1;15431:111:279;;15551:112;15647:14;;-1:-1:-1;9098:6628:279;-1:-1:-1;;;15749:6:279;15742:30;15738:201;;15880:42;400:20:276;1295:4;15886:15:279;15893:7;15898:1;15893:4;:7::i;15880:42::-;15871:51;;15738:201;8803:7138;8747:7194;;;:::o;16523:1380::-;16562:14;16607:1;1295:4:276;16620:13:279;;16616:79;;;16652:36;;-1:-1:-1;;;16652:36:279;;;;;9877:25:282;;;9850:18;;16652:36:279;9731:177:282;16616:79:279;16836:9;16848:18;1295:4:276;16852:5:279;:13;4024:1:260;3049:34;3043:41;;3040:1;3036:49;3099:14;;;3235:18;3229:25;;3226:1;3222:33;3269:14;;;3405:10;3399:17;;3396:1;3392:25;3431:14;;;3567:6;3561:13;;3558:1;3554:21;3589:14;;;3724:4;3718:11;;3715:1;3711:19;;;3744:14;;;3879:3;3873:10;;3870:1;3866:18;3898:14;;;4027:10;;;4020:18;;4052:14;;;4210:10;;;;3302:18;;;;3464;;;;3622;3777;3931;;;;4085;;;;4239;;2914:1351;16848:18:279;16836:30;-1:-1:-1;1295:4:276;17058:9:279;;17127:10;;;-1:-1:-1;;17203:10:279;;17199:64;;-1:-1:-1;17241:10:279;17229:23;-1:-1:-1;;;;16523:1380:279:o;17199:64::-;17467:4;268:6:276;17481:379:279;17514:9;;17481:379;;1295:4:276;17557:5:279;;;17556:15;17552:19;;17648:11;17643:1;:16;17639:211;;17738:19;;;;17834:1;17828:7;;;;;17639:211;17535:1;17525:11;17481:379;;;-1:-1:-1;17883:10:279;;17869:25;-1:-1:-1;;;;;;16523:1380:279:o;18212:119::-;18261:14;18292:36;18297:30;18313:1;18324;18297:8;:30::i;18792:340::-;18841:14;18886:1;18917;18930:10;;;18926:204;;18961:10;;:24;;1420:1:276;18961:24:279;;;1295:4:276;18961:24:279;18952:33;;18926:204;;;1295:4:276;19012:5:279;:14;19008:116;;19051:1;19042:10;;19008:116;;;19092:21;19097:15;19101:7;19106:1;19101:4;:7::i;:::-;19110:1;19097:3;:15::i;19008:116::-;18857:275;;18792:340;;;;:::o;19636:529::-;19686:14;19792:1;19686:14;19825:1;19821:5;;:25;;1295:4:276;19821:25:279;;;19833:5;19821:25;19800:46;;19926:1;19920:7;;;;;19915:217;19929:5;;19915:217;;19963:22;19972:5;19979;19963:8;:22::i;:::-;19955:30;-1:-1:-1;20054:1:279;20050:5;;:9;20046:80;;20088:27;20097:10;20109:5;20088:8;:27::i;:::-;20075:40;;20046:80;19942:1;19936:7;;;;;19915:217;;;20151:10;20146:16;3069:92:275;20555:467:279;20594:14;20639:1;20680:20;20672:28;;20668:98;;;20723:32;;-1:-1:-1;;;20723:32:279;;;;;9877:25:282;;;9850:18;;20723:32:279;9731:177:282;20668:98:279;20985:28;20990:22;1295:4:276;20998:5:279;:13;20990:7;:22::i;2679:458:196:-;2798:7;2782:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;2954:5:::1;2963:1;2954:10:::0;2950:57:::1;;2991:1;2984:8;;;;2950:57;-1:-1:-1::0;;;;3040:9:196;3053:2:::1;3039:16;3099:18;3076:44;;::::0;2679:458::o;4207:406::-;4353:7;4337:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;-1:-1:-1;;4422:2:196::1;4414:10:::0;;;::::1;4574:21:::0;;::::1;392:16:195;4501:44:196::0;;::::1;4492:54;4462:84:::0;;;::::1;4461:135;::::0;4207:406::o;5077:649::-;5264:7;5245:8;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;5307:15:::1;5354:10:::0;5336:346:::1;5371:8;5366:2;:13;5336:346;;;392:16:195;5420:2:196;5415:7:::0;::::1;5543:44:::0;;::::1;5505:108;5471:142:::0;;;::::1;5645:21:::0;;::::1;5470:197;::::0;5415:7;-1:-1:-1;5381:4:196::1;;5336:346;;;-1:-1:-1::0;5702:7:196;;5077:649;-1:-1:-1;;;;;;5077:649:196:o;17198:168:259:-;17254:7;17290:1;17281:5;:10;;17273:55;;;;-1:-1:-1;;;17273:55:259;;16463:2:282;17273:55:259;;;16445:21:282;;;16482:18;;;16475:30;16541:34;16521:18;;;16514:62;16593:18;;17273:55:259;16261:356:282;17273:55:259;-1:-1:-1;17353:5:259;17198:168::o;176:288:281:-;264:14;;129:42;373:2;360:16;;240:21;;264:14;360:16;129:42;400:5;389:68;380:77;;335:126;;176:288;:::o;5072:112::-;5121:59;5176:2;5137:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5137:42:281;;;;;;;;;;;;;;-1:-1:-1;;;;;5137:42:281;-1:-1:-1;;;5137:42:281;;;5121:15;:59::i;5401:131::-;5472:55;;;;;7569:25:282;;;7610:18;;;7603:34;;;5456:72:281;;7542:18:282;;5472:55:281;;;-1:-1:-1;;5472:55:281;;;;;;;;;;;;;;-1:-1:-1;;;;;5472:55:281;-1:-1:-1;;;5472:55:281;;;5456:15;:72::i;:::-;5401:131;;:::o;8503:350:127:-;8634:7;;8666:18;8672:12;8666:2;:18;:::i;:::-;8653:31;-1:-1:-1;8694:15:127;8712:7;8653:31;8712:2;:7;:::i;:::-;8694:25;-1:-1:-1;8746:16:127;8733:9;:29;;;;;;;;:::i;:::-;;:51;;;;-1:-1:-1;8772:12:127;8782:2;8772:7;:12;:::i;:::-;8766:2;:18;;8733:51;8729:94;;;8800:12;8811:1;8800:12;;:::i;5735:337:258:-;5874:7;5893:14;5910:25;5917:1;5920;5923:11;5910:6;:25::i;:::-;5893:42;-1:-1:-1;5961:11:258;5949:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6004:1;5989:11;5976:25;;;;;:::i;:::-;5986:1;5983;5976:25;:29;5945:98;;;6021:11;6031:1;6021:11;;:::i;4790:3691:260:-;4863:14;;;-1:-1:-1;;5340:1:260;5337;5330:20;5375:1;5372;5368:9;5359:18;;5422:5;5418:2;5415:13;5407:5;5403:2;5399:14;5395:34;5386:43;;;5500:5;5509:1;5500:10;5496:93;;5561:11;5553:5;:19;;;;;:::i;:::-;;5546:26;;;;;;5496:93;5688:11;5679:5;:20;5675:92;;5718:42;;-1:-1:-1;;;5718:42:260;;;;;17048:25:282;;;17089:18;;;17082:34;;;17132:18;;;17125:34;;;17021:18;;5718:42:260;16846:319:282;5675:92:260;5982:17;6129:11;6126:1;6123;6116:25;7462:1;6639;6624:12;;:16;;6609:32;;6751:25;;;;7443:1;:15;;7442:21;;7683;;;7679:25;;7668:36;7748:21;;;7744:25;;7733:36;7814:21;;;7810:25;;7799:36;7880:21;;;7876:25;;7865:36;7946:21;;;7942:25;;7931:36;8013:21;;;8009:25;;;7998:36;;;6591:15;7001;;;6997:29;;;6993:37;;;6227:20;;;6216:32;;;7107:15;;;;6266:21;;6847:19;;;;7098:24;;;;8457:15;;;-1:-1:-1;;;;4790:3691:260:o;12663:8768::-;-1:-1:-1;;;13102:18:260;13098:22;;:26;13094:1023;;13148:18;13144:22;;:26;13140:110;;13209:19;13200:28;13233:2;13199:36;13140:110;13271:18;13267:22;;:26;13263:110;;13332:19;13323:28;13356:2;13322:36;13263:110;13394:18;13390:22;;:26;13386:110;;13455:19;13446:28;13479:2;13445:36;13386:110;13517:18;13513:22;;:26;13509:110;;13578:19;13569:28;13602:2;13568:36;13509:110;13640:17;13636:21;;:25;13632:109;;13700:19;13691:28;13724:2;13690:36;13632:109;13762:17;13758:21;;:25;13754:109;;13822:19;13813:28;13846:2;13812:36;13754:109;13884:17;13880:21;;:25;13876:109;;13944:19;13935:28;13968:2;13934:36;13876:109;14006:17;14002:21;;:25;13998:109;;14066:19;14057:28;14090:2;14056:36;13998:109;14135:16;14131:20;;:24;14127:1005;;14179:16;14175:20;;:24;14171:108;;14238:19;14229:28;14262:2;14228:36;14171:108;14300:16;14296:20;;:24;14292:108;;14359:19;14350:28;14383:2;14349:36;14292:108;14421:16;14417:20;;:24;14413:108;;14480:19;14471:28;14504:2;14470:36;14413:108;14542:16;14538:20;;:24;14534:108;;14601:19;14592:28;14625:2;14591:36;14534:108;14663:15;14659:19;;:23;14655:107;;14721:19;14712:28;14745:2;14711:36;14655:107;14783:15;14779:19;;:23;14775:107;;14841:19;14832:28;14865:2;14831:36;14775:107;14903:15;14899:19;;:23;14895:107;;14961:19;14952:28;14985:2;14951:36;14895:107;15023:15;15019:19;;:23;15015:107;;15081:19;15072:28;15105:2;15071:36;15015:107;15150:14;15146:18;;:22;15142:987;;15192:14;15188:18;;:22;15184:106;;15249:19;15240:28;15273:2;15239:36;15184:106;15311:14;15307:18;;:22;15303:106;;15368:19;15359:28;15392:2;15358:36;15303:106;15430:14;15426:18;;:22;15422:106;;15487:19;15478:28;15511:2;15477:36;15422:106;15549:14;15545:18;;:22;15541:106;;15606:19;15597:28;15630:2;15596:36;15541:106;15668:13;15664:17;;:21;15660:105;;15724:19;15715:28;15748:2;15714:36;15660:105;15786:13;15782:17;;:21;15778:105;;15842:19;15833:28;15866:2;15832:36;15778:105;15904:13;15900:17;;:21;15896:105;;15960:19;15951:28;15984:2;15950:36;15896:105;16022:13;16018:17;;:21;16014:105;;16078:19;16069:28;16102:2;16068:36;16014:105;16147:12;16143:16;;:20;16139:969;;16187:12;16183:16;;:20;16179:104;;16242:19;16233:28;16266:2;16232:36;16179:104;16304:12;16300:16;;:20;16296:104;;16359:19;16350:28;16383:2;16349:36;16296:104;16421:12;16417:16;;:20;16413:104;;16476:19;16467:28;16500:2;16466:36;16413:104;16538:12;16534:16;;:20;16530:104;;16593:19;16584:28;16617:2;16583:36;16530:104;16655:11;16651:15;;:19;16647:103;;16709:19;16700:28;16733:2;16699:36;16647:103;16771:11;16767:15;;:19;16763:103;;16825:19;16816:28;16849:2;16815:36;16763:103;16887:11;16883:15;;:19;16879:103;;16941:19;16932:28;16965:2;16931:36;16879:103;17003:11;16999:15;;:19;16995:103;;17057:19;17048:28;17081:2;17047:36;16995:103;17126:12;17122:16;;:20;17118:953;;17166:10;17162:14;;:18;17158:102;;17219:19;17210:28;17243:2;17209:36;17158:102;17281:10;17277:14;;:18;17273:102;;17334:19;17325:28;17358:2;17324:36;17273:102;17396:10;17392:14;;:18;17388:102;;17449:19;17440:28;17473:2;17439:36;17388:102;17511:10;17507:14;;:18;17503:102;;17564:19;17555:28;17588:2;17554:36;17503:102;17626:9;17622:13;;:17;17618:101;;17678:19;17669:28;17702:2;17668:36;17618:101;17740:9;17736:13;;:17;17732:101;;17792:19;17783:28;17816:2;17782:36;17732:101;17854:9;17850:13;;:17;17846:101;;17906:19;17897:28;17930:2;17896:36;17846:101;17968:9;17964:13;;:17;17960:101;;18020:19;18011:28;18044:2;18010:36;17960:101;18089:8;18085:12;;:16;18081:933;;18125:8;18121:12;;:16;18117:100;;18176:19;18167:28;18200:2;18166:36;18117:100;18238:8;18234:12;;:16;18230:100;;18289:19;18280:28;18313:2;18279:36;18230:100;18351:8;18347:12;;:16;18343:100;;18402:19;18393:28;18426:2;18392:36;18343:100;18464:8;18460:12;;:16;18456:100;;18515:19;18506:28;18539:2;18505:36;18456:100;18577:7;18573:11;;:15;18569:99;;18627:19;18618:28;18651:2;18617:36;18569:99;18689:7;18685:11;;:15;18681:99;;18739:19;18730:28;18763:2;18729:36;18681:99;18801:7;18797:11;;:15;18793:99;;18851:19;18842:28;18875:2;18841:36;18793:99;18913:7;18909:11;;:15;18905:99;;18963:19;18954:28;18987:2;18953:36;18905:99;19032:6;19028:10;;:14;19024:915;;19066:6;19062:10;;:14;19058:98;;19115:19;19106:28;19139:2;19105:36;19058:98;19177:6;19173:10;;:14;19169:98;;19226:19;19217:28;19250:2;19216:36;19169:98;19288:6;19284:10;;:14;19280:98;;19337:19;19328:28;19361:2;19327:36;19280:98;19399:6;19395:10;;:14;19391:98;;19448:19;19439:28;19472:2;19438:36;19391:98;19510:5;19506:9;;:13;19502:97;;19558:19;19549:28;19582:2;19548:36;19502:97;19620:5;19616:9;;:13;19612:97;;19668:19;19659:28;19692:2;19658:36;19612:97;19730:5;19726:9;;:13;19722:97;;19778:19;19769:28;19802:2;19768:36;19722:97;19840:5;19836:9;;:13;19832:97;;19888:19;19879:28;19912:2;19878:36;19832:97;19957:4;19953:8;;:12;19949:897;;19989:4;19985:8;;:12;19981:96;;20036:19;20027:28;20060:2;20026:36;19981:96;20098:4;20094:8;;:12;20090:96;;20145:19;20136:28;20169:2;20135:36;20090:96;20207:4;20203:8;;:12;20199:96;;20254:19;20245:28;20278:2;20244:36;20199:96;20316:4;20312:8;;:12;20308:96;;20363:19;20354:28;20387:2;20353:36;20308:96;20425:3;20421:7;;:11;20417:95;;20471:19;20462:28;20495:2;20461:36;20417:95;20533:3;20529:7;;:11;20525:95;;20579:19;20570:28;20603:2;20569:36;20525:95;20641:3;20637:7;;:11;20633:95;;20687:19;20678:28;20711:2;20677:36;20633:95;20749:3;20745:7;;:11;20741:95;;20795:19;20786:28;20819:2;20785:36;20741:95;1525:4;21370:14;21418:2;21413:7;;;;21406:3;:15;21394:28;;12663:8768::o;21912:2318::-;21954:14;21980:1;21985;21980:6;21976:37;;-1:-1:-1;22005:1:260;;21912:2318;-1:-1:-1;21912:2318:260:o;21976:37::-;-1:-1:-1;22774:1:260;22757;-1:-1:-1;;;22785:16:260;;22781:74;;22846:2;22835:13;;;;;22822:3;22813:12;22781:74;22872:7;22864:4;:15;22860:72;;22923:2;22912:13;;;;;22900:2;22891:11;22860:72;22949:7;22941:4;:15;22937:72;;23000:2;22989:13;;;;;22977:2;22968:11;22937:72;23026:7;23018:4;:15;23014:71;;23077:1;23066:12;;;;;23054:2;23045:11;23014:71;23102:6;23094:4;:14;23090:69;;23151:1;23140:12;;;;;23129:1;23120:10;23090:69;23176:6;23168:4;:14;23164:69;;23225:1;23214:12;;;;;23203:1;23194:10;23164:69;23250:6;23242:4;:14;23238:49;;23279:1;23268:12;;;;;23238:49;23740:1;23729:6;23725:1;:10;;;;;:::i;:::-;;23716:6;:19;23715:26;;23706:35;;23785:1;23774:6;23770:1;:10;;;;;:::i;:::-;;23761:6;:19;23760:26;;23751:35;;23830:1;23819:6;23815:1;:10;;;;;:::i;:::-;;23806:6;:19;23805:26;;23796:35;;23875:1;23864:6;23860:1;:10;;;;;:::i;:::-;;23851:6;:19;23850:26;;23841:35;;23920:1;23909:6;23905:1;:10;;;;;:::i;:::-;;23896:6;:19;23895:26;;23886:35;;23965:1;23954:6;23950:1;:10;;;;;:::i;:::-;;23941:6;:19;23940:26;;23931:35;;24010:1;23999:6;23995:1;:10;;;;;:::i;:::-;;23986:6;:19;23985:26;;23976:35;;24090:25;24122:6;24118:1;:10;;;;;:::i;:::-;;24090:38;;24152:17;24142:6;:27;24138:84;;24194:17;24185:26;;24138:84;23686:542;21970:2260;21912:2318;;;:::o;9536:821::-;9590:14;;;-1:-1:-1;;9705:1:260;9702;9695:20;9740:1;9737;9733:9;9724:18;;9787:5;9783:2;9780:13;9772:5;9768:2;9764:14;9760:34;9751:43;;;1525:4;9810:5;:13;9806:74;;9842:31;;-1:-1:-1;;;9842:31:260;;;;;7569:25:282;;;7610:18;;;7603:34;;;7542:18;;9842:31:260;7395:248:282;9806:74:260;9886:17;9970:4;9967:1;9964;9957:18;9944:31;;9991:5;10000:1;9991:10;9987:86;;-1:-1:-1;;1525:4:260;10044:12;;;-1:-1:-1;10037:19:260;;9987:86;10283:10;10165:21;;;10161:38;10232:20;-1:-1:-1;10221:32:260;;-1:-1:-1;;;10217:82:260;10141:172;10327:12;10124:225;;-1:-1:-1;9536:821:260;;;;:::o;1678:3925:258:-;1790:14;;;-1:-1:-1;;2327:1:258;2324;2317:20;2370:1;2367;2363:9;2354:18;;2425:5;2421:2;2418:13;2410:5;2406:2;2402:14;2398:34;2389:43;;;2527:5;2536:1;2527:10;2523:75;;2572:11;2564:5;:19;;;;;:::i;2523:75::-;2722:5;2708:11;:19;2700:28;;;;;-1:-1:-1;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:282:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:282;;209:43;;199:71;;266:1;263;256:12;497:152;-1:-1:-1;;;;;593:31:282;;583:42;;573:70;;639:1;636;629:12;654:127;715:10;710:3;706:20;703:1;696:31;746:4;743:1;736:15;770:4;767:1;760:15;786:275;857:2;851:9;922:2;903:13;;-1:-1:-1;;899:27:282;887:40;;957:18;942:34;;978:22;;;939:62;936:88;;;1004:18;;:::i;:::-;1040:2;1033:22;786:275;;-1:-1:-1;786:275:282:o;1066:193::-;1136:4;1169:18;1161:6;1158:30;1155:56;;;1191:18;;:::i;:::-;-1:-1:-1;1236:1:282;1232:14;1248:4;1228:25;;1066:193::o;1264:2056::-;1502:6;1510;1518;1526;1579:3;1567:9;1558:7;1554:23;1550:33;1547:53;;;1596:1;1593;1586:12;1547:53;1609:70;1668:9;1655:23;1609:70;:::i;:::-;1711:9;1698:23;1688:33;;1768:2;1757:9;1753:18;1740:32;1730:42;;1819:2;1808:9;1804:18;1791:32;1781:42;;1874:2;1863:9;1859:18;1846:32;1897:18;1938:2;1930:6;1927:14;1924:34;;;1954:1;1951;1944:12;1924:34;1992:6;1981:9;1977:22;1967:32;;2037:7;2030:4;2026:2;2022:13;2018:27;2008:55;;2059:1;2056;2049:12;2008:55;2083:84;2099:67;2162:2;2149:16;2099:67;:::i;:::-;2083:84;:::i;:::-;2213:16;;2201:29;;;2255:2;2246:12;;;;2189:3;2297:1;2293:24;2285:33;;2281:42;2335:19;;;2332:39;;;2367:1;2364;2357:12;2332:39;2399:2;2395;2391:11;2411:879;2427:6;2422:3;2419:15;2411:879;;;2506:2;2500:3;2487:17;2484:25;2481:45;;;2522:1;2519;2512:12;2481:45;2570:3;2557:17;2553:2;2549:26;2615:7;2610:2;2606;2602:11;2598:25;2588:53;;2637:1;2634;2627:12;2588:53;2685:2;2681;2677:11;2664:25;2715:70;2731:53;2781:2;2731:53;:::i;2715:70::-;2829:17;;;2927:1;2923:10;;;;2915:19;;2936:2;2911:28;;2879:2;2868:14;;;2955:21;;;2952:41;;;2989:1;2986;2979:12;2952:41;3027:2;3023;3019:11;3006:24;;3043:174;3061:8;3054:5;3051:19;3043:174;;;3143:19;;3129:34;;3200:2;3082:14;;;;3189;;;;3043:174;;;3230:18;;-1:-1:-1;;3277:2:282;3268:12;;;;2444;;;;;-1:-1:-1;2411:879:282;;;2415:3;;3309:5;3299:15;;;;;;1264:2056;;;;;;;:::o;3325:435::-;3378:3;3416:5;3410:12;3443:6;3438:3;3431:19;3469:4;3498:2;3493:3;3489:12;3482:19;;3535:2;3528:5;3524:14;3556:1;3566:169;3580:6;3577:1;3574:13;3566:169;;;3641:13;;3629:26;;3675:12;;;;3710:15;;;;3602:1;3595:9;3566:169;;;-1:-1:-1;3751:3:282;;3325:435;-1:-1:-1;;;;;3325:435:282:o;3765:465::-;4022:2;4011:9;4004:21;3985:4;4048:56;4100:2;4089:9;4085:18;4077:6;4048:56;:::i;:::-;4152:9;4144:6;4140:22;4135:2;4124:9;4120:18;4113:50;4180:44;4217:6;4209;4180:44;:::i;4235:422::-;4276:3;4314:5;4308:12;4341:6;4336:3;4329:19;4366:1;4376:162;4390:6;4387:1;4384:13;4376:162;;;4452:4;4508:13;;;4504:22;;4498:29;4480:11;;;4476:20;;4469:59;4405:12;4376:162;;;4380:3;4583:1;4576:4;4567:6;4562:3;4558:16;4554:27;4547:38;4646:4;4639:2;4635:7;4630:2;4622:6;4618:15;4614:29;4609:3;4605:39;4601:50;4594:57;;;4235:422;;;;:::o;4662:217::-;4809:2;4798:9;4791:21;4772:4;4829:44;4869:2;4858:9;4854:18;4846:6;4829:44;:::i;4884:127::-;4945:10;4940:3;4936:20;4933:1;4926:31;4976:4;4973:1;4966:15;5000:4;4997:1;4990:15;5315:127;5376:10;5371:3;5367:20;5364:1;5357:31;5407:4;5404:1;5397:15;5431:4;5428:1;5421:15;5447:543;5665:13;;5608:3;;5639;;5718:4;5745:15;;;5608:3;5788:175;5802:6;5799:1;5796:13;5788:175;;;5865:13;;5851:28;;5901:14;;;;5938:15;;;;5824:1;5817:9;5788:175;;;-1:-1:-1;5979:5:282;;5447:543;-1:-1:-1;;;;;;5447:543:282:o;5995:127::-;6056:10;6051:3;6047:20;6044:1;6037:31;6087:4;6084:1;6077:15;6111:4;6108:1;6101:15;6127:367;6369:6;6358:9;6351:25;6412:2;6407;6396:9;6392:18;6385:30;6332:4;6432:56;6484:2;6473:9;6469:18;6461:6;6432:56;:::i;6499:891::-;6594:6;6625:2;6668;6656:9;6647:7;6643:23;6639:32;6636:52;;;6684:1;6681;6674:12;6636:52;6717:9;6711:16;6750:18;6742:6;6739:30;6736:50;;;6782:1;6779;6772:12;6736:50;6805:22;;6858:4;6850:13;;6846:27;-1:-1:-1;6836:55:282;;6887:1;6884;6877:12;6836:55;6916:2;6910:9;6939:70;6955:53;7005:2;6955:53;:::i;6939:70::-;7043:15;;;7125:1;7121:10;;;;7113:19;;7109:28;;;7074:12;;;;7149:19;;;7146:39;;;7181:1;7178;7171:12;7146:39;7205:11;;;;7225:135;7241:6;7236:3;7233:15;7225:135;;;7307:10;;7295:23;;7258:12;;;;7338;;;;7225:135;;7648:127;7709:10;7704:3;7700:20;7697:1;7690:31;7740:4;7737:1;7730:15;7764:4;7761:1;7754:15;7780:135;7819:3;7840:17;;;7837:43;;7860:18;;:::i;:::-;-1:-1:-1;7907:1:282;7896:13;;7780:135::o;8218:184::-;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;-1:-1:-1;8380:16:282;;8218:184;-1:-1:-1;8218:184:282:o;8686:832::-;8954:2;8966:21;;;9036:13;;8939:18;;;9058:22;;;8906:4;;9133;;9111:2;9096:18;;;9160:15;;;8906:4;9203:195;9217:6;9214:1;9211:13;9203:195;;;9282:13;;-1:-1:-1;;;;;9278:39:282;9266:52;;9338:12;;;;9373:15;;;;9314:1;9232:9;9203:195;;;9207:3;;;9443:9;9438:3;9434:19;9429:2;9418:9;9414:18;9407:47;9471:41;9508:3;9500:6;9471:41;:::i;9913:272::-;9983:6;10036:2;10024:9;10015:7;10011:23;10007:32;10004:52;;;10052:1;10049;10042:12;10004:52;10084:9;10078:16;10103:52;10149:5;10103:52;:::i;10190:125::-;10255:9;;;10276:10;;;10273:36;;;10289:18;;:::i;10320:120::-;10360:1;10386;10376:35;;10391:18;;:::i;:::-;-1:-1:-1;10425:9:282;;10320:120::o;10445:422::-;10534:1;10577:5;10534:1;10591:270;10612:7;10602:8;10599:21;10591:270;;;10671:4;10667:1;10663:6;10659:17;10653:4;10650:27;10647:53;;;10680:18;;:::i;:::-;10730:7;10720:8;10716:22;10713:55;;;10750:16;;;;10713:55;10829:22;;;;10789:15;;;;10591:270;;;10595:3;10445:422;;;;;:::o;10872:806::-;10921:5;10951:8;10941:80;;-1:-1:-1;10992:1:282;11006:5;;10941:80;11040:4;11030:76;;-1:-1:-1;11077:1:282;11091:5;;11030:76;11122:4;11140:1;11135:59;;;;11208:1;11203:130;;;;11115:218;;11135:59;11165:1;11156:10;;11179:5;;;11203:130;11240:3;11230:8;11227:17;11224:43;;;11247:18;;:::i;:::-;-1:-1:-1;;11303:1:282;11289:16;;11318:5;;11115:218;;11417:2;11407:8;11404:16;11398:3;11392:4;11389:13;11385:36;11379:2;11369:8;11366:16;11361:2;11355:4;11352:12;11348:35;11345:77;11342:159;;;-1:-1:-1;11454:19:282;;;11486:5;;11342:159;11533:34;11558:8;11552:4;11533:34;:::i;:::-;11603:6;11599:1;11595:6;11591:19;11582:7;11579:32;11576:58;;;11614:18;;:::i;:::-;11652:20;;10872:806;-1:-1:-1;;;10872:806:282:o;11683:131::-;11743:5;11772:36;11799:8;11793:4;11772:36;:::i;11819:112::-;11851:1;11877;11867:35;;11882:18;;:::i;:::-;-1:-1:-1;11916:9:282;;11819:112::o;11936:168::-;12009:9;;;12040;;12057:15;;;12051:22;;12037:37;12027:71;;12078:18;;:::i;12109:128::-;12176:9;;;12197:11;;;12194:37;;;12211:18;;:::i;12622:276::-;12708:6;12761:2;12749:9;12740:7;12736:23;12732:32;12729:52;;;12777:1;12774;12767:12;12729:52;12809:9;12803:16;12848:1;12841:5;12838:12;12828:40;;12864:1;12861;12854:12;13341:358;-1:-1:-1;;;;;13548:32:282;;13530:51;;13617:2;13612;13597:18;;13590:30;;;-1:-1:-1;;13637:56:282;;13674:18;;13666:6;13637:56;:::i;13704:429::-;13968:1;13964;13959:3;13955:11;13951:19;13943:6;13939:32;13928:9;13921:51;14008:6;14003:2;13992:9;13988:18;13981:34;14051:2;14046;14035:9;14031:18;14024:30;13902:4;14071:56;14123:2;14112:9;14108:18;14100:6;14071:56;:::i;14138:179::-;14216:13;;14269:22;14258:34;;14248:45;;14238:73;;14307:1;14304;14297:12;14322:473;14425:6;14433;14441;14449;14457;14510:3;14498:9;14489:7;14485:23;14481:33;14478:53;;;14527:1;14524;14517:12;14478:53;14550:39;14579:9;14550:39;:::i;:::-;14540:49;;14629:2;14618:9;14614:18;14608:25;14598:35;;14673:2;14662:9;14658:18;14652:25;14642:35;;14717:2;14706:9;14702:18;14696:25;14686:35;;14740:49;14784:3;14773:9;14769:19;14740:49;:::i;:::-;14730:59;;14322:473;;;;;;;;:::o;14980:273::-;15048:6;15101:2;15089:9;15080:7;15076:23;15072:32;15069:52;;;15117:1;15114;15107:12;15069:52;15149:9;15143:16;15199:4;15192:5;15188:16;15181:5;15178:27;15168:55;;15219:1;15216;15209:12;15258:140;15316:5;15345:47;15386:4;15376:8;15372:19;15366:4;15345:47;:::i;15925:331::-;16127:2;16109:21;;;16166:1;16146:18;;;16139:29;-1:-1:-1;;;16199:2:282;16184:18;;16177:38;16247:2;16232:18;;15925:331::o;17170:127::-;17231:10;17226:3;17222:20;17219:1;17212:31;17262:4;17259:1;17252:15;17286:4;17283:1;17276:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "eval(address,uint256,uint256,uint256[][])": "6715f825", + "functionPointers()": "f933c72f", + "supportsInterface(bytes4)": "01ffc9a7" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"BadExternResultsLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"MemoryKVPtr\",\"name\":\"ptr\",\"type\":\"uint256\"}],\"name\":\"InvalidPtr\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"}],\"name\":\"NotPosIntPrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Ceil_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp2_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"UD60x18\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Gm_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Log_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Sqrt_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReadError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"staleAfter\",\"type\":\"uint256\"}],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualLength\",\"type\":\"uint256\"}],\"name\":\"UnexpectedResultLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store_\",\"type\":\"address\"},{\"internalType\":\"StateNamespace\",\"name\":\"namespace_\",\"type\":\"uint256\"},{\"internalType\":\"EncodedDispatch\",\"name\":\"dispatch_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[][]\",\"name\":\"context_\",\"type\":\"uint256[][]\"}],\"name\":\"eval\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"functionPointers\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"BadExternResultsLength(uint256,uint256)\":[{\"params\":{\"actual\":\"The length that was returned from the extern.\",\"expected\":\"The length we expected based on the operand.\"}}],\"NotPosIntPrice(int256)\":[{\"params\":{\"price\":\"The price that is not a positive integer.\"}}],\"StalePrice(uint256,uint256)\":[{\"params\":{\"staleAfter\":\"The maximum number of seconds the caller allows between the block timestamp and the updated time.\",\"updatedAt\":\"The latest time the oracle was updated according to the oracle.\"}}]},\"kind\":\"dev\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"params\":{\"context\":\"A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.\",\"dispatch\":\"All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.\",\"namespace\":\"The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.\",\"store\":\"The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`.\"},\"returns\":{\"_0\":\"The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.\",\"_1\":\"A list of pairwise key/value items to be saved in the store.\"}}},\"title\":\"Rainterpreter\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"BadExternResultsLength(uint256,uint256)\":[{\"notice\":\"Thrown when the length of results from an extern don't match what the operand defines. This is bad because it implies our integrity check miscalculated the stack which is undefined behaviour.\"}],\"InvalidPtr(uint256)\":[{\"notice\":\"Thrown when attempting to read a value from the other side of a zero pointer.\"}],\"NotPosIntPrice(int256)\":[{\"notice\":\"Thrown if a price is zero or negative as this is probably not anticipated or useful for most users of a price feed. Of course there are use cases where zero or negative _oracle values_ in general are useful, such as negative temperatures from a thermometer, but these are unlikely to be useful _prices_ for assets. Zero value prices are likely to result in division by zero downstream or giving away assets for free, negative price values could result in even weirder behaviour due to token amounts being `uint256` and the subtleties of signed vs. unsigned integer conversions.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in the fixed-point version of `mulDiv` would overflow uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in `mulDiv` would overflow uint256.\"}],\"PRBMath_UD60x18_Ceil_Overflow(uint256)\":[{\"notice\":\"Emitted when ceiling a number overflows UD60x18.\"}],\"PRBMath_UD60x18_Exp2_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the binary exponent of a base greater than 192.\"}],\"PRBMath_UD60x18_Exp_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the natural exponent of a base greater than 133.084258667509499441.\"}],\"PRBMath_UD60x18_Gm_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when taking the geometric mean of two numbers and multiplying them overflows UD60x18.\"}],\"PRBMath_UD60x18_Log_InputTooSmall(uint256)\":[{\"notice\":\"Emitted when taking the logarithm of a number less than 1.\"}],\"PRBMath_UD60x18_Sqrt_Overflow(uint256)\":[{\"notice\":\"Emitted when calculating the square root overflows UD60x18.\"}],\"ReadError()\":[{\"notice\":\"Thrown if reading a zero length address.\"}],\"StalePrice(uint256,uint256)\":[{\"notice\":\"Thrown when the updatedAt time from the Chainlink oracle is more than staleAfter seconds prior to the current block timestamp. Prevents stale prices from being used within the constraints set by the caller.\"}],\"UnexpectedResultLength(uint256,uint256)\":[{\"notice\":\"Thrown when the length of an array as the result of an applied function does not match expectations.\"}]},\"kind\":\"user\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"notice\":\"The raison d'etre for an interpreter. Given some expression and per-call additional contextual data, produce a stack of results and a set of state changes that the caller MAY OPTIONALLY pass back to be persisted by a call to `IInterpreterStoreV1.set`.\"},\"functionPointers()\":{\"notice\":\"Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \\\"compile\\\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction.\"}},\"notice\":\"Minimal binding of the `IIinterpreterV1` interface to the `LibInterpreterState` library, including every opcode in `AllStandardOps`. This is the default implementation of \\\"an interpreter\\\" but is designed such that other interpreters can easily be developed alongside. Alterpreters can either be built by inheriting and overriding the functions on this contract, or using the relevant libraries to construct an alternative binding to the same interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interpreter/shared/Rainterpreter.sol\":\"Rainterpreter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/\",\":rain.cooldown/=lib/rain.cooldown/src/\",\":rain.math.saturating/=lib/rain.math.saturating/src/\",\":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"contracts/array/LibUint256Array.sol\":{\"keccak256\":\"0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426\",\"dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe\"]},\"contracts/chainlink/LibChainlink.sol\":{\"keccak256\":\"0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9\",\"dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm\"]},\"contracts/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9\",\"dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck\"]},\"contracts/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff\",\"dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh\"]},\"contracts/ierc5313/IERC5313.sol\":{\"keccak256\":\"0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61\",\"dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe\"]},\"contracts/interpreter/caller/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125\",\"dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC\"]},\"contracts/interpreter/deploy/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc\",\"dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw\"]},\"contracts/interpreter/deploy/LibIntegrityCheck.sol\":{\"keccak256\":\"0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a\",\"dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6\"]},\"contracts/interpreter/extern/IInterpreterExternV1.sol\":{\"keccak256\":\"0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99\",\"dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k\"]},\"contracts/interpreter/extern/LibExtern.sol\":{\"keccak256\":\"0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60\",\"dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg\"]},\"contracts/interpreter/ops/AllStandardOps.sol\":{\"keccak256\":\"0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010\",\"dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE\"]},\"contracts/interpreter/ops/bytes32/OpDecode256.sol\":{\"keccak256\":\"0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e\",\"dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b\"]},\"contracts/interpreter/ops/bytes32/OpEncode256.sol\":{\"keccak256\":\"0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54\",\"dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR\"]},\"contracts/interpreter/ops/bytes32/OpExplode32.sol\":{\"keccak256\":\"0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf\",\"dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF\"]},\"contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol\":{\"keccak256\":\"0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d\",\"dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb\"]},\"contracts/interpreter/ops/context/OpContext.sol\":{\"keccak256\":\"0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b\",\"dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ\"]},\"contracts/interpreter/ops/context/OpContextColumnHash.sol\":{\"keccak256\":\"0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda\",\"dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb\"]},\"contracts/interpreter/ops/context/OpContextRow.sol\":{\"keccak256\":\"0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93\",\"dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr\"]},\"contracts/interpreter/ops/context/OpFoldContext.sol\":{\"keccak256\":\"0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050\",\"dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE\"]},\"contracts/interpreter/ops/core/OpCall.sol\":{\"keccak256\":\"0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326\",\"dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj\"]},\"contracts/interpreter/ops/core/OpDebug.sol\":{\"keccak256\":\"0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7\",\"dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp\"]},\"contracts/interpreter/ops/core/OpDoWhile.sol\":{\"keccak256\":\"0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac\",\"dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN\"]},\"contracts/interpreter/ops/core/OpExtern.sol\":{\"keccak256\":\"0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21\",\"dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA\"]},\"contracts/interpreter/ops/core/OpLoopN.sol\":{\"keccak256\":\"0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98\",\"dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g\"]},\"contracts/interpreter/ops/core/OpReadMemory.sol\":{\"keccak256\":\"0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1\",\"dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu\"]},\"contracts/interpreter/ops/crypto/OpHash.sol\":{\"keccak256\":\"0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c\",\"dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol\":{\"keccak256\":\"0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f\",\"dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol\":{\"keccak256\":\"0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943\",\"dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL\"]},\"contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol\":{\"keccak256\":\"0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17\",\"dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj\"]},\"contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol\":{\"keccak256\":\"0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa\",\"dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol\":{\"keccak256\":\"0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6\",\"dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol\":{\"keccak256\":\"0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d\",\"dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU\"]},\"contracts/interpreter/ops/erc5313/OpERC5313Owner.sol\":{\"keccak256\":\"0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d\",\"dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5\"]},\"contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol\":{\"keccak256\":\"0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726\",\"dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw\"]},\"contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol\":{\"keccak256\":\"0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a\",\"dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc\"]},\"contracts/interpreter/ops/error/OpEnsure.sol\":{\"keccak256\":\"0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123\",\"dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL\"]},\"contracts/interpreter/ops/evm/OpBlockNumber.sol\":{\"keccak256\":\"0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166\",\"dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw\"]},\"contracts/interpreter/ops/evm/OpTimestamp.sol\":{\"keccak256\":\"0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3\",\"dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA\"]},\"contracts/interpreter/ops/math/OpAdd.sol\":{\"keccak256\":\"0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722\",\"dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY\"]},\"contracts/interpreter/ops/math/OpDiv.sol\":{\"keccak256\":\"0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df\",\"dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM\"]},\"contracts/interpreter/ops/math/OpExp.sol\":{\"keccak256\":\"0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3\",\"dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW\"]},\"contracts/interpreter/ops/math/OpMax.sol\":{\"keccak256\":\"0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df\",\"dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8\"]},\"contracts/interpreter/ops/math/OpMin.sol\":{\"keccak256\":\"0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455\",\"dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM\"]},\"contracts/interpreter/ops/math/OpMod.sol\":{\"keccak256\":\"0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42\",\"dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V\"]},\"contracts/interpreter/ops/math/OpMul.sol\":{\"keccak256\":\"0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8\",\"dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R\"]},\"contracts/interpreter/ops/math/OpSub.sol\":{\"keccak256\":\"0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1\",\"dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol\":{\"keccak256\":\"0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc\",\"dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol\":{\"keccak256\":\"0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777\",\"dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol\":{\"keccak256\":\"0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937\",\"dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol\":{\"keccak256\":\"0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528\",\"dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol\":{\"keccak256\":\"0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049\",\"dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol\":{\"keccak256\":\"0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa\",\"dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92\"]},\"contracts/interpreter/ops/math/logic/OpAny.sol\":{\"keccak256\":\"0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759\",\"dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV\"]},\"contracts/interpreter/ops/math/logic/OpEagerIf.sol\":{\"keccak256\":\"0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded\",\"dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs\"]},\"contracts/interpreter/ops/math/logic/OpEqualTo.sol\":{\"keccak256\":\"0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574\",\"dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo\"]},\"contracts/interpreter/ops/math/logic/OpEvery.sol\":{\"keccak256\":\"0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63\",\"dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4\"]},\"contracts/interpreter/ops/math/logic/OpGreaterThan.sol\":{\"keccak256\":\"0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005\",\"dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy\"]},\"contracts/interpreter/ops/math/logic/OpIsZero.sol\":{\"keccak256\":\"0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3\",\"dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV\"]},\"contracts/interpreter/ops/math/logic/OpLessThan.sol\":{\"keccak256\":\"0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c\",\"dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP\"]},\"contracts/interpreter/ops/math/prb/OpPRBAvg.sol\":{\"keccak256\":\"0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06\",\"dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp\"]},\"contracts/interpreter/ops/math/prb/OpPRBCeil.sol\":{\"keccak256\":\"0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01\",\"dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD\"]},\"contracts/interpreter/ops/math/prb/OpPRBDiv.sol\":{\"keccak256\":\"0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f\",\"dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp.sol\":{\"keccak256\":\"0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c\",\"dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp2.sol\":{\"keccak256\":\"0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a\",\"dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj\"]},\"contracts/interpreter/ops/math/prb/OpPRBFloor.sol\":{\"keccak256\":\"0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b\",\"dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM\"]},\"contracts/interpreter/ops/math/prb/OpPRBFrac.sol\":{\"keccak256\":\"0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d\",\"dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei\"]},\"contracts/interpreter/ops/math/prb/OpPRBGm.sol\":{\"keccak256\":\"0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e\",\"dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD\"]},\"contracts/interpreter/ops/math/prb/OpPRBInv.sol\":{\"keccak256\":\"0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd\",\"dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d\"]},\"contracts/interpreter/ops/math/prb/OpPRBLn.sol\":{\"keccak256\":\"0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f\",\"dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog10.sol\":{\"keccak256\":\"0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5\",\"dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog2.sol\":{\"keccak256\":\"0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334\",\"dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK\"]},\"contracts/interpreter/ops/math/prb/OpPRBMul.sol\":{\"keccak256\":\"0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79\",\"dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk\"]},\"contracts/interpreter/ops/math/prb/OpPRBPow.sol\":{\"keccak256\":\"0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041\",\"dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P\"]},\"contracts/interpreter/ops/math/prb/OpPRBPowu.sol\":{\"keccak256\":\"0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae\",\"dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb\"]},\"contracts/interpreter/ops/math/prb/OpPRBSqrt.sol\":{\"keccak256\":\"0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538\",\"dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol\":{\"keccak256\":\"0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e\",\"dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol\":{\"keccak256\":\"0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4\",\"dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol\":{\"keccak256\":\"0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c\",\"dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju\"]},\"contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol\":{\"keccak256\":\"0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5\",\"dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol\":{\"keccak256\":\"0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8\",\"dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol\":{\"keccak256\":\"0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8\",\"dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol\":{\"keccak256\":\"0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745\",\"dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol\":{\"keccak256\":\"0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077\",\"dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol\":{\"keccak256\":\"0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3\",\"dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj\"]},\"contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol\":{\"keccak256\":\"0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628\",\"dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW\"]},\"contracts/interpreter/ops/store/OpGet.sol\":{\"keccak256\":\"0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34\",\"dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr\"]},\"contracts/interpreter/ops/store/OpSet.sol\":{\"keccak256\":\"0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489\",\"dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2\"]},\"contracts/interpreter/ops/tier/OpITierV2Report.sol\":{\"keccak256\":\"0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7\",\"dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV\"]},\"contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol\":{\"keccak256\":\"0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9\",\"dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP\"]},\"contracts/interpreter/ops/tier/OpSaturatingDiff.sol\":{\"keccak256\":\"0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463\",\"dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6\"]},\"contracts/interpreter/ops/tier/OpSelectLte.sol\":{\"keccak256\":\"0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026\",\"dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu\"]},\"contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol\":{\"keccak256\":\"0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de\",\"dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy\"]},\"contracts/interpreter/run/IInterpreterV1.sol\":{\"keccak256\":\"0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20\",\"dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY\"]},\"contracts/interpreter/run/LibEncodedDispatch.sol\":{\"keccak256\":\"0xa485b66df77a6f11fb91b4a1cc4f8527384f9fa91fa9f6b4e228a9dc7c5c3744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5e908e90d9f95e1be126c81591069873f92c58d9f7f3fbb8df09290145b2aca5\",\"dweb:/ipfs/QmdQg7mhuWeb9ttq4GEgnfuWaU9K7cVoGJYfZK1NL49Pxy\"]},\"contracts/interpreter/run/LibEvaluable.sol\":{\"keccak256\":\"0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e\",\"dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT\"]},\"contracts/interpreter/run/LibInterpreterState.sol\":{\"keccak256\":\"0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72\",\"dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq\"]},\"contracts/interpreter/run/LibStackPointer.sol\":{\"keccak256\":\"0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e\",\"dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L\"]},\"contracts/interpreter/shared/Rainterpreter.sol\":{\"keccak256\":\"0x73cc4e5cc7b51a4e475e839bb1dd61dbcd43a5e8dd82a08d66c5c3ef8099b1df\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1c1cc6be8afff5f4135853ab9a0fee3d71f41dd75e9889e5c2e477b5b17ca4e0\",\"dweb:/ipfs/QmRYeNTcV4b1kMMrPPfTgbm8QXYsEYJVQYmA2vwcGtLG5S\"]},\"contracts/interpreter/store/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462\",\"dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1\"]},\"contracts/kv/LibMemoryKV.sol\":{\"keccak256\":\"0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7\",\"dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny\"]},\"contracts/math/LibFixedPointMath.sol\":{\"keccak256\":\"0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2\",\"dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4\"]},\"contracts/memory/LibMemorySize.sol\":{\"keccak256\":\"0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451\",\"dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA\"]},\"contracts/orderbook/IOrderBookV1.sol\":{\"keccak256\":\"0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590\",\"dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB\"]},\"contracts/sale/ISaleV2.sol\":{\"keccak256\":\"0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83\",\"dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF\"]},\"contracts/tier/ITierV2.sol\":{\"keccak256\":\"0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c\",\"dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3\"]},\"contracts/tier/libraries/TierConstants.sol\":{\"keccak256\":\"0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2\",\"dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb\"]},\"contracts/tier/libraries/TierReport.sol\":{\"keccak256\":\"0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67\",\"dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt\"]},\"contracts/tier/libraries/TierwiseCombine.sol\":{\"keccak256\":\"0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6\",\"dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK\"]},\"contracts/type/LibCast.sol\":{\"keccak256\":\"0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe\",\"dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo\"]},\"contracts/type/LibConvert.sol\":{\"keccak256\":\"0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75\",\"dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu\"]},\"contracts/verify/IVerifyV1.sol\":{\"keccak256\":\"0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1\",\"dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD\"]},\"lib/rain.math.saturating/src/SaturatingMath.sol\":{\"keccak256\":\"0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b\",\"dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw\"]},\"lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6\",\"dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc\"]},\"lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol\":{\"keccak256\":\"0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8\",\"dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5\"]},\"lib/sol.lib.datacontract/src/LibDataContract.sol\":{\"keccak256\":\"0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a\",\"dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1\"]},\"node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol\":{\"keccak256\":\"0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2\",\"dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093\",\"dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2\",\"dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f\",\"dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195\",\"dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a\",\"dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3\",\"dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol\":{\"keccak256\":\"0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c\",\"dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9\",\"dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade\",\"dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea\",\"dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e\",\"dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416\",\"dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8\",\"dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc\",\"dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537\",\"dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78\",\"dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12\",\"dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35\",\"dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1\",\"dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933\",\"dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70\",\"dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08\",\"dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62\",\"dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d\",\"dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac\",\"dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38\",\"dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3\",\"dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0\",\"dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw\"]},\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d\",\"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.18+commit.87f61d96" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "type": "error", + "name": "BadDynamicLength" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "type": "error", + "name": "BadExternResultsLength" + }, + { + "inputs": [ + { + "internalType": "MemoryKVPtr", + "name": "ptr", + "type": "uint256" + } + ], + "type": "error", + "name": "InvalidPtr" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "type": "error", + "name": "NotPosIntPrice" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_MulDiv18_Overflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_MulDiv_Overflow" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Ceil_Overflow" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Exp2_InputTooBig" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Exp_InputTooBig" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + }, + { + "internalType": "UD60x18", + "name": "y", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Gm_Overflow" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Log_InputTooSmall" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Sqrt_Overflow" + }, + { + "inputs": [], + "type": "error", + "name": "ReadError" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "staleAfter", + "type": "uint256" + } + ], + "type": "error", + "name": "StalePrice" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualLength", + "type": "uint256" + } + ], + "type": "error", + "name": "UnexpectedResultLength" + }, + { + "inputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "store_", + "type": "address" + }, + { + "internalType": "StateNamespace", + "name": "namespace_", + "type": "uint256" + }, + { + "internalType": "EncodedDispatch", + "name": "dispatch_", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "context_", + "type": "uint256[][]" + } + ], + "stateMutability": "view", + "type": "function", + "name": "eval", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "functionPointers", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "eval(address,uint256,uint256,uint256[][])": { + "params": { + "context": "A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.", + "dispatch": "All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.", + "namespace": "The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.", + "store": "The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`." + }, + "returns": { + "_0": "The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.", + "_1": "A list of pairwise key/value items to be saved in the store." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "eval(address,uint256,uint256,uint256[][])": { + "notice": "The raison d'etre for an interpreter. Given some expression and per-call additional contextual data, produce a stack of results and a set of state changes that the caller MAY OPTIONALLY pass back to be persisted by a call to `IInterpreterStoreV1.set`." + }, + "functionPointers()": { + "notice": "Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \"compile\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + ":@chainlink/=node_modules/@chainlink/", + ":@eth-optimism/=node_modules/@eth-optimism/", + ":@openzeppelin/=node_modules/@openzeppelin/", + ":@prb/=node_modules/@prb/", + ":ds-test/=lib/forge-std/lib/ds-test/src/", + ":eth-gas-reporter/=node_modules/eth-gas-reporter/", + ":forge-std/=lib/forge-std/src/", + ":hardhat/=node_modules/hardhat/", + ":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/", + ":rain.cooldown/=lib/rain.cooldown/src/", + ":rain.math.saturating/=lib/rain.math.saturating/src/", + ":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/", + ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", + ":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/", + ":sol.metadata/=lib/sol.metadata/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "contracts/interpreter/shared/Rainterpreter.sol": "Rainterpreter" + }, + "libraries": {} + }, + "sources": { + "contracts/array/LibUint256Array.sol": { + "keccak256": "0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84", + "urls": [ + "bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426", + "dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe" + ], + "license": "CAL" + }, + "contracts/chainlink/LibChainlink.sol": { + "keccak256": "0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b", + "urls": [ + "bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9", + "dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm" + ], + "license": "CAL" + }, + "contracts/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e", + "urls": [ + "bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9", + "dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck" + ], + "license": "CC0" + }, + "contracts/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a", + "urls": [ + "bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff", + "dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh" + ], + "license": "CC0" + }, + "contracts/ierc5313/IERC5313.sol": { + "keccak256": "0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d", + "urls": [ + "bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61", + "dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe" + ], + "license": "CC0-1.0" + }, + "contracts/interpreter/caller/IInterpreterCallerV1.sol": { + "keccak256": "0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece", + "urls": [ + "bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125", + "dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC" + ], + "license": "CAL" + }, + "contracts/interpreter/deploy/IExpressionDeployerV1.sol": { + "keccak256": "0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0", + "urls": [ + "bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc", + "dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw" + ], + "license": "CAL" + }, + "contracts/interpreter/deploy/LibIntegrityCheck.sol": { + "keccak256": "0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad", + "urls": [ + "bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a", + "dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6" + ], + "license": "CAL" + }, + "contracts/interpreter/extern/IInterpreterExternV1.sol": { + "keccak256": "0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90", + "urls": [ + "bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99", + "dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k" + ], + "license": "CAL" + }, + "contracts/interpreter/extern/LibExtern.sol": { + "keccak256": "0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c", + "urls": [ + "bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60", + "dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/AllStandardOps.sol": { + "keccak256": "0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37", + "urls": [ + "bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010", + "dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/bytes32/OpDecode256.sol": { + "keccak256": "0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491", + "urls": [ + "bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e", + "dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/bytes32/OpEncode256.sol": { + "keccak256": "0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb", + "urls": [ + "bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54", + "dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/bytes32/OpExplode32.sol": { + "keccak256": "0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe", + "urls": [ + "bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf", + "dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol": { + "keccak256": "0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c", + "urls": [ + "bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d", + "dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpContext.sol": { + "keccak256": "0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf", + "urls": [ + "bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b", + "dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpContextColumnHash.sol": { + "keccak256": "0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71", + "urls": [ + "bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda", + "dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpContextRow.sol": { + "keccak256": "0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513", + "urls": [ + "bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93", + "dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpFoldContext.sol": { + "keccak256": "0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01", + "urls": [ + "bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050", + "dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpCall.sol": { + "keccak256": "0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76", + "urls": [ + "bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326", + "dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpDebug.sol": { + "keccak256": "0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b", + "urls": [ + "bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7", + "dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpDoWhile.sol": { + "keccak256": "0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb", + "urls": [ + "bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac", + "dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpExtern.sol": { + "keccak256": "0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3", + "urls": [ + "bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21", + "dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpLoopN.sol": { + "keccak256": "0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881", + "urls": [ + "bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98", + "dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpReadMemory.sol": { + "keccak256": "0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9", + "urls": [ + "bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1", + "dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/crypto/OpHash.sol": { + "keccak256": "0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f", + "urls": [ + "bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c", + "dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol": { + "keccak256": "0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb", + "urls": [ + "bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f", + "dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol": { + "keccak256": "0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6", + "urls": [ + "bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943", + "dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol": { + "keccak256": "0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79", + "urls": [ + "bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17", + "dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol": { + "keccak256": "0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7", + "urls": [ + "bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa", + "dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol": { + "keccak256": "0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3", + "urls": [ + "bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6", + "dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol": { + "keccak256": "0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611", + "urls": [ + "bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d", + "dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc5313/OpERC5313Owner.sol": { + "keccak256": "0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7", + "urls": [ + "bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d", + "dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol": { + "keccak256": "0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27", + "urls": [ + "bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726", + "dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol": { + "keccak256": "0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003", + "urls": [ + "bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a", + "dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/error/OpEnsure.sol": { + "keccak256": "0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f", + "urls": [ + "bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123", + "dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/evm/OpBlockNumber.sol": { + "keccak256": "0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367", + "urls": [ + "bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166", + "dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/evm/OpTimestamp.sol": { + "keccak256": "0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d", + "urls": [ + "bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3", + "dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpAdd.sol": { + "keccak256": "0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b", + "urls": [ + "bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722", + "dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpDiv.sol": { + "keccak256": "0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d", + "urls": [ + "bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df", + "dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpExp.sol": { + "keccak256": "0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26", + "urls": [ + "bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3", + "dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMax.sol": { + "keccak256": "0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17", + "urls": [ + "bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df", + "dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMin.sol": { + "keccak256": "0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e", + "urls": [ + "bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455", + "dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMod.sol": { + "keccak256": "0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d", + "urls": [ + "bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42", + "dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMul.sol": { + "keccak256": "0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92", + "urls": [ + "bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8", + "dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpSub.sol": { + "keccak256": "0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc", + "urls": [ + "bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1", + "dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol": { + "keccak256": "0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9", + "urls": [ + "bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc", + "dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol": { + "keccak256": "0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5", + "urls": [ + "bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777", + "dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol": { + "keccak256": "0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b", + "urls": [ + "bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937", + "dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol": { + "keccak256": "0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4", + "urls": [ + "bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528", + "dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol": { + "keccak256": "0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9", + "urls": [ + "bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049", + "dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol": { + "keccak256": "0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad", + "urls": [ + "bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa", + "dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpAny.sol": { + "keccak256": "0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b", + "urls": [ + "bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759", + "dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpEagerIf.sol": { + "keccak256": "0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf", + "urls": [ + "bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded", + "dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpEqualTo.sol": { + "keccak256": "0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea", + "urls": [ + "bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574", + "dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpEvery.sol": { + "keccak256": "0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e", + "urls": [ + "bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63", + "dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpGreaterThan.sol": { + "keccak256": "0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd", + "urls": [ + "bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005", + "dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpIsZero.sol": { + "keccak256": "0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318", + "urls": [ + "bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3", + "dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpLessThan.sol": { + "keccak256": "0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36", + "urls": [ + "bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c", + "dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBAvg.sol": { + "keccak256": "0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf", + "urls": [ + "bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06", + "dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBCeil.sol": { + "keccak256": "0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002", + "urls": [ + "bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01", + "dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBDiv.sol": { + "keccak256": "0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9", + "urls": [ + "bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f", + "dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBExp.sol": { + "keccak256": "0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483", + "urls": [ + "bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c", + "dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBExp2.sol": { + "keccak256": "0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3", + "urls": [ + "bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a", + "dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBFloor.sol": { + "keccak256": "0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd", + "urls": [ + "bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b", + "dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBFrac.sol": { + "keccak256": "0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f", + "urls": [ + "bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d", + "dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBGm.sol": { + "keccak256": "0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3", + "urls": [ + "bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e", + "dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBInv.sol": { + "keccak256": "0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5", + "urls": [ + "bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd", + "dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBLn.sol": { + "keccak256": "0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc", + "urls": [ + "bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f", + "dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBLog10.sol": { + "keccak256": "0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6", + "urls": [ + "bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5", + "dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBLog2.sol": { + "keccak256": "0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8", + "urls": [ + "bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334", + "dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBMul.sol": { + "keccak256": "0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9", + "urls": [ + "bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79", + "dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBPow.sol": { + "keccak256": "0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13", + "urls": [ + "bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041", + "dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBPowu.sol": { + "keccak256": "0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978", + "urls": [ + "bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae", + "dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBSqrt.sol": { + "keccak256": "0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62", + "urls": [ + "bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538", + "dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol": { + "keccak256": "0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3", + "urls": [ + "bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e", + "dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol": { + "keccak256": "0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d", + "urls": [ + "bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4", + "dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol": { + "keccak256": "0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13", + "urls": [ + "bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c", + "dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol": { + "keccak256": "0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220", + "urls": [ + "bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5", + "dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol": { + "keccak256": "0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8", + "urls": [ + "bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8", + "dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol": { + "keccak256": "0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5", + "urls": [ + "bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8", + "dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol": { + "keccak256": "0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b", + "urls": [ + "bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745", + "dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol": { + "keccak256": "0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990", + "urls": [ + "bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077", + "dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol": { + "keccak256": "0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590", + "urls": [ + "bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3", + "dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol": { + "keccak256": "0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718", + "urls": [ + "bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628", + "dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/store/OpGet.sol": { + "keccak256": "0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01", + "urls": [ + "bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34", + "dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/store/OpSet.sol": { + "keccak256": "0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c", + "urls": [ + "bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489", + "dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpITierV2Report.sol": { + "keccak256": "0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef", + "urls": [ + "bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7", + "dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol": { + "keccak256": "0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6", + "urls": [ + "bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9", + "dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpSaturatingDiff.sol": { + "keccak256": "0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0", + "urls": [ + "bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463", + "dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpSelectLte.sol": { + "keccak256": "0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3", + "urls": [ + "bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026", + "dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol": { + "keccak256": "0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167", + "urls": [ + "bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de", + "dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy" + ], + "license": "CAL" + }, + "contracts/interpreter/run/IInterpreterV1.sol": { + "keccak256": "0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774", + "urls": [ + "bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20", + "dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibEncodedDispatch.sol": { + "keccak256": "0xa485b66df77a6f11fb91b4a1cc4f8527384f9fa91fa9f6b4e228a9dc7c5c3744", + "urls": [ + "bzz-raw://5e908e90d9f95e1be126c81591069873f92c58d9f7f3fbb8df09290145b2aca5", + "dweb:/ipfs/QmdQg7mhuWeb9ttq4GEgnfuWaU9K7cVoGJYfZK1NL49Pxy" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibEvaluable.sol": { + "keccak256": "0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb", + "urls": [ + "bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e", + "dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibInterpreterState.sol": { + "keccak256": "0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f", + "urls": [ + "bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72", + "dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibStackPointer.sol": { + "keccak256": "0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69", + "urls": [ + "bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e", + "dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L" + ], + "license": "CAL" + }, + "contracts/interpreter/shared/Rainterpreter.sol": { + "keccak256": "0x73cc4e5cc7b51a4e475e839bb1dd61dbcd43a5e8dd82a08d66c5c3ef8099b1df", + "urls": [ + "bzz-raw://1c1cc6be8afff5f4135853ab9a0fee3d71f41dd75e9889e5c2e477b5b17ca4e0", + "dweb:/ipfs/QmRYeNTcV4b1kMMrPPfTgbm8QXYsEYJVQYmA2vwcGtLG5S" + ], + "license": "CAL" + }, + "contracts/interpreter/store/IInterpreterStoreV1.sol": { + "keccak256": "0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1", + "urls": [ + "bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462", + "dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1" + ], + "license": "CAL" + }, + "contracts/kv/LibMemoryKV.sol": { + "keccak256": "0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969", + "urls": [ + "bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7", + "dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny" + ], + "license": "CAL" + }, + "contracts/math/LibFixedPointMath.sol": { + "keccak256": "0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6", + "urls": [ + "bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2", + "dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4" + ], + "license": "CAL" + }, + "contracts/memory/LibMemorySize.sol": { + "keccak256": "0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5", + "urls": [ + "bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451", + "dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA" + ], + "license": "CAL" + }, + "contracts/orderbook/IOrderBookV1.sol": { + "keccak256": "0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f", + "urls": [ + "bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590", + "dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB" + ], + "license": "CAL" + }, + "contracts/sale/ISaleV2.sol": { + "keccak256": "0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87", + "urls": [ + "bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83", + "dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF" + ], + "license": "CAL" + }, + "contracts/tier/ITierV2.sol": { + "keccak256": "0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2", + "urls": [ + "bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c", + "dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3" + ], + "license": "CAL" + }, + "contracts/tier/libraries/TierConstants.sol": { + "keccak256": "0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c", + "urls": [ + "bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2", + "dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb" + ], + "license": "CAL" + }, + "contracts/tier/libraries/TierReport.sol": { + "keccak256": "0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e", + "urls": [ + "bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67", + "dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt" + ], + "license": "CAL" + }, + "contracts/tier/libraries/TierwiseCombine.sol": { + "keccak256": "0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50", + "urls": [ + "bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6", + "dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK" + ], + "license": "CAL" + }, + "contracts/type/LibCast.sol": { + "keccak256": "0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3", + "urls": [ + "bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe", + "dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo" + ], + "license": "CAL" + }, + "contracts/type/LibConvert.sol": { + "keccak256": "0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de", + "urls": [ + "bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75", + "dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu" + ], + "license": "CAL" + }, + "contracts/verify/IVerifyV1.sol": { + "keccak256": "0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98", + "urls": [ + "bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1", + "dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD" + ], + "license": "CAL" + }, + "lib/rain.math.saturating/src/SaturatingMath.sol": { + "keccak256": "0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165", + "urls": [ + "bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b", + "dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw" + ], + "license": "CAL" + }, + "lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d", + "urls": [ + "bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6", + "dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc" + ], + "license": "CAL" + }, + "lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol": { + "keccak256": "0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212", + "urls": [ + "bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8", + "dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5" + ], + "license": "CAL" + }, + "lib/sol.lib.datacontract/src/LibDataContract.sol": { + "keccak256": "0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510", + "urls": [ + "bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a", + "dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1" + ], + "license": "CAL" + }, + "node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { + "keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", + "urls": [ + "bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", + "dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271", + "urls": [ + "bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618", + "dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol": { + "keccak256": "0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe", + "urls": [ + "bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2", + "dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol": { + "keccak256": "0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42", + "urls": [ + "bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093", + "dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol": { + "keccak256": "0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff", + "urls": [ + "bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2", + "dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol": { + "keccak256": "0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe", + "urls": [ + "bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f", + "dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol": { + "keccak256": "0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb", + "urls": [ + "bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d", + "dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol": { + "keccak256": "0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229", + "urls": [ + "bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195", + "dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol": { + "keccak256": "0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183", + "urls": [ + "bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06", + "dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol": { + "keccak256": "0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26", + "urls": [ + "bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a", + "dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", + "urls": [ + "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", + "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol": { + "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", + "urls": [ + "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", + "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol": { + "keccak256": "0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a", + "urls": [ + "bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3", + "dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol": { + "keccak256": "0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a", + "urls": [ + "bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4", + "dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol": { + "keccak256": "0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b", + "urls": [ + "bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c", + "dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/Common.sol": { + "keccak256": "0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48", + "urls": [ + "bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9", + "dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/Casting.sol": { + "keccak256": "0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c", + "urls": [ + "bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade", + "dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/Constants.sol": { + "keccak256": "0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652", + "urls": [ + "bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea", + "dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/Errors.sol": { + "keccak256": "0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac", + "urls": [ + "bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e", + "dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/ValueType.sol": { + "keccak256": "0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650", + "urls": [ + "bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416", + "dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Casting.sol": { + "keccak256": "0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899", + "urls": [ + "bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8", + "dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Constants.sol": { + "keccak256": "0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46", + "urls": [ + "bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc", + "dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Errors.sol": { + "keccak256": "0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0", + "urls": [ + "bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537", + "dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Helpers.sol": { + "keccak256": "0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559", + "urls": [ + "bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78", + "dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Math.sol": { + "keccak256": "0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee", + "urls": [ + "bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12", + "dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/ValueType.sol": { + "keccak256": "0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b", + "urls": [ + "bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35", + "dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/Casting.sol": { + "keccak256": "0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d", + "urls": [ + "bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1", + "dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/Constants.sol": { + "keccak256": "0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e", + "urls": [ + "bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933", + "dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/Errors.sol": { + "keccak256": "0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3", + "urls": [ + "bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70", + "dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/ValueType.sol": { + "keccak256": "0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518", + "urls": [ + "bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08", + "dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Casting.sol": { + "keccak256": "0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2", + "urls": [ + "bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62", + "dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Constants.sol": { + "keccak256": "0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11", + "urls": [ + "bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d", + "dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Errors.sol": { + "keccak256": "0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563", + "urls": [ + "bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac", + "dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Helpers.sol": { + "keccak256": "0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf", + "urls": [ + "bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38", + "dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Math.sol": { + "keccak256": "0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d", + "urls": [ + "bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3", + "dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/ValueType.sol": { + "keccak256": "0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215", + "urls": [ + "bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0", + "dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw" + ], + "license": "MIT" + }, + "node_modules/hardhat/console.sol": { + "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", + "urls": [ + "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", + "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "contracts/interpreter/shared/Rainterpreter.sol", + "id": 18321, + "exportedSymbols": { + "ALL_STANDARD_OPS_LENGTH": [ + 7182 + ], + "AllStandardOps": [ + 7954 + ], + "BASE_PREFIX": [ + 39210 + ], + "B_1": [ + 38885 + ], + "B_11": [ + 38893 + ], + "B_111": [ + 38901 + ], + "B_1111": [ + 38909 + ], + "B_11111": [ + 38917 + ], + "B_111111": [ + 38925 + ], + "B_1111111": [ + 38933 + ], + "B_11111111": [ + 38941 + ], + "B_111111111": [ + 38949 + ], + "B_1111111111": [ + 38957 + ], + "B_11111111111": [ + 38965 + ], + "B_111111111111": [ + 38973 + ], + "B_1111111111111": [ + 38981 + ], + "B_11111111111111": [ + 38989 + ], + "B_111111111111111": [ + 38997 + ], + "B_1111111111111111": [ + 39005 + ], + "BadDynamicLength": [ + 7178 + ], + "BadExternResultsLength": [ + 9471 + ], + "ClearConfig": [ + 21087 + ], + "ClearStateChange": [ + 21096 + ], + "DEBUG_DELIMETER": [ + 16065 + ], + "DEFAULT_STATE_NAMESPACE": [ + 15858 + ], + "DataContractMemoryContainer": [ + 39216 + ], + "DebugStyle": [ + 16038 + ], + "DepositConfig": [ + 21003 + ], + "DoWhileMaxInputs": [ + 9290 + ], + "EIP5313": [ + 5670 + ], + "ERC20Snapshot": [ + 43266 + ], + "EncodedDispatch": [ + 15846 + ], + "EncodedExternDispatch": [ + 7028 + ], + "Evaluable": [ + 16003 + ], + "EvaluableConfig": [ + 15994 + ], + "ExternDispatch": [ + 7030 + ], + "FP_DECIMALS": [ + 20528 + ], + "FP_ONE": [ + 20532 + ], + "FullyQualifiedNamespace": [ + 19051 + ], + "IERC1155": [ + 41935 + ], + "IERC165": [ + 47118 + ], + "IERC20": [ + 42854 + ], + "IERC3156FlashBorrower": [ + 5623 + ], + "IERC3156FlashLender": [ + 5660 + ], + "IERC721": [ + 45400 + ], + "IExpressionDeployerV1": [ + 6051 + ], + "IInterpreterCallerV1": [ + 5691 + ], + "IInterpreterExternV1": [ + 7045 + ], + "IInterpreterStoreV1": [ + 19083 + ], + "IInterpreterV1": [ + 15889 + ], + "INITIAL_STACK_BOTTOM": [ + 6104 + ], + "IO": [ + 21017 + ], + "IOrderBookV1": [ + 21274 + ], + "ISaleV2": [ + 24440 + ], + "ITierV2": [ + 36050 + ], + "IVerifyV1": [ + 36969 + ], + "InsufficientLoopOutputs": [ + 9696 + ], + "IntegrityCheckState": [ + 6153 + ], + "InterpreterState": [ + 16061 + ], + "InvalidPtr": [ + 19092 + ], + "LibCast": [ + 36870 + ], + "LibChainlink": [ + 474 + ], + "LibConvert": [ + 36909 + ], + "LibDataContract": [ + 39323 + ], + "LibEncodedDispatch": [ + 15980 + ], + "LibEvaluable": [ + 16020 + ], + "LibExtern": [ + 7085 + ], + "LibFixedPointMath": [ + 20834 + ], + "LibIntegrityCheck": [ + 7024 + ], + "LibInterpreterState": [ + 16746 + ], + "LibMemory": [ + 39197 + ], + "LibMemoryKV": [ + 19231 + ], + "LibMemorySize": [ + 20989 + ], + "LibStackPointer": [ + 18069 + ], + "LibUint256Array": [ + 395 + ], + "MASK_10BIT": [ + 39045 + ], + "MASK_11BIT": [ + 39049 + ], + "MASK_12BIT": [ + 39053 + ], + "MASK_13BIT": [ + 39057 + ], + "MASK_14BIT": [ + 39061 + ], + "MASK_15BIT": [ + 39065 + ], + "MASK_16BIT": [ + 39069 + ], + "MASK_1BIT": [ + 39009 + ], + "MASK_2BIT": [ + 39013 + ], + "MASK_3BIT": [ + 39017 + ], + "MASK_4BIT": [ + 39021 + ], + "MASK_5BIT": [ + 39025 + ], + "MASK_6BIT": [ + 39029 + ], + "MASK_7BIT": [ + 39033 + ], + "MASK_8BIT": [ + 39037 + ], + "MASK_9BIT": [ + 39041 + ], + "Math": [ + 48073 + ], + "MemoryKV": [ + 19094 + ], + "MemoryKVKey": [ + 19096 + ], + "MemoryKVPtr": [ + 19098 + ], + "MemoryKVVal": [ + 19100 + ], + "MinFinalStack": [ + 6121 + ], + "MinStackBottom": [ + 6107 + ], + "NO_STORE": [ + 19060 + ], + "OPERAND_MEMORY_TYPE_CONSTANT": [ + 9908 + ], + "OPERAND_MEMORY_TYPE_STACK": [ + 9904 + ], + "OpAdd": [ + 11238 + ], + "OpAny": [ + 12469 + ], + "OpBlockNumber": [ + 11098 + ], + "OpCall": [ + 9198 + ], + "OpChainlinkOraclePrice": [ + 8468 + ], + "OpContext": [ + 8549 + ], + "OpContextColumnHash": [ + 8619 + ], + "OpContextRow": [ + 8715 + ], + "OpDebug": [ + 9277 + ], + "OpDecode256": [ + 8098 + ], + "OpDiv": [ + 11318 + ], + "OpDoWhile": [ + 9457 + ], + "OpERC1155BalanceOf": [ + 10252 + ], + "OpERC1155BalanceOfBatch": [ + 10357 + ], + "OpERC20BalanceOf": [ + 10446 + ], + "OpERC20SnapshotBalanceOfAt": [ + 10618 + ], + "OpERC20SnapshotTotalSupplyAt": [ + 10701 + ], + "OpERC20TotalSupply": [ + 10526 + ], + "OpERC5313Owner": [ + 10788 + ], + "OpERC721BalanceOf": [ + 10877 + ], + "OpERC721OwnerOf": [ + 10966 + ], + "OpEagerIf": [ + 12563 + ], + "OpEncode256": [ + 8260 + ], + "OpEnsure": [ + 11040 + ], + "OpEqualTo": [ + 12636 + ], + "OpEvery": [ + 12752 + ], + "OpExp": [ + 11398 + ], + "OpExplode32": [ + 8386 + ], + "OpExtern": [ + 9681 + ], + "OpFixedPointScale18": [ + 11897 + ], + "OpFixedPointScale18Div": [ + 11990 + ], + "OpFixedPointScale18Dynamic": [ + 12080 + ], + "OpFixedPointScale18Mul": [ + 12173 + ], + "OpFixedPointScaleBy": [ + 12264 + ], + "OpFixedPointScaleN": [ + 12349 + ], + "OpFoldContext": [ + 8953 + ], + "OpGet": [ + 15222 + ], + "OpGreaterThan": [ + 12825 + ], + "OpHash": [ + 10160 + ], + "OpIOrderBookV1VaultBalance": [ + 14556 + ], + "OpISaleV2RemainingTokenInventory": [ + 14636 + ], + "OpISaleV2Reserve": [ + 14722 + ], + "OpISaleV2SaleStatus": [ + 14805 + ], + "OpISaleV2Token": [ + 14891 + ], + "OpISaleV2TotalReserveReceived": [ + 14971 + ], + "OpITierV2Report": [ + 15442 + ], + "OpITierV2ReportTimeForTier": [ + 15549 + ], + "OpIVerifyV1AccountStatusAtTime": [ + 15066 + ], + "OpIsZero": [ + 12896 + ], + "OpLessThan": [ + 12969 + ], + "OpLoopN": [ + 9876 + ], + "OpMax": [ + 11481 + ], + "OpMin": [ + 11564 + ], + "OpMod": [ + 11644 + ], + "OpMul": [ + 11724 + ], + "OpPRBAvg": [ + 13052 + ], + "OpPRBCeil": [ + 13129 + ], + "OpPRBDiv": [ + 13212 + ], + "OpPRBExp": [ + 13289 + ], + "OpPRBExp2": [ + 13366 + ], + "OpPRBFloor": [ + 13443 + ], + "OpPRBFrac": [ + 13520 + ], + "OpPRBGm": [ + 13603 + ], + "OpPRBInv": [ + 13680 + ], + "OpPRBLn": [ + 13757 + ], + "OpPRBLog10": [ + 13834 + ], + "OpPRBLog2": [ + 13911 + ], + "OpPRBMul": [ + 13994 + ], + "OpPRBPow": [ + 14077 + ], + "OpPRBPowu": [ + 14157 + ], + "OpPRBSqrt": [ + 14234 + ], + "OpReadMemory": [ + 10069 + ], + "OpSaturatingAdd": [ + 14306 + ], + "OpSaturatingDiff": [ + 15609 + ], + "OpSaturatingMul": [ + 14378 + ], + "OpSaturatingSub": [ + 14450 + ], + "OpSelectLte": [ + 15746 + ], + "OpSet": [ + 15338 + ], + "OpSub": [ + 11804 + ], + "OpTimestamp": [ + 11156 + ], + "OpUpdateTimesForTierRange": [ + 15839 + ], + "Operand": [ + 15850 + ], + "Order": [ + 21047 + ], + "OrderConfig": [ + 21031 + ], + "OutOfBoundsConstantsRead": [ + 9900 + ], + "OutOfBoundsStackRead": [ + 9893 + ], + "OutOfBoundsTruncate": [ + 8 + ], + "PREFIX_BYTES_LENGTH": [ + 39214 + ], + "Pointer": [ + 39080 + ], + "Rainterpreter": [ + 18320 + ], + "ReadError": [ + 39206 + ], + "SafeCast": [ + 49614 + ], + "SaleStatus": [ + 24409 + ], + "SaturatingMath": [ + 38875 + ], + "SignedContext": [ + 5680 + ], + "SourceIndex": [ + 15844 + ], + "StackPointer": [ + 16760 + ], + "StackPopUnderflow": [ + 6114 + ], + "StateNamespace": [ + 15848 + ], + "TIERWISE_COMBINE_LOGIC_ANY": [ + 36452 + ], + "TIERWISE_COMBINE_LOGIC_EVERY": [ + 36448 + ], + "TIERWISE_COMBINE_MODE_FIRST": [ + 36464 + ], + "TIERWISE_COMBINE_MODE_MAX": [ + 36460 + ], + "TIERWISE_COMBINE_MODE_MIN": [ + 36456 + ], + "TakeOrderConfig": [ + 21074 + ], + "TakeOrdersConfig": [ + 21062 + ], + "TierConstants": [ + 36155 + ], + "TierReport": [ + 36438 + ], + "TierwiseCombine": [ + 36699 + ], + "TruncateError": [ + 39078 + ], + "TruncatedEncoding": [ + 8111 + ], + "UD60x18": [ + 56036 + ], + "UnexpectedResultLength": [ + 16758 + ], + "VerifyStatus": [ + 36958 + ], + "WithdrawConfig": [ + 21010 + ], + "WriteError": [ + 39203 + ], + "ZeroInputs": [ + 15619 + ], + "avg": [ + 55402 + ], + "ceil": [ + 55429 + ], + "console": [ + 64149 + ], + "div": [ + 55457 + ], + "exp": [ + 55500 + ], + "exp2": [ + 55543 + ], + "floor": [ + 55555 + ], + "frac": [ + 55567 + ], + "gm": [ + 55631 + ], + "inv": [ + 55653 + ], + "ln": [ + 55680 + ], + "log10": [ + 55730 + ], + "log2": [ + 55831 + ], + "mul": [ + 55858 + ], + "pow": [ + 55920 + ], + "powu": [ + 55990 + ], + "sqrt": [ + 56029 + ] + }, + "nodeType": "SourceUnit", + "src": "32:3571:120", + "nodes": [ + { + "id": 18071, + "nodeType": "PragmaDirective", + "src": "32:24:120", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".18" + ] + }, + { + "id": 18072, + "nodeType": "ImportDirective", + "src": "58:50:120", + "nodes": [], + "absolutePath": "lib/sol.lib.datacontract/src/LibDataContract.sol", + "file": "sol.lib.datacontract/LibDataContract.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 39324, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18073, + "nodeType": "ImportDirective", + "src": "110:35:120", + "nodes": [], + "absolutePath": "contracts/interpreter/ops/AllStandardOps.sol", + "file": "../ops/AllStandardOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 7955, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18074, + "nodeType": "ImportDirective", + "src": "146:39:120", + "nodes": [], + "absolutePath": "contracts/interpreter/run/LibEncodedDispatch.sol", + "file": "../run/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 15981, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18075, + "nodeType": "ImportDirective", + "src": "186:34:120", + "nodes": [], + "absolutePath": "contracts/kv/LibMemoryKV.sol", + "file": "../../kv/LibMemoryKV.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 19232, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18076, + "nodeType": "ImportDirective", + "src": "221:42:120", + "nodes": [], + "absolutePath": "contracts/interpreter/store/IInterpreterStoreV1.sol", + "file": "../store/IInterpreterStoreV1.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 19084, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18078, + "nodeType": "ImportDirective", + "src": "264:107:120", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 48074, + "symbolAliases": [ + { + "foreign": { + "id": 18077, + "name": "MathUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48073, + "src": "272:15:120", + "typeDescriptions": {} + }, + "local": "Math", + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 18080, + "nodeType": "ImportDirective", + "src": "372:125:120", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 18321, + "sourceUnit": 47119, + "symbolAliases": [ + { + "foreign": { + "id": 18079, + "name": "IERC165Upgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47118, + "src": "380:18:120", + "typeDescriptions": {} + }, + "local": "IERC165", + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 18320, + "nodeType": "ContractDefinition", + "src": "1013:2589:120", + "nodes": [ + { + "id": 18089, + "nodeType": "UsingForDirective", + "src": "1069:39:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18086, + "name": "LibStackPointer", + "nameLocations": [ + "1075:15:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 18069, + "src": "1075:15:120" + }, + "typeName": { + "id": 18088, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18087, + "name": "StackPointer", + "nameLocations": [ + "1095:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "1095:12:120" + }, + "referencedDeclaration": 16760, + "src": "1095:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + } + }, + { + "id": 18092, + "nodeType": "UsingForDirective", + "src": "1113:36:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18090, + "name": "LibInterpreterState", + "nameLocations": [ + "1119:19:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16746, + "src": "1119:19:120" + }, + "typeName": { + "id": 18091, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1143:5:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "id": 18096, + "nodeType": "UsingForDirective", + "src": "1154:47:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18093, + "name": "LibInterpreterState", + "nameLocations": [ + "1160:19:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16746, + "src": "1160:19:120" + }, + "typeName": { + "id": 18095, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18094, + "name": "InterpreterState", + "nameLocations": [ + "1184:16:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16061, + "src": "1184:16:120" + }, + "referencedDeclaration": 16061, + "src": "1184:16:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", + "typeString": "struct InterpreterState" + } + } + }, + { + "id": 18114, + "nodeType": "UsingForDirective", + "src": "1206:121:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18097, + "name": "LibCast", + "nameLocations": [ + "1212:7:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36870, + "src": "1212:7:120" + }, + "typeName": { + "baseType": { + "id": 18112, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 18107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18100, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "1233:23:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState" + }, + "typeName": { + "id": 18099, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18098, + "name": "InterpreterState", + "nameLocations": [ + "1233:16:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16061, + "src": "1233:16:120" + }, + "referencedDeclaration": 16061, + "src": "1233:16:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", + "typeString": "struct InterpreterState" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18103, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "1258:7:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + }, + "typeName": { + "id": 18102, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18101, + "name": "Operand", + "nameLocations": [ + "1258:7:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15850, + "src": "1258:7:120" + }, + "referencedDeclaration": 15850, + "src": "1258:7:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18106, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "1267:12:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18105, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18104, + "name": "StackPointer", + "nameLocations": [ + "1267:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "1267:12:120" + }, + "referencedDeclaration": 16760, + "src": "1267:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "1232:48:120" + }, + "returnParameterTypes": { + "id": 18111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18110, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "1311:12:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18109, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18108, + "name": "StackPointer", + "nameLocations": [ + "1311:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "1311:12:120" + }, + "referencedDeclaration": 16760, + "src": "1311:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "1310:14:120" + }, + "src": "1224:101:120", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)" + }, + "visibility": "internal" + }, + "id": 18113, + "nodeType": "ArrayTypeName", + "src": "1224:102:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" + } + } + }, + { + "id": 18117, + "nodeType": "UsingForDirective", + "src": "1332:23:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18115, + "name": "Math", + "nameLocations": [ + "1338:4:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 48073, + "src": "1338:4:120" + }, + "typeName": { + "id": 18116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1347:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 18121, + "nodeType": "UsingForDirective", + "src": "1360:31:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18118, + "name": "LibMemoryKV", + "nameLocations": [ + "1366:11:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19231, + "src": "1366:11:120" + }, + "typeName": { + "id": 18120, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18119, + "name": "MemoryKV", + "nameLocations": [ + "1382:8:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19094, + "src": "1382:8:120" + }, + "referencedDeclaration": 19094, + "src": "1382:8:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", + "typeString": "MemoryKV" + } + } + }, + { + "id": 18125, + "nodeType": "UsingForDirective", + "src": "1396:34:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18122, + "name": "LibMemoryKV", + "nameLocations": [ + "1402:11:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19231, + "src": "1402:11:120" + }, + "typeName": { + "id": 18124, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18123, + "name": "MemoryKVPtr", + "nameLocations": [ + "1418:11:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19098, + "src": "1418:11:120" + }, + "referencedDeclaration": 19098, + "src": "1418:11:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_MemoryKVPtr_$19098", + "typeString": "MemoryKVPtr" + } + } + }, + { + "id": 18129, + "nodeType": "UsingForDirective", + "src": "1435:45:120", + "nodes": [], + "global": false, + "libraryName": { + "id": 18126, + "name": "LibInterpreterState", + "nameLocations": [ + "1441:19:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16746, + "src": "1441:19:120" + }, + "typeName": { + "id": 18128, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18127, + "name": "StateNamespace", + "nameLocations": [ + "1465:14:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15848, + "src": "1465:14:120" + }, + "referencedDeclaration": 15848, + "src": "1465:14:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + } + } + }, + { + "id": 18152, + "nodeType": "FunctionDefinition", + "src": "1513:247:120", + "nodes": [], + "body": { + "id": 18151, + "nodeType": "Block", + "src": "1619:141:120", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 18142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18137, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18131, + "src": "1648:12:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 18139, + "name": "IInterpreterV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15889, + "src": "1669:14:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$15889_$", + "typeString": "type(contract IInterpreterV1)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$15889_$", + "typeString": "type(contract IInterpreterV1)" + } + ], + "id": 18138, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1664:4:120", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 18140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1664:20:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterV1_$15889", + "typeString": "type(contract IInterpreterV1)" + } + }, + "id": 18141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1685:11:120", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1664:32:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1648:48:120", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 18148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18143, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18131, + "src": "1712:12:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 18145, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47118, + "src": "1733:7:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", + "typeString": "type(contract IERC165Upgradeable)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", + "typeString": "type(contract IERC165Upgradeable)" + } + ], + "id": 18144, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1728:4:120", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 18146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1728:13:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165Upgradeable_$47118", + "typeString": "type(contract IERC165Upgradeable)" + } + }, + "id": 18147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1742:11:120", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1728:25:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1712:41:120", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1648:105:120", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 18136, + "id": 18150, + "nodeType": "Return", + "src": "1629:124:120" + } + ] + }, + "baseFunctions": [ + 47117 + ], + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1522:17:120", + "overrides": { + "id": 18133, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1595:8:120" + }, + "parameters": { + "id": 18132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18131, + "mutability": "mutable", + "name": "interfaceId_", + "nameLocation": "1556:12:120", + "nodeType": "VariableDeclaration", + "scope": 18152, + "src": "1549:19:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 18130, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1549:6:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1539:35:120" + }, + "returnParameters": { + "id": 18136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18135, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18152, + "src": "1613:4:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1613:4:120", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1612:6:120" + }, + "scope": 18320, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 18265, + "nodeType": "FunctionDefinition", + "src": "1801:1172:120", + "nodes": [], + "body": { + "id": 18264, + "nodeType": "Block", + "src": "2023:950:120", + "nodes": [], + "statements": [ + { + "assignments": [ + 18176, + 18179, + 18181 + ], + "declarations": [ + { + "constant": false, + "id": 18176, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "2087:11:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2079:19:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:120", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18179, + "mutability": "mutable", + "name": "sourceIndex_", + "nameLocation": "2124:12:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2112:24:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 18178, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18177, + "name": "SourceIndex", + "nameLocations": [ + "2112:11:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15844, + "src": "2112:11:120" + }, + "referencedDeclaration": 15844, + "src": "2112:11:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18181, + "mutability": "mutable", + "name": "maxOutputs_", + "nameLocation": "2158:11:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2150:19:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2150:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 18186, + "initialValue": { + "arguments": [ + { + "id": 18184, + "name": "dispatch_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18162, + "src": "2208:9:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", + "typeString": "EncodedDispatch" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", + "typeString": "EncodedDispatch" + } + ], + "expression": { + "id": 18182, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15980, + "src": "2182:18:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$15980_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 18183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2201:6:120", + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": 15979, + "src": "2182:25:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_EncodedDispatch_$15846_$returns$_t_address_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_uint256_$", + "typeString": "function (EncodedDispatch) pure returns (address,SourceIndex,uint256)" + } + }, + "id": 18185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2182:36:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_uint256_$", + "typeString": "tuple(address,SourceIndex,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2065:153:120" + }, + { + "assignments": [ + 18189 + ], + "declarations": [ + { + "constant": false, + "id": 18189, + "mutability": "mutable", + "name": "state_", + "nameLocation": "2321:6:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2297:30:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState" + }, + "typeName": { + "id": 18188, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18187, + "name": "InterpreterState", + "nameLocations": [ + "2297:16:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16061, + "src": "2297:16:120" + }, + "referencedDeclaration": 16061, + "src": "2297:16:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", + "typeString": "struct InterpreterState" + } + }, + "visibility": "internal" + } + ], + "id": 18196, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 18192, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18176, + "src": "2364:11:120", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18190, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39323, + "src": "2330:15:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$39323_$", + "typeString": "type(library LibDataContract)" + } + }, + "id": 18191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2359:4:120", + "memberName": "read", + "nodeType": "MemberAccess", + "referencedDeclaration": 39291, + "src": "2330:33:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address) view returns (bytes memory)" + } + }, + "id": 18193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2330:46:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 18194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2390:11:120", + "memberName": "deserialize", + "nodeType": "MemberAccess", + "referencedDeclaration": 16636, + "src": "2330:71:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterState_$16061_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (struct InterpreterState memory)" + } + }, + "id": 18195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2330:73:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2297:106:120" + }, + { + "expression": { + "id": 18204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 18197, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2413:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18199, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2420:7:120", + "memberName": "stateKV", + "nodeType": "MemberAccess", + "referencedDeclaration": 16047, + "src": "2413:14:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", + "typeString": "MemoryKV" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 18202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2444:1:120", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 18200, + "name": "MemoryKV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19094, + "src": "2430:8:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_MemoryKV_$19094_$", + "typeString": "type(MemoryKV)" + } + }, + "id": 18201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2439:4:120", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "2430:13:120", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_MemoryKV_$19094_$", + "typeString": "function (uint256) pure returns (MemoryKV)" + } + }, + "id": 18203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2430:16:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", + "typeString": "MemoryKV" + } + }, + "src": "2413:33:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", + "typeString": "MemoryKV" + } + }, + "id": 18205, + "nodeType": "ExpressionStatement", + "src": "2413:33:120" + }, + { + "expression": { + "id": 18212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 18206, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2456:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2463:9:120", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 16050, + "src": "2456:16:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 18209, + "name": "namespace_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18159, + "src": "2475:10:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + } + }, + "id": 18210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2486:16:120", + "memberName": "qualifyNamespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "2475:27:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_StateNamespace_$15848_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$attached_to$_t_userDefinedValueType$_StateNamespace_$15848_$", + "typeString": "function (StateNamespace) view returns (FullyQualifiedNamespace)" + } + }, + "id": 18211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2475:29:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "src": "2456:48:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "id": 18213, + "nodeType": "ExpressionStatement", + "src": "2456:48:120" + }, + { + "expression": { + "id": 18218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 18214, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2514:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18216, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2521:5:120", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 16053, + "src": "2514:12:120", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 18217, + "name": "store_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18156, + "src": "2529:6:120", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "src": "2514:21:120", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 18219, + "nodeType": "ExpressionStatement", + "src": "2514:21:120" + }, + { + "expression": { + "id": 18224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 18220, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2545:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2552:7:120", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 16057, + "src": "2545:14:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 18223, + "name": "context_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18166, + "src": "2562:8:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "src": "2545:25:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 18225, + "nodeType": "ExpressionStatement", + "src": "2545:25:120" + }, + { + "assignments": [ + 18228 + ], + "declarations": [ + { + "constant": false, + "id": 18228, + "mutability": "mutable", + "name": "stackTop_", + "nameLocation": "2676:9:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2663:22:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18227, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18226, + "name": "StackPointer", + "nameLocations": [ + "2663:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "2663:12:120" + }, + "referencedDeclaration": 16760, + "src": "2663:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "id": 18235, + "initialValue": { + "arguments": [ + { + "id": 18231, + "name": "sourceIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18179, + "src": "2700:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", + "typeString": "SourceIndex" + } + }, + { + "expression": { + "id": 18232, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2714:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2721:11:120", + "memberName": "stackBottom", + "nodeType": "MemberAccess", + "referencedDeclaration": 16041, + "src": "2714:18:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + ], + "expression": { + "id": 18229, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2688:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18230, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2695:4:120", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 16716, + "src": "2688:11:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$attached_to$_t_struct$_InterpreterState_$16061_memory_ptr_$", + "typeString": "function (struct InterpreterState memory,SourceIndex,StackPointer) view returns (StackPointer)" + } + }, + "id": 18234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2688:45:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2663:70:120" + }, + { + "assignments": [ + 18237 + ], + "declarations": [ + { + "constant": false, + "id": 18237, + "mutability": "mutable", + "name": "stackLength_", + "nameLocation": "2751:12:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2743:20:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2743:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 18243, + "initialValue": { + "arguments": [ + { + "id": 18241, + "name": "stackTop_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18228, + "src": "2793:9:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + ], + "expression": { + "expression": { + "id": 18238, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2766:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18239, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2773:11:120", + "memberName": "stackBottom", + "nodeType": "MemberAccess", + "referencedDeclaration": 16041, + "src": "2766:18:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "id": 18240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2785:7:120", + "memberName": "toIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 18068, + "src": "2766:26:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StackPointer_$16760_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (StackPointer,StackPointer) pure returns (uint256)" + } + }, + "id": 18242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2766:37:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2743:60:120" + }, + { + "assignments": [ + null, + 18248 + ], + "declarations": [ + null, + { + "constant": false, + "id": 18248, + "mutability": "mutable", + "name": "tail_", + "nameLocation": "2833:5:120", + "nodeType": "VariableDeclaration", + "scope": 18264, + "src": "2816:22:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2816:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18247, + "nodeType": "ArrayTypeName", + "src": "2816:9:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 18256, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 18253, + "name": "maxOutputs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18181, + "src": "2887:11:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18251, + "name": "stackLength_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18237, + "src": "2870:12:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2883:3:120", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 47251, + "src": "2870:16:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 18254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2870:29:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18249, + "name": "stackTop_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18228, + "src": "2842:9:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "id": 18250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2852:4:120", + "memberName": "list", + "nodeType": "MemberAccess", + "referencedDeclaration": 17814, + "src": "2842:14:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StackPointer_$16760_$_t_uint256_$returns$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (StackPointer,uint256) pure returns (uint256,uint256[] memory)" + } + }, + "id": 18255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2842:67:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2813:96:120" + }, + { + "expression": { + "components": [ + { + "id": 18257, + "name": "tail_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18248, + "src": "2927:5:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 18258, + "name": "state_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "2934:6:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState memory" + } + }, + "id": 18259, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2941:7:120", + "memberName": "stateKV", + "nodeType": "MemberAccess", + "referencedDeclaration": 16047, + "src": "2934:14:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", + "typeString": "MemoryKV" + } + }, + "id": 18260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2949:14:120", + "memberName": "toUint256Array", + "nodeType": "MemberAccess", + "referencedDeclaration": 19230, + "src": "2934:29:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_MemoryKV_$19094_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_MemoryKV_$19094_$", + "typeString": "function (MemoryKV) pure returns (uint256[] memory)" + } + }, + "id": 18261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2934:31:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 18262, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2926:40:120", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 18174, + "id": 18263, + "nodeType": "Return", + "src": "2919:47:120" + } + ] + }, + "baseFunctions": [ + 15888 + ], + "documentation": { + "id": 18153, + "nodeType": "StructuredDocumentation", + "src": "1766:30:120", + "text": "@inheritdoc IInterpreterV1" + }, + "functionSelector": "6715f825", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "eval", + "nameLocation": "1810:4:120", + "parameters": { + "id": 18167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18156, + "mutability": "mutable", + "name": "store_", + "nameLocation": "1844:6:120", + "nodeType": "VariableDeclaration", + "scope": 18265, + "src": "1824:26:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 18155, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18154, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "1824:19:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19083, + "src": "1824:19:120" + }, + "referencedDeclaration": 19083, + "src": "1824:19:120", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18159, + "mutability": "mutable", + "name": "namespace_", + "nameLocation": "1875:10:120", + "nodeType": "VariableDeclaration", + "scope": 18265, + "src": "1860:25:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 18158, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18157, + "name": "StateNamespace", + "nameLocations": [ + "1860:14:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15848, + "src": "1860:14:120" + }, + "referencedDeclaration": 15848, + "src": "1860:14:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18162, + "mutability": "mutable", + "name": "dispatch_", + "nameLocation": "1911:9:120", + "nodeType": "VariableDeclaration", + "scope": 18265, + "src": "1895:25:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 18161, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18160, + "name": "EncodedDispatch", + "nameLocations": [ + "1895:15:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15846, + "src": "1895:15:120" + }, + "referencedDeclaration": 15846, + "src": "1895:15:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18166, + "mutability": "mutable", + "name": "context_", + "nameLocation": "1949:8:120", + "nodeType": "VariableDeclaration", + "scope": 18265, + "src": "1930:27:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 18163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1930:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18164, + "nodeType": "ArrayTypeName", + "src": "1930:9:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 18165, + "nodeType": "ArrayTypeName", + "src": "1930:11:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "src": "1814:149:120" + }, + "returnParameters": { + "id": 18174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18170, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18265, + "src": "1987:16:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1987:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18169, + "nodeType": "ArrayTypeName", + "src": "1987:9:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18173, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18265, + "src": "2005:16:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2005:7:120", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18172, + "nodeType": "ArrayTypeName", + "src": "2005:9:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1986:36:120" + }, + "scope": 18320, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 18319, + "nodeType": "FunctionDefinition", + "src": "3014:586:120", + "nodes": [], + "body": { + "id": 18318, + "nodeType": "Block", + "src": "3087:513:120", + "nodes": [], + "statements": [ + { + "assignments": [ + 18287 + ], + "declarations": [ + { + "constant": false, + "id": 18287, + "mutability": "mutable", + "name": "localPtrs_", + "nameLocation": "3227:10:120", + "nodeType": "VariableDeclaration", + "scope": 18318, + "src": "3097:140:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" + }, + "typeName": { + "baseType": { + "id": 18285, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 18280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18273, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18285, + "src": "3106:23:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState" + }, + "typeName": { + "id": 18272, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18271, + "name": "InterpreterState", + "nameLocations": [ + "3106:16:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16061, + "src": "3106:16:120" + }, + "referencedDeclaration": 16061, + "src": "3106:16:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", + "typeString": "struct InterpreterState" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18276, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18285, + "src": "3131:7:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + }, + "typeName": { + "id": 18275, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18274, + "name": "Operand", + "nameLocations": [ + "3131:7:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15850, + "src": "3131:7:120" + }, + "referencedDeclaration": 15850, + "src": "3131:7:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18279, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18285, + "src": "3140:12:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18278, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18277, + "name": "StackPointer", + "nameLocations": [ + "3140:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "3140:12:120" + }, + "referencedDeclaration": 16760, + "src": "3140:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "3105:48:120" + }, + "returnParameterTypes": { + "id": 18284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18283, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18285, + "src": "3192:12:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18282, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18281, + "name": "StackPointer", + "nameLocations": [ + "3192:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "3192:12:120" + }, + "referencedDeclaration": 16760, + "src": "3192:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "3191:14:120" + }, + "src": "3097:109:120", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)" + }, + "visibility": "internal" + }, + "id": 18286, + "nodeType": "ArrayTypeName", + "src": "3097:110:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" + } + }, + "visibility": "internal" + } + ], + "id": 18307, + "initialValue": { + "arguments": [ + { + "hexValue": "30", + "id": 18305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3393:1:120", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "3240:152:120", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" + }, + "typeName": { + "baseType": { + "id": 18302, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 18297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18290, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18302, + "src": "3270:23:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", + "typeString": "struct InterpreterState" + }, + "typeName": { + "id": 18289, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18288, + "name": "InterpreterState", + "nameLocations": [ + "3270:16:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16061, + "src": "3270:16:120" + }, + "referencedDeclaration": 16061, + "src": "3270:16:120", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", + "typeString": "struct InterpreterState" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18293, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18302, + "src": "3311:7:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + }, + "typeName": { + "id": 18292, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18291, + "name": "Operand", + "nameLocations": [ + "3311:7:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15850, + "src": "3311:7:120" + }, + "referencedDeclaration": 15850, + "src": "3311:7:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18296, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18302, + "src": "3336:12:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18295, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18294, + "name": "StackPointer", + "nameLocations": [ + "3336:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "3336:12:120" + }, + "referencedDeclaration": 16760, + "src": "3336:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "3252:110:120" + }, + "returnParameterTypes": { + "id": 18301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18300, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18302, + "src": "3377:12:120", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18299, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18298, + "name": "StackPointer", + "nameLocations": [ + "3377:12:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "3377:12:120" + }, + "referencedDeclaration": 16760, + "src": "3377:12:120", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "3376:14:120" + }, + "src": "3244:147:120", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)" + }, + "visibility": "internal" + }, + "id": 18303, + "nodeType": "ArrayTypeName", + "src": "3244:148:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", + "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" + } + } + }, + "id": 18306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3240:155:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3097:298:120" + }, + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 18312, + "name": "localPtrs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18287, + "src": "3530:10:120", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + ], + "expression": { + "id": 18310, + "name": "AllStandardOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7954, + "src": "3471:14:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AllStandardOps_$7954_$", + "typeString": "type(library AllStandardOps)" + } + }, + "id": 18311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3507:22:120", + "memberName": "opcodeFunctionPointers", + "nodeType": "MemberAccess", + "referencedDeclaration": 7953, + "src": "3471:58:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", + "typeString": "function (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" + } + }, + "id": 18313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3471:70:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + }, + "id": 18314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3563:14:120", + "memberName": "asUint256Array", + "nodeType": "MemberAccess", + "referencedDeclaration": 36831, + "src": "3471:106:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", + "typeString": "function (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (uint256[] memory)" + } + }, + "id": 18315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3471:108:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 18308, + "name": "LibConvert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36909, + "src": "3424:10:120", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibConvert_$36909_$", + "typeString": "type(library LibConvert)" + } + }, + "id": 18309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3435:18:120", + "memberName": "unsafeTo16BitBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 36908, + "src": "3424:29:120", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256[] memory) pure returns (bytes memory)" + } + }, + "id": 18316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3424:169:120", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 18270, + "id": 18317, + "nodeType": "Return", + "src": "3405:188:120" + } + ] + }, + "baseFunctions": [ + 15865 + ], + "documentation": { + "id": 18266, + "nodeType": "StructuredDocumentation", + "src": "2979:30:120", + "text": "@inheritdoc IInterpreterV1" + }, + "functionSelector": "f933c72f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionPointers", + "nameLocation": "3023:16:120", + "parameters": { + "id": 18267, + "nodeType": "ParameterList", + "parameters": [], + "src": "3039:2:120" + }, + "returnParameters": { + "id": 18270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18269, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18319, + "src": "3073:12:120", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18268, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3073:5:120", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3072:14:120" + }, + "scope": 18320, + "stateMutability": "view", + "virtual": true, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 18082, + "name": "IInterpreterV1", + "nameLocations": [ + "1039:14:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15889, + "src": "1039:14:120" + }, + "id": 18083, + "nodeType": "InheritanceSpecifier", + "src": "1039:14:120" + }, + { + "baseName": { + "id": 18084, + "name": "IERC165", + "nameLocations": [ + "1055:7:120" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47118, + "src": "1055:7:120" + }, + "id": 18085, + "nodeType": "InheritanceSpecifier", + "src": "1055:7:120" + } + ], + "canonicalName": "Rainterpreter", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 18081, + "nodeType": "StructuredDocumentation", + "src": "499:514:120", + "text": "@title Rainterpreter\n @notice Minimal binding of the `IIinterpreterV1` interface to the\n `LibInterpreterState` library, including every opcode in `AllStandardOps`.\n This is the default implementation of \"an interpreter\" but is designed such\n that other interpreters can easily be developed alongside. Alterpreters can\n either be built by inheriting and overriding the functions on this contract,\n or using the relevant libraries to construct an alternative binding to the\n same interface." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 18320, + 47118, + 15889 + ], + "name": "Rainterpreter", + "nameLocation": "1022:13:120", + "scope": 18321, + "usedErrors": [ + 404, + 411, + 7178, + 9471, + 16758, + 19092, + 39206, + 49623, + 49632, + 54845, + 54856, + 54862, + 54871, + 54907, + 54913 + ] + } + ], + "license": "CAL" + }, + "id": 120 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json new file mode 100644 index 0000000000..e1eaabfb02 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json @@ -0,0 +1,9281 @@ +{ + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", + "name": "config_", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "name": "BadDynamicLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + } + ], + "name": "DoWhileMaxInputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputs", + "type": "uint256" + } + ], + "name": "InsufficientLoopOutputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minStackOutputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualStackOutputs", + "type": "uint256" + } + ], + "name": "MinFinalStack", + "type": "error" + }, + { + "inputs": [], + "name": "MinStackBottom", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedEntrypoints", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualEntrypoints", + "type": "uint256" + } + ], + "name": "MissingEntrypoint", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "name": "NotPosIntPrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "constantsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantsRead", + "type": "uint256" + } + ], + "name": "OutOfBoundsConstantsRead", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackRead", + "type": "uint256" + } + ], + "name": "OutOfBoundsStackRead", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv18_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Ceil_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Exp2_InputTooBig", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Exp_InputTooBig", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + }, + { + "internalType": "UD60x18", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Gm_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Log_InputTooSmall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Sqrt_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackHighwaterIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + } + ], + "name": "StackPopUnderflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "staleAfter", + "type": "uint256" + } + ], + "name": "StalePrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "startBit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "TruncatedEncoding", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "name": "UnexpectedInterpreterBytecodeHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualOpMeta", + "type": "bytes32" + } + ], + "name": "UnexpectedOpMetaHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "actualPointers", + "type": "bytes" + } + ], + "name": "UnexpectedPointers", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "name": "UnexpectedStoreBytecodeHash", + "type": "error" + }, + { + "inputs": [], + "name": "WriteError", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroInputs", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "opMeta", + "type": "bytes" + } + ], + "name": "DISpair", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "name": "ExpressionAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "sources", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "name": "NewExpression", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "sources_", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "constants_", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs_", + "type": "uint256[]" + } + ], + "name": "deployExpression", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "interpreter", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "store", + "outputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x60c06040523480156200001157600080fd5b5060405162004c5338038062004c53833981016040819052620000349162000453565b6000816000015190506000816001600160a01b031663f933c72f6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200007e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000a8919081019062000504565b90506040518060e0016040528060a2815260200162004bb160a2913980519060200120818051906020012014620000ff5780604051634c1af20160e11b8152600401620000f6919062000572565b60405180910390fd5b813f7f4f30b99af2f89c83d17ebf25b57e63148560d35bbe92414ecfae8ff0e1c9585581146200014657604051630eec293f60e11b815260048101829052602401620000f6565b6020840151803f7f4f8d49bb4a5da0b67865017e2eff6618b39cd0ecf65c631b9b2a793df2afc7508114620001925760405163cc0415fd60e01b815260048101829052602401620000f6565b604086015180516020909101207fc633bd425d2c692ef398442774a5c7c81427e04268c7169fcd1670f93ada07318114620001e4576040516343d0fe5760e11b815260048101829052602401620000f6565b6001600160a01b03808716608052831660a052865160208801516040808a015190517f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1936200023793339330936200058e565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256310000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002b29160040162000572565b602060405180830381865afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f69190620005d7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200034357600080fd5b505af115801562000358573d6000803e3d6000fd5b5050505050505050505050620005f1565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200039757600080fd5b919050565b60005b83811015620003b95781810151838201526020016200039f565b50506000910152565b600082601f830112620003d457600080fd5b81516001600160401b0380821115620003f157620003f162000369565b604051601f8301601f19908116603f011681019082821181831017156200041c576200041c62000369565b816040528381528660208588010111156200043657600080fd5b620004498460208301602089016200039c565b9695505050505050565b6000602082840312156200046657600080fd5b81516001600160401b03808211156200047e57600080fd5b90830190606082860312156200049357600080fd5b604051606081018181108382111715620004b157620004b162000369565b604052620004bf836200037f565b8152620004cf602084016200037f565b6020820152604083015182811115620004e757600080fd5b620004f587828601620003c2565b60408301525095945050505050565b6000602082840312156200051757600080fd5b81516001600160401b038111156200052e57600080fd5b6200053c84828501620003c2565b949350505050565b600081518084526200055e8160208601602086016200039c565b601f01601f19169290920160200192915050565b60208152600062000587602083018462000544565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005cc9083018462000544565b979650505050505050565b600060208284031215620005ea57600080fd5b5051919050565b60805160a05161458e620006236000396000818160fa0152610355015260008181607e0152610333015261458e6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780633a35cf17146100795780635511cb67146100b8578063975057e7146100f5575b600080fd5b61006461005f366004613d15565b61011c565b60405190151581526020015b60405180910390f35b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610070565b6100cb6100c6366004613e15565b610153565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610070565b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216635511cb6760e01b148061014d57506001600160e01b031982166301ffc9a760e01b145b92915050565b600080600085518451111561018d5783518651604051637d2d70db60e01b8152600481019290925260248201526044015b60405180910390fd5b60006101a1878761019c610386565b6103c8565b604081015160608201519192509060005b875181101561020d5760408401839052606084018290526101fa84826101db6002600019613f8e565b8b85815181106101ed576101ed613fa2565b6020026020010151610465565b508061020581613fb8565b9150506101b2565b50600061022b8460800151856040015161053e90919063ffffffff16565b90507ff66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786338b8b8b604051610262949392919061400c565b60405180910390a16000806102b961027b8d8d86610547565b60408051602c8301601f1916810190915261ffff60e81b600190920160e81b919091166b61000080600c6000396000f360a01b17815290600d820190565b915091506102e2818d8d866040518060e0016040528060a281526020016144b760a291396105c8565b60006102ed8361062d565b604080513381526001600160a01b03831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000009d7f00000000000000000000000000000000000000000000000000000000000000009d50909b509950505050505050505050565b6040805160008082526020820190925260609190816103b6565b613d0b8152602001906001900390816103a05790505b5090506103c281610675565b91505090565b6104016040518060c001604052806060815260200160008152602001600081526020016000815260200160008152602001606081525090565b6040805160c081018252858152845160208201529081016104256002600019613f8e565b815260200161044161043a6002600019613f8e565b601f190190565b81526020016104536002600019613f8e565b815260200183905290505b9392505050565b6000600260001904856040015110156104915760405163271592cf60e01b815260040160405180910390fd5b845160208581029091010151805181015b808210156104fc57600080600484019350835161ffff8116915061ffff8160101c169250506104f38982898c60a0015186815181106104e3576104e3613fa2565b602002602001015163ffffffff16565b965050506104a2565b6040870151602090860304808511156105325760405163f993c6e760e01b81526004810186905260248101829052604401610184565b50939695505050505050565b60209190030490565b6000806105556020826140cb565b9050610565845160209081020190565b61056f90826140cb565b905060005b85518110156105bf576105a186828151811061059257610592613fa2565b60200260200101515160200190565b6105ab90836140cb565b9150806105b781613fb8565b915050610574565b50949350505050565b818552602085016105d98185610957565b9050606060005b8651811015610623578681815181106105fb576105fb613fa2565b6020026020010151915061060f8285610977565b61061983836109b9565b92506001016105e0565b5050505050505050565b6000806000600d9050835160e81c61ffff168101846000f091506001600160a01b03821661066e5760405163046a55db60e11b815260040160405180910390fd5b5092915050565b6060600060405180610a40016040528061068d605190565b67ffffffffffffffff1667ffffffffffffffff1681526020016109d98152602001610a2d8152602001610a778152602001610a8f8152602001610a9e8152602001610a9e8152602001610aaa8152602001610ac38152602001610b178152602001610b8e8152602001610bab8152602001610c028152602001610c648152602001610ce28152602001610d888152602001610d988152602001610da78152602001610db78152602001610dc68152602001610dd58152602001610de48152602001610df38152602001610db78152602001610e028152602001610e118152602001610a9e8152602001610a9e8152602001610e218152602001610e318152602001610e418152602001610e518152602001610e618152602001610e718152602001610e818152602001610e918152602001610ea18152602001610eb08152602001610ebf8152602001610ece8152602001610edd8152602001610eec8152602001610efb8152602001610f0c8152602001610f298152602001610efb8152602001610f388152602001610f478152602001610f568152602001610f658152602001610f748152602001610f838152602001610f928152602001610fa18152602001610fb08152602001610fbf8152602001610fce8152602001610fdd8152602001610fec8152602001610ffb815260200161100a81526020016110198152602001611028815260200161103781526020016110468152602001611055815260200161106581526020016110758152602001611085815260200161109481526020016110a381526020016110b281526020016110c181526020016110d081526020016110df8152602001610aaa81526020016110ee81526020016110fe815260200161110e815260200161111e815260200161112d81526020016111688152509050600061093982611177565b905061094581856111ad565b805b949350505050565b815260200190565b600061045e8261097184518661094f90919063ffffffff16565b906111e3565b815161ffff9061ffff1990840160028481019086015b828110156109b0578051858116600202830151861690851617815260040161098d565b50505050505050565b600061045e826109d384518661094f90919063ffffffff16565b906111fb565b600060ff600884901c81169084166101008183011115610a16576040516316655de160e11b81526004810183905260248101829052604401610184565b610a23868561121561122d565b9695505050505050565b600060ff600884901c81169084166101008183011115610a6a576040516316655de160e11b81526004810183905260248101829052604401610184565b610a238685611243611269565b6000610947610a86858461127a565b85906008611290565b600061094784836112ce611269565b600061094784836112da565b6000613d0b610aba85848361122d565b95945050505050565b6000600f83811690600885811c91821691600c87901c91828401916010600160f81b03169088901b610f0016178117610afd8988866112e9565b9650610b0a898289610b17565b9998505050505050505050565b60408301516060840151600091600f85811692600487901c90911691600887901c91610b448988876112fd565b60408a0152601f19870160608a0152610b5f89848987610465565b50606089018190526040890151610b78908a9086611290565b6040999099019190915250959695505050505050565b6000826003811115610ba257610ba26140de565b50909392505050565b600060ff8316600f8110610bd55760405163316e6a3760e01b815260048101829052602401610184565b60018101600481901b8517610bf7610bee888388610b17565b88906001611317565b979650505050505050565b6020830151600090601f84811691600586901c90911690600a86901c908110610c4e576020870151604051634485473560e11b8152600481019190915260248101829052604401610184565b610bf7610c5c8887866112fd565b889084611290565b6000600c83901c600f80851690600486901c1681811015610ca25760405163508a8d2f60e01b81526004810183905260248101829052604401610184565b6060870151610fff87169060005b85811015610cd45760608a01829052610cca8a848a610b17565b9750600101610cb0565b509598975050505050505050565b600060018381169084901c81610d4a576040860151602090850304808210610d2757604051630e5b9e0b60e11b81526004810182905260248101839052604401610184565b60408701516060880151610d3f916020850201611324565b606088015250610d7e565b85602001518110610d7e576020860151604051634485473560e11b8152600481019190915260248101829052604401610184565b610a2386856112da565b6000610947848361133a8661136b565b6000610947848361137b6113ef565b6000610947848361140086611476565b60006109478483611494611269565b6000610947848361150361122d565b600061094784836115676113ef565b600061094784836115a0611269565b600061094784836115d061122d565b60006109478483611643611269565b600061094784836116bf866116cc565b600061094784836116d98661136b565b600061094784836116e58661136b565b600061094784836116f18661136b565b600061094784836113248661136b565b600061094784836116fd8661136b565b6000610947848361170c8661136b565b600061094784836117188661136b565b600061094784836117248661136b565b6000610947848361173061122d565b60006109478483611757611269565b60006109478483611770611269565b6000610947848361178b611269565b600061094784836117a461122d565b600061094784836117b161122d565b6000613d0b610aba8584838761136b565b6000610947826117be610f208660016140cb565b87929190611476565b600061094784836117ce611269565b600061094784836117d2611269565b600061094784836117d661122d565b600061094784836117da611269565b600061094784836117de611269565b600061094784836117ea61122d565b600061094784836117f5611269565b6000610947848361180161122d565b6000610947848361180c61122d565b6000610947848361181761122d565b6000610947848361182f61122d565b60006109478483611841611269565b6000610947848361184d61122d565b6000610947848361185861122d565b6000610947848361186361122d565b6000610947848361186e61122d565b60006109478483611879611269565b60006109478483611885611269565b60006109478483611891611269565b6000610947848361189d61122d565b600061094784836118a88661136b565b600061094784836118c58661136b565b600061094784836118f68661136b565b6000610947848361190c61199b565b600061094784836119ac61122d565b600061094784836119ec61122d565b60006109478483611a2c61122d565b60006109478483611aa161122d565b60006109478483611ae161122d565b60006109478483611b216113ef565b6000613d0b610aba858483611b5a565b60006109478483611b6886611b99565b60006109478483611bac86611c20565b60006109478483611c33611269565b600060ff83168082036111535760405163904c1f6d60e01b815260040160405180910390fd5b610aba6111618685846112fd565b86906112da565b60006109478483611c92611269565b805181906051146111a857805160405163c8b5690160e01b8152600481019190915260516024820152604401610184565b919050565b6040518251825160208083028601018311156111c857600080fd5b6020810283016040520183526111de8282611caa565b505050565b60006111ef8284611caa565b8151602002830161045e565b600061120c60208301848451611cbe565b8151830161045e565b60ff80831660020a6000190160089390931c161c1690565b600061094761123c858561127a565b85906112da565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b600061094761123c858560026112fd565b601f1901600061128a8383611cfe565b50919050565b6000602082028301925060018211156112bc576112b6601f198401606086015190611324565b60608501525b6112c68484611d49565b509092915050565b600061045e8383611d5e565b602001600061128a8383611d49565b600060208202830192506112c68484611d49565b600081156112c65760208202830392506112c68484611cfe565b6000602082028303610947565b6000818311611333578161045e565b5090919050565b60008160405160200161134d91906140f4565b60408051601f19818403018152919052805160209091012092915050565b6000610aba6111618686856112fd565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610947919061412a565b600061094761123c858560036112fd565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906114319086908690600401614143565b600060405180830381865afa15801561144e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190614199565b6000610aba61148c8686600160028702016112fd565b869084611290565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156114df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045e919061412a565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d919061412a565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e906044016113ae565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d0906024016114c2565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611634919061421f565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa15801561168b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116af919061421f565b6001600160a01b03169392505050565b806116c957600080fd5b50565b6000610aba8585846112fd565b600061045e82846140cb565b600061045e8284613f8e565b600061045e828461432c565b6000818310611333578161045e565b600061045e8284614338565b600061045e828461434c565b600061045e8284614363565b600061045e600184901c60018516600281111561174f5761174f6140de565b849190611e9a565b60006109478282611769868883611e9a565b9190611eeb565b60006109478360018616600281111561174f5761174f6140de565b6000610947828261179d868883611e9a565b9190611f01565b600061045e828483611f17565b600061045e828483611f66565b6060600084116112c65781610947565b1490565b1090565b1590565b1190565b600061045e8383611fa8565b600061014d82611fbb565b600061045e8383612003565b600061014d8261201e565b600061014d8261206d565b6000670de0b6b3a7640000820680151502820361014d565b6000670de0b6b3a7640000820661014d565b600061045e83836120c2565b600061014d82612129565b600061014d8261214c565b600061014d8261217d565b600061014d82612e0f565b600061045e8383612f42565b600061045e8383612f51565b600061045e8383612fae565b600061014d8261300e565b60008282018381106118ba5780610947565b600019949350505050565b6000826000036118d75750600061014d565b828202828482816118ea576118ea613f62565b04036118ba5780610947565b600081831161190657600061045e565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611989919061412a565b6001600160a01b031695945050505050565b600061094761123c858560046112fd565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a909190614376565b600381111561014d5761014d6140de565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc906044016113ae565b6000610947848460026112fd565b604051632235a18160e21b81526000906001600160a01b038516906388d68604906113ae9086908690600401614397565b6000610aba6111618686600286016112fd565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b90611bdf908790879087906004016143bb565b602060405180830381865afa158015611bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba919061412a565b6000610aba6111618686600386016112fd565b60008060015b60088111611c8a576000611c4d8683613064565b90506000611c5b8684613064565b90506000611c6983836118f6565b9050611c798560018603836130ac565b94505060019092019150611c399050565b509392505050565b60006109478385600f16600487901c600f16856130ec565b60006020830190506111de81838551613148565b5b60208110611cde578251825260209283019290910190601f1901611cbf565b80156111de57600019600882021c80835116811985511617835250505050565b81606001518111611d455760608201516040830151602091030460408301516020908303046040516318978cb960e21b815260048101929092526024820152604401610184565b5050565b8160800151811115611d455760809190910152565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc591906143fc565b5093505092505060008213611df057604051633351e26f60e01b815260048101839052602401610184565b83611dfb8242614363565b1115611e24576040516304e61d6960e31b81526004810182905260248101859052604401610184565b610aba856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e89919061444c565b60ff166001611e9785613170565b91905b60008083601203611eae578491505061045e565b8360121115611eda57506012839003611ed2611ecb82600a61432c565b86906118c5565b91505061045e565b506011198301611ed28582856131c6565b600061094784670de0b6b3a7640000858561321e565b60006109478484670de0b6b3a76400008561321e565b60008260000b600003611f2b57508261045e565b60008360000b1315611f5357611f4c611f4584600a61446f565b85906118c5565b905061045e565b60ff600084900316611ed28582856131c6565b60008060128403611f7a578491505061045e565b8360121115611f9457836012039050611ed28582856131c6565b506011198301611ed2611ecb82600a61432c565b6000828280821681831860011c01610aba565b60008167081ad01a501bffff19811115611feb57604051636149f6b960e01b815260048101849052602401610184565b5050670de0b6b3a76400008082068015159103020190565b600061045e61201b84670de0b6b3a76400008561326e565b90565b600081680736ea4425c11ac631811061204d57604051630d7b1d6560e11b815260048101849052602401610184565b6714057b7ef767814f810261094761206d670de0b6b3a7640000835b0490565b600081680a688906bd8b000000811061209c5760405163b3b6ba1f60e01b815260048101849052602401610184565b60006120b4670de0b6b3a7640000604084901b613f8e565b905061094761201b82613342565b600082828115806120d1575080155b156120e15760009250505061014d565b818102818382816120f4576120f4613f62565b041461211d5760405163ae7f3b3760e01b81526004810187905260248101869052604401610184565b610a2361201b82613aa3565b600061014d826ec097ce7bc90715b34b9f10000000008161206957612069613f62565b600061014d6714057b7ef767814f670de0b6b3a764000061216f61201b86612e0f565b028161206957612069613f62565b600081670de0b6b3a76400008110156121ac5760405163036d32ef60e41b815260048101849052602401610184565b82600181146128d857600a81146128e957606481146128fa576103e8811461290b57612710811461291c57620186a0811461292d57620f4240811461293e5762989680811461294f576305f5e100811461296057633b9aca008114612971576402540be40081146129825764174876e80081146129935764e8d4a5100081146129a4576509184e72a00081146129b557655af3107a400081146129c65766038d7ea4c6800081146129d757662386f26fc1000081146129e85767016345785d8a000081146129f957670de0b6b3a76400008114612a0a57678ac7230489e800008114612a135768056bc75e2d631000008114612a2357683635c9adc5dea000008114612a335769021e19e0c9bab24000008114612a435769152d02c7e14af68000008114612a535769d3c21bcecceda10000008114612a63576a084595161401484a0000008114612a73576a52b7d2dcc80cd2e40000008114612a83576b033b2e3c9fd0803ce80000008114612a93576b204fce5e3e250261100000008114612aa3576c01431e0fae6d7217caa00000008114612ab3576c0c9f2c9cd04674edea400000008114612ac3576c7e37be2022c0914b26800000008114612ad3576d04ee2d6d415b85acef81000000008114612ae3576d314dc6448d9338c15b0a000000008114612af3576e01ed09bead87c0378d8e64000000008114612b03576e13426172c74d822b878fe8000000008114612b13576ec097ce7bc90715b34b9f10000000008114612b23576f0785ee10d5da46d900f436a0000000008114612b33576f4b3b4ca85a86c47a098a2240000000008114612b44577002f050fe938943acc45f655680000000008114612b5557701d6329f1c35ca4bfabb9f56100000000008114612b6657710125dfa371a19e6f7cb54395ca00000000008114612b7757710b7abc627050305adf14a3d9e400000000008114612b88577172cb5bd86321e38cb6ce6682e800000000008114612b995772047bf19673df52e37f2410011d1000000000008114612baa57722cd76fe086b93ce2f768a00b22a000000000008114612bbb577301c06a5ec5433c60ddaa16406f5a4000000000008114612bcc5773118427b3b4a05bc8a8a4de8459868000000000008114612bdd5773af298d050e4395d69670b12b7f410000000000008114612bee577406d79f82328ea3da61e066ebb2f88a0000000000008114612bff5774446c3b15f9926687d2c40534fdb5640000000000008114612c10577502ac3a4edbbfb8014e3ba83411e915e80000000000008114612c2157751aba4714957d300d0e549208b31adb100000000000008114612c325776010b46c6cdd6e3e0828f4db456ff0c8ea00000000000008114612c4357760a70c3c40a64e6c51999090b65f67d92400000000000008114612c5457766867a5a867f103b2fffa5a71fba0e7b6800000000000008114612c65577704140c78940f6a24fdffc78873d4490d21000000000000008114612c76577728c87cb5c89a2571ebfdcb54864ada834a000000000000008114612c8757780197d4df19d605767337e9f14d3eec8920e4000000000000008114612c9857780fee50b7025c36a0802f236d04753d5b48e8000000000000008114612ca957789f4f2726179a224501d762422c946590d910000000000000008114612cba5779063917877cec0556b21269d695bdcbf7a87aa0000000000000008114612ccb57793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114612cdc577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114612ced577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008114612cfe577af316271c7fc3908a8bef464e3945ef7a25360a00000000000000008114612d0f577b097edd871cfda3a5697758bf0e3cbb5ac5741c6400000000000000008114612d20577b5ef4a74721e864761ea977768e5f518bb6891be800000000000000008114612d31577c03b58e88c75313ec9d329eaaa18fb92f75215b171000000000000000008114612d42577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a000000000000000008114612d53577d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000008114612d64577d0e7d34c64a9c85d4460dbbca87196b61618a4bd2168000000000000000008114612d75577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e10000000000000000008114612d86577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca0000000000000000008114612d97577e3899162693736ac531a5a58f1fbb4b746504382ca7e40000000000000000008114612da8577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114612db9577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114612dca577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114612ddb576000199250612de8565b67f9ccd8a1c507ffff199250612de8565b67ebec21ee1da3ffff199250612de8565b67de0b6b3a763fffff199250612de8565b67d02ab486cedbffff199250612de8565b67c249fdd32777ffff199250612de8565b67b469471f8013ffff199250612de8565b67a688906bd8afffff199250612de8565b6798a7d9b8314bffff199250612de8565b678ac7230489e7ffff199250612de8565b677ce66c50e283ffff199250612de8565b676f05b59d3b1fffff199250612de8565b676124fee993bbffff199250612de8565b6753444835ec57ffff199250612de8565b674563918244f3ffff199250612de8565b673782dace9d8fffff199250612de8565b6729a2241af62bffff199250612de8565b671bc16d674ec7ffff199250612de8565b670de0b6b3a763ffff199250612de8565b60009250612de8565b670de0b6b3a76400009250612de8565b671bc16d674ec800009250612de8565b6729a2241af62c00009250612de8565b673782dace9d9000009250612de8565b674563918244f400009250612de8565b6753444835ec5800009250612de8565b676124fee993bc00009250612de8565b676f05b59d3b2000009250612de8565b677ce66c50e28400009250612de8565b678ac7230489e800009250612de8565b6798a7d9b8314c00009250612de8565b67a688906bd8b000009250612de8565b67b469471f801400009250612de8565b67c249fdd3277800009250612de8565b67d02ab486cedc00009250612de8565b67de0b6b3a764000009250612de8565b67ebec21ee1da400009250612de8565b67f9ccd8a1c50800009250612de8565b680107ad8f556c6c00009250612de8565b6801158e460913d000009250612de8565b6801236efcbcbb3400009250612de8565b6801314fb370629800009250612de8565b68013f306a2409fc00009250612de8565b68014d1120d7b16000009250612de8565b68015af1d78b58c400009250612de8565b680168d28e3f002800009250612de8565b680176b344f2a78c00009250612de8565b68018493fba64ef000009250612de8565b68019274b259f65400009250612de8565b6801a055690d9db800009250612de8565b6801ae361fc1451c00009250612de8565b6801bc16d674ec8000009250612de8565b6801c9f78d2893e400009250612de8565b6801d7d843dc3b4800009250612de8565b6801e5b8fa8fe2ac00009250612de8565b6801f399b1438a1000009250612de8565b6802017a67f7317400009250612de8565b68020f5b1eaad8d800009250612de8565b68021d3bd55e803c00009250612de8565b68022b1c8c1227a000009250612de8565b680238fd42c5cf0400009250612de8565b680246ddf979766800009250612de8565b680254beb02d1dcc00009250612de8565b6802629f66e0c53000009250612de8565b680270801d946c9400009250612de8565b68027e60d44813f800009250612de8565b68028c418afbbb5c00009250612de8565b68029a2241af62c000009250612de8565b6802a802f8630a2400009250612de8565b6802b5e3af16b18800009250612de8565b6802c3c465ca58ec00009250612de8565b6802d1a51c7e005000009250612de8565b6802df85d331a7b400009250612de8565b6802ed6689e54f1800009250612de8565b6802fb474098f67c00009250612de8565b68030927f74c9de000009250612de8565b68031708ae00454400009250612de8565b680324e964b3eca800009250612de8565b680332ca1b67940c000092505b50600019820361128a5761045e672e19dc008126bf2b670de0b6b3a764000061216f61201b875b600081670de0b6b3a7640000811015612e3e5760405163036d32ef60e41b815260048101849052602401610184565b6000612eca670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff198101612ef35750949350505050565b671bc16d674ec800006706f05b59d3b200005b8015612f3657670de0b6b3a7640000838002049250818310612f2e579283019260019290921c915b60011c612f06565b50919695505050505050565b600061045e61201b8484613c1b565b60008282818303612f7a578015612f69576000612f73565b670de0b6b3a76400005b9250612fa6565b670de0b6b3a76400008103612f9157849250612fa6565b610aba61206d612fa087612e0f565b86612f42565b505092915050565b6000828160018416612fc857670de0b6b3a7640000612fca565b815b9050600184901c93505b831561300857612fe48283613c1b565b91506001841615612ffc57612ff98183613c1b565b90505b600184901c9350612fd4565b80610aba565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f2181111561304e5760405163edc236ad60e01b815260048101849052602401610184565b61045e61201b670de0b6b3a76400008302613aa3565b60008160088111156130885760405162461bcd60e51b81526004016101849061447e565b82600003613099576000915061066e565b5050600019016020021c63ffffffff1690565b60008260088111156130d05760405162461bcd60e51b81526004016101849061447e565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156131105760405162461bcd60e51b81526004016101849061447e565b6000855b8581101561313c5763ffffffff6020820290811b199890981685891b17979150600101613114565b50959695505050505050565b8060200283015b8084101561316a57835183526020938401939092019161314f565b50505050565b6000808212156131c25760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610184565b5090565b6000806131d484600a61432c565b905060006131e28287613f8e565b905060018460028111156131f8576131f86140de565b14801561320e575061320a828261434c565b8614155b15610aba57610a236001826140cb565b60008061322c868686613ccf565b90506001836002811115613242576132426140de565b14801561320e57506000848061325a5761325a613f62565b8688091115610aba57610a236001826140cb565b60008080600019858709858702925082811083820303915050806000036132a85783828161329e5761329e613f62565b049250505061045e565b8381106132d957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610184565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff0000000000000082161561344f576780000000000000008216156133765768016a09e667f3bcc9090260401c5b674000000000000000821615613395576801306fe0a31b7152df0260401c5b6720000000000000008216156133b4576801172b83c7d517adce0260401c5b6710000000000000008216156133d35768010b5586cf9890f62a0260401c5b6708000000000000008216156133f2576801059b0d31585743ae0260401c5b67040000000000000082161561341157680102c9a3e778060ee70260401c5b6702000000000000008216156134305768010163da9fb33356d80260401c5b67010000000000000082161561344f57680100b1afa5abcbed610260401c5b66ff00000000000082161561354e57668000000000000082161561347c5768010058c86da1c09ea20260401c5b664000000000000082161561349a576801002c605e2e8cec500260401c5b66200000000000008216156134b857680100162f3904051fa10260401c5b66100000000000008216156134d6576801000b175effdc76ba0260401c5b66080000000000008216156134f457680100058ba01fb9f96d0260401c5b66040000000000008216156135125768010002c5cc37da94920260401c5b6602000000000000821615613530576801000162e525ee05470260401c5b660100000000000082161561354e5768010000b17255775c040260401c5b65ff00000000008216156136445765800000000000821615613579576801000058b91b5bc9ae0260401c5b6540000000000082161561359657680100002c5c89d5ec6d0260401c5b652000000000008216156135b35768010000162e43f4f8310260401c5b651000000000008216156135d057680100000b1721bcfc9a0260401c5b650800000000008216156135ed5768010000058b90cf1e6e0260401c5b6504000000000082161561360a576801000002c5c863b73f0260401c5b6502000000000082161561362757680100000162e430e5a20260401c5b65010000000000821615613644576801000000b1721835510260401c5b64ff000000008216156137315764800000000082161561366d57680100000058b90c0b490260401c5b6440000000008216156136895768010000002c5c8601cc0260401c5b6420000000008216156136a5576801000000162e42fff00260401c5b6410000000008216156136c15768010000000b17217fbb0260401c5b6408000000008216156136dd576801000000058b90bfce0260401c5b6404000000008216156136f957680100000002c5c85fe30260401c5b6402000000008216156137155768010000000162e42ff10260401c5b64010000000082161561373157680100000000b17217f80260401c5b64ff000000008216156138165763800000008216156137595768010000000058b90bfc0260401c5b6340000000821615613774576801000000002c5c85fe0260401c5b632000000082161561378f57680100000000162e42ff0260401c5b63100000008216156137aa576801000000000b17217f0260401c5b63080000008216156137c557680100000000058b90c00260401c5b63040000008216156137e05768010000000002c5c8600260401c5b63020000008216156137fb576801000000000162e4300260401c5b63010000008216156138165768010000000000b172180260401c5b62ff00008216156138f1576280000082161561383b576801000000000058b90c0260401c5b6240000082161561385557680100000000002c5c860260401c5b6220000082161561386f5768010000000000162e430260401c5b6210000082161561388957680100000000000b17210260401c5b620800008216156138a35768010000000000058b910260401c5b620400008216156138bd576801000000000002c5c80260401c5b620200008216156138d757680100000000000162e40260401c5b620100008216156138f1576801000000000000b1720260401c5b61ff008216156139c35761800082161561391457680100000000000058b90260401c5b61400082161561392d5768010000000000002c5d0260401c5b612000821615613946576801000000000000162e0260401c5b61100082161561395f5768010000000000000b170260401c5b610800821615613978576801000000000000058c0260401c5b61040082161561399157680100000000000002c60260401c5b6102008216156139aa57680100000000000001630260401c5b6101008216156139c357680100000000000000b10260401c5b60ff821615613a8c5760808216156139e457680100000000000000590260401c5b60408216156139fc576801000000000000002c0260401c5b6020821615613a1457680100000000000000160260401c5b6010821615613a2c576801000000000000000b0260401c5b6008821615613a4457680100000000000000060260401c5b6004821615613a5c57680100000000000000030260401c5b6002821615613a7457680100000000000000010260401c5b6001821615613a8c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b600081600003613ab557506000919050565b50600181600160801b8110613acf5760409190911b9060801c5b680100000000000000008110613aea5760209190911b9060401c5b6401000000008110613b015760109190911b9060201c5b620100008110613b165760089190911b9060101c5b6101008110613b2a5760049190911b9060081c5b60108110613b3d5760029190911b9060041c5b60048110613b4d57600182901b91505b6001828481613b5e57613b5e613f62565b048301901c91506001828481613b7657613b76613f62565b048301901c91506001828481613b8e57613b8e613f62565b048301901c91506001828481613ba657613ba6613f62565b048301901c91506001828481613bbe57613bbe613f62565b048301901c91506001828481613bd657613bd6613f62565b048301901c91506001828481613bee57613bee613f62565b048301901c91506000828481613c0657613c06613f62565b049050808310613c14578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a76400008110613c6657604051635173648d60e01b81526004810186905260248101859052604401610184565b6000670de0b6b3a7640000858709905081600003613c92575050670de0b6b3a76400009004905061014d565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b6000808060001985870985870292508281108382030391505080600003613cff5783828161329e5761329e613f62565b8084116132d957600080fd5b613d136144a0565b565b600060208284031215613d2757600080fd5b81356001600160e01b03198116811461045e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613d7e57613d7e613d3f565b604052919050565b600067ffffffffffffffff821115613da057613da0613d3f565b5060051b60200190565b600082601f830112613dbb57600080fd5b81356020613dd0613dcb83613d86565b613d55565b82815260059290921b84018101918181019086841115613def57600080fd5b8286015b84811015613e0a5780358352918301918301613df3565b509695505050505050565b600080600060608486031215613e2a57600080fd5b833567ffffffffffffffff80821115613e4257600080fd5b818601915086601f830112613e5657600080fd5b81356020613e66613dcb83613d86565b82815260059290921b8401810191818101908a841115613e8557600080fd5b8286015b84811015613f1257803586811115613ea15760008081fd5b8701603f81018d13613eb35760008081fd5b84810135604088821115613ec957613ec9613d3f565b613edb601f8301601f19168801613d55565b8281528f82848601011115613ef05760008081fd5b8282850189830137600092810188019290925250845250918301918301613e89565b5097505087013592505080821115613f2957600080fd5b613f3587838801613daa565b93506040860135915080821115613f4b57600080fd5b50613f5886828701613daa565b9150509250925092565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082613f9d57613f9d613f62565b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201613fca57613fca613f78565b5060010190565b600081518084526020808501945080840160005b8381101561400157815187529582019590820190600101613fe5565b509495945050505050565b60006080820160018060a01b0387168352602060808185015281875180845260a08601915060a08160051b87010193508289016000805b8381101561409f57888703609f1901855282518051808952835b81811015614078578281018901518a82018a0152880161405d565b508881018801849052601f01601f1916909701860196509385019391850191600101614043565b50505050505082810360408401526140b78186613fd1565b90508281036060840152610bf78185613fd1565b8082018082111561014d5761014d613f78565b634e487b7160e01b600052602160045260246000fd5b815160009082906020808601845b8381101561411e57815185529382019390820190600101614102565b50929695505050505050565b60006020828403121561413c57600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b828110156141855781516001600160a01b031684529284019290840190600101614160565b50505083810382850152610a238186613fd1565b600060208083850312156141ac57600080fd5b825167ffffffffffffffff8111156141c357600080fd5b8301601f810185136141d457600080fd5b80516141e2613dcb82613d86565b81815260059190911b8201830190838101908783111561420157600080fd5b928401925b82841015610bf757835182529284019290840190614206565b60006020828403121561423157600080fd5b81516001600160a01b038116811461045e57600080fd5b600181815b8085111561428357816000190482111561426957614269613f78565b8085161561427657918102915b93841c939080029061424d565b509250929050565b60008261429a5750600161014d565b816142a75750600061014d565b81600181146142bd57600281146142c7576142e3565b600191505061014d565b60ff8411156142d8576142d8613f78565b50506001821b61014d565b5060208310610133831016604e8410600b8410161715614306575081810a61014d565b6143108383614248565b806000190482111561432457614324613f78565b029392505050565b600061045e838361428b565b60008261434757614347613f62565b500690565b808202811582820484141761014d5761014d613f78565b8181038181111561014d5761014d613f78565b60006020828403121561438857600080fd5b81516004811061045e57600080fd5b6001600160a01b038316815260406020820181905260009061094790830184613fd1565b60018060a01b0384168152826020820152606060408201526000610aba6060830184613fd1565b805169ffffffffffffffffffff811681146111a857600080fd5b600080600080600060a0868803121561441457600080fd5b61441d866143e2565b9450602086015193506040860151925060608601519150614440608087016143e2565b90509295509295909350565b60006020828403121561445e57600080fd5b815160ff8116811461045e57600080fd5b600061045e60ff84168361428b565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfe0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687a264697066735822122005fc8004cc18fb8fb6b9eb7e3de204c7e425c2418148587803f2376f3584ca4664736f6c634300081200330ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687", + "sourceMap": "3472:8711:121:-:0;;;4762:2358;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4864:27;4909:7;:19;;;4864:65;;5085:30;5118:12;-1:-1:-1;;;;;5118:29:121;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5118:31:121;;;;;;;;;;;;:::i;:::-;5085:64;;5218:24;;;;;;;;;;;;;;;;;5208:35;;;;;;5186:17;5176:28;;;;;;:67;5159:164;;5294:17;5275:37;;-1:-1:-1;;;5275:37:121;;;;;;;;:::i;:::-;;;;;;;;5159:164;5488:25;;2495:66;5536:45;;5532:249;;5719:51;;-1:-1:-1;;;5719:51:121;;;;;3231:25:282;;;3204:18;;5719:51:121;3085:177:282;5532:249:121;5897:13;;;;6002:19;;2661:66;6044:33;;6040:225;;6215:39;;-1:-1:-1;;;6215:39:121;;;;;3231:25:282;;;3204:18;;6215:39:121;3085:177:282;6040:225:121;6532:12;;;;6522:23;;;;;;;2813:66;6559:27;;6555:98;;6609:33;;-1:-1:-1;;;6609:33:121;;;;;3231:25:282;;;3204:18;;6609:33:121;3085:177:282;6555:98:121;-1:-1:-1;;;;;6663:26:121;;;;;6699:14;;;;6801:19;;6834:13;;;;6861:12;;;;;6729:154;;;;;;6750:10;;6782:4;;6729:154;:::i;:::-;;;;;;;;7025:37;;;;;;;;;;;;;;;;6976:100;;-1:-1:-1;;;6976:100:121;;368:42:21;;6894:41:121;;6957:4;;368:42:21;;6976:31:121;;:100;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6894:219;;-1:-1:-1;;;;;;6894:219:121;;;;;;;-1:-1:-1;;;;;4521:15:282;;;6894:219:121;;;4503:34:282;4553:18;;;4546:34;7098:4:121;4596:18:282;;;4589:43;4438:18;;6894:219:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4854:2266;;;;;;4762:2358;3472:8711;;14:127:282;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:282;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:250::-;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:282;552:16;;545:27;328:250::o;583:698::-;636:5;689:3;682:4;674:6;670:17;666:27;656:55;;707:1;704;697:12;656:55;730:13;;-1:-1:-1;;;;;792:10:282;;;789:36;;;805:18;;:::i;:::-;880:2;874:9;848:2;934:13;;-1:-1:-1;;930:22:282;;;954:2;926:31;922:40;910:53;;;978:18;;;998:22;;;975:46;972:72;;;1024:18;;:::i;:::-;1064:10;1060:2;1053:22;1099:2;1091:6;1084:18;1145:3;1138:4;1133:2;1125:6;1121:15;1117:26;1114:35;1111:55;;;1162:1;1159;1152:12;1111:55;1175:76;1248:2;1241:4;1233:6;1229:17;1222:4;1214:6;1210:17;1175:76;:::i;:::-;1269:6;583:698;-1:-1:-1;;;;;;583:698:282:o;1286:957::-;1424:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:52;;;1493:1;1490;1483:12;1445:52;1520:16;;-1:-1:-1;;;;;1585:14:282;;;1582:34;;;1612:1;1609;1602:12;1582:34;1635:22;;;;1691:4;1673:16;;;1669:27;1666:47;;;1709:1;1706;1699:12;1666:47;1742:2;1736:9;1784:4;1776:6;1772:17;1839:6;1827:10;1824:22;1819:2;1807:10;1804:18;1801:46;1798:72;;;1850:18;;:::i;:::-;1886:2;1879:22;1925:33;1955:2;1925:33;:::i;:::-;1917:6;1910:49;1992:42;2030:2;2026;2022:11;1992:42;:::i;:::-;1987:2;1979:6;1975:15;1968:67;2074:2;2070;2066:11;2060:18;2103:2;2093:8;2090:16;2087:36;;;2119:1;2116;2109:12;2087:36;2156:55;2203:7;2192:8;2188:2;2184:17;2156:55;:::i;:::-;2151:2;2139:15;;2132:80;-1:-1:-1;2143:6:282;1286:957;-1:-1:-1;;;;;1286:957:282:o;2248:335::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2423:16;;-1:-1:-1;;;;;2451:30:282;;2448:50;;;2494:1;2491;2484:12;2448:50;2517:60;2569:7;2560:6;2549:9;2545:22;2517:60;:::i;:::-;2507:70;2248:335;-1:-1:-1;;;;2248:335:282:o;2588:270::-;2629:3;2667:5;2661:12;2694:6;2689:3;2682:19;2710:76;2779:6;2772:4;2767:3;2763:14;2756:4;2749:5;2745:16;2710:76;:::i;:::-;2840:2;2819:15;-1:-1:-1;;2815:29:282;2806:39;;;;2847:4;2802:50;;2588:270;-1:-1:-1;;2588:270:282:o;2863:217::-;3010:2;2999:9;2992:21;2973:4;3030:44;3070:2;3059:9;3055:18;3047:6;3030:44;:::i;:::-;3022:52;2863:217;-1:-1:-1;;;2863:217:282:o;3267:578::-;-1:-1:-1;;;;;3564:15:282;;;3546:34;;3616:15;;;3611:2;3596:18;;3589:43;3668:15;;;3663:2;3648:18;;3641:43;3720:15;;3715:2;3700:18;;3693:43;3526:3;3767;3752:19;;3745:32;;;3489:4;;3794:45;;3819:19;;3811:6;3794:45;:::i;:::-;3786:53;3267:578;-1:-1:-1;;;;;;;3267:578:282:o;4074:184::-;4144:6;4197:2;4185:9;4176:7;4172:23;4168:32;4165:52;;;4213:1;4210;4203:12;4165:52;-1:-1:-1;4236:16:282;;4074:184;-1:-1:-1;4074:184:282:o;4263:375::-;3472:8711:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780633a35cf17146100795780635511cb67146100b8578063975057e7146100f5575b600080fd5b61006461005f366004613d15565b61011c565b60405190151581526020015b60405180910390f35b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610070565b6100cb6100c6366004613e15565b610153565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610070565b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216635511cb6760e01b148061014d57506001600160e01b031982166301ffc9a760e01b145b92915050565b600080600085518451111561018d5783518651604051637d2d70db60e01b8152600481019290925260248201526044015b60405180910390fd5b60006101a1878761019c610386565b6103c8565b604081015160608201519192509060005b875181101561020d5760408401839052606084018290526101fa84826101db6002600019613f8e565b8b85815181106101ed576101ed613fa2565b6020026020010151610465565b508061020581613fb8565b9150506101b2565b50600061022b8460800151856040015161053e90919063ffffffff16565b90507ff66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786338b8b8b604051610262949392919061400c565b60405180910390a16000806102b961027b8d8d86610547565b60408051602c8301601f1916810190915261ffff60e81b600190920160e81b919091166b61000080600c6000396000f360a01b17815290600d820190565b915091506102e2818d8d866040518060e0016040528060a281526020016144b760a291396105c8565b60006102ed8361062d565b604080513381526001600160a01b03831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000009d7f00000000000000000000000000000000000000000000000000000000000000009d50909b509950505050505050505050565b6040805160008082526020820190925260609190816103b6565b613d0b8152602001906001900390816103a05790505b5090506103c281610675565b91505090565b6104016040518060c001604052806060815260200160008152602001600081526020016000815260200160008152602001606081525090565b6040805160c081018252858152845160208201529081016104256002600019613f8e565b815260200161044161043a6002600019613f8e565b601f190190565b81526020016104536002600019613f8e565b815260200183905290505b9392505050565b6000600260001904856040015110156104915760405163271592cf60e01b815260040160405180910390fd5b845160208581029091010151805181015b808210156104fc57600080600484019350835161ffff8116915061ffff8160101c169250506104f38982898c60a0015186815181106104e3576104e3613fa2565b602002602001015163ffffffff16565b965050506104a2565b6040870151602090860304808511156105325760405163f993c6e760e01b81526004810186905260248101829052604401610184565b50939695505050505050565b60209190030490565b6000806105556020826140cb565b9050610565845160209081020190565b61056f90826140cb565b905060005b85518110156105bf576105a186828151811061059257610592613fa2565b60200260200101515160200190565b6105ab90836140cb565b9150806105b781613fb8565b915050610574565b50949350505050565b818552602085016105d98185610957565b9050606060005b8651811015610623578681815181106105fb576105fb613fa2565b6020026020010151915061060f8285610977565b61061983836109b9565b92506001016105e0565b5050505050505050565b6000806000600d9050835160e81c61ffff168101846000f091506001600160a01b03821661066e5760405163046a55db60e11b815260040160405180910390fd5b5092915050565b6060600060405180610a40016040528061068d605190565b67ffffffffffffffff1667ffffffffffffffff1681526020016109d98152602001610a2d8152602001610a778152602001610a8f8152602001610a9e8152602001610a9e8152602001610aaa8152602001610ac38152602001610b178152602001610b8e8152602001610bab8152602001610c028152602001610c648152602001610ce28152602001610d888152602001610d988152602001610da78152602001610db78152602001610dc68152602001610dd58152602001610de48152602001610df38152602001610db78152602001610e028152602001610e118152602001610a9e8152602001610a9e8152602001610e218152602001610e318152602001610e418152602001610e518152602001610e618152602001610e718152602001610e818152602001610e918152602001610ea18152602001610eb08152602001610ebf8152602001610ece8152602001610edd8152602001610eec8152602001610efb8152602001610f0c8152602001610f298152602001610efb8152602001610f388152602001610f478152602001610f568152602001610f658152602001610f748152602001610f838152602001610f928152602001610fa18152602001610fb08152602001610fbf8152602001610fce8152602001610fdd8152602001610fec8152602001610ffb815260200161100a81526020016110198152602001611028815260200161103781526020016110468152602001611055815260200161106581526020016110758152602001611085815260200161109481526020016110a381526020016110b281526020016110c181526020016110d081526020016110df8152602001610aaa81526020016110ee81526020016110fe815260200161110e815260200161111e815260200161112d81526020016111688152509050600061093982611177565b905061094581856111ad565b805b949350505050565b815260200190565b600061045e8261097184518661094f90919063ffffffff16565b906111e3565b815161ffff9061ffff1990840160028481019086015b828110156109b0578051858116600202830151861690851617815260040161098d565b50505050505050565b600061045e826109d384518661094f90919063ffffffff16565b906111fb565b600060ff600884901c81169084166101008183011115610a16576040516316655de160e11b81526004810183905260248101829052604401610184565b610a23868561121561122d565b9695505050505050565b600060ff600884901c81169084166101008183011115610a6a576040516316655de160e11b81526004810183905260248101829052604401610184565b610a238685611243611269565b6000610947610a86858461127a565b85906008611290565b600061094784836112ce611269565b600061094784836112da565b6000613d0b610aba85848361122d565b95945050505050565b6000600f83811690600885811c91821691600c87901c91828401916010600160f81b03169088901b610f0016178117610afd8988866112e9565b9650610b0a898289610b17565b9998505050505050505050565b60408301516060840151600091600f85811692600487901c90911691600887901c91610b448988876112fd565b60408a0152601f19870160608a0152610b5f89848987610465565b50606089018190526040890151610b78908a9086611290565b6040999099019190915250959695505050505050565b6000826003811115610ba257610ba26140de565b50909392505050565b600060ff8316600f8110610bd55760405163316e6a3760e01b815260048101829052602401610184565b60018101600481901b8517610bf7610bee888388610b17565b88906001611317565b979650505050505050565b6020830151600090601f84811691600586901c90911690600a86901c908110610c4e576020870151604051634485473560e11b8152600481019190915260248101829052604401610184565b610bf7610c5c8887866112fd565b889084611290565b6000600c83901c600f80851690600486901c1681811015610ca25760405163508a8d2f60e01b81526004810183905260248101829052604401610184565b6060870151610fff87169060005b85811015610cd45760608a01829052610cca8a848a610b17565b9750600101610cb0565b509598975050505050505050565b600060018381169084901c81610d4a576040860151602090850304808210610d2757604051630e5b9e0b60e11b81526004810182905260248101839052604401610184565b60408701516060880151610d3f916020850201611324565b606088015250610d7e565b85602001518110610d7e576020860151604051634485473560e11b8152600481019190915260248101829052604401610184565b610a2386856112da565b6000610947848361133a8661136b565b6000610947848361137b6113ef565b6000610947848361140086611476565b60006109478483611494611269565b6000610947848361150361122d565b600061094784836115676113ef565b600061094784836115a0611269565b600061094784836115d061122d565b60006109478483611643611269565b600061094784836116bf866116cc565b600061094784836116d98661136b565b600061094784836116e58661136b565b600061094784836116f18661136b565b600061094784836113248661136b565b600061094784836116fd8661136b565b6000610947848361170c8661136b565b600061094784836117188661136b565b600061094784836117248661136b565b6000610947848361173061122d565b60006109478483611757611269565b60006109478483611770611269565b6000610947848361178b611269565b600061094784836117a461122d565b600061094784836117b161122d565b6000613d0b610aba8584838761136b565b6000610947826117be610f208660016140cb565b87929190611476565b600061094784836117ce611269565b600061094784836117d2611269565b600061094784836117d661122d565b600061094784836117da611269565b600061094784836117de611269565b600061094784836117ea61122d565b600061094784836117f5611269565b6000610947848361180161122d565b6000610947848361180c61122d565b6000610947848361181761122d565b6000610947848361182f61122d565b60006109478483611841611269565b6000610947848361184d61122d565b6000610947848361185861122d565b6000610947848361186361122d565b6000610947848361186e61122d565b60006109478483611879611269565b60006109478483611885611269565b60006109478483611891611269565b6000610947848361189d61122d565b600061094784836118a88661136b565b600061094784836118c58661136b565b600061094784836118f68661136b565b6000610947848361190c61199b565b600061094784836119ac61122d565b600061094784836119ec61122d565b60006109478483611a2c61122d565b60006109478483611aa161122d565b60006109478483611ae161122d565b60006109478483611b216113ef565b6000613d0b610aba858483611b5a565b60006109478483611b6886611b99565b60006109478483611bac86611c20565b60006109478483611c33611269565b600060ff83168082036111535760405163904c1f6d60e01b815260040160405180910390fd5b610aba6111618685846112fd565b86906112da565b60006109478483611c92611269565b805181906051146111a857805160405163c8b5690160e01b8152600481019190915260516024820152604401610184565b919050565b6040518251825160208083028601018311156111c857600080fd5b6020810283016040520183526111de8282611caa565b505050565b60006111ef8284611caa565b8151602002830161045e565b600061120c60208301848451611cbe565b8151830161045e565b60ff80831660020a6000190160089390931c161c1690565b600061094761123c858561127a565b85906112da565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b600061094761123c858560026112fd565b601f1901600061128a8383611cfe565b50919050565b6000602082028301925060018211156112bc576112b6601f198401606086015190611324565b60608501525b6112c68484611d49565b509092915050565b600061045e8383611d5e565b602001600061128a8383611d49565b600060208202830192506112c68484611d49565b600081156112c65760208202830392506112c68484611cfe565b6000602082028303610947565b6000818311611333578161045e565b5090919050565b60008160405160200161134d91906140f4565b60408051601f19818403018152919052805160209091012092915050565b6000610aba6111618686856112fd565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610947919061412a565b600061094761123c858560036112fd565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906114319086908690600401614143565b600060405180830381865afa15801561144e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190614199565b6000610aba61148c8686600160028702016112fd565b869084611290565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156114df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045e919061412a565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d919061412a565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e906044016113ae565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d0906024016114c2565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611634919061421f565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa15801561168b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116af919061421f565b6001600160a01b03169392505050565b806116c957600080fd5b50565b6000610aba8585846112fd565b600061045e82846140cb565b600061045e8284613f8e565b600061045e828461432c565b6000818310611333578161045e565b600061045e8284614338565b600061045e828461434c565b600061045e8284614363565b600061045e600184901c60018516600281111561174f5761174f6140de565b849190611e9a565b60006109478282611769868883611e9a565b9190611eeb565b60006109478360018616600281111561174f5761174f6140de565b6000610947828261179d868883611e9a565b9190611f01565b600061045e828483611f17565b600061045e828483611f66565b6060600084116112c65781610947565b1490565b1090565b1590565b1190565b600061045e8383611fa8565b600061014d82611fbb565b600061045e8383612003565b600061014d8261201e565b600061014d8261206d565b6000670de0b6b3a7640000820680151502820361014d565b6000670de0b6b3a7640000820661014d565b600061045e83836120c2565b600061014d82612129565b600061014d8261214c565b600061014d8261217d565b600061014d82612e0f565b600061045e8383612f42565b600061045e8383612f51565b600061045e8383612fae565b600061014d8261300e565b60008282018381106118ba5780610947565b600019949350505050565b6000826000036118d75750600061014d565b828202828482816118ea576118ea613f62565b04036118ba5780610947565b600081831161190657600061045e565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611989919061412a565b6001600160a01b031695945050505050565b600061094761123c858560046112fd565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a909190614376565b600381111561014d5761014d6140de565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc906044016113ae565b6000610947848460026112fd565b604051632235a18160e21b81526000906001600160a01b038516906388d68604906113ae9086908690600401614397565b6000610aba6111618686600286016112fd565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b90611bdf908790879087906004016143bb565b602060405180830381865afa158015611bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba919061412a565b6000610aba6111618686600386016112fd565b60008060015b60088111611c8a576000611c4d8683613064565b90506000611c5b8684613064565b90506000611c6983836118f6565b9050611c798560018603836130ac565b94505060019092019150611c399050565b509392505050565b60006109478385600f16600487901c600f16856130ec565b60006020830190506111de81838551613148565b5b60208110611cde578251825260209283019290910190601f1901611cbf565b80156111de57600019600882021c80835116811985511617835250505050565b81606001518111611d455760608201516040830151602091030460408301516020908303046040516318978cb960e21b815260048101929092526024820152604401610184565b5050565b8160800151811115611d455760809190910152565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc591906143fc565b5093505092505060008213611df057604051633351e26f60e01b815260048101839052602401610184565b83611dfb8242614363565b1115611e24576040516304e61d6960e31b81526004810182905260248101859052604401610184565b610aba856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e89919061444c565b60ff166001611e9785613170565b91905b60008083601203611eae578491505061045e565b8360121115611eda57506012839003611ed2611ecb82600a61432c565b86906118c5565b91505061045e565b506011198301611ed28582856131c6565b600061094784670de0b6b3a7640000858561321e565b60006109478484670de0b6b3a76400008561321e565b60008260000b600003611f2b57508261045e565b60008360000b1315611f5357611f4c611f4584600a61446f565b85906118c5565b905061045e565b60ff600084900316611ed28582856131c6565b60008060128403611f7a578491505061045e565b8360121115611f9457836012039050611ed28582856131c6565b506011198301611ed2611ecb82600a61432c565b6000828280821681831860011c01610aba565b60008167081ad01a501bffff19811115611feb57604051636149f6b960e01b815260048101849052602401610184565b5050670de0b6b3a76400008082068015159103020190565b600061045e61201b84670de0b6b3a76400008561326e565b90565b600081680736ea4425c11ac631811061204d57604051630d7b1d6560e11b815260048101849052602401610184565b6714057b7ef767814f810261094761206d670de0b6b3a7640000835b0490565b600081680a688906bd8b000000811061209c5760405163b3b6ba1f60e01b815260048101849052602401610184565b60006120b4670de0b6b3a7640000604084901b613f8e565b905061094761201b82613342565b600082828115806120d1575080155b156120e15760009250505061014d565b818102818382816120f4576120f4613f62565b041461211d5760405163ae7f3b3760e01b81526004810187905260248101869052604401610184565b610a2361201b82613aa3565b600061014d826ec097ce7bc90715b34b9f10000000008161206957612069613f62565b600061014d6714057b7ef767814f670de0b6b3a764000061216f61201b86612e0f565b028161206957612069613f62565b600081670de0b6b3a76400008110156121ac5760405163036d32ef60e41b815260048101849052602401610184565b82600181146128d857600a81146128e957606481146128fa576103e8811461290b57612710811461291c57620186a0811461292d57620f4240811461293e5762989680811461294f576305f5e100811461296057633b9aca008114612971576402540be40081146129825764174876e80081146129935764e8d4a5100081146129a4576509184e72a00081146129b557655af3107a400081146129c65766038d7ea4c6800081146129d757662386f26fc1000081146129e85767016345785d8a000081146129f957670de0b6b3a76400008114612a0a57678ac7230489e800008114612a135768056bc75e2d631000008114612a2357683635c9adc5dea000008114612a335769021e19e0c9bab24000008114612a435769152d02c7e14af68000008114612a535769d3c21bcecceda10000008114612a63576a084595161401484a0000008114612a73576a52b7d2dcc80cd2e40000008114612a83576b033b2e3c9fd0803ce80000008114612a93576b204fce5e3e250261100000008114612aa3576c01431e0fae6d7217caa00000008114612ab3576c0c9f2c9cd04674edea400000008114612ac3576c7e37be2022c0914b26800000008114612ad3576d04ee2d6d415b85acef81000000008114612ae3576d314dc6448d9338c15b0a000000008114612af3576e01ed09bead87c0378d8e64000000008114612b03576e13426172c74d822b878fe8000000008114612b13576ec097ce7bc90715b34b9f10000000008114612b23576f0785ee10d5da46d900f436a0000000008114612b33576f4b3b4ca85a86c47a098a2240000000008114612b44577002f050fe938943acc45f655680000000008114612b5557701d6329f1c35ca4bfabb9f56100000000008114612b6657710125dfa371a19e6f7cb54395ca00000000008114612b7757710b7abc627050305adf14a3d9e400000000008114612b88577172cb5bd86321e38cb6ce6682e800000000008114612b995772047bf19673df52e37f2410011d1000000000008114612baa57722cd76fe086b93ce2f768a00b22a000000000008114612bbb577301c06a5ec5433c60ddaa16406f5a4000000000008114612bcc5773118427b3b4a05bc8a8a4de8459868000000000008114612bdd5773af298d050e4395d69670b12b7f410000000000008114612bee577406d79f82328ea3da61e066ebb2f88a0000000000008114612bff5774446c3b15f9926687d2c40534fdb5640000000000008114612c10577502ac3a4edbbfb8014e3ba83411e915e80000000000008114612c2157751aba4714957d300d0e549208b31adb100000000000008114612c325776010b46c6cdd6e3e0828f4db456ff0c8ea00000000000008114612c4357760a70c3c40a64e6c51999090b65f67d92400000000000008114612c5457766867a5a867f103b2fffa5a71fba0e7b6800000000000008114612c65577704140c78940f6a24fdffc78873d4490d21000000000000008114612c76577728c87cb5c89a2571ebfdcb54864ada834a000000000000008114612c8757780197d4df19d605767337e9f14d3eec8920e4000000000000008114612c9857780fee50b7025c36a0802f236d04753d5b48e8000000000000008114612ca957789f4f2726179a224501d762422c946590d910000000000000008114612cba5779063917877cec0556b21269d695bdcbf7a87aa0000000000000008114612ccb57793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114612cdc577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114612ced577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008114612cfe577af316271c7fc3908a8bef464e3945ef7a25360a00000000000000008114612d0f577b097edd871cfda3a5697758bf0e3cbb5ac5741c6400000000000000008114612d20577b5ef4a74721e864761ea977768e5f518bb6891be800000000000000008114612d31577c03b58e88c75313ec9d329eaaa18fb92f75215b171000000000000000008114612d42577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a000000000000000008114612d53577d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000008114612d64577d0e7d34c64a9c85d4460dbbca87196b61618a4bd2168000000000000000008114612d75577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e10000000000000000008114612d86577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca0000000000000000008114612d97577e3899162693736ac531a5a58f1fbb4b746504382ca7e40000000000000000008114612da8577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114612db9577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114612dca577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114612ddb576000199250612de8565b67f9ccd8a1c507ffff199250612de8565b67ebec21ee1da3ffff199250612de8565b67de0b6b3a763fffff199250612de8565b67d02ab486cedbffff199250612de8565b67c249fdd32777ffff199250612de8565b67b469471f8013ffff199250612de8565b67a688906bd8afffff199250612de8565b6798a7d9b8314bffff199250612de8565b678ac7230489e7ffff199250612de8565b677ce66c50e283ffff199250612de8565b676f05b59d3b1fffff199250612de8565b676124fee993bbffff199250612de8565b6753444835ec57ffff199250612de8565b674563918244f3ffff199250612de8565b673782dace9d8fffff199250612de8565b6729a2241af62bffff199250612de8565b671bc16d674ec7ffff199250612de8565b670de0b6b3a763ffff199250612de8565b60009250612de8565b670de0b6b3a76400009250612de8565b671bc16d674ec800009250612de8565b6729a2241af62c00009250612de8565b673782dace9d9000009250612de8565b674563918244f400009250612de8565b6753444835ec5800009250612de8565b676124fee993bc00009250612de8565b676f05b59d3b2000009250612de8565b677ce66c50e28400009250612de8565b678ac7230489e800009250612de8565b6798a7d9b8314c00009250612de8565b67a688906bd8b000009250612de8565b67b469471f801400009250612de8565b67c249fdd3277800009250612de8565b67d02ab486cedc00009250612de8565b67de0b6b3a764000009250612de8565b67ebec21ee1da400009250612de8565b67f9ccd8a1c50800009250612de8565b680107ad8f556c6c00009250612de8565b6801158e460913d000009250612de8565b6801236efcbcbb3400009250612de8565b6801314fb370629800009250612de8565b68013f306a2409fc00009250612de8565b68014d1120d7b16000009250612de8565b68015af1d78b58c400009250612de8565b680168d28e3f002800009250612de8565b680176b344f2a78c00009250612de8565b68018493fba64ef000009250612de8565b68019274b259f65400009250612de8565b6801a055690d9db800009250612de8565b6801ae361fc1451c00009250612de8565b6801bc16d674ec8000009250612de8565b6801c9f78d2893e400009250612de8565b6801d7d843dc3b4800009250612de8565b6801e5b8fa8fe2ac00009250612de8565b6801f399b1438a1000009250612de8565b6802017a67f7317400009250612de8565b68020f5b1eaad8d800009250612de8565b68021d3bd55e803c00009250612de8565b68022b1c8c1227a000009250612de8565b680238fd42c5cf0400009250612de8565b680246ddf979766800009250612de8565b680254beb02d1dcc00009250612de8565b6802629f66e0c53000009250612de8565b680270801d946c9400009250612de8565b68027e60d44813f800009250612de8565b68028c418afbbb5c00009250612de8565b68029a2241af62c000009250612de8565b6802a802f8630a2400009250612de8565b6802b5e3af16b18800009250612de8565b6802c3c465ca58ec00009250612de8565b6802d1a51c7e005000009250612de8565b6802df85d331a7b400009250612de8565b6802ed6689e54f1800009250612de8565b6802fb474098f67c00009250612de8565b68030927f74c9de000009250612de8565b68031708ae00454400009250612de8565b680324e964b3eca800009250612de8565b680332ca1b67940c000092505b50600019820361128a5761045e672e19dc008126bf2b670de0b6b3a764000061216f61201b875b600081670de0b6b3a7640000811015612e3e5760405163036d32ef60e41b815260048101849052602401610184565b6000612eca670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff198101612ef35750949350505050565b671bc16d674ec800006706f05b59d3b200005b8015612f3657670de0b6b3a7640000838002049250818310612f2e579283019260019290921c915b60011c612f06565b50919695505050505050565b600061045e61201b8484613c1b565b60008282818303612f7a578015612f69576000612f73565b670de0b6b3a76400005b9250612fa6565b670de0b6b3a76400008103612f9157849250612fa6565b610aba61206d612fa087612e0f565b86612f42565b505092915050565b6000828160018416612fc857670de0b6b3a7640000612fca565b815b9050600184901c93505b831561300857612fe48283613c1b565b91506001841615612ffc57612ff98183613c1b565b90505b600184901c9350612fd4565b80610aba565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f2181111561304e5760405163edc236ad60e01b815260048101849052602401610184565b61045e61201b670de0b6b3a76400008302613aa3565b60008160088111156130885760405162461bcd60e51b81526004016101849061447e565b82600003613099576000915061066e565b5050600019016020021c63ffffffff1690565b60008260088111156130d05760405162461bcd60e51b81526004016101849061447e565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156131105760405162461bcd60e51b81526004016101849061447e565b6000855b8581101561313c5763ffffffff6020820290811b199890981685891b17979150600101613114565b50959695505050505050565b8060200283015b8084101561316a57835183526020938401939092019161314f565b50505050565b6000808212156131c25760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610184565b5090565b6000806131d484600a61432c565b905060006131e28287613f8e565b905060018460028111156131f8576131f86140de565b14801561320e575061320a828261434c565b8614155b15610aba57610a236001826140cb565b60008061322c868686613ccf565b90506001836002811115613242576132426140de565b14801561320e57506000848061325a5761325a613f62565b8688091115610aba57610a236001826140cb565b60008080600019858709858702925082811083820303915050806000036132a85783828161329e5761329e613f62565b049250505061045e565b8381106132d957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610184565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff0000000000000082161561344f576780000000000000008216156133765768016a09e667f3bcc9090260401c5b674000000000000000821615613395576801306fe0a31b7152df0260401c5b6720000000000000008216156133b4576801172b83c7d517adce0260401c5b6710000000000000008216156133d35768010b5586cf9890f62a0260401c5b6708000000000000008216156133f2576801059b0d31585743ae0260401c5b67040000000000000082161561341157680102c9a3e778060ee70260401c5b6702000000000000008216156134305768010163da9fb33356d80260401c5b67010000000000000082161561344f57680100b1afa5abcbed610260401c5b66ff00000000000082161561354e57668000000000000082161561347c5768010058c86da1c09ea20260401c5b664000000000000082161561349a576801002c605e2e8cec500260401c5b66200000000000008216156134b857680100162f3904051fa10260401c5b66100000000000008216156134d6576801000b175effdc76ba0260401c5b66080000000000008216156134f457680100058ba01fb9f96d0260401c5b66040000000000008216156135125768010002c5cc37da94920260401c5b6602000000000000821615613530576801000162e525ee05470260401c5b660100000000000082161561354e5768010000b17255775c040260401c5b65ff00000000008216156136445765800000000000821615613579576801000058b91b5bc9ae0260401c5b6540000000000082161561359657680100002c5c89d5ec6d0260401c5b652000000000008216156135b35768010000162e43f4f8310260401c5b651000000000008216156135d057680100000b1721bcfc9a0260401c5b650800000000008216156135ed5768010000058b90cf1e6e0260401c5b6504000000000082161561360a576801000002c5c863b73f0260401c5b6502000000000082161561362757680100000162e430e5a20260401c5b65010000000000821615613644576801000000b1721835510260401c5b64ff000000008216156137315764800000000082161561366d57680100000058b90c0b490260401c5b6440000000008216156136895768010000002c5c8601cc0260401c5b6420000000008216156136a5576801000000162e42fff00260401c5b6410000000008216156136c15768010000000b17217fbb0260401c5b6408000000008216156136dd576801000000058b90bfce0260401c5b6404000000008216156136f957680100000002c5c85fe30260401c5b6402000000008216156137155768010000000162e42ff10260401c5b64010000000082161561373157680100000000b17217f80260401c5b64ff000000008216156138165763800000008216156137595768010000000058b90bfc0260401c5b6340000000821615613774576801000000002c5c85fe0260401c5b632000000082161561378f57680100000000162e42ff0260401c5b63100000008216156137aa576801000000000b17217f0260401c5b63080000008216156137c557680100000000058b90c00260401c5b63040000008216156137e05768010000000002c5c8600260401c5b63020000008216156137fb576801000000000162e4300260401c5b63010000008216156138165768010000000000b172180260401c5b62ff00008216156138f1576280000082161561383b576801000000000058b90c0260401c5b6240000082161561385557680100000000002c5c860260401c5b6220000082161561386f5768010000000000162e430260401c5b6210000082161561388957680100000000000b17210260401c5b620800008216156138a35768010000000000058b910260401c5b620400008216156138bd576801000000000002c5c80260401c5b620200008216156138d757680100000000000162e40260401c5b620100008216156138f1576801000000000000b1720260401c5b61ff008216156139c35761800082161561391457680100000000000058b90260401c5b61400082161561392d5768010000000000002c5d0260401c5b612000821615613946576801000000000000162e0260401c5b61100082161561395f5768010000000000000b170260401c5b610800821615613978576801000000000000058c0260401c5b61040082161561399157680100000000000002c60260401c5b6102008216156139aa57680100000000000001630260401c5b6101008216156139c357680100000000000000b10260401c5b60ff821615613a8c5760808216156139e457680100000000000000590260401c5b60408216156139fc576801000000000000002c0260401c5b6020821615613a1457680100000000000000160260401c5b6010821615613a2c576801000000000000000b0260401c5b6008821615613a4457680100000000000000060260401c5b6004821615613a5c57680100000000000000030260401c5b6002821615613a7457680100000000000000010260401c5b6001821615613a8c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b600081600003613ab557506000919050565b50600181600160801b8110613acf5760409190911b9060801c5b680100000000000000008110613aea5760209190911b9060401c5b6401000000008110613b015760109190911b9060201c5b620100008110613b165760089190911b9060101c5b6101008110613b2a5760049190911b9060081c5b60108110613b3d5760029190911b9060041c5b60048110613b4d57600182901b91505b6001828481613b5e57613b5e613f62565b048301901c91506001828481613b7657613b76613f62565b048301901c91506001828481613b8e57613b8e613f62565b048301901c91506001828481613ba657613ba6613f62565b048301901c91506001828481613bbe57613bbe613f62565b048301901c91506001828481613bd657613bd6613f62565b048301901c91506001828481613bee57613bee613f62565b048301901c91506000828481613c0657613c06613f62565b049050808310613c14578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a76400008110613c6657604051635173648d60e01b81526004810186905260248101859052604401610184565b6000670de0b6b3a7640000858709905081600003613c92575050670de0b6b3a76400009004905061014d565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b6000808060001985870985870292508281108382030391505080600003613cff5783828161329e5761329e613f62565b8084116132d957600080fd5b613d136144a0565b565b600060208284031215613d2757600080fd5b81356001600160e01b03198116811461045e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613d7e57613d7e613d3f565b604052919050565b600067ffffffffffffffff821115613da057613da0613d3f565b5060051b60200190565b600082601f830112613dbb57600080fd5b81356020613dd0613dcb83613d86565b613d55565b82815260059290921b84018101918181019086841115613def57600080fd5b8286015b84811015613e0a5780358352918301918301613df3565b509695505050505050565b600080600060608486031215613e2a57600080fd5b833567ffffffffffffffff80821115613e4257600080fd5b818601915086601f830112613e5657600080fd5b81356020613e66613dcb83613d86565b82815260059290921b8401810191818101908a841115613e8557600080fd5b8286015b84811015613f1257803586811115613ea15760008081fd5b8701603f81018d13613eb35760008081fd5b84810135604088821115613ec957613ec9613d3f565b613edb601f8301601f19168801613d55565b8281528f82848601011115613ef05760008081fd5b8282850189830137600092810188019290925250845250918301918301613e89565b5097505087013592505080821115613f2957600080fd5b613f3587838801613daa565b93506040860135915080821115613f4b57600080fd5b50613f5886828701613daa565b9150509250925092565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082613f9d57613f9d613f62565b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201613fca57613fca613f78565b5060010190565b600081518084526020808501945080840160005b8381101561400157815187529582019590820190600101613fe5565b509495945050505050565b60006080820160018060a01b0387168352602060808185015281875180845260a08601915060a08160051b87010193508289016000805b8381101561409f57888703609f1901855282518051808952835b81811015614078578281018901518a82018a0152880161405d565b508881018801849052601f01601f1916909701860196509385019391850191600101614043565b50505050505082810360408401526140b78186613fd1565b90508281036060840152610bf78185613fd1565b8082018082111561014d5761014d613f78565b634e487b7160e01b600052602160045260246000fd5b815160009082906020808601845b8381101561411e57815185529382019390820190600101614102565b50929695505050505050565b60006020828403121561413c57600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b828110156141855781516001600160a01b031684529284019290840190600101614160565b50505083810382850152610a238186613fd1565b600060208083850312156141ac57600080fd5b825167ffffffffffffffff8111156141c357600080fd5b8301601f810185136141d457600080fd5b80516141e2613dcb82613d86565b81815260059190911b8201830190838101908783111561420157600080fd5b928401925b82841015610bf757835182529284019290840190614206565b60006020828403121561423157600080fd5b81516001600160a01b038116811461045e57600080fd5b600181815b8085111561428357816000190482111561426957614269613f78565b8085161561427657918102915b93841c939080029061424d565b509250929050565b60008261429a5750600161014d565b816142a75750600061014d565b81600181146142bd57600281146142c7576142e3565b600191505061014d565b60ff8411156142d8576142d8613f78565b50506001821b61014d565b5060208310610133831016604e8410600b8410161715614306575081810a61014d565b6143108383614248565b806000190482111561432457614324613f78565b029392505050565b600061045e838361428b565b60008261434757614347613f62565b500690565b808202811582820484141761014d5761014d613f78565b8181038181111561014d5761014d613f78565b60006020828403121561438857600080fd5b81516004811061045e57600080fd5b6001600160a01b038316815260406020820181905260009061094790830184613fd1565b60018060a01b0384168152826020820152606060408201526000610aba6060830184613fd1565b805169ffffffffffffffffffff811681146111a857600080fd5b600080600080600060a0868803121561441457600080fd5b61441d866143e2565b9450602086015193506040860151925060608601519150614440608087016143e2565b90509295509295909350565b60006020828403121561445e57600080fd5b815160ff8116811461045e57600080fd5b600061045e60ff84168361428b565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfe0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687a264697066735822122005fc8004cc18fb8fb6b9eb7e3de204c7e425c2418148587803f2376f3584ca4664736f6c63430008120033", + "sourceMap": "3472:8711:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7153:254;;;;;;:::i;:::-;;:::i;:::-;;;470:14:282;;463:22;445:41;;433:2;418:18;7153:254:121;;;;;;;;4475:43;;;;;;;;-1:-1:-1;;;;;685:32:282;;;667:51;;655:2;640:18;4475:43:121;497:227:282;8887:3294:121;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4494:15:282;;;4476:34;;4546:15;;;4541:2;4526:18;;4519:43;4598:15;;4578:18;;;4571:43;;;;4426:2;4411:18;8887:3294:121;4183:437:282;4524:42:121;;;;;7153:254;7253:4;-1:-1:-1;;;;;;7288:55:121;;-1:-1:-1;;;7288:55:121;;:112;;-1:-1:-1;;;;;;;7359:41:121;;-1:-1:-1;;;7359:41:121;7288:112;7269:131;7153:254;-1:-1:-1;;7153:254:121:o;8887:3294::-;9045:14;9061:19;9082:7;9229:8;:15;9208:11;:18;:36;9204:128;;;9285:18;;9305:15;;9267:54;;-1:-1:-1;;;9267:54:121;;;;;5036:25:282;;;;5077:18;;;5070:34;5009:18;;9267:54:121;;;;;;;;9204:128;9401:47;9451:90;9491:8;9501:10;9513:27;:25;:27::i;:::-;9451:39;:90::i;:::-;9941:32;;;;10021:48;;;;9401:140;;-1:-1:-1;9941:32:121;9906;10079:745;10105:11;:18;10100:2;:23;10079:745;;;10477:32;;;:54;;;10545:35;;;:60;;;10619:194;10477:20;10725:2;747:21:30;767:1;-1:-1:-1;;747:21:30;:::i;:::-;10784:11:121;10796:2;10784:15;;;;;;;;:::i;:::-;;;;;;;10619:33;:194::i;:::-;-1:-1:-1;10125:4:121;;;;:::i;:::-;;;;10079:745;;;;10833:20;10856:96;10910:20;:32;;;10856:20;:32;;;:40;;:96;;;;:::i;:::-;10833:119;;11127:60;11141:10;11153:8;11163:10;11175:11;11127:60;;;;;;;;;:::i;:::-;;;;;;;;11212:38;11264:16;11293:207;11339:147;11394:8;11424:10;11456:12;11339:33;:147::i;:::-;4200:4:212;4194:11;;4309:43;;;-1:-1:-1;;4305:59:212;4289:76;;4276:90;;;-1:-1:-1;;;4970:1:212;4957:15;;;4785:3;4685:343;;;;;-1:-1:-1;;;4620:430:212;5067:27;;4194:11;1726:2;4461:35;;;3700:1424;11293:207:121;11198:302;;;;11708:171;11751:8;11773;11795:10;11819:12;11845:24;;;;;;;;;;;;;;;;;11708:29;:171::i;:::-;11943:19;11965:33;11987:10;11965:21;:33::i;:::-;12081:42;;;12099:10;8115:34:282;;-1:-1:-1;;;;;8185:15:282;;8180:2;8165:18;;8158:43;11943:55:121;;-1:-1:-1;12081:42:121;;8050:18:282;12081:42:121;;;;;;;12142:11;;12155:5;;-1:-1:-1;12162:11:121;;-1:-1:-1;8887:3294:121;-1:-1:-1;;;;;;;;;;8887:3294:121:o;8173:666::-;8603:158;;;8455:145;8603:158;;;;;;;;;8286:144;;8455:145;;8603:158;;;;;;;;;;;;;;;;;;;;8455:306;;8778:54;8819:12;8778:40;:54::i;:::-;8771:61;;;8173:666;:::o;5919:715:30:-;6192:26;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6192:26:30;6249:378;;;;;;;;;;;6312:17;;6249:378;;;;;;;747:21;767:1;-1:-1:-1;;747:21:30;:::i;:::-;6249:378;;;;6517:27;747:21;767:1;-1:-1:-1;;747:21:30;:::i;:::-;-1:-1:-1;;37974:41:119;;37822:211;6517:27:30;6249:378;;;;747:21;767:1;-1:-1:-1;;747:21:30;:::i;:::-;6249:378;;;;;;;6230:397;-1:-1:-1;5919:715:30;;;;;;:::o;9046:2173::-;9257:12;767:1;-1:-1:-1;;747:21:30;9565:20;:32;;;9545:113;9524:205;;;9698:16;;-1:-1:-1;;;9698:16:30;;;;;;;;;;;9524:205;9907:27;;9974:4;9970:23;;;9878:138;;;;9851:183;10072:14;;10059:28;;10151:747;10168:4;10158:7;:14;10151:747;;;10192:15;10225:16;10270:1;10259:12;;;;10353:7;10347:14;10403:6;10398:3;10394:16;10382:28;;10460:6;10454:3;10450:2;10446:12;10442:25;10431:36;;;10747:136;10841:20;10863:8;10873:9;10747:20;:46;;;10815:7;10747:93;;;;;;;;:::i;:::-;;;;;;;:136;;:::i;:::-;10735:148;;10174:724;;10151:747;;;10940:49;;;;39536:4:119;39446:86;;;39445:95;11043:37:30;;;11039:134;;;11107:51;;-1:-1:-1;;;11107:51:30;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;11107:51:30;4862:248:282;11039:134:30;-1:-1:-1;11193:9:30;;9046:2173;-1:-1:-1;;;;;;9046:2173:30:o;39266:291:119:-;39536:4;39446:86;;;39445:95;;39266:291::o;8152:402:118:-;8304:7;;8350:28;634:4:129;8304:7:118;8350:28;:::i;:::-;;;8397:17;:10;1018:13:129;1034:4;1018:20;;;1010:29;;898:158;8397:17:118;8388:26;;;;:::i;:::-;;;8429:10;8424:102;8450:8;:15;8445:2;:20;8424:102;;;8496:19;:8;8505:2;8496:12;;;;;;;;:::i;:::-;;;;;;;1390:13:129;1383:4;:20;;1275:145;8496:19:118;8487:28;;;;:::i;:::-;;-1:-1:-1;8467:4:118;;;;:::i;:::-;;;;8424:102;;;-1:-1:-1;8542:5:118;8152:402;-1:-1:-1;;;;8152:402:118:o;9645:861::-;12065:25:119;;;12139:4;12120:24;;10140:35:118;12120:24:119;10164:10:118;10140:23;:35::i;:::-;10129:46;;10223:20;10262:10;10257:233;10283:8;:15;10278:2;:20;10257:233;;;10334:8;10343:2;10334:12;;;;;;;;:::i;:::-;;;;;;;10324:22;;10364:41;10372:7;10381:23;10364:7;:41::i;:::-;10434;:8;10467:7;10434:32;:41::i;:::-;10423:52;-1:-1:-1;10300:4:118;;10257:233;;;;9869:631;;9645:861;;;;;:::o;5487:666:212:-;5560:7;5579:16;5605:21;1726:2;5605:43;;5957:10;5951:17;5946:3;5942:27;5934:6;5930:40;5837:13;5808:184;5776:10;5753:1;5725:285;5697:313;-1:-1:-1;;;;;;6078:22:212;;6074:47;;6109:12;;-1:-1:-1;;;6109:12:212;;;;;;;;;;;6074:47;-1:-1:-1;6138:8:212;5487:666;-1:-1:-1;;5487:666:212:o;8045:4592:33:-;8296:144;8489:186;:3949;;;;;;;;8700:52;3669:2;2646::198;2305:359;8700:52:33;8489:3949;;;;;;;;8774:21;8489:3949;;;;8817:21;8489:3949;;;;8860:21;8489:3949;;;;8903:32;8489:3949;;;;8957:19;8489:3949;;;;8998:29;8489:3949;;;;9049:22;8489:3949;;;;9093:23;8489:3949;;;;9138:16;8489:3949;;;;9176:17;8489:3949;;;;9215:19;8489:3949;;;;9256:18;8489:3949;;;;9296:17;8489:3949;;;;9335:22;8489:3949;;;;9379:16;8489:3949;;;;9417:28;8489:3949;;;;9467:33;8489:3949;;;;9522:26;8489:3949;;;;9570:28;8489:3949;;;;9620:36;8489:3949;;;;9678:38;8489:3949;;;;9738:24;8489:3949;;;;9784:27;8489:3949;;;;9833:25;8489:3949;;;;9880:18;8489:3949;;;;9920:23;8489:3949;;;;9965:21;8489:3949;;;;10008:15;8489:3949;;;;10045:15;8489:3949;;;;10082:15;8489:3949;;;;10119:15;8489:3949;;;;10156:15;8489:3949;;;;10193:15;8489:3949;;;;10230:15;8489:3949;;;;10267:15;8489:3949;;;;10304:29;8489:3949;;;;10355:32;8489:3949;;;;10409:36;8489:3949;;;;10467:32;8489:3949;;;;10521:29;8489:3949;;;;10572:28;8489:3949;;;;10622:15;8489:3949;;;;10659:19;8489:3949;;;;10700:19;8489:3949;;;;10741:17;8489:3949;;;;10780:23;8489:3949;;;;10825:18;8489:3949;;;;10865:20;8489:3949;;;;10907:18;8489:3949;;;;10947:19;8489:3949;;;;10988:18;8489:3949;;;;11028:18;8489:3949;;;;11068:19;8489:3949;;;;11109:20;8489:3949;;;;11151:19;8489:3949;;;;11192:17;8489:3949;;;;11231:18;8489:3949;;;;11271:17;8489:3949;;;;11310:20;8489:3949;;;;11352:19;8489:3949;;;;11393:18;8489:3949;;;;11433:18;8489:3949;;;;11473:19;8489:3949;;;;11514:19;8489:3949;;;;11555:25;8489:3949;;;;11602:25;8489:3949;;;;11649:25;8489:3949;;;;11696:36;8489:3949;;;;11754:42;8489:3949;;;;11818:26;8489:3949;;;;11866:29;8489:3949;;;;11917:24;8489:3949;;;;11963:39;8489:3949;;;;12024:40;8489:3949;;;;12115:15;8489:3949;;;;12152:15;8489:3949;;;;12189:25;8489:3949;;;;12236:36;8489:3949;;;;12294:26;8489:3949;;;;12342:21;8489:3949;;;;12385:35;8489:3949;;;;;12452:26;12481:31;:14;:29;:31::i;:::-;12452:60;-1:-1:-1;12526:42:33;12452:60;12543:7;12526:16;:42::i;:::-;12589:9;:31;12582:38;8045:4592;-1:-1:-1;;;;8045:4592:33:o;11903:287:119:-;12065:25;;12139:4;12120:24;;11903:287::o;13611:206::-;13733:12;13764:46;13803:6;13764:33;13783:6;:13;13764;:18;;:33;;;;:::i;:::-;:38;;:46::i;14590:920:118:-;14879:14;;14780:6;;-1:-1:-1;;14824:17:118;15026:27;;14948:1;14933:17;;;;14982:15;;14738:756;15080:4;15071:7;15068:17;14738:756;;;15176:14;;15341:24;;;15338:1;15334:32;15313:54;;15282:107;15223:184;;15443:25;;;15440:39;15424:56;;15128:1;15115:15;14738:756;;;14742:325;;;;;14590:920;;:::o;15378:220:119:-;15505:12;15536:55;15584:6;15536:33;15555:6;:13;15536;:18;;:33;;;;:::i;:::-;:47;;:55::i;1120:544:34:-;1283:12;534:10:210;1380:1:34;1352:29;;;1351:43;;;1426:36;;1503:3;1481:19;;;:25;1477:108;;;1533:37;;-1:-1:-1;;;1533:37:34;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1533:37:34;4862:248:282;1477:108:34;1605:42;:20;1634:9;1645:1;1605:28;:42::i;:::-;1598:49;1120:544;-1:-1:-1;;;;;;1120:544:34:o;1532:543:35:-;1695:12;534:10:210;1792:1:35;1764:29;;;1763:43;;;1838:36;;1914:3;1892:19;;;:25;1888:108;;;1944:37;;-1:-1:-1;;;1944:37:35;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1944:37:35;4862:248:282;1888:108:35;2016:42;:20;2045:9;2056:1;2016:28;:42::i;451:269:36:-;605:12;648:65;674:35;:20;699:9;674:24;:35::i;:::-;648:20;;711:1;648:25;:65::i;658:234:37:-;812:12;843:42;:20;872:9;883:1;843:28;:42::i;920:355:38:-;1074:12;1232:36;:20;1258:9;1232:25;:36::i;1177:426:40:-;1331:12;1482:53;1552:44;:20;1581:9;1482:53;1552:28;:44::i;:::-;1545:51;1177:426;-1:-1:-1;;;;;1177:426:40:o;1233:1445:41:-;1396:12;274:10:210;1467:36:41;;;;1717:1;1689:29;;;1688:43;;;;1791:2;1763:30;;;;1829:16;;;;-1:-1:-1;;;;;1995:12:41;1973:17;;;;;;1972:36;:50;;2305:105;:20;2363:9;1688:43;2305:40;:105::i;:::-;2293:117;;2598:63;2615:20;2637:12;2651:9;2598:16;:63::i;:::-;2575:86;1233:1445;-1:-1:-1;;;;;;;;;1233:1445:41:o;2398:2053:42:-;2987:32;;;;3060:35;;;;2561:12;;274:10:210;2672:36:42;;;;2766:1;2738:29;;;2737:43;;;;2879:1;2851:29;;;;3276:78;2987:20;3314:9;2672:36;3276:24;:78::i;:::-;3241:32;;;:113;-1:-1:-1;;37974:41:119;;3364:35:42;;;:54;3629:121;3364:20;3679:16;3709:9;3732:8;3629:36;:121::i;:::-;-1:-1:-1;3913:35:42;;;:53;;;4250:32;;;;4211:103;;3913:20;;4296:8;4211:25;:103::i;:::-;4370:32;;;;;:47;;;;-1:-1:-1;4370:47:42;;2398:2053;-1:-1:-1;;;;;;2398:2053:42:o;629:343:43:-;771:12;929:8;903:36;;;;;;;;:::i;:::-;-1:-1:-1;956:9:43;;629:343;-1:-1:-1;;;629:343:43:o;1744:1577:44:-;1907:12;534:10:210;1973:36:44;;274:10:210;2216:20:44;;2212:91;;2263:25;;-1:-1:-1;;;2263:25:44;;;;;8620::282;;;8593:18;;2263:25:44;8474:177:282;2212:91:44;2345:1;2335:11;;2453:1;2441:13;;;2413:42;;3045:259;3106:157;3148:20;2413:42;3232:9;3106:16;:157::i;:::-;3045:20;;3285:1;3045:39;:259::i;:::-;3022:282;1744:1577;-1:-1:-1;;;;;;;1744:1577:44:o;770:747:45:-;1167:36;;;;933:12;;336:10:210;975:36:45;;;;1069:1;1041:29;;;1040:43;;;;1139:2;1111:30;;;;1156:47;;1152:202;;1268:36;;;;1226:117;;-1:-1:-1;;;1226:117:45;;;;;5036:25:282;;;;5077:18;;;5070:34;;;5009:18;;1226:117:45;4862:248:282;1152:202:45;1383:127;1426:44;:20;1451:9;1462:7;1426:24;:44::i;:::-;1383:20;;1488:8;1383:25;:127::i;1223:1201:46:-;1386:12;1475:2;1447:30;;;274:10:210;1509:36:46;;;;1607:1;1579:29;;;1578:43;1639:18;;;1635:106;;;1684:42;;-1:-1:-1;;;1684:42:46;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1684:42:46;4862:248:282;1635:106:46;1898:35;;;;828:11:210;1807:37:46;;;1754:20;1947:430;1973:2;1968;:7;1947:430;;;2143:35;;;:48;;;2221:141;2143:20;2301:12;2335:9;2221:16;:141::i;:::-;2209:153;-1:-1:-1;1977:4:46;;1947:430;;;-1:-1:-1;2398:9:46;;1223:1201;-1:-1:-1;;;;;;;;1223:1201:46:o;1329:1372:47:-;1492:12;100:10:210;1532:36:47;;;;1596:29;;;1532:36;1635:1007;;1714:32;;;;39536:4:119;39446:86;;;39445:95;1813:25:47;;;1809:116;;1865:45;;-1:-1:-1;;;1865:45:47;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1865:45:47;4862:248:282;1809:116:47;2281:32;;;;2174:35;;;;2154:211;;36767:4:119;:9;;36730:46;2154:60:47;:211::i;:::-;2081:35;;;:298;-1:-1:-1;1635:1007:47;;;2425:20;:36;;;2414:7;:47;2410:222;;2534:36;;;;2488:129;;-1:-1:-1;;;2488:129:47;;;;;5036:25:282;;;;5077:18;;;5070:34;;;5009:18;;2488:129:47;4862:248:282;2410:222:47;2658:36;:20;2684:9;2658:25;:36::i;632:343:48:-;795:12;838:130;:20;884:9;911:1;945:8;838:28;:130::i;831:234:49:-;985:12;1016:42;:20;1045:9;1056:1;1016:28;:42::i;994:343:50:-;1157:12;1200:130;:20;1246:9;1273:1;1307:8;1200:28;:130::i;743:234:51:-;897:12;928:42;:20;957:9;968:1;928:28;:42::i;643:234:52:-;797:12;828:42;:20;857:9;868:1;828:28;:42::i;973:234:53:-;1127:12;1158:42;:20;1187:9;1198:1;1158:28;:42::i;881:234:54:-;1035:12;1066:42;:20;1095:9;1106:1;1066:28;:42::i;587:234:55:-;741:12;772:42;:20;801:9;812:1;772:28;:42::i;699:234:57:-;853:12;884:42;:20;913:9;924:1;884:28;:42::i;593:344:58:-;756:12;799:131;:20;846:9;873:1;907:8;799:29;:131::i;616:344:61:-;779:12;822:131;:20;869:9;896:1;930:8;822:29;:131::i;470:344:62:-;633:12;676:131;:20;723:9;750:1;784:8;676:29;:131::i;474:344:63:-;637:12;680:131;:20;727:9;754:1;788:8;680:29;:131::i;491:344:64:-;654:12;697:131;:20;744:9;771:1;805:8;697:29;:131::i;491:344:65:-;654:12;697:131;:20;744:9;771:1;805:8;697:29;:131::i;464:344:66:-;627:12;670:131;:20;717:9;744:1;778:8;670:29;:131::i;473:344:67:-;636:12;679:131;:20;726:9;753:1;787:8;679:29;:131::i;473:344:68:-;636:12;679:131;:20;726:9;753:1;787:8;679:29;:131::i;772:234:69:-;926:12;957:42;:20;986:9;997:1;957:28;:42::i;806:234:70:-;960:12;991:42;:20;1020:9;1031:1;991:28;:42::i;920:234:71:-;1074:12;1105:42;:20;1134:9;1145:1;1105:28;:42::i;812:234:72:-;966:12;997:42;:20;1026:9;1037:1;997:28;:42::i;734:234:73:-;888:12;919:42;:20;948:9;959:1;919:28;:42::i;664:234:74:-;818:12;849:42;:20;878:9;889:1;849:28;:42::i;385:417:75:-;548:12;572:62;663:132;:20;709:9;572:62;772:8;663:28;:132::i;588:347:76:-;751:12;794:134;840:9;867:1;886:28;901:8;913:1;886:28;:::i;:::-;794:20;;:134;;:28;:134::i;745:234:77:-;899:12;930:42;:20;959:9;970:1;930:28;:42::i;627:234:79:-;781:12;812:42;:20;841:9;852:1;812:28;:42::i;607:234:80:-;761:12;792:42;:20;821:9;832:1;792:28;:42::i;621:234:81:-;775:12;806:42;:20;835:9;846:1;806:28;:42::i;488:234:82:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;461:234:83:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;488:234:84:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;458:234:85:-;612:12;643:42;:20;672:9;683:1;643:28;:42::i;461:234:86:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;464:234:87:-;618:12;649:42;:20;678:9;689:1;649:28;:42::i;461:234:88:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;485:234:89:-;639:12;670:42;:20;699:9;710:1;670:28;:42::i;458:234:90:-;612:12;643:42;:20;672:9;683:1;643:28;:42::i;455:234:91:-;609:12;640:42;:20;669:9;680:1;640:28;:42::i;464:234:92:-;618:12;649:42;:20;678:9;689:1;649:28;:42::i;461:234:93:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;488:234:94:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;488:234:95:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;477:234:96:-;631:12;662:42;:20;691:9;702:1;662:28;:42::i;461:234:97:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;506:371:98:-;669:12;712:158;:20;759:9;786:28;847:8;712:29;:158::i;517:371:99:-;680:12;723:158;:20;770:9;797:28;858:8;723:29;:158::i;514:371:100:-;677:12;720:158;:20;767:9;794:28;855:8;720:29;:158::i;955:234:101:-;1109:12;1140:42;:20;1169:9;1180:1;1140:28;:42::i;629:234:102:-;783:12;814:42;:20;843:9;854:1;814:28;:42::i;583:234:103:-;737:12;768:42;:20;797:9;808:1;768:28;:42::i;583:234:104:-;737:12;768:42;:20;797:9;808:1;768:28;:42::i;575:234:105:-;729:12;760:42;:20;789:9;800:1;760:28;:42::i;617:234:106:-;771:12;802:42;:20;831:9;842:1;802:28;:42::i;860:234:107:-;1014:12;1045:42;:20;1074:9;1085:1;1045:28;:42::i;637:328:109:-;791:12;839:44;904;:20;933:9;839:44;904:28;:44::i;785:343:110:-;948:12;991:130;:20;1037:9;1064:1;1098:8;991:28;:130::i;864:343:111:-;1027:12;1070:130;:20;1116:9;1143:1;1177:8;1070:28;:130::i;371:320:112:-;525:12;568:116;:20;614:9;641:29;568:28;:116::i;602:512:113:-;765:12;534:10:210;831:36:113;;885:12;;;881:70;;924:12;;-1:-1:-1;;;924:12:113;;;;;;;;;;;881:70;988:109;1035:44;:20;1060:9;1071:7;1035:24;:44::i;:::-;988:20;;:25;:109::i;874:234:114:-;1028:12;1059:42;:20;1088:9;1099:1;1059:28;:42::i;6248:486:33:-;6594:15;;6565:6;;3669:2;6594:42;6590:138;;6676:15;;6659:58;;-1:-1:-1;;;6659:58:33;;;;;5036:25:282;;;;3669:2:33;5077:18:282;;;5070:34;5009:18;;6659:58:33;4862:248:282;6590:138:33;6248:486;;;:::o;9821:1296:0:-;10095:4;10089:11;10132:12;;10178:14;;10593:4;10589:22;;;10568:45;;;10512:115;;10509:163;;;10656:1;10653;10646:12;10509:163;10887:4;10883:24;;10859:49;;10853:4;10846:63;11011:31;10997:46;;11063:47;11082:7;10863:18;11063;:47::i;:::-;9923:1194;9821:1296;;:::o;13010:252:119:-;13122:12;13146:61;:6;13192:13;13146:25;:61::i;:::-;13241:13;;36767:4;:9;36730:46;;13224:31;36523:288;14386:404;14503:12;14527:203;36165:4;36128:41;;14678:13;14707:6;:13;14527:27;:203::i;:::-;14769:13;;37524:39;;14747:36;37349:232;508:606:34;534:10:210;737:36:34;;;1028:1;:12;-1:-1:-1;;1028:16:34;691:1;663:29;;;;662:43;1068:20;1067:30;;508:606::o;26505:303:30:-;26708:12;26739:62;26765:35;:20;26790:9;26765:24;:35::i;:::-;26739:20;;:25;:62::i;707:819:35:-;534:10:210;961:36:35;;;1252:1;:12;-1:-1:-1;;1252:16:35;1479:15;;;915:1;887:29;;;;886:43;1478:30;;;1374:18;;;;1372:21;1362:31;;;;1361:148;;707:819::o;27357:327:30:-;27569:12;27612:65;27638:38;:20;27663:9;27674:1;27638:24;:38::i;14020:275::-;-1:-1:-1;;37974:41:119;14151:12:30;14213:49;:20;37974:41:119;14213:38:30;:49::i;:::-;-1:-1:-1;14279:9:30;14020:275;-1:-1:-1;14020:275:30:o;12209:710::-;12361:12;36767:4:119;:9;;36730:46;;12385:28:30;;12578:1;12573:2;:6;12569:261;;;12668:137;-1:-1:-1;;37974:41:119;;12688:35:30;;;;;12668:60;:137::i;:::-;12595:35;;;:224;12569:261;12839:47;:20;12876:9;12839:36;:47::i;:::-;-1:-1:-1;12903:9:30;;12209:710;-1:-1:-1;;12209:710:30:o;471:181:37:-;563:7;589:56;624:5;633:11;589:18;:56::i;11636:272:30:-;36165:4:119;36128:41;11768:12:30;11828:47;:20;36128:41:119;11828:36:30;:47::i;13184:309::-;13351:12;36767:4:119;:9;;36730:46;;13375:28:30;-1:-1:-1;13413:47:30;:20;13375:28;13413:36;:47::i;14591:337::-;14742:12;14770:6;;14766:130;;38600:4:119;:9;;38563:46;;14792:30:30;-1:-1:-1;14836:49:30;:20;14792:30;14836:38;:49::i;15149:201::-;15294:12;38600:4:119;:9;;38563:46;;15325:18:30;38354:290:119;424:104:258;482:7;512:1;508;:5;:13;;520:1;508:13;;;-1:-1:-1;516:1:258;;424:104;-1:-1:-1;424:104:258:o;488:138:48:-;548:7;609;592:25;;;;;;;;:::i;:::-;;;;-1:-1:-1;;592:25:48;;;;;;;;;582:36;;592:25;582:36;;;;;488:138;-1:-1:-1;;488:138:48:o;22159:379:30:-;22387:12;22430:101;22473:44;:20;22498:9;22509:7;22473:24;:44::i;546:279:49:-;695:123;;-1:-1:-1;;;695:123:49;;-1:-1:-1;;;;;9396:32:282;;;695:123:49;;;9378:51:282;9445:18;;;9438:34;;;657:7:49;;695:44;;;;;;9351:18:282;;695:123:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20414:327:30:-;20626:12;20669:65;20695:38;:20;20720:9;20731:1;20695:24;:38::i;677:311:50:-;855:126;;-1:-1:-1;;;855:126:50;;808:16;;-1:-1:-1;;;;;855:49:50;;;;;:126;;922:9;;963:4;;855:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;855:126:50;;;;;;;;;;;;:::i;25439:534:30:-;25739:12;25810:146;25857:52;:20;25882:9;25907:1;25903;25893:11;;:15;25857:24;:52::i;:::-;25810:20;;25931:7;25810:25;:146::i;502:235:51:-;630:100;;-1:-1:-1;;;630:100:51;;-1:-1:-1;;;;;685:32:282;;;630:100:51;;;667:51:282;592:7:51;;630:42;;;;;;640:18:282;;630:100:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;508:129:52:-;558:7;607:6;-1:-1:-1;;;;;584:44:52;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;665:302:53:-;822:138;;-1:-1:-1;;;822:138:53;;-1:-1:-1;;;;;9396:32:282;;;822:138:53;;;9378:51:282;9445:18;;;9438:34;;;784:7:53;;822:51;;;;;;9351:18:282;;822:138:53;9204:274:282;671:204:54;802:66;;-1:-1:-1;;;802:66:54;;;;;8620:25:282;;;764:7:54;;-1:-1:-1;;;;;802:53:54;;;;;8593:18:282;;802:66:54;8474:177:282;382:199:55;435:7;538:9;-1:-1:-1;;;;;514:42:55;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;473:101:55;;382:199;-1:-1:-1;;382:199:55:o;533:160:57:-;638:46;;-1:-1:-1;;;638:46:57;;;;;8620:25:282;;;596:7:57;;-1:-1:-1;;;;;638:41:57;;;;;8593:18:282;;638:46:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;622:64:57;;533:160;-1:-1:-1;;;533:160:57:o;427::58:-;523:2;513:58;;555:1;552;545:12;513:58;427:160;:::o;17625:274:30:-;17822:12;17853:39;:20;17878:9;17889:2;17853:24;:39::i;512:98:61:-;570:7;596;601:2;596;:7;:::i;366:98:62:-;424:7;450;455:2;450;:7;:::i;369:99:63:-;427:7;453:8;459:2;453;:8;:::i;377:108:65:-;435:7;466:2;461;:7;:17;;476:2;461:17;;360:98:66;418:7;444;449:2;444;:7;:::i;369:98:67:-;427:7;453;458:2;453;:7;:::i;369:98:68:-;427:7;453;458:2;453;:7;:::i;517:249:69:-;581:7;619:140;675:1;662:8;647:29;;100:10:210;723:8:69;708:36;694:51;;;;;;;;:::i;:::-;619:2;;:140;:10;:140::i;521:279:70:-;627:7;665:128;770:2;627:7;665:73;:2;708:8;627:7;665:27;:73::i;:::-;:104;:128;:104;:128::i;642:272:71:-;752:7;790:117;818:6;100:10:210;871:8:71;856:36;842:51;;;;;;;;:::i;527:279:72:-;633:7;671:128;776:2;633:7;671:73;:2;714:8;633:7;671:27;:73::i;:::-;:104;:128;:104;:128::i;504:224:73:-;568:7;606:115;:2;660:8;568:7;606:10;:115::i;506:152:74:-;570:7;596:55;:2;621:8;570:7;596:9;:55::i;402:180:76:-;522:16;562:1;557:2;:6;:18;;572:3;557:18;;462:277:77;713:10;;462:277::o;470:151:79:-;-1:-1:-1;595:10:79;470:151::o;462:139:80:-;575:10;;462:139::o;464:151:81:-;-1:-1:-1;589:10:81;464:151::o;336:146:82:-;394:7;435:39;452:2;470;435:3;:39::i;338:117:83:-;384:7;425:22;443:2;425:4;:22::i;336:146:84:-;394:7;435:39;452:2;470;435:3;:39::i;336:116:85:-;382:7;423:21;440:2;423:3;:21::i;338:117:86:-;384:7;425:22;443:2;425:4;:22::i;340:118:87:-;386:7;5505:5:279;5498:13;;5632:16;;;5617:32;5610:40;;427:23:87;5336:322:279;338:117:88;384:7;6047:5:279;6040:13;;425:22:88;5934:127:279;334:145:89;392:7;433:38;449:2;467;433;:38::i;336:116:90:-;382:7;423:21;440:2;423:3;:21::i;334:115:91:-;380:7;421:20;437:2;421;:20::i;340:118:92:-;386:7;427:23;446:2;427:5;:23::i;338:117:93:-;384:7;425:22;443:2;425:4;:22::i;336:146:94:-;394:7;435:39;452:2;470;435:3;:39::i;336:146:95:-;394:7;435:39;452:2;470;435:3;:39::i;338:133:96:-;396:7;437:26;455:2;460;437:4;:26::i;338:117:97:-;384:7;425:22;443:2;425:4;:22::i;956:203:209:-;1026:7;1082;;;1110;;;:32;;1140:2;1110:32;;;-1:-1:-1;;1103:39:209;956:203;-1:-1:-1;;;;956:203:209:o;1608:469::-;1678:7;1950:2;1956:1;1950:7;1946:21;;-1:-1:-1;1966:1:209;1959:8;;1946:21;1994:7;;;1999:2;1994;:7;:2;2022:7;;;;:::i;:::-;;:13;:38;;2058:2;2022:38;;1296:158;1366:7;1421:2;1416;:7;:21;;1436:1;1416:21;;;-1:-1:-1;1426:7:209;;;1296:158::o;475:474:101:-;704:206;;-1:-1:-1;;;704:206:101;;-1:-1:-1;;;;;13951:15:282;;;704:206:101;;;13933:34:282;14003:15;;;13983:18;;;13976:43;14035:18;;;14028:34;;;612:7:101;;704:55;;;;;;13868:18:282;;704:206:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;650:292:101;;475:474;-1:-1:-1;;;;;475:474:101:o;21238:372:30:-;21495:12;21538:65;21564:38;:20;21589:9;21600:1;21564:24;:38::i;483:140:102:-;532:7;582:5;-1:-1:-1;;;;;558:56:102;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:142:103;484:7;550:5;-1:-1:-1;;;;;526:40:103;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:133:104;493:7;548:5;-1:-1:-1;;;;;524:43:104;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;519:51;;;;;;;;:::i;429:140:105:-;478:7;544:5;-1:-1:-1;;;;;520:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:137:106;523:7;573:5;-1:-1:-1;;;;;549:53:106;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;481:373:107;677:156;;-1:-1:-1;;;677:156:107;;-1:-1:-1;;;;;9396:32:282;;;677:156:107;;;9378:51:282;9445:18;;;9438:34;;;602:7:107;;677:58;;;;;;9351:18:282;;677:156:107;9204:274:282;18992:261:30;19177:12;19208:38;:20;19233:9;19244:1;19208:24;:38::i;471:308:110:-;641:131;;-1:-1:-1;;;641:131:110;;603:7;;-1:-1:-1;;;;;641:47:110;;;;;:131;;722:8;;750;;641:131;;;:::i;23171:483:30:-;23453:12;23524:113;23571:48;:20;23596:9;23617:1;23607:11;;23571:24;:48::i;493:365:111:-;686:165;;-1:-1:-1;;;686:165:111;;648:7;;-1:-1:-1;;;;;686:58:111;;;;;:165;;778:8;;806:5;;829:8;;686:165;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;24296:492:30:-;24587:12;24658:113;24705:48;:20;24730:9;24751:1;24741:11;;24705:24;:48::i;1379:724:197:-;1491:7;;1581:1;1560:502;1593:1;1584:5;:10;1560:502;;1623:19;1645:107;1695:12;1729:5;1645:28;:107::i;:::-;1623:129;;1770:19;1792:107;1842:12;1876:5;1792:28;:107::i;:::-;1770:129;-1:-1:-1;1917:13:197;1933:38;:11;1770:129;1933:25;:38::i;:::-;1917:54;;1996:51;2024:4;2038:1;2030:5;:9;2041:5;1996:27;:51::i;:::-;1989:58;-1:-1:-1;;1596:7:197;;;;;-1:-1:-1;1560:502:197;;-1:-1:-1;1560:502:197;;-1:-1:-1;2082:4:197;1379:724;-1:-1:-1;;;1379:724:197:o;375:493:114:-;494:7;532:329;584:7;686:8;698:4;671:31;810:1;797:8;782:29;;815:4;781:38;837:10;532:34;:329::i;11953:315:0:-;12076:20;12174:4;12165:7;12161:18;12145:34;;12198:63;12217:12;12231:13;12246:7;:14;12198:18;:63::i;1401:914:211:-;1542:222;1568:4;1559:7;1556:17;1542:222;;1747:14;;1731:31;;1617:4;1650:18;;;;1696;;;;-1:-1:-1;;1604:18:211;1542:222;;;1795:7;1788:15;1778:521;;-1:-1:-1;;1913:1:211;1904:7;1900:15;1896:88;2239:5;2229:7;2223:14;2219:26;2186:5;2182:10;2172:7;2166:14;2162:31;2101:166;2072:7;2044:241;;1401:914;;;:::o;15753:547:30:-;15982:20;:35;;;15936:9;15916:102;15899:395;;16147:35;;;;16085:32;;;;39536:4:119;39446:86;;39445:95;16218:32:30;;;;39536:4:119;39446:86;;;39445:95;16050:233:30;;-1:-1:-1;;;16050:233:30;;;;;5036:25:282;;;;5077:18;;;5070:34;5009:18;;16050:233:30;4862:248:282;15899:395:30;15753:547;;:::o;7169:357::-;7403:20;:32;;;7354:13;7334:102;7317:203;;;7461:32;;;;;:48;7169:357::o;1472:1045:1:-;1568:7;1590:14;1608:18;1667:5;-1:-1:-1;;;;;1632:66:1;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1587:113;;;;;;;1726:1;1715:7;:12;1711:73;;1750:23;;-1:-1:-1;;;1750:23:1;;;;;8620:25:282;;;8593:18;;1750:23:1;8474:177:282;1711:73:1;2009:11;1978:28;1996:10;1978:15;:28;:::i;:::-;:42;1974:115;;;2043:35;;-1:-1:-1;;;2043:35:1;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;2043:35:1;4862:248:282;1974:115:1;2378:132;2445:5;-1:-1:-1;;;;;2423:37:1;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2378:132;;2480:16;2378:19;:7;:17;:19::i;:::-;:27;:132;4371:602:127;4498:7;4517:17;4563:10;522:2;4548:25;4544:423;;4596:2;4589:9;;;;;4544:423;4633:10;522:2;4619:24;4615:352;;;-1:-1:-1;522:2:127;4699:24;;;4758:33;4775:15;4699:24;4775:2;:15;:::i;:::-;4758:2;;:16;:33::i;:::-;4751:40;;;;;4615:352;-1:-1:-1;;;4862:24:127;;4921:35;4931:2;4862:24;4946:9;4921;:35::i;9720:190::-;9845:7;9871:32;:2;776:4;9889:2;9893:9;9871;:32::i;9196:190::-;9321:7;9347:32;:2;9357;776:4;9369:9;9347;:32::i;7572:496::-;7694:7;7717:8;:13;;7729:1;7717:13;7713:349;;-1:-1:-1;7753:2:127;7746:9;;7713:349;7787:1;7776:8;:12;;;7772:290;;;7811:39;7828:21;7840:8;7828:2;:21;:::i;:::-;7811:2;;:16;:39::i;:::-;7804:46;;;;7772:290;7943:35;7881:20;7964:13;;;7943:35;8013:38;8023:2;7943:35;8041:9;8013;:38::i;5297:626::-;5428:7;5447:17;522:2;5478:15;:30;5474:443;;5531:2;5524:9;;;;;5474:443;5568:15;522:2;5554:29;5550:367;;;5653:15;522:2;5639:29;5627:41;;5703:35;5713:2;5717:9;5728;5703;:35::i;5550:367::-;-1:-1:-1;;;5809:29:127;;5873:33;5890:15;5809:29;5890:2;:15;:::i;1474:217:279:-;1523:14;1568:1;1599;1642:13;;;1661;;;1679:1;1660:20;1641:40;1636:46;3069:92:275;2188:538:279;2227:14;2272:1;-1:-1:-1;;2284:26:279;;2280:88;;;2329:32;;-1:-1:-1;;;2329:32:279;;;;;8620:25:282;;;8593:18;;2329:32:279;8474:177:282;2280:88:279;-1:-1:-1;;2481:5:279;2474:13;;;2700:16;;;2566:21;;2689:28;2682:36;;2188:538::o;3119:124::-;3168:14;3199:41;3204:35;3218:1;1295:4:276;3236:1:279;3204:6;:35::i;:::-;3156:1:275;3069:92;3574:505:279;3612:14;3657:1;3760:22;3751:31;;3747:95;;3801:34;;-1:-1:-1;;;3801:34:279;;;;;8620:25:282;;;8593:18;;3801:34:279;8474:177:282;3747:95:279;540:20:276;3999:15:279;;4033:37;4038:31;1295:4:276;3999:15:279;4043:25;;3156:1:275;3069:92;4038:31:279;4472:14;4517:1;4625:6;4616:15;;4612:80;;4650:35;;-1:-1:-1;;;4650:35:279;;;;;8620:25:282;;;8593:18;;4650:35:279;8474:177:282;4612:80:279;4753:16;4772:21;1295:4:276;4782:2:279;4773:11;;;4772:21;:::i;:::-;4753:40;;4911:23;4916:17;4924:8;4916:7;:17::i;6406:678::-;6454:14;6499:1;6530;6542:10;;;:24;;-1:-1:-1;6556:10:279;;6542:24;6538:58;;;1420:1:276;6578:11:279;;;;;;6538:58;6720:13;;;6728:5;6720;:13;:5;6747:14;;;;:::i;:::-;;:23;6743:94;;6793:33;;-1:-1:-1;;;6793:33:279;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;6793:33:279;4862:248:282;6743:94:279;7054:21;7059:15;7067:6;7059:7;:15::i;7314:152::-;7352:14;7435:22;7454:1;7440:4;:16;;;;;:::i;7947:315::-;7984:14;8212:41;540:20:276;1295:4;8218:15:279;8225:7;8230:1;8225:4;:7::i;8218:15::-;:23;8217:35;;;;;:::i;8747:7194::-;8787:14;8832:1;1295:4:276;8844:13:279;;8840:79;;;8876:36;;-1:-1:-1;;;8876:36:279;;;;;8620:25:282;;;8593:18;;8876:36:279;8474:177:282;8840:79:279;9105:1;9120;9115:43;;;;9172:2;9167:44;;;;9225:3;9220:45;;;;9279:4;9274:46;;;;9334:5;9329:47;;;;9390:6;9385:48;;;;9447:7;9442:49;;;;9505:8;9500:50;;;;9564:9;9559:51;;;;9624:10;9619:52;;;;9685:11;9680:54;;;;9748:12;9743:55;;;;9812:13;9807:56;;;;9877:14;9872:57;;;;9943:15;9938:58;;;;10010:16;10005:59;;;;10078:17;10073:60;;;;10147:18;10142:61;;;;10217:19;10212:40;;;;10266:20;10261:45;;;;10320:21;10315:54;;;;10383:22;10378:55;;;;10447:23;10442:56;;;;10512:24;10507:57;;;;10578:25;10573:58;;;;10645:26;10640:59;;;;10713:27;10708:60;;;;10782:28;10777:61;;;;10852:29;10847:63;;;;10924:30;10919:64;;;;10997:31;10992:65;;;;11071:32;11066:66;;;;11146:33;11141:67;;;;11222:34;11217:68;;;;11299:35;11294:69;;;;11377:36;11372:70;;;;11456:37;11451:71;;;;11536:38;11531:72;;;;11617:39;11612:73;;;;11699:40;11694:74;;;;11782:41;11777:75;;;;11866:42;11861:76;;;;11951:43;11946:77;;;;12037:44;12032:78;;;;12124:45;12119:79;;;;12212:46;12207:80;;;;12301:47;12296:81;;;;12391:48;12386:82;;;;12482:49;12477:83;;;;12574:50;12569:84;;;;12667:51;12662:85;;;;12761:52;12756:86;;;;12856:53;12851:87;;;;12952:54;12947:88;;;;13049:55;13044:89;;;;13147:56;13142:90;;;;13246:57;13241:91;;;;13346:58;13341:92;;;;13447:59;13442:93;;;;13549:60;13544:94;;;;13652:61;13647:95;;;;13756:62;13751:96;;;;13861:63;13856:97;;;;13967:64;13962:98;;;;14074:65;14069:99;;;;14182:66;14177:100;;;;14291:67;14286:101;;;;14401:68;14396:102;;;;14512:69;14507:103;;;;14624:70;14619:104;;;;14737:71;14732:105;;;;14851:72;14846:106;;;;14966:73;14961:107;;;;15082:74;15077:108;;;;15199:75;15194:109;;;;-1:-1:-1;;;15312:110:279;;;;15436:77;15431:111;;;;15556:78;15551:112;;;;-1:-1:-1;;15694:22:279;;9098:6628;;9115:43;-1:-1:-1;;9134:22:279;-1:-1:-1;9115:43:279;;9167:44;-1:-1:-1;;9187:22:279;-1:-1:-1;9167:44:279;;9220:45;-1:-1:-1;;9241:22:279;-1:-1:-1;9220:45:279;;9274:46;-1:-1:-1;;9296:22:279;-1:-1:-1;9274:46:279;;9329:47;-1:-1:-1;;9352:22:279;-1:-1:-1;9329:47:279;;9385:48;-1:-1:-1;;9409:22:279;-1:-1:-1;9385:48:279;;9442:49;-1:-1:-1;;9467:22:279;-1:-1:-1;9442:49:279;;9500:50;-1:-1:-1;;9526:22:279;-1:-1:-1;9500:50:279;;9559:51;-1:-1:-1;;9586:22:279;-1:-1:-1;9559:51:279;;9619:52;-1:-1:-1;;9647:22:279;-1:-1:-1;9619:52:279;;9680:54;-1:-1:-1;;9709:23:279;-1:-1:-1;9680:54:279;;9743:55;-1:-1:-1;;9773:23:279;-1:-1:-1;9743:55:279;;9807:56;-1:-1:-1;;9838:23:279;-1:-1:-1;9807:56:279;;9872:57;-1:-1:-1;;9904:23:279;-1:-1:-1;9872:57:279;;9938:58;-1:-1:-1;;9971:23:279;-1:-1:-1;9938:58:279;;10005:59;-1:-1:-1;;10039:23:279;-1:-1:-1;10005:59:279;;10073:60;-1:-1:-1;;10108:23:279;-1:-1:-1;10073:60:279;;10142:61;-1:-1:-1;;10178:23:279;-1:-1:-1;10142:61:279;;10212:40;10249:1;10239:11;;10212:40;;10261:45;10299:5;10289:15;;10261:45;;10315:54;10354:13;;-1:-1:-1;10315:54:279;;10378:55;10418:13;;-1:-1:-1;10378:55:279;;10442:56;10483:13;;-1:-1:-1;10442:56:279;;10507:57;10549:13;;-1:-1:-1;10507:57:279;;10573:58;10616:13;;-1:-1:-1;10573:58:279;;10640:59;10684:13;;-1:-1:-1;10640:59:279;;10708:60;10753:13;;-1:-1:-1;10708:60:279;;10777:61;10823:13;;-1:-1:-1;10777:61:279;;10847:63;10894:14;;-1:-1:-1;10847:63:279;;10919:64;10967:14;;-1:-1:-1;10919:64:279;;10992:65;11041:14;;-1:-1:-1;10992:65:279;;11066:66;11116:14;;-1:-1:-1;11066:66:279;;11141:67;11192:14;;-1:-1:-1;11141:67:279;;11217:68;11269:14;;-1:-1:-1;11217:68:279;;11294:69;11347:14;;-1:-1:-1;11294:69:279;;11372:70;11426:14;;-1:-1:-1;11372:70:279;;11451:71;11506:14;;-1:-1:-1;11451:71:279;;11531:72;11587:14;;-1:-1:-1;11531:72:279;;11612:73;11669:14;;-1:-1:-1;11612:73:279;;11694:74;11752:14;;-1:-1:-1;11694:74:279;;11777:75;11836:14;;-1:-1:-1;11777:75:279;;11861:76;11921:14;;-1:-1:-1;11861:76:279;;11946:77;12007:14;;-1:-1:-1;11946:77:279;;12032:78;12094:14;;-1:-1:-1;12032:78:279;;12119:79;12182:14;;-1:-1:-1;12119:79:279;;12207:80;12271:14;;-1:-1:-1;12207:80:279;;12296:81;12361:14;;-1:-1:-1;12296:81:279;;12386:82;12452:14;;-1:-1:-1;12386:82:279;;12477:83;12544:14;;-1:-1:-1;12477:83:279;;12569:84;12637:14;;-1:-1:-1;12569:84:279;;12662:85;12731:14;;-1:-1:-1;12662:85:279;;12756:86;12826:14;;-1:-1:-1;12756:86:279;;12851:87;12922:14;;-1:-1:-1;12851:87:279;;12947:88;13019:14;;-1:-1:-1;12947:88:279;;13044:89;13117:14;;-1:-1:-1;13044:89:279;;13142:90;13216:14;;-1:-1:-1;13142:90:279;;13241:91;13316:14;;-1:-1:-1;13241:91:279;;13341:92;13417:14;;-1:-1:-1;13341:92:279;;13442:93;13519:14;;-1:-1:-1;13442:93:279;;13544:94;13622:14;;-1:-1:-1;13544:94:279;;13647:95;13726:14;;-1:-1:-1;13647:95:279;;13751:96;13831:14;;-1:-1:-1;13751:96:279;;13856:97;13937:14;;-1:-1:-1;13856:97:279;;13962:98;14044:14;;-1:-1:-1;13962:98:279;;14069:99;14152:14;;-1:-1:-1;14069:99:279;;14177:100;14261:14;;-1:-1:-1;14177:100:279;;14286:101;14371:14;;-1:-1:-1;14286:101:279;;14396:102;14482:14;;-1:-1:-1;14396:102:279;;14507:103;14594:14;;-1:-1:-1;14507:103:279;;14619:104;14707:14;;-1:-1:-1;14619:104:279;;14732:105;14821:14;;-1:-1:-1;14732:105:279;;14846:106;14936:14;;-1:-1:-1;14846:106:279;;14961:107;15052:14;;-1:-1:-1;14961:107:279;;15077:108;15169:14;;-1:-1:-1;15077:108:279;;15194:109;15287:14;;-1:-1:-1;15194:109:279;;15312:110;15406:14;;-1:-1:-1;15312:110:279;;15431:111;15526:14;;-1:-1:-1;15431:111:279;;15551:112;15647:14;;-1:-1:-1;9098:6628:279;-1:-1:-1;;;15749:6:279;15742:30;15738:201;;15880:42;400:20:276;1295:4;15886:15:279;15893:7;15898:1;16523:1380;16562:14;16607:1;1295:4:276;16620:13:279;;16616:79;;;16652:36;;-1:-1:-1;;;16652:36:279;;;;;8620:25:282;;;8593:18;;16652:36:279;8474:177:282;16616:79:279;16836:9;16848:18;1295:4:276;16852:5:279;:13;4024:1:260;3049:34;3043:41;;3040:1;3036:49;3099:14;;;3235:18;3229:25;;3226:1;3222:33;3269:14;;;3405:10;3399:17;;3396:1;3392:25;3431:14;;;3567:6;3561:13;;3558:1;3554:21;3589:14;;;3724:4;3718:11;;3715:1;3711:19;;;3744:14;;;3879:3;3873:10;;3870:1;3866:18;3898:14;;;4027:10;;;4020:18;;4052:14;;;4210:10;;;;3302:18;;;;3464;;;;3622;3777;3931;;;;4085;;;;4239;;2914:1351;16848:18:279;16836:30;-1:-1:-1;1295:4:276;17058:9:279;;17127:10;;;-1:-1:-1;;17203:10:279;;17199:64;;-1:-1:-1;17241:10:279;17229:23;-1:-1:-1;;;;16523:1380:279:o;17199:64::-;17467:4;268:6:276;17481:379:279;17514:9;;17481:379;;1295:4:276;17557:5:279;;;17556:15;17552:19;;17648:11;17643:1;:16;17639:211;;17738:19;;;;17834:1;17828:7;;;;;17639:211;17535:1;17525:11;17481:379;;;-1:-1:-1;17883:10:279;;17869:25;-1:-1:-1;;;;;;16523:1380:279:o;18212:119::-;18261:14;18292:36;18297:30;18313:1;18324;18297:8;:30::i;18792:340::-;18841:14;18886:1;18917;18930:10;;;18926:204;;18961:10;;:24;;1420:1:276;18961:24:279;;;1295:4:276;18961:24:279;18952:33;;18926:204;;;1295:4:276;19012:5:279;:14;19008:116;;19051:1;19042:10;;19008:116;;;19092:21;19097:15;19101:7;19106:1;19101:4;:7::i;:::-;19110:1;19097:3;:15::i;19008:116::-;18857:275;;18792:340;;;;:::o;19636:529::-;19686:14;19792:1;19686:14;19825:1;19821:5;;:25;;1295:4:276;19821:25:279;;;19833:5;19821:25;19800:46;;19926:1;19920:7;;;;;19915:217;19929:5;;19915:217;;19963:22;19972:5;19979;19963:8;:22::i;:::-;19955:30;-1:-1:-1;20054:1:279;20050:5;;:9;20046:80;;20088:27;20097:10;20109:5;20088:8;:27::i;:::-;20075:40;;20046:80;19942:1;19936:7;;;;;19915:217;;;20151:10;20146:16;3069:92:275;20555:467:279;20594:14;20639:1;20680:20;20672:28;;20668:98;;;20723:32;;-1:-1:-1;;;20723:32:279;;;;;8620:25:282;;;8593:18;;20723:32:279;8474:177:282;20668:98:279;20985:28;20990:22;1295:4:276;20998:5:279;:13;20990:7;:22::i;2679:458:196:-;2798:7;2782:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;2954:5:::1;2963:1;2954:10:::0;2950:57:::1;;2991:1;2984:8;;;;2950:57;-1:-1:-1::0;;;;3040:9:196;3053:2:::1;3039:16;3099:18;3076:44;;::::0;2679:458::o;4207:406::-;4353:7;4337:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;-1:-1:-1;;4422:2:196::1;4414:10:::0;;;::::1;4574:21:::0;;::::1;392:16:195;4501:44:196::0;;::::1;4492:54;4462:84:::0;;;::::1;4461:135;::::0;4207:406::o;5077:649::-;5264:7;5245:8;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;5307:15:::1;5354:10:::0;5336:346:::1;5371:8;5366:2;:13;5336:346;;;392:16:195;5420:2:196;5415:7:::0;::::1;5543:44:::0;;::::1;5505:108;5471:142:::0;;;::::1;5645:21:::0;;::::1;5470:197;::::0;5415:7;-1:-1:-1;5381:4:196::1;;5336:346;;;-1:-1:-1::0;5702:7:196;;5077:649;-1:-1:-1;;;;;;5077:649:196:o;14349:512:0:-;14594:7;14588:4;14584:18;14570:12;14566:37;14532:313;14635:4;14621:12;14618:22;14532:313;;;14811:19;;14789:42;;14693:4;14675:23;;;;14732:24;;;;14532:313;;;14536:81;14349:512;;;:::o;17198:168:259:-;17254:7;17290:1;17281:5;:10;;17273:55;;;;-1:-1:-1;;;17273:55:259;;17699:2:282;17273:55:259;;;17681:21:282;;;17718:18;;;17711:30;17777:34;17757:18;;;17750:62;17829:18;;17273:55:259;17497:356:282;17273:55:259;-1:-1:-1;17353:5:259;17198:168::o;8503:350:127:-;8634:7;;8666:18;8672:12;8666:2;:18;:::i;:::-;8653:31;-1:-1:-1;8694:15:127;8712:7;8653:31;8712:2;:7;:::i;:::-;8694:25;-1:-1:-1;8746:16:127;8733:9;:29;;;;;;;;:::i;:::-;;:51;;;;-1:-1:-1;8772:12:127;8782:2;8772:7;:12;:::i;:::-;8766:2;:18;;8733:51;8729:94;;;8800:12;8811:1;8800:12;;:::i;5735:337:258:-;5874:7;5893:14;5910:25;5917:1;5920;5923:11;5910:6;:25::i;:::-;5893:42;-1:-1:-1;5961:11:258;5949:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6004:1;5989:11;5976:25;;;;;:::i;:::-;5986:1;5983;5976:25;:29;5945:98;;;6021:11;6031:1;6021:11;;:::i;4790:3691:260:-;4863:14;;;-1:-1:-1;;5340:1:260;5337;5330:20;5375:1;5372;5368:9;5359:18;;5422:5;5418:2;5415:13;5407:5;5403:2;5399:14;5395:34;5386:43;;;5500:5;5509:1;5500:10;5496:93;;5561:11;5553:5;:19;;;;;:::i;:::-;;5546:26;;;;;;5496:93;5688:11;5679:5;:20;5675:92;;5718:42;;-1:-1:-1;;;5718:42:260;;;;;18060:25:282;;;18101:18;;;18094:34;;;18144:18;;;18137:34;;;18033:18;;5718:42:260;17858:319:282;5675:92:260;5982:17;6129:11;6126:1;6123;6116:25;7462:1;6639;6624:12;;:16;;6609:32;;6751:25;;;;7443:1;:15;;7442:21;;7683;;;7679:25;;7668:36;7748:21;;;7744:25;;7733:36;7814:21;;;7810:25;;7799:36;7880:21;;;7876:25;;7865:36;7946:21;;;7942:25;;7931:36;8013:21;;;8009:25;;;7998:36;;;6591:15;7001;;;6997:29;;;6993:37;;;6227:20;;;6216:32;;;7107:15;;;;6266:21;;6847:19;;;;7098:24;;;;8457:15;;;-1:-1:-1;;;;4790:3691:260:o;12663:8768::-;-1:-1:-1;;;13102:18:260;13098:22;;:26;13094:1023;;13148:18;13144:22;;:26;13140:110;;13209:19;13200:28;13233:2;13199:36;13140:110;13271:18;13267:22;;:26;13263:110;;13332:19;13323:28;13356:2;13322:36;13263:110;13394:18;13390:22;;:26;13386:110;;13455:19;13446:28;13479:2;13445:36;13386:110;13517:18;13513:22;;:26;13509:110;;13578:19;13569:28;13602:2;13568:36;13509:110;13640:17;13636:21;;:25;13632:109;;13700:19;13691:28;13724:2;13690:36;13632:109;13762:17;13758:21;;:25;13754:109;;13822:19;13813:28;13846:2;13812:36;13754:109;13884:17;13880:21;;:25;13876:109;;13944:19;13935:28;13968:2;13934:36;13876:109;14006:17;14002:21;;:25;13998:109;;14066:19;14057:28;14090:2;14056:36;13998:109;14135:16;14131:20;;:24;14127:1005;;14179:16;14175:20;;:24;14171:108;;14238:19;14229:28;14262:2;14228:36;14171:108;14300:16;14296:20;;:24;14292:108;;14359:19;14350:28;14383:2;14349:36;14292:108;14421:16;14417:20;;:24;14413:108;;14480:19;14471:28;14504:2;14470:36;14413:108;14542:16;14538:20;;:24;14534:108;;14601:19;14592:28;14625:2;14591:36;14534:108;14663:15;14659:19;;:23;14655:107;;14721:19;14712:28;14745:2;14711:36;14655:107;14783:15;14779:19;;:23;14775:107;;14841:19;14832:28;14865:2;14831:36;14775:107;14903:15;14899:19;;:23;14895:107;;14961:19;14952:28;14985:2;14951:36;14895:107;15023:15;15019:19;;:23;15015:107;;15081:19;15072:28;15105:2;15071:36;15015:107;15150:14;15146:18;;:22;15142:987;;15192:14;15188:18;;:22;15184:106;;15249:19;15240:28;15273:2;15239:36;15184:106;15311:14;15307:18;;:22;15303:106;;15368:19;15359:28;15392:2;15358:36;15303:106;15430:14;15426:18;;:22;15422:106;;15487:19;15478:28;15511:2;15477:36;15422:106;15549:14;15545:18;;:22;15541:106;;15606:19;15597:28;15630:2;15596:36;15541:106;15668:13;15664:17;;:21;15660:105;;15724:19;15715:28;15748:2;15714:36;15660:105;15786:13;15782:17;;:21;15778:105;;15842:19;15833:28;15866:2;15832:36;15778:105;15904:13;15900:17;;:21;15896:105;;15960:19;15951:28;15984:2;15950:36;15896:105;16022:13;16018:17;;:21;16014:105;;16078:19;16069:28;16102:2;16068:36;16014:105;16147:12;16143:16;;:20;16139:969;;16187:12;16183:16;;:20;16179:104;;16242:19;16233:28;16266:2;16232:36;16179:104;16304:12;16300:16;;:20;16296:104;;16359:19;16350:28;16383:2;16349:36;16296:104;16421:12;16417:16;;:20;16413:104;;16476:19;16467:28;16500:2;16466:36;16413:104;16538:12;16534:16;;:20;16530:104;;16593:19;16584:28;16617:2;16583:36;16530:104;16655:11;16651:15;;:19;16647:103;;16709:19;16700:28;16733:2;16699:36;16647:103;16771:11;16767:15;;:19;16763:103;;16825:19;16816:28;16849:2;16815:36;16763:103;16887:11;16883:15;;:19;16879:103;;16941:19;16932:28;16965:2;16931:36;16879:103;17003:11;16999:15;;:19;16995:103;;17057:19;17048:28;17081:2;17047:36;16995:103;17126:12;17122:16;;:20;17118:953;;17166:10;17162:14;;:18;17158:102;;17219:19;17210:28;17243:2;17209:36;17158:102;17281:10;17277:14;;:18;17273:102;;17334:19;17325:28;17358:2;17324:36;17273:102;17396:10;17392:14;;:18;17388:102;;17449:19;17440:28;17473:2;17439:36;17388:102;17511:10;17507:14;;:18;17503:102;;17564:19;17555:28;17588:2;17554:36;17503:102;17626:9;17622:13;;:17;17618:101;;17678:19;17669:28;17702:2;17668:36;17618:101;17740:9;17736:13;;:17;17732:101;;17792:19;17783:28;17816:2;17782:36;17732:101;17854:9;17850:13;;:17;17846:101;;17906:19;17897:28;17930:2;17896:36;17846:101;17968:9;17964:13;;:17;17960:101;;18020:19;18011:28;18044:2;18010:36;17960:101;18089:8;18085:12;;:16;18081:933;;18125:8;18121:12;;:16;18117:100;;18176:19;18167:28;18200:2;18166:36;18117:100;18238:8;18234:12;;:16;18230:100;;18289:19;18280:28;18313:2;18279:36;18230:100;18351:8;18347:12;;:16;18343:100;;18402:19;18393:28;18426:2;18392:36;18343:100;18464:8;18460:12;;:16;18456:100;;18515:19;18506:28;18539:2;18505:36;18456:100;18577:7;18573:11;;:15;18569:99;;18627:19;18618:28;18651:2;18617:36;18569:99;18689:7;18685:11;;:15;18681:99;;18739:19;18730:28;18763:2;18729:36;18681:99;18801:7;18797:11;;:15;18793:99;;18851:19;18842:28;18875:2;18841:36;18793:99;18913:7;18909:11;;:15;18905:99;;18963:19;18954:28;18987:2;18953:36;18905:99;19032:6;19028:10;;:14;19024:915;;19066:6;19062:10;;:14;19058:98;;19115:19;19106:28;19139:2;19105:36;19058:98;19177:6;19173:10;;:14;19169:98;;19226:19;19217:28;19250:2;19216:36;19169:98;19288:6;19284:10;;:14;19280:98;;19337:19;19328:28;19361:2;19327:36;19280:98;19399:6;19395:10;;:14;19391:98;;19448:19;19439:28;19472:2;19438:36;19391:98;19510:5;19506:9;;:13;19502:97;;19558:19;19549:28;19582:2;19548:36;19502:97;19620:5;19616:9;;:13;19612:97;;19668:19;19659:28;19692:2;19658:36;19612:97;19730:5;19726:9;;:13;19722:97;;19778:19;19769:28;19802:2;19768:36;19722:97;19840:5;19836:9;;:13;19832:97;;19888:19;19879:28;19912:2;19878:36;19832:97;19957:4;19953:8;;:12;19949:897;;19989:4;19985:8;;:12;19981:96;;20036:19;20027:28;20060:2;20026:36;19981:96;20098:4;20094:8;;:12;20090:96;;20145:19;20136:28;20169:2;20135:36;20090:96;20207:4;20203:8;;:12;20199:96;;20254:19;20245:28;20278:2;20244:36;20199:96;20316:4;20312:8;;:12;20308:96;;20363:19;20354:28;20387:2;20353:36;20308:96;20425:3;20421:7;;:11;20417:95;;20471:19;20462:28;20495:2;20461:36;20417:95;20533:3;20529:7;;:11;20525:95;;20579:19;20570:28;20603:2;20569:36;20525:95;20641:3;20637:7;;:11;20633:95;;20687:19;20678:28;20711:2;20677:36;20633:95;20749:3;20745:7;;:11;20741:95;;20795:19;20786:28;20819:2;20785:36;20741:95;1525:4;21370:14;21418:2;21413:7;;;;21406:3;:15;21394:28;;12663:8768::o;21912:2318::-;21954:14;21980:1;21985;21980:6;21976:37;;-1:-1:-1;22005:1:260;;21912:2318;-1:-1:-1;21912:2318:260:o;21976:37::-;-1:-1:-1;22774:1:260;22757;-1:-1:-1;;;22785:16:260;;22781:74;;22846:2;22835:13;;;;;22822:3;22813:12;22781:74;22872:7;22864:4;:15;22860:72;;22923:2;22912:13;;;;;22900:2;22891:11;22860:72;22949:7;22941:4;:15;22937:72;;23000:2;22989:13;;;;;22977:2;22968:11;22937:72;23026:7;23018:4;:15;23014:71;;23077:1;23066:12;;;;;23054:2;23045:11;23014:71;23102:6;23094:4;:14;23090:69;;23151:1;23140:12;;;;;23129:1;23120:10;23090:69;23176:6;23168:4;:14;23164:69;;23225:1;23214:12;;;;;23203:1;23194:10;23164:69;23250:6;23242:4;:14;23238:49;;23279:1;23268:12;;;;;23238:49;23740:1;23729:6;23725:1;:10;;;;;:::i;:::-;;23716:6;:19;23715:26;;23706:35;;23785:1;23774:6;23770:1;:10;;;;;:::i;:::-;;23761:6;:19;23760:26;;23751:35;;23830:1;23819:6;23815:1;:10;;;;;:::i;:::-;;23806:6;:19;23805:26;;23796:35;;23875:1;23864:6;23860:1;:10;;;;;:::i;:::-;;23851:6;:19;23850:26;;23841:35;;23920:1;23909:6;23905:1;:10;;;;;:::i;:::-;;23896:6;:19;23895:26;;23886:35;;23965:1;23954:6;23950:1;:10;;;;;:::i;:::-;;23941:6;:19;23940:26;;23931:35;;24010:1;23999:6;23995:1;:10;;;;;:::i;:::-;;23986:6;:19;23985:26;;23976:35;;24090:25;24122:6;24118:1;:10;;;;;:::i;:::-;;24090:38;;24152:17;24142:6;:27;24138:84;;24194:17;24185:26;;24138:84;23686:542;21970:2260;21912:2318;;;:::o;9536:821::-;9590:14;;;-1:-1:-1;;9705:1:260;9702;9695:20;9740:1;9737;9733:9;9724:18;;9787:5;9783:2;9780:13;9772:5;9768:2;9764:14;9760:34;9751:43;;;1525:4;9810:5;:13;9806:74;;9842:31;;-1:-1:-1;;;9842:31:260;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;9842:31:260;4862:248:282;9806:74:260;9886:17;9970:4;9967:1;9964;9957:18;9944:31;;9991:5;10000:1;9991:10;9987:86;;-1:-1:-1;;1525:4:260;10044:12;;;-1:-1:-1;10037:19:260;;9987:86;10283:10;10165:21;;;10161:38;10232:20;-1:-1:-1;10221:32:260;;-1:-1:-1;;;10217:82:260;10141:172;10327:12;10124:225;;-1:-1:-1;9536:821:260;;;;:::o;1678:3925:258:-;1790:14;;;-1:-1:-1;;2327:1:258;2324;2317:20;2370:1;2367;2363:9;2354:18;;2425:5;2421:2;2418:13;2410:5;2406:2;2402:14;2398:34;2389:43;;;2527:5;2536:1;2527:10;2523:75;;2572:11;2564:5;:19;;;;;:::i;2523:75::-;2722:5;2708:11;:19;2700:28;;;;;-1:-1:-1;;;:::i;:::-;:::o;14:286:282:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:282;;209:43;;199:71;;266:1;263;256:12;729:127;790:10;785:3;781:20;778:1;771:31;821:4;818:1;811:15;845:4;842:1;835:15;861:275;932:2;926:9;997:2;978:13;;-1:-1:-1;;974:27:282;962:40;;1032:18;1017:34;;1053:22;;;1014:62;1011:88;;;1079:18;;:::i;:::-;1115:2;1108:22;861:275;;-1:-1:-1;861:275:282:o;1141:181::-;1199:4;1232:18;1224:6;1221:30;1218:56;;;1254:18;;:::i;:::-;-1:-1:-1;1299:1:282;1295:14;1311:4;1291:25;;1141:181::o;1327:660::-;1381:5;1434:3;1427:4;1419:6;1415:17;1411:27;1401:55;;1452:1;1449;1442:12;1401:55;1488:6;1475:20;1514:4;1538:58;1554:41;1592:2;1554:41;:::i;:::-;1538:58;:::i;:::-;1630:15;;;1716:1;1712:10;;;;1700:23;;1696:32;;;1661:12;;;;1740:15;;;1737:35;;;1768:1;1765;1758:12;1737:35;1804:2;1796:6;1792:15;1816:142;1832:6;1827:3;1824:15;1816:142;;;1898:17;;1886:30;;1936:12;;;;1849;;1816:142;;;-1:-1:-1;1976:5:282;1327:660;-1:-1:-1;;;;;;1327:660:282:o;1992:2186::-;2153:6;2161;2169;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2278:9;2265:23;2307:18;2348:2;2340:6;2337:14;2334:34;;;2364:1;2361;2354:12;2334:34;2402:6;2391:9;2387:22;2377:32;;2447:7;2440:4;2436:2;2432:13;2428:27;2418:55;;2469:1;2466;2459:12;2418:55;2505:2;2492:16;2527:4;2551:58;2567:41;2605:2;2567:41;:::i;2551:58::-;2643:15;;;2725:1;2721:10;;;;2713:19;;2709:28;;;2674:12;;;;2749:19;;;2746:39;;;2781:1;2778;2771:12;2746:39;2813:2;2809;2805:11;2825:955;2841:6;2836:3;2833:15;2825:955;;;2927:3;2914:17;2963:2;2950:11;2947:19;2944:109;;;3007:1;3036:2;3032;3025:14;2944:109;3076:20;;3131:2;3123:11;;3119:25;-1:-1:-1;3109:123:282;;3186:1;3215:2;3211;3204:14;3109:123;3276:2;3272;3268:11;3255:25;3303:2;3328;3324;3321:10;3318:36;;;3334:18;;:::i;:::-;3380:53;3423:2;3404:13;;-1:-1:-1;;3400:27:282;3396:36;;3380:53;:::i;:::-;3460:2;3453:5;3446:17;3504:7;3499:2;3494;3490;3486:11;3482:20;3479:33;3476:126;;;3554:1;3584:3;3579;3572:16;3476:126;3657:2;3652;3648;3644:11;3639:2;3632:5;3628:14;3615:45;3705:1;3684:14;;;3680:23;;3673:34;;;;-1:-1:-1;3720:18:282;;-1:-1:-1;3758:12:282;;;;2858;;2825:955;;;-1:-1:-1;3799:5:282;-1:-1:-1;;3842:18:282;;3829:32;;-1:-1:-1;;3873:16:282;;;3870:36;;;3902:1;3899;3892:12;3870:36;3925:63;3980:7;3969:8;3958:9;3954:24;3925:63;:::i;:::-;3915:73;;4041:2;4030:9;4026:18;4013:32;3997:48;;4070:2;4060:8;4057:16;4054:36;;;4086:1;4083;4076:12;4054:36;;4109:63;4164:7;4153:8;4142:9;4138:24;4109:63;:::i;:::-;4099:73;;;1992:2186;;;;;:::o;5115:127::-;5176:10;5171:3;5167:20;5164:1;5157:31;5207:4;5204:1;5197:15;5231:4;5228:1;5221:15;5247:127;5308:10;5303:3;5299:20;5296:1;5289:31;5339:4;5336:1;5329:15;5363:4;5360:1;5353:15;5379:120;5419:1;5445;5435:35;;5450:18;;:::i;:::-;-1:-1:-1;5484:9:282;;5379:120::o;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:135;5675:3;5696:17;;;5693:43;;5716:18;;:::i;:::-;-1:-1:-1;5763:1:282;5752:13;;5636:135::o;5776:435::-;5829:3;5867:5;5861:12;5894:6;5889:3;5882:19;5920:4;5949:2;5944:3;5940:12;5933:19;;5986:2;5979:5;5975:14;6007:1;6017:169;6031:6;6028:1;6025:13;6017:169;;;6092:13;;6080:26;;6126:12;;;;6161:15;;;;6053:1;6046:9;6017:169;;;-1:-1:-1;6202:3:282;;5776:435;-1:-1:-1;;;;;5776:435:282:o;6216:1682::-;6560:4;6608:3;6597:9;6593:19;6668:1;6664;6659:3;6655:11;6651:19;6643:6;6639:32;6628:9;6621:51;6691:2;6729:3;6724:2;6713:9;6709:18;6702:31;6753:6;6788;6782:13;6819:6;6811;6804:22;6857:3;6846:9;6842:19;6835:26;;6920:3;6910:6;6907:1;6903:14;6892:9;6888:30;6884:40;6870:54;;6959:2;6951:6;6947:15;6980:1;7001;7011:635;7027:6;7022:3;7019:15;7011:635;;;7096:22;;;-1:-1:-1;;7092:37:282;7080:50;;7153:13;;7195:9;;7217:24;;;7265:1;7279:157;7295:8;7290:3;7287:17;7279:157;;;7403:12;;;7399:21;;7393:28;7370:16;;;7366:25;;7359:63;7314:12;;7279:157;;;-1:-1:-1;7460:21:282;;;7456:30;;7449:41;;;7556:2;7533:17;-1:-1:-1;;7529:31:282;7517:44;;;7513:53;;;-1:-1:-1;7624:12:282;;;;7589:15;;;;7053:1;7044:11;7011:635;;;7015:3;;;;;;7694:9;7686:6;7682:22;7677:2;7666:9;7662:18;7655:50;7728:44;7765:6;7757;7728:44;:::i;:::-;7714:58;;7820:9;7812:6;7808:22;7803:2;7792:9;7788:18;7781:50;7848:44;7885:6;7877;7848:44;:::i;8212:125::-;8277:9;;;8298:10;;;8295:36;;;8311:18;;:::i;8342:127::-;8403:10;8398:3;8394:20;8391:1;8384:31;8434:4;8431:1;8424:15;8458:4;8455:1;8448:15;8656:543;8874:13;;8817:3;;8848;;8927:4;8954:15;;;8817:3;8997:175;9011:6;9008:1;9005:13;8997:175;;;9074:13;;9060:28;;9110:14;;;;9147:15;;;;9033:1;9026:9;8997:175;;;-1:-1:-1;9188:5:282;;8656:543;-1:-1:-1;;;;;;8656:543:282:o;9483:184::-;9553:6;9606:2;9594:9;9585:7;9581:23;9577:32;9574:52;;;9622:1;9619;9612:12;9574:52;-1:-1:-1;9645:16:282;;9483:184;-1:-1:-1;9483:184:282:o;9672:832::-;9940:2;9952:21;;;10022:13;;9925:18;;;10044:22;;;9892:4;;10119;;10097:2;10082:18;;;10146:15;;;9892:4;10189:195;10203:6;10200:1;10197:13;10189:195;;;10268:13;;-1:-1:-1;;;;;10264:39:282;10252:52;;10324:12;;;;10359:15;;;;10300:1;10218:9;10189:195;;;10193:3;;;10429:9;10424:3;10420:19;10415:2;10404:9;10400:18;10393:47;10457:41;10494:3;10486:6;10457:41;:::i;10509:879::-;10604:6;10635:2;10678;10666:9;10657:7;10653:23;10649:32;10646:52;;;10694:1;10691;10684:12;10646:52;10727:9;10721:16;10760:18;10752:6;10749:30;10746:50;;;10792:1;10789;10782:12;10746:50;10815:22;;10868:4;10860:13;;10856:27;-1:-1:-1;10846:55:282;;10897:1;10894;10887:12;10846:55;10926:2;10920:9;10949:58;10965:41;11003:2;10965:41;:::i;10949:58::-;11041:15;;;11123:1;11119:10;;;;11111:19;;11107:28;;;11072:12;;;;11147:19;;;11144:39;;;11179:1;11176;11169:12;11144:39;11203:11;;;;11223:135;11239:6;11234:3;11231:15;11223:135;;;11305:10;;11293:23;;11256:12;;;;11336;;;;11223:135;;11601:290;11671:6;11724:2;11712:9;11703:7;11699:23;11695:32;11692:52;;;11740:1;11737;11730:12;11692:52;11766:16;;-1:-1:-1;;;;;11811:31:282;;11801:42;;11791:70;;11857:1;11854;11847:12;11896:422;11985:1;12028:5;11985:1;12042:270;12063:7;12053:8;12050:21;12042:270;;;12122:4;12118:1;12114:6;12110:17;12104:4;12101:27;12098:53;;;12131:18;;:::i;:::-;12181:7;12171:8;12167:22;12164:55;;;12201:16;;;;12164:55;12280:22;;;;12240:15;;;;12042:270;;;12046:3;11896:422;;;;;:::o;12323:806::-;12372:5;12402:8;12392:80;;-1:-1:-1;12443:1:282;12457:5;;12392:80;12491:4;12481:76;;-1:-1:-1;12528:1:282;12542:5;;12481:76;12573:4;12591:1;12586:59;;;;12659:1;12654:130;;;;12566:218;;12586:59;12616:1;12607:10;;12630:5;;;12654:130;12691:3;12681:8;12678:17;12675:43;;;12698:18;;:::i;:::-;-1:-1:-1;;12754:1:282;12740:16;;12769:5;;12566:218;;12868:2;12858:8;12855:16;12849:3;12843:4;12840:13;12836:36;12830:2;12820:8;12817:16;12812:2;12806:4;12803:12;12799:35;12796:77;12793:159;;;-1:-1:-1;12905:19:282;;;12937:5;;12793:159;12984:34;13009:8;13003:4;12984:34;:::i;:::-;13054:6;13050:1;13046:6;13042:19;13033:7;13030:32;13027:58;;;13065:18;;:::i;:::-;13103:20;;12323:806;-1:-1:-1;;;12323:806:282:o;13134:131::-;13194:5;13223:36;13250:8;13244:4;13223:36;:::i;13270:112::-;13302:1;13328;13318:35;;13333:18;;:::i;:::-;-1:-1:-1;13367:9:282;;13270:112::o;13387:168::-;13460:9;;;13491;;13508:15;;;13502:22;;13488:37;13478:71;;13529:18;;:::i;13560:128::-;13627:9;;;13648:11;;;13645:37;;;13662:18;;:::i;14073:276::-;14159:6;14212:2;14200:9;14191:7;14187:23;14183:32;14180:52;;;14228:1;14225;14218:12;14180:52;14260:9;14254:16;14299:1;14292:5;14289:12;14279:40;;14315:1;14312;14305:12;14577:358;-1:-1:-1;;;;;14784:32:282;;14766:51;;14853:2;14848;14833:18;;14826:30;;;-1:-1:-1;;14873:56:282;;14910:18;;14902:6;14873:56;:::i;14940:429::-;15204:1;15200;15195:3;15191:11;15187:19;15179:6;15175:32;15164:9;15157:51;15244:6;15239:2;15228:9;15224:18;15217:34;15287:2;15282;15271:9;15267:18;15260:30;15138:4;15307:56;15359:2;15348:9;15344:18;15336:6;15307:56;:::i;15374:179::-;15452:13;;15505:22;15494:34;;15484:45;;15474:73;;15543:1;15540;15533:12;15558:473;15661:6;15669;15677;15685;15693;15746:3;15734:9;15725:7;15721:23;15717:33;15714:53;;;15763:1;15760;15753:12;15714:53;15786:39;15815:9;15786:39;:::i;:::-;15776:49;;15865:2;15854:9;15850:18;15844:25;15834:35;;15909:2;15898:9;15894:18;15888:25;15878:35;;15953:2;15942:9;15938:18;15932:25;15922:35;;15976:49;16020:3;16009:9;16005:19;15976:49;:::i;:::-;15966:59;;15558:473;;;;;;;;:::o;16216:273::-;16284:6;16337:2;16325:9;16316:7;16312:23;16308:32;16305:52;;;16353:1;16350;16343:12;16305:52;16385:9;16379:16;16435:4;16428:5;16424:16;16417:5;16414:27;16404:55;;16455:1;16452;16445:12;16494:140;16552:5;16581:47;16622:4;16612:8;16608:19;16602:4;16581:47;:::i;17161:331::-;17363:2;17345:21;;;17402:1;17382:18;;;17375:29;-1:-1:-1;;;17435:2:282;17420:18;;17413:38;17483:2;17468:18;;17161:331::o;18182:127::-;18243:10;18238:3;18234:20;18231:1;18224:31;18274:4;18271:1;18264:15;18298:4;18295:1;18288:15", + "linkReferences": {}, + "immutableReferences": { + "18420": [ + { + "start": 126, + "length": 32 + }, + { + "start": 819, + "length": 32 + } + ], + "18423": [ + { + "start": 250, + "length": 32 + }, + { + "start": 853, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "deployExpression(bytes[],uint256[],uint256[])": "5511cb67", + "interpreter()": "3a35cf17", + "store()": "975057e7", + "supportsInterface(bytes4)": "01ffc9a7" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct RainterpreterExpressionDeployerConstructionConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"}],\"name\":\"DoWhileMaxInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputs\",\"type\":\"uint256\"}],\"name\":\"InsufficientLoopOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minStackOutputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualStackOutputs\",\"type\":\"uint256\"}],\"name\":\"MinFinalStack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MinStackBottom\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedEntrypoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualEntrypoints\",\"type\":\"uint256\"}],\"name\":\"MissingEntrypoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"}],\"name\":\"NotPosIntPrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"constantsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"constantsRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsConstantsRead\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackTopIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsStackRead\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Ceil_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp2_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"UD60x18\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Gm_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Log_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Sqrt_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackHighwaterIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackTopIndex\",\"type\":\"uint256\"}],\"name\":\"StackPopUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"staleAfter\",\"type\":\"uint256\"}],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"startBit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"TruncatedEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedInterpreterBytecodeHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualOpMeta\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedOpMetaHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"actualPointers\",\"type\":\"bytes\"}],\"name\":\"UnexpectedPointers\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedStoreBytecodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WriteError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroInputs\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"opMeta\",\"type\":\"bytes\"}],\"name\":\"DISpair\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"name\":\"ExpressionAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"sources\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"NewExpression\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"sources_\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256[]\",\"name\":\"constants_\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minOutputs_\",\"type\":\"uint256[]\"}],\"name\":\"deployExpression\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interpreter\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"store\",\"outputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"MinFinalStack(uint256,uint256)\":[{\"params\":{\"actualStackOutputs\":\"The final stack height after evaluating a source. Will be less than the min stack outputs if this error is thrown.\",\"minStackOutputs\":\"The required minimum stack height.\"}}],\"MissingEntrypoint(uint256,uint256)\":[{\"details\":\"There are more entrypoints defined by the minimum stack outputs than there are provided sources. This means the calling contract WILL attempt to eval a dangling reference to a non-existent source at some point, so this MUST REVERT.\"}],\"NotPosIntPrice(int256)\":[{\"params\":{\"price\":\"The price that is not a positive integer.\"}}],\"StackPopUnderflow(uint256,uint256)\":[{\"params\":{\"stackHighwaterIndex\":\"Index of the stack highwater at the moment of underflow.\",\"stackTopIndex\":\"Index of the stack top at the moment of underflow.\"}}],\"StalePrice(uint256,uint256)\":[{\"params\":{\"staleAfter\":\"The maximum number of seconds the caller allows between the block timestamp and the updated time.\",\"updatedAt\":\"The latest time the oracle was updated according to the oracle.\"}}],\"TruncatedEncoding(uint256,uint256)\":[{\"params\":{\"length\":\"The length of the OOB encoding.\",\"startBit\":\"The start of the OOB encoding.\"}}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the interpreter address upon construction.\"}}],\"UnexpectedPointers(bytes)\":[{\"details\":\"Thrown when the pointers known to the expression deployer DO NOT match the interpreter it is constructed for. This WILL cause undefined expression behaviour so MUST REVERT.\",\"params\":{\"actualPointers\":\"The actual function pointers found at the interpreter address upon construction.\"}}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the store address upon construction.\"}}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"params\":{\"opMeta\":\"The raw binary data of the op meta. Maybe compressed data etc. and is intended for offchain consumption.\",\"sender\":\"The `msg.sender` providing the op meta.\"}},\"ExpressionAddress(address,address)\":{\"params\":{\"expression\":\"The address of the deployed expression.\",\"sender\":\"The caller of `deployExpression`.\"}},\"NewExpression(address,bytes[],uint256[],uint256[])\":{\"params\":{\"constants\":\"As per `IExpressionDeployerV1`.\",\"minOutputs\":\"As per `IExpressionDeployerV1`.\",\"sender\":\"The caller of `deployExpression`.\",\"sources\":\"As per `IExpressionDeployerV1`.\"}}},\"kind\":\"dev\",\"methods\":{\"deployExpression(bytes[],uint256[],uint256[])\":{\"params\":{\"constants\":\"Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.\",\"minOutputs\":\"The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified.\",\"sources\":\"Sources verbatim. These sources MUST be provided in their sequential/index opcode form as the deployment process will need to index into BOTH the integrity check and the final runtime function pointers. This will be emitted in an event for offchain processing to use the indexed opcode sources. The first N sources are considered entrypoints and will be integrity checked by the expression deployer against a starting stack height of 0. Non-entrypoint sources MAY be provided for internal use such as the `call` opcode but will NOT be integrity checked UNLESS entered by an opcode in an entrypoint.\"},\"returns\":{\"_0\":\"The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.\",\"_1\":\"The interpreter store the deployer believes is compatible with the interpreter.\",\"_2\":\"The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of.\"}}},\"title\":\"RainterpreterExpressionDeployer\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"DoWhileMaxInputs(uint256)\":[{\"notice\":\"More inputs were encoded in the operand than can be dispatched internally by a do-while loop.\"}],\"InsufficientLoopOutputs(uint256,uint256)\":[{\"notice\":\"Thrown if there are fewer outputs than inputs which is currently unsupported.\"}],\"MinFinalStack(uint256,uint256)\":[{\"notice\":\"The final stack produced by some source did not hit the minimum required for its calling context.\"}],\"MinStackBottom()\":[{\"notice\":\"It is a misconfiguration to set the initial stack bottom to zero or some small value as this trivially exposes the integrity check to potential underflow issues that are gas intensive to repeatedly guard against on every pop. The initial stack bottom for an `IntegrityCheckState` should be `INITIAL_STACK_BOTTOM` to safely avoid the need for underflow checks due to pops and pushes.\"}],\"NotPosIntPrice(int256)\":[{\"notice\":\"Thrown if a price is zero or negative as this is probably not anticipated or useful for most users of a price feed. Of course there are use cases where zero or negative _oracle values_ in general are useful, such as negative temperatures from a thermometer, but these are unlikely to be useful _prices_ for assets. Zero value prices are likely to result in division by zero downstream or giving away assets for free, negative price values could result in even weirder behaviour due to token amounts being `uint256` and the subtleties of signed vs. unsigned integer conversions.\"}],\"OutOfBoundsConstantsRead(uint256,uint256)\":[{\"notice\":\"Thrown when a constant read index is outside the constants array.\"}],\"OutOfBoundsStackRead(uint256,uint256)\":[{\"notice\":\"Thrown when a stack read index is outside the current stack top.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in the fixed-point version of `mulDiv` would overflow uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in `mulDiv` would overflow uint256.\"}],\"PRBMath_UD60x18_Ceil_Overflow(uint256)\":[{\"notice\":\"Emitted when ceiling a number overflows UD60x18.\"}],\"PRBMath_UD60x18_Exp2_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the binary exponent of a base greater than 192.\"}],\"PRBMath_UD60x18_Exp_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the natural exponent of a base greater than 133.084258667509499441.\"}],\"PRBMath_UD60x18_Gm_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when taking the geometric mean of two numbers and multiplying them overflows UD60x18.\"}],\"PRBMath_UD60x18_Log_InputTooSmall(uint256)\":[{\"notice\":\"Emitted when taking the logarithm of a number less than 1.\"}],\"PRBMath_UD60x18_Sqrt_Overflow(uint256)\":[{\"notice\":\"Emitted when calculating the square root overflows UD60x18.\"}],\"StackPopUnderflow(uint256,uint256)\":[{\"notice\":\"The virtual stack top has underflowed the stack highwater (or zero) during an integrity check. The highwater will initially be the stack bottom but MAY move higher due to certain operations such as placing multiple outputs on the stack or copying from a stack position. The highwater prevents subsequent popping of values that are considered immutable.\"}],\"StalePrice(uint256,uint256)\":[{\"notice\":\"Thrown when the updatedAt time from the Chainlink oracle is more than staleAfter seconds prior to the current block timestamp. Prevents stale prices from being used within the constraints set by the caller.\"}],\"TruncatedEncoding(uint256,uint256)\":[{\"notice\":\"Thrown during integrity check when the encoding is truncated due to the end bit being over 256.\"}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown interpreter bytecode.\"}],\"UnexpectedOpMetaHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown opMeta.\"}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\"}],\"WriteError()\":[{\"notice\":\"Thrown if writing the data by creating the contract fails somehow.\"}],\"ZeroInputs()\":[{\"notice\":\"Zero inputs to select lte is NOT supported.\"}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"notice\":\"This is the literal InterpreterOpMeta bytes to be used offchain to make sense of the opcodes in this interpreter deployment, as a human. For formats like json that make heavy use of boilerplate, repetition and whitespace, some kind of compression is recommended.\"},\"ExpressionAddress(address,address)\":{\"notice\":\"The address of the deployed expression. Will only be emitted once the expression can be loaded and deserialized into an evaluable interpreter state.\"},\"NewExpression(address,bytes[],uint256[],uint256[])\":{\"notice\":\"The config of the deployed expression including uncompiled sources. Will only be emitted after the config passes the integrity check.\"}},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT HONEST MISTAKES. IT CANNOT PREVENT EITHER A MALICIOUS INTERPRETER OR DEPLOYER FROM BEING EXECUTED.\"},\"deployExpression(bytes[],uint256[],uint256[])\":{\"notice\":\"Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter.\"}},\"notice\":\"Minimal binding of the `IExpressionDeployerV1` interface to the `LibIntegrityCheck.ensureIntegrity` loop and `AllStandardOps`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interpreter/shared/RainterpreterExpressionDeployer.sol\":\"RainterpreterExpressionDeployer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/\",\":rain.cooldown/=lib/rain.cooldown/src/\",\":rain.math.saturating/=lib/rain.math.saturating/src/\",\":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"contracts/array/LibUint256Array.sol\":{\"keccak256\":\"0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426\",\"dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe\"]},\"contracts/chainlink/LibChainlink.sol\":{\"keccak256\":\"0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9\",\"dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm\"]},\"contracts/ierc1820/LibIERC1820.sol\":{\"keccak256\":\"0xe7b1b0ee53838cd5e706bbce5efa930908c110ba52190ab81cede469974c0c5d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3eb71b0797d9b498333ce749bca2c2a42b58644756e906ef0dedfa9d38fa49a\",\"dweb:/ipfs/QmbpHiZZgc26Rzbpe6Q4n5Z4EUQ4f4x4UqmuJAv7UqB4pT\"]},\"contracts/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9\",\"dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck\"]},\"contracts/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff\",\"dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh\"]},\"contracts/ierc5313/IERC5313.sol\":{\"keccak256\":\"0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61\",\"dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe\"]},\"contracts/interpreter/caller/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125\",\"dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC\"]},\"contracts/interpreter/deploy/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc\",\"dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw\"]},\"contracts/interpreter/deploy/LibIntegrityCheck.sol\":{\"keccak256\":\"0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a\",\"dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6\"]},\"contracts/interpreter/extern/IInterpreterExternV1.sol\":{\"keccak256\":\"0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99\",\"dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k\"]},\"contracts/interpreter/extern/LibExtern.sol\":{\"keccak256\":\"0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60\",\"dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg\"]},\"contracts/interpreter/ops/AllStandardOps.sol\":{\"keccak256\":\"0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010\",\"dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE\"]},\"contracts/interpreter/ops/bytes32/OpDecode256.sol\":{\"keccak256\":\"0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e\",\"dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b\"]},\"contracts/interpreter/ops/bytes32/OpEncode256.sol\":{\"keccak256\":\"0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54\",\"dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR\"]},\"contracts/interpreter/ops/bytes32/OpExplode32.sol\":{\"keccak256\":\"0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf\",\"dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF\"]},\"contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol\":{\"keccak256\":\"0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d\",\"dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb\"]},\"contracts/interpreter/ops/context/OpContext.sol\":{\"keccak256\":\"0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b\",\"dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ\"]},\"contracts/interpreter/ops/context/OpContextColumnHash.sol\":{\"keccak256\":\"0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda\",\"dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb\"]},\"contracts/interpreter/ops/context/OpContextRow.sol\":{\"keccak256\":\"0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93\",\"dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr\"]},\"contracts/interpreter/ops/context/OpFoldContext.sol\":{\"keccak256\":\"0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050\",\"dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE\"]},\"contracts/interpreter/ops/core/OpCall.sol\":{\"keccak256\":\"0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326\",\"dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj\"]},\"contracts/interpreter/ops/core/OpDebug.sol\":{\"keccak256\":\"0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7\",\"dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp\"]},\"contracts/interpreter/ops/core/OpDoWhile.sol\":{\"keccak256\":\"0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac\",\"dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN\"]},\"contracts/interpreter/ops/core/OpExtern.sol\":{\"keccak256\":\"0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21\",\"dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA\"]},\"contracts/interpreter/ops/core/OpLoopN.sol\":{\"keccak256\":\"0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98\",\"dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g\"]},\"contracts/interpreter/ops/core/OpReadMemory.sol\":{\"keccak256\":\"0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1\",\"dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu\"]},\"contracts/interpreter/ops/crypto/OpHash.sol\":{\"keccak256\":\"0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c\",\"dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol\":{\"keccak256\":\"0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f\",\"dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol\":{\"keccak256\":\"0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943\",\"dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL\"]},\"contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol\":{\"keccak256\":\"0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17\",\"dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj\"]},\"contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol\":{\"keccak256\":\"0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa\",\"dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol\":{\"keccak256\":\"0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6\",\"dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol\":{\"keccak256\":\"0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d\",\"dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU\"]},\"contracts/interpreter/ops/erc5313/OpERC5313Owner.sol\":{\"keccak256\":\"0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d\",\"dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5\"]},\"contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol\":{\"keccak256\":\"0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726\",\"dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw\"]},\"contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol\":{\"keccak256\":\"0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a\",\"dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc\"]},\"contracts/interpreter/ops/error/OpEnsure.sol\":{\"keccak256\":\"0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123\",\"dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL\"]},\"contracts/interpreter/ops/evm/OpBlockNumber.sol\":{\"keccak256\":\"0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166\",\"dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw\"]},\"contracts/interpreter/ops/evm/OpTimestamp.sol\":{\"keccak256\":\"0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3\",\"dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA\"]},\"contracts/interpreter/ops/math/OpAdd.sol\":{\"keccak256\":\"0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722\",\"dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY\"]},\"contracts/interpreter/ops/math/OpDiv.sol\":{\"keccak256\":\"0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df\",\"dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM\"]},\"contracts/interpreter/ops/math/OpExp.sol\":{\"keccak256\":\"0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3\",\"dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW\"]},\"contracts/interpreter/ops/math/OpMax.sol\":{\"keccak256\":\"0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df\",\"dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8\"]},\"contracts/interpreter/ops/math/OpMin.sol\":{\"keccak256\":\"0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455\",\"dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM\"]},\"contracts/interpreter/ops/math/OpMod.sol\":{\"keccak256\":\"0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42\",\"dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V\"]},\"contracts/interpreter/ops/math/OpMul.sol\":{\"keccak256\":\"0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8\",\"dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R\"]},\"contracts/interpreter/ops/math/OpSub.sol\":{\"keccak256\":\"0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1\",\"dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol\":{\"keccak256\":\"0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc\",\"dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol\":{\"keccak256\":\"0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777\",\"dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol\":{\"keccak256\":\"0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937\",\"dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol\":{\"keccak256\":\"0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528\",\"dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol\":{\"keccak256\":\"0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049\",\"dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol\":{\"keccak256\":\"0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa\",\"dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92\"]},\"contracts/interpreter/ops/math/logic/OpAny.sol\":{\"keccak256\":\"0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759\",\"dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV\"]},\"contracts/interpreter/ops/math/logic/OpEagerIf.sol\":{\"keccak256\":\"0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded\",\"dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs\"]},\"contracts/interpreter/ops/math/logic/OpEqualTo.sol\":{\"keccak256\":\"0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574\",\"dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo\"]},\"contracts/interpreter/ops/math/logic/OpEvery.sol\":{\"keccak256\":\"0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63\",\"dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4\"]},\"contracts/interpreter/ops/math/logic/OpGreaterThan.sol\":{\"keccak256\":\"0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005\",\"dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy\"]},\"contracts/interpreter/ops/math/logic/OpIsZero.sol\":{\"keccak256\":\"0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3\",\"dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV\"]},\"contracts/interpreter/ops/math/logic/OpLessThan.sol\":{\"keccak256\":\"0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c\",\"dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP\"]},\"contracts/interpreter/ops/math/prb/OpPRBAvg.sol\":{\"keccak256\":\"0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06\",\"dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp\"]},\"contracts/interpreter/ops/math/prb/OpPRBCeil.sol\":{\"keccak256\":\"0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01\",\"dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD\"]},\"contracts/interpreter/ops/math/prb/OpPRBDiv.sol\":{\"keccak256\":\"0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f\",\"dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp.sol\":{\"keccak256\":\"0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c\",\"dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp2.sol\":{\"keccak256\":\"0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a\",\"dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj\"]},\"contracts/interpreter/ops/math/prb/OpPRBFloor.sol\":{\"keccak256\":\"0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b\",\"dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM\"]},\"contracts/interpreter/ops/math/prb/OpPRBFrac.sol\":{\"keccak256\":\"0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d\",\"dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei\"]},\"contracts/interpreter/ops/math/prb/OpPRBGm.sol\":{\"keccak256\":\"0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e\",\"dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD\"]},\"contracts/interpreter/ops/math/prb/OpPRBInv.sol\":{\"keccak256\":\"0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd\",\"dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d\"]},\"contracts/interpreter/ops/math/prb/OpPRBLn.sol\":{\"keccak256\":\"0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f\",\"dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog10.sol\":{\"keccak256\":\"0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5\",\"dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog2.sol\":{\"keccak256\":\"0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334\",\"dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK\"]},\"contracts/interpreter/ops/math/prb/OpPRBMul.sol\":{\"keccak256\":\"0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79\",\"dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk\"]},\"contracts/interpreter/ops/math/prb/OpPRBPow.sol\":{\"keccak256\":\"0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041\",\"dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P\"]},\"contracts/interpreter/ops/math/prb/OpPRBPowu.sol\":{\"keccak256\":\"0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae\",\"dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb\"]},\"contracts/interpreter/ops/math/prb/OpPRBSqrt.sol\":{\"keccak256\":\"0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538\",\"dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol\":{\"keccak256\":\"0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e\",\"dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol\":{\"keccak256\":\"0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4\",\"dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol\":{\"keccak256\":\"0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c\",\"dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju\"]},\"contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol\":{\"keccak256\":\"0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5\",\"dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol\":{\"keccak256\":\"0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8\",\"dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol\":{\"keccak256\":\"0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8\",\"dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol\":{\"keccak256\":\"0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745\",\"dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol\":{\"keccak256\":\"0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077\",\"dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol\":{\"keccak256\":\"0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3\",\"dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj\"]},\"contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol\":{\"keccak256\":\"0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628\",\"dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW\"]},\"contracts/interpreter/ops/store/OpGet.sol\":{\"keccak256\":\"0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34\",\"dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr\"]},\"contracts/interpreter/ops/store/OpSet.sol\":{\"keccak256\":\"0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489\",\"dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2\"]},\"contracts/interpreter/ops/tier/OpITierV2Report.sol\":{\"keccak256\":\"0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7\",\"dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV\"]},\"contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol\":{\"keccak256\":\"0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9\",\"dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP\"]},\"contracts/interpreter/ops/tier/OpSaturatingDiff.sol\":{\"keccak256\":\"0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463\",\"dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6\"]},\"contracts/interpreter/ops/tier/OpSelectLte.sol\":{\"keccak256\":\"0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026\",\"dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu\"]},\"contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol\":{\"keccak256\":\"0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de\",\"dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy\"]},\"contracts/interpreter/run/IInterpreterV1.sol\":{\"keccak256\":\"0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20\",\"dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY\"]},\"contracts/interpreter/run/LibEvaluable.sol\":{\"keccak256\":\"0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e\",\"dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT\"]},\"contracts/interpreter/run/LibInterpreterState.sol\":{\"keccak256\":\"0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72\",\"dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq\"]},\"contracts/interpreter/run/LibStackPointer.sol\":{\"keccak256\":\"0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e\",\"dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L\"]},\"contracts/interpreter/shared/RainterpreterExpressionDeployer.sol\":{\"keccak256\":\"0x33cacedb8e93211f9b803a84f7ca337a0010f8cafe18199c2f20d452943b206c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf24af8ddb9f0e69252849bb84a875921da12f18c228b34eb2723564dc22eb66\",\"dweb:/ipfs/QmRdu3uTrhpQ65LA7nQCUrcVaUFuCiKpiauHEws7y85v2Z\"]},\"contracts/interpreter/store/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462\",\"dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1\"]},\"contracts/kv/LibMemoryKV.sol\":{\"keccak256\":\"0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7\",\"dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny\"]},\"contracts/math/LibFixedPointMath.sol\":{\"keccak256\":\"0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2\",\"dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4\"]},\"contracts/memory/LibMemorySize.sol\":{\"keccak256\":\"0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451\",\"dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA\"]},\"contracts/orderbook/IOrderBookV1.sol\":{\"keccak256\":\"0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590\",\"dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB\"]},\"contracts/sale/ISaleV2.sol\":{\"keccak256\":\"0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83\",\"dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF\"]},\"contracts/tier/ITierV2.sol\":{\"keccak256\":\"0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c\",\"dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3\"]},\"contracts/tier/libraries/TierConstants.sol\":{\"keccak256\":\"0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2\",\"dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb\"]},\"contracts/tier/libraries/TierReport.sol\":{\"keccak256\":\"0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67\",\"dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt\"]},\"contracts/tier/libraries/TierwiseCombine.sol\":{\"keccak256\":\"0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6\",\"dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK\"]},\"contracts/type/LibCast.sol\":{\"keccak256\":\"0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe\",\"dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo\"]},\"contracts/type/LibConvert.sol\":{\"keccak256\":\"0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75\",\"dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu\"]},\"contracts/verify/IVerifyV1.sol\":{\"keccak256\":\"0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1\",\"dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD\"]},\"lib/rain.math.saturating/src/SaturatingMath.sol\":{\"keccak256\":\"0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b\",\"dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw\"]},\"lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6\",\"dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc\"]},\"lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol\":{\"keccak256\":\"0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8\",\"dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5\"]},\"lib/sol.lib.datacontract/src/LibDataContract.sol\":{\"keccak256\":\"0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a\",\"dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1\"]},\"node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol\":{\"keccak256\":\"0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2\",\"dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093\",\"dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2\",\"dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f\",\"dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195\",\"dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a\",\"dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3\",\"dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC1820RegistryUpgradeable.sol\":{\"keccak256\":\"0x98156a8359df02baf3ca7b902dd41c5a0f98c57597b6642a0c7695d43607288c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed23eb85df040bb50b7c2dc1a51ef2b514a0338edb7928b3cfa50095188292cf\",\"dweb:/ipfs/QmYz5XF82QLx7JiaJRTiTeqgiLzbn93X4CmSbmpmtHZ2UQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol\":{\"keccak256\":\"0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c\",\"dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9\",\"dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade\",\"dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea\",\"dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e\",\"dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416\",\"dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8\",\"dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc\",\"dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537\",\"dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78\",\"dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12\",\"dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35\",\"dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1\",\"dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933\",\"dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70\",\"dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08\",\"dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62\",\"dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d\",\"dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac\",\"dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38\",\"dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3\",\"dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0\",\"dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw\"]},\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d\",\"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.18+commit.87f61d96" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", + "name": "config_", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "type": "error", + "name": "BadDynamicLength" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + } + ], + "type": "error", + "name": "DoWhileMaxInputs" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputs", + "type": "uint256" + } + ], + "type": "error", + "name": "InsufficientLoopOutputs" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minStackOutputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualStackOutputs", + "type": "uint256" + } + ], + "type": "error", + "name": "MinFinalStack" + }, + { + "inputs": [], + "type": "error", + "name": "MinStackBottom" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedEntrypoints", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualEntrypoints", + "type": "uint256" + } + ], + "type": "error", + "name": "MissingEntrypoint" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "type": "error", + "name": "NotPosIntPrice" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "constantsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantsRead", + "type": "uint256" + } + ], + "type": "error", + "name": "OutOfBoundsConstantsRead" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackRead", + "type": "uint256" + } + ], + "type": "error", + "name": "OutOfBoundsStackRead" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_MulDiv18_Overflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_MulDiv_Overflow" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Ceil_Overflow" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Exp2_InputTooBig" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Exp_InputTooBig" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + }, + { + "internalType": "UD60x18", + "name": "y", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Gm_Overflow" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Log_InputTooSmall" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_UD60x18_Sqrt_Overflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackHighwaterIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "StackPopUnderflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "staleAfter", + "type": "uint256" + } + ], + "type": "error", + "name": "StalePrice" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "startBit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "type": "error", + "name": "TruncatedEncoding" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedInterpreterBytecodeHash" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualOpMeta", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedOpMetaHash" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "actualPointers", + "type": "bytes" + } + ], + "type": "error", + "name": "UnexpectedPointers" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedStoreBytecodeHash" + }, + { + "inputs": [], + "type": "error", + "name": "WriteError" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroInputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "deployer", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "interpreter", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "store", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes", + "name": "opMeta", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "DISpair", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "expression", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "ExpressionAddress", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes[]", + "name": "sources", + "type": "bytes[]", + "indexed": false + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]", + "indexed": false + }, + { + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]", + "indexed": false + } + ], + "type": "event", + "name": "NewExpression", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "sources_", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "constants_", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs_", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deployExpression", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "interpreter", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "store", + "outputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "deployExpression(bytes[],uint256[],uint256[])": { + "params": { + "constants": "Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.", + "minOutputs": "The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified.", + "sources": "Sources verbatim. These sources MUST be provided in their sequential/index opcode form as the deployment process will need to index into BOTH the integrity check and the final runtime function pointers. This will be emitted in an event for offchain processing to use the indexed opcode sources. The first N sources are considered entrypoints and will be integrity checked by the expression deployer against a starting stack height of 0. Non-entrypoint sources MAY be provided for internal use such as the `call` opcode but will NOT be integrity checked UNLESS entered by an opcode in an entrypoint." + }, + "returns": { + "_0": "The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.", + "_1": "The interpreter store the deployer believes is compatible with the interpreter.", + "_2": "The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "constructor": { + "notice": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT HONEST MISTAKES. IT CANNOT PREVENT EITHER A MALICIOUS INTERPRETER OR DEPLOYER FROM BEING EXECUTED." + }, + "deployExpression(bytes[],uint256[],uint256[])": { + "notice": "Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + ":@chainlink/=node_modules/@chainlink/", + ":@eth-optimism/=node_modules/@eth-optimism/", + ":@openzeppelin/=node_modules/@openzeppelin/", + ":@prb/=node_modules/@prb/", + ":ds-test/=lib/forge-std/lib/ds-test/src/", + ":eth-gas-reporter/=node_modules/eth-gas-reporter/", + ":forge-std/=lib/forge-std/src/", + ":hardhat/=node_modules/hardhat/", + ":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/", + ":rain.cooldown/=lib/rain.cooldown/src/", + ":rain.math.saturating/=lib/rain.math.saturating/src/", + ":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/", + ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", + ":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/", + ":sol.metadata/=lib/sol.metadata/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "contracts/interpreter/shared/RainterpreterExpressionDeployer.sol": "RainterpreterExpressionDeployer" + }, + "libraries": {} + }, + "sources": { + "contracts/array/LibUint256Array.sol": { + "keccak256": "0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84", + "urls": [ + "bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426", + "dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe" + ], + "license": "CAL" + }, + "contracts/chainlink/LibChainlink.sol": { + "keccak256": "0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b", + "urls": [ + "bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9", + "dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm" + ], + "license": "CAL" + }, + "contracts/ierc1820/LibIERC1820.sol": { + "keccak256": "0xe7b1b0ee53838cd5e706bbce5efa930908c110ba52190ab81cede469974c0c5d", + "urls": [ + "bzz-raw://b3eb71b0797d9b498333ce749bca2c2a42b58644756e906ef0dedfa9d38fa49a", + "dweb:/ipfs/QmbpHiZZgc26Rzbpe6Q4n5Z4EUQ4f4x4UqmuJAv7UqB4pT" + ], + "license": "CAL" + }, + "contracts/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e", + "urls": [ + "bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9", + "dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck" + ], + "license": "CC0" + }, + "contracts/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a", + "urls": [ + "bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff", + "dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh" + ], + "license": "CC0" + }, + "contracts/ierc5313/IERC5313.sol": { + "keccak256": "0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d", + "urls": [ + "bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61", + "dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe" + ], + "license": "CC0-1.0" + }, + "contracts/interpreter/caller/IInterpreterCallerV1.sol": { + "keccak256": "0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece", + "urls": [ + "bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125", + "dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC" + ], + "license": "CAL" + }, + "contracts/interpreter/deploy/IExpressionDeployerV1.sol": { + "keccak256": "0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0", + "urls": [ + "bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc", + "dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw" + ], + "license": "CAL" + }, + "contracts/interpreter/deploy/LibIntegrityCheck.sol": { + "keccak256": "0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad", + "urls": [ + "bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a", + "dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6" + ], + "license": "CAL" + }, + "contracts/interpreter/extern/IInterpreterExternV1.sol": { + "keccak256": "0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90", + "urls": [ + "bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99", + "dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k" + ], + "license": "CAL" + }, + "contracts/interpreter/extern/LibExtern.sol": { + "keccak256": "0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c", + "urls": [ + "bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60", + "dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/AllStandardOps.sol": { + "keccak256": "0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37", + "urls": [ + "bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010", + "dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/bytes32/OpDecode256.sol": { + "keccak256": "0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491", + "urls": [ + "bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e", + "dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/bytes32/OpEncode256.sol": { + "keccak256": "0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb", + "urls": [ + "bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54", + "dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/bytes32/OpExplode32.sol": { + "keccak256": "0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe", + "urls": [ + "bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf", + "dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol": { + "keccak256": "0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c", + "urls": [ + "bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d", + "dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpContext.sol": { + "keccak256": "0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf", + "urls": [ + "bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b", + "dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpContextColumnHash.sol": { + "keccak256": "0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71", + "urls": [ + "bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda", + "dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpContextRow.sol": { + "keccak256": "0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513", + "urls": [ + "bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93", + "dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/context/OpFoldContext.sol": { + "keccak256": "0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01", + "urls": [ + "bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050", + "dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpCall.sol": { + "keccak256": "0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76", + "urls": [ + "bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326", + "dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpDebug.sol": { + "keccak256": "0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b", + "urls": [ + "bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7", + "dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpDoWhile.sol": { + "keccak256": "0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb", + "urls": [ + "bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac", + "dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpExtern.sol": { + "keccak256": "0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3", + "urls": [ + "bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21", + "dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpLoopN.sol": { + "keccak256": "0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881", + "urls": [ + "bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98", + "dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/core/OpReadMemory.sol": { + "keccak256": "0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9", + "urls": [ + "bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1", + "dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/crypto/OpHash.sol": { + "keccak256": "0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f", + "urls": [ + "bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c", + "dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol": { + "keccak256": "0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb", + "urls": [ + "bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f", + "dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol": { + "keccak256": "0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6", + "urls": [ + "bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943", + "dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol": { + "keccak256": "0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79", + "urls": [ + "bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17", + "dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol": { + "keccak256": "0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7", + "urls": [ + "bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa", + "dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol": { + "keccak256": "0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3", + "urls": [ + "bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6", + "dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol": { + "keccak256": "0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611", + "urls": [ + "bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d", + "dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc5313/OpERC5313Owner.sol": { + "keccak256": "0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7", + "urls": [ + "bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d", + "dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol": { + "keccak256": "0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27", + "urls": [ + "bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726", + "dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol": { + "keccak256": "0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003", + "urls": [ + "bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a", + "dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/error/OpEnsure.sol": { + "keccak256": "0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f", + "urls": [ + "bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123", + "dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/evm/OpBlockNumber.sol": { + "keccak256": "0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367", + "urls": [ + "bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166", + "dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/evm/OpTimestamp.sol": { + "keccak256": "0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d", + "urls": [ + "bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3", + "dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpAdd.sol": { + "keccak256": "0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b", + "urls": [ + "bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722", + "dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpDiv.sol": { + "keccak256": "0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d", + "urls": [ + "bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df", + "dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpExp.sol": { + "keccak256": "0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26", + "urls": [ + "bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3", + "dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMax.sol": { + "keccak256": "0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17", + "urls": [ + "bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df", + "dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMin.sol": { + "keccak256": "0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e", + "urls": [ + "bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455", + "dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMod.sol": { + "keccak256": "0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d", + "urls": [ + "bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42", + "dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpMul.sol": { + "keccak256": "0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92", + "urls": [ + "bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8", + "dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/OpSub.sol": { + "keccak256": "0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc", + "urls": [ + "bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1", + "dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol": { + "keccak256": "0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9", + "urls": [ + "bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc", + "dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol": { + "keccak256": "0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5", + "urls": [ + "bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777", + "dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol": { + "keccak256": "0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b", + "urls": [ + "bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937", + "dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol": { + "keccak256": "0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4", + "urls": [ + "bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528", + "dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol": { + "keccak256": "0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9", + "urls": [ + "bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049", + "dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol": { + "keccak256": "0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad", + "urls": [ + "bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa", + "dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpAny.sol": { + "keccak256": "0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b", + "urls": [ + "bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759", + "dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpEagerIf.sol": { + "keccak256": "0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf", + "urls": [ + "bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded", + "dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpEqualTo.sol": { + "keccak256": "0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea", + "urls": [ + "bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574", + "dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpEvery.sol": { + "keccak256": "0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e", + "urls": [ + "bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63", + "dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpGreaterThan.sol": { + "keccak256": "0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd", + "urls": [ + "bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005", + "dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpIsZero.sol": { + "keccak256": "0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318", + "urls": [ + "bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3", + "dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/logic/OpLessThan.sol": { + "keccak256": "0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36", + "urls": [ + "bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c", + "dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBAvg.sol": { + "keccak256": "0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf", + "urls": [ + "bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06", + "dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBCeil.sol": { + "keccak256": "0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002", + "urls": [ + "bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01", + "dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBDiv.sol": { + "keccak256": "0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9", + "urls": [ + "bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f", + "dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBExp.sol": { + "keccak256": "0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483", + "urls": [ + "bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c", + "dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBExp2.sol": { + "keccak256": "0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3", + "urls": [ + "bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a", + "dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBFloor.sol": { + "keccak256": "0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd", + "urls": [ + "bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b", + "dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBFrac.sol": { + "keccak256": "0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f", + "urls": [ + "bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d", + "dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBGm.sol": { + "keccak256": "0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3", + "urls": [ + "bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e", + "dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBInv.sol": { + "keccak256": "0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5", + "urls": [ + "bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd", + "dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBLn.sol": { + "keccak256": "0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc", + "urls": [ + "bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f", + "dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBLog10.sol": { + "keccak256": "0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6", + "urls": [ + "bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5", + "dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBLog2.sol": { + "keccak256": "0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8", + "urls": [ + "bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334", + "dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBMul.sol": { + "keccak256": "0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9", + "urls": [ + "bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79", + "dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBPow.sol": { + "keccak256": "0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13", + "urls": [ + "bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041", + "dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBPowu.sol": { + "keccak256": "0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978", + "urls": [ + "bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae", + "dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/prb/OpPRBSqrt.sol": { + "keccak256": "0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62", + "urls": [ + "bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538", + "dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol": { + "keccak256": "0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3", + "urls": [ + "bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e", + "dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol": { + "keccak256": "0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d", + "urls": [ + "bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4", + "dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol": { + "keccak256": "0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13", + "urls": [ + "bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c", + "dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol": { + "keccak256": "0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220", + "urls": [ + "bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5", + "dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol": { + "keccak256": "0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8", + "urls": [ + "bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8", + "dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol": { + "keccak256": "0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5", + "urls": [ + "bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8", + "dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol": { + "keccak256": "0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b", + "urls": [ + "bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745", + "dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol": { + "keccak256": "0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990", + "urls": [ + "bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077", + "dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol": { + "keccak256": "0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590", + "urls": [ + "bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3", + "dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol": { + "keccak256": "0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718", + "urls": [ + "bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628", + "dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/store/OpGet.sol": { + "keccak256": "0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01", + "urls": [ + "bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34", + "dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/store/OpSet.sol": { + "keccak256": "0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c", + "urls": [ + "bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489", + "dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpITierV2Report.sol": { + "keccak256": "0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef", + "urls": [ + "bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7", + "dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol": { + "keccak256": "0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6", + "urls": [ + "bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9", + "dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpSaturatingDiff.sol": { + "keccak256": "0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0", + "urls": [ + "bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463", + "dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpSelectLte.sol": { + "keccak256": "0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3", + "urls": [ + "bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026", + "dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu" + ], + "license": "CAL" + }, + "contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol": { + "keccak256": "0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167", + "urls": [ + "bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de", + "dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy" + ], + "license": "CAL" + }, + "contracts/interpreter/run/IInterpreterV1.sol": { + "keccak256": "0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774", + "urls": [ + "bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20", + "dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibEvaluable.sol": { + "keccak256": "0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb", + "urls": [ + "bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e", + "dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibInterpreterState.sol": { + "keccak256": "0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f", + "urls": [ + "bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72", + "dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibStackPointer.sol": { + "keccak256": "0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69", + "urls": [ + "bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e", + "dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L" + ], + "license": "CAL" + }, + "contracts/interpreter/shared/RainterpreterExpressionDeployer.sol": { + "keccak256": "0x33cacedb8e93211f9b803a84f7ca337a0010f8cafe18199c2f20d452943b206c", + "urls": [ + "bzz-raw://bf24af8ddb9f0e69252849bb84a875921da12f18c228b34eb2723564dc22eb66", + "dweb:/ipfs/QmRdu3uTrhpQ65LA7nQCUrcVaUFuCiKpiauHEws7y85v2Z" + ], + "license": "CAL" + }, + "contracts/interpreter/store/IInterpreterStoreV1.sol": { + "keccak256": "0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1", + "urls": [ + "bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462", + "dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1" + ], + "license": "CAL" + }, + "contracts/kv/LibMemoryKV.sol": { + "keccak256": "0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969", + "urls": [ + "bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7", + "dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny" + ], + "license": "CAL" + }, + "contracts/math/LibFixedPointMath.sol": { + "keccak256": "0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6", + "urls": [ + "bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2", + "dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4" + ], + "license": "CAL" + }, + "contracts/memory/LibMemorySize.sol": { + "keccak256": "0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5", + "urls": [ + "bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451", + "dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA" + ], + "license": "CAL" + }, + "contracts/orderbook/IOrderBookV1.sol": { + "keccak256": "0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f", + "urls": [ + "bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590", + "dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB" + ], + "license": "CAL" + }, + "contracts/sale/ISaleV2.sol": { + "keccak256": "0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87", + "urls": [ + "bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83", + "dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF" + ], + "license": "CAL" + }, + "contracts/tier/ITierV2.sol": { + "keccak256": "0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2", + "urls": [ + "bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c", + "dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3" + ], + "license": "CAL" + }, + "contracts/tier/libraries/TierConstants.sol": { + "keccak256": "0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c", + "urls": [ + "bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2", + "dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb" + ], + "license": "CAL" + }, + "contracts/tier/libraries/TierReport.sol": { + "keccak256": "0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e", + "urls": [ + "bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67", + "dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt" + ], + "license": "CAL" + }, + "contracts/tier/libraries/TierwiseCombine.sol": { + "keccak256": "0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50", + "urls": [ + "bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6", + "dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK" + ], + "license": "CAL" + }, + "contracts/type/LibCast.sol": { + "keccak256": "0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3", + "urls": [ + "bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe", + "dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo" + ], + "license": "CAL" + }, + "contracts/type/LibConvert.sol": { + "keccak256": "0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de", + "urls": [ + "bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75", + "dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu" + ], + "license": "CAL" + }, + "contracts/verify/IVerifyV1.sol": { + "keccak256": "0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98", + "urls": [ + "bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1", + "dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD" + ], + "license": "CAL" + }, + "lib/rain.math.saturating/src/SaturatingMath.sol": { + "keccak256": "0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165", + "urls": [ + "bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b", + "dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw" + ], + "license": "CAL" + }, + "lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d", + "urls": [ + "bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6", + "dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc" + ], + "license": "CAL" + }, + "lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol": { + "keccak256": "0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212", + "urls": [ + "bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8", + "dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5" + ], + "license": "CAL" + }, + "lib/sol.lib.datacontract/src/LibDataContract.sol": { + "keccak256": "0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510", + "urls": [ + "bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a", + "dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1" + ], + "license": "CAL" + }, + "node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { + "keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", + "urls": [ + "bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", + "dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271", + "urls": [ + "bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618", + "dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol": { + "keccak256": "0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe", + "urls": [ + "bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2", + "dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol": { + "keccak256": "0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42", + "urls": [ + "bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093", + "dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol": { + "keccak256": "0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff", + "urls": [ + "bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2", + "dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol": { + "keccak256": "0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe", + "urls": [ + "bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f", + "dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol": { + "keccak256": "0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb", + "urls": [ + "bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d", + "dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol": { + "keccak256": "0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229", + "urls": [ + "bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195", + "dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol": { + "keccak256": "0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183", + "urls": [ + "bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06", + "dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol": { + "keccak256": "0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26", + "urls": [ + "bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a", + "dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", + "urls": [ + "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", + "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol": { + "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", + "urls": [ + "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", + "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol": { + "keccak256": "0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a", + "urls": [ + "bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3", + "dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC1820RegistryUpgradeable.sol": { + "keccak256": "0x98156a8359df02baf3ca7b902dd41c5a0f98c57597b6642a0c7695d43607288c", + "urls": [ + "bzz-raw://ed23eb85df040bb50b7c2dc1a51ef2b514a0338edb7928b3cfa50095188292cf", + "dweb:/ipfs/QmYz5XF82QLx7JiaJRTiTeqgiLzbn93X4CmSbmpmtHZ2UQ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol": { + "keccak256": "0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a", + "urls": [ + "bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4", + "dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol": { + "keccak256": "0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b", + "urls": [ + "bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c", + "dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/Common.sol": { + "keccak256": "0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48", + "urls": [ + "bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9", + "dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/Casting.sol": { + "keccak256": "0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c", + "urls": [ + "bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade", + "dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/Constants.sol": { + "keccak256": "0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652", + "urls": [ + "bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea", + "dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/Errors.sol": { + "keccak256": "0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac", + "urls": [ + "bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e", + "dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd1x18/ValueType.sol": { + "keccak256": "0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650", + "urls": [ + "bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416", + "dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Casting.sol": { + "keccak256": "0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899", + "urls": [ + "bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8", + "dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Constants.sol": { + "keccak256": "0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46", + "urls": [ + "bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc", + "dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Errors.sol": { + "keccak256": "0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0", + "urls": [ + "bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537", + "dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Helpers.sol": { + "keccak256": "0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559", + "urls": [ + "bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78", + "dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/Math.sol": { + "keccak256": "0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee", + "urls": [ + "bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12", + "dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/sd59x18/ValueType.sol": { + "keccak256": "0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b", + "urls": [ + "bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35", + "dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/Casting.sol": { + "keccak256": "0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d", + "urls": [ + "bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1", + "dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/Constants.sol": { + "keccak256": "0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e", + "urls": [ + "bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933", + "dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/Errors.sol": { + "keccak256": "0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3", + "urls": [ + "bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70", + "dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud2x18/ValueType.sol": { + "keccak256": "0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518", + "urls": [ + "bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08", + "dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Casting.sol": { + "keccak256": "0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2", + "urls": [ + "bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62", + "dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Constants.sol": { + "keccak256": "0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11", + "urls": [ + "bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d", + "dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Errors.sol": { + "keccak256": "0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563", + "urls": [ + "bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac", + "dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Helpers.sol": { + "keccak256": "0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf", + "urls": [ + "bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38", + "dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/Math.sol": { + "keccak256": "0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d", + "urls": [ + "bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3", + "dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH" + ], + "license": "MIT" + }, + "node_modules/@prb/math/src/ud60x18/ValueType.sol": { + "keccak256": "0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215", + "urls": [ + "bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0", + "dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw" + ], + "license": "MIT" + }, + "node_modules/hardhat/console.sol": { + "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", + "urls": [ + "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", + "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "contracts/interpreter/shared/RainterpreterExpressionDeployer.sol", + "id": 18797, + "exportedSymbols": { + "ALL_STANDARD_OPS_LENGTH": [ + 7182 + ], + "AllStandardOps": [ + 7954 + ], + "BASE_PREFIX": [ + 39210 + ], + "B_1": [ + 38885 + ], + "B_11": [ + 38893 + ], + "B_111": [ + 38901 + ], + "B_1111": [ + 38909 + ], + "B_11111": [ + 38917 + ], + "B_111111": [ + 38925 + ], + "B_1111111": [ + 38933 + ], + "B_11111111": [ + 38941 + ], + "B_111111111": [ + 38949 + ], + "B_1111111111": [ + 38957 + ], + "B_11111111111": [ + 38965 + ], + "B_111111111111": [ + 38973 + ], + "B_1111111111111": [ + 38981 + ], + "B_11111111111111": [ + 38989 + ], + "B_111111111111111": [ + 38997 + ], + "B_1111111111111111": [ + 39005 + ], + "BadDynamicLength": [ + 7178 + ], + "BadExternResultsLength": [ + 9471 + ], + "ClearConfig": [ + 21087 + ], + "ClearStateChange": [ + 21096 + ], + "DEBUG_DELIMETER": [ + 16065 + ], + "DEFAULT_STATE_NAMESPACE": [ + 15858 + ], + "DataContractMemoryContainer": [ + 39216 + ], + "DebugStyle": [ + 16038 + ], + "DepositConfig": [ + 21003 + ], + "DoWhileMaxInputs": [ + 9290 + ], + "EIP5313": [ + 5670 + ], + "ERC20Snapshot": [ + 43266 + ], + "EncodedDispatch": [ + 15846 + ], + "EncodedExternDispatch": [ + 7028 + ], + "Evaluable": [ + 16003 + ], + "EvaluableConfig": [ + 15994 + ], + "ExternDispatch": [ + 7030 + ], + "FP_DECIMALS": [ + 20528 + ], + "FP_ONE": [ + 20532 + ], + "FullyQualifiedNamespace": [ + 19051 + ], + "IERC1155": [ + 41935 + ], + "IERC165": [ + 47118 + ], + "IERC1820Registry": [ + 47208 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ + 5604 + ], + "IERC1820_REGISTRY": [ + 5601 + ], + "IERC20": [ + 42854 + ], + "IERC3156FlashBorrower": [ + 5623 + ], + "IERC3156FlashLender": [ + 5660 + ], + "IERC721": [ + 45400 + ], + "IExpressionDeployerV1": [ + 6051 + ], + "IInterpreterCallerV1": [ + 5691 + ], + "IInterpreterExternV1": [ + 7045 + ], + "IInterpreterStoreV1": [ + 19083 + ], + "IInterpreterV1": [ + 15889 + ], + "INITIAL_STACK_BOTTOM": [ + 6104 + ], + "INTERPRETER_BYTECODE_HASH": [ + 18366 + ], + "IO": [ + 21017 + ], + "IOrderBookV1": [ + 21274 + ], + "ISaleV2": [ + 24440 + ], + "ITierV2": [ + 36050 + ], + "IVerifyV1": [ + 36969 + ], + "InsufficientLoopOutputs": [ + 9696 + ], + "IntegrityCheckState": [ + 6153 + ], + "InterpreterState": [ + 16061 + ], + "InvalidPtr": [ + 19092 + ], + "LibCast": [ + 36870 + ], + "LibChainlink": [ + 474 + ], + "LibConvert": [ + 36909 + ], + "LibDataContract": [ + 39323 + ], + "LibEvaluable": [ + 16020 + ], + "LibExtern": [ + 7085 + ], + "LibFixedPointMath": [ + 20834 + ], + "LibIntegrityCheck": [ + 7024 + ], + "LibInterpreterState": [ + 16746 + ], + "LibMemory": [ + 39197 + ], + "LibMemoryKV": [ + 19231 + ], + "LibMemorySize": [ + 20989 + ], + "LibStackPointer": [ + 18069 + ], + "LibUint256Array": [ + 395 + ], + "MASK_10BIT": [ + 39045 + ], + "MASK_11BIT": [ + 39049 + ], + "MASK_12BIT": [ + 39053 + ], + "MASK_13BIT": [ + 39057 + ], + "MASK_14BIT": [ + 39061 + ], + "MASK_15BIT": [ + 39065 + ], + "MASK_16BIT": [ + 39069 + ], + "MASK_1BIT": [ + 39009 + ], + "MASK_2BIT": [ + 39013 + ], + "MASK_3BIT": [ + 39017 + ], + "MASK_4BIT": [ + 39021 + ], + "MASK_5BIT": [ + 39025 + ], + "MASK_6BIT": [ + 39029 + ], + "MASK_7BIT": [ + 39033 + ], + "MASK_8BIT": [ + 39037 + ], + "MASK_9BIT": [ + 39041 + ], + "Math": [ + 48073 + ], + "MemoryKV": [ + 19094 + ], + "MemoryKVKey": [ + 19096 + ], + "MemoryKVPtr": [ + 19098 + ], + "MemoryKVVal": [ + 19100 + ], + "MinFinalStack": [ + 6121 + ], + "MinStackBottom": [ + 6107 + ], + "MissingEntrypoint": [ + 18345 + ], + "NO_STORE": [ + 19060 + ], + "OPCODE_FUNCTION_POINTERS": [ + 18359 + ], + "OPERAND_MEMORY_TYPE_CONSTANT": [ + 9908 + ], + "OPERAND_MEMORY_TYPE_STACK": [ + 9904 + ], + "OP_META_HASH": [ + 18380 + ], + "OpAdd": [ + 11238 + ], + "OpAny": [ + 12469 + ], + "OpBlockNumber": [ + 11098 + ], + "OpCall": [ + 9198 + ], + "OpChainlinkOraclePrice": [ + 8468 + ], + "OpContext": [ + 8549 + ], + "OpContextColumnHash": [ + 8619 + ], + "OpContextRow": [ + 8715 + ], + "OpDebug": [ + 9277 + ], + "OpDecode256": [ + 8098 + ], + "OpDiv": [ + 11318 + ], + "OpDoWhile": [ + 9457 + ], + "OpERC1155BalanceOf": [ + 10252 + ], + "OpERC1155BalanceOfBatch": [ + 10357 + ], + "OpERC20BalanceOf": [ + 10446 + ], + "OpERC20SnapshotBalanceOfAt": [ + 10618 + ], + "OpERC20SnapshotTotalSupplyAt": [ + 10701 + ], + "OpERC20TotalSupply": [ + 10526 + ], + "OpERC5313Owner": [ + 10788 + ], + "OpERC721BalanceOf": [ + 10877 + ], + "OpERC721OwnerOf": [ + 10966 + ], + "OpEagerIf": [ + 12563 + ], + "OpEncode256": [ + 8260 + ], + "OpEnsure": [ + 11040 + ], + "OpEqualTo": [ + 12636 + ], + "OpEvery": [ + 12752 + ], + "OpExp": [ + 11398 + ], + "OpExplode32": [ + 8386 + ], + "OpExtern": [ + 9681 + ], + "OpFixedPointScale18": [ + 11897 + ], + "OpFixedPointScale18Div": [ + 11990 + ], + "OpFixedPointScale18Dynamic": [ + 12080 + ], + "OpFixedPointScale18Mul": [ + 12173 + ], + "OpFixedPointScaleBy": [ + 12264 + ], + "OpFixedPointScaleN": [ + 12349 + ], + "OpFoldContext": [ + 8953 + ], + "OpGet": [ + 15222 + ], + "OpGreaterThan": [ + 12825 + ], + "OpHash": [ + 10160 + ], + "OpIOrderBookV1VaultBalance": [ + 14556 + ], + "OpISaleV2RemainingTokenInventory": [ + 14636 + ], + "OpISaleV2Reserve": [ + 14722 + ], + "OpISaleV2SaleStatus": [ + 14805 + ], + "OpISaleV2Token": [ + 14891 + ], + "OpISaleV2TotalReserveReceived": [ + 14971 + ], + "OpITierV2Report": [ + 15442 + ], + "OpITierV2ReportTimeForTier": [ + 15549 + ], + "OpIVerifyV1AccountStatusAtTime": [ + 15066 + ], + "OpIsZero": [ + 12896 + ], + "OpLessThan": [ + 12969 + ], + "OpLoopN": [ + 9876 + ], + "OpMax": [ + 11481 + ], + "OpMin": [ + 11564 + ], + "OpMod": [ + 11644 + ], + "OpMul": [ + 11724 + ], + "OpPRBAvg": [ + 13052 + ], + "OpPRBCeil": [ + 13129 + ], + "OpPRBDiv": [ + 13212 + ], + "OpPRBExp": [ + 13289 + ], + "OpPRBExp2": [ + 13366 + ], + "OpPRBFloor": [ + 13443 + ], + "OpPRBFrac": [ + 13520 + ], + "OpPRBGm": [ + 13603 + ], + "OpPRBInv": [ + 13680 + ], + "OpPRBLn": [ + 13757 + ], + "OpPRBLog10": [ + 13834 + ], + "OpPRBLog2": [ + 13911 + ], + "OpPRBMul": [ + 13994 + ], + "OpPRBPow": [ + 14077 + ], + "OpPRBPowu": [ + 14157 + ], + "OpPRBSqrt": [ + 14234 + ], + "OpReadMemory": [ + 10069 + ], + "OpSaturatingAdd": [ + 14306 + ], + "OpSaturatingDiff": [ + 15609 + ], + "OpSaturatingMul": [ + 14378 + ], + "OpSaturatingSub": [ + 14450 + ], + "OpSelectLte": [ + 15746 + ], + "OpSet": [ + 15338 + ], + "OpSub": [ + 11804 + ], + "OpTimestamp": [ + 11156 + ], + "OpUpdateTimesForTierRange": [ + 15839 + ], + "Operand": [ + 15850 + ], + "Order": [ + 21047 + ], + "OrderConfig": [ + 21031 + ], + "OutOfBoundsConstantsRead": [ + 9900 + ], + "OutOfBoundsStackRead": [ + 9893 + ], + "OutOfBoundsTruncate": [ + 8 + ], + "PREFIX_BYTES_LENGTH": [ + 39214 + ], + "Pointer": [ + 39080 + ], + "RainterpreterExpressionDeployer": [ + 18796 + ], + "RainterpreterExpressionDeployerConstructionConfig": [ + 18387 + ], + "ReadError": [ + 39206 + ], + "STORE_BYTECODE_HASH": [ + 18373 + ], + "SafeCast": [ + 49614 + ], + "SaleStatus": [ + 24409 + ], + "SaturatingMath": [ + 38875 + ], + "SignedContext": [ + 5680 + ], + "SourceIndex": [ + 15844 + ], + "StackPointer": [ + 16760 + ], + "StackPopUnderflow": [ + 6114 + ], + "StateNamespace": [ + 15848 + ], + "TIERWISE_COMBINE_LOGIC_ANY": [ + 36452 + ], + "TIERWISE_COMBINE_LOGIC_EVERY": [ + 36448 + ], + "TIERWISE_COMBINE_MODE_FIRST": [ + 36464 + ], + "TIERWISE_COMBINE_MODE_MAX": [ + 36460 + ], + "TIERWISE_COMBINE_MODE_MIN": [ + 36456 + ], + "TakeOrderConfig": [ + 21074 + ], + "TakeOrdersConfig": [ + 21062 + ], + "TierConstants": [ + 36155 + ], + "TierReport": [ + 36438 + ], + "TierwiseCombine": [ + 36699 + ], + "TruncateError": [ + 39078 + ], + "TruncatedEncoding": [ + 8111 + ], + "UD60x18": [ + 56036 + ], + "UnexpectedInterpreterBytecodeHash": [ + 18338 + ], + "UnexpectedOpMetaHash": [ + 18355 + ], + "UnexpectedPointers": [ + 18333 + ], + "UnexpectedResultLength": [ + 16758 + ], + "UnexpectedStoreBytecodeHash": [ + 18350 + ], + "VerifyStatus": [ + 36958 + ], + "WithdrawConfig": [ + 21010 + ], + "WriteError": [ + 39203 + ], + "ZeroInputs": [ + 15619 + ], + "avg": [ + 55402 + ], + "ceil": [ + 55429 + ], + "console": [ + 64149 + ], + "div": [ + 55457 + ], + "exp": [ + 55500 + ], + "exp2": [ + 55543 + ], + "floor": [ + 55555 + ], + "frac": [ + 55567 + ], + "gm": [ + 55631 + ], + "inv": [ + 55653 + ], + "ln": [ + 55680 + ], + "log10": [ + 55730 + ], + "log2": [ + 55831 + ], + "mul": [ + 55858 + ], + "pow": [ + 55920 + ], + "powu": [ + 55990 + ], + "sqrt": [ + 56029 + ] + }, + "nodeType": "SourceUnit", + "src": "32:12152:121", + "nodes": [ + { + "id": 18322, + "nodeType": "PragmaDirective", + "src": "32:24:121", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".18" + ] + }, + { + "id": 18323, + "nodeType": "ImportDirective", + "src": "58:50:121", + "nodes": [], + "absolutePath": "lib/sol.lib.datacontract/src/LibDataContract.sol", + "file": "sol.lib.datacontract/LibDataContract.sol", + "nameLocation": "-1:-1:-1", + "scope": 18797, + "sourceUnit": 39324, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18324, + "nodeType": "ImportDirective", + "src": "110:45:121", + "nodes": [], + "absolutePath": "contracts/interpreter/deploy/IExpressionDeployerV1.sol", + "file": "../deploy/IExpressionDeployerV1.sol", + "nameLocation": "-1:-1:-1", + "scope": 18797, + "sourceUnit": 6052, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18325, + "nodeType": "ImportDirective", + "src": "156:35:121", + "nodes": [], + "absolutePath": "contracts/interpreter/ops/AllStandardOps.sol", + "file": "../ops/AllStandardOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 18797, + "sourceUnit": 7955, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18326, + "nodeType": "ImportDirective", + "src": "192:40:121", + "nodes": [], + "absolutePath": "contracts/ierc1820/LibIERC1820.sol", + "file": "../../ierc1820/LibIERC1820.sol", + "nameLocation": "-1:-1:-1", + "scope": 18797, + "sourceUnit": 5605, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18328, + "nodeType": "ImportDirective", + "src": "233:125:121", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 18797, + "sourceUnit": 47119, + "symbolAliases": [ + { + "foreign": { + "id": 18327, + "name": "IERC165Upgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47118, + "src": "241:18:121", + "typeDescriptions": {} + }, + "local": "IERC165", + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 18333, + "nodeType": "ErrorDefinition", + "src": "661:47:121", + "nodes": [], + "documentation": { + "id": 18329, + "nodeType": "StructuredDocumentation", + "src": "360:301:121", + "text": "@dev Thrown when the pointers known to the expression deployer DO NOT match\n the interpreter it is constructed for. This WILL cause undefined expression\n behaviour so MUST REVERT.\n @param actualPointers The actual function pointers found at the interpreter\n address upon construction." + }, + "errorSelector": "9835e402", + "name": "UnexpectedPointers", + "nameLocation": "667:18:121", + "parameters": { + "id": 18332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18331, + "mutability": "mutable", + "name": "actualPointers", + "nameLocation": "692:14:121", + "nodeType": "VariableDeclaration", + "scope": 18333, + "src": "686:20:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18330, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "686:5:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "685:22:121" + } + }, + { + "id": 18338, + "nodeType": "ErrorDefinition", + "src": "931:68:121", + "nodes": [], + "documentation": { + "id": 18334, + "nodeType": "StructuredDocumentation", + "src": "710:221:121", + "text": "Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown\n interpreter bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the interpreter\n address upon construction." + }, + "errorSelector": "1dd8527e", + "name": "UnexpectedInterpreterBytecodeHash", + "nameLocation": "937:33:121", + "parameters": { + "id": 18337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18336, + "mutability": "mutable", + "name": "actualBytecodeHash", + "nameLocation": "979:18:121", + "nodeType": "VariableDeclaration", + "scope": 18338, + "src": "971:26:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18335, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "971:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "970:28:121" + } + }, + { + "id": 18345, + "nodeType": "ErrorDefinition", + "src": "1254:80:121", + "nodes": [], + "documentation": { + "id": 18339, + "nodeType": "StructuredDocumentation", + "src": "1001:253:121", + "text": "@dev There are more entrypoints defined by the minimum stack outputs than\n there are provided sources. This means the calling contract WILL attempt to\n eval a dangling reference to a non-existent source at some point, so this\n MUST REVERT." + }, + "errorSelector": "7d2d70db", + "name": "MissingEntrypoint", + "nameLocation": "1260:17:121", + "parameters": { + "id": 18344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18341, + "mutability": "mutable", + "name": "expectedEntrypoints", + "nameLocation": "1286:19:121", + "nodeType": "VariableDeclaration", + "scope": 18345, + "src": "1278:27:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18340, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1278:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18343, + "mutability": "mutable", + "name": "actualEntrypoints", + "nameLocation": "1315:17:121", + "nodeType": "VariableDeclaration", + "scope": 18345, + "src": "1307:25:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1307:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1277:56:121" + } + }, + { + "id": 18350, + "nodeType": "ErrorDefinition", + "src": "1523:62:121", + "nodes": [], + "documentation": { + "id": 18346, + "nodeType": "StructuredDocumentation", + "src": "1336:187:121", + "text": "Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the store\n address upon construction." + }, + "errorSelector": "cc0415fd", + "name": "UnexpectedStoreBytecodeHash", + "nameLocation": "1529:27:121", + "parameters": { + "id": 18349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18348, + "mutability": "mutable", + "name": "actualBytecodeHash", + "nameLocation": "1565:18:121", + "nodeType": "VariableDeclaration", + "scope": 18350, + "src": "1557:26:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18347, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1557:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1556:28:121" + } + }, + { + "id": 18355, + "nodeType": "ErrorDefinition", + "src": "1659:49:121", + "nodes": [], + "documentation": { + "id": 18351, + "nodeType": "StructuredDocumentation", + "src": "1587:72:121", + "text": "Thrown when the `Rainterpreter` is constructed with unknown opMeta." + }, + "errorSelector": "87a1fcae", + "name": "UnexpectedOpMetaHash", + "nameLocation": "1665:20:121", + "parameters": { + "id": 18354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18353, + "mutability": "mutable", + "name": "actualOpMeta", + "nameLocation": "1694:12:121", + "nodeType": "VariableDeclaration", + "scope": 18355, + "src": "1686:20:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18352, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1686:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1685:22:121" + } + }, + { + "id": 18359, + "nodeType": "VariableDeclaration", + "src": "2014:371:121", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "OPCODE_FUNCTION_POINTERS", + "nameLocation": "2029:24:121", + "scope": 18797, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18357, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2014:5:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "hexValue": "0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687", + "id": 18358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2056:329:121", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d65fd939c8c098c17bd87e77d8c750143e1f0fc009c94affcefa0aa201e0a15d", + "typeString": "literal_string hex\"0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687\"" + } + }, + "visibility": "internal" + }, + { + "id": 18366, + "nodeType": "VariableDeclaration", + "src": "2437:126:121", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "INTERPRETER_BYTECODE_HASH", + "nameLocation": "2454:25:121", + "scope": 18797, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2437:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307834663330623939616632663839633833643137656266323562353765363331343835363064333562626539323431346563666165386666306531633935383535", + "id": 18364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2495:66:121", + "typeDescriptions": { + "typeIdentifier": "t_rational_35818804697681197500928601444998840785623956135214039800908632596276585257045_by_1", + "typeString": "int_const 3581...(69 digits omitted)...7045" + }, + "value": "0x4f30b99af2f89c83d17ebf25b57e63148560d35bbe92414ecfae8ff0e1c95855" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_35818804697681197500928601444998840785623956135214039800908632596276585257045_by_1", + "typeString": "int_const 3581...(69 digits omitted)...7045" + } + ], + "id": 18363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2482:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 18362, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2482:7:121", + "typeDescriptions": {} + } + }, + "id": 18365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2482:81:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 18373, + "nodeType": "VariableDeclaration", + "src": "2609:120:121", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "STORE_BYTECODE_HASH", + "nameLocation": "2626:19:121", + "scope": 18797, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18368, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2609:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307834663864343962623461356461306236373836353031376532656666363631386233396364306563663635633633316239623261373933646632616663373530", + "id": 18371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2661:66:121", + "typeDescriptions": { + "typeIdentifier": "t_rational_35982349351036765160192590952611483035703732392903036138151704695286864529232_by_1", + "typeString": "int_const 3598...(69 digits omitted)...9232" + }, + "value": "0x4f8d49bb4a5da0b67865017e2eff6618b39cd0ecf65c631b9b2a793df2afc750" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_35982349351036765160192590952611483035703732392903036138151704695286864529232_by_1", + "typeString": "int_const 3598...(69 digits omitted)...9232" + } + ], + "id": 18370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2648:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 18369, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2648:7:121", + "typeDescriptions": {} + } + }, + "id": 18372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2648:81:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 18380, + "nodeType": "VariableDeclaration", + "src": "2768:113:121", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "OP_META_HASH", + "nameLocation": "2785:12:121", + "scope": 18797, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18375, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2768:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307863363333626434323564326336393265663339383434323737346135633763383134323765303432363863373136396663643136373066393361646130373331", + "id": 18378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2813:66:121", + "typeDescriptions": { + "typeIdentifier": "t_rational_89649359439018778645745589028222045247248693302185474487729582088661805696817_by_1", + "typeString": "int_const 8964...(69 digits omitted)...6817" + }, + "value": "0xc633bd425d2c692ef398442774a5c7c81427e04268c7169fcd1670f93ada0731" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_89649359439018778645745589028222045247248693302185474487729582088661805696817_by_1", + "typeString": "int_const 8964...(69 digits omitted)...6817" + } + ], + "id": 18377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2800:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 18376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2800:7:121", + "typeDescriptions": {} + } + }, + "id": 18379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2800:81:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 18387, + "nodeType": "StructDefinition", + "src": "3164:120:121", + "nodes": [], + "canonicalName": "RainterpreterExpressionDeployerConstructionConfig", + "members": [ + { + "constant": false, + "id": 18382, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "3235:11:121", + "nodeType": "VariableDeclaration", + "scope": 18387, + "src": "3227:19:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3227:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18384, + "mutability": "mutable", + "name": "store", + "nameLocation": "3260:5:121", + "nodeType": "VariableDeclaration", + "scope": 18387, + "src": "3252:13:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3252:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18386, + "mutability": "mutable", + "name": "meta", + "nameLocation": "3277:4:121", + "nodeType": "VariableDeclaration", + "scope": 18387, + "src": "3271:10:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18385, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3271:5:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "RainterpreterExpressionDeployerConstructionConfig", + "nameLocation": "3171:49:121", + "scope": 18797, + "visibility": "public" + }, + { + "id": 18796, + "nodeType": "ContractDefinition", + "src": "3472:8711:121", + "nodes": [ + { + "id": 18396, + "nodeType": "UsingForDirective", + "src": "3553:39:121", + "nodes": [], + "global": false, + "libraryName": { + "id": 18393, + "name": "LibStackPointer", + "nameLocations": [ + "3559:15:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 18069, + "src": "3559:15:121" + }, + "typeName": { + "id": 18395, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18394, + "name": "StackPointer", + "nameLocations": [ + "3579:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "3579:12:121" + }, + "referencedDeclaration": 16760, + "src": "3579:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + } + }, + { + "id": 18410, + "nodeType": "EventDefinition", + "src": "3974:134:121", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 18397, + "nodeType": "StructuredDocumentation", + "src": "3598:371:121", + "text": "The config of the deployed expression including uncompiled sources. Will\n only be emitted after the config passes the integrity check.\n @param sender The caller of `deployExpression`.\n @param sources As per `IExpressionDeployerV1`.\n @param constants As per `IExpressionDeployerV1`.\n @param minOutputs As per `IExpressionDeployerV1`." + }, + "eventSelector": "f66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786", + "name": "NewExpression", + "nameLocation": "3980:13:121", + "parameters": { + "id": 18409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18399, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4011:6:121", + "nodeType": "VariableDeclaration", + "scope": 18410, + "src": "4003:14:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4003:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18402, + "indexed": false, + "mutability": "mutable", + "name": "sources", + "nameLocation": "4035:7:121", + "nodeType": "VariableDeclaration", + "scope": 18410, + "src": "4027:15:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 18400, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4027:5:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 18401, + "nodeType": "ArrayTypeName", + "src": "4027:7:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18405, + "indexed": false, + "mutability": "mutable", + "name": "constants", + "nameLocation": "4062:9:121", + "nodeType": "VariableDeclaration", + "scope": 18410, + "src": "4052:19:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18403, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4052:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18404, + "nodeType": "ArrayTypeName", + "src": "4052:9:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18408, + "indexed": false, + "mutability": "mutable", + "name": "minOutputs", + "nameLocation": "4091:10:121", + "nodeType": "VariableDeclaration", + "scope": 18410, + "src": "4081:20:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4081:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18407, + "nodeType": "ArrayTypeName", + "src": "4081:9:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "3993:114:121" + } + }, + { + "id": 18417, + "nodeType": "EventDefinition", + "src": "4409:60:121", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 18411, + "nodeType": "StructuredDocumentation", + "src": "4114:290:121", + "text": "The address of the deployed expression. Will only be emitted once the\n expression can be loaded and deserialized into an evaluable interpreter\n state.\n @param sender The caller of `deployExpression`.\n @param expression The address of the deployed expression." + }, + "eventSelector": "ce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1", + "name": "ExpressionAddress", + "nameLocation": "4415:17:121", + "parameters": { + "id": 18416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18413, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4441:6:121", + "nodeType": "VariableDeclaration", + "scope": 18417, + "src": "4433:14:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4433:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18415, + "indexed": false, + "mutability": "mutable", + "name": "expression", + "nameLocation": "4457:10:121", + "nodeType": "VariableDeclaration", + "scope": 18417, + "src": "4449:18:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4449:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4432:36:121" + } + }, + { + "id": 18420, + "nodeType": "VariableDeclaration", + "src": "4475:43:121", + "nodes": [], + "constant": false, + "functionSelector": "3a35cf17", + "mutability": "immutable", + "name": "interpreter", + "nameLocation": "4507:11:121", + "scope": 18796, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 18419, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18418, + "name": "IInterpreterV1", + "nameLocations": [ + "4475:14:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15889, + "src": "4475:14:121" + }, + "referencedDeclaration": 15889, + "src": "4475:14:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "public" + }, + { + "id": 18423, + "nodeType": "VariableDeclaration", + "src": "4524:42:121", + "nodes": [], + "constant": false, + "functionSelector": "975057e7", + "mutability": "immutable", + "name": "store", + "nameLocation": "4561:5:121", + "scope": 18796, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 18422, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18421, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "4524:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19083, + "src": "4524:19:121" + }, + "referencedDeclaration": 19083, + "src": "4524:19:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "public" + }, + { + "id": 18549, + "nodeType": "FunctionDefinition", + "src": "4762:2358:121", + "nodes": [], + "body": { + "id": 18548, + "nodeType": "Block", + "src": "4854:2266:121", + "nodes": [], + "statements": [ + { + "assignments": [ + 18432 + ], + "declarations": [ + { + "constant": false, + "id": 18432, + "mutability": "mutable", + "name": "interpreter_", + "nameLocation": "4879:12:121", + "nodeType": "VariableDeclaration", + "scope": 18548, + "src": "4864:27:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 18431, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18430, + "name": "IInterpreterV1", + "nameLocations": [ + "4864:14:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15889, + "src": "4864:14:121" + }, + "referencedDeclaration": 15889, + "src": "4864:14:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + } + ], + "id": 18437, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 18434, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18427, + "src": "4909:7:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 18435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4917:11:121", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18382, + "src": "4909:19:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18433, + "name": "IInterpreterV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15889, + "src": "4894:14:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$15889_$", + "typeString": "type(contract IInterpreterV1)" + } + }, + "id": 18436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4894:35:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4864:65:121" + }, + { + "assignments": [ + 18439 + ], + "declarations": [ + { + "constant": false, + "id": 18439, + "mutability": "mutable", + "name": "functionPointers_", + "nameLocation": "5098:17:121", + "nodeType": "VariableDeclaration", + "scope": 18548, + "src": "5085:30:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18438, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5085:5:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 18443, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 18440, + "name": "interpreter_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18432, + "src": "5118:12:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "id": 18441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5131:16:121", + "memberName": "functionPointers", + "nodeType": "MemberAccess", + "referencedDeclaration": 15865, + "src": "5118:29:121", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () view external returns (bytes memory)" + } + }, + "id": 18442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5118:31:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5085:64:121" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 18450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 18445, + "name": "functionPointers_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18439, + "src": "5186:17:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18444, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5176:9:121", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 18446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5176:28:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 18448, + "name": "OPCODE_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18359, + "src": "5218:24:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18447, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5208:9:121", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 18449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5208:35:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5176:67:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18456, + "nodeType": "IfStatement", + "src": "5159:164:121", + "trueBody": { + "id": 18455, + "nodeType": "Block", + "src": "5254:69:121", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 18452, + "name": "functionPointers_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18439, + "src": "5294:17:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18451, + "name": "UnexpectedPointers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18333, + "src": "5275:18:121", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 18453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5275:37:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18454, + "nodeType": "RevertStatement", + "src": "5268:44:121" + } + ] + } + }, + { + "assignments": [ + 18458 + ], + "declarations": [ + { + "constant": false, + "id": 18458, + "mutability": "mutable", + "name": "interpreterHash_", + "nameLocation": "5403:16:121", + "nodeType": "VariableDeclaration", + "scope": 18548, + "src": "5395:24:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18457, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5395:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 18459, + "nodeType": "VariableDeclarationStatement", + "src": "5395:24:121" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "5454:69:121", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5468:45:121", + "value": { + "arguments": [ + { + "name": "interpreter_", + "nodeType": "YulIdentifier", + "src": "5500:12:121" + } + ], + "functionName": { + "name": "extcodehash", + "nodeType": "YulIdentifier", + "src": "5488:11:121" + }, + "nodeType": "YulFunctionCall", + "src": "5488:25:121" + }, + "variableNames": [ + { + "name": "interpreterHash_", + "nodeType": "YulIdentifier", + "src": "5468:16:121" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 18458, + "isOffset": false, + "isSlot": false, + "src": "5468:16:121", + "valueSize": 1 + }, + { + "declaration": 18432, + "isOffset": false, + "isSlot": false, + "src": "5500:12:121", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 18460, + "nodeType": "InlineAssembly", + "src": "5429:94:121" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 18463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18461, + "name": "interpreterHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18458, + "src": "5536:16:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 18462, + "name": "INTERPRETER_BYTECODE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18366, + "src": "5556:25:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5536:45:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18469, + "nodeType": "IfStatement", + "src": "5532:249:121", + "trueBody": { + "id": 18468, + "nodeType": "Block", + "src": "5583:198:121", + "statements": [ + { + "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", + "errorCall": { + "arguments": [ + { + "id": 18465, + "name": "interpreterHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18458, + "src": "5753:16:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18464, + "name": "UnexpectedInterpreterBytecodeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18338, + "src": "5719:33:121", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 18466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5719:51:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18467, + "nodeType": "RevertStatement", + "src": "5712:58:121" + } + ] + } + }, + { + "assignments": [ + 18472 + ], + "declarations": [ + { + "constant": false, + "id": 18472, + "mutability": "mutable", + "name": "store_", + "nameLocation": "5868:6:121", + "nodeType": "VariableDeclaration", + "scope": 18548, + "src": "5848:26:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 18471, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18470, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "5848:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19083, + "src": "5848:19:121" + }, + "referencedDeclaration": 19083, + "src": "5848:19:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + } + ], + "id": 18477, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 18474, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18427, + "src": "5897:7:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 18475, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5905:5:121", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 18384, + "src": "5897:13:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18473, + "name": "IInterpreterStoreV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19083, + "src": "5877:19:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$19083_$", + "typeString": "type(contract IInterpreterStoreV1)" + } + }, + "id": 18476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5877:34:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5848:63:121" + }, + { + "assignments": [ + 18479 + ], + "declarations": [ + { + "constant": false, + "id": 18479, + "mutability": "mutable", + "name": "storeHash_", + "nameLocation": "5929:10:121", + "nodeType": "VariableDeclaration", + "scope": 18548, + "src": "5921:18:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18478, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5921:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 18480, + "nodeType": "VariableDeclarationStatement", + "src": "5921:18:121" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "5974:57:121", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5988:33:121", + "value": { + "arguments": [ + { + "name": "store_", + "nodeType": "YulIdentifier", + "src": "6014:6:121" + } + ], + "functionName": { + "name": "extcodehash", + "nodeType": "YulIdentifier", + "src": "6002:11:121" + }, + "nodeType": "YulFunctionCall", + "src": "6002:19:121" + }, + "variableNames": [ + { + "name": "storeHash_", + "nodeType": "YulIdentifier", + "src": "5988:10:121" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 18479, + "isOffset": false, + "isSlot": false, + "src": "5988:10:121", + "valueSize": 1 + }, + { + "declaration": 18472, + "isOffset": false, + "isSlot": false, + "src": "6014:6:121", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 18481, + "nodeType": "InlineAssembly", + "src": "5949:82:121" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 18484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18482, + "name": "storeHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18479, + "src": "6044:10:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 18483, + "name": "STORE_BYTECODE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18373, + "src": "6058:19:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6044:33:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18490, + "nodeType": "IfStatement", + "src": "6040:225:121", + "trueBody": { + "id": 18489, + "nodeType": "Block", + "src": "6079:186:121", + "statements": [ + { + "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", + "errorCall": { + "arguments": [ + { + "id": 18486, + "name": "storeHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18479, + "src": "6243:10:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18485, + "name": "UnexpectedStoreBytecodeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18350, + "src": "6215:27:121", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 18487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6215:39:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18488, + "nodeType": "RevertStatement", + "src": "6208:46:121" + } + ] + } + }, + { + "assignments": [ + 18493 + ], + "declarations": [ + { + "constant": false, + "id": 18493, + "mutability": "mutable", + "name": "opMetaHash_", + "nameLocation": "6508:11:121", + "nodeType": "VariableDeclaration", + "scope": 18548, + "src": "6500:19:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18492, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6500:7:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "documentation": "This IS a security check. This prevents someone making an exact\n bytecode copy of the interpreter and shipping different meta for\n the copy to lie about what each op does in the interpreter.", + "id": 18498, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 18495, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18427, + "src": "6532:7:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 18496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6540:4:121", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 18386, + "src": "6532:12:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18494, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "6522:9:121", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 18497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6522:23:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6500:45:121" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 18501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18499, + "name": "opMetaHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18493, + "src": "6559:11:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 18500, + "name": "OP_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18380, + "src": "6574:12:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6559:27:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18507, + "nodeType": "IfStatement", + "src": "6555:98:121", + "trueBody": { + "id": 18506, + "nodeType": "Block", + "src": "6588:65:121", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 18503, + "name": "opMetaHash_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18493, + "src": "6630:11:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18502, + "name": "UnexpectedOpMetaHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18355, + "src": "6609:20:121", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 18504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6609:33:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18505, + "nodeType": "RevertStatement", + "src": "6602:40:121" + } + ] + } + }, + { + "expression": { + "id": 18510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 18508, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18420, + "src": "6663:11:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 18509, + "name": "interpreter_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18432, + "src": "6677:12:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "src": "6663:26:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "id": 18511, + "nodeType": "ExpressionStatement", + "src": "6663:26:121" + }, + { + "expression": { + "id": 18514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 18512, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18423, + "src": "6699:5:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 18513, + "name": "store_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18472, + "src": "6707:6:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "src": "6699:14:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 18515, + "nodeType": "ExpressionStatement", + "src": "6699:14:121" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 18517, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6750:3:121", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6754:6:121", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6750:10:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 18521, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6782:4:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", + "typeString": "contract RainterpreterExpressionDeployer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", + "typeString": "contract RainterpreterExpressionDeployer" + } + ], + "id": 18520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6774:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 18519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6774:7:121", + "typeDescriptions": {} + } + }, + "id": 18522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6774:13:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 18523, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18427, + "src": "6801:7:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 18524, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6809:11:121", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18382, + "src": "6801:19:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 18525, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18427, + "src": "6834:7:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 18526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6842:5:121", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 18384, + "src": "6834:13:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 18527, + "name": "config_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18427, + "src": "6861:7:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 18528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6869:4:121", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 18386, + "src": "6861:12:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18516, + "name": "DISpair", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "6729:7:121", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,address,bytes memory)" + } + }, + "id": 18529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6729:154:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18530, + "nodeType": "EmitStatement", + "src": "6724:159:121" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 18536, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6957:4:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", + "typeString": "contract RainterpreterExpressionDeployer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", + "typeString": "contract RainterpreterExpressionDeployer" + } + ], + "id": 18535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6949:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 18534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6949:7:121", + "typeDescriptions": {} + } + }, + "id": 18537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6949:13:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 18540, + "name": "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5604, + "src": "7025:37:121", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18538, + "name": "IERC1820_REGISTRY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5601, + "src": "6976:17:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1820RegistryUpgradeable_$47208", + "typeString": "contract IERC1820RegistryUpgradeable" + } + }, + "id": 18539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6994:13:121", + "memberName": "interfaceHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 47179, + "src": "6976:31:121", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure external returns (bytes32)" + } + }, + "id": 18541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6976:100:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 18544, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "7098:4:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", + "typeString": "contract RainterpreterExpressionDeployer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", + "typeString": "contract RainterpreterExpressionDeployer" + } + ], + "id": 18543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7090:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 18542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7090:7:121", + "typeDescriptions": {} + } + }, + "id": 18545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7090:13:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18531, + "name": "IERC1820_REGISTRY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5601, + "src": "6894:17:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1820RegistryUpgradeable_$47208", + "typeString": "contract IERC1820RegistryUpgradeable" + } + }, + "id": 18533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6912:23:121", + "memberName": "setInterfaceImplementer", + "nodeType": "MemberAccess", + "referencedDeclaration": 47161, + "src": "6894:41:121", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (address,bytes32,address) external" + } + }, + "id": 18546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6894:219:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18547, + "nodeType": "ExpressionStatement", + "src": "6894:219:121" + } + ] + }, + "documentation": { + "id": 18424, + "nodeType": "StructuredDocumentation", + "src": "4573:184:121", + "text": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT HONEST\n MISTAKES. IT CANNOT PREVENT EITHER A MALICIOUS INTERPRETER OR DEPLOYER\n FROM BEING EXECUTED." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 18428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18427, + "mutability": "mutable", + "name": "config_", + "nameLocation": "4840:7:121", + "nodeType": "VariableDeclaration", + "scope": 18549, + "src": "4783:64:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" + }, + "typeName": { + "id": 18426, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18425, + "name": "RainterpreterExpressionDeployerConstructionConfig", + "nameLocations": [ + "4783:49:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 18387, + "src": "4783:49:121" + }, + "referencedDeclaration": 18387, + "src": "4783:49:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_storage_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "4773:80:121" + }, + "returnParameters": { + "id": 18429, + "nodeType": "ParameterList", + "parameters": [], + "src": "4854:0:121" + }, + "scope": 18796, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 18572, + "nodeType": "FunctionDefinition", + "src": "7153:254:121", + "nodes": [], + "body": { + "id": 18571, + "nodeType": "Block", + "src": "7259:148:121", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 18562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18557, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18551, + "src": "7288:12:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 18559, + "name": "IExpressionDeployerV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6051, + "src": "7309:21:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV1_$6051_$", + "typeString": "type(contract IExpressionDeployerV1)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV1_$6051_$", + "typeString": "type(contract IExpressionDeployerV1)" + } + ], + "id": 18558, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7304:4:121", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 18560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7304:27:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IExpressionDeployerV1_$6051", + "typeString": "type(contract IExpressionDeployerV1)" + } + }, + "id": 18561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7332:11:121", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "7304:39:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "7288:55:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 18568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18563, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18551, + "src": "7359:12:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 18565, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47118, + "src": "7380:7:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", + "typeString": "type(contract IERC165Upgradeable)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", + "typeString": "type(contract IERC165Upgradeable)" + } + ], + "id": 18564, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7375:4:121", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 18566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7375:13:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165Upgradeable_$47118", + "typeString": "type(contract IERC165Upgradeable)" + } + }, + "id": 18567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7389:11:121", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "7375:25:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "7359:41:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7288:112:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 18556, + "id": 18570, + "nodeType": "Return", + "src": "7269:131:121" + } + ] + }, + "baseFunctions": [ + 47117 + ], + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "7162:17:121", + "overrides": { + "id": 18553, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7235:8:121" + }, + "parameters": { + "id": 18552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18551, + "mutability": "mutable", + "name": "interfaceId_", + "nameLocation": "7196:12:121", + "nodeType": "VariableDeclaration", + "scope": 18572, + "src": "7189:19:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 18550, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7189:6:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "7179:35:121" + }, + "returnParameters": { + "id": 18556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18555, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18572, + "src": "7253:4:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18554, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7253:4:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7252:6:121" + }, + "scope": 18796, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 18636, + "nodeType": "FunctionDefinition", + "src": "8173:666:121", + "nodes": [], + "body": { + "id": 18635, + "nodeType": "Block", + "src": "8445:394:121", + "nodes": [], + "statements": [ + { + "assignments": [ + 18609 + ], + "declarations": [ + { + "constant": false, + "id": 18609, + "mutability": "mutable", + "name": "localFnPtrs_", + "nameLocation": "8588:12:121", + "nodeType": "VariableDeclaration", + "scope": 18635, + "src": "8455:145:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" + }, + "typeName": { + "baseType": { + "id": 18607, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 18602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18595, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18607, + "src": "8464:26:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState" + }, + "typeName": { + "id": 18594, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18593, + "name": "IntegrityCheckState", + "nameLocations": [ + "8464:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6153, + "src": "8464:19:121" + }, + "referencedDeclaration": 6153, + "src": "8464:19:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", + "typeString": "struct IntegrityCheckState" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18598, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18607, + "src": "8492:7:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + }, + "typeName": { + "id": 18597, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18596, + "name": "Operand", + "nameLocations": [ + "8492:7:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15850, + "src": "8492:7:121" + }, + "referencedDeclaration": 15850, + "src": "8492:7:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18601, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18607, + "src": "8501:12:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18600, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18599, + "name": "StackPointer", + "nameLocations": [ + "8501:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "8501:12:121" + }, + "referencedDeclaration": 16760, + "src": "8501:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "8463:51:121" + }, + "returnParameterTypes": { + "id": 18606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18605, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18607, + "src": "8553:12:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18604, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18603, + "name": "StackPointer", + "nameLocations": [ + "8553:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "8553:12:121" + }, + "referencedDeclaration": 16760, + "src": "8553:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "8552:14:121" + }, + "src": "8455:112:121", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)" + }, + "visibility": "internal" + }, + "id": 18608, + "nodeType": "ArrayTypeName", + "src": "8455:113:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" + } + }, + "visibility": "internal" + } + ], + "id": 18629, + "initialValue": { + "arguments": [ + { + "hexValue": "30", + "id": 18627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8759:1:121", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "8603:155:121", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" + }, + "typeName": { + "baseType": { + "id": 18624, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 18619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18612, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18624, + "src": "8633:26:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState" + }, + "typeName": { + "id": 18611, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18610, + "name": "IntegrityCheckState", + "nameLocations": [ + "8633:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6153, + "src": "8633:19:121" + }, + "referencedDeclaration": 6153, + "src": "8633:19:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", + "typeString": "struct IntegrityCheckState" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18615, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18624, + "src": "8677:7:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + }, + "typeName": { + "id": 18614, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18613, + "name": "Operand", + "nameLocations": [ + "8677:7:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15850, + "src": "8677:7:121" + }, + "referencedDeclaration": 15850, + "src": "8677:7:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18618, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18624, + "src": "8702:12:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18617, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18616, + "name": "StackPointer", + "nameLocations": [ + "8702:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "8702:12:121" + }, + "referencedDeclaration": 16760, + "src": "8702:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "8615:113:121" + }, + "returnParameterTypes": { + "id": 18623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18622, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18624, + "src": "8743:12:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18621, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18620, + "name": "StackPointer", + "nameLocations": [ + "8743:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "8743:12:121" + }, + "referencedDeclaration": 16760, + "src": "8743:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "8742:14:121" + }, + "src": "8607:150:121", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)" + }, + "visibility": "internal" + }, + "id": 18625, + "nodeType": "ArrayTypeName", + "src": "8607:151:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" + } + } + }, + "id": 18628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8603:158:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8455:306:121" + }, + { + "expression": { + "arguments": [ + { + "id": 18632, + "name": "localFnPtrs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18609, + "src": "8819:12:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + ], + "expression": { + "id": 18630, + "name": "AllStandardOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7954, + "src": "8778:14:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AllStandardOps_$7954_$", + "typeString": "type(library AllStandardOps)" + } + }, + "id": 18631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8793:25:121", + "memberName": "integrityFunctionPointers", + "nodeType": "MemberAccess", + "referencedDeclaration": 7704, + "src": "8778:40:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", + "typeString": "function (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" + } + }, + "id": 18633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8778:54:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + }, + "functionReturnParameters": 18592, + "id": 18634, + "nodeType": "Return", + "src": "8771:61:121" + } + ] + }, + "documentation": { + "id": 18573, + "nodeType": "StructuredDocumentation", + "src": "7413:755:121", + "text": "Defines all the function pointers to integrity checks. This is the\n expression deployer's equivalent of the opcode function pointers and\n follows a near identical dispatch process. These are never compiled into\n source and are instead indexed into directly by the integrity check. The\n indexing into integrity pointers (which has an out of bounds check) is a\n proxy for enforcing that all opcode pointers exist at runtime, so the\n length of the integrity pointers MUST match the length of opcode function\n pointers. This function is `virtual` so that it can be overridden\n pairwise with overrides to `functionPointers` on `Rainterpreter`.\n @return The list of integrity function pointers." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "integrityFunctionPointers", + "nameLocation": "8182:25:121", + "parameters": { + "id": 18574, + "nodeType": "ParameterList", + "parameters": [], + "src": "8207:2:121" + }, + "returnParameters": { + "id": 18592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18591, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18636, + "src": "8286:144:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" + }, + "typeName": { + "baseType": { + "id": 18589, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 18584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18577, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18589, + "src": "8295:26:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState" + }, + "typeName": { + "id": 18576, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18575, + "name": "IntegrityCheckState", + "nameLocations": [ + "8295:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6153, + "src": "8295:19:121" + }, + "referencedDeclaration": 6153, + "src": "8295:19:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", + "typeString": "struct IntegrityCheckState" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18580, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18589, + "src": "8323:7:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + }, + "typeName": { + "id": 18579, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18578, + "name": "Operand", + "nameLocations": [ + "8323:7:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15850, + "src": "8323:7:121" + }, + "referencedDeclaration": 15850, + "src": "8323:7:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", + "typeString": "Operand" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18583, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18589, + "src": "8332:12:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18582, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18581, + "name": "StackPointer", + "nameLocations": [ + "8332:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "8332:12:121" + }, + "referencedDeclaration": 16760, + "src": "8332:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "8294:51:121" + }, + "returnParameterTypes": { + "id": 18588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18587, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18589, + "src": "8392:12:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18586, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18585, + "name": "StackPointer", + "nameLocations": [ + "8392:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "8392:12:121" + }, + "referencedDeclaration": 16760, + "src": "8392:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "src": "8391:14:121" + }, + "src": "8286:120:121", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)" + }, + "visibility": "internal" + }, + "id": 18590, + "nodeType": "ArrayTypeName", + "src": "8286:121:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", + "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" + } + }, + "visibility": "internal" + } + ], + "src": "8272:168:121" + }, + "scope": 18796, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 18795, + "nodeType": "FunctionDefinition", + "src": "8887:3294:121", + "nodes": [], + "body": { + "id": 18794, + "nodeType": "Block", + "src": "9091:3090:121", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 18657, + "name": "minOutputs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18646, + "src": "9208:11:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 18658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9220:6:121", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9208:18:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 18659, + "name": "sources_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18640, + "src": "9229:8:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 18660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9238:6:121", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9229:15:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9208:36:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18670, + "nodeType": "IfStatement", + "src": "9204:128:121", + "trueBody": { + "id": 18669, + "nodeType": "Block", + "src": "9246:86:121", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 18663, + "name": "minOutputs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18646, + "src": "9285:11:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 18664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9297:6:121", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9285:18:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 18665, + "name": "sources_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18640, + "src": "9305:8:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 18666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9314:6:121", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9305:15:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 18662, + "name": "MissingEntrypoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18345, + "src": "9267:17:121", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 18667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9267:54:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18668, + "nodeType": "RevertStatement", + "src": "9260:61:121" + } + ] + } + }, + { + "assignments": [ + 18673 + ], + "declarations": [ + { + "constant": false, + "id": 18673, + "mutability": "mutable", + "name": "integrityCheckState_", + "nameLocation": "9428:20:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "9401:47:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState" + }, + "typeName": { + "id": 18672, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18671, + "name": "IntegrityCheckState", + "nameLocations": [ + "9401:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6153, + "src": "9401:19:121" + }, + "referencedDeclaration": 6153, + "src": "9401:19:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", + "typeString": "struct IntegrityCheckState" + } + }, + "visibility": "internal" + } + ], + "id": 18681, + "initialValue": { + "arguments": [ + { + "id": 18676, + "name": "sources_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18640, + "src": "9491:8:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 18677, + "name": "constants_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18643, + "src": "9501:10:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18678, + "name": "integrityFunctionPointers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18636, + "src": "9513:25:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", + "typeString": "function () view returns (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" + } + }, + "id": 18679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9513:27:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", + "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" + } + ], + "expression": { + "id": 18674, + "name": "LibIntegrityCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7024, + "src": "9451:17:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheck_$7024_$", + "typeString": "type(library LibIntegrityCheck)" + } + }, + "id": 18675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9482:8:121", + "memberName": "newState", + "nodeType": "MemberAccess", + "referencedDeclaration": 6207, + "src": "9451:39:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$", + "typeString": "function (bytes memory[] memory,uint256[] memory,function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (struct IntegrityCheckState memory)" + } + }, + "id": 18680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9451:90:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9401:140:121" + }, + { + "assignments": [ + 18684 + ], + "declarations": [ + { + "constant": false, + "id": 18684, + "mutability": "mutable", + "name": "initialStackBottom_", + "nameLocation": "9919:19:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "9906:32:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18683, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18682, + "name": "StackPointer", + "nameLocations": [ + "9906:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "9906:12:121" + }, + "referencedDeclaration": 16760, + "src": "9906:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "id": 18687, + "initialValue": { + "expression": { + "id": 18685, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "9941:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "id": 18686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9962:11:121", + "memberName": "stackBottom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6129, + "src": "9941:32:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9906:67:121" + }, + { + "assignments": [ + 18690 + ], + "declarations": [ + { + "constant": false, + "id": 18690, + "mutability": "mutable", + "name": "initialStackHighwater_", + "nameLocation": "9996:22:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "9983:35:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + "typeName": { + "id": 18689, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18688, + "name": "StackPointer", + "nameLocations": [ + "9983:12:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16760, + "src": "9983:12:121" + }, + "referencedDeclaration": 16760, + "src": "9983:12:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "visibility": "internal" + } + ], + "id": 18693, + "initialValue": { + "expression": { + "id": 18691, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "10021:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "id": 18692, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10055:14:121", + "memberName": "stackHighwater", + "nodeType": "MemberAccess", + "referencedDeclaration": 6132, + "src": "10021:48:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9983:86:121" + }, + { + "body": { + "id": 18731, + "nodeType": "Block", + "src": "10131:693:121", + "statements": [ + { + "expression": { + "id": 18709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 18705, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "10477:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "id": 18707, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10498:11:121", + "memberName": "stackBottom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6129, + "src": "10477:32:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 18708, + "name": "initialStackBottom_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18684, + "src": "10512:19:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "src": "10477:54:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "id": 18710, + "nodeType": "ExpressionStatement", + "src": "10477:54:121" + }, + { + "expression": { + "id": 18715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 18711, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "10545:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "id": 18713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10566:14:121", + "memberName": "stackHighwater", + "nodeType": "MemberAccess", + "referencedDeclaration": 6132, + "src": "10545:35:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 18714, + "name": "initialStackHighwater_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18690, + "src": "10583:22:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "src": "10545:60:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "id": 18716, + "nodeType": "ExpressionStatement", + "src": "10545:60:121" + }, + { + "expression": { + "arguments": [ + { + "id": 18720, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "10670:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + { + "arguments": [ + { + "id": 18723, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18695, + "src": "10725:2:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18721, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15844, + "src": "10708:11:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$15844_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 18722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10720:4:121", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "10708:16:121", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_SourceIndex_$15844_$", + "typeString": "function (uint256) pure returns (SourceIndex)" + } + }, + "id": 18724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10708:20:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", + "typeString": "SourceIndex" + } + }, + { + "id": 18725, + "name": "INITIAL_STACK_BOTTOM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6104, + "src": "10746:20:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + { + "baseExpression": { + "id": 18726, + "name": "minOutputs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18646, + "src": "10784:11:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 18728, + "indexExpression": { + "id": 18727, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18695, + "src": "10796:2:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10784:15:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18717, + "name": "LibIntegrityCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7024, + "src": "10619:17:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheck_$7024_$", + "typeString": "type(library LibIntegrityCheck)" + } + }, + "id": 18719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10637:15:121", + "memberName": "ensureIntegrity", + "nodeType": "MemberAccess", + "referencedDeclaration": 6326, + "src": "10619:33:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_userDefinedValueType$_StackPointer_$16760_$_t_uint256_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (struct IntegrityCheckState memory,SourceIndex,StackPointer,uint256) view returns (StackPointer)" + } + }, + "id": 18729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10619:194:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "id": 18730, + "nodeType": "ExpressionStatement", + "src": "10619:194:121" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18698, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18695, + "src": "10100:2:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 18699, + "name": "minOutputs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18646, + "src": "10105:11:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 18700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10117:6:121", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10105:18:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10100:23:121", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18732, + "initializationExpression": { + "assignments": [ + 18695 + ], + "declarations": [ + { + "constant": false, + "id": 18695, + "mutability": "mutable", + "name": "i_", + "nameLocation": "10092:2:121", + "nodeType": "VariableDeclaration", + "scope": 18732, + "src": "10084:10:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10084:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 18697, + "initialValue": { + "hexValue": "30", + "id": 18696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10097:1:121", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10084:14:121" + }, + "loopExpression": { + "expression": { + "id": 18703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10125:4:121", + "subExpression": { + "id": 18702, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18695, + "src": "10125:2:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18704, + "nodeType": "ExpressionStatement", + "src": "10125:4:121" + }, + "nodeType": "ForStatement", + "src": "10079:745:121" + }, + { + "assignments": [ + 18734 + ], + "declarations": [ + { + "constant": false, + "id": 18734, + "mutability": "mutable", + "name": "stackLength_", + "nameLocation": "10841:12:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "10833:20:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18733, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10833:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 18741, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 18738, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "10910:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "id": 18739, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10931:11:121", + "memberName": "stackMaxTop", + "nodeType": "MemberAccess", + "referencedDeclaration": 6135, + "src": "10910:32:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + ], + "expression": { + "expression": { + "id": 18735, + "name": "integrityCheckState_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18673, + "src": "10856:20:121", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", + "typeString": "struct IntegrityCheckState memory" + } + }, + "id": 18736, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10877:11:121", + "memberName": "stackBottom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6129, + "src": "10856:32:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", + "typeString": "StackPointer" + } + }, + "id": 18737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10889:7:121", + "memberName": "toIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 18068, + "src": "10856:40:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StackPointer_$16760_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StackPointer_$16760_$", + "typeString": "function (StackPointer,StackPointer) pure returns (uint256)" + } + }, + "id": 18740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10856:96:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10833:119:121" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 18743, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11141:3:121", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11145:6:121", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11141:10:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18745, + "name": "sources_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18640, + "src": "11153:8:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 18746, + "name": "constants_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18643, + "src": "11163:10:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 18747, + "name": "minOutputs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18646, + "src": "11175:11:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 18742, + "name": "NewExpression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18410, + "src": "11127:13:121", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,bytes memory[] memory,uint256[] memory,uint256[] memory)" + } + }, + "id": 18748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11127:60:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18749, + "nodeType": "EmitStatement", + "src": "11122:65:121" + }, + { + "assignments": [ + 18752, + 18755 + ], + "declarations": [ + { + "constant": false, + "id": 18752, + "mutability": "mutable", + "name": "container_", + "nameLocation": "11240:10:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "11212:38:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", + "typeString": "DataContractMemoryContainer" + }, + "typeName": { + "id": 18751, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18750, + "name": "DataContractMemoryContainer", + "nameLocations": [ + "11212:27:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 39216, + "src": "11212:27:121" + }, + "referencedDeclaration": 39216, + "src": "11212:27:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", + "typeString": "DataContractMemoryContainer" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18755, + "mutability": "mutable", + "name": "pointer_", + "nameLocation": "11272:8:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "11264:16:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", + "typeString": "Pointer" + }, + "typeName": { + "id": 18754, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18753, + "name": "Pointer", + "nameLocations": [ + "11264:7:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 39080, + "src": "11264:7:121" + }, + "referencedDeclaration": 39080, + "src": "11264:7:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", + "typeString": "Pointer" + } + }, + "visibility": "internal" + } + ], + "id": 18765, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 18760, + "name": "sources_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18640, + "src": "11394:8:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 18761, + "name": "constants_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18643, + "src": "11424:10:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 18762, + "name": "stackLength_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18734, + "src": "11456:12:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18758, + "name": "LibInterpreterState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16746, + "src": "11339:19:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibInterpreterState_$16746_$", + "typeString": "type(library LibInterpreterState)" + } + }, + "id": 18759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11359:13:121", + "memberName": "serializeSize", + "nodeType": "MemberAccess", + "referencedDeclaration": 16376, + "src": "11339:33:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory[] memory,uint256[] memory,uint256) pure returns (uint256)" + } + }, + "id": 18763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11339:147:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18756, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39323, + "src": "11293:15:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$39323_$", + "typeString": "type(library LibDataContract)" + } + }, + "id": 18757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11309:12:121", + "memberName": "newContainer", + "nodeType": "MemberAccess", + "referencedDeclaration": 39240, + "src": "11293:28:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_DataContractMemoryContainer_$39216_$_t_userDefinedValueType$_Pointer_$39080_$", + "typeString": "function (uint256) pure returns (DataContractMemoryContainer,Pointer)" + } + }, + "id": 18764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11293:207:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_userDefinedValueType$_DataContractMemoryContainer_$39216_$_t_userDefinedValueType$_Pointer_$39080_$", + "typeString": "tuple(DataContractMemoryContainer,Pointer)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11198:302:121" + }, + { + "expression": { + "arguments": [ + { + "id": 18769, + "name": "pointer_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18755, + "src": "11751:8:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", + "typeString": "Pointer" + } + }, + { + "id": 18770, + "name": "sources_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18640, + "src": "11773:8:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 18771, + "name": "constants_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18643, + "src": "11795:10:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 18772, + "name": "stackLength_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18734, + "src": "11819:12:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 18773, + "name": "OPCODE_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18359, + "src": "11845:24:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", + "typeString": "Pointer" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 18766, + "name": "LibInterpreterState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16746, + "src": "11708:19:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibInterpreterState_$16746_$", + "typeString": "type(library LibInterpreterState)" + } + }, + "id": 18768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11728:9:121", + "memberName": "serialize", + "nodeType": "MemberAccess", + "referencedDeclaration": 16454, + "src": "11708:29:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Pointer_$39080_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (Pointer,bytes memory[] memory,uint256[] memory,uint256,bytes memory) pure" + } + }, + "id": 18774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11708:171:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18775, + "nodeType": "ExpressionStatement", + "src": "11708:171:121" + }, + { + "assignments": [ + 18777 + ], + "declarations": [ + { + "constant": false, + "id": 18777, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "11951:11:121", + "nodeType": "VariableDeclaration", + "scope": 18794, + "src": "11943:19:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11943:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 18782, + "initialValue": { + "arguments": [ + { + "id": 18780, + "name": "container_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18752, + "src": "11987:10:121", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", + "typeString": "DataContractMemoryContainer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", + "typeString": "DataContractMemoryContainer" + } + ], + "expression": { + "id": 18778, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39323, + "src": "11965:15:121", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$39323_$", + "typeString": "type(library LibDataContract)" + } + }, + "id": 18779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11981:5:121", + "memberName": "write", + "nodeType": "MemberAccess", + "referencedDeclaration": 39270, + "src": "11965:21:121", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_DataContractMemoryContainer_$39216_$returns$_t_address_$", + "typeString": "function (DataContractMemoryContainer) returns (address)" + } + }, + "id": 18781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11965:33:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11943:55:121" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 18784, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12099:3:121", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12103:6:121", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12099:10:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18786, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18777, + "src": "12111:11:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18783, + "name": "ExpressionAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18417, + "src": "12081:17:121", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 18787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12081:42:121", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18788, + "nodeType": "EmitStatement", + "src": "12076:47:121" + }, + { + "expression": { + "components": [ + { + "id": 18789, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18420, + "src": "12142:11:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + { + "id": 18790, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18423, + "src": "12155:5:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 18791, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18777, + "src": "12162:11:121", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 18792, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12141:33:121", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$15889_$_t_contract$_IInterpreterStoreV1_$19083_$_t_address_$", + "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "functionReturnParameters": 18656, + "id": 18793, + "nodeType": "Return", + "src": "12134:40:121" + } + ] + }, + "baseFunctions": [ + 6050 + ], + "documentation": { + "id": 18637, + "nodeType": "StructuredDocumentation", + "src": "8845:37:121", + "text": "@inheritdoc IExpressionDeployerV1" + }, + "functionSelector": "5511cb67", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployExpression", + "nameLocation": "8896:16:121", + "parameters": { + "id": 18647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18640, + "mutability": "mutable", + "name": "sources_", + "nameLocation": "8937:8:121", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "8922:23:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 18638, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8922:5:121", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 18639, + "nodeType": "ArrayTypeName", + "src": "8922:7:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18643, + "mutability": "mutable", + "name": "constants_", + "nameLocation": "8972:10:121", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "8955:27:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18641, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8955:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18642, + "nodeType": "ArrayTypeName", + "src": "8955:9:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18646, + "mutability": "mutable", + "name": "minOutputs_", + "nameLocation": "9009:11:121", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "8992:28:121", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8992:7:121", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18645, + "nodeType": "ArrayTypeName", + "src": "8992:9:121", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8912:114:121" + }, + "returnParameters": { + "id": 18656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "9045:14:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 18649, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18648, + "name": "IInterpreterV1", + "nameLocations": [ + "9045:14:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15889, + "src": "9045:14:121" + }, + "referencedDeclaration": 15889, + "src": "9045:14:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$15889", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18653, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "9061:19:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 18652, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18651, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "9061:19:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19083, + "src": "9061:19:121" + }, + "referencedDeclaration": 19083, + "src": "9061:19:121", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18655, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "9082:7:121", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18654, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9082:7:121", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9044:46:121" + }, + "scope": 18796, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 18389, + "name": "IExpressionDeployerV1", + "nameLocations": [ + "3516:21:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6051, + "src": "3516:21:121" + }, + "id": 18390, + "nodeType": "InheritanceSpecifier", + "src": "3516:21:121" + }, + { + "baseName": { + "id": 18391, + "name": "IERC165", + "nameLocations": [ + "3539:7:121" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47118, + "src": "3539:7:121" + }, + "id": 18392, + "nodeType": "InheritanceSpecifier", + "src": "3539:7:121" + } + ], + "canonicalName": "RainterpreterExpressionDeployer", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 18388, + "nodeType": "StructuredDocumentation", + "src": "3286:186:121", + "text": "@title RainterpreterExpressionDeployer\n @notice Minimal binding of the `IExpressionDeployerV1` interface to the\n `LibIntegrityCheck.ensureIntegrity` loop and `AllStandardOps`." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 18796, + 47118, + 6051 + ], + "name": "RainterpreterExpressionDeployer", + "nameLocation": "3481:31:121", + "scope": 18797, + "usedErrors": [ + 404, + 411, + 6107, + 6114, + 6121, + 7178, + 8111, + 9290, + 9696, + 9893, + 9900, + 15619, + 18333, + 18338, + 18345, + 18350, + 18355, + 39203, + 49623, + 49632, + 54845, + 54856, + 54862, + 54871, + 54907, + 54913 + ] + } + ], + "license": "CAL" + }, + "id": 121 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json new file mode 100644 index 0000000000..598585d1a9 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json @@ -0,0 +1,1931 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "FullyQualifiedNamespace", + "name": "namespace_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "key_", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "StateNamespace", + "name": "namespace_", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "kvs_", + "type": "uint256[]" + } + ], + "name": "set", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b506102d3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b6100596100543660046101b5565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c3660046101e6565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610208565b6100f1565b005b60006001600160e01b03198216633cbd395b60e21b14806100eb57506001600160e01b031982166301ffc9a760e01b145b92915050565b600061013d846040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f19818403018152919052805160209091012092915050565b905060005b828110156101ae5783838260010181811061015f5761015f610287565b90506020020135600080848152602001908152602001600020600086868581811061018c5761018c610287565b6020908102929092013583525081019190915260400160002055600201610142565b5050505050565b6000602082840312156101c757600080fd5b81356001600160e01b0319811681146101df57600080fd5b9392505050565b600080604083850312156101f957600080fd5b50508035926020909101359150565b60008060006040848603121561021d57600080fd5b83359250602084013567ffffffffffffffff8082111561023c57600080fd5b818601915086601f83011261025057600080fd5b81358181111561025f57600080fd5b8760208260051b850101111561027457600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052603260045260246000fdfea26469706673582212205932529ef7369b668f48c9e33d89f184a4d59d54c09a9a34c2e04ba21bc551c064736f6c63430008120033", + "sourceMap": "630:1586:123:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b6100596100543660046101b5565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c3660046101e6565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610208565b6100f1565b005b60006001600160e01b03198216633cbd395b60e21b14806100eb57506001600160e01b031982166301ffc9a760e01b145b92915050565b600061013d846040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f19818403018152919052805160209091012092915050565b905060005b828110156101ae5783838260010181811061015f5761015f610287565b90506020020135600080848152602001908152602001600020600086868581811061018c5761018c610287565b6020908102929092013583525081019190915260400160002055600201610142565b5050505050565b6000602082840312156101c757600080fd5b81356001600160e01b0319811681146101df57600080fd5b9392505050565b600080604083850312156101f957600080fd5b50508035926020909101359150565b60008060006040848603121561021d57600080fd5b83359250602084013567ffffffffffffffff8082111561023c57600080fd5b818601915086601f83011261025057600080fd5b81358181111561025f57600080fd5b8760208260051b850101111561027457600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052603260045260246000fdfea26469706673582212205932529ef7369b668f48c9e33d89f184a4d59d54c09a9a34c2e04ba21bc551c064736f6c63430008120033", + "sourceMap": "630:1586:123:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1334:252;;;;;;:::i;:::-;;:::i;:::-;;;470:14:282;;463:22;445:41;;433:2;418:18;1334:252:123;;;;;;;;2050:164;;;;;;:::i;:::-;2158:7;2184:17;;;;;;;;;;;:23;;;;;;;;;;2050:164;;;;941:25:282;;;929:2;914:18;2050:164:123;795:177:282;1632:372:123;;;;;;:::i;:::-;;:::i;:::-;;1334:252;1434:4;-1:-1:-1;;;;;;1469:53:123;;-1:-1:-1;;;1469:53:123;;:110;;-1:-1:-1;;;;;;;1538:41:123;;-1:-1:-1;;;1538:41:123;1469:110;1450:129;1334:252;-1:-1:-1;;1334:252:123:o;1632:372::-;1740:48;1791:46;:10;18817:150:118;;-1:-1:-1;;18863:10:118;2010:2:282;2006:15;2002:53;18817:150:118;;;1990:66:282;2072:12;;;2065:28;;;18653:23:118;;2109:12:282;;18817:150:118;;;-1:-1:-1;;18817:150:118;;;;;;;;;18782:207;;18817:150;18782:207;;;;;18558:470;-1:-1:-1;;18558:470:118;1791:46:123;1740:97;;1856:10;1851:137;1872:16;;;1851:137;;;1961:4;;1966:2;1971:1;1966:6;1961:12;;;;;;;:::i;:::-;;;;;;;1917:5;:31;1923:24;1917:31;;;;;;;;;;;:41;1949:4;;1954:2;1949:8;;;;;;;:::i;:::-;;;;;;;;;;1917:41;;-1:-1:-1;1917:41:123;;;;;;;;-1:-1:-1;1917:41:123;:56;1896:1;1890:7;1851:137;;;;1716:282;1632:372;;;:::o;14:286:282:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:282;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:282:o;497:293::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:52;;;687:1;684;677:12;639:52;-1:-1:-1;;710:23:282;;;780:2;765:18;;;752:32;;-1:-1:-1;497:293:282:o;977:719::-;1108:6;1116;1124;1177:2;1165:9;1156:7;1152:23;1148:32;1145:52;;;1193:1;1190;1183:12;1145:52;1229:9;1216:23;1206:33;;1290:2;1279:9;1275:18;1262:32;1313:18;1354:2;1346:6;1343:14;1340:34;;;1370:1;1367;1360:12;1340:34;1408:6;1397:9;1393:22;1383:32;;1453:7;1446:4;1442:2;1438:13;1434:27;1424:55;;1475:1;1472;1465:12;1424:55;1515:2;1502:16;1541:2;1533:6;1530:14;1527:34;;;1557:1;1554;1547:12;1527:34;1610:7;1605:2;1595:6;1592:1;1588:14;1584:2;1580:23;1576:32;1573:45;1570:65;;;1631:1;1628;1621:12;1570:65;1662:2;1658;1654:11;1644:21;;1684:6;1674:16;;;;;977:719;;;;;:::o;1701:127::-;1762:10;1757:3;1753:20;1750:1;1743:31;1793:4;1790:1;1783:15;1817:4;1814:1;1807:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "get(uint256,uint256)": "669e48aa", + "set(uint256,uint256[])": "946aadc6", + "supportsInterface(bytes4)": "01ffc9a7" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"FullyQualifiedNamespace\",\"name\":\"namespace_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"key_\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"StateNamespace\",\"name\":\"namespace_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"kvs_\",\"type\":\"uint256[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"get(uint256,uint256)\":{\"params\":{\"key\":\"The key to get the value for within the namespace.\",\"namespace\":\"The fully qualified namespace to get a single value for.\"},\"returns\":{\"_0\":\"The value OR ZERO IF NOT SET.\"}},\"set(uint256,uint256[])\":{\"params\":{\"kvs\":\"The list of changes to apply to the store's internal state.\",\"namespace\":\"The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set.\"}}},\"title\":\"RainterpreterStore\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"get(uint256,uint256)\":{\"notice\":\"Given a fully qualified namespace and key, return the associated value. Ostensibly the interpreter can use this to implement opcodes that read previously set values. The interpreter MUST apply the same qualification logic as the store that it uses to guarantee consistent round tripping of data and prevent malicious behaviours. Technically also allows onchain reads of any set value from any contract, not just interpreters, but in this case readers MUST be aware and handle inconsistencies between get and set while the state changes are still in memory in the calling context and haven't yet been persisted to the store. `IInterpreterStoreV1` uses the same fallback behaviour for unset keys as Solidity. Specifically, any UNSET VALUES SILENTLY FALLBACK TO `0`.\"},\"set(uint256,uint256[])\":{\"notice\":\"Mutates the interpreter store in bulk. The bulk values are provided in the form of a `uint256[]` which can be treated e.g. as pairwise keys and values to be stored in a Solidity mapping. The `IInterpreterStoreV1` defines the meaning of the `uint256[]` for its own storage logic.\"}},\"notice\":\"Simplest possible `IInterpreterStoreV1` that could work. Takes key/value pairings from the input array and stores each in an internal mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and doesn't attempt to do any deduping etc. if the same key appears twice it will be set twice.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interpreter/shared/RainterpreterStore.sol\":\"RainterpreterStore\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/\",\":rain.cooldown/=lib/rain.cooldown/src/\",\":rain.math.saturating/=lib/rain.math.saturating/src/\",\":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"contracts/array/LibUint256Array.sol\":{\"keccak256\":\"0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426\",\"dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe\"]},\"contracts/interpreter/deploy/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc\",\"dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw\"]},\"contracts/interpreter/deploy/LibIntegrityCheck.sol\":{\"keccak256\":\"0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a\",\"dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6\"]},\"contracts/interpreter/run/IInterpreterV1.sol\":{\"keccak256\":\"0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20\",\"dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY\"]},\"contracts/interpreter/run/LibInterpreterState.sol\":{\"keccak256\":\"0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72\",\"dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq\"]},\"contracts/interpreter/run/LibStackPointer.sol\":{\"keccak256\":\"0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e\",\"dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L\"]},\"contracts/interpreter/shared/RainterpreterStore.sol\":{\"keccak256\":\"0x92bc02e9929756cfae764a9cb9060de143c4e3146b0bde9c72dfba10de9202d0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://43551725696a6555fb74a001608c9cdc3b389e9f127ad50eae6500e4015da064\",\"dweb:/ipfs/QmZXj8PYabTLeRBWhSQiEeYcCBq1BMfHDMAZWEZD3B4xd9\"]},\"contracts/interpreter/store/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462\",\"dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1\"]},\"contracts/kv/LibMemoryKV.sol\":{\"keccak256\":\"0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7\",\"dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny\"]},\"contracts/memory/LibMemorySize.sol\":{\"keccak256\":\"0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451\",\"dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA\"]},\"contracts/type/LibCast.sol\":{\"keccak256\":\"0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe\",\"dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo\"]},\"contracts/type/LibConvert.sol\":{\"keccak256\":\"0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75\",\"dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu\"]},\"lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6\",\"dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc\"]},\"lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol\":{\"keccak256\":\"0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8\",\"dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol\":{\"keccak256\":\"0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c\",\"dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis\"]},\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d\",\"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.18+commit.87f61d96" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "FullyQualifiedNamespace", + "name": "namespace_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "key_", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "get", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "StateNamespace", + "name": "namespace_", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "kvs_", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "set" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "get(uint256,uint256)": { + "params": { + "key": "The key to get the value for within the namespace.", + "namespace": "The fully qualified namespace to get a single value for." + }, + "returns": { + "_0": "The value OR ZERO IF NOT SET." + } + }, + "set(uint256,uint256[])": { + "params": { + "kvs": "The list of changes to apply to the store's internal state.", + "namespace": "The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "get(uint256,uint256)": { + "notice": "Given a fully qualified namespace and key, return the associated value. Ostensibly the interpreter can use this to implement opcodes that read previously set values. The interpreter MUST apply the same qualification logic as the store that it uses to guarantee consistent round tripping of data and prevent malicious behaviours. Technically also allows onchain reads of any set value from any contract, not just interpreters, but in this case readers MUST be aware and handle inconsistencies between get and set while the state changes are still in memory in the calling context and haven't yet been persisted to the store. `IInterpreterStoreV1` uses the same fallback behaviour for unset keys as Solidity. Specifically, any UNSET VALUES SILENTLY FALLBACK TO `0`." + }, + "set(uint256,uint256[])": { + "notice": "Mutates the interpreter store in bulk. The bulk values are provided in the form of a `uint256[]` which can be treated e.g. as pairwise keys and values to be stored in a Solidity mapping. The `IInterpreterStoreV1` defines the meaning of the `uint256[]` for its own storage logic." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + ":@chainlink/=node_modules/@chainlink/", + ":@eth-optimism/=node_modules/@eth-optimism/", + ":@openzeppelin/=node_modules/@openzeppelin/", + ":@prb/=node_modules/@prb/", + ":ds-test/=lib/forge-std/lib/ds-test/src/", + ":eth-gas-reporter/=node_modules/eth-gas-reporter/", + ":forge-std/=lib/forge-std/src/", + ":hardhat/=node_modules/hardhat/", + ":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/", + ":rain.cooldown/=lib/rain.cooldown/src/", + ":rain.math.saturating/=lib/rain.math.saturating/src/", + ":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/", + ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", + ":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/", + ":sol.metadata/=lib/sol.metadata/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "contracts/interpreter/shared/RainterpreterStore.sol": "RainterpreterStore" + }, + "libraries": {} + }, + "sources": { + "contracts/array/LibUint256Array.sol": { + "keccak256": "0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84", + "urls": [ + "bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426", + "dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe" + ], + "license": "CAL" + }, + "contracts/interpreter/deploy/IExpressionDeployerV1.sol": { + "keccak256": "0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0", + "urls": [ + "bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc", + "dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw" + ], + "license": "CAL" + }, + "contracts/interpreter/deploy/LibIntegrityCheck.sol": { + "keccak256": "0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad", + "urls": [ + "bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a", + "dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6" + ], + "license": "CAL" + }, + "contracts/interpreter/run/IInterpreterV1.sol": { + "keccak256": "0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774", + "urls": [ + "bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20", + "dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibInterpreterState.sol": { + "keccak256": "0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f", + "urls": [ + "bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72", + "dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq" + ], + "license": "CAL" + }, + "contracts/interpreter/run/LibStackPointer.sol": { + "keccak256": "0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69", + "urls": [ + "bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e", + "dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L" + ], + "license": "CAL" + }, + "contracts/interpreter/shared/RainterpreterStore.sol": { + "keccak256": "0x92bc02e9929756cfae764a9cb9060de143c4e3146b0bde9c72dfba10de9202d0", + "urls": [ + "bzz-raw://43551725696a6555fb74a001608c9cdc3b389e9f127ad50eae6500e4015da064", + "dweb:/ipfs/QmZXj8PYabTLeRBWhSQiEeYcCBq1BMfHDMAZWEZD3B4xd9" + ], + "license": "CAL" + }, + "contracts/interpreter/store/IInterpreterStoreV1.sol": { + "keccak256": "0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1", + "urls": [ + "bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462", + "dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1" + ], + "license": "CAL" + }, + "contracts/kv/LibMemoryKV.sol": { + "keccak256": "0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969", + "urls": [ + "bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7", + "dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny" + ], + "license": "CAL" + }, + "contracts/memory/LibMemorySize.sol": { + "keccak256": "0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5", + "urls": [ + "bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451", + "dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA" + ], + "license": "CAL" + }, + "contracts/type/LibCast.sol": { + "keccak256": "0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3", + "urls": [ + "bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe", + "dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo" + ], + "license": "CAL" + }, + "contracts/type/LibConvert.sol": { + "keccak256": "0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de", + "urls": [ + "bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75", + "dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu" + ], + "license": "CAL" + }, + "lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d", + "urls": [ + "bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6", + "dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc" + ], + "license": "CAL" + }, + "lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol": { + "keccak256": "0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212", + "urls": [ + "bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8", + "dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5" + ], + "license": "CAL" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol": { + "keccak256": "0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a", + "urls": [ + "bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4", + "dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol": { + "keccak256": "0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b", + "urls": [ + "bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c", + "dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis" + ], + "license": "MIT" + }, + "node_modules/hardhat/console.sol": { + "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", + "urls": [ + "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", + "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "contracts/interpreter/shared/RainterpreterStore.sol", + "id": 19047, + "exportedSymbols": { + "B_1": [ + 38885 + ], + "B_11": [ + 38893 + ], + "B_111": [ + 38901 + ], + "B_1111": [ + 38909 + ], + "B_11111": [ + 38917 + ], + "B_111111": [ + 38925 + ], + "B_1111111": [ + 38933 + ], + "B_11111111": [ + 38941 + ], + "B_111111111": [ + 38949 + ], + "B_1111111111": [ + 38957 + ], + "B_11111111111": [ + 38965 + ], + "B_111111111111": [ + 38973 + ], + "B_1111111111111": [ + 38981 + ], + "B_11111111111111": [ + 38989 + ], + "B_111111111111111": [ + 38997 + ], + "B_1111111111111111": [ + 39005 + ], + "DEBUG_DELIMETER": [ + 16065 + ], + "DEFAULT_STATE_NAMESPACE": [ + 15858 + ], + "DebugStyle": [ + 16038 + ], + "EncodedDispatch": [ + 15846 + ], + "FullyQualifiedNamespace": [ + 19051 + ], + "IERC165": [ + 47118 + ], + "IExpressionDeployerV1": [ + 6051 + ], + "IInterpreterStoreV1": [ + 19083 + ], + "IInterpreterV1": [ + 15889 + ], + "INITIAL_STACK_BOTTOM": [ + 6104 + ], + "IntegrityCheckState": [ + 6153 + ], + "InterpreterState": [ + 16061 + ], + "InvalidPtr": [ + 19092 + ], + "LibCast": [ + 36870 + ], + "LibConvert": [ + 36909 + ], + "LibIntegrityCheck": [ + 7024 + ], + "LibInterpreterState": [ + 16746 + ], + "LibMemory": [ + 39197 + ], + "LibMemoryKV": [ + 19231 + ], + "LibMemorySize": [ + 20989 + ], + "LibStackPointer": [ + 18069 + ], + "LibUint256Array": [ + 395 + ], + "MASK_10BIT": [ + 39045 + ], + "MASK_11BIT": [ + 39049 + ], + "MASK_12BIT": [ + 39053 + ], + "MASK_13BIT": [ + 39057 + ], + "MASK_14BIT": [ + 39061 + ], + "MASK_15BIT": [ + 39065 + ], + "MASK_16BIT": [ + 39069 + ], + "MASK_1BIT": [ + 39009 + ], + "MASK_2BIT": [ + 39013 + ], + "MASK_3BIT": [ + 39017 + ], + "MASK_4BIT": [ + 39021 + ], + "MASK_5BIT": [ + 39025 + ], + "MASK_6BIT": [ + 39029 + ], + "MASK_7BIT": [ + 39033 + ], + "MASK_8BIT": [ + 39037 + ], + "MASK_9BIT": [ + 39041 + ], + "Math": [ + 48073 + ], + "MemoryKV": [ + 19094 + ], + "MemoryKVKey": [ + 19096 + ], + "MemoryKVPtr": [ + 19098 + ], + "MemoryKVVal": [ + 19100 + ], + "MinFinalStack": [ + 6121 + ], + "MinStackBottom": [ + 6107 + ], + "NO_STORE": [ + 19060 + ], + "Operand": [ + 15850 + ], + "OutOfBoundsTruncate": [ + 8 + ], + "Pointer": [ + 39080 + ], + "RainterpreterStore": [ + 19046 + ], + "SafeCast": [ + 49614 + ], + "SourceIndex": [ + 15844 + ], + "StackPointer": [ + 16760 + ], + "StackPopUnderflow": [ + 6114 + ], + "StateNamespace": [ + 15848 + ], + "TruncateError": [ + 39078 + ], + "UnexpectedResultLength": [ + 16758 + ], + "console": [ + 64149 + ] + }, + "nodeType": "SourceUnit", + "src": "32:2185:123", + "nodes": [ + { + "id": 18936, + "nodeType": "PragmaDirective", + "src": "32:24:123", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".18" + ] + }, + { + "id": 18937, + "nodeType": "ImportDirective", + "src": "58:42:123", + "nodes": [], + "absolutePath": "contracts/interpreter/store/IInterpreterStoreV1.sol", + "file": "../store/IInterpreterStoreV1.sol", + "nameLocation": "-1:-1:-1", + "scope": 19047, + "sourceUnit": 19084, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18938, + "nodeType": "ImportDirective", + "src": "101:40:123", + "nodes": [], + "absolutePath": "contracts/interpreter/run/LibInterpreterState.sol", + "file": "../run/LibInterpreterState.sol", + "nameLocation": "-1:-1:-1", + "scope": 19047, + "sourceUnit": 16747, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 18940, + "nodeType": "ImportDirective", + "src": "142:125:123", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 19047, + "sourceUnit": 47119, + "symbolAliases": [ + { + "foreign": { + "id": 18939, + "name": "IERC165Upgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47118, + "src": "150:18:123", + "typeDescriptions": {} + }, + "local": "IERC165", + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 19046, + "nodeType": "ContractDefinition", + "src": "630:1586:123", + "nodes": [ + { + "id": 18949, + "nodeType": "UsingForDirective", + "src": "696:45:123", + "nodes": [], + "global": false, + "libraryName": { + "id": 18946, + "name": "LibInterpreterState", + "nameLocations": [ + "702:19:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 16746, + "src": "702:19:123" + }, + "typeName": { + "id": 18948, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18947, + "name": "StateNamespace", + "nameLocations": [ + "726:14:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15848, + "src": "726:14:123" + }, + "referencedDeclaration": 15848, + "src": "726:14:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + } + } + }, + { + "id": 18957, + "nodeType": "VariableDeclaration", + "src": "1214:86:123", + "nodes": [], + "constant": false, + "documentation": { + "id": 18950, + "nodeType": "StructuredDocumentation", + "src": "747:462:123", + "text": "Store is several tiers of sandbox.\n 0. Address hashed into `FullyQualifiedNamespace` is `msg.sender` so that\n callers cannot attack each other\n 1. StateNamespace is caller-provided namespace so that expressions cannot\n attack each other\n 2. `uint256` is expression-provided key\n 3. `uint256` is expression-provided value\n tiers 0 and 1 are both embodied in the `FullyQualifiedNamespace`." + }, + "mutability": "mutable", + "name": "store", + "nameLocation": "1295:5:123", + "scope": 19046, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 18956, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 18952, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18951, + "name": "FullyQualifiedNamespace", + "nameLocations": [ + "1222:23:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19051, + "src": "1222:23:123" + }, + "referencedDeclaration": 19051, + "src": "1222:23:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "nodeType": "Mapping", + "src": "1214:63:123", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 18955, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 18953, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1257:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1249:27:123", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 18954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1268:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "internal" + }, + { + "id": 18980, + "nodeType": "FunctionDefinition", + "src": "1334:252:123", + "nodes": [], + "body": { + "id": 18979, + "nodeType": "Block", + "src": "1440:146:123", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 18970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18965, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1469:12:123", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 18967, + "name": "IInterpreterStoreV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19083, + "src": "1490:19:123", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$19083_$", + "typeString": "type(contract IInterpreterStoreV1)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$19083_$", + "typeString": "type(contract IInterpreterStoreV1)" + } + ], + "id": 18966, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1485:4:123", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 18968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1485:25:123", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterStoreV1_$19083", + "typeString": "type(contract IInterpreterStoreV1)" + } + }, + "id": 18969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1511:11:123", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1485:37:123", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1469:53:123", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 18976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 18971, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1538:12:123", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 18973, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47118, + "src": "1559:7:123", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", + "typeString": "type(contract IERC165Upgradeable)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", + "typeString": "type(contract IERC165Upgradeable)" + } + ], + "id": 18972, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1554:4:123", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 18974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1554:13:123", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165Upgradeable_$47118", + "typeString": "type(contract IERC165Upgradeable)" + } + }, + "id": 18975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1568:11:123", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1554:25:123", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1538:41:123", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1469:110:123", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 18964, + "id": 18978, + "nodeType": "Return", + "src": "1450:129:123" + } + ] + }, + "baseFunctions": [ + 47117 + ], + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1343:17:123", + "overrides": { + "id": 18961, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1416:8:123" + }, + "parameters": { + "id": 18960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18959, + "mutability": "mutable", + "name": "interfaceId_", + "nameLocation": "1377:12:123", + "nodeType": "VariableDeclaration", + "scope": 18980, + "src": "1370:19:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 18958, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1370:6:123", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1360:35:123" + }, + "returnParameters": { + "id": 18964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18963, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 18980, + "src": "1434:4:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18962, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1434:4:123", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1433:6:123" + }, + "scope": 19046, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 19027, + "nodeType": "FunctionDefinition", + "src": "1632:372:123", + "nodes": [], + "body": { + "id": 19026, + "nodeType": "Block", + "src": "1706:298:123", + "nodes": [], + "statements": [ + { + "id": 19025, + "nodeType": "UncheckedBlock", + "src": "1716:282:123", + "statements": [ + { + "assignments": [ + 18992 + ], + "declarations": [ + { + "constant": false, + "id": 18992, + "mutability": "mutable", + "name": "fullyQualifiedNamespace_", + "nameLocation": "1764:24:123", + "nodeType": "VariableDeclaration", + "scope": 19025, + "src": "1740:48:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + }, + "typeName": { + "id": 18991, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18990, + "name": "FullyQualifiedNamespace", + "nameLocations": [ + "1740:23:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19051, + "src": "1740:23:123" + }, + "referencedDeclaration": 19051, + "src": "1740:23:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "visibility": "internal" + } + ], + "id": 18996, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 18993, + "name": "namespace_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18984, + "src": "1791:10:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + } + }, + "id": 18994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1819:16:123", + "memberName": "qualifyNamespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "1791:44:123", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_StateNamespace_$15848_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$attached_to$_t_userDefinedValueType$_StateNamespace_$15848_$", + "typeString": "function (StateNamespace) view returns (FullyQualifiedNamespace)" + } + }, + "id": 18995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1791:46:123", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1740:97:123" + }, + { + "body": { + "id": 19023, + "nodeType": "Block", + "src": "1899:89:123", + "statements": [ + { + "expression": { + "id": 19021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 19009, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18957, + "src": "1917:5:123", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" + } + }, + "id": 19014, + "indexExpression": { + "id": 19010, + "name": "fullyQualifiedNamespace_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18992, + "src": "1923:24:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1917:31:123", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 19015, + "indexExpression": { + "baseExpression": { + "id": 19011, + "name": "kvs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18987, + "src": "1949:4:123", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 19013, + "indexExpression": { + "id": 19012, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18998, + "src": "1954:2:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1949:8:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1917:41:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 19016, + "name": "kvs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18987, + "src": "1961:4:123", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 19020, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 19017, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18998, + "src": "1966:2:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 19018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1971:1:123", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1966:6:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1961:12:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1917:56:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19022, + "nodeType": "ExpressionStatement", + "src": "1917:56:123" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 19001, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18998, + "src": "1872:2:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 19002, + "name": "kvs_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18987, + "src": "1877:4:123", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 19003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1882:6:123", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1877:11:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1872:16:123", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19024, + "initializationExpression": { + "assignments": [ + 18998 + ], + "declarations": [ + { + "constant": false, + "id": 18998, + "mutability": "mutable", + "name": "i_", + "nameLocation": "1864:2:123", + "nodeType": "VariableDeclaration", + "scope": 19024, + "src": "1856:10:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1856:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 19000, + "initialValue": { + "hexValue": "30", + "id": 18999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1869:1:123", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1856:14:123" + }, + "loopExpression": { + "expression": { + "id": 19007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 19005, + "name": "i_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18998, + "src": "1890:2:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 19006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1896:1:123", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1890:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19008, + "nodeType": "ExpressionStatement", + "src": "1890:7:123" + }, + "nodeType": "ForStatement", + "src": "1851:137:123" + } + ] + } + ] + }, + "baseFunctions": [ + 19071 + ], + "documentation": { + "id": 18981, + "nodeType": "StructuredDocumentation", + "src": "1592:35:123", + "text": "@inheritdoc IInterpreterStoreV1" + }, + "functionSelector": "946aadc6", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "set", + "nameLocation": "1641:3:123", + "parameters": { + "id": 18988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18984, + "mutability": "mutable", + "name": "namespace_", + "nameLocation": "1660:10:123", + "nodeType": "VariableDeclaration", + "scope": 19027, + "src": "1645:25:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 18983, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 18982, + "name": "StateNamespace", + "nameLocations": [ + "1645:14:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 15848, + "src": "1645:14:123" + }, + "referencedDeclaration": 15848, + "src": "1645:14:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18987, + "mutability": "mutable", + "name": "kvs_", + "nameLocation": "1691:4:123", + "nodeType": "VariableDeclaration", + "scope": 19027, + "src": "1672:23:123", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 18985, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1672:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18986, + "nodeType": "ArrayTypeName", + "src": "1672:9:123", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1644:52:123" + }, + "returnParameters": { + "id": 18989, + "nodeType": "ParameterList", + "parameters": [], + "src": "1706:0:123" + }, + "scope": 19046, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 19045, + "nodeType": "FunctionDefinition", + "src": "2050:164:123", + "nodes": [], + "body": { + "id": 19044, + "nodeType": "Block", + "src": "2167:47:123", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 19038, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18957, + "src": "2184:5:123", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" + } + }, + "id": 19040, + "indexExpression": { + "id": 19039, + "name": "namespace_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19031, + "src": "2190:10:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2184:17:123", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 19042, + "indexExpression": { + "id": 19041, + "name": "key_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19033, + "src": "2202:4:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2184:23:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 19037, + "id": 19043, + "nodeType": "Return", + "src": "2177:30:123" + } + ] + }, + "baseFunctions": [ + 19082 + ], + "documentation": { + "id": 19028, + "nodeType": "StructuredDocumentation", + "src": "2010:35:123", + "text": "@inheritdoc IInterpreterStoreV1" + }, + "functionSelector": "669e48aa", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get", + "nameLocation": "2059:3:123", + "parameters": { + "id": 19034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19031, + "mutability": "mutable", + "name": "namespace_", + "nameLocation": "2096:10:123", + "nodeType": "VariableDeclaration", + "scope": 19045, + "src": "2072:34:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + }, + "typeName": { + "id": 19030, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 19029, + "name": "FullyQualifiedNamespace", + "nameLocations": [ + "2072:23:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19051, + "src": "2072:23:123" + }, + "referencedDeclaration": 19051, + "src": "2072:23:123", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeString": "FullyQualifiedNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19033, + "mutability": "mutable", + "name": "key_", + "nameLocation": "2124:4:123", + "nodeType": "VariableDeclaration", + "scope": 19045, + "src": "2116:12:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19032, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2116:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2062:72:123" + }, + "returnParameters": { + "id": 19037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19036, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 19045, + "src": "2158:7:123", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19035, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2158:7:123", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2157:9:123" + }, + "scope": 19046, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 18942, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "661:19:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 19083, + "src": "661:19:123" + }, + "id": 18943, + "nodeType": "InheritanceSpecifier", + "src": "661:19:123" + }, + { + "baseName": { + "id": 18944, + "name": "IERC165", + "nameLocations": [ + "682:7:123" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47118, + "src": "682:7:123" + }, + "id": 18945, + "nodeType": "InheritanceSpecifier", + "src": "682:7:123" + } + ], + "canonicalName": "RainterpreterStore", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 18941, + "nodeType": "StructuredDocumentation", + "src": "269:361:123", + "text": "@title RainterpreterStore\n @notice Simplest possible `IInterpreterStoreV1` that could work.\n Takes key/value pairings from the input array and stores each in an internal\n mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and\n doesn't attempt to do any deduping etc. if the same key appears twice it will\n be set twice." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 19046, + 47118, + 19083 + ], + "name": "RainterpreterStore", + "nameLocation": "639:18:123", + "scope": 19047, + "usedErrors": [] + } + ], + "license": "CAL" + }, + "id": 123 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/data.json b/subgraph/tests/utils/deploy/touch_deployer/data.json new file mode 100644 index 0000000000..333fe496c2 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/data.json @@ -0,0 +1,3 @@ +{ + "data": "0x60c06040523480156200001157600080fd5b5060405162005cee38038062005cee833981016040819052620000349162000453565b6000816000015190506000816001600160a01b031663f933c72f6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200007e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000a8919081019062000504565b90506040518060c00160405280609c815260200162005c52609c913980519060200120818051906020012014620000ff5780604051634c1af20160e11b8152600401620000f6919062000572565b60405180910390fd5b813f7fba4c010b1990025e29241b302df5601101dbe9df778b00f1e865071f3aa32f1581146200014657604051630eec293f60e11b815260048101829052602401620000f6565b6020840151803f7fc99f290f9f20034372f82bccd8912519fce161e748ecca195fb077ec2d03b81c8114620001925760405163cc0415fd60e01b815260048101829052602401620000f6565b604086015180516020909101207fe4c000f3728f30e612b34e401529ce5266061cc1233dc54a6a89524929571d8f8114620001e4576040516343d0fe5760e11b815260048101829052602401620000f6565b6001600160a01b03808716608052831660a052865160208801516040808a015190517f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1936200023793339330936200058e565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256310000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002b29160040162000572565b602060405180830381865afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f69190620005d7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200034357600080fd5b505af115801562000358573d6000803e3d6000fd5b5050505050505050505050620005f1565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200039757600080fd5b919050565b60005b83811015620003b95781810151838201526020016200039f565b50506000910152565b600082601f830112620003d457600080fd5b81516001600160401b0380821115620003f157620003f162000369565b604051601f8301601f19908116603f011681019082821181831017156200041c576200041c62000369565b816040528381528660208588010111156200043657600080fd5b620004498460208301602089016200039c565b9695505050505050565b6000602082840312156200046657600080fd5b81516001600160401b03808211156200047e57600080fd5b90830190606082860312156200049357600080fd5b604051606081018181108382111715620004b157620004b162000369565b604052620004bf836200037f565b8152620004cf602084016200037f565b6020820152604083015182811115620004e757600080fd5b620004f587828601620003c2565b60408301525095945050505050565b6000602082840312156200051757600080fd5b81516001600160401b038111156200052e57600080fd5b6200053c84828501620003c2565b949350505050565b600081518084526200055e8160208601602086016200039c565b601f01601f19169290920160200192915050565b60208152600062000587602083018462000544565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005cc9083018462000544565b979650505050505050565b600060208284031215620005ea57600080fd5b5051919050565b60805160a05161562062000632600039600081816101500152818161039b015261051701526000818160990152818161037901526104db01526156206000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635511cb67116100505780635511cb67146100e05780635563754c1461012a578063975057e71461014b57600080fd5b806301ffc9a71461006c5780633a35cf1714610094575b600080fd5b61007f61007a366004614912565b610172565b60405190151581526020015b60405180910390f35b6100bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6100f36100ee366004614b63565b61020b565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292169181019190915260600161008b565b61013d610138366004614c82565b6103c9565b60405161008b929190614d8e565b6100bb7f000000000000000000000000000000000000000000000000000000000000000081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5511cb6700000000000000000000000000000000000000000000000000000000148061020557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060008061021c8787876105d4565b90507ff66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786338888886040516102539493929190614e56565b60405180910390a16000806102f261026b8a8a6106e3565b60408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b9150915061031b818a8a866040518060c00160405280609c8152602001615584609c9139610721565b6000610326836107a9565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000009a7f00000000000000000000000000000000000000000000000000000000000000009a509098509650505050505050565b60608060006103e08a8a6103db610817565b610826565b90506000816040015190506103f782828851610939565b905061040582888388610995565b506060600061042584608001518560400151610abe90919063ffffffff16565b905060005b8d518110156104805761046e8e828151811061044857610448614eab565b60200260200101516040518060c00160405280609c8152602001615584609c9139610ac7565b8061047881614f09565b91505061042a565b508067ffffffffffffffff81111561049a5761049a614954565b6040519080825280602002602001820160405280156104c3578160200160208202803683370190505b5091506104d860208901602084018a51610b28565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663adea61287f00000000000000000000000000000000000000000000000000000000000000008c8f8f8e878f6040518863ffffffff1660e01b815260040161055e9796959493929190614f41565b600060405180830381865afa15801561057b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105c191908101906150b1565b9450945050505097509795505050505050565b600083518251111561062457815184516040517f7d2d70db000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044015b60405180910390fd5b600061063385856103db610817565b604081015160608201519192509060005b85518161ffff1610156106c55760408401839052606084018290526106b2848261068f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b898561ffff16815181106106a5576106a5614eab565b6020026020010151610995565b50806106bd81615158565b915050610644565b506080830151604084015160209103045b93505050505b9392505050565b60008251825160020181016020029150602084016020820281015b8082101561071857815151840193506020820191506106fe565b50505092915050565b81855260208501945082835160200260200184015b80821015610751578151875260209687019690910190610736565b5050835160208581019181028601015b808210156107a0578151805180895260209889019882016107828387610ac7565b61078d818b84610b50565b818a019950505050602082019150610761565b50505050505050565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610810576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060610821610bb5565b905090565b61085f6040518060c001604052806060815260200160008152602001600081526020016000815260200160008152602001606081525090565b6040805160c081018252858152845160208201529081016108a160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b81526020016108f96108d460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00190565b815260200161092960027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b8152602001929092525092915050565b6000602082028301925060018211156109835761097d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08401606086015190610e5d565b60608501525b61098d8484610e73565b509092915050565b600060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04856040015110156109f8576040517f271592cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845160208581029091010151805181015b80821015610a6357600080600484019350835161ffff8116915061ffff8160101c16925050610a5a8982898c60a001518681518110610a4a57610a4a614eab565b602002602001015163ffffffff16565b96505050610a09565b604087015160209086030480851115610ab2576040517ff993c6e7000000000000000000000000000000000000000000000000000000008152600481018690526024810182905260440161061b565b50939695505050505050565b60209190030490565b6002810160028301835184015b80821015610b2157815161ffff811660020284015161ffff16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000083161784525050600482019150610ad4565b5050505050565b8060200283015b80841015610b4a578351835260209384019390920191610b2f565b50505050565b6020810680820384015b80851015610b75578451845260209485019490930192610b5a565b508015610b4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c8084511681198651161784525050505050565b60606000604051806109e00160405280610bcd604e90565b67ffffffffffffffff1667ffffffffffffffff168152602001610e8b8152602001610ef88152602001610f5b8152602001610f7b8152602001610f8a8152602001610f8a8152602001610f968152602001610faf815260200161101a81526020016110af8152602001611114815260200161118f815260200161122681526020016112fe815260200161130e815260200161131d815260200161132d815260200161133c815260200161134b815260200161135a8152602001611369815260200161132d8152602001611378815260200161138781526020016113938152602001610f8a8152602001610f8a81526020016113a281526020016113b281526020016113c281526020016113d281526020016113e281526020016113f281526020016114028152602001611412815260200161142281526020016114318152602001611440815260200161144f8152602001611460815260200161147d815260200161144f815260200161148c815260200161149b81526020016114aa81526020016114b981526020016114c881526020016114d781526020016114e681526020016114f581526020016115048152602001611513815260200161152281526020016115318152602001611540815260200161154f815260200161155e815260200161156d815260200161157c815260200161158b815260200161159a81526020016115a981526020016115b981526020016115c981526020016115d981526020016115e881526020016115f781526020016116068152602001611615815260200161162481526020016116338152602001610f968152602001611642815260200161165281526020016116628152602001611672815260200161168181526020016116d581525090508091505090565b6000818311610e6c57816106dc565b5090919050565b8160800151811115610e8757608082018190525b5050565b600060ff600884901c81169084166101008183011115610ee1576040517f2ccabbc2000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161061b565b610eee86856116e461171a565b9695505050505050565b600060ff600884901c81169084166101008183011115610f4e576040517f2ccabbc2000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161061b565b610eee8685611730611774565b6000610f73610f6a8584611785565b85906008610939565b949350505050565b6000610f7384836117b9611774565b6000610f7384836117c5565b6000614908610fa685848361171a565b95945050505050565b6000600f8316600784811c16600d85901c808201610f00600888901b167e7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0600989901c161781176110008988866117d4565b965061100d89828961101a565b9998505050505050505050565b60408301516060840151600091600f85811692600487901c90911691600887901c916110478988876117e8565b60408a01527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0870160608a015261108089848987610995565b50606089018190526040890151611099908a9086610939565b6040999099019190915250959695505050505050565b600060ff8316600f81106110f2576040517f316e6a370000000000000000000000000000000000000000000000000000000081526004810182905260240161061b565b60018101600481901b85176106d661110b88838861101a565b88906001611802565b6020830151600090601f84811691600586901c90911690600a86901c9081106111795760208701516040517f890a8e6a00000000000000000000000000000000000000000000000000000000815260048101919091526024810182905260440161061b565b6106d66111878887866117e8565b889084610939565b6000600c83901c600f80851690600486901c16818110156111e6576040517f508a8d2f000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161061b565b6060870151610fff87169060005b858110156112185760608a0182905261120e8a848a61101a565b97506001016111f4565b509598975050505050505050565b600060018381169084901c816112a7576040860151602090850304808210611284576040517f1cb73c16000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161061b565b6040870151606088015161129c916020850201610e5d565b6060880152506112f4565b856020015181106112f45760208601516040517f890a8e6a00000000000000000000000000000000000000000000000000000000815260048101919091526024810182905260440161061b565b610eee86856117c5565b6000610f73848361180f8661185e565b6000610f73848361186e611908565b6000610f738483611919866119d3565b6000610f7384836119f1611774565b6000610f738483611a8661171a565b6000610f738483611af7611908565b6000610f738483611b56611774565b6000610f738483611bac61171a565b6000610f738483611c39611774565b6000610f738483611785565b6000610f738483611ce861171a565b6000610f738483611d028661185e565b6000610f738483611d0e8661185e565b6000610f738483611d1a8661185e565b6000610f738483610e5d8661185e565b6000610f738483611d268661185e565b6000610f738483611d358661185e565b6000610f738483611d418661185e565b6000610f738483611d4d8661185e565b6000610f738483611d5961171a565b6000610f738483611d6d611774565b6000610f738483611d7d61171a565b6000614908610fa68584838761185e565b6000610f7382611d91611474866001615179565b879291906119d3565b6000610f738483611da1611774565b6000610f738483611da5611774565b6000610f738483611da961171a565b6000610f738483611dad611774565b6000610f738483611db1611774565b6000610f738483611dbd61171a565b6000610f738483611dc8611774565b6000610f738483611dd461171a565b6000610f738483611ddf61171a565b6000610f738483611dea61171a565b6000610f738483611e0261171a565b6000610f738483611e14611774565b6000610f738483611e2061171a565b6000610f738483611e2b61171a565b6000610f738483611e3661171a565b6000610f738483611e4161171a565b6000610f738483611e4c611774565b6000610f738483611e58611774565b6000610f738483611e64611774565b6000610f738483611e7061171a565b6000610f738483611e7b8661185e565b6000610f738483611eb68661185e565b6000610f738483611ee78661185e565b6000610f738483611efd611fbf565b6000610f738483611fd061171a565b6000610f73848361201d61171a565b6000610f73848361206a61171a565b6000610f7384836120ec61171a565b6000610f73848361213961171a565b6000610f738483612186611908565b6000614908610fa68584836121e5565b6000610f7384836121f38661224a565b6000610f73848361225d866122f7565b6000610f73848361230a611774565b600060ff83168082036116c0576040517f904c1f6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa66116ce8685846117e8565b86906117c5565b6000610f738483612369611774565b60ff80831660020a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160089390931c161c1690565b6000610f736117298585611785565b85906117c5565b60ff83811660020a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192831660089490941c1692831b9190921b19919091161790565b6000610f73611729858560026117e8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160006117b38383612381565b50919050565b60006106dc83836123e1565b60200160006117b38383610e73565b6000602082028301925061098d8484610e73565b6000811561098d57602082028303925061098d8484612381565b6000602082028303610f73565b600081604051602001611822919061518c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b6000610fa66116ce8686856117e8565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa1580156118e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7391906151c2565b6000610f73611729858560036117e8565b6040517f4e1273f400000000000000000000000000000000000000000000000000000000815260609073ffffffffffffffffffffffffffffffffffffffff851690634e1273f49061197090869086906004016151db565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f73919081019061523e565b6000610fa66119e98686600160028702016117e8565b869084610939565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a08231906024015b602060405180830381865afa158015611a62573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dc91906151c2565b60008173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020591906151c2565b6040517f4ee2cd7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905260009190851690634ee2cd7e906044016118c7565b6040517f981b24d00000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff84169063981b24d090602401611a45565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d9190615273565b73ffffffffffffffffffffffffffffffffffffffff1692915050565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff841690636352211e90602401602060405180830381865afa158015611ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccb9190615273565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b73ffffffffffffffffffffffffffffffffffffffff163190565b60006106dc8284615179565b60006106dc8284615144565b60006106dc82846153c9565b6000818310610e6c57816106dc565b60006106dc82846153d5565b60006106dc82846153e9565b60006106dc8284615400565b60006106dc82600285901c60038616612569565b6000610f73828460038716612569565b60006106dc82600285901c600386166125ee565b60606000841161098d5781610f73565b1490565b1090565b1590565b1190565b60006106dc8383612650565b600061020582612663565b60006106dc83836126db565b6000610205826126f6565b60006102058261275f565b6000670de0b6b3a76400008206801515028203610205565b6000670de0b6b3a76400008206610205565b60006106dc83836127ce565b60006102058261284e565b600061020582612871565b6000610205826128a2565b60006102058261372e565b60006106dc8383613893565b60006106dc83836138a2565b60006106dc83836139af565b600061020582613a0f565b6000828201838110611e8d5780610f73565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b600082600003611ec857506000610205565b82820282848281611edb57611edb615115565b0403611e8d5780610f73565b6000818311611ef75760006106dc565b50900390565b6040517fd97b2e4800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa091906151c2565b73ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000610f73611729858560046117e8565b60008173ffffffffffffffffffffffffffffffffffffffff1663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad3573d6000803e3d6000fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120db9190615413565b600381111561020557610205615434565b60008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b60008173ffffffffffffffffffffffffffffffffffffffff166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad3573d6000803e3d6000fd5b6040517fdb8554fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390526000919085169063db8554fc906044016118c7565b6000610f73848460026117e8565b6040517f88d6860400000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906388d68604906118c79086908690600401615463565b6000610fa66116ce8686600286016117e8565b6040517fcaa0eb3b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff86169063caa0eb3b906122b690879087908790600401615492565b602060405180830381865afa1580156122d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa691906151c2565b6000610fa66116ce8686600386016117e8565b60008060015b600881116123615760006123248683613a7e565b905060006123328684613a7e565b905060006123408383611ee7565b9050612350856001860383613b2e565b945050600190920191506123109050565b509392505050565b6000610f738385600f16600487901c600f1685613bb8565b81606001518111610e875760608201516040830151602091030460408301516020908303046040517f625e32e40000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161061b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612431573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245591906154e1565b5093505092505060008213612499576040517f3351e26f0000000000000000000000000000000000000000000000000000000081526004810183905260240161061b565b836124a48242615400565b11156124e6576040517f2730eb48000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161061b565b610fa68573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125589190615531565b60ff16600161256685613c5e565b91905b6000826012111561259e57601283900360028316156125945761258c8582613cce565b9150506106dc565b61258c8582613d54565b60128311156125e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156125dd5761258c8582613d8c565b61258c8582613dda565b50826106dc565b6000826012111561261157601283900360018316156125dd5761258c8582613d8c565b60128311156125e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156125945761258c8582613cce565b6000828280821681831860011c01610fa6565b6000817ffffffffffffffffffffffffffffffffffffffffffffffffff7e52fe5afe400008111156126c3576040517f6149f6b90000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b5050670de0b6b3a76400008082068015159103020190565b60006106dc6126f384670de0b6b3a764000085613dfd565b90565b600081680736ea4425c11ac63081111561273f576040517f1af63aca0000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b6714057b7ef767814f8102610f7361275f670de0b6b3a7640000835b0490565b600081680a688906bd8affffff8111156127a8576040517fb3b6ba1f0000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b60006127c0670de0b6b3a7640000604084901b615144565b9050610f736126f382613f08565b600082828115806127dd575080155b156127ed57600092505050610205565b8181028183828161280057612800615115565b0414612842576040517fae7f3b37000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260440161061b565b610eee6126f38261467c565b6000610205826ec097ce7bc90715b34b9f10000000008161275b5761275b615115565b60006102056714057b7ef767814f670de0b6b3a76400006128946126f38661372e565b028161275b5761275b615115565b600081670de0b6b3a76400008110156128ea576040517f36d32ef00000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b826001811461303b57600a8114613063576064811461308b576103e881146130b35761271081146130db57620186a0811461310357620f4240811461312b57629896808114613153576305f5e100811461317b57633b9aca0081146131a3576402540be40081146131cb5764174876e80081146131f35764e8d4a51000811461321b576509184e72a000811461324357655af3107a4000811461326b5766038d7ea4c68000811461329357662386f26fc1000081146132bb5767016345785d8a000081146132e357670de0b6b3a7640000811461330b57678ac7230489e8000081146133145768056bc75e2d63100000811461332457683635c9adc5dea0000081146133345769021e19e0c9bab240000081146133445769152d02c7e14af680000081146133545769d3c21bcecceda10000008114613364576a084595161401484a0000008114613374576a52b7d2dcc80cd2e40000008114613384576b033b2e3c9fd0803ce80000008114613394576b204fce5e3e2502611000000081146133a4576c01431e0fae6d7217caa000000081146133b4576c0c9f2c9cd04674edea4000000081146133c4576c7e37be2022c0914b268000000081146133d4576d04ee2d6d415b85acef810000000081146133e4576d314dc6448d9338c15b0a0000000081146133f4576e01ed09bead87c0378d8e64000000008114613404576e13426172c74d822b878fe8000000008114613414576ec097ce7bc90715b34b9f10000000008114613424576f0785ee10d5da46d900f436a0000000008114613434576f4b3b4ca85a86c47a098a2240000000008114613445577002f050fe938943acc45f65568000000000811461345657701d6329f1c35ca4bfabb9f5610000000000811461346757710125dfa371a19e6f7cb54395ca0000000000811461347857710b7abc627050305adf14a3d9e400000000008114613489577172cb5bd86321e38cb6ce6682e80000000000811461349a5772047bf19673df52e37f2410011d10000000000081146134ab57722cd76fe086b93ce2f768a00b22a0000000000081146134bc577301c06a5ec5433c60ddaa16406f5a40000000000081146134cd5773118427b3b4a05bc8a8a4de84598680000000000081146134de5773af298d050e4395d69670b12b7f4100000000000081146134ef577406d79f82328ea3da61e066ebb2f88a00000000000081146135005774446c3b15f9926687d2c40534fdb5640000000000008114613511577502ac3a4edbbfb8014e3ba83411e915e8000000000000811461352257751aba4714957d300d0e549208b31adb1000000000000081146135335776010b46c6cdd6e3e0828f4db456ff0c8ea0000000000000811461354457760a70c3c40a64e6c51999090b65f67d9240000000000000811461355557766867a5a867f103b2fffa5a71fba0e7b6800000000000008114613566577704140c78940f6a24fdffc78873d4490d21000000000000008114613577577728c87cb5c89a2571ebfdcb54864ada834a00000000000000811461358857780197d4df19d605767337e9f14d3eec8920e400000000000000811461359957780fee50b7025c36a0802f236d04753d5b48e80000000000000081146135aa57789f4f2726179a224501d762422c946590d9100000000000000081146135bb5779063917877cec0556b21269d695bdcbf7a87aa00000000000000081146135cc57793e3aeb4ae1383562f4b82261d969f7ac94ca400000000000000081146135dd577a026e4d30eccc3215dd8f3157d27e23acbdcfe6800000000000000081146135ee577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081146135ff577af316271c7fc3908a8bef464e3945ef7a25360a00000000000000008114613610577b097edd871cfda3a5697758bf0e3cbb5ac5741c6400000000000000008114613621577b5ef4a74721e864761ea977768e5f518bb6891be800000000000000008114613632577c03b58e88c75313ec9d329eaaa18fb92f75215b171000000000000000008114613643577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a000000000000000008114613654577d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000008114613665577d0e7d34c64a9c85d4460dbbca87196b61618a4bd2168000000000000000008114613676577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e10000000000000000008114613687577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca0000000000000000008114613698577e3899162693736ac531a5a58f1fbb4b746504382ca7e400000000000000000081146136a9577f0235fadd81c2822bb3f07877973d50f28bf22a31be8ee800000000000000000081146136ba577f161bcca7119915b50764b4abe86529797775a5f171951000000000000000000081146136cb577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a000000000000000000081146136dc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff0633275e3af8000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff1413de11e25c000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c0000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff2fd54b793124000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff3db6022cd888000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff4b96b8e07fec000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff59776f942750000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff67582647ceb4000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff7538dcfb7618000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff831993af1d7c000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff9edb01166c44000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffacbbb7ca13a8000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffba9c6e7dbb0c000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffd65ddbe509d4000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffe43e9298b138000092506136e9565b7ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000092506136e9565b600092506136e9565b670de0b6b3a764000092506136e9565b671bc16d674ec8000092506136e9565b6729a2241af62c000092506136e9565b673782dace9d90000092506136e9565b674563918244f4000092506136e9565b6753444835ec58000092506136e9565b676124fee993bc000092506136e9565b676f05b59d3b20000092506136e9565b677ce66c50e284000092506136e9565b678ac7230489e8000092506136e9565b6798a7d9b8314c000092506136e9565b67a688906bd8b0000092506136e9565b67b469471f8014000092506136e9565b67c249fdd32778000092506136e9565b67d02ab486cedc000092506136e9565b67de0b6b3a7640000092506136e9565b67ebec21ee1da4000092506136e9565b67f9ccd8a1c508000092506136e9565b680107ad8f556c6c000092506136e9565b6801158e460913d0000092506136e9565b6801236efcbcbb34000092506136e9565b6801314fb3706298000092506136e9565b68013f306a2409fc000092506136e9565b68014d1120d7b160000092506136e9565b68015af1d78b58c4000092506136e9565b680168d28e3f0028000092506136e9565b680176b344f2a78c000092506136e9565b68018493fba64ef0000092506136e9565b68019274b259f654000092506136e9565b6801a055690d9db8000092506136e9565b6801ae361fc1451c000092506136e9565b6801bc16d674ec80000092506136e9565b6801c9f78d2893e4000092506136e9565b6801d7d843dc3b48000092506136e9565b6801e5b8fa8fe2ac000092506136e9565b6801f399b1438a10000092506136e9565b6802017a67f73174000092506136e9565b68020f5b1eaad8d8000092506136e9565b68021d3bd55e803c000092506136e9565b68022b1c8c1227a0000092506136e9565b680238fd42c5cf04000092506136e9565b680246ddf9797668000092506136e9565b680254beb02d1dcc000092506136e9565b6802629f66e0c530000092506136e9565b680270801d946c94000092506136e9565b68027e60d44813f8000092506136e9565b68028c418afbbb5c000092506136e9565b68029a2241af62c0000092506136e9565b6802a802f8630a24000092506136e9565b6802b5e3af16b188000092506136e9565b6802c3c465ca58ec000092506136e9565b6802d1a51c7e0050000092506136e9565b6802df85d331a7b4000092506136e9565b6802ed6689e54f18000092506136e9565b6802fb474098f67c000092506136e9565b68030927f74c9de0000092506136e9565b68031708ae004544000092506136e9565b680324e964b3eca8000092506136e9565b680332ca1b67940c000092505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117b3576106dc672e19dc008126bf2b670de0b6b3a76400006128946126f3875b600081670de0b6b3a7640000811015613776576040517f36d32ef00000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b6000613802670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c7ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000081016138425750949350505050565b671bc16d674ec800006706f05b59d3b200005b801561388557670de0b6b3a764000083800204925081831061387d579283019260019290921c915b60011c613855565b50825b979650505050505050565b60006106dc6126f38484614801565b600082828183036138cd5780156138ba5760006138c4565b670de0b6b3a76400005b92505050610205565b670de0b6b3a764000082036138ee57670de0b6b3a764000092505050610205565b8060000361390857670de0b6b3a764000092505050610205565b670de0b6b3a76400008103613921578492505050610205565b670de0b6b3a764000082111561394d5761394661275f6139408761372e565b86613893565b92506139a7565b600061396b6126f3846ec097ce7bc90715b34b9f1000000000615144565b9050600061398461275f61397e8461372e565b88613893565b90506139a26126f3826ec097ce7bc90715b34b9f1000000000615144565b945050505b505092915050565b60008281600184166139c957670de0b6b3a76400006139cb565b815b9050600184901c93505b8315613a09576139e58283614801565b915060018416156139fd576139fa8183614801565b90505b600184901c93506139d5565b80610fa6565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f21811115613a68576040517fedc236ad0000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b6106dc6126f3670de0b6b3a7640000830261467c565b6000816008811115613aec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4d41585f54494552000000000000000000000000000000000000000000000000604482015260640161061b565b82600003613afd5760009150610810565b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016020021c63ffffffff1690565b6000826008811115613b9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4d41585f54494552000000000000000000000000000000000000000000000000604482015260640161061b565b505060209190910290811b63ffffffff90911b19919091161790565b6000826008811115613c26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4d41585f54494552000000000000000000000000000000000000000000000000604482015260640161061b565b6000855b85811015613c525763ffffffff6020820290811b199890981685891b17979150600101613c2a565b50959695505050505050565b600080821215613cca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161061b565b5090565b6000604e8210613d0e578215613d04577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613d07565b60005b9050610205565b50600a81900a8281029083818381613d2857613d28615115565b0414610810577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610f73565b600a81900a613d6381846153e9565b9050604e8210610205578215613d8357613d7e82600a6153c9565b6106dc565b50600092915050565b6000604e8210613db0578215613da3576001613da6565b60005b60ff169050610205565b600a82900a808481613dc457613dc4615115565b0491508082028414610810575060010192915050565b6000604e821015613d835781600a0a8381613df757613df7615115565b046106dc565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003613e5557838281613e4b57613e4b615115565b04925050506106dc565b838110613e9f576040517f63a0577800000000000000000000000000000000000000000000000000000000815260048101879052602481018690526044810185905260640161061b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b7780000000000000000000000000000000000000000000000067ff0000000000000082161561402957678000000000000000821615613f505768016a09e667f3bcc9090260401c5b674000000000000000821615613f6f576801306fe0a31b7152df0260401c5b672000000000000000821615613f8e576801172b83c7d517adce0260401c5b671000000000000000821615613fad5768010b5586cf9890f62a0260401c5b670800000000000000821615613fcc576801059b0d31585743ae0260401c5b670400000000000000821615613feb57680102c9a3e778060ee70260401c5b67020000000000000082161561400a5768010163da9fb33356d80260401c5b67010000000000000082161561402957680100b1afa5abcbed610260401c5b66ff0000000000008216156141285766800000000000008216156140565768010058c86da1c09ea20260401c5b6640000000000000821615614074576801002c605e2e8cec500260401c5b662000000000000082161561409257680100162f3904051fa10260401c5b66100000000000008216156140b0576801000b175effdc76ba0260401c5b66080000000000008216156140ce57680100058ba01fb9f96d0260401c5b66040000000000008216156140ec5768010002c5cc37da94920260401c5b660200000000000082161561410a576801000162e525ee05470260401c5b66010000000000008216156141285768010000b17255775c040260401c5b65ff000000000082161561421e5765800000000000821615614153576801000058b91b5bc9ae0260401c5b6540000000000082161561417057680100002c5c89d5ec6d0260401c5b6520000000000082161561418d5768010000162e43f4f8310260401c5b651000000000008216156141aa57680100000b1721bcfc9a0260401c5b650800000000008216156141c75768010000058b90cf1e6e0260401c5b650400000000008216156141e4576801000002c5c863b73f0260401c5b6502000000000082161561420157680100000162e430e5a20260401c5b6501000000000082161561421e576801000000b1721835510260401c5b64ff0000000082161561430b5764800000000082161561424757680100000058b90c0b490260401c5b6440000000008216156142635768010000002c5c8601cc0260401c5b64200000000082161561427f576801000000162e42fff00260401c5b64100000000082161561429b5768010000000b17217fbb0260401c5b6408000000008216156142b7576801000000058b90bfce0260401c5b6404000000008216156142d357680100000002c5c85fe30260401c5b6402000000008216156142ef5768010000000162e42ff10260401c5b64010000000082161561430b57680100000000b17217f80260401c5b63ff0000008216156143ef5763800000008216156143325768010000000058b90bfc0260401c5b634000000082161561434d576801000000002c5c85fe0260401c5b632000000082161561436857680100000000162e42ff0260401c5b6310000000821615614383576801000000000b17217f0260401c5b630800000082161561439e57680100000000058b90c00260401c5b63040000008216156143b95768010000000002c5c8600260401c5b63020000008216156143d4576801000000000162e4300260401c5b63010000008216156143ef5768010000000000b172180260401c5b62ff00008216156144ca5762800000821615614414576801000000000058b90c0260401c5b6240000082161561442e57680100000000002c5c860260401c5b622000008216156144485768010000000000162e430260401c5b6210000082161561446257680100000000000b17210260401c5b6208000082161561447c5768010000000000058b910260401c5b62040000821615614496576801000000000002c5c80260401c5b620200008216156144b057680100000000000162e40260401c5b620100008216156144ca576801000000000000b1720260401c5b61ff0082161561459c576180008216156144ed57680100000000000058b90260401c5b6140008216156145065768010000000000002c5d0260401c5b61200082161561451f576801000000000000162e0260401c5b6110008216156145385768010000000000000b170260401c5b610800821615614551576801000000000000058c0260401c5b61040082161561456a57680100000000000002c60260401c5b61020082161561458357680100000000000001630260401c5b61010082161561459c57680100000000000000b10260401c5b60ff8216156146655760808216156145bd57680100000000000000590260401c5b60408216156145d5576801000000000000002c0260401c5b60208216156145ed57680100000000000000160260401c5b6010821615614605576801000000000000000b0260401c5b600882161561461d57680100000000000000060260401c5b600482161561463557680100000000000000030260401c5b600282161561464d57680100000000000000010260401c5b600182161561466557680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b60008160000361468e57506000919050565b5060018170010000000000000000000000000000000081106146b55760409190911b9060801c5b6801000000000000000081106146d05760209190911b9060401c5b64010000000081106146e75760109190911b9060201c5b6201000081106146fc5760089190911b9060101c5b61010081106147105760049190911b9060081c5b601081106147235760029190911b9060041c5b6004811061473357600182901b91505b600182848161474457614744615115565b048301901c9150600182848161475c5761475c615115565b048301901c9150600182848161477457614774615115565b048301901c9150600182848161478c5761478c615115565b048301901c915060018284816147a4576147a4615115565b048301901c915060018284816147bc576147bc615115565b048301901c915060018284816147d4576147d4615115565b048301901c915060008284816147ec576147ec615115565b0490508083106147fa578092505b5050919050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609848602925082811083820303915050806000036148535750670de0b6b3a764000090049050610205565b670de0b6b3a7640000811061489e576040517f5173648d000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260440161061b565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b614910615554565b565b60006020828403121561492457600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106dc57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156149ca576149ca614954565b604052919050565b600067ffffffffffffffff8211156149ec576149ec614954565b5060051b60200190565b6000601f8381840112614a0857600080fd5b82356020614a1d614a18836149d2565b614983565b82815260059290921b85018101918181019087841115614a3c57600080fd5b8287015b84811015614af157803567ffffffffffffffff80821115614a615760008081fd5b818a0191508a603f830112614a765760008081fd5b85820135604082821115614a8c57614a8c614954565b614abb887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c85011601614983565b92508183528c81838601011115614ad25760008081fd5b8181850189850137506000908201870152845250918301918301614a40565b50979650505050505050565b600082601f830112614b0e57600080fd5b81356020614b1e614a18836149d2565b82815260059290921b84018101918181019086841115614b3d57600080fd5b8286015b84811015614b585780358352918301918301614b41565b509695505050505050565b600080600060608486031215614b7857600080fd5b833567ffffffffffffffff80821115614b9057600080fd5b614b9c878388016149f6565b94506020860135915080821115614bb257600080fd5b614bbe87838801614afd565b93506040860135915080821115614bd457600080fd5b50614be186828701614afd565b9150509250925092565b600082601f830112614bfc57600080fd5b81356020614c0c614a18836149d2565b82815260059290921b84018101918181019086841115614c2b57600080fd5b8286015b84811015614b5857803567ffffffffffffffff811115614c4f5760008081fd5b614c5d8986838b0101614afd565b845250918301918301614c2f565b803561ffff81168114614c7d57600080fd5b919050565b600080600080600080600060e0888a031215614c9d57600080fd5b873567ffffffffffffffff80821115614cb557600080fd5b614cc18b838c016149f6565b985060208a0135915080821115614cd757600080fd5b614ce38b838c01614afd565b975060408a0135965060608a0135915080821115614d0057600080fd5b614d0c8b838c01614beb565b9550614d1a60808b01614c6b565b945060a08a0135915080821115614d3057600080fd5b50614d3d8a828b01614afd565b92505060c0880135905092959891949750929550565b600081518084526020808501945080840160005b83811015614d8357815187529582019590820190600101614d67565b509495945050505050565b604081526000614da16040830185614d53565b8281036020840152610fa68185614d53565b600081518084526020808501808196508360051b810191508286016000805b86811015614e48578385038a5282518051808752835b81811015614e03578281018901518882018a01528801614de8565b5086810188018490529a87019a601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169095018601945091850191600101614dd2565b509298975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000614e856080830186614db3565b8281036040840152614e978186614d53565b905082810360608401526138888185614d53565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614f3a57614f3a614eda565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8816815260006020888184015260e06040840152614f7760e0840189614db3565b8381036060850152614f898189614d53565b905083810360808501528087518083528383019150838160051b840101848a016000805b8481101561501e578684037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018652825180518086529089019089860190845b818110156150095783518352928b0192918b0191600101614fed565b50509689019694505091870191600101614fad565b50505086810360a0880152615033818a614d53565b9550505050505061504a60c083018461ffff169052565b98975050505050505050565b600082601f83011261506757600080fd5b81516020615077614a18836149d2565b82815260059290921b8401810191818101908684111561509657600080fd5b8286015b84811015614b58578051835291830191830161509a565b600080604083850312156150c457600080fd5b825167ffffffffffffffff808211156150dc57600080fd5b6150e886838701615056565b935060208501519150808211156150fe57600080fd5b5061510b85828601615056565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261515357615153615115565b500490565b600061ffff80831681810361516f5761516f614eda565b6001019392505050565b8082018082111561020557610205614eda565b815160009082906020808601845b838110156151b65781518552938201939082019060010161519a565b50929695505050505050565b6000602082840312156151d457600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b8281101561522a57815173ffffffffffffffffffffffffffffffffffffffff16845292840192908401906001016151f8565b50505083810382850152610eee8186614d53565b60006020828403121561525057600080fd5b815167ffffffffffffffff81111561526757600080fd5b610f7384828501615056565b60006020828403121561528557600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106dc57600080fd5b600181815b8085111561530257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156152e8576152e8614eda565b808516156152f557918102915b93841c93908002906152ae565b509250929050565b60008261531957506001610205565b8161532657506000610205565b816001811461533c576002811461534657615362565b6001915050610205565b60ff84111561535757615357614eda565b50506001821b610205565b5060208310610133831016604e8410600b8410161715615385575081810a610205565b61538f83836152a9565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156153c1576153c1614eda565b029392505050565b60006106dc838361530a565b6000826153e4576153e4615115565b500690565b808202811582820484141761020557610205614eda565b8181038181111561020557610205614eda565b60006020828403121561542557600080fd5b8151600481106106dc57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000610f736040830184614d53565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000610fa66060830184614d53565b805169ffffffffffffffffffff81168114614c7d57600080fd5b600080600080600060a086880312156154f957600080fd5b615502866154c7565b9450602086015193506040860151925060608601519150615525608087016154c7565b90509295509295909350565b60006020828403121561554357600080fd5b815160ff811681146106dc57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c5e0c750c840d190d270d790de90e710f500fa6103f11e8122812461255126312721280128e129c12aa127212b812c6134413521360136e137d138c139b13aa13b913c813d713e613f51404141314611473148114b314c114cf14dd14eb14f91507151515231531153f154d155b156915771585159315a115af15bd15cc15db15ea15f81606161416221630163e164c17781800180f181e182c189e0c5e0c750c840d190d270d790de90e710f500fa6103f11e8122812461255126312721280128e129c12aa127212b812c6134413521360136e137d138c139b13aa13b913c813d713e613f51404141314611473148114b314c114cf14dd14eb14f91507151515231531153f154d155b156915771585159315a115af15bd15cc15db15ea15f81606161416221630163e164c17781800180f181e182c189e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e7f1725e7734ce288f8367e1bb143e90bb3f05120000000000000000000000009fe46736679d2d9a65f0992f2272de9f3c7fa6e00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000113fff0a89c674ee7874a40059110d789ced5d6d6fdc3612fe9e5f4118012ee9ad1cefba497cfdd6a6f7125c9b14692e87439a03b8127797b0246e44c9f6f6d0ff7e3343ea5dd46adffc86fd90d8962871f8cc33c32139a43e3f61ec7ff08fb1939847e2e43b7612085f05c29bbc7c7532327702a17dbcf323dd619ce950fa82a9199bca543395a5f83b67f0085e61573ccc047bc6e355ba90f19ca998a50bc174cafdcbe7a7f95bd552243c0ee0c59fe9422e484d18782649ed1335597e807a641c881b962a46a558227880d5cd12159d569f4129b19a8b111bbffc62afff3172d71a8a789e2ebaaa7d97455391144d87bab156aad248d159f1d988bd2eeaa59f5f2c08325e66542697e264c91390221589ae205395b28a8eca125f9c14b7feb0bf99bafec881ce525bc9d85ee1a1e45a500527a44bd2363e45cf340821621721fe4a77985691606992c53e4f456090214406520214094072168bebfa0347ae1c902ba3fef220e05ca4bb71cb57cb9537806037cb1019763e6912ec17d4158f59060c4166181a115d2e9816c88a54b0319baee08796bf0b53427710e76c2f28d2eb878372d1018a6d2d36b668ba131a7fc1651ccaf8d25b260063139f8ffc5268f637015607ad64bfa63c14dfcfa0291687826cfe2515008d6a32bc37f97bd9fb84fba1a077fc4933aa858a9a87b06c227416a66c0a2d08d070cb5a0e85f20c84a9d846a5c13c08401c8d4685a21971a9f860626b14dfe315f91b750419b04a4243b11289ae6dc1535bd5b50c4336259ac96037e3300a752a5ec5a9b8499b0a7f1b6b91800ec1266c09e60b10894ca2f0a8600f8587f355984531a93451d78610b9be36f1aee63d3bb94aa87f4b8f77d646b41f37cf88eb2db85e3431fc1521326680b7297689998853998812557afe94fd4b8b5916b2994a988ef9522f549a22ac8867c8d1d2fc85f02fe9120ba5a65028032581c1aa2b1980c9385dd256689fd5d0de175ca56ada541bca34bc68d95665599d7af4d48e50e412d675759b9d29c235dcf81dd8cf5418780e3bff452440b908d10f15c014309f03f8ea0a0847e19691df786afc3bc70224d34c2f852f671263b155ae1213f79830089fba9641bad88c9416b30e9cc7e75bfa808a4d2664574814201836da1d9c8dd1082643aaa356f60767061f5dd48a1877d6fa7ac4fe32a44eab57176b8ba65ac5acadf7db117b35a45e13e179a4e2ae8adf92ee6dcf690a53509ac5ae40f47ca8ed347890bf6d239ba2b7d67b64bd44df023761702106db9b4baa27f9c39d8e10ccab3bba32e6968ac84653a5ef23c796c568a416ce6b992e98cea65e5980ccb40ca334c4511857557ce866839c354a964e25bbbaeef1106e19743d0cb1bb6a8d0b6bcad5d0cde3d743ea72bb996d2849cfdc33429648e485ab81e10c06d2187fe2f860163b23c44079d70b19b6c6041f0c23e99ef52c312b1564989c02b5e37c906ec89a4100149ade3e9058bf66523300eb21f0730d672ad72972ffc0e3393ef7d98653d502be8ae05d3402a0114732671e1b9fec44bbc63b693ee0cff0d203f372cd48a8d074f738a8b88dea2ae9343cf0e906c5c97bc366f72401a01337c93e6004da0e86cf1c5560ebbc56153fa109151e3ea621a1c6c00a6c08bbf166ff5073fd691e18d7bc3fc5d09bfb7e926fbd0bc662dd51da64689476ec651e7d2f43a68c3d8c4a9c36876278918854b2ea8e8d60dc8ccc37c4077f019c8e715492247cc560c85c3108632168169206968c2665b78e8386519384b313af9d1631d420d2d5b29392783daf0c2b1935a1c079834ae39aa439db7c24dfa14b6a9e4b895d5320ffc0798f675a415728d315bb14becf2f272f5f3db733ac95f0a07467cd19c13d8d1d698ceeeea041459397d0436f6e90afefd8205de37e91f8de78fcf2a537e5218fc1cdaa59533f7f1729016d4bd829aabf7e7883cf01a1513be61af77d0591db8686b59f695a92c3b353b2c32760adc81b2c45503dbbceb7366177471a6dfdc0afa9dfb2a2869674a79a70e6909eb6f74de38d27342564b057bfb8a39db923e16736147ece5eb049773cdc1ffb357aa3a1c6db1483a2e76fd8e4f9f621f48eccdd43ec5d707a6b47e3e036306d10c32767dbf89fc9d9e3f33e5bfa9212c07538a72ae5a1a7b3e5326cc55139d2e66e07d0f709daed91b28d5f0354bec252f5bcbc35375e40664b6fca52c4e0eeb1dc77275960b78f7eb2431783755765fb10ed3d08e6df15f803ece6e5f9f8dc53d771b91c5f5be824cce87609313ec2b05b859ae394d68e12eea707cb9ac82bd8c2a5f434fcf564bc4d17068f1dfb304bb50a84bd1cc372c4a11ea01b1c7b0430ef6fdc51e0d79364a7b3a43d972fbe66989590e22cfeacb2f404a84d29e72e5dac464c9e8a533687d011f311d205a0fdbb48d429fb20ae68095fcef237d8b918cdce0e66ec115f4d8567441b8edc5907728969bd13b39cb90dd0de6449228069310c19ae049b73dd7002968a0743a07398504c9c810e735b002dce5b6eea7477ef380d957fe999e952575a07656b58a4a87cbe46b4b1490e9ba3b2757954975ba524394db1a73c5a760bdf217bf1c460f1dbd2b61a54153fc6bc0556b402eb6bfe6d2476b50cbc4fb335df0730f28fb23095cb30cf5c044e0025162239659fcc051f180bb62e245e6581f065c4439c5784968ab948466c9a01d92192e22c9234f53955fb4bed58336d3079b8d3731d5ad659845a05643dd21765c323dee38bfc02deb3c5ca7b78c1b94e2baf5a89f41233c32abab7aacc39a0c1f1613e1a0fc3d5518f5be8119584b8f7641cb7ba5a2e758f4aa01359aa6b1c39827d09ee2f98427b1c31713a3f6537ecbf6c05ff7e3f6a6b4b6d01b84e6d45fca635b411a1f06d2f06b7659445a89886333dfad03bd22669acea20f18253bdb2b5e65e53af8c8feabd67ea957143bdd29da714a956e0f386877e86d9d3e06f559085aaa6dcbae73d2a695b2529f79a3060ddd4c9cf067e093a797754c19e540030bb54a0b369cbeb65539a26430d1c3ddc9d6a8eb4538ff0a76e55fab8a3687cd19ebda13ba09299bc1101049012a7258a2ca677b92229f97c7c51fe790d5a1668871a146c66d78c02375368febeaecc951ff3baecbc9249fc980a4ac23782079d79e1935a8a779b0c9851f9eafce2bca4c3c82da1e629eeb6eaccad793b63638682a048d9d2ecbdca1f60f0df229fedc2d4f959a8aed992ebb4d82c083147f7ee0110708dfc83644f5416075eb65c2b7ba0ae63233d3d826da94a4fb755cc80c0bed4986f192aad5d39f96783455f638507dcf6e89a97ca0dc50b567049fa0731984aee52310db4e146e223291f0229f3b9b7c2cb95fc1cdd229d5b839782c53152f4fdfb9f75179d3103988abddb8c9c665fb6d7e7da718ad914abd98ba92e5547af7e34a08a19d4a2a82a856c2a68491cf66e779be1712b05a6ba22319389c63836f67005cb8a80ab36007311a550f6066dbb354b5be4fbc58dd4986f1b8b1113a116769151d352586355e018166f1116f7e4890b0e43104fb696864d92f8b97bf71c29d1ead0ea9e52b6a11b2f384079dc158a68811b536cb99a5a1b8ac7ebe7892979c0cc86be2d341f694b74be8d0664154860f48c83fb2a707e1ab713422344df9a6269ad66897766f763e79557207d815c182ec18ccb704f1250ed33e88f763cb406a8e6e4e2d78c875eaa5a734e2a02c50a438b107b9489e5656361dd2cbf55f21434d9ce8b7165db8e6ddc8a71f43cd9571e36b8476d7c717628da11d4e30d039ec98e790c5fdd98434f3dc0ad0ff2e6b4cd9dd08d08dd9cb447af5eb9b53faf8e38b9d46a334a3c8c67ba5dbbb5a3eec366cccee78ae9945656f3f8f6501f5dcf60a9b87a53005f69cd0a9f8fd5e11238eec2bce6a9530f529305b43c5a35022a5124cb7079af9a0a30ff4adf81e3dad1f76bcff4202378ad72a3160ae8386f8bba58d93e78db9395728f985cdb47e8d6c032997afc6adeb3fa8360f144a60b688ff419877e044249f4ffe69092d50817decb899eea407a64c65df950ec60cee066387a1be4bb7531bb926b02a8f5a1ea0bd95ac0f98f1461604364780b303265d70b0523b76efcf289889ad75509a3000ac3b89b5b8174279c08873ea07a926fd26bd58f8c3e651f9061387972cd93c0b8d647c5b3be1c1984af234fa661bd31cddc8430fc5ec2d03b4eadedba8cf6fe530a9bbc0692d631850d4ca632e6c9aa0149a6f3a300eced192ef5e1b8089ab850c103c76cd20bda2c54aa95895a7158c6070d7458655ffbc0bc9541a11727e0440f4ce2c6c7b64fc50ac30b0a43f0950fdee6a8d97db8cca3352637170aa44e208688048f870510266dfee953fd35499fddb06fd8eaf9d3a78f39aa98bb9354116419b7faca0aca63f682dd0c0bc74c77797bbde54ea060abfb50095be307470f18aab909651fbc3986ee642e4244cdc7676b40f15514d192c7a3c1841abd06968181c1a342a5bfe3ef4f345b1f8297db211e9323eecb0b43d496edd3586d7afa4d7e722025a3237f5677cc9fdbc2ac2f41dc629639417b66d6e2dd447b5ec775c59e65b196f3188f50e51ac20a9b67f7bc12c7cf78a432cd783857c69a7f3bc9437e690e909eae9886f83481277e3b796cda809eb37fea07e3aa350e91d011103928334aba67d33d3b4144cd77a60c9a8407688dd7b1312c5f3ad126ed9d902a8ef4752ea6ca19261b5c89048f97492a5b3fcb33dce70ab7b24cd515ed9a283eb6503970edb878b281b2418bf9b6b08a42edee30bcd9b72facf244472f995320ca7bcb20d7e19110f79b10bd49df5596b4f2bf4bb33779e0f93708f6abed29a65455d7938e0ade4cc17da9e02a09443255ead2bb9a78571c402fce576828fb63eb6c8af7f8ec0ff0eca709ce6c957f8e19bde9605d5e29747e44420dbddacef5faf737de56641e1e8598932436adeb7d7ebe8459edc4030807d7583f0062688d1ff1a94dd6ce50ddbb1e175161d0b8c120b7570905f22d111197313a177b72457c05b168d7e19de4126c61967cfce73b5cc19cd18104e66409adc2808eaee3ec5778fba7c9c1c847c2efed5c98120a70a5579d46676f550e2779984da49f989695e9ae66e26d666edfe74676fa58db40d3b675ac273d762a1a785d35e9fb0ac1daf6e1795a96b5f0d317f24ab4860c94f38d25198e4acda2538de9181398477158fac0b0806046ce56e811edd129961c1ecf8fe2e8308092fb95d38770839c0da67cf375277b08fe27aae2d3f8369333ca566d7902d416671a150795ac514ad5225df0bb33c7446be4ff01bf7dc7d9a558bd3079314b2e93e2b4648a7741658af23f80a0e6eb49f954cb25a65ad68e20aee6aeef9dbc505d779090cb6203847a63f660f26dd8fe9d40c0dfc6adf380e66b2a4bf94a4d480f89d40601d246c95f5dc7f050139db44b25c495d4fb2f557bee099dc2472801e1b52960029cc2398c985ae2980b4f5da9f02fffb2d2edee85fe32629fcff1bff1d9faaf53384ee3ddf2805dfb758a4921f66667adc94a6cbfa93f1bfe40fdbb59f66623ed1e0b607680d1dc5e86848388475d9207e4f2f07a0f0d4318a587f51eca414200549acb77c347a2e2b7c4c7f17a3e9e1f828fe73bf01154730bc794a3b2ef3b813b7c2a21d4c9dc757eb6329d15c8597bfb0f0d43f2220c8b8844d8098fdc091fee5badb6491b64bfda2736c9e45e87101d64e385a96b286a67744db93cdc29339c8af4a67202d0f5858648c1d3e55e698bae09f64335c7f45a881122fc60f30ee7cbd39bbaf6469a163068a9a9ed3b46bb421875b12bd67aaef671b6f27b2b2377d528fa9a9ab1c8777862d088a6b3f10b2498a7dd55ef057ecdcfedf0c0234d06ed177d381fb6488435bfd6f98a0d40692c591ca888d1246dd34be932b02ba7169f733c4e7b53fb72576ac332a43be9f4a7d40ccf6ea3ebce96014f2d348507f4125297639e3ead9930bda0f8dc133e673e206ccf8ce345eb9a964b16dab2eaca8e83edad55c4413506a9b582120a6dc296341bd20d065d5cfeb69fcb40ca8b613bc3f1e397bd22e9fcf398eb855aff69b78b83ec9beea3715aa3b1919dd1e7dfc97248b8c1f652e5a4db5cd3a6b9da5acb1ae1e2865dda932f4ffe0fcd42f13b011bffe5282f43e495b402706170706c69636174696f6e2f6a736f6e03676465666c61746500" + } \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/mod.rs b/subgraph/tests/utils/deploy/touch_deployer/mod.rs new file mode 100644 index 0000000000..804c414126 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/mod.rs @@ -0,0 +1,99 @@ +use ethers::prelude::SignerMiddleware; +use ethers::providers::{Http, Middleware}; +use ethers::types::{Bytes, Eip1559TransactionRequest, H160, U256}; +use ethers::{ + prelude::abigen, + providers::Provider, + signers::{LocalWallet, Signer}, + utils::AnvilInstance, +}; +use serde_json::Value; +use std::fs::File; +use std::io::Read; +use std::str::FromStr; +use std::sync::Arc; +use std::time::Duration; +abigen!( + RainterpreterExpressionDeployer, + "tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json", + derives(serde::Deserialize, serde::Serialize); + + Rainterpreter, + "tests/utils/deploy/touch_deployer/Rainterpreter.json"; + + RainterpreterStore, + "tests/utils/deploy/touch_deployer/RainterpreterStore.json" +); +pub async fn deploy_touch_deployer(anvil: &AnvilInstance) -> anyhow::Result { + let provider = + Provider::::try_from(&anvil.endpoint())?.interval(Duration::from_millis(10u64)); + + rainterpreter_deploy(&provider, &anvil).await?; + rainterpreter_store_deploy(&provider, &anvil).await?; + let expression_deployer = rainterpreter_expression_deployer_deploy(&provider, anvil).await?; + Ok(expression_deployer) +} + +pub async fn rainterpreter_deploy( + provider: &Provider, + anvil: &AnvilInstance, +) -> anyhow::Result { + let deployer: LocalWallet = anvil.keys()[0].clone().into(); + + let deployer = Arc::new(SignerMiddleware::new( + provider.clone(), + deployer.with_chain_id(anvil.chain_id()), + )); + let store = Rainterpreter::deploy(deployer, ())?.send().await?; + Ok(store.address()) +} + +pub async fn rainterpreter_store_deploy( + provider: &Provider, + anvil: &AnvilInstance, +) -> anyhow::Result { + let deployer: LocalWallet = anvil.keys()[0].clone().into(); + + let deployer = Arc::new(SignerMiddleware::new( + provider.clone(), + deployer.with_chain_id(anvil.chain_id()), + )); + let store = RainterpreterStore::deploy(deployer, ())?.send().await?; + Ok(store.address()) +} + +pub async fn rainterpreter_expression_deployer_deploy( + provider: &Provider, + anvil: &AnvilInstance, +) -> anyhow::Result { + let deployer: LocalWallet = anvil.keys()[0].clone().into(); + + let deployer = Arc::new(SignerMiddleware::new( + provider.clone(), + deployer.with_chain_id(anvil.chain_id()), + )); + let mut data = String::new(); + let mut file = File::open("tests/utils/deploy/touch_deployer/data.json")?; + file.read_to_string(&mut data)?; + + let data: Value = serde_json::from_str(&data)?; + let data = data["data"].as_str().unwrap(); + + let mut tx = Eip1559TransactionRequest::new(); + tx.to = Some(H160::zero().into()); + tx.value = Some(U256::zero()); + tx.max_fee_per_gas = Some(U256::from(50_000_000_000u128)); + tx.max_priority_fee_per_gas = Some(U256::from(20_000_000_000u128)); + tx.data = Some(Bytes::from_str(data)?); + tx.chain_id = Some(provider.get_chainid().await.unwrap().as_u64().into()); + tx.gas = Some(U256::from(21000)); + + let tx_receipt = deployer.send_transaction(tx, None).await?.await?.unwrap(); + + let contract = + RainterpreterExpressionDeployer::new(tx_receipt.contract_address.unwrap(), deployer); + + println!("{:?}", contract.interpreter().await?); + + Ok(contract.address()) +} diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs new file mode 100644 index 0000000000..8447d8ea51 --- /dev/null +++ b/subgraph/tests/utils/mod.rs @@ -0,0 +1,2 @@ +pub mod deploy; +pub mod utils; diff --git a/subgraph/tests/utils/utils.rs b/subgraph/tests/utils/utils.rs new file mode 100644 index 0000000000..6a488179e3 --- /dev/null +++ b/subgraph/tests/utils/utils.rs @@ -0,0 +1,57 @@ +use anyhow::anyhow; +use ethers::utils::{Anvil, AnvilInstance}; +use std::process::Command; + +pub fn deploy_anvil_and_docker() -> anyhow::Result { + let proiver = Anvil::new().port(8545u16).spawn(); + + println!("Anvil deployed at : {}", proiver.endpoint()); + // let output = Command::new("bash") + // .args(&["-c", "docker-compose -f docker/docker-compose.yaml up -d"]) + // .output() + // .unwrap(); + + // if !output.status.success() { + // let stderr = format!("{}", String::from_utf8_lossy(&output.stderr.to_vec())); + // return Err(anyhow!(stderr)); + // } + Ok(proiver) +} + +pub fn stop_docker() -> anyhow::Result<()> { + let output = Command::new("bash") + .args(&[ + "-c", + "docker-compose -f docker/docker-compose.yaml down && rm -rf docker/data ", + ]) + .output() + .unwrap(); + + if !output.status.success() { + let stderr = format!("{}", String::from_utf8_lossy(&output.stderr.to_vec())); + return Err(anyhow!(stderr)); + } + Ok(()) +} + +pub fn get_abis() { + let command = "forge"; + let args = vec!["build", "--root", "../"]; + + let mut cmd = Command::new(command); + cmd.args(args); + + let output = cmd.output().expect("Failed to run command"); + + if output.status.success() { + println!( + "SUCCESS, OUTPUT: \n{}", + String::from_utf8_lossy(&output.stdout) + ); + } else { + eprintln!( + "FAILED, OUTPUT: \n{}", + String::from_utf8_lossy(&output.stdout) + ); + } +} From 79b0eeb4a8c5026ee77da66bfb00f16f81a852d8 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 19:54:36 -0400 Subject: [PATCH 005/163] nix flake update --- subgraph/flake.lock | 163 ++++++++++++++++++++++++++++++++++++++++++++ subgraph/flake.nix | 11 +-- 2 files changed, 170 insertions(+), 4 deletions(-) create mode 100644 subgraph/flake.lock diff --git a/subgraph/flake.lock b/subgraph/flake.lock new file mode 100644 index 0000000000..52b755d22f --- /dev/null +++ b/subgraph/flake.lock @@ -0,0 +1,163 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1687171271, + "narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "naersk": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1686572087, + "narHash": "sha256-jXTut7ZSYqLEgm/nTk7TuVL2ExahTip605bLINklAnQ=", + "owner": "nix-community", + "repo": "naersk", + "rev": "8507af04eb40c5520bd35d9ce6f9d2342cea5ad1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1687518131, + "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1687518131, + "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "rain_subgraph_cli": { + "inputs": { + "flake-utils": "flake-utils_2", + "naersk": "naersk", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1696277476, + "narHash": "sha256-TzYlpSFKSWDZ37F5S8VeDatchJElkNsuSuqVO27bse8=", + "owner": "rainprotocol", + "repo": "rain.subgraph-cli", + "rev": "c99fac646003f8a12d2f9964159c485690fb63b2", + "type": "github" + }, + "original": { + "owner": "rainprotocol", + "repo": "rain.subgraph-cli", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rain_subgraph_cli": "rain_subgraph_cli" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/subgraph/flake.nix b/subgraph/flake.nix index de6f03e216..6d5085f2a8 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -3,16 +3,16 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - rain_subgraph.url = "github:rainprotocol/rain.subgraph-cli"; + rain_subgraph_cli.url = "github:rainprotocol/rain.subgraph-cli"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = {self, nixpkgs, rain, flake-utils }: + outputs = {self, nixpkgs, rain_subgraph_cli, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; - rain-subgraph-cli = "${rain_subgraph.defaultPackage.${system}}/bin/rain_subgraph"; + rain-subgraph-cli = "${rain_subgraph_cli.defaultPackage.${system}}/bin/rain_subgraph"; in rec { packages = rec { @@ -26,7 +26,10 @@ # ''; - default = "echo lol"; + check = pkgs.writeShellScriptBin "check" ("echo lol"); + + default = check; + # build-meta-cmd = contract: '' # ${rain-cli} meta build \ From 05b3ed8e3cffe1c02461a39f6aedcbe8eaf8b644 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 20:44:50 -0400 Subject: [PATCH 006/163] update flake nix --- subgraph/flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 6d5085f2a8..991a1990fa 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -17,7 +17,7 @@ in rec { packages = rec { check-aver = ["Aver" "xd"]; - check-build = "rain-subgraph-cli build"; + check-build = pkgs.writeShellScriptBin "check-build" (''${rain-subgraph-cli} build''); @@ -28,7 +28,7 @@ check = pkgs.writeShellScriptBin "check" ("echo lol"); - default = check; + default = check-build; # build-meta-cmd = contract: '' From d620e2de077b363dd57d8a3be8cac09680af4589 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 21:03:01 -0400 Subject: [PATCH 007/163] nix changes --- subgraph/flake.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 991a1990fa..dbb73ab780 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -16,19 +16,11 @@ in rec { packages = rec { - check-aver = ["Aver" "xd"]; - check-build = pkgs.writeShellScriptBin "check-build" (''${rain-subgraph-cli} build''); + check-build = "${rain-subgraph-cli} build"; + checkxd = pkgs.writeShellScriptBin "checkxd" ("echo lol"); - - # build-check= contract: '' - # ${(build-meta-cmd contract)} -o meta/${contract}.rain.meta; - # ''; - - - check = pkgs.writeShellScriptBin "check" ("echo lol"); - - default = check-build; + default = checkxd; # build-meta-cmd = contract: '' From 54015bceda7b2e4e85011dde73fa984ba6d0a703 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 21:19:42 -0400 Subject: [PATCH 008/163] test flake --- subgraph/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index dbb73ab780..acd68b8ba8 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -20,7 +20,7 @@ checkxd = pkgs.writeShellScriptBin "checkxd" ("echo lol"); - default = checkxd; + default = check-build; # build-meta-cmd = contract: '' From 5e033215a61c9f1158a1ecfbad396250c7bdbbb1 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 21:36:52 -0400 Subject: [PATCH 009/163] update lock flake --- subgraph/flake.lock | 6 +++--- subgraph/flake.nix | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/subgraph/flake.lock b/subgraph/flake.lock index 52b755d22f..3c912cff4e 100644 --- a/subgraph/flake.lock +++ b/subgraph/flake.lock @@ -107,11 +107,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1696277476, - "narHash": "sha256-TzYlpSFKSWDZ37F5S8VeDatchJElkNsuSuqVO27bse8=", + "lastModified": 1696295789, + "narHash": "sha256-j7WhQBQii1BVRr3+2IK2DGI/tLSlEnNC1iBrdPds2Mg=", "owner": "rainprotocol", "repo": "rain.subgraph-cli", - "rev": "c99fac646003f8a12d2f9964159c485690fb63b2", + "rev": "029b04c9904a1d67b6dac8cfc85c2780a69aa4ac", "type": "github" }, "original": { diff --git a/subgraph/flake.nix b/subgraph/flake.nix index acd68b8ba8..2ded95cbce 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -12,11 +12,13 @@ flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; - rain-subgraph-cli = "${rain_subgraph_cli.defaultPackage.${system}}/bin/rain_subgraph"; + rain-subgraph-cli = "${rain_subgraph_cli.defaultPackage.${system}}/bin/rain_subgraph_cli"; in rec { packages = rec { - check-build = "${rain-subgraph-cli} build"; + check-build = "${rain-subgraph-cli}"; + # check-build = pkgs.writeShellScriptBin "check-build" ("echo ${rain-subgraph-cli}"); + checkxd = pkgs.writeShellScriptBin "checkxd" ("echo lol"); From 3613d9e28a387c316a0016c32fe241f303cb7bcf Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 2 Oct 2023 22:13:45 -0400 Subject: [PATCH 010/163] wip nix flake tooling --- subgraph/flake.lock | 22 +++++++++++----------- subgraph/flake.nix | 25 +++++++------------------ subgraph/package-lock.json | 2 ++ 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/subgraph/flake.lock b/subgraph/flake.lock index 3c912cff4e..5244bc37be 100644 --- a/subgraph/flake.lock +++ b/subgraph/flake.lock @@ -100,18 +100,25 @@ "type": "github" } }, - "rain_subgraph_cli": { + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "subgraph-cli": "subgraph-cli" + } + }, + "subgraph-cli": { "inputs": { "flake-utils": "flake-utils_2", "naersk": "naersk", "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1696295789, - "narHash": "sha256-j7WhQBQii1BVRr3+2IK2DGI/tLSlEnNC1iBrdPds2Mg=", + "lastModified": 1696298217, + "narHash": "sha256-2SEJE2YTRPipiKWcB8X65lVYpqLEMgfRR7GJjnf/rRU=", "owner": "rainprotocol", "repo": "rain.subgraph-cli", - "rev": "029b04c9904a1d67b6dac8cfc85c2780a69aa4ac", + "rev": "bf4bd6f51bd734050c41f0cb97a6c752d2b65c67", "type": "github" }, "original": { @@ -120,13 +127,6 @@ "type": "github" } }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "rain_subgraph_cli": "rain_subgraph_cli" - } - }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 2ded95cbce..04d17a28cb 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -1,35 +1,24 @@ +# TODO: Improve tooling here { - description = "Flake for development workflows."; + description = "Flake for development orderbook subgraph workflows."; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - rain_subgraph_cli.url = "github:rainprotocol/rain.subgraph-cli"; + subgraph-cli.url = "github:rainprotocol/rain.subgraph-cli"; flake-utils.url = "github:numtide/flake-utils"; - }; - outputs = {self, nixpkgs, rain_subgraph_cli, flake-utils }: + outputs = {self, nixpkgs, subgraph-cli, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; - rain-subgraph-cli = "${rain_subgraph_cli.defaultPackage.${system}}/bin/rain_subgraph_cli"; + rain-sg-cli = "${subgraph-cli.defaultPackage.${system}}/bin/rain_subgraph_cli"; in rec { packages = rec { - check-build = "${rain-subgraph-cli}"; - # check-build = pkgs.writeShellScriptBin "check-build" ("echo ${rain-subgraph-cli}"); - - - checkxd = pkgs.writeShellScriptBin "checkxd" ("echo lol"); - - default = check-build; - + install = pkgs.writeShellScriptBin "install" (''${rain-sg-cli} install''); - # build-meta-cmd = contract: '' - # ${rain-cli} meta build \ - # -i <(${rain-cli} meta solc artifact -c abi -i out/${contract}.sol/${contract}.json) -m solidity-abi-v2 -t json -e deflate -l en \ - # -i src/concrete/${contract}.meta.json -m interpreter-caller-meta-v1 -t json -e deflate -l en \ - # ''; + default = install; }; } ); diff --git a/subgraph/package-lock.json b/subgraph/package-lock.json index 494934325b..a1c4cba6ac 100644 --- a/subgraph/package-lock.json +++ b/subgraph/package-lock.json @@ -7318,6 +7318,7 @@ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "dev": true, + "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { @@ -7706,6 +7707,7 @@ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "dev": true, + "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { From 17a6464b6e8e5d5923389214887b0d3b15a05f44 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 6 Oct 2023 02:02:33 -0400 Subject: [PATCH 011/163] wip --- subgraph/Cargo.lock | 3 + subgraph/Cargo.toml | 5 + subgraph/abis/OrderBook.json | 33884 ---------------- subgraph/abis/ReserveToken.json | 390 - subgraph/cli/main.rs | 133 +- subgraph/deployer.rs | 2384 ++ subgraph/docker/docker-compose.yaml | 4 + subgraph/flake.lock | 104 +- subgraph/flake.nix | 53 +- subgraph/package-lock.json | 2 - subgraph/test-mnemonic | 1 + subgraph/tests/ReserveToken.json | 390 - subgraph/tests/deploy_orderbook.rs | 114 +- subgraph/tests/generated/mod.rs | 16 + subgraph/tests/utils/deploy/deploy1820/mod.rs | 12 +- .../utils/deploy/deploy_orderbook/mod.rs | 16 +- .../meta_getter/AuthoringMetaGetter.json | 1727 + .../tests/utils/deploy/meta_getter/mod.rs | 87 + subgraph/tests/utils/deploy/mod.rs | 3 +- .../touch_deployer/AuthoringMetaGetter.json | 1727 + .../RainterpreterExpressionDeployer_ABI.json | 534 + .../tests/utils/deploy/touch_deployer/mod.rs | 164 +- subgraph/tests/utils/mod.rs | 1 + subgraph/tests/utils/setup.rs | 115 + subgraph/tests/utils/utils.rs | 136 +- test/util/concrete/AuthoringMetaGetter.sol | 13 + 26 files changed, 7052 insertions(+), 34966 deletions(-) delete mode 100644 subgraph/abis/OrderBook.json delete mode 100644 subgraph/abis/ReserveToken.json create mode 100644 subgraph/deployer.rs create mode 100644 subgraph/test-mnemonic delete mode 100644 subgraph/tests/ReserveToken.json create mode 100644 subgraph/tests/generated/mod.rs create mode 100644 subgraph/tests/utils/deploy/meta_getter/AuthoringMetaGetter.json create mode 100644 subgraph/tests/utils/deploy/meta_getter/mod.rs create mode 100644 subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json create mode 100644 subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json create mode 100644 subgraph/tests/utils/setup.rs create mode 100644 test/util/concrete/AuthoringMetaGetter.sol diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock index 8fe005a24f..9a6f7e5780 100644 --- a/subgraph/Cargo.lock +++ b/subgraph/Cargo.lock @@ -3265,12 +3265,15 @@ dependencies = [ "ethers", "graphql_client", "hex", + "lazy_static", "mustache", + "once_cell", "reqwest", "rust-bigint", "serde", "serde_bytes", "serde_json", + "thiserror", "tokio", "web3", ] diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index c3d7ee6fe9..19e003cd3f 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -3,6 +3,8 @@ name = "subgraph" version = "0.1.0" edition = "2021" + + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] name = "subgraph-cli" @@ -23,3 +25,6 @@ web3 = "0.19.0" ethers = "2.0" clap = { version = "4.4.6", features = ["cargo", "derive"] } colored = "2.0.4" +lazy_static = "1.4.0" +thiserror = "1.0.49" +once_cell = "1.18.0" diff --git a/subgraph/abis/OrderBook.json b/subgraph/abis/OrderBook.json deleted file mode 100644 index 6495b6387d..0000000000 --- a/subgraph/abis/OrderBook.json +++ /dev/null @@ -1,33884 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", - "name": "config", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ActiveDebt", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "name": "FlashLenderCallbackFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "name": "MinimumInput", - "type": "error" - }, - { - "inputs": [], - "name": "NoOrders", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "NotOrderOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "name": "NotRainMetaV1", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoHandleIO", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoInputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoOutputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoSources", - "type": "error" - }, - { - "inputs": [], - "name": "ReentrancyGuardReentrantCall", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "SameOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "name": "SourceOffsetOutOfBounds", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "aliceTokenDecimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "bobTokenDecimals", - "type": "uint8" - } - ], - "name": "TokenDecimalsMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "name": "TokenMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "name": "UnexpectedMetaHash", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroAmount", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "ZeroDepositAmount", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroReceiver", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroToken", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "ZeroWithdrawTargetAmount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract IExpressionDeployerV2", - "name": "expressionDeployer", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "AddOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple" - } - ], - "name": "AfterClear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - } - ], - "name": "Clear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - } - ], - "name": "Context", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "subject", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "name": "MetaV1", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderExceedsMaxRatio", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderNotFound", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderZeroAmount", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "RemoveOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "input", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "output", - "type": "uint256" - } - ], - "name": "TakeOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "contract IExpressionDeployerV2", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ], - "internalType": "struct EvaluableConfigV2", - "name": "evaluableConfig", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct OrderConfigV2", - "name": "config", - "type": "tuple" - } - ], - "name": "addOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext", - "type": "tuple[]" - } - ], - "name": "clear", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - } - ], - "name": "removeOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct TakeOrdersConfigV2", - "name": "config", - "type": "tuple" - } - ], - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalTakerInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTakerOutput", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517ff0c79e4006636a71899066ac45a478da4eafaa3117769678b6f18d96138bc15690829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8931:33448:161:-:0;;;1846:76:158;;;-1:-1:-1;;;;;;1846:76:158;;;;;;1928:36;;;;;;;;1919:1;1970:34;;10710:139:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6345:75:161;1821:22:22;1109:11:80;;;;6353:66:161;;10835:6;;1075:46:80;;6353:66:161;;1075:23:80;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10710:139:161;8931:33448;;1424:292:150;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:150;;;;;3082:25:192;;;3123:18;;;3116:34;;;3055:18;;1619:46:150;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:95:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:95;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:95;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:95:o;1075:155:150:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:150;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:150;;550:376;-1:-1:-1;550:376:150:o;631:34::-;-1:-1:-1;846:1:150;835:13;829:20;-1:-1:-1;;;;;825:32:150;667:18:149;883:36:150;;550:376::o;14:127:192:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:192;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:192;508:40;;-1:-1:-1;;;;;563:34:192;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:192:o;687:131::-;-1:-1:-1;;;;;762:31:192;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:192;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:192;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:192;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:192;;;2179:29;-1:-1:-1;2190:5:192;1078:1160;-1:-1:-1;;;1078:1160:192:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:192;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:192:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:192:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:192;;3161:435;-1:-1:-1;;;;;3161:435:192:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:192;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:192;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:192:o;:::-;8931:33448:161;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8931:33448:161:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11896:640;;;;;;:::i;:::-;;:::i;:::-;;11706:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:192;;904:22;886:41;;874:2;859:18;11706:151:161;;;;;;;;5602:2666:158;;;;;;:::i;:::-;;:::i;8709:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:192;;;2296:2;2281:18;8709:162:158;2162:177:192;13566:2174:161;;;;;;:::i;:::-;;:::i;16266:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:192;;;3377:2;3362:18;;3355:34;;;;3294:18;16266:8257:161;3147:248:192;24562:4247:161;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12575:952:161:-;;;;;;:::i;:::-;;:::i;11435:232::-;;;;;;:::i;:::-;;:::i;8314:110:158:-;;;;;;:::i;:::-;;:::i;15779:448:161:-;;;;;;:::i;:::-;;:::i;11896:640::-;2261:21:22;:19;:21::i;:::-;11997:6:161::1;12007:1;11997:11:::0;11993:94:::1;;12031:45;::::0;::::1;::::0;;12049:10:::1;12031:45;::::0;::::1;15585:34:192::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12031:45:161::1;;;;;;;;11993:94;12295:43;::::0;;12303:10:::1;16017:34:192::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12295:43:161::1;::::0;15943:3:192;15928:19;12295:43:161::1;;;;;;;12402:65;:30;::::0;::::1;12433:10;12453:4;12460:6:::0;12402:30:::1;:65::i;:::-;12492:10;12477:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12523:6;;12477:26;:52:::1;::::0;12523:6;;12477:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;11896:640:161;;;:::o;2303:20:22:-;11896:640:161;;;:::o;11706:151::-;11795:4;3098:7:22;;1759:1;3098:19;11001:93:161;;11053:30;;;;;;;;;;;;;;11001:93;-1:-1:-1;11818:18:161::1;::::0;;;:7:::1;:18;::::0;;;;;2616:1:::1;11818:32;11103:1;11706:151:::0;;;:::o;5602:2666:158:-;5756:4;6023:31;;;6019:91;;6081:14;;;;;;;;;;;;;;6019:91;6127:19;;;6123:76;;6173:11;;;;;;;;;;;;;;6123:76;6216:6;6226:1;6216:11;6212:69;;6254:12;;;;;;;;;;;;;;6212:69;6524:18;:16;:18::i;:::-;6556:7;:15;;;;;;;;;;;;;;;6585:21;;;;;;;;;;;;;;;6752:18;6556:7;6752:6;:18;:::i;:::-;6735:14;:35;6784:53;:26;;;6819:8;6830:6;6784:26;:53::i;:::-;6875:64;;;;;6858:14;;6875:20;;;;;;:64;;6896:10;;6908:5;;6915:6;;6858:14;;6934:4;;;;6875:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6858:81;;425:45:165;6953:6:158;:40;6949:111;;7016:33;;;;;;;;2308:25:192;;;2281:18;;7016:33:158;2162:177:192;6949:111:158;7438:14;;;-1:-1:-1;7470:10:158;;7466:401;;7744:72;:30;;;7783:8;7802:4;7809:6;7744:30;:72::i;:::-;7851:1;7834:14;:18;7466:401;7990:10;:46;;;;;;;;;8050:7;:20;;;;;;;8221:18;:16;:18::i;:::-;-1:-1:-1;8257:4:158;;5602:2666;-1:-1:-1;;;;;;5602:2666:158:o;8709:162::-;8778:7;8804:15;:13;:15::i;:::-;:60;;8826:38;;;;;8858:4;8826:38;;;17981:74:192;8826:23:158;;;;;;17954:18:192;;8826:38:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8804:60;;;8822:1;8804:60;8797:67;8709:162;-1:-1:-1;;8709:162:158:o;13566:2174:161:-;13646:17;2261:21:22;:19;:21::i;:::-;13675:19:161::1;13697:56;13721:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13697:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13697:23:161::1;::::0;-1:-1:-1;;;13697:56:161:i:1;:::-;13675:78;;13767:11;13782:1;13767:16:::0;13763:80:::1;;13806:26;::::0;::::1;::::0;;13821:10:::1;13806:26;::::0;::::1;17981:74:192::0;17954:18;;13806:26:161::1;17835:226:192::0;13763:80:161::1;13856:11;13871:1;13856:16:::0;13852:81:::1;;13895:27;::::0;::::1;::::0;;13911:10:::1;13895:27;::::0;::::1;17981:74:192::0;17954:18;;13895:27:161::1;17835:226:192::0;13852:81:161::1;13946:18;:6:::0;;:18:::1;:::i;:::-;:25;;13975:1;13946:30:::0;13942:93:::1;;13999:25;::::0;::::1;::::0;;14013:10:::1;13999:25;::::0;::::1;17981:74:192::0;17954:18;;13999:25:161::1;17835:226:192::0;13942:93:161::1;14048:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14078:1;14048:31:::0;14044:95:::1;;14102:26;::::0;::::1;::::0;;14117:10:::1;14102:26;::::0;::::1;17981:74:192::0;17954:18;;14102:26:161::1;17835:226:192::0;14044:95:161::1;14149:26;::::0;;14226:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14327:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14372:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:43::0;3277:11;;3269:1:161::1;3301:16:43::0;;;3348:4;3337:16;;3330:27;3508:1:161::1;3377:16:43::0;;;3370:27;3195:22;3423:16;;3410:30;;;14226:279:161::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14148:357;;;;;;14691:18;14712:279;;;;;;;;14731:10;14712:279;;;;;;14860:1;14755:102;14783:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14755:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3146:1:161::1;::::0;-1:-1:-1;14755:27:161::1;::::0;-1:-1:-1;;14755:102:161:i:1;:::-;:106;14712:279:::0;;14875:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14712:279;14875:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14712:279;::::1;::::0;;14930:18:::1;:6:::0;;:18:::1;:::i;:::-;14712:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14962:6;:19;;;;;;;;:::i;:::-;14712:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14691:300:::1;;15001:17;15021:12;:5;:10;:12::i;:::-;2820:1;15123:18:::0;;;:7:::1;:18;::::0;;;;;15001:32;;-1:-1:-1;15119:615:161::1;;15263:18;::::0;;;:7:::1;:18;::::0;;;;;;15186:4:::1;15263:31:::0;;;;15186:4;-1:-1:-1;15313:71:161::1;::::0;15322:10:::1;::::0;15334:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15367:5;15374:9;15313:71;;;;;;;;;:::i;:::-;;;;;;;;15576:1;15555:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15551:173;;;15597:38;15623:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15597:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15597:25:161::1;::::0;-1:-1:-1;;;15597:38:161:i:1;:::-;15658:51;15665:10;15685:9:::0;15697:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15658:51;;;;;;;;;:::i;:::-;;;;;;;;15551:173;13665:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16266:8257:161;16377:23;16402:24;2261:21:22;:19;:21::i;:::-;16446:13:161::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16470:1;16446:25:::0;16442:73:::1;;16494:10;;;;;;;;;;;;;;16442:73;16525:9;16548:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16548:38:161::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16655:19:161::1;::::0;::::1;;16684:5775;16695:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16691:1;:24;:51;;;;;16741:1;16719:19;:23;16691:51;16684:5775;;;16776:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16790:1;16776:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16758:34;;;:::i;:::-;16814:21:::0;;16758:34;;-1:-1:-1;16814:21:161;-1:-1:-1;17002:13:161::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17016:1;17002:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17037:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17051:1;17037:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17002:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17002:71:161::1;:::i;:::-;16925:148;;:5;:17;;;16943:15;:28;;;16925:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;16904:423;;17148:5;:17;;;17166:15;:28;;;17148:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17223:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17237:1;17223:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17258:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17272:1;17258:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17223:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17223:71:161::1;:::i;:::-;17113:199;::::0;::::1;::::0;;28187:42:192;28256:15;;;17113:199:161::1;::::0;::::1;28238:34:192::0;28308:15;;28288:18;;;28281:43;28150:18;;17113:199:161::1;28003:327:192::0;16904:423:161::1;17496:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17510:1;17496:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17532:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17546:1;17532:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17496:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17496:73:161::1;:::i;:::-;17417:152;;:5;:18;;;17436:15;:29;;;17417:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17396:431;;17644:5;:18;;;17663:15;:29;;;17644:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17721:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17735:1;17721:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17757:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17771:1;17757:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17721:67;;;;;;;:::i;17396:431::-;18005:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18019:1;18005:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18040:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18054:1;18040:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18005:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;17925:154;;:5;:17;;;17943:15;:28;;;17925:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;17904:443;;18162:5;:17;;;18180:15;:28;;;18162:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18240:6;:13;;;;;;;;:::i;:::-;18254:1;18240:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18275:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18289:1;18275:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18240:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18119:213;::::0;::::1;::::0;;28718:4:192;28706:17;;;18119:213:161::1;::::0;::::1;28688:36:192::0;28760:17;;28740:18;;;28733:45;28661:18;;18119:213:161::1;28522:262:192::0;17904:443:161::1;18528:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18542:1;18528:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18564:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18578:1;18564:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18528:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18446:158;;:5;:18;;;18465:15;:29;;;18446:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18425:451;;18687:5;:18;;;18706:15;:29;;;18687:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18767:6;:13;;;;;;;;:::i;:::-;18781:1;18767:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18803:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18817:1;18803:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18767:67;;;;;;;:::i;18425:451::-;18890:17;18910:12;:5;:10;:12::i;:::-;2820:1;18940:18:::0;;;:7:::1;:18;::::0;;;;;18890:32;;-1:-1:-1;18936:3453:161::1;;19023:11:::0;;18997:49:::1;::::0;;19011:10:::1;15585:34:192::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;18997:49:161::1;::::0;15512:2:192;15497:18;18997:49:161::1;;;;;;;18936:3453;;;19085:44;19132:245;19170:5;19197:15;:28;;;19247:15;:29;;;19298:10;19330:15;:29;;;19132:16;:245::i;:::-;19085:292;;19756:6;:21;;;19727:18;:26;;;:50;19723:2652;;;19839:11:::0;;19806:56:::1;::::0;;19827:10:::1;15585:34:192::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19806:56:161::1;::::0;15512:2:192;15497:18;19806:56:161::1;;;;;;;;19723:2652;;;19913:18;:28;;;19946:1;19891:56:::0;19887:2488:::1;;20004:11:::0;;19976:51:::1;::::0;;19992:10:::1;15585:34:192::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19976:51:161::1;::::0;15512:2:192;15497:18;19976:51:161::1;15322:398:192::0;19887:2488:161::1;20074:24;20101:5;:18;;;20120:15;:29;;;20101:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20326:28:::1;::::0;::::1;::::0;20101:58;;-1:-1:-1;20256:26:161::1;20873:62;:19:::0;:62:::1;::::0;::::1;503:6:76;20873:27:161;:62::i;:::-;20788:148;;21024:21;20987:12;20966:80;20962:179;;;21093:21;21078:36;;20962:179;20657:506;21185:19;21335:28:::0;21535:156:::1;21617:18;:26;;;21645:16;21556:12;21535:48;;:156;;;;;:::i;:::-;21335:382;;21757:170;21830:5;:17;;;21848:15;:28;;;21830:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21757:170;;416:1:76;21779:13:161;21757:43;;:170;;;;;:::i;:::-;21743:184:::0;-1:-1:-1;21972:18:161::1;::::0;-1:-1:-1;21993:76:161::1;22014:12:::0;21993:76:::1;::::0;::::1;503:6:76;21993:41:161;:76::i;:::-;21972:97:::0;-1:-1:-1;22092:33:161::1;21972:97:::0;22092:33;::::1;:::i;:::-;::::0;-1:-1:-1;22147:31:161::1;22167:11:::0;22147:31;::::1;:::i;:::-;;;22201:65;22215:5;22222:11;22235:10;22247:18;22201:13;:65::i;:::-;22293:63;22303:10;22315:15;22332:10;22344:11;22293:63;;;;;;;;;:::i;:::-;;;;;;;;20052:2323;;;;19887:2488;19067:3322;18936:3453;-1:-1:-1::0;22431:3:161::1;::::0;;::::1;::::0;16684:5775:::1;;;22486:41;22508:19:::0;22486::::1;::::0;::::1;;:41;:::i;:::-;22468:59:::0;-1:-1:-1;22560:19:161;::::1;22542:37:::0;::::1;22538:125;;;22602:50;::::0;::::1;::::0;;22615:19;::::1;22602:50;::::0;::::1;3321:25:192::0;3362:18;;;3355:34;;;3294:18;;22602:50:161::1;3147:248:192::0;22538:125:161::1;23445:28;23476:157;23521:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23535:1;23521:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23557:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23571:1;23557:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23521:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23521:73:161::1;:::i;:::-;23596:10;23608:15;23476:31;:157::i;:::-;23445:188:::0;-1:-1:-1;23668:1:161::1;23647:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23643:395;;;23708:10;23685:47;23750:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23764:1;23750:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23786:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23800:1;23786:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23750:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23750:73:161::1;:::i;:::-;23841:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23855:1;23841:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23876:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23890:1;23876:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23841:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23841:71:161::1;:::i;:::-;23930:20:::0;23968:16;24002:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23685:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23643:395;24052:20:::0;;24048:469:::1;;24335:171;24449:10;24469:4;24476:16:::0;24342:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24356:1;24342:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24377:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24391:1;24377:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24342:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24342:71:161::1;:::i;:::-;24335:96;;::::0;:171;;:96:::1;:171::i;:::-;16432:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16266:8257:161;;;:::o;24562:4247::-;2261:21:22;:19;:21::i;:::-;24848:9:161;;24833:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24829:92:::1;;24894:11:::0;;24884:22:::1;::::0;::::1;::::0;;18011:42:192;17999:55;;;24884:22:161::1;::::0;::::1;17981:74:192::0;17954:18;;24884:22:161::1;17835:226:192::0;24829:92:161::1;25035:3;:15;;;25051:11;:27;;;25035:44;;;;;;;;:::i;:::-;;;;;;;:50;;;24955:130;;:5;:18;;;24974:11;:30;;;24955:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;24934:387;;25160:5;:18;;;25179:11;:30;;;25160:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25238:3;:15;;;25254:11;:27;;;25238:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25125:181:::1;::::0;::::1;::::0;;28187:42:192;28256:15;;;25125:181:161::1;::::0;::::1;28238:34:192::0;28308:15;;28288:18;;;28281:43;28150:18;;25125:181:161::1;28003:327:192::0;24934:387:161::1;25439:3;:15;;;25455:11;:27;;;25439:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25356:136;;:5;:18;;;25375:11;:30;;;25356:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25335:407;;25575:5;:18;;;25594:11;:30;;;25575:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25656:3;:15;;;25672:11;:27;;;25656:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25532:195;;;;;;;;;;;28718:4:192::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25335:407:161::1;25853:17;::::0;::::1;::::0;:48;;25871:29;::::1;::::0;25853:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25777:130;;:3;:16;;;25794:11;:28;;;25777:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25756:387;;25982:17;::::0;::::1;::::0;:48;;26000:29;::::1;::::0;25982:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26058:3;:16;;;26075:11;:28;;;26058:46;;;;;;;;:::i;25756:387::-;26257:17;::::0;::::1;::::0;:48;;26275:29;::::1;::::0;26257:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26178:136;;:3;:16;;;26195:11;:28;;;26178:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26157:407;;26397:17;::::0;::::1;::::0;:48;;26415:29;::::1;::::0;26397:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26476:3;:16;;;26493:11;:28;;;26476:46;;;;;;;;:::i;26157:407::-;2820:1;26789:7;:21;26797:12;:5;:10;:12::i;:::-;26789:21;;;;;;;;;;;;:35:::0;26785:155:::1;;26849:52;26863:10;26875:5;:11;;;26888:12;:5;:10;:12::i;:::-;26849:52;::::0;;15534:42:192;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26849:52:161::1;;;;;;;26919:7;;26785:155;2820:1;26957:7;:19;26965:10;:3;:8;:10::i;:::-;26957:19;;;;;;;;;;;;:33:::0;26953:149:::1;;27015:48;27029:10;27041:3;:9;;;27052:10;:3;:8;:10::i;26953:149::-;27172:42;27178:10;27190:5;27197:3;27202:11;27172:42;;;;;;;;;:::i;:::-;;;;;;;;27234:50;27287:137;27317:5;27324:11;:29;;;27355:11;:30;;;27387:3;:9;;;27398:16;27287;:137::i;:::-;27234:190;;27434:48;27485:135;27515:3;27520:11;:27;;;27549:11;:28;;;27579:5;:11;;;27592:18;27485:16;:135::i;:::-;27434:186;;27630:40;27685:75;27711:24;27737:22;27685:25;:75::i;:::-;27630:130;;27771:105;27785:5;27792:16;:27;;;27821:16;:28;;;27851:24;27771:13;:105::i;:::-;27886:97;27900:3;27905:16;:25;;;27932:16;:26;;;27960:22;27886:13;:97::i;:::-;28193:25;::::0;::::1;::::0;28162:28;;28140:19:::1;::::0;28162:56:::1;::::0;::::1;:::i;:::-;28140:78;;28232:17;28281:16;:27;;;28252:16;:26;;;:56;;;;:::i;:::-;28232:76:::0;-1:-1:-1;28326:15:161;;28322:206:::1;;28376:10;28361:26;::::0;;;:14:::1;:26;::::0;;;;;;28388:18:::1;::::0;::::1;::::0;:50;;28502:11;;28361:26;;28407:30;::::1;;::::0;28388:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28361:84;;;;;;;;;;;;;;;:137;28446:11;:51;;;28361:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28322:206:161::1;28545:13:::0;;28541:196:::1;;28593:10;28578:26;::::0;;;:14:::1;:26;::::0;;;;28605:16:::1;::::0;::::1;::::0;:46;;28713:9;;28578:26;28605:16;28622:28:::1;::::0;::::1;;::::0;28605:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28578:80;;;;;;;;;;;;;;;:131;28659:11;:49;;;28578:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28541:196:161::1;-1:-1:-1::0;;28762:40:161::1;::::0;;28773:10:::1;32657:74:192::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28762:40:161::1;::::0;32644:3:192;32629:19;28762:40:161::1;;;;;;;24805:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24562:4247:161;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12575:952:161:-;2261:21:22;:19;:21::i;:::-;12683:12:161::1;12699:1;12683:17:::0;12679:107:::1;;12723:52;::::0;::::1;::::0;;12748:10:::1;12723:52;::::0;::::1;15585:34:192::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12723:52:161::1;15322:398:192::0;12679:107:161::1;12840:10;12795:27;12825:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;12974:37:::1;:12:::0;12825:42;12974:16:::1;:37::i;:::-;12949:62:::0;-1:-1:-1;13025:18:161;;13021:500:::1;;13309:36;13331:14:::0;13309:19;:36:::1;:::i;:::-;13279:10;13264:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13364:66;;33490:34:192;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13364:66:161::1;::::0;33416:3:192;33401:19;13364:66:161::1;;;;;;;13444;13476:5;13483:10;13495:14;13444:31;:66::i;:::-;;13021:500;12669:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11435:232:161;11593:7;3098::22;;1759:1;3098:19;11001:93:161;;11053:30;;;;;;;;;;;;;;11001:93;-1:-1:-1;11623:21:161::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11103:1:::1;11435:232:::0;;;;;:::o;15779:448::-;15853:17;2261:21:22;:19;:21::i;:::-;15900:11:161::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;15886:25;;:10;:25;;;15882:101;;15948:10;15960:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;15934:38;::::0;::::1;::::0;;28187:42:192;28256:15;;;15934:38:161::1;::::0;::::1;28238:34:192::0;28308:15;;28288:18;;;28281:43;28150:18;;15934:38:161::1;28003:327:192::0;15882:101:161::1;15992:17;16012:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16038:18;::::0;;;:7:::1;:18;::::0;;;;;15992:32;;-1:-1:-1;16038:32:161;;16034:187:::1;;2820:1;16119:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16169:41;16101:4:::1;::::0;-1:-1:-1;16169:41:161::1;::::0;::::1;::::0;16181:10:::1;::::0;16193:5;;16127:9;;16169:41:::1;:::i;:::-;;;;;;;;16034:187;15872:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:192;2460:63:22;;;37243:21:192;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:192;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:192;15603:15;;;1482:68:27;;;15585:34:192;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:192;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2417:167:158:-;2473:15;:13;:15::i;:::-;2469:109;;;2530:10;;2543:7;;2552:14;;2511:56;;;;;2530:10;;;;2511:56;;;15585:34:192;2543:7:158;;;;15635:18:192;;;15628:43;15687:18;;;15680:34;15497:18;;2511:56:158;15322:398:192;2469:109:158;2417:167::o;941:175:27:-;1050:58;;37623:42:192;37611:55;;1050:58:27;;;37593:74:192;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:192;;1050:58:27;37419:297:192;2246:165:158;2326:10;;2294:4;;2318:33;2326:10;2318:33;;;2317:62;;-1:-1:-1;2357:7:158;;:21;:7;:21;;2317:62;:87;;;-1:-1:-1;2384:14:158;;:19;;2317:87;2310:94;;2246:165;:::o;476:349:93:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:93;;476:349;-1:-1:-1;476:349:93:o;568:59::-;-1:-1:-1;802:4:93;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:93:o;537:118:170:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:150:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29513:5114:161:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29796:17:161;29816:12;:5;:10;:12::i;:::-;29937:78;;;4207:1;29937:78;;;;;;;;;29796:32;;-1:-1:-1;29843:26:161;;29901:33;;29937:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30169:11:161;;4055:4:43;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30153:29:161;;;;4149:16:43;;;4142:27;30184:30:161;;;3967:22:43;4189:16;;4182:27;4246:4;4235:16;;4222:30;;29901:114:161;;-1:-1:-1;30033:14:161;30081:1;4640;30048:34;30033:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30301:476;30364:5;:17;;;30382:12;30364:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30348:55;;30425:5;:17;;;30443:12;30425:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30301:476;;30487:5;:17;;;30505:12;30487:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30548:14;:27;30563:5;:11;;;30548:27;;;;;;;;;;;;;;;:66;30576:5;:17;;;30594:12;30576:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30548:66;;;;;;;;;;;;;;;:132;30615:5;:17;;;30633:12;30615:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30548:132;;;;;;;;;;;;30758:1;5980:4:43;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30301:476:161;30251:14;30296:1;5175;30266:31;30251:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30847:486;30910:5;:18;;;30929:13;30910:33;;;;;;;;:::i;:::-;;;;;;;:39;;;30894:57;;30973:5;:18;;;30992:13;30973:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30847:486;;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31100:14;:27;31115:5;:11;;;31100:27;;;;;;;;;;;;;;;:68;31128:5;:18;;;31147:13;31128:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31100:68;;;;;;;;;;;;;;;:136;31169:5;:18;;;31188:13;31169:33;;;;;;;;:::i;30847:486::-;30796:14;30842:1;5342;30811:32;30796:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31361:47;31378:14;31394:13;31361:16;:47::i;:::-;31351:57;;29883:1540;31599:24;31662:5;:11;;;31646:29;;31599:77;;32018:36;32056:34;32094:5;:32;;;:61;;;:83;;;32178:5;:15;;;:21;;;32201:9;32212:51;32236:5;:15;;;:26;;;32212:23;:51::i;:::-;32265:7;32094:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32017:256;;;;32288:31;32342:19;32391:1;32362:19;:26;:30;32342:51;;;;;;;;:::i;:::-;;;;;;;32288:106;;32408:20;32431:19;32480:1;32451:19;:26;:30;32431:51;;;;;;;;:::i;:::-;;;;;;;32408:74;;32651:25;32679:14;:27;32694:5;:11;;;32679:27;;;;;;;;;;;;;;;:68;32707:5;:18;;;32726:13;32707:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32679:68;;;;;;;;;;;;;;;:132;32748:5;:39;;;32788:13;32748:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32679:132;;;;;;;;;;;;32651:160;;33864:34;33941:72;33967:5;:18;;;33986:13;33967:33;;;;;;;;:::i;:::-;;;;;;;:42;;;33941:72;;34011:1;33941:17;:25;;:72;;;;;:::i;:::-;33864:150;;34100:19;34058:16;34036:84;34032:169;;;34163:19;34144:38;;34032:169;-1:-1:-1;;3283:4:43;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34312:7:161;4835:1;34312:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34469:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34469:141:161;;;;;;;;;;;-1:-1:-1;;;;34469:141:161;;;;-1:-1:-1;34469:141:161;29513:5114::o;5782:869:77:-;5869:7;5939:9;253:2:76;5916:32:77;5912:723;;;253:2:76;5989:32:77;;;503:6:76;6043:22:77;;:26;6039:190;;6100:33;6118:2;6122:10;6100:17;:33::i;:::-;6093:40;;;;;6039:190;6187:23;6195:2;6199:10;6187:7;:23::i;5912:723::-;253:2:76;6253:9:77;:32;6249:386;;;6328:32;;;416:1:76;6382:22:77;;:26;6378:195;;6439:34;6456:2;6460:12;6439:16;:34::i;6378:195::-;6527:27;6537:2;6541:12;6527:9;:27::i;6249:386::-;-1:-1:-1;6618:2:77;6611:9;;646:163:75;738:7;764:38;:1;773;339:4:76;793:8:75;764;:38::i;:::-;757:45;646:163;-1:-1:-1;;;;646:163:75:o;7076:898:77:-;7168:7;7238:15;253:2:76;7215:38:77;7211:747;;;253:2:76;7296:38:77;;;416:1:76;7356:22:77;;:26;7352:195;;7413:34;7430:2;7434:12;7413:16;:34::i;7211:747::-;253:2:76;7571:15:77;:38;7567:391;;;7650:38;;;503:6:76;7710:22:77;;:26;7706:190;;7767:33;7785:2;7789:10;7767:17;:33::i;35201:3665:161:-;35467:5;35378:18;:26;;;5175:1;35378:55;;;;;;;;:::i;:::-;;;;;;;6159:1;35378:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35572:6;35482:18;:26;;;5342:1;35482:56;;;;;;;;:::i;:::-;;;;;;;6159:1;35482:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35593:9;;35589:360;;35704:11;;35689:27;;;;;;:14;:27;;;;;35750:26;;;;:55;;35933:5;;35689:27;35750:26;5175:1;;35750:55;;;;;;:::i;:::-;;;;;;;5460:1;35750:79;;;;;;;;:::i;:::-;;;;;;;35689:156;;;;;;;;;;;;;;;:240;35846:18;:26;;;5175:1;35846:55;;;;;;;;:::i;:::-;;;;;;;5702:1;35846:82;;;;;;;;:::i;:::-;;;;;;;35689:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35589:360:161;35962:10;;35958:365;;36075:11;;36060:27;;;;;;:14;:27;;;;;36121:26;;;;:56;;36306:6;;36060:27;36121:26;5342:1;;36121:56;;;;;;:::i;:::-;;;;;;;5460:1;36121:80;;;;;;;;:::i;:::-;;;;;;;36060:157;;;;;;;;;;;;;;;:242;36218:18;:26;;;5342:1;36218:56;;;;;;;;:::i;:::-;;;;;;;5702:1;36218:83;;;;;;;;:::i;:::-;;;;;;;36060:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;35958:365:161;36489:47;36497:10;36509:18;:26;;;36489:47;;;;;;;:::i;:::-;;;;;;;;36767:22;;;;:29;:33;36763:470;;37143:5;:15;;;:21;;;:25;;;37169:18;:28;;;37199:18;:22;;;37143:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36763:470;37391:5;:14;;;37387:1473;;;37865:30;37897:28;37929:5;:15;;;:27;;;:32;;;37979:5;:15;;;:21;;;38018:18;:28;;;38064:45;38082:5;:15;;;:26;;;38064:17;:45::i;:::-;38127:18;:26;;;37929:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38378:18;;37864:303;;-1:-1:-1;37864:303:161;-1:-1:-1;38378:22:161;38374:476;;38767:5;:15;;;:21;;;:25;;;38793:18;:28;;;38823:11;38767:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38374:476;37407:1453;;35201:3665;;;;:::o;4766:790:158:-;5050:7;;4894;;5050;5041:16;;;5050:7;;5041:16;:51;;;;-1:-1:-1;5081:10:158;;;5061:31;;;5081:10;;5061:31;5041:51;5037:383;;;5108:21;5132:30;5147:14;;5132:10;:14;;:30;;;;:::i;:::-;5108:54;-1:-1:-1;5176:27:158;5108:54;5176:27;;:::i;:::-;;;5396:13;5378:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5037:383:158;5434:14;;5430:93;;5464:48;:26;;;5491:8;5501:10;5464:26;:48::i;39410:486:161:-;39590:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39590:40:161;39642:90;39667:16;39685:23;39710:21;39642:24;:90::i;:::-;39799;39824:16;39842:21;39865:23;39799:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5173:642:27:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;5618:27;;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;;;;42044:2:192;5697:111:27;;;42026:21:192;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5697:111:27;41842:406:192;1950:412:93;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:93:o;550:376:150:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:150;;550:376;-1:-1:-1;550:376:150:o;631:34::-;-1:-1:-1;846:1:150;835:13;829:20;691:16;825:32;667:18:149;883:36:150;;550:376::o;7166:2290:94:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:94;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:43;3277:11;;3315:1;3301:16;;2288:10:94;3348:4:43;3337:16;;3330:27;2326:4:94;3377:16:43;;;3370:27;2211:16:94;3423::43;;3410:30;;;3277:11;2246:165:158;7817:17:94;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:94;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:147;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:94;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:94;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:192;;;2281:18;;9164:19:94;2162:177:192;8196:1010:94;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:94;7166:2290;-1:-1:-1;;;;;7166:2290:94:o;41963:213:161:-;42040:15;1048:2:96;1016:34;;;;;3389:1:161;1015:100:96;42074:95:161;816:316:96;3552:702:77;3634:10;726:2:76;3684:10:77;:35;3680:558;;3744:7;;:31;;3758:17;3744:31;;;3754:1;3744:31;3739:36;;3680:558;;;-1:-1:-1;3957:2:77;:16;;;3996:7;;;;:2;3957:16;3996:7;3957:16;4185:7;;;;:::i;:::-;;:13;:38;;4206:17;4185:38;;2593:700;2772:2;:16;;;2813:7;2772:16;2813:2;:7;:::i;:::-;2808:12;;726:2:76;3190:10:77;:35;3186:101;;3246:7;;:30;;3260:16;3266:10;3260:2;:16;:::i;:::-;3246:30;;;-1:-1:-1;3256:1:77;;2593:700;-1:-1:-1;;2593:700:77:o;4877:613::-;4960:10;726:2:76;5010:12:77;:37;5006:468;;5072:7;;:15;;5086:1;5072:15;;;5082:1;5072:15;5067:20;;;;5006:468;;;5139:2;:18;;;;5180:2;5139:18;5180:7;;;;:::i;:::-;;5175:12;;5408:2;5403;:7;5397:2;:13;5393:67;;-1:-1:-1;5440:1:77;5434:7;;4877:613;-1:-1:-1;;4877:613:77:o;4659:212::-;4735:7;726:2:76;4785:12:77;:37;;:69;;4841:12;4835:2;:18;4829:2;:25;;;;;:::i;:::-;;4785:69;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42182:195:161:-;42253:15;1055:46:96;1048:2;1016:34;;;;;1015:87;42287:83:161;816:316:96;39902:2055:161;40473:29;;;;40409:31;;;;40325:27;;40387:147;;40409:31;40504:16;40387:68;:147::i;:::-;40588:33;;;;40325:219;;-1:-1:-1;40712:77:161;;;40708:183;;;-1:-1:-1;40865:13:161;40708:183;41053:163;41113:23;:29;;;:42;;;41156:23;:37;;;41113:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41053:163;;41205:1;41075:16;41053:46;;:163;;;;;:::i;:::-;41022:194;;41420:31;;;;41022:28;;41366:104;;41388:16;;41453;41366:53;:104::i;:::-;41305:175;;41784:166;41839:21;:27;;;:40;;;41880:21;:35;;;41839:77;;;;;;;;:::i;41784:166::-;41490:27;;;;:460;;;;-1:-1:-1;;;;;39902:2055:161:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:93:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:93;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:93;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:192;2952:53:36;;;45067:21:192;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:192;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:192;8113:60:28;;;45417:21:192;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:192;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:192;5354:81:28;;;45775:21:192;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:192;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:192;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:192;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:192:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:192;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:192:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:192;;561:180;-1:-1:-1;561:180:192:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:192;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:192;1437:18;;1424:32;;-1:-1:-1;1507:2:192;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:192;;-1:-1:-1;1871:2:192;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:192:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:192:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:192:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:192;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:192;;5790:703;-1:-1:-1;;;;;;;5790:703:192:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:192:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:192;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:192;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:192;;-1:-1:-1;;10648:12:192;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:192;8145:2554;-1:-1:-1;;;;;;8145:2554:192:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:192;;-1:-1:-1;;;;12066:626:192:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:192;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:192:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:192;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:192;;13286:859;-1:-1:-1;;;;;;;13286:859:192:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:192;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:192;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:192:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:192:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:192;;17464:184;-1:-1:-1;17464:184:192:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:192:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:192;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:192;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:192;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:192;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:192;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:192;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:192;;20766:435;-1:-1:-1;;;;;20766:435:192:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:192;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:192;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:192;26645:966;-1:-1:-1;;26645:966:192:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:192;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:192;30554:9;30525:685;;;-1:-1:-1;31249:18:192;;;31242:34;;;;-1:-1:-1;;31292:18:192;;;31285:34;;;;-1:-1:-1;31227:6:192;;29325:2000;-1:-1:-1;;;;;;29325:2000:192:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:192;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:192;;-1:-1:-1;34383:18:192;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:192;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:192;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:192;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:192;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:192;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:192:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": "847a1bc9", - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", - "deposit(address,uint256,uint256)": "0efe6a8b", - "flashFee(address,uint256)": "d9d98ce4", - "flashLoan(address,address,uint256,bytes)": "5cffe9de", - "maxFlashLoan(address)": "613255ab", - "multicall(bytes[])": "ac9650d8", - "orderExists(bytes32)": "2cb77e9f", - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": "8a44689c", - "vaultBalance(address,address,uint256)": "d97b2e48", - "withdraw(address,uint256,uint256)": "b5c5f672" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV2ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoOrders\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoSources\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"aliceTokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"bobTokenDecimals\",\"type\":\"uint8\"}],\"name\":\"TokenDecimalsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroDepositAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroWithdrawTargetAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV2\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTakerInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTakerOutput\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"OrderNoHandleIO(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoInputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoOutputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoSources(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"params\":{\"aliceTokenDecimals\":\"The input or output decimals of one order.\",\"bobTokenDecimals\":\"The input or output decimals of the other order.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}],\"ZeroDepositAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` depositing tokens.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` withdrawing tokens.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the target amount if the vault does not have the funds available to cover the target amount. For example an active order might move tokens before the withdraw completes.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\",\"targetAmount\":\"The amount of tokens requested to withdraw.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"},\"returns\":{\"stateChanged\":\"True if the order was added, false if it already existed.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"token\":\"The token to deposit.\",\"vaultId\":\"The vault ID to deposit under.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"_0\":\"True if the order exists, false otherwise.\"}},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"},\"returns\":{\"stateChanged\":\"True if the order was removed, false if it did not exist.\"}},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalTakerInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalTakerOutput\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"vaultBalance(address,address,uint256)\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"returns\":{\"_0\":\"The current balance of the vault.\"}},\"withdraw(address,uint256,uint256)\":{\"params\":{\"targetAmount\":\"The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.\",\"token\":\"The token to withdraw.\",\"vaultId\":\"The vault ID to withdraw from.\"}}},\"stateVariables\":{\"sVaultBalances\":{\"details\":\"Vault balances are stored in a mapping of owner => token => vault ID This gives 1:1 parity with the `IOrderBookV1` interface but keeping the `sFoo` naming convention for storage variables.\"}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NoOrders()\":[{\"notice\":\"Thrown when take orders is called with no orders.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"OrderNoHandleIO(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"This will exist in a future version of Open Zeppelin if their main branch is to be believed.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"notice\":\"Thrown when the input and output token decimals don't match, in either direction.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroAmount()\":[{\"notice\":\"Thrown when `flashLoan` amount is zero.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `withdraw` if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens if the vault balance is zero, or the withdrawal is used to repay a flash loan.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,bytes32)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"orderExists(bytes32)\":{\"notice\":\"Returns true if the order exists, false otherwise.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw(address,uint256,uint256)\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.interpreter/lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.interpreter/lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.datacontract/lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0\",\"dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.datacontract/lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec\",\"dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy\"]},\"lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol\":{\"keccak256\":\"0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36\",\"dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol\":{\"keccak256\":\"0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a\",\"dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768\",\"dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibContext.sol\":{\"keccak256\":\"0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05\",\"dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF\"]},\"lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb\",\"dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c\",\"dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP\"]},\"lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"src/abstract/OrderBookV3FlashLender.sol\":{\"keccak256\":\"0x9c90cadae1248ad3f374fff10b2cc228cfc6532886d5fce69eeb700c5111f3ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53427d0e2501e89e0dc6802e613ad8a118286e68e1fd7d8e524af0e0eeaa529a\",\"dweb:/ipfs/QmcjcnLfxN8xh2AhiyGz8qEbH6n3FDEhXY3uhFHKTkzWgQ\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0x25fcba14be1bcaa3598c849ffac91e47d694fb0af26f805cd2ae147e626bc02b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://689772f8e05b105939886f4a4dec879e289a442d7c3720fa74b20ce302ad474e\",\"dweb:/ipfs/QmYEqt6uRkhSZHGLFXzLmdWv1qYVTEwXxB1E35kQnJDSHX\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0xebc841ab2c03c057e116f7f7ccaff82be986eca988d26b88cbbf7499430ab9ee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a0cd8161b171e900007b6a8981559408d079f876d7d668fc4b43fc2be443c112\",\"dweb:/ipfs/QmfKuLfpcorjssSdX4GgZ1CDeJygnnvx586X8zRTBsNZAa\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x361d1463885b4fee46b5e9617517c0f8b6221adde78f3c48283e949f924a5629\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8215827bf1a53ebea2fe55f7bc7a4d9c35aac89ec9537958af00560c4b3e2317\",\"dweb:/ipfs/QmNs9hdheu5wJPC85mWm7kFNWUmZHWx8nFKFCjXZCyLgYR\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206\",\"dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "type": "error", - "name": "ActiveDebt" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "type": "error", - "name": "FlashLenderCallbackFailed" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "type": "error", - "name": "InvalidSignature" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "type": "error", - "name": "MinimumInput" - }, - { - "inputs": [], - "type": "error", - "name": "NoOrders" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "NotOrderOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "type": "error", - "name": "NotRainMetaV1" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoHandleIO" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoInputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoOutputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoSources" - }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "SameOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "SourceOffsetOutOfBounds" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "aliceTokenDecimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "bobTokenDecimals", - "type": "uint8" - } - ], - "type": "error", - "name": "TokenDecimalsMismatch" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "type": "error", - "name": "TokenMismatch" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedMetaHash" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroDepositAmount" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroReceiver" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroToken" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroWithdrawTargetAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "contract IExpressionDeployerV2", - "name": "expressionDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "AddOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "AfterClear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "Clear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]", - "indexed": false - } - ], - "type": "event", - "name": "Context", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "subject", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "MetaV1", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderExceedsMaxRatio", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderNotFound", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderZeroAmount", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "RemoveOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "output", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TakeOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdraw", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "struct OrderConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct EvaluableConfigV2", - "name": "evaluableConfig", - "type": "tuple", - "components": [ - { - "internalType": "contract IExpressionDeployerV2", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ] - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "clear" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct TakeOrdersConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalTakerInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTakerOutput", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { - "params": { - "config": "All config required to build an `Order`." - }, - "returns": { - "stateChanged": "True if the order was added, false if it already existed." - } - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "params": { - "alice": "Some order to clear.", - "aliceSignedContext": "Optional signed context that is relevant to A.", - "bob": "Another order to clear.", - "bobSignedContext": "Optional signed context that is relevant to B.", - "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." - } - }, - "deposit(address,uint256,uint256)": { - "params": { - "amount": "The amount of tokens to deposit.", - "token": "The token to deposit.", - "vaultId": "The vault ID to deposit under." - } - }, - "flashFee(address,uint256)": { - "details": "The fee to be charged for a given loan.", - "params": { - "amount": "The amount of tokens lent.", - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." - } - }, - "flashLoan(address,address,uint256,bytes)": { - "details": "Initiate a flash loan.", - "params": { - "amount": "The amount of tokens lent.", - "data": "Arbitrary data structure, intended to contain user-defined parameters.", - "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", - "token": "The loan currency." - } - }, - "maxFlashLoan(address)": { - "details": "The amount of currency available to be lent.", - "params": { - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` that can be borrowed." - } - }, - "multicall(bytes[])": { - "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", - "details": "Receives and executes a batch of function calls on this contract." - }, - "orderExists(bytes32)": { - "params": { - "orderHash": "The hash of the order to check." - }, - "returns": { - "_0": "True if the order exists, false otherwise." - } - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "params": { - "order": "The `Order` data exactly as it was added." - }, - "returns": { - "stateChanged": "True if the order was removed, false if it did not exist." - } - }, - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { - "params": { - "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." - }, - "returns": { - "totalTakerInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", - "totalTakerOutput": "Total tokens taken from `msg.sender` and distributed between vaults." - } - }, - "vaultBalance(address,address,uint256)": { - "params": { - "id": "The vault ID to read.", - "owner": "The owner of the vault.", - "token": "The token the vault is for." - }, - "returns": { - "_0": "The current balance of the vault." - } - }, - "withdraw(address,uint256,uint256)": { - "params": { - "targetAmount": "The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.", - "token": "The token to withdraw.", - "vaultId": "The vault ID to withdraw from." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { - "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true." - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" - }, - "constructor": { - "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." - }, - "deposit(address,uint256,uint256)": { - "notice": "Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero." - }, - "maxFlashLoan(address)": { - "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." - }, - "orderExists(bytes32)": { - "notice": "Returns true if the order exists, false otherwise." - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." - }, - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { - "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." - }, - "vaultBalance(address,address,uint256)": { - "notice": "Get the current balance of a vault for a given owner, token and vault ID." - }, - "withdraw(address,uint256,uint256)": { - "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.interpreter/lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.interpreter/lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.datacontract/lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "src/concrete/OrderBook.sol": "OrderBook" - }, - "libraries": {} - }, - "sources": { - "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": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { - "keccak256": "0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4", - "urls": [ - "bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0", - "dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { - "keccak256": "0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58", - "urls": [ - "bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2", - "dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { - "keccak256": "0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80", - "urls": [ - "bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d", - "dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "lib/rain.datacontract/lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.datacontract/lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.datacontract/lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.datacontract/lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol": { - "keccak256": "0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0", - "urls": [ - "bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec", - "dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol": { - "keccak256": "0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1", - "urls": [ - "bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36", - "dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol": { - "keccak256": "0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db", - "urls": [ - "bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a", - "dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { - "keccak256": "0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6", - "urls": [ - "bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768", - "dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { - "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", - "urls": [ - "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", - "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { - "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", - "urls": [ - "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", - "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibContext.sol": { - "keccak256": "0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a", - "urls": [ - "bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05", - "dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol": { - "keccak256": "0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085", - "urls": [ - "bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb", - "dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { - "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", - "urls": [ - "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", - "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { - "keccak256": "0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364", - "urls": [ - "bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c", - "dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { - "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", - "urls": [ - "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", - "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" - ], - "license": "CAL" - }, - "lib/rain.metadata/src/IMetaV1.sol": { - "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", - "urls": [ - "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", - "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" - ], - "license": "CAL" - }, - "lib/rain.metadata/src/LibMeta.sol": { - "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", - "urls": [ - "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", - "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" - ], - "license": "CAL" - }, - "src/abstract/OrderBookV3FlashLender.sol": { - "keccak256": "0x9c90cadae1248ad3f374fff10b2cc228cfc6532886d5fce69eeb700c5111f3ad", - "urls": [ - "bzz-raw://53427d0e2501e89e0dc6802e613ad8a118286e68e1fd7d8e524af0e0eeaa529a", - "dweb:/ipfs/QmcjcnLfxN8xh2AhiyGz8qEbH6n3FDEhXY3uhFHKTkzWgQ" - ], - "license": "CAL" - }, - "src/concrete/OrderBook.sol": { - "keccak256": "0x25fcba14be1bcaa3598c849ffac91e47d694fb0af26f805cd2ae147e626bc02b", - "urls": [ - "bzz-raw://689772f8e05b105939886f4a4dec879e289a442d7c3720fa74b20ce302ad474e", - "dweb:/ipfs/QmYEqt6uRkhSZHGLFXzLmdWv1qYVTEwXxB1E35kQnJDSHX" - ], - "license": "CAL" - }, - "src/interface/IOrderBookV2.sol": { - "keccak256": "0xebc841ab2c03c057e116f7f7ccaff82be986eca988d26b88cbbf7499430ab9ee", - "urls": [ - "bzz-raw://a0cd8161b171e900007b6a8981559408d079f876d7d668fc4b43fc2be443c112", - "dweb:/ipfs/QmfKuLfpcorjssSdX4GgZ1CDeJygnnvx586X8zRTBsNZAa" - ], - "license": "CAL" - }, - "src/interface/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", - "urls": [ - "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", - "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" - ], - "license": "CC0" - }, - "src/interface/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", - "urls": [ - "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", - "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" - ], - "license": "CC0" - }, - "src/interface/unstable/IOrderBookV3.sol": { - "keccak256": "0x361d1463885b4fee46b5e9617517c0f8b6221adde78f3c48283e949f924a5629", - "urls": [ - "bzz-raw://8215827bf1a53ebea2fe55f7bc7a4d9c35aac89ec9537958af00560c4b3e2317", - "dweb:/ipfs/QmNs9hdheu5wJPC85mWm7kFNWUmZHWx8nFKFCjXZCyLgYR" - ], - "license": "CAL" - }, - "src/interface/unstable/IOrderBookV3OrderTaker.sol": { - "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", - "urls": [ - "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", - "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" - ], - "license": "CAL" - }, - "src/lib/LibOrder.sol": { - "keccak256": "0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280", - "urls": [ - "bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206", - "dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/concrete/OrderBook.sol", - "id": 75855, - "exportedSymbols": { - "ActiveDebt": [ - 73065 - ], - "CALCULATE_ORDER_ENTRYPOINT": [ - 73725 - ], - "CALCULATE_ORDER_MAX_OUTPUTS": [ - 73741 - ], - "CALCULATE_ORDER_MIN_OUTPUTS": [ - 73737 - ], - "CALLER_META_HASH": [ - 73804 - ], - "CALLING_CONTEXT_COLUMNS": [ - 73753 - ], - "CONTEXT_BASE_COLUMN": [ - 73757 - ], - "CONTEXT_CALCULATIONS_COLUMN": [ - 73765 - ], - "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 73761 - ], - "CONTEXT_VAULT_INPUTS_COLUMN": [ - 73769 - ], - "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 73789 - ], - "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 73793 - ], - "CONTEXT_VAULT_IO_ROWS": [ - 73797 - ], - "CONTEXT_VAULT_IO_TOKEN": [ - 73777 - ], - "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 73781 - ], - "CONTEXT_VAULT_IO_VAULT_ID": [ - 73785 - ], - "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 73773 - ], - "ClearConfig": [ - 76128 - ], - "ClearStateChange": [ - 76137 - ], - "DEFAULT_STATE_NAMESPACE": [ - 56619 - ], - "DeployerDiscoverableMetaV2": [ - 55564 - ], - "DeployerDiscoverableMetaV2ConstructionConfig": [ - 55519 - ], - "ECDSA": [ - 45323 - ], - "EncodedDispatch": [ - 56607 - ], - "Evaluable": [ - 57613 - ], - "EvaluableConfig": [ - 57595 - ], - "EvaluableConfigV2": [ - 57604 - ], - "FIXED_POINT_DECIMALS": [ - 54567 - ], - "FIXED_POINT_ONE": [ - 54571 - ], - "FLAG_MAX_INT": [ - 54587 - ], - "FLAG_ROUND_UP": [ - 54575 - ], - "FLAG_SATURATE": [ - 54581 - ], - "FLASH_FEE": [ - 73069 - ], - "FixedPointDecimalArithmeticOpenZeppelin": [ - 54561 - ], - "FixedPointDecimalScale": [ - 55073 - ], - "FlashLenderCallbackFailed": [ - 73056 - ], - "FullyQualifiedNamespace": [ - 56568 - ], - "HANDLE_IO_ENTRYPOINT": [ - 73733 - ], - "HANDLE_IO_MAX_OUTPUTS": [ - 73749 - ], - "HANDLE_IO_MIN_OUTPUTS": [ - 73745 - ], - "HASH_NIL": [ - 71058 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ - 56497 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ - 56736 - ], - "IERC20": [ - 43884 - ], - "IERC3156FlashBorrower": [ - 76627 - ], - "IERC3156FlashLender": [ - 76664 - ], - "IExpressionDeployerV1": [ - 56533 - ], - "IExpressionDeployerV2": [ - 56771 - ], - "IInterpreterCallerV2": [ - 56563 - ], - "IInterpreterStoreV1": [ - 56600 - ], - "IInterpreterV1": [ - 56650 - ], - "IO": [ - 76058 - ], - "IOrderBookV3": [ - 76947 - ], - "IOrderBookV3OrderTaker": [ - 76979 - ], - "Input18Amount": [ - 73829 - ], - "InvalidSignature": [ - 57109 - ], - "LibBytecode": [ - 57095 - ], - "LibBytes": [ - 46507 - ], - "LibContext": [ - 57394 - ], - "LibEncodedDispatch": [ - 57579 - ], - "LibEvaluable": [ - 57626 - ], - "LibHashNoAlloc": [ - 71100 - ], - "LibMemCpy": [ - 46539 - ], - "LibMeta": [ - 71304 - ], - "LibOrder": [ - 77001 - ], - "LibPointer": [ - 46674 - ], - "LibUint256Array": [ - 47065 - ], - "Math": [ - 46324 - ], - "MinimumInput": [ - 73704 - ], - "Multicall": [ - 44728 - ], - "NO_STORE": [ - 56577 - ], - "NoOrders": [ - 76678 - ], - "NotOrderOwner": [ - 73683 - ], - "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ - 76610 - ], - "ORDER_DEAD": [ - 73717 - ], - "ORDER_LIVE": [ - 73713 - ], - "OVERFLOW_RESCALE_OOMS": [ - 54591 - ], - "Operand": [ - 56611 - ], - "Order": [ - 76088 - ], - "OrderBook": [ - 75854 - ], - "OrderBookV3FlashLender": [ - 73389 - ], - "OrderConfigV2": [ - 76692 - ], - "OrderIOCalculation": [ - 73825 - ], - "OutOfBoundsTruncate": [ - 46847 - ], - "Output18Amount": [ - 73827 - ], - "Pointer": [ - 46554 - ], - "ReentrancyGuard": [ - 43219 - ], - "ReentrancyGuardReentrantCall": [ - 73676 - ], - "SIGNED_CONTEXT_CONTEXT_OFFSET": [ - 56549 - ], - "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ - 56552 - ], - "SIGNED_CONTEXT_SIGNER_OFFSET": [ - 56546 - ], - "SafeERC20": [ - 44321 - ], - "SameOwner": [ - 73709 - ], - "SignatureChecker": [ - 45422 - ], - "SignedContextV1": [ - 56543 - ], - "SourceIndex": [ - 56605 - ], - "SourceOffsetOutOfBounds": [ - 56826 - ], - "StateNamespace": [ - 56609 - ], - "TakeOrderConfig": [ - 76115 - ], - "TakeOrdersConfigV2": [ - 76705 - ], - "TokenDecimalsMismatch": [ - 73697 - ], - "TokenMismatch": [ - 73690 - ], - "TruncateError": [ - 46439 - ], - "ZeroAmount": [ - 73051 - ], - "ZeroReceiver": [ - 73048 - ], - "ZeroToken": [ - 73045 - ] - }, - "nodeType": "SourceUnit", - "src": "32:42348:161", - "nodes": [ - { - "id": 73650, - "nodeType": "PragmaDirective", - "src": "32:24:161", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 73652, - "nodeType": "ImportDirective", - "src": "58:74:161", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "openzeppelin-contracts/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 46325, - "symbolAliases": [ - { - "foreign": { - "id": 73651, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46324, - "src": "66:4:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 73654, - "nodeType": "ImportDirective", - "src": "133:79:161", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "file": "openzeppelin-contracts/contracts/utils/Multicall.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 44729, - "symbolAliases": [ - { - "foreign": { - "id": 73653, - "name": "Multicall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44728, - "src": "141:9:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 73656, - "nodeType": "ImportDirective", - "src": "213:79:161", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 43885, - "symbolAliases": [ - { - "foreign": { - "id": 73655, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43884, - "src": "221:6:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 73658, - "nodeType": "ImportDirective", - "src": "293:91:161", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "file": "openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 44322, - "symbolAliases": [ - { - "foreign": { - "id": 73657, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44321, - "src": "301:9:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 73660, - "nodeType": "ImportDirective", - "src": "385:94:161", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 43220, - "symbolAliases": [ - { - "foreign": { - "id": 73659, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43219, - "src": "393:15:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 73661, - "nodeType": "ImportDirective", - "src": "481:74:161", - "nodes": [], - "absolutePath": "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol", - "file": "rain.math.fixedpoint/FixedPointDecimalArithmeticOpenZeppelin.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 54562, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73662, - "nodeType": "ImportDirective", - "src": "556:57:161", - "nodes": [], - "absolutePath": "lib/rain.interpreter/lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol", - "file": "rain.math.fixedpoint/FixedPointDecimalScale.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 55074, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73663, - "nodeType": "ImportDirective", - "src": "614:64:161", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "file": "rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 57580, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73664, - "nodeType": "ImportDirective", - "src": "679:56:161", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", - "file": "rain.interpreter/src/lib/caller/LibContext.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 57395, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73668, - "nodeType": "ImportDirective", - "src": "736:173:161", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", - "file": "rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 55565, - "symbolAliases": [ - { - "foreign": { - "id": 73665, - "name": "DeployerDiscoverableMetaV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55564, - "src": "749:26:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 73666, - "name": "DeployerDiscoverableMetaV2ConstructionConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55519, - "src": "781:44:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 73667, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71304, - "src": "831:7:161", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 73669, - "nodeType": "ImportDirective", - "src": "910:59:161", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "file": "rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 57096, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73670, - "nodeType": "ImportDirective", - "src": "971:48:161", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3.sol", - "file": "../interface/unstable/IOrderBookV3.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 76948, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73671, - "nodeType": "ImportDirective", - "src": "1020:58:161", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", - "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 76980, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73672, - "nodeType": "ImportDirective", - "src": "1079:29:161", - "nodes": [], - "absolutePath": "src/lib/LibOrder.sol", - "file": "../lib/LibOrder.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 77002, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73673, - "nodeType": "ImportDirective", - "src": "1109:48:161", - "nodes": [], - "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", - "file": "../abstract/OrderBookV3FlashLender.sol", - "nameLocation": "-1:-1:-1", - "scope": 75855, - "sourceUnit": 73390, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 73676, - "nodeType": "ErrorDefinition", - "src": "1260:37:161", - "nodes": [], - "documentation": { - "id": 73674, - "nodeType": "StructuredDocumentation", - "src": "1159:101:161", - "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." - }, - "errorSelector": "3ee5aeb5", - "name": "ReentrancyGuardReentrantCall", - "nameLocation": "1266:28:161", - "parameters": { - "id": 73675, - "nodeType": "ParameterList", - "parameters": [], - "src": "1294:2:161" - } - }, - { - "id": 73683, - "nodeType": "ErrorDefinition", - "src": "1473:51:161", - "nodes": [], - "documentation": { - "id": 73677, - "nodeType": "StructuredDocumentation", - "src": "1299:174:161", - "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." - }, - "errorSelector": "4702b914", - "name": "NotOrderOwner", - "nameLocation": "1479:13:161", - "parameters": { - "id": 73682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73679, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1501:6:161", - "nodeType": "VariableDeclaration", - "scope": 73683, - "src": "1493:14:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1493:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73681, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1517:5:161", - "nodeType": "VariableDeclaration", - "scope": 73683, - "src": "1509:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73680, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1509:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1492:31:161" - } - }, - { - "id": 73690, - "nodeType": "ErrorDefinition", - "src": "1741:58:161", - "nodes": [], - "documentation": { - "id": 73684, - "nodeType": "StructuredDocumentation", - "src": "1526:215:161", - "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." - }, - "errorSelector": "f902523f", - "name": "TokenMismatch", - "nameLocation": "1747:13:161", - "parameters": { - "id": 73689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73686, - "mutability": "mutable", - "name": "aliceToken", - "nameLocation": "1769:10:161", - "nodeType": "VariableDeclaration", - "scope": 73690, - "src": "1761:18:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1761:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73688, - "mutability": "mutable", - "name": "bobToken", - "nameLocation": "1789:8:161", - "nodeType": "VariableDeclaration", - "scope": 73690, - "src": "1781:16:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1781:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1760:38:161" - } - }, - { - "id": 73697, - "nodeType": "ErrorDefinition", - "src": "2041:78:161", - "nodes": [], - "documentation": { - "id": 73691, - "nodeType": "StructuredDocumentation", - "src": "1801:240:161", - "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." - }, - "errorSelector": "0f6ce477", - "name": "TokenDecimalsMismatch", - "nameLocation": "2047:21:161", - "parameters": { - "id": 73696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73693, - "mutability": "mutable", - "name": "aliceTokenDecimals", - "nameLocation": "2075:18:161", - "nodeType": "VariableDeclaration", - "scope": 73697, - "src": "2069:24:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 73692, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2069:5:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73695, - "mutability": "mutable", - "name": "bobTokenDecimals", - "nameLocation": "2101:16:161", - "nodeType": "VariableDeclaration", - "scope": 73697, - "src": "2095:22:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 73694, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2095:5:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "2068:50:161" - } - }, - { - "id": 73704, - "nodeType": "ErrorDefinition", - "src": "2265:56:161", - "nodes": [], - "documentation": { - "id": 73698, - "nodeType": "StructuredDocumentation", - "src": "2121:144:161", - "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." - }, - "errorSelector": "45094d88", - "name": "MinimumInput", - "nameLocation": "2271:12:161", - "parameters": { - "id": 73703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73700, - "mutability": "mutable", - "name": "minimumInput", - "nameLocation": "2292:12:161", - "nodeType": "VariableDeclaration", - "scope": 73704, - "src": "2284:20:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2284:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73702, - "mutability": "mutable", - "name": "input", - "nameLocation": "2314:5:161", - "nodeType": "VariableDeclaration", - "scope": 73704, - "src": "2306:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2306:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2283:37:161" - } - }, - { - "id": 73709, - "nodeType": "ErrorDefinition", - "src": "2427:31:161", - "nodes": [], - "documentation": { - "id": 73705, - "nodeType": "StructuredDocumentation", - "src": "2323:104:161", - "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." - }, - "errorSelector": "227e4ce9", - "name": "SameOwner", - "nameLocation": "2433:9:161", - "parameters": { - "id": 73708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73707, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2451:5:161", - "nodeType": "VariableDeclaration", - "scope": 73709, - "src": "2443:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2442:15:161" - } - }, - { - "id": 73713, - "nodeType": "VariableDeclaration", - "src": "2586:31:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_LIVE", - "nameLocation": "2603:10:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2586:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 73712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2616:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 73717, - "nodeType": "VariableDeclaration", - "src": "2790:31:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_DEAD", - "nameLocation": "2807:10:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2790:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 73716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2820:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 73725, - "nodeType": "VariableDeclaration", - "src": "2893:69:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "2914:26:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 73720, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73719, - "name": "SourceIndex", - "nameLocations": [ - "2893:11:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56605, - "src": "2893:11:161" - }, - "referencedDeclaration": 56605, - "src": "2893:11:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "30", - "id": 73723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2960:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 73721, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56605, - "src": "2943:11:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56605_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 73722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2955:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2943:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56605_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 73724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2943:19:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 73733, - "nodeType": "VariableDeclaration", - "src": "3085:63:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "3106:20:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 73728, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73727, - "name": "SourceIndex", - "nameLocations": [ - "3085:11:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56605, - "src": "3085:11:161" - }, - "referencedDeclaration": 56605, - "src": "3085:11:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 73731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3146:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "id": 73729, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56605, - "src": "3129:11:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56605_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 73730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3141:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "3129:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56605_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 73732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3129:19:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 73737, - "nodeType": "VariableDeclaration", - "src": "3222:48:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "3239:27:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3222:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 73736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3269:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 73741, - "nodeType": "VariableDeclaration", - "src": "3343:47:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "3359:27:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 73739, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3343:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "32", - "id": 73740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3389:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 73745, - "nodeType": "VariableDeclaration", - "src": "3467:42:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "3484:21:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 73744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3508:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 73749, - "nodeType": "VariableDeclaration", - "src": "3585:41:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "3601:21:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 73747, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3585:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "30", - "id": 73748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3625:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 73753, - "nodeType": "VariableDeclaration", - "src": "4164:44:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "4181:23:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4164:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 73752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4207:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 73757, - "nodeType": "VariableDeclaration", - "src": "4249:40:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "4266:19:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4249:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 73756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4288:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 73761, - "nodeType": "VariableDeclaration", - "src": "4590:51:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "4607:30:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4590:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 73760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4640:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 73765, - "nodeType": "VariableDeclaration", - "src": "4788:48:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "4805:27:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4788:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 73764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4835:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 73769, - "nodeType": "VariableDeclaration", - "src": "5128:48:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "5145:27:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5128:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 73768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5175:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 73773, - "nodeType": "VariableDeclaration", - "src": "5294:49:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "5311:28:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5294:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 73772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5342:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 73777, - "nodeType": "VariableDeclaration", - "src": "5418:43:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "5435:22:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5418:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 73776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5460:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 73781, - "nodeType": "VariableDeclaration", - "src": "5536:52:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "5553:31:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5536:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 73780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5587:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 73785, - "nodeType": "VariableDeclaration", - "src": "5657:46:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "5674:25:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5657:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 73784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5702:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 73789, - "nodeType": "VariableDeclaration", - "src": "5810:52:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "5827:31:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5810:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 73788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5861:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 73793, - "nodeType": "VariableDeclaration", - "src": "6110:50:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "6127:29:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6110:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 73792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6159:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 73797, - "nodeType": "VariableDeclaration", - "src": "6200:42:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "6217:21:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6200:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 73796, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6241:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "id": 73804, - "nodeType": "VariableDeclaration", - "src": "6309:111:161", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLER_META_HASH", - "nameLocation": "6326:16:161", - "scope": 75855, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 73799, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6309:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307866306337396534303036363336613731383939303636616334356134373864613465616661613331313737363936373862366631386439363133386263313536", - "id": 73802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6353:66:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_108907778427906982333827527819755382347023327821416984760626168294036074119510_by_1", - "typeString": "int_const 1089...(70 digits omitted)...9510" - }, - "value": "0xf0c79e4006636a71899066ac45a478da4eafaa3117769678b6f18d96138bc156" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_108907778427906982333827527819755382347023327821416984760626168294036074119510_by_1", - "typeString": "int_const 1089...(70 digits omitted)...9510" - } - ], - "id": 73801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6345:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 73800, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6345:7:161", - "typeDescriptions": {} - } - }, - "id": 73803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6345:75:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 73825, - "nodeType": "StructDefinition", - "src": "8547:249:161", - "nodes": [], - "canonicalName": "OrderIOCalculation", - "members": [ - { - "constant": false, - "id": 73807, - "mutability": "mutable", - "name": "order", - "nameLocation": "8585:5:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8579:11:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 73806, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73805, - "name": "Order", - "nameLocations": [ - "8579:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "8579:5:161" - }, - "referencedDeclaration": 76088, - "src": "8579:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73809, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "8604:13:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8596:21:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8596:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73812, - "mutability": "mutable", - "name": "outputMax", - "nameLocation": "8638:9:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8623:24:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 73811, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73810, - "name": "Output18Amount", - "nameLocations": [ - "8623:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "8623:14:161" - }, - "referencedDeclaration": 73827, - "src": "8623:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73814, - "mutability": "mutable", - "name": "IORatio", - "nameLocation": "8712:7:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8704:15:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8704:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73818, - "mutability": "mutable", - "name": "context", - "nameLocation": "8737:7:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8725:19:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 73815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8725:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 73816, - "nodeType": "ArrayTypeName", - "src": "8725:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 73817, - "nodeType": "ArrayTypeName", - "src": "8725:11:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73821, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "8765:9:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8750:24:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 73820, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73819, - "name": "StateNamespace", - "nameLocations": [ - "8750:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56609, - "src": "8750:14:161" - }, - "referencedDeclaration": 56609, - "src": "8750:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73824, - "mutability": "mutable", - "name": "kvs", - "nameLocation": "8790:3:161", - "nodeType": "VariableDeclaration", - "scope": 73825, - "src": "8780:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 73822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8780:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 73823, - "nodeType": "ArrayTypeName", - "src": "8780:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "name": "OrderIOCalculation", - "nameLocation": "8554:18:161", - "scope": 75855, - "visibility": "public" - }, - { - "id": 73827, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "8798:31:161", - "nodes": [], - "canonicalName": "Output18Amount", - "name": "Output18Amount", - "nameLocation": "8803:14:161", - "underlyingType": { - "id": 73826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8821:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 73829, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "8831:30:161", - "nodes": [], - "canonicalName": "Input18Amount", - "name": "Input18Amount", - "nameLocation": "8836:13:161", - "underlyingType": { - "id": 73828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8853:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75854, - "nodeType": "ContractDefinition", - "src": "8931:33448:161", - "nodes": [ - { - "id": 73844, - "nodeType": "UsingForDirective", - "src": "9052:36:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73841, - "name": "LibUint256Array", - "nameLocations": [ - "9058:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 47065, - "src": "9058:15:161" - }, - "typeName": { - "baseType": { - "id": 73842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9078:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 73843, - "nodeType": "ArrayTypeName", - "src": "9078:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - { - "id": 73848, - "nodeType": "UsingForDirective", - "src": "9093:27:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73845, - "name": "SafeERC20", - "nameLocations": [ - "9099:9:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44321, - "src": "9099:9:161" - }, - "typeName": { - "id": 73847, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73846, - "name": "IERC20", - "nameLocations": [ - "9113:6:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43884, - "src": "9113:6:161" - }, - "referencedDeclaration": 43884, - "src": "9113:6:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43884", - "typeString": "contract IERC20" - } - } - }, - { - "id": 73852, - "nodeType": "UsingForDirective", - "src": "9125:25:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73849, - "name": "LibOrder", - "nameLocations": [ - "9131:8:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77001, - "src": "9131:8:161" - }, - "typeName": { - "id": 73851, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73850, - "name": "Order", - "nameLocations": [ - "9144:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "9144:5:161" - }, - "referencedDeclaration": 76088, - "src": "9144:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - } - }, - { - "id": 73855, - "nodeType": "UsingForDirective", - "src": "9155:34:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73853, - "name": "LibUint256Array", - "nameLocations": [ - "9161:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 47065, - "src": "9161:15:161" - }, - "typeName": { - "id": 73854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9181:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 73858, - "nodeType": "UsingForDirective", - "src": "9194:23:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73856, - "name": "Math", - "nameLocations": [ - "9200:4:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 46324, - "src": "9200:4:161" - }, - "typeName": { - "id": 73857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9209:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 73861, - "nodeType": "UsingForDirective", - "src": "9222:41:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73859, - "name": "FixedPointDecimalScale", - "nameLocations": [ - "9228:22:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55073, - "src": "9228:22:161" - }, - "typeName": { - "id": 73860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9255:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 73864, - "nodeType": "UsingForDirective", - "src": "9268:58:161", - "nodes": [], - "global": false, - "libraryName": { - "id": 73862, - "name": "FixedPointDecimalArithmeticOpenZeppelin", - "nameLocations": [ - "9274:39:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 54561, - "src": "9274:39:161" - }, - "typeName": { - "id": 73863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9318:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 73869, - "nodeType": "VariableDeclaration", - "src": "9925:44:161", - "nodes": [], - "constant": false, - "documentation": { - "id": 73865, - "nodeType": "StructuredDocumentation", - "src": "9332:465:161", - "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" - }, - "mutability": "mutable", - "name": "sOrders", - "nameLocation": "9962:7:161", - "scope": 75854, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 73868, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 73866, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9933:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "9925:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 73867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9944:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "id": 73878, - "nodeType": "VariableDeclaration", - "src": "10317:91:161", - "nodes": [], - "constant": false, - "documentation": { - "id": 73870, - "nodeType": "StructuredDocumentation", - "src": "9976:213:161", - "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." - }, - "mutability": "mutable", - "name": "sVaultBalances", - "nameLocation": "10394:14:161", - "scope": 75854, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "typeName": { - "id": 73877, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 73871, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10325:7:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "10317:67:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 73876, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 73872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10344:7:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "10336:47:161", - "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": 73875, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 73873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10363:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "10355:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 73874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10374:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "internal" - }, - { - "id": 73890, - "nodeType": "FunctionDefinition", - "src": "10710:139:161", - "nodes": [], - "body": { - "id": 73889, - "nodeType": "Block", - "src": "10847:2:161", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 73879, - "nodeType": "StructuredDocumentation", - "src": "10415:290:161", - "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 73885, - "name": "CALLER_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73804, - "src": "10817:16:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 73886, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73882, - "src": "10835:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55519_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" - } - } - ], - "id": 73887, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 73884, - "name": "DeployerDiscoverableMetaV2", - "nameLocations": [ - "10790:26:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55564, - "src": "10790:26:161" - }, - "nodeType": "ModifierInvocation", - "src": "10790:52:161" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 73883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73882, - "mutability": "mutable", - "name": "config", - "nameLocation": "10774:6:161", - "nodeType": "VariableDeclaration", - "scope": 73890, - "src": "10722:58:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55519_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" - }, - "typeName": { - "id": 73881, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 73880, - "name": "DeployerDiscoverableMetaV2ConstructionConfig", - "nameLocations": [ - "10722:44:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55519, - "src": "10722:44:161" - }, - "referencedDeclaration": 55519, - "src": "10722:44:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55519_storage_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "10721:60:161" - }, - "returnParameters": { - "id": 73888, - "nodeType": "ParameterList", - "parameters": [], - "src": "10847:0:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 73902, - "nodeType": "ModifierDefinition", - "src": "10963:148:161", - "nodes": [], - "body": { - "id": 73901, - "nodeType": "Block", - "src": "10991:120:161", - "nodes": [], - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 73893, - "name": "_reentrancyGuardEntered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43218, - "src": "11005:23:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 73894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11005:25:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 73899, - "nodeType": "IfStatement", - "src": "11001:93:161", - "trueBody": { - "id": 73898, - "nodeType": "Block", - "src": "11032:62:161", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 73895, - "name": "ReentrancyGuardReentrantCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73676, - "src": "11053:28:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 73896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11053:30:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 73897, - "nodeType": "RevertStatement", - "src": "11046:37:161" - } - ] - } - }, - { - "id": 73900, - "nodeType": "PlaceholderStatement", - "src": "11103:1:161" - } - ] - }, - "documentation": { - "id": 73891, - "nodeType": "StructuredDocumentation", - "src": "10855:103:161", - "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" - }, - "name": "nonReentrantView", - "nameLocation": "10972:16:161", - "parameters": { - "id": 73892, - "nodeType": "ParameterList", - "parameters": [], - "src": "10988:2:161" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 73926, - "nodeType": "FunctionDefinition", - "src": "11435:232:161", - "nodes": [], - "body": { - "id": 73925, - "nodeType": "Block", - "src": "11606:61:161", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 73917, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "11623:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 73919, - "indexExpression": { - "id": 73918, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73905, - "src": "11638:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11623:21:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 73921, - "indexExpression": { - "id": 73920, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73907, - "src": "11645:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11623:28:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 73923, - "indexExpression": { - "id": 73922, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73909, - "src": "11652:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11623:37:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 73916, - "id": 73924, - "nodeType": "Return", - "src": "11616:44:161" - } - ] - }, - "baseFunctions": [ - 76868 - ], - "documentation": { - "id": 73903, - "nodeType": "StructuredDocumentation", - "src": "11117:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "d97b2e48", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 73913, - "kind": "modifierInvocation", - "modifierName": { - "id": 73912, - "name": "nonReentrantView", - "nameLocations": [ - "11559:16:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73902, - "src": "11559:16:161" - }, - "nodeType": "ModifierInvocation", - "src": "11559:16:161" - } - ], - "name": "vaultBalance", - "nameLocation": "11444:12:161", - "overrides": { - "id": 73911, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11542:8:161" - }, - "parameters": { - "id": 73910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73905, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11465:5:161", - "nodeType": "VariableDeclaration", - "scope": 73926, - "src": "11457:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73904, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11457:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73907, - "mutability": "mutable", - "name": "token", - "nameLocation": "11480:5:161", - "nodeType": "VariableDeclaration", - "scope": 73926, - "src": "11472:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11472:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73909, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "11495:7:161", - "nodeType": "VariableDeclaration", - "scope": 73926, - "src": "11487:15:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11456:47:161" - }, - "returnParameters": { - "id": 73916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73915, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 73926, - "src": "11593:7:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11593:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11592:9:161" - }, - "scope": 75854, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 73944, - "nodeType": "FunctionDefinition", - "src": "11706:151:161", - "nodes": [], - "body": { - "id": 73943, - "nodeType": "Block", - "src": "11801:56:161", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 73941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 73937, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "11818:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 73939, - "indexExpression": { - "id": 73938, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73929, - "src": "11826:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11818:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 73940, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73713, - "src": "11840:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11818:32:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 73936, - "id": 73942, - "nodeType": "Return", - "src": "11811:39:161" - } - ] - }, - "baseFunctions": [ - 76905 - ], - "documentation": { - "id": 73927, - "nodeType": "StructuredDocumentation", - "src": "11673:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "2cb77e9f", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 73933, - "kind": "modifierInvocation", - "modifierName": { - "id": 73932, - "name": "nonReentrantView", - "nameLocations": [ - "11769:16:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73902, - "src": "11769:16:161" - }, - "nodeType": "ModifierInvocation", - "src": "11769:16:161" - } - ], - "name": "orderExists", - "nameLocation": "11715:11:161", - "overrides": { - "id": 73931, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11760:8:161" - }, - "parameters": { - "id": 73930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73929, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "11735:9:161", - "nodeType": "VariableDeclaration", - "scope": 73944, - "src": "11727:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 73928, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11727:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "11726:19:161" - }, - "returnParameters": { - "id": 73936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73935, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 73944, - "src": "11795:4:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 73934, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11795:4:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "11794:6:161" - }, - "scope": 75854, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 74001, - "nodeType": "FunctionDefinition", - "src": "11896:640:161", - "nodes": [], - "body": { - "id": 74000, - "nodeType": "Block", - "src": "11983:553:161", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 73958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 73956, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73951, - "src": "11997:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 73957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12007:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11997:11:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 73967, - "nodeType": "IfStatement", - "src": "11993:94:161", - "trueBody": { - "id": 73966, - "nodeType": "Block", - "src": "12010:77:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 73960, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12049:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 73961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12053:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12049:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 73962, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73947, - "src": "12061:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 73963, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73949, - "src": "12068:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 73959, - "name": "ZeroDepositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76719, - "src": "12031:17:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 73964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12031:45:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 73965, - "nodeType": "RevertStatement", - "src": "12024:52:161" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 73969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12303:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 73970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12307:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12303:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 73971, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73947, - "src": "12315:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 73972, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73949, - "src": "12322:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 73973, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73951, - "src": "12331:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 73968, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76759, - "src": "12295:7:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 73974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12295:43:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 73975, - "nodeType": "EmitStatement", - "src": "12290:48:161" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 73980, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12433:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 73981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12437:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12433:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 73984, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12453:4:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$75854", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$75854", - "typeString": "contract OrderBook" - } - ], - "id": 73983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12445:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 73982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12445:7:161", - "typeDescriptions": {} - } - }, - "id": 73985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12445:13:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 73986, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73951, - "src": "12460:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 73977, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73947, - "src": "12409:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 73976, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43884, - "src": "12402:6:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$43884_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 73978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12402:13:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43884", - "typeString": "contract IERC20" - } - }, - "id": 73979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12416:16:161", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44005, - "src": "12402:30:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43884_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43884_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 73987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12402:65:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 73988, - "nodeType": "ExpressionStatement", - "src": "12402:65:161" - }, - { - "expression": { - "id": 73998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 73989, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "12477:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 73994, - "indexExpression": { - "expression": { - "id": 73990, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12492:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 73991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12496:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12492:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12477:26:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 73995, - "indexExpression": { - "id": 73992, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73947, - "src": "12504:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12477:33:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 73996, - "indexExpression": { - "id": 73993, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73949, - "src": "12511:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12477:42:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 73997, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73951, - "src": "12523:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12477:52:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 73999, - "nodeType": "ExpressionStatement", - "src": "12477:52:161" - } - ] - }, - "baseFunctions": [ - 76878 - ], - "documentation": { - "id": 73945, - "nodeType": "StructuredDocumentation", - "src": "11863:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "0efe6a8b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 73954, - "kind": "modifierInvocation", - "modifierName": { - "id": 73953, - "name": "nonReentrant", - "nameLocations": [ - "11970:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43184, - "src": "11970:12:161" - }, - "nodeType": "ModifierInvocation", - "src": "11970:12:161" - } - ], - "name": "deposit", - "nameLocation": "11905:7:161", - "parameters": { - "id": 73952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 73947, - "mutability": "mutable", - "name": "token", - "nameLocation": "11921:5:161", - "nodeType": "VariableDeclaration", - "scope": 74001, - "src": "11913:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73946, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11913:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73949, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "11936:7:161", - "nodeType": "VariableDeclaration", - "scope": 74001, - "src": "11928:15:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11928:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 73951, - "mutability": "mutable", - "name": "amount", - "nameLocation": "11953:6:161", - "nodeType": "VariableDeclaration", - "scope": 74001, - "src": "11945:14:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 73950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11945:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11912:48:161" - }, - "returnParameters": { - "id": 73955, - "nodeType": "ParameterList", - "parameters": [], - "src": "11983:0:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74078, - "nodeType": "FunctionDefinition", - "src": "12575:952:161", - "nodes": [], - "body": { - "id": 74077, - "nodeType": "Block", - "src": "12669:858:161", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74013, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74008, - "src": "12683:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 74014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12699:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12683:17:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74024, - "nodeType": "IfStatement", - "src": "12679:107:161", - "trueBody": { - "id": 74023, - "nodeType": "Block", - "src": "12702:84:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74017, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12748:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12752:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12748:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74019, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74004, - "src": "12760:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74020, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74006, - "src": "12767:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 74016, - "name": "ZeroWithdrawTargetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76728, - "src": "12723:24:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 74021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12723:52:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74022, - "nodeType": "RevertStatement", - "src": "12716:59:161" - } - ] - } - }, - { - "assignments": [ - 74026 - ], - "declarations": [ - { - "constant": false, - "id": 74026, - "mutability": "mutable", - "name": "currentVaultBalance", - "nameLocation": "12803:19:161", - "nodeType": "VariableDeclaration", - "scope": 74077, - "src": "12795:27:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12795:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74035, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 74027, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "12825:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 74030, - "indexExpression": { - "expression": { - "id": 74028, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12840:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12844:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12840:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12825:26:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 74032, - "indexExpression": { - "id": 74031, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74004, - "src": "12852:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12825:33:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 74034, - "indexExpression": { - "id": 74033, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74006, - "src": "12859:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12825:42:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12795:72:161" - }, - { - "assignments": [ - 74037 - ], - "declarations": [ - { - "constant": false, - "id": 74037, - "mutability": "mutable", - "name": "withdrawAmount", - "nameLocation": "12957:14:161", - "nodeType": "VariableDeclaration", - "scope": 74077, - "src": "12949:22:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74036, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12949:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74042, - "initialValue": { - "arguments": [ - { - "id": 74040, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74026, - "src": "12991:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 74038, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74008, - "src": "12974:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12987:3:161", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 45501, - "src": "12974:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 74041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12974:37:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12949:62:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74043, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74037, - "src": "13025:14:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 74044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13042:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13025:18:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74076, - "nodeType": "IfStatement", - "src": "13021:500:161", - "trueBody": { - "id": 74075, - "nodeType": "Block", - "src": "13045:476:161", - "statements": [ - { - "expression": { - "id": 74057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 74046, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "13264:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 74051, - "indexExpression": { - "expression": { - "id": 74047, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13279:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13283:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13279:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13264:26:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 74052, - "indexExpression": { - "id": 74049, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74004, - "src": "13291:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13264:33:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 74053, - "indexExpression": { - "id": 74050, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74006, - "src": "13298:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13264:42:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74054, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74026, - "src": "13309:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 74055, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74037, - "src": "13331:14:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13309:36:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13264:81:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74058, - "nodeType": "ExpressionStatement", - "src": "13264:81:161" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74060, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13373:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13377:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13373:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74062, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74004, - "src": "13385:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74063, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74006, - "src": "13392:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74064, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74008, - "src": "13401:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74065, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74037, - "src": "13415:14:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 74059, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "13364:8:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256)" - } - }, - "id": 74066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13364:66:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74067, - "nodeType": "EmitStatement", - "src": "13359:71:161" - }, - { - "expression": { - "arguments": [ - { - "id": 74069, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74004, - "src": "13476:5:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74070, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13483:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13487:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13483:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74072, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74037, - "src": "13495:14:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 74068, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73200, - "src": "13444:31:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) returns (uint256)" - } - }, - "id": 74073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13444:66:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74074, - "nodeType": "ExpressionStatement", - "src": "13444:66:161" - } - ] - } - } - ] - }, - "baseFunctions": [ - 76888 - ], - "documentation": { - "id": 74002, - "nodeType": "StructuredDocumentation", - "src": "12542:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "b5c5f672", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74011, - "kind": "modifierInvocation", - "modifierName": { - "id": 74010, - "name": "nonReentrant", - "nameLocations": [ - "12656:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43184, - "src": "12656:12:161" - }, - "nodeType": "ModifierInvocation", - "src": "12656:12:161" - } - ], - "name": "withdraw", - "nameLocation": "12584:8:161", - "parameters": { - "id": 74009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74004, - "mutability": "mutable", - "name": "token", - "nameLocation": "12601:5:161", - "nodeType": "VariableDeclaration", - "scope": 74078, - "src": "12593:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12593:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74006, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "12616:7:161", - "nodeType": "VariableDeclaration", - "scope": 74078, - "src": "12608:15:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12608:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74008, - "mutability": "mutable", - "name": "targetAmount", - "nameLocation": "12633:12:161", - "nodeType": "VariableDeclaration", - "scope": 74078, - "src": "12625:20:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12625:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12592:54:161" - }, - "returnParameters": { - "id": 74012, - "nodeType": "ParameterList", - "parameters": [], - "src": "12669:0:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74255, - "nodeType": "FunctionDefinition", - "src": "13566:2174:161", - "nodes": [], - "body": { - "id": 74254, - "nodeType": "Block", - "src": "13665:2075:161", - "nodes": [], - "statements": [ - { - "assignments": [ - 74090 - ], - "declarations": [ - { - "constant": false, - "id": 74090, - "mutability": "mutable", - "name": "sourceCount", - "nameLocation": "13683:11:161", - "nodeType": "VariableDeclaration", - "scope": 74254, - "src": "13675:19:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13675:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74097, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 74093, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "13721:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13728:15:161", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 76689, - "src": "13721:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 74095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13744:8:161", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57600, - "src": "13721:31:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 74091, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57095, - "src": "13697:11:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$57095_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 74092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13709:11:161", - "memberName": "sourceCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 56854, - "src": "13697:23:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 74096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13697:56:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13675:78:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74098, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74090, - "src": "13767:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 74099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13782:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13767:16:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74107, - "nodeType": "IfStatement", - "src": "13763:80:161", - "trueBody": { - "id": 74106, - "nodeType": "Block", - "src": "13785:58:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74102, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13821:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13825:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13821:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74101, - "name": "OrderNoSources", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76733, - "src": "13806:14:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 74104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13806:26:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74105, - "nodeType": "RevertStatement", - "src": "13799:33:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74108, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74090, - "src": "13856:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 74109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13871:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13856:16:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74117, - "nodeType": "IfStatement", - "src": "13852:81:161", - "trueBody": { - "id": 74116, - "nodeType": "Block", - "src": "13874:59:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74112, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13911:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13915:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13911:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74111, - "name": "OrderNoHandleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76738, - "src": "13895:15:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 74114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13895:27:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74115, - "nodeType": "RevertStatement", - "src": "13888:34:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 74118, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "13946:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13953:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76682, - "src": "13946:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13965:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "13946:25:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 74121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13975:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13946:30:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74129, - "nodeType": "IfStatement", - "src": "13942:93:161", - "trueBody": { - "id": 74128, - "nodeType": "Block", - "src": "13978:57:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74124, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14013:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14017:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14013:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74123, - "name": "OrderNoInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "13999:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 74126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13999:25:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74127, - "nodeType": "RevertStatement", - "src": "13992:32:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 74130, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14048:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14055:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76686, - "src": "14048:19:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14068:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14048:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 74133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14078:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14048:31:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74141, - "nodeType": "IfStatement", - "src": "14044:95:161", - "trueBody": { - "id": 74140, - "nodeType": "Block", - "src": "14081:58:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74136, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14117:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14121:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14117:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74135, - "name": "OrderNoOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76748, - "src": "14102:14:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 74138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14102:26:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74139, - "nodeType": "RevertStatement", - "src": "14095:33:161" - } - ] - } - }, - { - "assignments": [ - 74144, - 74147, - 74149 - ], - "declarations": [ - { - "constant": false, - "id": 74144, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "14164:11:161", - "nodeType": "VariableDeclaration", - "scope": 74254, - "src": "14149:26:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56650", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 74143, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74142, - "name": "IInterpreterV1", - "nameLocations": [ - "14149:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56650, - "src": "14149:14:161" - }, - "referencedDeclaration": 56650, - "src": "14149:14:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56650", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74147, - "mutability": "mutable", - "name": "store", - "nameLocation": "14197:5:161", - "nodeType": "VariableDeclaration", - "scope": 74254, - "src": "14177:25:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 74146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74145, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "14177:19:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56600, - "src": "14177:19:161" - }, - "referencedDeclaration": 56600, - "src": "14177:19:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74149, - "mutability": "mutable", - "name": "expression", - "nameLocation": "14212:10:161", - "nodeType": "VariableDeclaration", - "scope": 74254, - "src": "14204:18:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14204:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 74166, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 74154, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14327:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14334:15:161", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 76689, - "src": "14327:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 74156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14350:8:161", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57600, - "src": "14327:31:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "expression": { - "expression": { - "id": 74157, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14372:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14379:15:161", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 76689, - "src": "14372:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 74159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14395:9:161", - "memberName": "constants", - "nodeType": "MemberAccess", - "referencedDeclaration": 57603, - "src": "14372:32:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "arguments": [ - { - "id": 74162, - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73737, - "src": "14444:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74163, - "name": "HANDLE_IO_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73745, - "src": "14473:21:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 74160, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47065, - "src": "14418:15:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 74161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14434:9:161", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 46924, - "src": "14418:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 74164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14418:77:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 74150, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14226:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14246:15:161", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 76689, - "src": "14226:35:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 74152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14275:8:161", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57598, - "src": "14226:57:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56771", - "typeString": "contract IExpressionDeployerV2" - } - }, - "id": 74153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14297:16:161", - "memberName": "deployExpression", - "nodeType": "MemberAccess", - "referencedDeclaration": 56770, - "src": "14226:87:161", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56650_$_t_contract$_IInterpreterStoreV1_$56600_$_t_address_$", - "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "id": 74165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14226:279:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56650_$_t_contract$_IInterpreterStoreV1_$56600_$_t_address_$", - "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14148:357:161" - }, - { - "assignments": [ - 74169 - ], - "declarations": [ - { - "constant": false, - "id": 74169, - "mutability": "mutable", - "name": "order", - "nameLocation": "14704:5:161", - "nodeType": "VariableDeclaration", - "scope": 74254, - "src": "14691:18:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74168, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74167, - "name": "Order", - "nameLocations": [ - "14691:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "14691:5:161" - }, - "referencedDeclaration": 76088, - "src": "14691:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 74195, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 74171, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14731:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14735:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14731:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "expression": { - "id": 74175, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14783:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14790:15:161", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 76689, - "src": "14783:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 74177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14806:8:161", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57600, - "src": "14783:31:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "arguments": [ - { - "id": 74180, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73733, - "src": "14835:20:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - ], - "expression": { - "id": 74178, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56605, - "src": "14816:11:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56605_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 74179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14828:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "14816:18:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56605_$returns$_t_uint16_$", - "typeString": "function (SourceIndex) pure returns (uint16)" - } - }, - "id": 74181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14816:40:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 74173, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57095, - "src": "14755:11:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$57095_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 74174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14767:15:161", - "memberName": "sourceOpsLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 56949, - "src": "14755:27:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 74182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14755:102:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 74183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14860:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14755:106:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "arguments": [ - { - "id": 74186, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74144, - "src": "14885:11:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56650", - "typeString": "contract IInterpreterV1" - } - }, - { - "id": 74187, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74147, - "src": "14898:5:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 74188, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74149, - "src": "14905:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterV1_$56650", - "typeString": "contract IInterpreterV1" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74185, - "name": "Evaluable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57613, - "src": "14875:9:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Evaluable_$57613_storage_ptr_$", - "typeString": "type(struct Evaluable storage pointer)" - } - }, - "id": 74189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14875:41:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - { - "expression": { - "id": 74190, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14930:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14937:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76682, - "src": "14930:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - { - "expression": { - "id": 74192, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "14962:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14969:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76686, - "src": "14962:19:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - ], - "id": 74170, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76088, - "src": "14712:5:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$76088_storage_ptr_$", - "typeString": "type(struct Order storage pointer)" - } - }, - "id": 74194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14712:279:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14691:300:161" - }, - { - "assignments": [ - 74197 - ], - "declarations": [ - { - "constant": false, - "id": 74197, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "15009:9:161", - "nodeType": "VariableDeclaration", - "scope": 74254, - "src": "15001:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74196, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15001:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 74201, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 74198, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74169, - "src": "15021:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15027:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "15021:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 74200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15021:12:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15001:32:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 74202, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "15123:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 74204, - "indexExpression": { - "id": 74203, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74197, - "src": "15131:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15123:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 74205, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73717, - "src": "15145:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15123:32:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74253, - "nodeType": "IfStatement", - "src": "15119:615:161", - "trueBody": { - "id": 74252, - "nodeType": "Block", - "src": "15157:577:161", - "statements": [ - { - "expression": { - "id": 74209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74207, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74087, - "src": "15171:12:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 74208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15186:4:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15171:19:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74210, - "nodeType": "ExpressionStatement", - "src": "15171:19:161" - }, - { - "expression": { - "id": 74215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 74211, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "15263:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 74213, - "indexExpression": { - "id": 74212, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74197, - "src": "15271:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15263:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 74214, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73713, - "src": "15284:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15263:31:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74216, - "nodeType": "ExpressionStatement", - "src": "15263:31:161" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74218, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15322:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15326:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15322:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "expression": { - "id": 74220, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "15334:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15341:15:161", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 76689, - "src": "15334:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57604_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 74222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15357:8:161", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57598, - "src": "15334:31:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56771", - "typeString": "contract IExpressionDeployerV2" - } - }, - { - "id": 74223, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74169, - "src": "15367:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 74224, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74197, - "src": "15374:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56771", - "typeString": "contract IExpressionDeployerV2" - }, - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 74217, - "name": "AddOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76785, - "src": "15313:8:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56771_$_t_struct$_Order_$76088_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" - } - }, - "id": 74225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15313:71:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74226, - "nodeType": "EmitStatement", - "src": "15308:76:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 74227, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "15555:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15562:4:161", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 76691, - "src": "15555:11:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 74229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15567:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15555:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 74230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15576:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15555:22:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74251, - "nodeType": "IfStatement", - "src": "15551:173:161", - "trueBody": { - "id": 74250, - "nodeType": "Block", - "src": "15579:145:161", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 74235, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "15623:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15630:4:161", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 76691, - "src": "15623:11:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 74232, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71304, - "src": "15597:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$71304_$", - "typeString": "type(library LibMeta)" - } - }, - "id": 74234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15605:17:161", - "memberName": "checkMetaUnhashed", - "nodeType": "MemberAccess", - "referencedDeclaration": 71274, - "src": "15597:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 74237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15597:38:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74238, - "nodeType": "ExpressionStatement", - "src": "15597:38:161" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74240, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15665:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15669:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15665:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 74244, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74197, - "src": "15685:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 74243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15677:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 74242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15677:7:161", - "typeDescriptions": {} - } - }, - "id": 74245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15677:18:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 74246, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74082, - "src": "15697:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 74247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15704:4:161", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 76691, - "src": "15697:11:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 74239, - "name": "MetaV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71219, - "src": "15658:6:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 74248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15658:51:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74249, - "nodeType": "EmitStatement", - "src": "15653:56:161" - } - ] - } - } - ] - } - } - ] - }, - "baseFunctions": [ - 76897 - ], - "documentation": { - "id": 74079, - "nodeType": "StructuredDocumentation", - "src": "13533:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "847a1bc9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74085, - "kind": "modifierInvocation", - "modifierName": { - "id": 74084, - "name": "nonReentrant", - "nameLocations": [ - "13624:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43184, - "src": "13624:12:161" - }, - "nodeType": "ModifierInvocation", - "src": "13624:12:161" - } - ], - "name": "addOrder", - "nameLocation": "13575:8:161", - "parameters": { - "id": 74083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74082, - "mutability": "mutable", - "name": "config", - "nameLocation": "13607:6:161", - "nodeType": "VariableDeclaration", - "scope": 74255, - "src": "13584:29:161", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_calldata_ptr", - "typeString": "struct OrderConfigV2" - }, - "typeName": { - "id": 74081, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74080, - "name": "OrderConfigV2", - "nameLocations": [ - "13584:13:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76692, - "src": "13584:13:161" - }, - "referencedDeclaration": 76692, - "src": "13584:13:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$76692_storage_ptr", - "typeString": "struct OrderConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "13583:31:161" - }, - "returnParameters": { - "id": 74088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74087, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "13651:12:161", - "nodeType": "VariableDeclaration", - "scope": 74255, - "src": "13646:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 74086, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13646:4:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "13645:19:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74311, - "nodeType": "FunctionDefinition", - "src": "15779:448:161", - "nodes": [], - "body": { - "id": 74310, - "nodeType": "Block", - "src": "15872:355:161", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 74266, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15886:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15890:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15886:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 74268, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74259, - "src": "15900:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15906:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "15900:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15886:25:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74279, - "nodeType": "IfStatement", - "src": "15882:101:161", - "trueBody": { - "id": 74278, - "nodeType": "Block", - "src": "15913:70:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74272, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15948:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15952:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15948:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74274, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74259, - "src": "15960:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15966:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "15960:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74271, - "name": "NotOrderOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73683, - "src": "15934:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 74276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15934:38:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74277, - "nodeType": "RevertStatement", - "src": "15927:45:161" - } - ] - } - }, - { - "assignments": [ - 74281 - ], - "declarations": [ - { - "constant": false, - "id": 74281, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "16000:9:161", - "nodeType": "VariableDeclaration", - "scope": 74310, - "src": "15992:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74280, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15992:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 74285, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 74282, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74259, - "src": "16012:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16018:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "16012:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 74284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16012:12:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15992:32:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 74286, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "16038:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 74288, - "indexExpression": { - "id": 74287, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74281, - "src": "16046:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16038:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 74289, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73713, - "src": "16060:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16038:32:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74309, - "nodeType": "IfStatement", - "src": "16034:187:161", - "trueBody": { - "id": 74308, - "nodeType": "Block", - "src": "16072:149:161", - "statements": [ - { - "expression": { - "id": 74293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74291, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74264, - "src": "16086:12:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 74292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16101:4:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16086:19:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74294, - "nodeType": "ExpressionStatement", - "src": "16086:19:161" - }, - { - "expression": { - "id": 74299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 74295, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "16119:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 74297, - "indexExpression": { - "id": 74296, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74281, - "src": "16127:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16119:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 74298, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73717, - "src": "16140:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16119:31:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74300, - "nodeType": "ExpressionStatement", - "src": "16119:31:161" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16181:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16185:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16181:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74304, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74259, - "src": "16193:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - { - "id": 74305, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74281, - "src": "16200:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 74301, - "name": "RemoveOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76795, - "src": "16169:11:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$76088_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,struct Order memory,bytes32)" - } - }, - "id": 74306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16169:41:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74307, - "nodeType": "EmitStatement", - "src": "16164:46:161" - } - ] - } - } - ] - }, - "baseFunctions": [ - 76914 - ], - "documentation": { - "id": 74256, - "nodeType": "StructuredDocumentation", - "src": "15746:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "e23746a3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74262, - "kind": "modifierInvocation", - "modifierName": { - "id": 74261, - "name": "nonReentrant", - "nameLocations": [ - "15831:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43184, - "src": "15831:12:161" - }, - "nodeType": "ModifierInvocation", - "src": "15831:12:161" - } - ], - "name": "removeOrder", - "nameLocation": "15788:11:161", - "parameters": { - "id": 74260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74259, - "mutability": "mutable", - "name": "order", - "nameLocation": "15815:5:161", - "nodeType": "VariableDeclaration", - "scope": 74311, - "src": "15800:20:161", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74258, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74257, - "name": "Order", - "nameLocations": [ - "15800:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "15800:5:161" - }, - "referencedDeclaration": 76088, - "src": "15800:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "src": "15799:22:161" - }, - "returnParameters": { - "id": 74265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74264, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "15858:12:161", - "nodeType": "VariableDeclaration", - "scope": 74311, - "src": "15853:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 74263, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15853:4:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "15852:19:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74860, - "nodeType": "FunctionDefinition", - "src": "16266:8257:161", - "nodes": [], - "body": { - "id": 74859, - "nodeType": "Block", - "src": "16432:8091:161", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 74324, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "16446:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16453:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "16446:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16460:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16446:20:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 74327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16470:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16446:25:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74333, - "nodeType": "IfStatement", - "src": "16442:73:161", - "trueBody": { - "id": 74332, - "nodeType": "Block", - "src": "16473:42:161", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 74329, - "name": "NoOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76678, - "src": "16494:8:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 74330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16494:10:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74331, - "nodeType": "RevertStatement", - "src": "16487:17:161" - } - ] - } - }, - { - "assignments": [ - 74335 - ], - "declarations": [ - { - "constant": false, - "id": 74335, - "mutability": "mutable", - "name": "i", - "nameLocation": "16533:1:161", - "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "16525:9:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16525:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74337, - "initialValue": { - "hexValue": "30", - "id": 74336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16537:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16525:13:161" - }, - { - "assignments": [ - 74340 - ], - "declarations": [ - { - "constant": false, - "id": 74340, - "mutability": "mutable", - "name": "takeOrderConfig", - "nameLocation": "16571:15:161", - "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "16548:38:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig" - }, - "typeName": { - "id": 74339, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74338, - "name": "TakeOrderConfig", - "nameLocations": [ - "16548:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76115, - "src": "16548:15:161" - }, - "referencedDeclaration": 76115, - "src": "16548:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_storage_ptr", - "typeString": "struct TakeOrderConfig" - } - }, - "visibility": "internal" - } - ], - "id": 74341, - "nodeType": "VariableDeclarationStatement", - "src": "16548:38:161" - }, - { - "assignments": [ - 74344 - ], - "declarations": [ - { - "constant": false, - "id": 74344, - "mutability": "mutable", - "name": "order", - "nameLocation": "16609:5:161", - "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "16596:18:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74343, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74342, - "name": "Order", - "nameLocations": [ - "16596:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "16596:5:161" - }, - "referencedDeclaration": 76088, - "src": "16596:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 74345, - "nodeType": "VariableDeclarationStatement", - "src": "16596:18:161" - }, - { - "assignments": [ - 74347 - ], - "declarations": [ - { - "constant": false, - "id": 74347, - "mutability": "mutable", - "name": "remainingTakerInput", - "nameLocation": "16633:19:161", - "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "16625:27:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16625:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74350, - "initialValue": { - "expression": { - "id": 74348, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "16655:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16662:12:161", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76696, - "src": "16655:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16625:49:161" - }, - { - "body": { - "id": 74743, - "nodeType": "Block", - "src": "16744:5715:161", - "statements": [ - { - "expression": { - "id": 74365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74360, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "16758:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "id": 74361, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "16776:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16783:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "16776:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74364, - "indexExpression": { - "id": 74363, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74335, - "src": "16790:1:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16776:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "src": "16758:34:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74366, - "nodeType": "ExpressionStatement", - "src": "16758:34:161" - }, - { - "expression": { - "id": 74370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74367, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "16806:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 74368, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "16814:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74369, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16830:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "16814:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "src": "16806:29:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74371, - "nodeType": "ExpressionStatement", - "src": "16806:29:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74372, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "16925:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16931:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "16925:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74376, - "indexExpression": { - "expression": { - "id": 74374, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "16943:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16959:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "16943:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16925:47:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16973:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "16925:53:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74378, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17002:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17009:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17002:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74381, - "indexExpression": { - "hexValue": "30", - "id": 74380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17016:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17002:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17019:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "17002:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17025:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "17002:34:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74389, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74384, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17037:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17044:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17037:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74387, - "indexExpression": { - "hexValue": "30", - "id": 74386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17051:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17037:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17054:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "17037:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17002:65:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17068:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17002:71:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16925:148:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74415, - "nodeType": "IfStatement", - "src": "16904:423:161", - "trueBody": { - "id": 74414, - "nodeType": "Block", - "src": "17088:239:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74393, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "17148:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17154:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "17148:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74397, - "indexExpression": { - "expression": { - "id": 74395, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "17166:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17182:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "17166:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17148:47:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17196:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17148:53:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74399, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17223:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17230:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17223:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74402, - "indexExpression": { - "hexValue": "30", - "id": 74401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17237:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17223:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17240:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "17223:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17246:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "17223:34:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74410, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74405, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17258:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17265:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17258:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74408, - "indexExpression": { - "hexValue": "30", - "id": 74407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17272:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17258:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17275:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "17258:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17223:65:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17289:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17223:71:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74392, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73690, - "src": "17113:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 74412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17113:199:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74413, - "nodeType": "RevertStatement", - "src": "17106:206:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74416, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "17417:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17423:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "17417:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74420, - "indexExpression": { - "expression": { - "id": 74418, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "17436:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17452:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "17436:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17417:49:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17467:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17417:55:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74422, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17496:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17503:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17496:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74425, - "indexExpression": { - "hexValue": "30", - "id": 74424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17510:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17496:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17513:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "17496:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17519:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "17496:35:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74433, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74428, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17532:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17539:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17532:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74431, - "indexExpression": { - "hexValue": "30", - "id": 74430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17546:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17532:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17549:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "17532:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17496:67:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17564:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17496:73:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17417:152:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74459, - "nodeType": "IfStatement", - "src": "17396:431:161", - "trueBody": { - "id": 74458, - "nodeType": "Block", - "src": "17584:243:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74437, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "17644:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17650:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "17644:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74441, - "indexExpression": { - "expression": { - "id": 74439, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "17663:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17679:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "17663:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17644:49:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17694:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17644:55:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74443, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17721:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17728:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17721:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74446, - "indexExpression": { - "hexValue": "30", - "id": 74445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17735:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17721:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17738:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "17721:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17744:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "17721:35:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74454, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74449, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "17757:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17764:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "17757:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74452, - "indexExpression": { - "hexValue": "30", - "id": 74451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17771:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17757:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17774:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "17757:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17721:67:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17789:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "17721:73:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74436, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73690, - "src": "17609:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 74456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17609:203:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74457, - "nodeType": "RevertStatement", - "src": "17602:210:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 74479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74460, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "17925:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17931:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "17925:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74464, - "indexExpression": { - "expression": { - "id": 74462, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "17943:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17959:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "17943:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17925:47:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17973:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "17925:56:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74466, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18005:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18012:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18005:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74469, - "indexExpression": { - "hexValue": "30", - "id": 74468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18019:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18005:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18022:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "18005:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18028:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "18005:34:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74477, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74472, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18040:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18047:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18040:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74475, - "indexExpression": { - "hexValue": "30", - "id": 74474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18054:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18040:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18057:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "18040:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18005:65:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18071:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18005:74:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "17925:154:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74503, - "nodeType": "IfStatement", - "src": "17904:443:161", - "trueBody": { - "id": 74502, - "nodeType": "Block", - "src": "18094:253:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74481, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "18162:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18168:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "18162:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74485, - "indexExpression": { - "expression": { - "id": 74483, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "18180:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18196:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "18180:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18162:47:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18210:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18162:56:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74487, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18240:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18247:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18240:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74490, - "indexExpression": { - "hexValue": "30", - "id": 74489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18254:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18240:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18257:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "18240:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18263:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "18240:34:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74498, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74493, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18275:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18282:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18275:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74496, - "indexExpression": { - "hexValue": "30", - "id": 74495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18289:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18275:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18292:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "18275:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18240:65:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18306:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18240:74:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 74480, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73697, - "src": "18119:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 74500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18119:213:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74501, - "nodeType": "RevertStatement", - "src": "18112:220:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 74523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74504, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "18446:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18452:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "18446:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74508, - "indexExpression": { - "expression": { - "id": 74506, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "18465:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74507, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18481:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "18465:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18446:49:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18496:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18446:58:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74510, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18528:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18535:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18528:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74513, - "indexExpression": { - "hexValue": "30", - "id": 74512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18542:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18528:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18545:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "18528:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18551:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "18528:35:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74521, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74516, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18564:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18571:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18564:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74519, - "indexExpression": { - "hexValue": "30", - "id": 74518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18578:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18564:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18581:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "18564:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18528:67:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18596:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18528:76:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18446:158:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74547, - "nodeType": "IfStatement", - "src": "18425:451:161", - "trueBody": { - "id": 74546, - "nodeType": "Block", - "src": "18619:257:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74525, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "18687:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18693:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "18687:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74529, - "indexExpression": { - "expression": { - "id": 74527, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "18706:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18722:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "18706:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18687:49:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18737:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18687:58:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74531, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18767:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18774:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18767:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74534, - "indexExpression": { - "hexValue": "30", - "id": 74533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18781:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18767:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18784:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "18767:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18790:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "18767:35:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74542, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74537, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "18803:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18810:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "18803:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74540, - "indexExpression": { - "hexValue": "30", - "id": 74539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18817:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18803:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18820:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "18803:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18767:67:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18835:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "18767:76:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 74524, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73697, - "src": "18644:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 74544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18644:217:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74545, - "nodeType": "RevertStatement", - "src": "18637:224:161" - } - ] - } - }, - { - "assignments": [ - 74549 - ], - "declarations": [ - { - "constant": false, - "id": 74549, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "18898:9:161", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "18890:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18890:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 74553, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 74550, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "18910:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74551, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18916:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "18910:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 74552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18910:12:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18890:32:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 74554, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "18940:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 74556, - "indexExpression": { - "id": 74555, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74549, - "src": "18948:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18940:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 74557, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73717, - "src": "18962:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18940:32:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 74737, - "nodeType": "Block", - "src": "19067:3322:161", - "statements": [ - { - "assignments": [ - 74570 - ], - "declarations": [ - { - "constant": false, - "id": 74570, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "19111:18:161", - "nodeType": "VariableDeclaration", - "scope": 74737, - "src": "19085:44:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 74569, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74568, - "name": "OrderIOCalculation", - "nameLocations": [ - "19085:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "19085:18:161" - }, - "referencedDeclaration": 73825, - "src": "19085:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 74582, - "initialValue": { - "arguments": [ - { - "id": 74572, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "19170:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 74573, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "19197:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19213:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "19197:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 74575, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "19247:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19263:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "19247:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 74577, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19298:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19302:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19298:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74579, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "19330:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74580, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19346:13:161", - "memberName": "signedContext", - "nodeType": "MemberAccess", - "referencedDeclaration": 76114, - "src": "19330:29:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 74571, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75503, - "src": "19132:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 74581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19132:245:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19085:292:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 74583, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74570, - "src": "19727:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 74584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19746:7:161", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 73814, - "src": "19727:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 74585, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "19756:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19763:14:161", - "memberName": "maximumIORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 76698, - "src": "19756:21:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19727:50:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "id": 74599, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74570, - "src": "19913:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 74600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19932:9:161", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 73812, - "src": "19913:28:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 74597, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "19891:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 74598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19906:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "19891:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 74601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19891:51:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 74602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19946:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19891:56:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 74734, - "nodeType": "Block", - "src": "20052:2323:161", - "statements": [ - { - "assignments": [ - 74614 - ], - "declarations": [ - { - "constant": false, - "id": 74614, - "mutability": "mutable", - "name": "takerInputDecimals", - "nameLocation": "20080:18:161", - "nodeType": "VariableDeclaration", - "scope": 74734, - "src": "20074:24:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 74613, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "20074:5:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 74621, - "initialValue": { - "expression": { - "baseExpression": { - "expression": { - "id": 74615, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "20101:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20107:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "20101:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74619, - "indexExpression": { - "expression": { - "id": 74617, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "20120:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20136:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "20120:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20101:49:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20151:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "20101:58:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20074:85:161" - }, - { - "assignments": [ - 74624 - ], - "declarations": [ - { - "constant": false, - "id": 74624, - "mutability": "mutable", - "name": "takerInput18", - "nameLocation": "20270:12:161", - "nodeType": "VariableDeclaration", - "scope": 74734, - "src": "20256:26:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 74623, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74622, - "name": "Input18Amount", - "nameLocations": [ - "20256:13:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73829, - "src": "20256:13:161" - }, - "referencedDeclaration": 73829, - "src": "20256:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 74633, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 74629, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74570, - "src": "20326:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 74630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20345:9:161", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 73812, - "src": "20326:28:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 74627, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "20304:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 74628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20319:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "20304:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 74631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20304:51:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 74625, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "20285:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 74626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20299:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20285:18:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 74632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20285:71:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20256:100:161" - }, - { - "id": 74661, - "nodeType": "Block", - "src": "20657:506:161", - "statements": [ - { - "assignments": [ - 74636 - ], - "declarations": [ - { - "constant": false, - "id": 74636, - "mutability": "mutable", - "name": "remainingTakerInput18", - "nameLocation": "20802:21:161", - "nodeType": "VariableDeclaration", - "scope": 74661, - "src": "20788:35:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 74635, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74634, - "name": "Input18Amount", - "nameLocations": [ - "20788:13:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73829, - "src": "20788:13:161" - }, - "referencedDeclaration": 73829, - "src": "20788:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 74645, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 74641, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74614, - "src": "20901:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 74642, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54581, - "src": "20921:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 74639, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74347, - "src": "20873:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20893:7:161", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 54841, - "src": "20873:27:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 74643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20873:62:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 74637, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "20854:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 74638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20868:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20854:18:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 74644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20854:82:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20788:148:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 74648, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74624, - "src": "20987:12:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 74646, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "20966:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 74647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20980:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "20966:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 74649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20966:34:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 74652, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74636, - "src": "21024:21:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 74650, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "21003:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 74651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21017:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21003:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 74653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21003:43:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20966:80:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74660, - "nodeType": "IfStatement", - "src": "20962:179:161", - "trueBody": { - "id": 74659, - "nodeType": "Block", - "src": "21048:93:161", - "statements": [ - { - "expression": { - "id": 74657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74655, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74624, - "src": "21078:12:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 74656, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74636, - "src": "21093:21:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "src": "21078:36:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "id": 74658, - "nodeType": "ExpressionStatement", - "src": "21078:36:161" - } - ] - } - } - ] - }, - { - "assignments": [ - 74663 - ], - "declarations": [ - { - "constant": false, - "id": 74663, - "mutability": "mutable", - "name": "takerOutput", - "nameLocation": "21193:11:161", - "nodeType": "VariableDeclaration", - "scope": 74734, - "src": "21185:19:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21185:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74664, - "nodeType": "VariableDeclarationStatement", - "src": "21185:19:161" - }, - { - "id": 74699, - "nodeType": "Block", - "src": "21226:724:161", - "statements": [ - { - "assignments": [ - 74667 - ], - "declarations": [ - { - "constant": false, - "id": 74667, - "mutability": "mutable", - "name": "takerOutput18", - "nameLocation": "21350:13:161", - "nodeType": "VariableDeclaration", - "scope": 74699, - "src": "21335:28:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 74666, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74665, - "name": "Output18Amount", - "nameLocations": [ - "21335:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "21335:14:161" - }, - "referencedDeclaration": 73827, - "src": "21335:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 74682, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 74675, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74570, - "src": "21617:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 74676, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21636:7:161", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 73814, - "src": "21617:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 74677, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46324, - "src": "21645:4:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46324_$", - "typeString": "type(library Math)" - } - }, - "id": 74678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21650:8:161", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45465, - "src": "21645:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45465_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 74679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21659:2:161", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45463, - "src": "21645:16:161", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45465", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45465", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 74672, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74624, - "src": "21556:12:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 74670, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "21535:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 74671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21549:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21535:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 74673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21535:34:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21570:13:161", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 54539, - "src": "21535:48:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45465_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 74680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21535:156:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 74668, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "21366:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 74669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21381:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "21366:19:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 74681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21366:351:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21335:382:161" - }, - { - "expression": { - "id": 74697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74683, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74663, - "src": "21743:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74689, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "21830:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21836:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "21830:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74693, - "indexExpression": { - "expression": { - "id": 74691, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "21848:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 74692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21864:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "21848:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21830:47:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74694, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21878:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "21830:56:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 74695, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54575, - "src": "21888:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 74686, - "name": "takerOutput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74667, - "src": "21779:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 74684, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "21757:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 74685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21772:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21757:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 74687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21757:36:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21794:6:161", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 54916, - "src": "21757:43:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 74696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21757:170:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21743:184:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74698, - "nodeType": "ExpressionStatement", - "src": "21743:184:161" - } - ] - }, - { - "assignments": [ - 74701 - ], - "declarations": [ - { - "constant": false, - "id": 74701, - "mutability": "mutable", - "name": "takerInput", - "nameLocation": "21980:10:161", - "nodeType": "VariableDeclaration", - "scope": 74734, - "src": "21972:18:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21972:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74710, - "initialValue": { - "arguments": [ - { - "id": 74707, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74614, - "src": "22035:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 74708, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54581, - "src": "22055:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 74704, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74624, - "src": "22014:12:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 74702, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "21993:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 74703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22007:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21993:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 74705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21993:34:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22028:6:161", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 54916, - "src": "21993:41:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 74709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21993:76:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21972:97:161" - }, - { - "expression": { - "id": 74713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74711, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74347, - "src": "22092:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 74712, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74701, - "src": "22115:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22092:33:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74714, - "nodeType": "ExpressionStatement", - "src": "22092:33:161" - }, - { - "expression": { - "id": 74717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74715, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74322, - "src": "22147:16:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 74716, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74663, - "src": "22167:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22147:31:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74718, - "nodeType": "ExpressionStatement", - "src": "22147:31:161" - }, - { - "expression": { - "arguments": [ - { - "id": 74720, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "22215:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 74721, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74663, - "src": "22222:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74722, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74701, - "src": "22235:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74723, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74570, - "src": "22247:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 74719, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75680, - "src": "22201:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 74724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22201:65:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74725, - "nodeType": "ExpressionStatement", - "src": "22201:65:161" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74727, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22303:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22307:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "22303:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74729, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74340, - "src": "22315:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - { - "id": 74730, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74701, - "src": "22332:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74731, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74663, - "src": "22344:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 74726, - "name": "TakeOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76807, - "src": "22293:9:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$76115_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" - } - }, - "id": 74732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22293:63:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74733, - "nodeType": "EmitStatement", - "src": "22288:68:161" - } - ] - }, - "id": 74735, - "nodeType": "IfStatement", - "src": "19887:2488:161", - "trueBody": { - "id": 74612, - "nodeType": "Block", - "src": "19949:97:161", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74605, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19992:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19996:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19992:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74607, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "20004:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20010:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "20004:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74609, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74549, - "src": "20017:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 74604, - "name": "OrderZeroAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76825, - "src": "19976:15:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 74610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19976:51:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74611, - "nodeType": "EmitStatement", - "src": "19971:56:161" - } - ] - } - }, - "id": 74736, - "nodeType": "IfStatement", - "src": "19723:2652:161", - "trueBody": { - "id": 74596, - "nodeType": "Block", - "src": "19779:102:161", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19827:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19831:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19827:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74591, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "19839:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19845:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "19839:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74593, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74549, - "src": "19852:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 74588, - "name": "OrderExceedsMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76834, - "src": "19806:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 74594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19806:56:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74595, - "nodeType": "EmitStatement", - "src": "19801:61:161" - } - ] - } - } - ] - }, - "id": 74738, - "nodeType": "IfStatement", - "src": "18936:3453:161", - "trueBody": { - "id": 74567, - "nodeType": "Block", - "src": "18974:87:161", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 74560, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19011:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19015:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19011:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74562, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74344, - "src": "19023:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19029:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "19023:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74564, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74549, - "src": "19036:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 74559, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76816, - "src": "18997:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 74565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18997:49:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74566, - "nodeType": "EmitStatement", - "src": "18992:54:161" - } - ] - } - }, - { - "id": 74742, - "nodeType": "UncheckedBlock", - "src": "22403:46:161", - "statements": [ - { - "expression": { - "id": 74740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "22431:3:161", - "subExpression": { - "id": 74739, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74335, - "src": "22431:1:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74741, - "nodeType": "ExpressionStatement", - "src": "22431:3:161" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 74359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74351, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74335, - "src": "16691:1:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "id": 74352, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "16695:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16702:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "16695:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16709:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16695:20:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16691:24:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74356, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74347, - "src": "16719:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 74357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16741:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16719:23:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16691:51:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74744, - "nodeType": "WhileStatement", - "src": "16684:5775:161" - }, - { - "expression": { - "id": 74750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 74745, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74320, - "src": "22468:15:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 74746, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "22486:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22493:12:161", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76696, - "src": "22486:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 74748, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74347, - "src": "22508:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22486:41:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22468:59:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74751, - "nodeType": "ExpressionStatement", - "src": "22468:59:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74752, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74320, - "src": "22542:15:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 74753, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "22560:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22567:12:161", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76694, - "src": "22560:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22542:37:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74763, - "nodeType": "IfStatement", - "src": "22538:125:161", - "trueBody": { - "id": 74762, - "nodeType": "Block", - "src": "22581:82:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74757, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "22615:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22622:12:161", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76694, - "src": "22615:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74759, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74320, - "src": "22636:15:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 74756, - "name": "MinimumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73704, - "src": "22602:12:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 74760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22602:50:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74761, - "nodeType": "RevertStatement", - "src": "22595:57:161" - } - ] - } - }, - { - "assignments": [ - 74765 - ], - "declarations": [ - { - "constant": false, - "id": 74765, - "mutability": "mutable", - "name": "takerInputAmountSent", - "nameLocation": "23453:20:161", - "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "23445:28:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23445:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 74784, - "initialValue": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74767, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23521:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23528:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "23521:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74770, - "indexExpression": { - "hexValue": "30", - "id": 74769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23535:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23521:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23538:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "23521:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23544:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "23521:35:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74778, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74773, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23557:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23564:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "23557:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74776, - "indexExpression": { - "hexValue": "30", - "id": 74775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23571:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23557:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23574:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "23557:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23521:67:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23589:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "23521:73:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 74780, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23596:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23600:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23596:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74782, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74320, - "src": "23608:15:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 74766, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73200, - "src": "23476:31:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) returns (uint256)" - } - }, - "id": 74783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23476:157:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23445:188:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 74785, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23647:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23654:4:161", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 76704, - "src": "23647:11:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 74787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23659:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "23647:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 74788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23668:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23647:22:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74828, - "nodeType": "IfStatement", - "src": "23643:395:161", - "trueBody": { - "id": 74827, - "nodeType": "Block", - "src": "23671:367:161", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74795, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23750:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23757:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "23750:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74798, - "indexExpression": { - "hexValue": "30", - "id": 74797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23764:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23750:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23767:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "23750:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23773:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "23750:35:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74806, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74801, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23786:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23793:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "23786:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74804, - "indexExpression": { - "hexValue": "30", - "id": 74803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23800:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23786:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23803:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76110, - "src": "23786:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23750:67:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23818:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "23750:73:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74808, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23841:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23848:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "23841:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74811, - "indexExpression": { - "hexValue": "30", - "id": 74810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23855:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23841:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23858:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "23841:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23864:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "23841:34:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74819, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74814, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "23876:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23883:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "23876:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74817, - "indexExpression": { - "hexValue": "30", - "id": 74816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23890:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23876:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23893:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "23876:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23841:65:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23907:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "23841:71:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74821, - "name": "takerInputAmountSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74765, - "src": "23930:20:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 74822, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74322, - "src": "23968:16:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 74823, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "24002:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24009:4:161", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 76704, - "src": "24002:11:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 74791, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23708:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23712:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23708:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74790, - "name": "IOrderBookV3OrderTaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76979, - "src": "23685:22:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$76979_$", - "typeString": "type(contract IOrderBookV3OrderTaker)" - } - }, - "id": 74793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23685:34:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$76979", - "typeString": "contract IOrderBookV3OrderTaker" - } - }, - "id": 74794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23720:12:161", - "memberName": "onTakeOrders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76978, - "src": "23685:47:161", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external" - } - }, - "id": 74825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23685:342:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74826, - "nodeType": "ExpressionStatement", - "src": "23685:342:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 74831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 74829, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74322, - "src": "24052:16:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 74830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24071:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24052:20:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74858, - "nodeType": "IfStatement", - "src": "24048:469:161", - "trueBody": { - "id": 74857, - "nodeType": "Block", - "src": "24074:443:161", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 74848, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24449:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 74849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24453:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "24449:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 74852, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24469:4:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$75854", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$75854", - "typeString": "contract OrderBook" - } - ], - "id": 74851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24461:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 74850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24461:7:161", - "typeDescriptions": {} - } - }, - "id": 74853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24461:13:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 74854, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74322, - "src": "24476:16:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74833, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "24342:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24349:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "24342:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74836, - "indexExpression": { - "hexValue": "30", - "id": 74835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24356:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24342:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24359:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76106, - "src": "24342:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 74838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24365:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "24342:34:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 74844, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74839, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74315, - "src": "24377:6:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 74840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24384:6:161", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 76702, - "src": "24377:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$76115_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 74842, - "indexExpression": { - "hexValue": "30", - "id": 74841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24391:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24377:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$76115_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 74843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24394:12:161", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76108, - "src": "24377:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24342:65:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 74845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24408:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "24342:71:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74832, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43884, - "src": "24335:6:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$43884_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 74846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24335:79:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$43884", - "typeString": "contract IERC20" - } - }, - "id": 74847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24415:16:161", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44005, - "src": "24335:96:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$43884_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43884_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 74855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24335:171:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74856, - "nodeType": "ExpressionStatement", - "src": "24335:171:161" - } - ] - } - } - ] - }, - "baseFunctions": [ - 76925 - ], - "documentation": { - "id": 74312, - "nodeType": "StructuredDocumentation", - "src": "16233:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "8a44689c", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74318, - "kind": "modifierInvocation", - "modifierName": { - "id": 74317, - "name": "nonReentrant", - "nameLocations": [ - "16347:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43184, - "src": "16347:12:161" - }, - "nodeType": "ModifierInvocation", - "src": "16347:12:161" - } - ], - "name": "takeOrders", - "nameLocation": "16275:10:161", - "parameters": { - "id": 74316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74315, - "mutability": "mutable", - "name": "config", - "nameLocation": "16314:6:161", - "nodeType": "VariableDeclaration", - "scope": 74860, - "src": "16286:34:161", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2" - }, - "typeName": { - "id": 74314, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74313, - "name": "TakeOrdersConfigV2", - "nameLocations": [ - "16286:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76705, - "src": "16286:18:161" - }, - "referencedDeclaration": 76705, - "src": "16286:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$76705_storage_ptr", - "typeString": "struct TakeOrdersConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "16285:36:161" - }, - "returnParameters": { - "id": 74323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74320, - "mutability": "mutable", - "name": "totalTakerInput", - "nameLocation": "16385:15:161", - "nodeType": "VariableDeclaration", - "scope": 74860, - "src": "16377:23:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16377:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74322, - "mutability": "mutable", - "name": "totalTakerOutput", - "nameLocation": "16410:16:161", - "nodeType": "VariableDeclaration", - "scope": 74860, - "src": "16402:24:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16402:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16376:51:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75186, - "nodeType": "FunctionDefinition", - "src": "24562:4247:161", - "nodes": [], - "body": { - "id": 75185, - "nodeType": "Block", - "src": "24805:4004:161", - "nodes": [], - "statements": [ - { - "id": 75063, - "nodeType": "Block", - "src": "24815:2410:161", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 74883, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "24833:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24839:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "24833:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 74885, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "24848:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74886, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24852:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "24848:9:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24833:24:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74894, - "nodeType": "IfStatement", - "src": "24829:92:161", - "trueBody": { - "id": 74893, - "nodeType": "Block", - "src": "24859:62:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 74889, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "24894:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24900:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "24894:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74888, - "name": "SameOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73709, - "src": "24884:9:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 74891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24884:22:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74892, - "nodeType": "RevertStatement", - "src": "24877:29:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74895, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "24955:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74896, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24961:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "24955:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74899, - "indexExpression": { - "expression": { - "id": 74897, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "24974:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24986:18:161", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76119, - "src": "24974:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24955:50:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25006:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "24955:56:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74901, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "25035:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25039:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "25035:15:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74905, - "indexExpression": { - "expression": { - "id": 74903, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25051:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25063:15:161", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76121, - "src": "25051:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25035:44:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25080:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "25035:50:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24955:130:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74924, - "nodeType": "IfStatement", - "src": "24934:387:161", - "trueBody": { - "id": 74923, - "nodeType": "Block", - "src": "25100:221:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74909, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "25160:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74910, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25166:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "25160:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74913, - "indexExpression": { - "expression": { - "id": 74911, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25179:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25191:18:161", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76119, - "src": "25179:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25160:50:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25211:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "25160:56:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 74915, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "25238:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74916, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25242:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "25238:15:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74919, - "indexExpression": { - "expression": { - "id": 74917, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25254:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25266:15:161", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76121, - "src": "25254:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25238:44:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74920, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25283:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "25238:50:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74908, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73690, - "src": "25125:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 74921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25125:181:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74922, - "nodeType": "RevertStatement", - "src": "25118:188:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 74937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74925, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "25356:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25362:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "25356:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74929, - "indexExpression": { - "expression": { - "id": 74927, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25375:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25387:18:161", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76119, - "src": "25375:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25356:50:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25407:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "25356:59:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74931, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "25439:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74932, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25443:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "25439:15:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74935, - "indexExpression": { - "expression": { - "id": 74933, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25455:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25467:15:161", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76121, - "src": "25455:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25439:44:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74936, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25484:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "25439:53:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "25356:136:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74954, - "nodeType": "IfStatement", - "src": "25335:407:161", - "trueBody": { - "id": 74953, - "nodeType": "Block", - "src": "25507:235:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74939, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "25575:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25581:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "25575:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74943, - "indexExpression": { - "expression": { - "id": 74941, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25594:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25606:18:161", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76119, - "src": "25594:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25575:50:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25626:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "25575:59:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 74945, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "25656:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25660:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "25656:15:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74949, - "indexExpression": { - "expression": { - "id": 74947, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25672:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25684:15:161", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76121, - "src": "25672:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25656:44:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25701:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "25656:53:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 74938, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73697, - "src": "25532:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 74951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25532:195:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74952, - "nodeType": "RevertStatement", - "src": "25525:202:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74955, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "25777:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25781:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "25777:16:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74959, - "indexExpression": { - "expression": { - "id": 74957, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25794:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25806:16:161", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76123, - "src": "25794:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25777:46:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25824:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "25777:52:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74961, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "25853:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25859:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "25853:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74965, - "indexExpression": { - "expression": { - "id": 74963, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25871:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25883:17:161", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76117, - "src": "25871:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25853:48:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25902:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "25853:54:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "25777:130:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 74984, - "nodeType": "IfStatement", - "src": "25756:387:161", - "trueBody": { - "id": 74983, - "nodeType": "Block", - "src": "25922:221:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74969, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "25982:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74970, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25988:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "25982:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74973, - "indexExpression": { - "expression": { - "id": 74971, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26000:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26012:17:161", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76117, - "src": "26000:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25982:48:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26031:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "25982:54:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 74975, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "26058:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26062:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "26058:16:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74979, - "indexExpression": { - "expression": { - "id": 74977, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26075:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26087:16:161", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76123, - "src": "26075:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26058:46:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26105:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "26058:52:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 74968, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73690, - "src": "25947:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 74981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25947:181:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 74982, - "nodeType": "RevertStatement", - "src": "25940:188:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 74997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74985, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "26178:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26182:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "26178:16:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74989, - "indexExpression": { - "expression": { - "id": 74987, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26195:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26207:16:161", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76123, - "src": "26195:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26178:46:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26225:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "26178:55:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 74991, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "26257:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 74992, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26263:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "26257:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 74995, - "indexExpression": { - "expression": { - "id": 74993, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26275:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 74994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26287:17:161", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76117, - "src": "26275:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26257:48:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 74996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26306:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "26257:57:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "26178:136:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75014, - "nodeType": "IfStatement", - "src": "26157:407:161", - "trueBody": { - "id": 75013, - "nodeType": "Block", - "src": "26329:235:161", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 74999, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "26397:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26403:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "26397:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75003, - "indexExpression": { - "expression": { - "id": 75001, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26415:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26427:17:161", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76117, - "src": "26415:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26397:48:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26446:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "26397:57:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 75005, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "26476:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26480:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "26476:16:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75009, - "indexExpression": { - "expression": { - "id": 75007, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26493:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26505:16:161", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76123, - "src": "26493:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26476:46:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26523:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "26476:55:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 74998, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73697, - "src": "26354:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 75011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26354:195:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75012, - "nodeType": "RevertStatement", - "src": "26347:202:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75015, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "26789:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75019, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75016, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "26797:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75017, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26803:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "26797:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26797:12:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26789:21:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75020, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73717, - "src": "26814:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26789:35:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75034, - "nodeType": "IfStatement", - "src": "26785:155:161", - "trueBody": { - "id": 75033, - "nodeType": "Block", - "src": "26826:114:161", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75023, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "26863:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26867:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "26863:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75025, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "26875:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75026, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26881:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "26875:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75027, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "26888:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26894:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "26888:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26888:12:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75022, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76816, - "src": "26849:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26849:52:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75031, - "nodeType": "EmitStatement", - "src": "26844:57:161" - }, - { - "functionReturnParameters": 74882, - "id": 75032, - "nodeType": "Return", - "src": "26919:7:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75035, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73869, - "src": "26957:7:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75039, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75036, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "26965:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75037, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26969:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "26965:8:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26965:10:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26957:19:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75040, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73717, - "src": "26980:10:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26957:33:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75054, - "nodeType": "IfStatement", - "src": "26953:149:161", - "trueBody": { - "id": 75053, - "nodeType": "Block", - "src": "26992:110:161", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75043, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27029:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27033:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27029:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75045, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27041:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27045:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "27041:9:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75047, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27052:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27056:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "27052:8:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27052:10:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75042, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76816, - "src": "27015:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27015:48:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75051, - "nodeType": "EmitStatement", - "src": "27010:53:161" - }, - { - "functionReturnParameters": 74882, - "id": 75052, - "nodeType": "Return", - "src": "27081:7:161" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75056, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27178:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27182:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27178:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75058, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "27190:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75059, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27197:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75060, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "27202:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - ], - "id": 75055, - "name": "Clear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76848, - "src": "27172:5:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$76088_memory_ptr_$_t_struct$_Order_$76088_memory_ptr_$_t_struct$_ClearConfig_$76128_memory_ptr_$returns$__$", - "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" - } - }, - "id": 75061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27172:42:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75062, - "nodeType": "EmitStatement", - "src": "27167:47:161" - } - ] - }, - { - "assignments": [ - 75066 - ], - "declarations": [ - { - "constant": false, - "id": 75066, - "mutability": "mutable", - "name": "aliceOrderIOCalculation_", - "nameLocation": "27260:24:161", - "nodeType": "VariableDeclaration", - "scope": 75185, - "src": "27234:50:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75065, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75064, - "name": "OrderIOCalculation", - "nameLocations": [ - "27234:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "27234:18:161" - }, - "referencedDeclaration": 73825, - "src": "27234:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 75077, - "initialValue": { - "arguments": [ - { - "id": 75068, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "27317:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 75069, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "27324:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27336:17:161", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76117, - "src": "27324:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75071, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "27355:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27367:18:161", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76119, - "src": "27355:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75073, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27387:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75074, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27391:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "27387:9:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75075, - "name": "bobSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74878, - "src": "27398:16:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 75067, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75503, - "src": "27287:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 75076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27287:137:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27234:190:161" - }, - { - "assignments": [ - 75080 - ], - "declarations": [ - { - "constant": false, - "id": 75080, - "mutability": "mutable", - "name": "bobOrderIOCalculation_", - "nameLocation": "27460:22:161", - "nodeType": "VariableDeclaration", - "scope": 75185, - "src": "27434:48:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75079, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75078, - "name": "OrderIOCalculation", - "nameLocations": [ - "27434:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "27434:18:161" - }, - "referencedDeclaration": 73825, - "src": "27434:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 75091, - "initialValue": { - "arguments": [ - { - "id": 75082, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27515:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 75083, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "27520:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27532:15:161", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76121, - "src": "27520:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75085, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "27549:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27561:16:161", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76123, - "src": "27549:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75087, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "27579:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27585:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "27579:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75089, - "name": "aliceSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74874, - "src": "27592:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 75081, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75503, - "src": "27485:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 75090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27485:135:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27434:186:161" - }, - { - "assignments": [ - 75094 - ], - "declarations": [ - { - "constant": false, - "id": 75094, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "27654:16:161", - "nodeType": "VariableDeclaration", - "scope": 75185, - "src": "27630:40:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 75093, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75092, - "name": "ClearStateChange", - "nameLocations": [ - "27630:16:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76137, - "src": "27630:16:161" - }, - "referencedDeclaration": 76137, - "src": "27630:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "id": 75099, - "initialValue": { - "arguments": [ - { - "id": 75096, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75066, - "src": "27711:24:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 75097, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75080, - "src": "27737:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75095, - "name": "calculateClearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75706, - "src": "27685:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$_t_struct$_ClearStateChange_$76137_memory_ptr_$", - "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" - } - }, - "id": 75098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27685:75:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27630:130:161" - }, - { - "expression": { - "arguments": [ - { - "id": 75101, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "27785:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 75102, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "27792:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75103, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27809:10:161", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76134, - "src": "27792:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75104, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "27821:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27838:11:161", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76130, - "src": "27821:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75106, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75066, - "src": "27851:24:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75100, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75680, - "src": "27771:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 75107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27771:105:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75108, - "nodeType": "ExpressionStatement", - "src": "27771:105:161" - }, - { - "expression": { - "arguments": [ - { - "id": 75110, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27900:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 75111, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "27905:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27922:8:161", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76136, - "src": "27905:25:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75113, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "27932:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27949:9:161", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76132, - "src": "27932:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75115, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75080, - "src": "27960:22:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75109, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75680, - "src": "27886:13:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$76088_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 75116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27886:97:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75117, - "nodeType": "ExpressionStatement", - "src": "27886:97:161" - }, - { - "id": 75178, - "nodeType": "Block", - "src": "27994:753:161", - "statements": [ - { - "assignments": [ - 75119 - ], - "declarations": [ - { - "constant": false, - "id": 75119, - "mutability": "mutable", - "name": "aliceBounty", - "nameLocation": "28148:11:161", - "nodeType": "VariableDeclaration", - "scope": 75178, - "src": "28140:19:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75118, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28140:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75125, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75120, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "28162:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75121, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28179:11:161", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76130, - "src": "28162:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 75122, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "28193:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28210:8:161", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76136, - "src": "28193:25:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28162:56:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28140:78:161" - }, - { - "assignments": [ - 75127 - ], - "declarations": [ - { - "constant": false, - "id": 75127, - "mutability": "mutable", - "name": "bobBounty", - "nameLocation": "28240:9:161", - "nodeType": "VariableDeclaration", - "scope": 75178, - "src": "28232:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28232:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75133, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75128, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "28252:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28269:9:161", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76132, - "src": "28252:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 75130, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "28281:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28298:10:161", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76134, - "src": "28281:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28252:56:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28232:76:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75134, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75119, - "src": "28326:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28340:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28326:15:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75155, - "nodeType": "IfStatement", - "src": "28322:206:161", - "trueBody": { - "id": 75154, - "nodeType": "Block", - "src": "28343:185:161", - "statements": [ - { - "expression": { - "id": 75152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75137, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "28361:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75148, - "indexExpression": { - "expression": { - "id": 75138, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28376:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28380:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28376:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28361:26:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75149, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75140, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "28388:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28394:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "28388:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75144, - "indexExpression": { - "expression": { - "id": 75142, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "28407:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28419:18:161", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76119, - "src": "28407:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28388:50:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75145, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28439:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "28388:56:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28361:84:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75150, - "indexExpression": { - "expression": { - "id": 75146, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "28446:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28479:18:161", - "memberName": "aliceBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76125, - "src": "28446:51:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "28361:137:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75151, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75119, - "src": "28502:11:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28361:152:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75153, - "nodeType": "ExpressionStatement", - "src": "28361:152:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75156, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "28545:9:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28557:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28545:13:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75177, - "nodeType": "IfStatement", - "src": "28541:196:161", - "trueBody": { - "id": 75176, - "nodeType": "Block", - "src": "28560:177:161", - "statements": [ - { - "expression": { - "id": 75174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75159, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "28578:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75170, - "indexExpression": { - "expression": { - "id": 75160, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28593:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28597:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28593:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28578:26:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75171, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75162, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "28605:3:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28609:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "28605:16:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75166, - "indexExpression": { - "expression": { - "id": 75164, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "28622:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28634:16:161", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76123, - "src": "28622:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28605:46:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28652:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "28605:52:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28578:80:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75172, - "indexExpression": { - "expression": { - "id": 75168, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "28659:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 75169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28692:16:161", - "memberName": "bobBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76127, - "src": "28659:49:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "28578:131:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75173, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "28713:9:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28578:144:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75175, - "nodeType": "ExpressionStatement", - "src": "28578:144:161" - } - ] - } - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75180, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28773:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28777:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28773:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75182, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75094, - "src": "28785:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - ], - "id": 75179, - "name": "AfterClear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76856, - "src": "28762:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$76137_memory_ptr_$returns$__$", - "typeString": "function (address,struct ClearStateChange memory)" - } - }, - "id": 75183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28762:40:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75184, - "nodeType": "EmitStatement", - "src": "28757:45:161" - } - ] - }, - "baseFunctions": [ - 76946 - ], - "documentation": { - "id": 74861, - "nodeType": "StructuredDocumentation", - "src": "24529:28:161", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "9e18968b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74881, - "kind": "modifierInvocation", - "modifierName": { - "id": 74880, - "name": "nonReentrant", - "nameLocations": [ - "24792:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43184, - "src": "24792:12:161" - }, - "nodeType": "ModifierInvocation", - "src": "24792:12:161" - } - ], - "name": "clear", - "nameLocation": "24571:5:161", - "parameters": { - "id": 74879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74864, - "mutability": "mutable", - "name": "alice", - "nameLocation": "24599:5:161", - "nodeType": "VariableDeclaration", - "scope": 75186, - "src": "24586:18:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74863, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74862, - "name": "Order", - "nameLocations": [ - "24586:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "24586:5:161" - }, - "referencedDeclaration": 76088, - "src": "24586:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74867, - "mutability": "mutable", - "name": "bob", - "nameLocation": "24627:3:161", - "nodeType": "VariableDeclaration", - "scope": 75186, - "src": "24614:16:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74866, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74865, - "name": "Order", - "nameLocations": [ - "24614:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "24614:5:161" - }, - "referencedDeclaration": 76088, - "src": "24614:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74870, - "mutability": "mutable", - "name": "clearConfig", - "nameLocation": "24661:11:161", - "nodeType": "VariableDeclaration", - "scope": 75186, - "src": "24640:32:161", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_calldata_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 74869, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74868, - "name": "ClearConfig", - "nameLocations": [ - "24640:11:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76128, - "src": "24640:11:161" - }, - "referencedDeclaration": 76128, - "src": "24640:11:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$76128_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74874, - "mutability": "mutable", - "name": "aliceSignedContext", - "nameLocation": "24707:18:161", - "nodeType": "VariableDeclaration", - "scope": 75186, - "src": "24682:43:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 74872, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74871, - "name": "SignedContextV1", - "nameLocations": [ - "24682:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56543, - "src": "24682:15:161" - }, - "referencedDeclaration": 56543, - "src": "24682:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56543_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 74873, - "nodeType": "ArrayTypeName", - "src": "24682:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74878, - "mutability": "mutable", - "name": "bobSignedContext", - "nameLocation": "24760:16:161", - "nodeType": "VariableDeclaration", - "scope": 75186, - "src": "24735:41:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 74876, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74875, - "name": "SignedContextV1", - "nameLocations": [ - "24735:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56543, - "src": "24735:15:161" - }, - "referencedDeclaration": 56543, - "src": "24735:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56543_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 74877, - "nodeType": "ArrayTypeName", - "src": "24735:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "24576:206:161" - }, - "returnParameters": { - "id": 74882, - "nodeType": "ParameterList", - "parameters": [], - "src": "24805:0:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75503, - "nodeType": "FunctionDefinition", - "src": "29513:5114:161", - "nodes": [], - "body": { - "id": 75502, - "nodeType": "Block", - "src": "29762:4865:161", - "nodes": [], - "statements": [ - { - "id": 75501, - "nodeType": "UncheckedBlock", - "src": "29772:4849:161", - "statements": [ - { - "assignments": [ - 75207 - ], - "declarations": [ - { - "constant": false, - "id": 75207, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "29804:9:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "29796:17:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75206, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "29796:7:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75211, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75208, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "29816:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29822:4:161", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 77000, - "src": "29816:10:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$76088_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$76088_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29816:12:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29796:32:161" - }, - { - "assignments": [ - 75217 - ], - "declarations": [ - { - "constant": false, - "id": 75217, - "mutability": "mutable", - "name": "context", - "nameLocation": "29862:7:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "29843:26:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 75214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29843:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75215, - "nodeType": "ArrayTypeName", - "src": "29843:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 75216, - "nodeType": "ArrayTypeName", - "src": "29843:11:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 75218, - "nodeType": "VariableDeclarationStatement", - "src": "29843:26:161" - }, - { - "id": 75365, - "nodeType": "Block", - "src": "29883:1540:161", - "statements": [ - { - "assignments": [ - 75224 - ], - "declarations": [ - { - "constant": false, - "id": 75224, - "mutability": "mutable", - "name": "callingContext", - "nameLocation": "29920:14:161", - "nodeType": "VariableDeclaration", - "scope": 75365, - "src": "29901:33:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 75221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29901:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75222, - "nodeType": "ArrayTypeName", - "src": "29901:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 75223, - "nodeType": "ArrayTypeName", - "src": "29901:11:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 75231, - "initialValue": { - "arguments": [ - { - "id": 75229, - "name": "CALLING_CONTEXT_COLUMNS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73753, - "src": "29974:23:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "29937:15:161", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 75225, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29941:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75226, - "nodeType": "ArrayTypeName", - "src": "29941:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 75227, - "nodeType": "ArrayTypeName", - "src": "29941:11:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - } - }, - "id": 75230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29937:78:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29901:114:161" - }, - { - "expression": { - "id": 75259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75232, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "30033:14:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75236, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 75233, - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73761, - "src": "30048:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 75234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30081:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30048:34:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30033:50:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 75241, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75207, - "src": "30141:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30133:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30133:7:161", - "typeDescriptions": {} - } - }, - "id": 75242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30133:18:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75247, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30169:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30175:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "30169:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30161:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75245, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30161:7:161", - "typeDescriptions": {} - } - }, - "id": 75249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30161:20:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30153:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30153:7:161", - "typeDescriptions": {} - } - }, - "id": 75250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30153:29:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 75255, - "name": "counterparty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75196, - "src": "30200:12:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30192:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75253, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30192:7:161", - "typeDescriptions": {} - } - }, - "id": 75256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30192:21:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30184:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30184:7:161", - "typeDescriptions": {} - } - }, - "id": 75257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30184:30:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75237, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47065, - "src": "30086:15:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 75238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30102:9:161", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 46939, - "src": "30086:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 75258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30086:146:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30033:199:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75260, - "nodeType": "ExpressionStatement", - "src": "30033:199:161" - }, - { - "expression": { - "id": 75307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75261, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "30251:14:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75265, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 75262, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73769, - "src": "30266:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 75263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30296:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30266:31:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30251:47:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75272, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30364:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75273, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30370:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "30364:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75275, - "indexExpression": { - "id": 75274, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75192, - "src": "30382:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30364:31:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75276, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30396:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "30364:37:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30356:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75270, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30356:7:161", - "typeDescriptions": {} - } - }, - "id": 75277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30356:46:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30348:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30348:7:161", - "typeDescriptions": {} - } - }, - "id": 75278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30348:55:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 75279, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30425:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30431:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "30425:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75282, - "indexExpression": { - "id": 75281, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75192, - "src": "30443:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30425:31:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30457:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "30425:40:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 75284, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30487:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30493:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "30487:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75287, - "indexExpression": { - "id": 75286, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75192, - "src": "30505:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30487:31:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30519:7:161", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76057, - "src": "30487:39:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75289, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "30548:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75292, - "indexExpression": { - "expression": { - "id": 75290, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30563:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30569:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "30563:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30548:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75298, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75293, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30576:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30582:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "30576:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75296, - "indexExpression": { - "id": 75295, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75192, - "src": "30594:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30576:31:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30608:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "30576:37:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30548:66:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75304, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75299, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30615:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30621:11:161", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76083, - "src": "30615:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75302, - "indexExpression": { - "id": 75301, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75192, - "src": "30633:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30615:31:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30672:7:161", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76057, - "src": "30615:64:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30548:132:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 75305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30758:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 75266, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47065, - "src": "30301:15:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 75267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30317:9:161", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 46975, - "src": "30301:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 75306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30301:476:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30251:526:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75308, - "nodeType": "ExpressionStatement", - "src": "30251:526:161" - }, - { - "expression": { - "id": 75355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75309, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "30796:14:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75313, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 75310, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73773, - "src": "30811:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 75311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30842:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30811:32:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30796:48:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75320, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30910:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30916:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "30910:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75323, - "indexExpression": { - "id": 75322, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "30929:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30910:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30944:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "30910:39:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30902:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75318, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30902:7:161", - "typeDescriptions": {} - } - }, - "id": 75325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30902:48:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30894:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30894:7:161", - "typeDescriptions": {} - } - }, - "id": 75326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30894:57:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 75327, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "30973:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30979:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "30973:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75330, - "indexExpression": { - "id": 75329, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "30992:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30973:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75331, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31007:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "30973:42:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 75332, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "31037:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31043:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "31037:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75335, - "indexExpression": { - "id": 75334, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "31056:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31037:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31071:7:161", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76057, - "src": "31037:41:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75337, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "31100:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75340, - "indexExpression": { - "expression": { - "id": 75338, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "31115:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31121:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "31115:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31100:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75346, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75341, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "31128:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31134:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "31128:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75344, - "indexExpression": { - "id": 75343, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "31147:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31128:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31162:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "31128:39:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31100:68:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75352, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75347, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "31169:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31175:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "31169:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75350, - "indexExpression": { - "id": 75349, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "31188:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31169:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31228:7:161", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76057, - "src": "31169:66:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31100:136:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 75353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31314:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 75314, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47065, - "src": "30847:15:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 75315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30863:9:161", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 46975, - "src": "30847:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 75354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30847:486:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30796:537:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75356, - "nodeType": "ExpressionStatement", - "src": "30796:537:161" - }, - { - "expression": { - "id": 75363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75357, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "31351:7:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75360, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "31378:14:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 75361, - "name": "signedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75200, - "src": "31394:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "expression": { - "id": 75358, - "name": "LibContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57394, - "src": "31361:10:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$57394_$", - "typeString": "type(library LibContext)" - } - }, - "id": 75359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31372:5:161", - "memberName": "build", - "nodeType": "MemberAccess", - "referencedDeclaration": 57393, - "src": "31361:16:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" - } - }, - "id": 75362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31361:47:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "src": "31351:57:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75364, - "nodeType": "ExpressionStatement", - "src": "31351:57:161" - } - ] - }, - { - "assignments": [ - 75368 - ], - "declarations": [ - { - "constant": false, - "id": 75368, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "31614:9:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "31599:24:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 75367, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75366, - "name": "StateNamespace", - "nameLocations": [ - "31599:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56609, - "src": "31599:14:161" - }, - "referencedDeclaration": 56609, - "src": "31599:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - } - ], - "id": 75380, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75375, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "31662:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75376, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31668:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "31662:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31654:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75373, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "31654:7:161", - "typeDescriptions": {} - } - }, - "id": 75377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31654:20:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31646:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31646:7:161", - "typeDescriptions": {} - } - }, - "id": 75378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31646:29:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75369, - "name": "StateNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56609, - "src": "31626:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56609_$", - "typeString": "type(StateNamespace)" - } - }, - "id": 75370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "31641:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "31626:19:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56609_$", - "typeString": "function (uint256) pure returns (StateNamespace)" - } - }, - "id": 75379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31626:50:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31599:77:161" - }, - { - "assignments": [ - 75385, - 75388 - ], - "declarations": [ - { - "constant": false, - "id": 75385, - "mutability": "mutable", - "name": "calculateOrderStack", - "nameLocation": "32035:19:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "32018:36:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 75383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32018:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75384, - "nodeType": "ArrayTypeName", - "src": "32018:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75388, - "mutability": "mutable", - "name": "calculateOrderKVs", - "nameLocation": "32073:17:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "32056:34:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 75386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32056:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75387, - "nodeType": "ArrayTypeName", - "src": "32056:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 75404, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75393, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "32178:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32184:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "32178:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32194:5:161", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57610, - "src": "32178:21:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 75396, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75368, - "src": "32201:9:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 75398, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "32236:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32242:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "32236:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75400, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32252:10:161", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 57612, - "src": "32236:26:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75397, - "name": "_calculateOrderDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75837, - "src": "32212:23:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 75401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32212:51:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - } - }, - { - "id": 75402, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "32265:7:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 75389, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "32094:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75390, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32117:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "32094:32:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32144:11:161", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 57607, - "src": "32094:61:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56650", - "typeString": "contract IInterpreterV1" - } - }, - "id": 75392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32173:4:161", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 56649, - "src": "32094:83:161", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56600_$_t_userDefinedValueType$_StateNamespace_$56609_$_t_userDefinedValueType$_EncodedDispatch_$56607_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 75403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32094:179:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32017:256:161" - }, - { - "assignments": [ - 75407 - ], - "declarations": [ - { - "constant": false, - "id": 75407, - "mutability": "mutable", - "name": "orderOutputMax18", - "nameLocation": "32303:16:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "32288:31:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 75406, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75405, - "name": "Output18Amount", - "nameLocations": [ - "32288:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "32288:14:161" - }, - "referencedDeclaration": 73827, - "src": "32288:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75417, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 75410, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75385, - "src": "32342:19:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75415, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75411, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75385, - "src": "32362:19:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32382:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "32362:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "32", - "id": 75413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32391:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "32362:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32342:51:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75408, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "32322:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "32337:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "32322:19:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 75416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32322:72:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32288:106:161" - }, - { - "assignments": [ - 75419 - ], - "declarations": [ - { - "constant": false, - "id": 75419, - "mutability": "mutable", - "name": "orderIORatio", - "nameLocation": "32416:12:161", - "nodeType": "VariableDeclaration", - "scope": 75501, - "src": "32408:20:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32408:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75426, - "initialValue": { - "baseExpression": { - "id": 75420, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75385, - "src": "32431:19:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75425, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75421, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75385, - "src": "32451:19:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32471:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "32451:26:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 75423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32480:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "32451:30:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32431:51:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32408:74:161" - }, - { - "id": 75477, - "nodeType": "Block", - "src": "32497:1718:161", - "statements": [ - { - "assignments": [ - 75428 - ], - "declarations": [ - { - "constant": false, - "id": 75428, - "mutability": "mutable", - "name": "ownerVaultBalance", - "nameLocation": "32659:17:161", - "nodeType": "VariableDeclaration", - "scope": 75477, - "src": "32651:25:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32651:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75445, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75429, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "32679:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75432, - "indexExpression": { - "expression": { - "id": 75430, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "32694:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75431, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32700:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "32694:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32679:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75438, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75433, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "32707:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75434, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32713:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "32707:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75436, - "indexExpression": { - "id": 75435, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "32726:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32707:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32741:5:161", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 76053, - "src": "32707:39:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32679:68:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75444, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75439, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "32748:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32775:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "32748:39:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75442, - "indexExpression": { - "id": 75441, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "32788:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32748:54:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32803:7:161", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 76057, - "src": "32748:62:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32679:132:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32651:160:161" - }, - { - "assignments": [ - 75448 - ], - "declarations": [ - { - "constant": false, - "id": 75448, - "mutability": "mutable", - "name": "ownerVaultBalance18", - "nameLocation": "33879:19:161", - "nodeType": "VariableDeclaration", - "scope": 75477, - "src": "33864:34:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 75447, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75446, - "name": "Output18Amount", - "nameLocations": [ - "33864:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "33864:14:161" - }, - "referencedDeclaration": 73827, - "src": "33864:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75461, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75453, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "33967:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "33973:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "33967:18:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75456, - "indexExpression": { - "id": 75455, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "33986:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "33967:33:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75457, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34001:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "33967:42:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 75458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34011:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 75451, - "name": "ownerVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75428, - "src": "33941:17:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "33959:7:161", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 54841, - "src": "33941:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33941:72:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75449, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "33921:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "33936:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "33921:19:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 75460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33921:93:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33864:150:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75464, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75407, - "src": "34058:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75462, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "34036:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34051:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34036:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34036:39:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 75468, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75448, - "src": "34100:19:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75466, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "34078:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34093:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34078:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34078:42:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34036:84:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75476, - "nodeType": "IfStatement", - "src": "34032:169:161", - "trueBody": { - "id": 75475, - "nodeType": "Block", - "src": "34122:79:161", - "statements": [ - { - "expression": { - "id": 75473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75471, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75407, - "src": "34144:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75472, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75448, - "src": "34163:19:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "src": "34144:38:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "id": 75474, - "nodeType": "ExpressionStatement", - "src": "34144:38:161" - } - ] - } - } - ] - }, - { - "expression": { - "id": 75489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75478, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "34312:7:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75480, - "indexExpression": { - "id": 75479, - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73765, - "src": "34320:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "34312:36:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 75485, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75407, - "src": "34415:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75483, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "34393:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34408:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34393:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34393:39:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75487, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75419, - "src": "34434:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75481, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47065, - "src": "34367:15:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$47065_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 75482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34383:9:161", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 46924, - "src": "34367:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 75488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34367:80:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "34312:135:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75490, - "nodeType": "ExpressionStatement", - "src": "34312:135:161" - }, - { - "expression": { - "arguments": [ - { - "id": 75492, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75190, - "src": "34505:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75493, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75194, - "src": "34512:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75494, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75407, - "src": "34527:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - { - "id": 75495, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75419, - "src": "34545:12:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75496, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "34559:7:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 75497, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75368, - "src": "34568:9:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - { - "id": 75498, - "name": "calculateOrderKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75388, - "src": "34579:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 75491, - "name": "OrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73825, - "src": "34469:18:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$73825_storage_ptr_$", - "typeString": "type(struct OrderIOCalculation storage pointer)" - } - }, - "id": 75499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34469:141:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "functionReturnParameters": 75205, - "id": 75500, - "nodeType": "Return", - "src": "34462:148:161" - } - ] - } - ] - }, - "documentation": { - "id": 75187, - "nodeType": "StructuredDocumentation", - "src": "28815:693:161", - "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateOrderIO", - "nameLocation": "29522:16:161", - "parameters": { - "id": 75201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75190, - "mutability": "mutable", - "name": "order", - "nameLocation": "29561:5:161", - "nodeType": "VariableDeclaration", - "scope": 75503, - "src": "29548:18:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75189, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75188, - "name": "Order", - "nameLocations": [ - "29548:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "29548:5:161" - }, - "referencedDeclaration": 76088, - "src": "29548:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75192, - "mutability": "mutable", - "name": "inputIOIndex", - "nameLocation": "29584:12:161", - "nodeType": "VariableDeclaration", - "scope": 75503, - "src": "29576:20:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29576:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75194, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "29614:13:161", - "nodeType": "VariableDeclaration", - "scope": 75503, - "src": "29606:21:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29606:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75196, - "mutability": "mutable", - "name": "counterparty", - "nameLocation": "29645:12:161", - "nodeType": "VariableDeclaration", - "scope": 75503, - "src": "29637:20:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29637:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75200, - "mutability": "mutable", - "name": "signedContext", - "nameLocation": "29692:13:161", - "nodeType": "VariableDeclaration", - "scope": 75503, - "src": "29667:38:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 75198, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75197, - "name": "SignedContextV1", - "nameLocations": [ - "29667:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56543, - "src": "29667:15:161" - }, - "referencedDeclaration": 56543, - "src": "29667:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56543_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 75199, - "nodeType": "ArrayTypeName", - "src": "29667:17:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56543_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "29538:173:161" - }, - "returnParameters": { - "id": 75205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75204, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75503, - "src": "29735:25:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75203, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75202, - "name": "OrderIOCalculation", - "nameLocations": [ - "29735:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "29735:18:161" - }, - "referencedDeclaration": 73825, - "src": "29735:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "29734:27:161" - }, - "scope": 75854, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75680, - "nodeType": "FunctionDefinition", - "src": "35201:3665:161", - "nodes": [], - "body": { - "id": 75679, - "nodeType": "Block", - "src": "35368:3498:161", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 75517, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "35378:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35397:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "35378:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75522, - "indexExpression": { - "id": 75519, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73769, - "src": "35405:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35378:55:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75523, - "indexExpression": { - "id": 75520, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73793, - "src": "35434:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35378:86:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75524, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75509, - "src": "35467:5:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35378:94:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75526, - "nodeType": "ExpressionStatement", - "src": "35378:94:161" - }, - { - "expression": { - "id": 75535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 75527, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "35482:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35501:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "35482:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75532, - "indexExpression": { - "id": 75529, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73773, - "src": "35509:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35482:56:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75533, - "indexExpression": { - "id": 75530, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73793, - "src": "35539:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35482:87:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75534, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75511, - "src": "35572:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35482:96:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75536, - "nodeType": "ExpressionStatement", - "src": "35482:96:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75537, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75509, - "src": "35593:5:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35601:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35593:9:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75568, - "nodeType": "IfStatement", - "src": "35589:360:161", - "trueBody": { - "id": 75567, - "nodeType": "Block", - "src": "35604:345:161", - "statements": [ - { - "expression": { - "id": 75565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75540, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "35689:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75561, - "indexExpression": { - "expression": { - "id": 75541, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "35704:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35710:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "35704:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35689:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75562, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 75547, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "35750:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75548, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35769:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "35750:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75550, - "indexExpression": { - "id": 75549, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73769, - "src": "35777:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35750:55:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75552, - "indexExpression": { - "id": 75551, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73777, - "src": "35806:22:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35750:79:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35742:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75545, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "35742:7:161", - "typeDescriptions": {} - } - }, - "id": 75553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35742:88:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35717:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75543, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "35717:7:161", - "typeDescriptions": {} - } - }, - "id": 75554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35717:127:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35689:156:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75563, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 75555, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "35846:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35865:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "35846:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75558, - "indexExpression": { - "id": 75557, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73769, - "src": "35873:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35846:55:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75560, - "indexExpression": { - "id": 75559, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73785, - "src": "35902:25:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35846:82:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35689:240:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75564, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75509, - "src": "35933:5:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35689:249:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75566, - "nodeType": "ExpressionStatement", - "src": "35689:249:161" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75569, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75511, - "src": "35962:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35971:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35962:10:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75600, - "nodeType": "IfStatement", - "src": "35958:365:161", - "trueBody": { - "id": 75599, - "nodeType": "Block", - "src": "35974:349:161", - "statements": [ - { - "expression": { - "id": 75597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75572, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73878, - "src": "36060:14:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75593, - "indexExpression": { - "expression": { - "id": 75573, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "36075:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36081:5:161", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 76074, - "src": "36075:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36060:27:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75594, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 75579, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "36121:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75580, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36140:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "36121:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75582, - "indexExpression": { - "id": 75581, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73773, - "src": "36148:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36121:56:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75584, - "indexExpression": { - "id": 75583, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73777, - "src": "36178:22:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36121:80:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36113:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75577, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "36113:7:161", - "typeDescriptions": {} - } - }, - "id": 75585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36113:89:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36088:7:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36088:7:161", - "typeDescriptions": {} - } - }, - "id": 75586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36088:128:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36060:157:161", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75595, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 75587, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "36218:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75588, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36237:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "36218:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 75590, - "indexExpression": { - "id": 75589, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73773, - "src": "36245:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36218:56:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75592, - "indexExpression": { - "id": 75591, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73785, - "src": "36275:25:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36218:83:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36060:242:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 75596, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75511, - "src": "36306:6:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36060:252:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75598, - "nodeType": "ExpressionStatement", - "src": "36060:252:161" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75602, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "36497:3:161", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36501:6:161", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "36497:10:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75604, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "36509:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36528:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "36509:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "id": 75601, - "name": "Context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56562, - "src": "36489:7:161", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,uint256[] memory[] memory)" - } - }, - "id": 75606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36489:47:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75607, - "nodeType": "EmitStatement", - "src": "36484:52:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75608, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "36767:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36786:3:161", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 73824, - "src": "36767:22:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36790:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "36767:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36799:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36767:33:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75627, - "nodeType": "IfStatement", - "src": "36763:470:161", - "trueBody": { - "id": 75626, - "nodeType": "Block", - "src": "36802:431:161", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75620, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "37169:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75621, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37188:9:161", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 73821, - "src": "37169:28:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - { - "expression": { - "id": 75622, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "37199:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37218:3:161", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 73824, - "src": "37199:22:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 75613, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "37143:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37149:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "37143:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37159:5:161", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57610, - "src": "37143:21:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 75619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37165:3:161", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 56588, - "src": "37143:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56609_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 75624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37143:79:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75625, - "nodeType": "ExpressionStatement", - "src": "37143:79:161" - } - ] - } - }, - { - "condition": { - "expression": { - "id": 75628, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "37391:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37397:8:161", - "memberName": "handleIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 76076, - "src": "37391:14:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75678, - "nodeType": "IfStatement", - "src": "37387:1473:161", - "trueBody": { - "id": 75677, - "nodeType": "Block", - "src": "37407:1453:161", - "statements": [ - { - "assignments": [ - 75634, - 75637 - ], - "declarations": [ - { - "constant": false, - "id": 75634, - "mutability": "mutable", - "name": "handleIOStack", - "nameLocation": "37882:13:161", - "nodeType": "VariableDeclaration", - "scope": 75677, - "src": "37865:30:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 75632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37865:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75633, - "nodeType": "ArrayTypeName", - "src": "37865:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75637, - "mutability": "mutable", - "name": "handleIOKVs", - "nameLocation": "37914:11:161", - "nodeType": "VariableDeclaration", - "scope": 75677, - "src": "37897:28:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 75635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37897:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75636, - "nodeType": "ArrayTypeName", - "src": "37897:9:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 75655, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75642, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "37979:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37985:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "37979:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37995:5:161", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57610, - "src": "37979:21:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "expression": { - "id": 75645, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "38018:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75646, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38037:9:161", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 73821, - "src": "38018:28:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 75648, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "38082:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75649, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38088:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "38082:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38098:10:161", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 57612, - "src": "38082:26:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75647, - "name": "_handleIODispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75853, - "src": "38064:17:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 75651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38064:45:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - } - }, - { - "expression": { - "id": 75652, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "38127:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75653, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38146:7:161", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 73818, - "src": "38127:26:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 75638, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "37929:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37935:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "37929:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37945:11:161", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 57607, - "src": "37929:27:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56650", - "typeString": "contract IInterpreterV1" - } - }, - "id": 75641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37957:4:161", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 56649, - "src": "37929:32:161", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56600_$_t_userDefinedValueType$_StateNamespace_$56609_$_t_userDefinedValueType$_EncodedDispatch_$56607_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 75654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37929:238:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37864:303:161" - }, - { - "expression": { - "components": [ - { - "id": 75656, - "name": "handleIOStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75634, - "src": "38240:13:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 75657, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38239:15:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75658, - "nodeType": "ExpressionStatement", - "src": "38239:15:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75659, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75637, - "src": "38378:11:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 75660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38390:6:161", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "38378:18:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38399:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38378:22:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75676, - "nodeType": "IfStatement", - "src": "38374:476:161", - "trueBody": { - "id": 75675, - "nodeType": "Block", - "src": "38402:448:161", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75670, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75514, - "src": "38793:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38812:9:161", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 73821, - "src": "38793:28:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - } - }, - { - "id": 75672, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75637, - "src": "38823:11:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56609", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 75663, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75507, - "src": "38767:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75667, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38773:9:161", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 76079, - "src": "38767:15:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57613_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 75668, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38783:5:161", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57610, - "src": "38767:21:161", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56600", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 75669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38789:3:161", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 56588, - "src": "38767:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56609_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 75673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38767:68:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75674, - "nodeType": "ExpressionStatement", - "src": "38767:68:161" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 75504, - "nodeType": "StructuredDocumentation", - "src": "34633:563:161", - "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recordVaultIO", - "nameLocation": "35210:13:161", - "parameters": { - "id": 75515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75507, - "mutability": "mutable", - "name": "order", - "nameLocation": "35246:5:161", - "nodeType": "VariableDeclaration", - "scope": 75680, - "src": "35233:18:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75506, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75505, - "name": "Order", - "nameLocations": [ - "35233:5:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76088, - "src": "35233:5:161" - }, - "referencedDeclaration": 76088, - "src": "35233:5:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75509, - "mutability": "mutable", - "name": "input", - "nameLocation": "35269:5:161", - "nodeType": "VariableDeclaration", - "scope": 75680, - "src": "35261:13:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35261:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75511, - "mutability": "mutable", - "name": "output", - "nameLocation": "35292:6:161", - "nodeType": "VariableDeclaration", - "scope": 75680, - "src": "35284:14:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35284:7:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75514, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "35334:18:161", - "nodeType": "VariableDeclaration", - "scope": 75680, - "src": "35308:44:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75513, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75512, - "name": "OrderIOCalculation", - "nameLocations": [ - "35308:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "35308:18:161" - }, - "referencedDeclaration": 73825, - "src": "35308:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "35223:135:161" - }, - "returnParameters": { - "id": 75516, - "nodeType": "ParameterList", - "parameters": [], - "src": "35368:0:161" - }, - "scope": 75854, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75706, - "nodeType": "FunctionDefinition", - "src": "39410:486:161", - "nodes": [], - "body": { - "id": 75705, - "nodeType": "Block", - "src": "39632:264:161", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 75694, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75691, - "src": "39667:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - { - "id": 75695, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75684, - "src": "39685:23:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 75696, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75687, - "src": "39710:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75693, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75821, - "src": "39642:24:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$76137_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", - "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" - } - }, - "id": 75697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39642:90:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75698, - "nodeType": "ExpressionStatement", - "src": "39642:90:161" - }, - { - "expression": { - "arguments": [ - { - "id": 75700, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75691, - "src": "39824:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - { - "id": 75701, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75687, - "src": "39842:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 75702, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75684, - "src": "39865:23:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75699, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75821, - "src": "39799:24:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$76137_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$_t_struct$_OrderIOCalculation_$73825_memory_ptr_$returns$__$", - "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" - } - }, - "id": 75703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39799:90:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75704, - "nodeType": "ExpressionStatement", - "src": "39799:90:161" - } - ] - }, - "documentation": { - "id": 75681, - "nodeType": "StructuredDocumentation", - "src": "38872:533:161", - "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateChange", - "nameLocation": "39419:25:161", - "parameters": { - "id": 75688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75684, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "39480:23:161", - "nodeType": "VariableDeclaration", - "scope": 75706, - "src": "39454:49:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75683, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75682, - "name": "OrderIOCalculation", - "nameLocations": [ - "39454:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "39454:18:161" - }, - "referencedDeclaration": 73825, - "src": "39454:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75687, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "39539:21:161", - "nodeType": "VariableDeclaration", - "scope": 75706, - "src": "39513:47:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75686, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75685, - "name": "OrderIOCalculation", - "nameLocations": [ - "39513:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "39513:18:161" - }, - "referencedDeclaration": 73825, - "src": "39513:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "39444:122:161" - }, - "returnParameters": { - "id": 75692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75691, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "39614:16:161", - "nodeType": "VariableDeclaration", - "scope": 75706, - "src": "39590:40:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 75690, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75689, - "name": "ClearStateChange", - "nameLocations": [ - "39590:16:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76137, - "src": "39590:16:161" - }, - "referencedDeclaration": 76137, - "src": "39590:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "src": "39589:42:161" - }, - "scope": 75854, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75821, - "nodeType": "FunctionDefinition", - "src": "39902:2055:161", - "nodes": [], - "body": { - "id": 75820, - "nodeType": "Block", - "src": "40122:1835:161", - "nodes": [], - "statements": [ - { - "assignments": [ - 75720 - ], - "declarations": [ - { - "constant": false, - "id": 75720, - "mutability": "mutable", - "name": "bobInputMax18", - "nameLocation": "40339:13:161", - "nodeType": "VariableDeclaration", - "scope": 75820, - "src": "40325:27:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 75719, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75718, - "name": "Input18Amount", - "nameLocations": [ - "40325:13:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73829, - "src": "40325:13:161" - }, - "referencedDeclaration": 73829, - "src": "40325:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75736, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75729, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75715, - "src": "40473:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40495:7:161", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 73814, - "src": "40473:29:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 75731, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46324, - "src": "40504:4:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46324_$", - "typeString": "type(library Math)" - } - }, - "id": 75732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40509:8:161", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45465, - "src": "40504:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45465_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 75733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40518:2:161", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45463, - "src": "40504:16:161", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45465", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45465", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 75725, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75715, - "src": "40409:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40431:9:161", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 73812, - "src": "40409:31:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75723, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "40387:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40402:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40387:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40387:54:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40442:13:161", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 54539, - "src": "40387:68:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45465_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 75734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40387:147:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75721, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "40355:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40369:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "40355:18:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 75735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40355:189:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40325:219:161" - }, - { - "assignments": [ - 75739 - ], - "declarations": [ - { - "constant": false, - "id": 75739, - "mutability": "mutable", - "name": "aliceOutputMax18", - "nameLocation": "40569:16:161", - "nodeType": "VariableDeclaration", - "scope": 75820, - "src": "40554:31:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 75738, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75737, - "name": "Output18Amount", - "nameLocations": [ - "40554:14:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "40554:14:161" - }, - "referencedDeclaration": 73827, - "src": "40554:14:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75742, - "initialValue": { - "expression": { - "id": 75740, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75712, - "src": "40588:23:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40612:9:161", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 73812, - "src": "40588:33:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40554:67:161" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75745, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75739, - "src": "40734:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75743, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "40712:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40727:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40712:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40712:39:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 75749, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "40775:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75747, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "40754:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40768:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40754:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40754:35:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40712:77:161", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75763, - "nodeType": "IfStatement", - "src": "40708:183:161", - "trueBody": { - "id": 75762, - "nodeType": "Block", - "src": "40791:100:161", - "statements": [ - { - "expression": { - "id": 75760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75752, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75739, - "src": "40805:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 75757, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "40865:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75755, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "40844:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40858:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40844:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40844:35:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75753, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "40824:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40839:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "40824:19:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 75759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40824:56:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "src": "40805:75:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - }, - "id": 75761, - "nodeType": "ExpressionStatement", - "src": "40805:75:161" - } - ] - } - }, - { - "expression": { - "id": 75781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75764, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75709, - "src": "41022:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "41039:11:161", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76130, - "src": "41022:28:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 75772, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75712, - "src": "41113:23:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75773, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41137:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 73807, - "src": "41113:29:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75774, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41143:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "41113:42:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75777, - "indexExpression": { - "expression": { - "id": 75775, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75712, - "src": "41156:23:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41180:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 73809, - "src": "41156:37:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "41113:81:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41195:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "41113:90:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 75779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "41205:1:161", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "arguments": [ - { - "id": 75769, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75739, - "src": "41075:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75767, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "41053:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41068:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41053:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41053:39:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41093:6:161", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 54916, - "src": "41053:46:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41053:163:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41022:194:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75782, - "nodeType": "ExpressionStatement", - "src": "41022:194:161" - }, - { - "assignments": [ - 75785 - ], - "declarations": [ - { - "constant": false, - "id": 75785, - "mutability": "mutable", - "name": "aliceInput18", - "nameLocation": "41319:12:161", - "nodeType": "VariableDeclaration", - "scope": 75820, - "src": "41305:26:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 75784, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75783, - "name": "Input18Amount", - "nameLocations": [ - "41305:13:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73829, - "src": "41305:13:161" - }, - "referencedDeclaration": 73829, - "src": "41305:13:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75800, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75793, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75712, - "src": "41420:23:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41444:7:161", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 73814, - "src": "41420:31:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 75795, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46324, - "src": "41453:4:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46324_$", - "typeString": "type(library Math)" - } - }, - "id": 75796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41458:8:161", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45465, - "src": "41453:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45465_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 75797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41467:2:161", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45463, - "src": "41453:16:161", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45465", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45465", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 75790, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75739, - "src": "41388:16:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$73827", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75788, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "41366:14:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$73827_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41381:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41366:21:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$73827_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41366:39:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41406:13:161", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 54539, - "src": "41366:53:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45465_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 75798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41366:104:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75786, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "41334:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41348:4:161", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "41334:18:161", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 75799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41334:146:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "41305:175:161" - }, - { - "expression": { - "id": 75818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75801, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75709, - "src": "41490:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 75803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "41507:10:161", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 76134, - "src": "41490:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 75809, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75715, - "src": "41839:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41861:5:161", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 73807, - "src": "41839:27:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$76088_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41867:12:161", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76087, - "src": "41839:40:161", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$76058_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75814, - "indexExpression": { - "expression": { - "id": 75812, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75715, - "src": "41880:21:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41902:13:161", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 73809, - "src": "41880:35:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "41839:77:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$76058_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41917:8:161", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 76055, - "src": "41839:86:161", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75816, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54575, - "src": "41927:13:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75806, - "name": "aliceInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75785, - "src": "41805:12:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$73829", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75804, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73829, - "src": "41784:13:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$73829_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41798:6:161", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41784:20:161", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$73829_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41784:34:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41819:6:161", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 54916, - "src": "41784:41:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41784:166:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41490:460:161", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75819, - "nodeType": "ExpressionStatement", - "src": "41490:460:161" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateAlice", - "nameLocation": "39911:24:161", - "parameters": { - "id": 75716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75709, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "39969:16:161", - "nodeType": "VariableDeclaration", - "scope": 75821, - "src": "39945:40:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 75708, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75707, - "name": "ClearStateChange", - "nameLocations": [ - "39945:16:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76137, - "src": "39945:16:161" - }, - "referencedDeclaration": 76137, - "src": "39945:16:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$76137_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75712, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "40021:23:161", - "nodeType": "VariableDeclaration", - "scope": 75821, - "src": "39995:49:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75711, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75710, - "name": "OrderIOCalculation", - "nameLocations": [ - "39995:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "39995:18:161" - }, - "referencedDeclaration": 73825, - "src": "39995:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75715, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "40080:21:161", - "nodeType": "VariableDeclaration", - "scope": 75821, - "src": "40054:47:161", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75714, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75713, - "name": "OrderIOCalculation", - "nameLocations": [ - "40054:18:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73825, - "src": "40054:18:161" - }, - "referencedDeclaration": 73825, - "src": "40054:18:161", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$73825_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "39935:172:161" - }, - "returnParameters": { - "id": 75717, - "nodeType": "ParameterList", - "parameters": [], - "src": "40122:0:161" - }, - "scope": 75854, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75837, - "nodeType": "FunctionDefinition", - "src": "41963:213:161", - "nodes": [], - "body": { - "id": 75836, - "nodeType": "Block", - "src": "42057:119:161", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 75831, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75823, - "src": "42100:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75832, - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73725, - "src": "42113:26:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - }, - { - "id": 75833, - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73741, - "src": "42141:27:161", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 75829, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57579, - "src": "42074:18:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57579_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 75830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42093:6:161", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57530, - "src": "42074:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56605_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 75834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42074:95:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 75828, - "id": 75835, - "nodeType": "Return", - "src": "42067:102:161" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateOrderDispatch", - "nameLocation": "41972:23:161", - "parameters": { - "id": 75824, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75823, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "42004:11:161", - "nodeType": "VariableDeclaration", - "scope": 75837, - "src": "41996:19:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "41996:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "41995:21:161" - }, - "returnParameters": { - "id": 75828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75827, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75837, - "src": "42040:15:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 75826, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75825, - "name": "EncodedDispatch", - "nameLocations": [ - "42040:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56607, - "src": "42040:15:161" - }, - "referencedDeclaration": 56607, - "src": "42040:15:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "42039:17:161" - }, - "scope": 75854, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75853, - "nodeType": "FunctionDefinition", - "src": "42182:195:161", - "nodes": [], - "body": { - "id": 75852, - "nodeType": "Block", - "src": "42270:107:161", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 75847, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75839, - "src": "42313:11:161", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75848, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73733, - "src": "42326:20:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - } - }, - { - "id": 75849, - "name": "HANDLE_IO_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73749, - "src": "42348:21:161", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56605", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 75845, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57579, - "src": "42287:18:161", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57579_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 75846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42306:6:161", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57530, - "src": "42287:25:161", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56605_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56607_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 75850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42287:83:161", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 75844, - "id": 75851, - "nodeType": "Return", - "src": "42280:90:161" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_handleIODispatch", - "nameLocation": "42191:17:161", - "parameters": { - "id": 75840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75839, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "42217:11:161", - "nodeType": "VariableDeclaration", - "scope": 75853, - "src": "42209:19:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "42209:7:161", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "42208:21:161" - }, - "returnParameters": { - "id": 75844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75843, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75853, - "src": "42253:15:161", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 75842, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75841, - "name": "EncodedDispatch", - "nameLocations": [ - "42253:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56607, - "src": "42253:15:161" - }, - "referencedDeclaration": 56607, - "src": "42253:15:161", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56607", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "42252:17:161" - }, - "scope": 75854, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 73831, - "name": "IOrderBookV3", - "nameLocations": [ - "8953:12:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76947, - "src": "8953:12:161" - }, - "id": 73832, - "nodeType": "InheritanceSpecifier", - "src": "8953:12:161" - }, - { - "baseName": { - "id": 73833, - "name": "ReentrancyGuard", - "nameLocations": [ - "8967:15:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43219, - "src": "8967:15:161" - }, - "id": 73834, - "nodeType": "InheritanceSpecifier", - "src": "8967:15:161" - }, - { - "baseName": { - "id": 73835, - "name": "Multicall", - "nameLocations": [ - "8984:9:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44728, - "src": "8984:9:161" - }, - "id": 73836, - "nodeType": "InheritanceSpecifier", - "src": "8984:9:161" - }, - { - "baseName": { - "id": 73837, - "name": "OrderBookV3FlashLender", - "nameLocations": [ - "8995:22:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73389, - "src": "8995:22:161" - }, - "id": 73838, - "nodeType": "InheritanceSpecifier", - "src": "8995:22:161" - }, - { - "baseName": { - "id": 73839, - "name": "DeployerDiscoverableMetaV2", - "nameLocations": [ - "9019:26:161" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55564, - "src": "9019:26:161" - }, - "id": 73840, - "nodeType": "InheritanceSpecifier", - "src": "9019:26:161" - } - ], - "canonicalName": "OrderBook", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 73830, - "nodeType": "StructuredDocumentation", - "src": "8863:68:161", - "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 75854, - 55564, - 71220, - 73389, - 44728, - 43219, - 76947, - 56563, - 76664 - ], - "name": "OrderBook", - "nameLocation": "8940:9:161", - "scope": 75855, - "usedErrors": [ - 56826, - 57109, - 71200, - 71205, - 73045, - 73048, - 73051, - 73056, - 73065, - 73676, - 73683, - 73690, - 73697, - 73704, - 73709, - 76678, - 76719, - 76728, - 76733, - 76738, - 76743, - 76748 - ] - } - ], - "license": "CAL" - }, - "id": 161 -} \ No newline at end of file diff --git a/subgraph/abis/ReserveToken.json b/subgraph/abis/ReserveToken.json deleted file mode 100644 index a067d178bf..0000000000 --- a/subgraph/abis/ReserveToken.json +++ /dev/null @@ -1,390 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ReserveToken", - "sourceName": "contracts/test/testToken/ReserveToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TOTAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account_", - "type": "address" - } - ], - "name": "addFreezable", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "freezables", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061164d806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs index caa33bd37b..6ddfac1115 100644 --- a/subgraph/cli/main.rs +++ b/subgraph/cli/main.rs @@ -38,72 +38,95 @@ pub struct DeployCommand { address: String, } -fn main() { - let args = Cli::parse(); - match args.subgraph { - Subgraph::Install => { - // Get the current working directory - let current_dir = env::current_dir().expect("Failed to get current directory"); - - // Create a new Command to run the npm install command - let mut npm_install = Command::new("npm"); - npm_install.arg("install"); - npm_install.current_dir(¤t_dir); - npm_install.stdout(Stdio::piped()); - npm_install.stderr(Stdio::piped()); - - println!("{}", "Running npm install...".green()); - - // Execute the npm install command - let mut child = npm_install.spawn().expect("Failed to start npm install"); - - // Read and print stdout in a separate thread - let stdout_child = child.stdout.take().expect("Failed to get stdout"); - let stdout_reader = BufReader::new(stdout_child); - - let stdout_handle = thread::spawn(move || { - for line in stdout_reader.lines() { - if let Ok(line) = line { - println!("npm: {}", line); - } - } - }); +// This function will work onthe working directory +fn run_cmd(main_cmd: &str, args: &[&str]) -> bool { + // Get the current working directory + let current_dir = env::current_dir().expect("Failed to get current directory"); + + // Create a new Command to run + let mut cmd = Command::new(main_cmd); + + // Add the arguments + cmd.args(args); + + // Set the directory from where the command wil run + cmd.current_dir(¤t_dir); - // Read and print stderr in the main thread - let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); - for line in stderr_reader.lines() { + // Tell what to do when try to print the process + cmd.stdout(Stdio::piped()); + cmd.stderr(Stdio::piped()); + + let full_cmd = format!("{} {}", main_cmd, args.join(" ")); + + println!("{} {}", "Running:".green(), full_cmd.blue()); + + // Execute the command + let mut child = cmd + .spawn() + .expect(format!("Failed to run: {}", full_cmd).as_str()); + + // Read and print stdout in a separate thread + let stdout_child = child.stdout.take().expect("Failed to get stdout"); + let stdout_reader = BufReader::new(stdout_child); + + let stdout_handle = thread::spawn({ + move || { + for line in stdout_reader.lines() { if let Ok(line) = line { - eprintln!("npm error: {}", line); + println!("{}", line); } } + } + }); - // Wait for the command to finish and get the exit status - let status = child.wait().expect("Failed to wait for npm install"); - - // Wait for the stdout thread to finish - stdout_handle.join().expect("Failed to join stdout thread"); - - if status.success() { - println!("{}", "npm install successful".green()); - } else { - eprintln!( - "{}", - format!( - "npm install failed with exit code: {}", - status.code().unwrap_or(-1) - ) - .red() - ); - } + // Read and print stderr in the main thread + let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); + for line in stderr_reader.lines() { + if let Ok(line) = line { + eprintln!("{}", line); } + } + + // Wait for the command to finish and get the exit status + let status = child + .wait() + .expect(format!("Failed to wait: {}", full_cmd).as_str()); + + // Wait for the stdout thread to finish + stdout_handle.join().expect("Failed to join stdout thread"); + + if status.success() { + println!("✅ {} {}", full_cmd.blue(), "completed".green()); + return true; + } else { + eprintln!( + "❌ {} {}", + full_cmd.blue(), + format!("failed with exit code: {}", status.code().unwrap_or(-1)).red() + ); + + return false; + } +} + +fn main() { + let args = Cli::parse(); + + match args.subgraph { + Subgraph::Install => { + run_cmd("npm", &["install"]); + } + Subgraph::Build => { - println!("Hello build"); + println!("{}", "Generating subgraph code".blue()); + run_cmd("npx", &["graph", "codegen"]); } + Subgraph::Test => { - println!("Hello tests"); + println!("Hello tests 🧪"); } Subgraph::Deploy(args) => { - println!("Deploy with: {:?}", args); + println!("🚀 Hello, deploy with: {:?}", args); } } } diff --git a/subgraph/deployer.rs b/subgraph/deployer.rs new file mode 100644 index 0000000000..aeefb0e5ae --- /dev/null +++ b/subgraph/deployer.rs @@ -0,0 +1,2384 @@ +pub use rainterpreter_expression_deployer_np::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod rainterpreter_expression_deployer_np { + const _: () = { + ::core::include_bytes!( + "/home/nanezx/rain/rain.orderbook/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json", + ); + }; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("config_"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct RainterpreterExpressionDeployerConstructionConfig", + ), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("deployExpression"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("deployExpression"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sources_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Bytes, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("constants_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("minOutputs_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256[]"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IInterpreterV1"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IInterpreterStoreV1", + ), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("interpreter"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("interpreter"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IInterpreterV1"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("store"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("store"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IInterpreterStoreV1", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("supportsInterface"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("supportsInterface"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("interfaceId_"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("DISpair"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("DISpair"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("deployer"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("interpreter"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("store"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("opMeta"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ExpressionAddress"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("ExpressionAddress"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("expression"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("NewExpression"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("NewExpression"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sources"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Bytes, + ), + ), + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("constants"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("minOutputs"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("BadDynamicLength"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("BadDynamicLength"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("dynamicLength"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("standardOpsLength"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("DoWhileMaxInputs"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DoWhileMaxInputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("inputs"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InsufficientLoopOutputs"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InsufficientLoopOutputs", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("inputs"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("outputs"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("MinFinalStack"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("MinFinalStack"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("minStackOutputs"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "actualStackOutputs", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("MinStackBottom"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("MinStackBottom"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("MissingEntrypoint"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("MissingEntrypoint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "expectedEntrypoints", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("actualEntrypoints"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("NotPosIntPrice"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("NotPosIntPrice"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("price"), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("int256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("OutOfBoundsConstantsRead"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "OutOfBoundsConstantsRead", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("constantsLength"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("constantsRead"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("OutOfBoundsStackRead"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "OutOfBoundsStackRead", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("stackTopIndex"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("stackRead"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_MulDiv18_Overflow"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_MulDiv18_Overflow", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("y"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_MulDiv_Overflow"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_MulDiv_Overflow", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("y"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("denominator"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Ceil_Overflow"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Ceil_Overflow", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Exp2_InputTooBig"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Exp2_InputTooBig", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Exp_InputTooBig"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Exp_InputTooBig", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Gm_Overflow"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Gm_Overflow", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("y"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Log_InputTooSmall", + ), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Log_InputTooSmall", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Sqrt_Overflow"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "PRBMath_UD60x18_Sqrt_Overflow", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("x"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("UD60x18"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("StackPopUnderflow"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("StackPopUnderflow"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "stackHighwaterIndex", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("stackTopIndex"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("StalePrice"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("StalePrice"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("updatedAt"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("staleAfter"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("TruncatedEncoding"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("TruncatedEncoding"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("startBit"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("length"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned( + "UnexpectedInterpreterBytecodeHash", + ), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "UnexpectedInterpreterBytecodeHash", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "actualBytecodeHash", + ), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("UnexpectedOpMetaHash"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "UnexpectedOpMetaHash", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("actualOpMeta"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("UnexpectedPointers"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("UnexpectedPointers"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("actualPointers"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("UnexpectedStoreBytecodeHash"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "UnexpectedStoreBytecodeHash", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "actualBytecodeHash", + ), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("WriteError"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("WriteError"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ZeroInputs"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ZeroInputs"), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static RAINTERPRETEREXPRESSIONDEPLOYERNP_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + pub struct RainterpreterExpressionDeployerNP(::ethers::contract::Contract); + impl ::core::clone::Clone for RainterpreterExpressionDeployerNP { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for RainterpreterExpressionDeployerNP { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for RainterpreterExpressionDeployerNP { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for RainterpreterExpressionDeployerNP { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(RainterpreterExpressionDeployerNP)) + .field(&self.address()) + .finish() + } + } + impl RainterpreterExpressionDeployerNP { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + RAINTERPRETEREXPRESSIONDEPLOYERNP_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `deployExpression` (0x5511cb67) function + pub fn deploy_expression( + &self, + sources: ::std::vec::Vec<::ethers::core::types::Bytes>, + constants: ::std::vec::Vec<::ethers::core::types::U256>, + min_outputs: ::std::vec::Vec<::ethers::core::types::U256>, + ) -> ::ethers::contract::builders::ContractCall< + M, + ( + ::ethers::core::types::Address, + ::ethers::core::types::Address, + ::ethers::core::types::Address, + ), + > { + self.0 + .method_hash([85, 17, 203, 103], (sources, constants, min_outputs)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `interpreter` (0x3a35cf17) function + pub fn interpreter( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([58, 53, 207, 23], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `store` (0x975057e7) function + pub fn store( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([151, 80, 87, 231], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `supportsInterface` (0x01ffc9a7) function + pub fn supports_interface( + &self, + interface_id: [u8; 4], + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 255, 201, 167], interface_id) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `DISpair` event + pub fn di_spair_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, DispairFilter> { + self.0.event() + } + ///Gets the contract's `ExpressionAddress` event + pub fn expression_address_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ExpressionAddressFilter, + > { + self.0.event() + } + ///Gets the contract's `NewExpression` event + pub fn new_expression_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + NewExpressionFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + RainterpreterExpressionDeployerNPEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for RainterpreterExpressionDeployerNP { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `BadDynamicLength` with signature `BadDynamicLength(uint256,uint256)` and selector `0xc8b56901` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "BadDynamicLength", abi = "BadDynamicLength(uint256,uint256)")] + pub struct BadDynamicLength { + pub dynamic_length: ::ethers::core::types::U256, + pub standard_ops_length: ::ethers::core::types::U256, + } + ///Custom Error type `DoWhileMaxInputs` with signature `DoWhileMaxInputs(uint256)` and selector `0x316e6a37` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "DoWhileMaxInputs", abi = "DoWhileMaxInputs(uint256)")] + pub struct DoWhileMaxInputs { + pub inputs: ::ethers::core::types::U256, + } + ///Custom Error type `InsufficientLoopOutputs` with signature `InsufficientLoopOutputs(uint256,uint256)` and selector `0x508a8d2f` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "InsufficientLoopOutputs", + abi = "InsufficientLoopOutputs(uint256,uint256)" + )] + pub struct InsufficientLoopOutputs { + pub inputs: ::ethers::core::types::U256, + pub outputs: ::ethers::core::types::U256, + } + ///Custom Error type `MinFinalStack` with signature `MinFinalStack(uint256,uint256)` and selector `0xf993c6e7` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "MinFinalStack", abi = "MinFinalStack(uint256,uint256)")] + pub struct MinFinalStack { + pub min_stack_outputs: ::ethers::core::types::U256, + pub actual_stack_outputs: ::ethers::core::types::U256, + } + ///Custom Error type `MinStackBottom` with signature `MinStackBottom()` and selector `0x271592cf` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "MinStackBottom", abi = "MinStackBottom()")] + pub struct MinStackBottom; + ///Custom Error type `MissingEntrypoint` with signature `MissingEntrypoint(uint256,uint256)` and selector `0x7d2d70db` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "MissingEntrypoint", abi = "MissingEntrypoint(uint256,uint256)")] + pub struct MissingEntrypoint { + pub expected_entrypoints: ::ethers::core::types::U256, + pub actual_entrypoints: ::ethers::core::types::U256, + } + ///Custom Error type `NotPosIntPrice` with signature `NotPosIntPrice(int256)` and selector `0x3351e26f` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "NotPosIntPrice", abi = "NotPosIntPrice(int256)")] + pub struct NotPosIntPrice { + pub price: ::ethers::core::types::I256, + } + ///Custom Error type `OutOfBoundsConstantsRead` with signature `OutOfBoundsConstantsRead(uint256,uint256)` and selector `0x890a8e6a` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "OutOfBoundsConstantsRead", + abi = "OutOfBoundsConstantsRead(uint256,uint256)" + )] + pub struct OutOfBoundsConstantsRead { + pub constants_length: ::ethers::core::types::U256, + pub constants_read: ::ethers::core::types::U256, + } + ///Custom Error type `OutOfBoundsStackRead` with signature `OutOfBoundsStackRead(uint256,uint256)` and selector `0x1cb73c16` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "OutOfBoundsStackRead", + abi = "OutOfBoundsStackRead(uint256,uint256)" + )] + pub struct OutOfBoundsStackRead { + pub stack_top_index: ::ethers::core::types::U256, + pub stack_read: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_MulDiv18_Overflow` with signature `PRBMath_MulDiv18_Overflow(uint256,uint256)` and selector `0x5173648d` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_MulDiv18_Overflow", + abi = "PRBMath_MulDiv18_Overflow(uint256,uint256)" + )] + pub struct PRBMath_MulDiv18_Overflow { + pub x: ::ethers::core::types::U256, + pub y: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_MulDiv_Overflow` with signature `PRBMath_MulDiv_Overflow(uint256,uint256,uint256)` and selector `0x63a05778` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_MulDiv_Overflow", + abi = "PRBMath_MulDiv_Overflow(uint256,uint256,uint256)" + )] + pub struct PRBMath_MulDiv_Overflow { + pub x: ::ethers::core::types::U256, + pub y: ::ethers::core::types::U256, + pub denominator: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_UD60x18_Ceil_Overflow` with signature `PRBMath_UD60x18_Ceil_Overflow(uint256)` and selector `0x6149f6b9` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_UD60x18_Ceil_Overflow", + abi = "PRBMath_UD60x18_Ceil_Overflow(uint256)" + )] + pub struct PRBMath_UD60x18_Ceil_Overflow { + pub x: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_UD60x18_Exp2_InputTooBig` with signature `PRBMath_UD60x18_Exp2_InputTooBig(uint256)` and selector `0xb3b6ba1f` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_UD60x18_Exp2_InputTooBig", + abi = "PRBMath_UD60x18_Exp2_InputTooBig(uint256)" + )] + pub struct PRBMath_UD60x18_Exp2_InputTooBig { + pub x: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_UD60x18_Exp_InputTooBig` with signature `PRBMath_UD60x18_Exp_InputTooBig(uint256)` and selector `0x1af63aca` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_UD60x18_Exp_InputTooBig", + abi = "PRBMath_UD60x18_Exp_InputTooBig(uint256)" + )] + pub struct PRBMath_UD60x18_Exp_InputTooBig { + pub x: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_UD60x18_Gm_Overflow` with signature `PRBMath_UD60x18_Gm_Overflow(uint256,uint256)` and selector `0xae7f3b37` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_UD60x18_Gm_Overflow", + abi = "PRBMath_UD60x18_Gm_Overflow(uint256,uint256)" + )] + pub struct PRBMath_UD60x18_Gm_Overflow { + pub x: ::ethers::core::types::U256, + pub y: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_UD60x18_Log_InputTooSmall` with signature `PRBMath_UD60x18_Log_InputTooSmall(uint256)` and selector `0x36d32ef0` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_UD60x18_Log_InputTooSmall", + abi = "PRBMath_UD60x18_Log_InputTooSmall(uint256)" + )] + pub struct PRBMath_UD60x18_Log_InputTooSmall { + pub x: ::ethers::core::types::U256, + } + ///Custom Error type `PRBMath_UD60x18_Sqrt_Overflow` with signature `PRBMath_UD60x18_Sqrt_Overflow(uint256)` and selector `0xedc236ad` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "PRBMath_UD60x18_Sqrt_Overflow", + abi = "PRBMath_UD60x18_Sqrt_Overflow(uint256)" + )] + pub struct PRBMath_UD60x18_Sqrt_Overflow { + pub x: ::ethers::core::types::U256, + } + ///Custom Error type `StackPopUnderflow` with signature `StackPopUnderflow(uint256,uint256)` and selector `0x625e32e4` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "StackPopUnderflow", abi = "StackPopUnderflow(uint256,uint256)")] + pub struct StackPopUnderflow { + pub stack_highwater_index: ::ethers::core::types::U256, + pub stack_top_index: ::ethers::core::types::U256, + } + ///Custom Error type `StalePrice` with signature `StalePrice(uint256,uint256)` and selector `0x2730eb48` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "StalePrice", abi = "StalePrice(uint256,uint256)")] + pub struct StalePrice { + pub updated_at: ::ethers::core::types::U256, + pub stale_after: ::ethers::core::types::U256, + } + ///Custom Error type `TruncatedEncoding` with signature `TruncatedEncoding(uint256,uint256)` and selector `0x2ccabbc2` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "TruncatedEncoding", abi = "TruncatedEncoding(uint256,uint256)")] + pub struct TruncatedEncoding { + pub start_bit: ::ethers::core::types::U256, + pub length: ::ethers::core::types::U256, + } + ///Custom Error type `UnexpectedInterpreterBytecodeHash` with signature `UnexpectedInterpreterBytecodeHash(bytes32)` and selector `0x1dd8527e` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "UnexpectedInterpreterBytecodeHash", + abi = "UnexpectedInterpreterBytecodeHash(bytes32)" + )] + pub struct UnexpectedInterpreterBytecodeHash { + pub actual_bytecode_hash: [u8; 32], + } + ///Custom Error type `UnexpectedOpMetaHash` with signature `UnexpectedOpMetaHash(bytes32)` and selector `0x87a1fcae` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "UnexpectedOpMetaHash", abi = "UnexpectedOpMetaHash(bytes32)")] + pub struct UnexpectedOpMetaHash { + pub actual_op_meta: [u8; 32], + } + ///Custom Error type `UnexpectedPointers` with signature `UnexpectedPointers(bytes)` and selector `0x9835e402` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "UnexpectedPointers", abi = "UnexpectedPointers(bytes)")] + pub struct UnexpectedPointers { + pub actual_pointers: ::ethers::core::types::Bytes, + } + ///Custom Error type `UnexpectedStoreBytecodeHash` with signature `UnexpectedStoreBytecodeHash(bytes32)` and selector `0xcc0415fd` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror( + name = "UnexpectedStoreBytecodeHash", + abi = "UnexpectedStoreBytecodeHash(bytes32)" + )] + pub struct UnexpectedStoreBytecodeHash { + pub actual_bytecode_hash: [u8; 32], + } + ///Custom Error type `WriteError` with signature `WriteError()` and selector `0x08d4abb6` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "WriteError", abi = "WriteError()")] + pub struct WriteError; + ///Custom Error type `ZeroInputs` with signature `ZeroInputs()` and selector `0x904c1f6d` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "ZeroInputs", abi = "ZeroInputs()")] + pub struct ZeroInputs; + ///Container type for all of the contract's custom errors + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum RainterpreterExpressionDeployerNPErrors { + BadDynamicLength(BadDynamicLength), + DoWhileMaxInputs(DoWhileMaxInputs), + InsufficientLoopOutputs(InsufficientLoopOutputs), + MinFinalStack(MinFinalStack), + MinStackBottom(MinStackBottom), + MissingEntrypoint(MissingEntrypoint), + NotPosIntPrice(NotPosIntPrice), + OutOfBoundsConstantsRead(OutOfBoundsConstantsRead), + OutOfBoundsStackRead(OutOfBoundsStackRead), + PRBMath_MulDiv18_Overflow(PRBMath_MulDiv18_Overflow), + PRBMath_MulDiv_Overflow(PRBMath_MulDiv_Overflow), + PRBMath_UD60x18_Ceil_Overflow(PRBMath_UD60x18_Ceil_Overflow), + PRBMath_UD60x18_Exp2_InputTooBig(PRBMath_UD60x18_Exp2_InputTooBig), + PRBMath_UD60x18_Exp_InputTooBig(PRBMath_UD60x18_Exp_InputTooBig), + PRBMath_UD60x18_Gm_Overflow(PRBMath_UD60x18_Gm_Overflow), + PRBMath_UD60x18_Log_InputTooSmall(PRBMath_UD60x18_Log_InputTooSmall), + PRBMath_UD60x18_Sqrt_Overflow(PRBMath_UD60x18_Sqrt_Overflow), + StackPopUnderflow(StackPopUnderflow), + StalePrice(StalePrice), + TruncatedEncoding(TruncatedEncoding), + UnexpectedInterpreterBytecodeHash(UnexpectedInterpreterBytecodeHash), + UnexpectedOpMetaHash(UnexpectedOpMetaHash), + UnexpectedPointers(UnexpectedPointers), + UnexpectedStoreBytecodeHash(UnexpectedStoreBytecodeHash), + WriteError(WriteError), + ZeroInputs(ZeroInputs), + /// The standard solidity revert string, with selector + /// Error(string) -- 0x08c379a0 + RevertString(::std::string::String), + } + impl ::ethers::core::abi::AbiDecode for RainterpreterExpressionDeployerNPErrors { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { + return Ok(Self::RevertString(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::BadDynamicLength(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::DoWhileMaxInputs(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InsufficientLoopOutputs(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::MinFinalStack(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::MinStackBottom(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::MissingEntrypoint(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::NotPosIntPrice(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OutOfBoundsConstantsRead(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OutOfBoundsStackRead(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_MulDiv18_Overflow(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_MulDiv_Overflow(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_UD60x18_Ceil_Overflow(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_UD60x18_Exp2_InputTooBig(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_UD60x18_Exp_InputTooBig(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_UD60x18_Gm_Overflow(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_UD60x18_Log_InputTooSmall(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::PRBMath_UD60x18_Sqrt_Overflow(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::StackPopUnderflow(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::StalePrice(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TruncatedEncoding(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::UnexpectedInterpreterBytecodeHash(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::UnexpectedOpMetaHash(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::UnexpectedPointers(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::UnexpectedStoreBytecodeHash(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::WriteError(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ZeroInputs(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for RainterpreterExpressionDeployerNPErrors { + fn encode(self) -> ::std::vec::Vec { + match self { + Self::BadDynamicLength(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::DoWhileMaxInputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InsufficientLoopOutputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::MinFinalStack(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::MinStackBottom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::MissingEntrypoint(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::NotPosIntPrice(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::OutOfBoundsConstantsRead(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::OutOfBoundsStackRead(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_MulDiv18_Overflow(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_MulDiv_Overflow(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_UD60x18_Ceil_Overflow(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_UD60x18_Exp2_InputTooBig(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_UD60x18_Exp_InputTooBig(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_UD60x18_Gm_Overflow(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_UD60x18_Log_InputTooSmall(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::PRBMath_UD60x18_Sqrt_Overflow(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::StackPopUnderflow(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::StalePrice(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TruncatedEncoding(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::UnexpectedInterpreterBytecodeHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::UnexpectedOpMetaHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::UnexpectedPointers(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::UnexpectedStoreBytecodeHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::WriteError(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ZeroInputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), + } + } + } + impl ::ethers::contract::ContractRevert for RainterpreterExpressionDeployerNPErrors { + fn valid_selector(selector: [u8; 4]) -> bool { + match selector { + [0x08, 0xc3, 0x79, 0xa0] => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => true, + _ if selector + == ::selector() => true, + _ => false, + } + } + } + impl ::core::fmt::Display for RainterpreterExpressionDeployerNPErrors { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::BadDynamicLength(element) => ::core::fmt::Display::fmt(element, f), + Self::DoWhileMaxInputs(element) => ::core::fmt::Display::fmt(element, f), + Self::InsufficientLoopOutputs(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::MinFinalStack(element) => ::core::fmt::Display::fmt(element, f), + Self::MinStackBottom(element) => ::core::fmt::Display::fmt(element, f), + Self::MissingEntrypoint(element) => ::core::fmt::Display::fmt(element, f), + Self::NotPosIntPrice(element) => ::core::fmt::Display::fmt(element, f), + Self::OutOfBoundsConstantsRead(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::OutOfBoundsStackRead(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_MulDiv18_Overflow(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_MulDiv_Overflow(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_UD60x18_Ceil_Overflow(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_UD60x18_Exp2_InputTooBig(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_UD60x18_Exp_InputTooBig(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_UD60x18_Gm_Overflow(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_UD60x18_Log_InputTooSmall(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::PRBMath_UD60x18_Sqrt_Overflow(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::StackPopUnderflow(element) => ::core::fmt::Display::fmt(element, f), + Self::StalePrice(element) => ::core::fmt::Display::fmt(element, f), + Self::TruncatedEncoding(element) => ::core::fmt::Display::fmt(element, f), + Self::UnexpectedInterpreterBytecodeHash(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::UnexpectedOpMetaHash(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::UnexpectedPointers(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::UnexpectedStoreBytecodeHash(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WriteError(element) => ::core::fmt::Display::fmt(element, f), + Self::ZeroInputs(element) => ::core::fmt::Display::fmt(element, f), + Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), + } + } + } + impl ::core::convert::From<::std::string::String> + for RainterpreterExpressionDeployerNPErrors { + fn from(value: String) -> Self { + Self::RevertString(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: BadDynamicLength) -> Self { + Self::BadDynamicLength(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: DoWhileMaxInputs) -> Self { + Self::DoWhileMaxInputs(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: InsufficientLoopOutputs) -> Self { + Self::InsufficientLoopOutputs(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: MinFinalStack) -> Self { + Self::MinFinalStack(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: MinStackBottom) -> Self { + Self::MinStackBottom(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: MissingEntrypoint) -> Self { + Self::MissingEntrypoint(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: NotPosIntPrice) -> Self { + Self::NotPosIntPrice(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: OutOfBoundsConstantsRead) -> Self { + Self::OutOfBoundsConstantsRead(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: OutOfBoundsStackRead) -> Self { + Self::OutOfBoundsStackRead(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_MulDiv18_Overflow) -> Self { + Self::PRBMath_MulDiv18_Overflow(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_MulDiv_Overflow) -> Self { + Self::PRBMath_MulDiv_Overflow(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_UD60x18_Ceil_Overflow) -> Self { + Self::PRBMath_UD60x18_Ceil_Overflow(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_UD60x18_Exp2_InputTooBig) -> Self { + Self::PRBMath_UD60x18_Exp2_InputTooBig(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_UD60x18_Exp_InputTooBig) -> Self { + Self::PRBMath_UD60x18_Exp_InputTooBig(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_UD60x18_Gm_Overflow) -> Self { + Self::PRBMath_UD60x18_Gm_Overflow(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_UD60x18_Log_InputTooSmall) -> Self { + Self::PRBMath_UD60x18_Log_InputTooSmall(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: PRBMath_UD60x18_Sqrt_Overflow) -> Self { + Self::PRBMath_UD60x18_Sqrt_Overflow(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: StackPopUnderflow) -> Self { + Self::StackPopUnderflow(value) + } + } + impl ::core::convert::From for RainterpreterExpressionDeployerNPErrors { + fn from(value: StalePrice) -> Self { + Self::StalePrice(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: TruncatedEncoding) -> Self { + Self::TruncatedEncoding(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: UnexpectedInterpreterBytecodeHash) -> Self { + Self::UnexpectedInterpreterBytecodeHash(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: UnexpectedOpMetaHash) -> Self { + Self::UnexpectedOpMetaHash(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: UnexpectedPointers) -> Self { + Self::UnexpectedPointers(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPErrors { + fn from(value: UnexpectedStoreBytecodeHash) -> Self { + Self::UnexpectedStoreBytecodeHash(value) + } + } + impl ::core::convert::From for RainterpreterExpressionDeployerNPErrors { + fn from(value: WriteError) -> Self { + Self::WriteError(value) + } + } + impl ::core::convert::From for RainterpreterExpressionDeployerNPErrors { + fn from(value: ZeroInputs) -> Self { + Self::ZeroInputs(value) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "DISpair", abi = "DISpair(address,address,address,address,bytes)")] + pub struct DispairFilter { + pub sender: ::ethers::core::types::Address, + pub deployer: ::ethers::core::types::Address, + pub interpreter: ::ethers::core::types::Address, + pub store: ::ethers::core::types::Address, + pub op_meta: ::ethers::core::types::Bytes, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "ExpressionAddress", abi = "ExpressionAddress(address,address)")] + pub struct ExpressionAddressFilter { + pub sender: ::ethers::core::types::Address, + pub expression: ::ethers::core::types::Address, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "NewExpression", + abi = "NewExpression(address,bytes[],uint256[],uint256[])" + )] + pub struct NewExpressionFilter { + pub sender: ::ethers::core::types::Address, + pub sources: ::std::vec::Vec<::ethers::core::types::Bytes>, + pub constants: ::std::vec::Vec<::ethers::core::types::U256>, + pub min_outputs: ::std::vec::Vec<::ethers::core::types::U256>, + } + ///Container type for all of the contract's events + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum RainterpreterExpressionDeployerNPEvents { + DispairFilter(DispairFilter), + ExpressionAddressFilter(ExpressionAddressFilter), + NewExpressionFilter(NewExpressionFilter), + } + impl ::ethers::contract::EthLogDecode for RainterpreterExpressionDeployerNPEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = DispairFilter::decode_log(log) { + return Ok( + RainterpreterExpressionDeployerNPEvents::DispairFilter(decoded), + ); + } + if let Ok(decoded) = ExpressionAddressFilter::decode_log(log) { + return Ok( + RainterpreterExpressionDeployerNPEvents::ExpressionAddressFilter( + decoded, + ), + ); + } + if let Ok(decoded) = NewExpressionFilter::decode_log(log) { + return Ok( + RainterpreterExpressionDeployerNPEvents::NewExpressionFilter(decoded), + ); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for RainterpreterExpressionDeployerNPEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::DispairFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::ExpressionAddressFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::NewExpressionFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + } + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPEvents { + fn from(value: DispairFilter) -> Self { + Self::DispairFilter(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPEvents { + fn from(value: ExpressionAddressFilter) -> Self { + Self::ExpressionAddressFilter(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPEvents { + fn from(value: NewExpressionFilter) -> Self { + Self::NewExpressionFilter(value) + } + } + ///Container type for all input parameters for the `deployExpression` function with signature `deployExpression(bytes[],uint256[],uint256[])` and selector `0x5511cb67` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "deployExpression", + abi = "deployExpression(bytes[],uint256[],uint256[])" + )] + pub struct DeployExpressionCall { + pub sources: ::std::vec::Vec<::ethers::core::types::Bytes>, + pub constants: ::std::vec::Vec<::ethers::core::types::U256>, + pub min_outputs: ::std::vec::Vec<::ethers::core::types::U256>, + } + ///Container type for all input parameters for the `interpreter` function with signature `interpreter()` and selector `0x3a35cf17` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "interpreter", abi = "interpreter()")] + pub struct InterpreterCall; + ///Container type for all input parameters for the `store` function with signature `store()` and selector `0x975057e7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "store", abi = "store()")] + pub struct StoreCall; + ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] + pub struct SupportsInterfaceCall { + pub interface_id: [u8; 4], + } + ///Container type for all of the contract's call + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum RainterpreterExpressionDeployerNPCalls { + DeployExpression(DeployExpressionCall), + Interpreter(InterpreterCall), + Store(StoreCall), + SupportsInterface(SupportsInterfaceCall), + } + impl ::ethers::core::abi::AbiDecode for RainterpreterExpressionDeployerNPCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::DeployExpression(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Interpreter(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Store(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SupportsInterface(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for RainterpreterExpressionDeployerNPCalls { + fn encode(self) -> Vec { + match self { + Self::DeployExpression(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Interpreter(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Store(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SupportsInterface(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for RainterpreterExpressionDeployerNPCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::DeployExpression(element) => ::core::fmt::Display::fmt(element, f), + Self::Interpreter(element) => ::core::fmt::Display::fmt(element, f), + Self::Store(element) => ::core::fmt::Display::fmt(element, f), + Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPCalls { + fn from(value: DeployExpressionCall) -> Self { + Self::DeployExpression(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPCalls { + fn from(value: InterpreterCall) -> Self { + Self::Interpreter(value) + } + } + impl ::core::convert::From for RainterpreterExpressionDeployerNPCalls { + fn from(value: StoreCall) -> Self { + Self::Store(value) + } + } + impl ::core::convert::From + for RainterpreterExpressionDeployerNPCalls { + fn from(value: SupportsInterfaceCall) -> Self { + Self::SupportsInterface(value) + } + } + ///Container type for all return fields from the `deployExpression` function with signature `deployExpression(bytes[],uint256[],uint256[])` and selector `0x5511cb67` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct DeployExpressionReturn( + pub ::ethers::core::types::Address, + pub ::ethers::core::types::Address, + pub ::ethers::core::types::Address, + ); + ///Container type for all return fields from the `interpreter` function with signature `interpreter()` and selector `0x3a35cf17` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct InterpreterReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `store` function with signature `store()` and selector `0x975057e7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct StoreReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SupportsInterfaceReturn(pub bool); +} diff --git a/subgraph/docker/docker-compose.yaml b/subgraph/docker/docker-compose.yaml index bba9fc234e..11e4503df8 100644 --- a/subgraph/docker/docker-compose.yaml +++ b/subgraph/docker/docker-compose.yaml @@ -1,5 +1,9 @@ version: '3' services: + evm_node: + image: vishalkale151071/hardhat-node + ports: + - '8545:8545' graph-node: image: graphprotocol/graph-node:97e0adc ports: diff --git a/subgraph/flake.lock b/subgraph/flake.lock index 5244bc37be..f054a3db8d 100644 --- a/subgraph/flake.lock +++ b/subgraph/flake.lock @@ -18,42 +18,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1687171271, - "narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "naersk": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1686572087, - "narHash": "sha256-jXTut7ZSYqLEgm/nTk7TuVL2ExahTip605bLINklAnQ=", - "owner": "nix-community", - "repo": "naersk", - "rev": "8507af04eb40c5520bd35d9ce6f9d2342cea5ad1", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "naersk", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1696019113, @@ -70,61 +34,10 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1687518131, - "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1687518131, - "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "subgraph-cli": "subgraph-cli" - } - }, - "subgraph-cli": { - "inputs": { - "flake-utils": "flake-utils_2", - "naersk": "naersk", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1696298217, - "narHash": "sha256-2SEJE2YTRPipiKWcB8X65lVYpqLEMgfRR7GJjnf/rRU=", - "owner": "rainprotocol", - "repo": "rain.subgraph-cli", - "rev": "bf4bd6f51bd734050c41f0cb97a6c752d2b65c67", - "type": "github" - }, - "original": { - "owner": "rainprotocol", - "repo": "rain.subgraph-cli", - "type": "github" + "nixpkgs": "nixpkgs" } }, "systems": { @@ -141,21 +54,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 04d17a28cb..979b99f27a 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -4,23 +4,66 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - subgraph-cli.url = "github:rainprotocol/rain.subgraph-cli"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = {self, nixpkgs, subgraph-cli, flake-utils }: + outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; - rain-sg-cli = "${subgraph-cli.defaultPackage.${system}}/bin/rain_subgraph_cli"; in rec { packages = rec { - install = pkgs.writeShellScriptBin "install" (''${rain-sg-cli} install''); + install = pkgs.writeShellScriptBin "install" ("npm install"); + + build = pkgs.writeShellScriptBin "build" ("npm run codegen && npm run build"); + + init-setup = pkgs.writeShellScriptBin "init-setup" ('' + # NOTE: This should be called after `npm install` + + # Generating the contracts. This way, they will be updating by commit + forge build --root ../ + + # Copying the new abis into the SG abi folder + cp ../out/OrderBook.sol/OrderBook.json ./abis/ + cp ../out/ERC20.sol/ERC20.json ./abis/ReserveToken.json + '' + ); + + docker-up = pkgs.writeShellScriptBin "docker-up" '' + docker-compose -f docker/docker-compose.yaml up --build -d + ''; + + docker-down = pkgs.writeShellScriptBin "docker-down" '' + docker-compose -f docker/docker-compose.yaml down + ''; + + + check-args = pkgs.writeShellScriptBin "check-args" ('' + echo "All parameters: $@" + echo "First parameter: $1" + echo "Second parameter: $2" + ''); + + run-anvil = pkgs.writeShellScriptBin "run-anvil" ('' + anvil -m "$(cat ./test-mnemonic)" + ''); + + end-anvil = pkgs.writeShellScriptBin "end-anvil" ('' + kill -9 $(lsof -t -i :8545) + ''); + + ci-test = pkgs.writeShellScriptBin "ci-test" ('' + clear; + cargo test -- --nocapture; + kill -9 $(lsof -t -i :8545); + ''); + + default = install; + }; } ); - } diff --git a/subgraph/package-lock.json b/subgraph/package-lock.json index a1c4cba6ac..494934325b 100644 --- a/subgraph/package-lock.json +++ b/subgraph/package-lock.json @@ -7318,7 +7318,6 @@ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "dev": true, - "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { @@ -7707,7 +7706,6 @@ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "dev": true, - "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { diff --git a/subgraph/test-mnemonic b/subgraph/test-mnemonic new file mode 100644 index 0000000000..66eeda6e36 --- /dev/null +++ b/subgraph/test-mnemonic @@ -0,0 +1 @@ +test test test test test test test test test test test junk \ No newline at end of file diff --git a/subgraph/tests/ReserveToken.json b/subgraph/tests/ReserveToken.json deleted file mode 100644 index a067d178bf..0000000000 --- a/subgraph/tests/ReserveToken.json +++ /dev/null @@ -1,390 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ReserveToken", - "sourceName": "contracts/test/testToken/ReserveToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TOTAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account_", - "type": "address" - } - ], - "name": "addFreezable", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "freezables", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061164d806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80635bb9058b116100b2578063902d55a511610081578063a457c2d711610066578063a457c2d7146102c1578063a9059cbb146102d4578063dd62ed3e146102e757600080fd5b8063902d55a5146102b157806395d89b41146102b957600080fd5b80635bb9058b1461020357806370a082311461026057806379cc6790146102965780638129fc1c146102a957600080fd5b80632e0f26251161010957806339509351116100ee57806339509351146101b857806342966c68146101cb57806348422faa146101e057600080fd5b80632e0f2625146101a1578063313ce567146101a957600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361032d565b6040516101509190611156565b60405180910390f35b61016c6101673660046111eb565b6103bf565b6040519015158152602001610150565b6035545b604051908152602001610150565b61016c61019c366004611215565b6103d9565b610180600681565b60405160068152602001610150565b61016c6101c63660046111eb565b6103fd565b6101de6101d9366004611251565b610449565b005b61016c6101ee36600461126a565b60976020526000908152604090205460ff1681565b6101de61021136600461126a565b73ffffffffffffffffffffffffffffffffffffffff16600090815260976020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b61018061026e36600461126a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b6101de6102a43660046111eb565b610456565b6101de61046f565b610180610691565b6101436106ab565b61016c6102cf3660046111eb565b6106ba565b61016c6102e23660046111eb565b61078b565b6101806102f536600461128c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b60606036805461033c906112bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906112bf565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b5050505050905090565b6000336103cd818585610799565b60019150505b92915050565b6000336103e785828561094d565b6103f2858585610a24565b506001949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103cd9082908690610444908790611341565b610799565b6104533382610ca5565b50565b61046182338361094d565b61046b8282610ca5565b5050565b600054610100900460ff161580801561048f5750600054600160ff909116105b806104a95750303b1580156104a9575060005460ff166001145b61053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61060c6040518060400160405280600b81526020017f55534420436c61737369630000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5553444343000000000000000000000000000000000000000000000000000000815250610e74565b61062c3361061c60066009611341565b61062790600a611474565b610f15565b801561045357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61069d60066009611341565b6106a890600a611474565b81565b60606037805461033c906112bf565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610531565b6103f28286868403610799565b6000336103cd818585610a24565b73ffffffffffffffffffffffffffffffffffffffff831661083b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff82166108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a1e5781811015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610531565b610a1e8484848403610799565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff8216610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610531565b610b75838383611016565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c989086815260200190565b60405180910390a3610a1e565b73ffffffffffffffffffffffffffffffffffffffff8216610d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610531565b610d5482600083611016565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610531565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610940565b505050565b600054610100900460ff16610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b61046b82826110a6565b73ffffffffffffffffffffffffffffffffffffffff8216610f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610531565b610f9e60008383611016565b8060356000828254610fb09190611341565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205460ff1615610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f46524f5a454e00000000000000000000000000000000000000000000000000006044820152606401610531565b600054610100900460ff1661113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610531565b603661114983826114fd565b506037610e6f82826114fd565b600060208083528351808285015260005b8181101561118357858101830151858201604001528201611167565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111e657600080fd5b919050565b600080604083850312156111fe57600080fd5b611207836111c2565b946020939093013593505050565b60008060006060848603121561122a57600080fd5b611233846111c2565b9250611241602085016111c2565b9150604084013590509250925092565b60006020828403121561126357600080fd5b5035919050565b60006020828403121561127c57600080fd5b611285826111c2565b9392505050565b6000806040838503121561129f57600080fd5b6112a8836111c2565b91506112b6602084016111c2565b90509250929050565b600181811c908216806112d357607f821691505b60208210810361130c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d3576103d3611312565b600181815b808511156113ad57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561139357611393611312565b808516156113a057918102915b93841c9390800290611359565b509250929050565b6000826113c4575060016103d3565b816113d1575060006103d3565b81600181146113e757600281146113f15761140d565b60019150506103d3565b60ff84111561140257611402611312565b50506001821b6103d3565b5060208310610133831016604e8410600b8410161715611430575081810a6103d3565b61143a8383611354565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561146c5761146c611312565b029392505050565b600061128583836113b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610e6f57600081815260208120601f850160051c810160208610156114d65750805b601f850160051c820191505b818110156114f5578281556001016114e2565b505050505050565b815167ffffffffffffffff81111561151757611517611480565b61152b8161152584546112bf565b846114af565b602080601f83116001811461157e57600084156115485750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556114f5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156115cb578886015182559484019460019091019084016115ac565b508582101561160757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220317cb47c7312df13f9e4eb737c061ff57d9e5e7d01b40cc28e033aa61c953ed564736f6c63430008130033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs index 8075b5bf7c..295dc36701 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/deploy_orderbook.rs @@ -1,44 +1,88 @@ -// use utils::{ -// deploy::{deploy1820::deploy1820, deploy_orderbook::deploy_orderbook}, -// utils::deploy_anvil_and_docker, -// }; +mod generated; +mod utils; -// use ethers::contract::Abigen; +use anyhow::Result; +use ethers::abi::{Address, Bytes, Token}; +use ethers::contract::ContractFactory; +use generated::{RAINTERPRETEREXPRESSIONDEPLOYER_ABI, RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE}; +use hex::FromHex; +use utils::{ + deploy::meta_getter::get_authoring_meta, + deploy::touch_deployer::{ + deploy_touch_deployer, rainterpreter_deploy, rainterpreter_store_deploy, + }, + setup::{get_provider, is_sugraph_node_init}, + utils::get_wallet, +}; -use std::process::Command; +use ethers::{prelude::SignerMiddleware, providers::Middleware, signers::Signer}; + +use std::{ + fs::File, + io::{BufReader, Read}, + sync::Arc, +}; -mod utils; #[tokio::main] #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { - println!("Hello my man"); - // let command = "forge"; - // let args = vec!["build", "--root", "../"]; - - // let mut cmd = Command::new(command); - // cmd.args(args); - - // let output = cmd.output().expect("Failed to run command"); - - // if output.status.success() { - // println!( - // "SUCCESS, OUTPUT: \n{}", - // String::from_utf8_lossy(&output.stdout) - // ); - // } else { - // eprintln!( - // "FAILED, OUTPUT: \n{}", - // String::from_utf8_lossy(&output.stdout) - // ); - // } - - assert!(true, "test_1"); - // Abigen::new("TokenReserve", "./ReserveToken.json")? - // .generate()? - // .write_to_file("token.rs")?; - // let anvil = deploy_anvil_and_docker()?; - // deploy1820(&anvil).await?; - // deploy_orderbook(&anvil).await?; + // let rain_address = rainterpreter_deploy(None) + // .await + // .expect("cannot deploy rainiterpreter"); + + // println!("rain_address: {:?}", rain_address); + + // let store_address = rainterpreter_store_deploy(None) + // .await + // .expect("cannot deploy store_address"); + // println!("store_address: {:?}", store_address); + + // let meta_vec = meta_bytes.clone().to_vec(); + + // let aver = &[Token::Tuple( + // [ + // Token::Address(rain_address), + // Token::Address(store_address), + // Token::Bytes(meta_vec), + // ] + // .to_vec(), + // )]; + + let wallet = get_wallet(0); + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.with_chain_id(chain_id.as_u64()), + )); + + let check = ContractFactory::new( + RAINTERPRETEREXPRESSIONDEPLOYER_ABI.clone(), + RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE.clone(), + client, + ); + + let rain_address = Address::random(); + let store_address = Address::random(); + let meta_bytes = get_authoring_meta().await; + let meta_vec = meta_bytes.to_vec(); + + let params = vec![Token::Tuple(vec![ + Token::Address(rain_address), + Token::Address(store_address), + Token::Bytes(meta_vec), + ])]; + + let tx_aver = check.deploy_tokens(params).expect("failed deploy tokens"); + + let resp = tx_aver.legacy().send().await.expect("failed at send tx"); + + // let sg_check = is_sugraph_node_init() + // .await + // .expect("cannot get nothing from sg"); + + // println!("sg_check: {}", sg_check); Ok(()) } diff --git a/subgraph/tests/generated/mod.rs b/subgraph/tests/generated/mod.rs new file mode 100644 index 0000000000..4f375f9852 --- /dev/null +++ b/subgraph/tests/generated/mod.rs @@ -0,0 +1,16 @@ +use ethers::prelude::abigen; + +abigen!( + RainterpreterExpressionDeployer, + "tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json", + derives(serde::Deserialize, serde::Serialize); + + Rainterpreter, + "tests/utils/deploy/touch_deployer/Rainterpreter.json"; + + RainterpreterStore, + "tests/utils/deploy/touch_deployer/RainterpreterStore.json"; + + AuthoringMetaGetter, + "tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json" +); diff --git a/subgraph/tests/utils/deploy/deploy1820/mod.rs b/subgraph/tests/utils/deploy/deploy1820/mod.rs index 5fcd249986..2b4c0e6b89 100644 --- a/subgraph/tests/utils/deploy/deploy1820/mod.rs +++ b/subgraph/tests/utils/deploy/deploy1820/mod.rs @@ -8,10 +8,7 @@ use ethers::{ use std::io::Read; use std::{fs::File, time::Duration}; -pub async fn deploy1820(anvil: &AnvilInstance) -> anyhow::Result<()> { - let provider = - Provider::::try_from(anvil.endpoint())?.interval(Duration::from_millis(10)); - +pub async fn deploy1820(provider: &Provider) -> anyhow::Result<()> { let signature_address: NameOrAddress = "0xa990077c3205cbDf861e17Fa532eeB069cE9fF96".parse()?; let registry_address = "0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24"; let cost: U256 = U256::from("80000000000000000"); @@ -30,7 +27,12 @@ pub async fn deploy1820(anvil: &AnvilInstance) -> anyhow::Result<()> { let code = provider.get_code(registry_address, block.into()).await?; if code == Bytes::default() { - let deployer = anvil.addresses()[0]; + // let deployer = anvil.addresses()[0]; + let deployer = provider + .get_accounts() + .await + .expect("Not deployer [1820Registry]")[0]; + let nonce = provider .get_transaction_count(deployer, block.into()) .await?; diff --git a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs index 9cf78c77e1..4da53c8623 100644 --- a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs @@ -2,13 +2,13 @@ use ethers::utils::AnvilInstance; use super::touch_deployer::deploy_touch_deployer; -pub async fn deploy_orderbook(anvil: &AnvilInstance) -> anyhow::Result<()> { - let _touch_deployer = deploy_touch_deployer(anvil).await?; - // let mut json = String::new(); - // let mut file = File::open("tests/utils/deploy/deploy_orderbook/OrderBook.json")?; - // file.read_to_string(&mut json)?; +// pub async fn deploy_orderbook(anvil: &AnvilInstance) -> anyhow::Result<()> { +// let _touch_deployer = deploy_touch_deployer(anvil).await?; +// // let mut json = String::new(); +// // let mut file = File::open("tests/utils/deploy/deploy_orderbook/OrderBook.json")?; +// // file.read_to_string(&mut json)?; - // let json: Value = serde_json::from_str(&json)?; +// // let json: Value = serde_json::from_str(&json)?; - Ok(()) -} +// Ok(()) +// } diff --git a/subgraph/tests/utils/deploy/meta_getter/AuthoringMetaGetter.json b/subgraph/tests/utils/deploy/meta_getter/AuthoringMetaGetter.json new file mode 100644 index 0000000000..2182c8c824 --- /dev/null +++ b/subgraph/tests/utils/deploy/meta_getter/AuthoringMetaGetter.json @@ -0,0 +1,1727 @@ +{ + "abi": [ + { + "inputs": [], + "name": "getAuthoringMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b506124d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", + "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", + "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;377:12;409:35;:33;:35::i;:::-;402:42;;326:125;:::o;2522:11731:36:-;-1:-1:-1;;;2570:12:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;2642:60:36;:11343;;;;;;;;2719:17;2642:11343;;;;2827:101;;;;;;;;;;;;;295:4:76;2827:101:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;2942:103;;;;;;;;;;;;;295:4:76;2942:103:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3145:242;;;;;;;;;;;;;366:4:76;3145:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3401:151;;;;;;;;;;;;;241:1:76;3401:151:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3566:92;;;;;;;;;;;;;241:1:76;3566:92:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3672:84;;;;;;;;;;;;;241:1:76;3672:84:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3770:189;;;;;;;;;;;;;241:1:76;3770:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3973:203;;;;;;;;;;;;;241:1:76;3973:203:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4190:98;;;;;;;;;;;;;241:1:76;4190:98:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4302:189;;;;;;;;;;;;;241:1:76;4302:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4505:385;;;;;;;;;;;;;295:4:76;4505:385:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4904:315;;;;;;;;;;;;;295:4:76;4904:315:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5233:102;;;;;;;;;;;;;241:1:76;5233:102:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5349:187;;;;;;;;;;;;;241:1:76;5349:187:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5550:196;;;;;;;;;;;;;241:1:76;5550:196:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5760:220;;;;;;;;;;;;;241:1:76;5760:220:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5994:236;;;;;;;;;;;;;241:1:76;5994:236:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6244:95;;;;;;;;;;;;;241:1:76;6244:95:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6353:190;;;;;;;;;;;;;241:1:76;6353:190:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6557:214;;;;;;;;;;;;;241:1:76;6557:214:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6785:260;;;;;;;;;;;;;241:1:76;6785:260:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7059:290;;;;;;;;;;;;;241:1:76;7059:290:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7363:394;;;;;;;;;;;;;417:4:76;7363:394:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7771:480;;;;;;;;;;;;;470:4:76;7771:480:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8265:478;;;;;;;;;;;;;470:4:76;8265:478:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8901:242;;;;;;;;;;;;;241:1:76;8901:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9157:278;;;;;;;;;;;;;241:1:76;9157:278:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9449:224;;;;;;;;;;;;;241:1:76;9449:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9687:284;;;;;;;;;;;;;241:1:76;9687:284:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10129:189;;;;;;;;;;;;;241:1:76;10129:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10332:225;;;;;;;;;;;;;241:1:76;10332:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10715:189;;;;;;;;;;;;;241:1:76;10715:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10918:225;;;;;;;;;;;;;241:1:76;10918:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11157:224;;;;;;;;;;;;;241:1:76;11157:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11395:254;;;;;;;;;;;;;241:1:76;11395:254:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11807:251;;;;;;;;;;;;;241:1:76;11807:251:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12072:287;;;;;;;;;;;;;241:1:76;12072:287:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12373:186;;;;;;;;;;;;;241:1:76;12373:186:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12573:224;;;;;;;;;;;;;241:1:76;12573:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12811:576;;;;;;;;;;;;;295:4:76;12811:576:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;13401:574;;;;;;;;;;;;;295:4:76;13401:574:36;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;2305:2;14168:28;;;14222:24;;2642:11343;;-1:-1:-1;2642:11343:36;;14222:24;;2642:11343;;14222:24;;;:::i;:::-;;;;;;;;;;;;;14215:31;;;;;;2522:11731;:::o;14:481:91:-;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;484:4;414:66;409:2;401:6;397:15;393:88;388:3;384:98;380:109;373:116;;;14:481;;;;:::o;500:217::-;647:2;636:9;629:21;610:4;667:44;707:2;696:9;692:18;684:6;667:44;:::i;:::-;659:52;500:217;-1:-1:-1;;;500:217:91:o;722:1193::-;928:4;957:2;997;986:9;982:18;1027:2;1016:9;1009:21;1050:6;1085;1079:13;1116:6;1108;1101:22;1142:2;1132:12;;1175:2;1164:9;1160:18;1153:25;;1237:2;1227:6;1224:1;1220:14;1209:9;1205:30;1201:39;1275:2;1267:6;1263:15;1296:1;1306:580;1320:6;1317:1;1314:13;1306:580;;;1385:22;;;1409:66;1381:95;1369:108;;1500:13;;1568:9;;1553:25;;1625:11;;;1619:18;1639:4;1615:29;1598:15;;;1591:54;1684:11;;1678:18;1536:4;1716:15;;;1709:27;;;1759:47;1790:15;;;1678:18;1759:47;:::i;:::-;1864:12;;;;1749:57;-1:-1:-1;;;1829:15:91;;;;1342:1;1335:9;1306:580;;;-1:-1:-1;1903:6:91;;722:1193;-1:-1:-1;;;;;;;;722:1193:91:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "getAuthoringMeta()": "c316e48a" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAuthoringMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"AuthoringMetaGetter A contract to obtain the current AuthoringMeta of the interpreter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/util/concrete/AuthoringMetaGetter.sol\":\"AuthoringMetaGetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"test/util/concrete/AuthoringMetaGetter.sol\":{\"keccak256\":\"0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4\",\"dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "getAuthoringMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "test/util/concrete/AuthoringMetaGetter.sol": "AuthoringMetaGetter" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/Common.sol": { + "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", + "urls": [ + "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", + "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { + "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", + "urls": [ + "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", + "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { + "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", + "urls": [ + "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", + "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { + "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", + "urls": [ + "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", + "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { + "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", + "urls": [ + "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", + "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { + "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", + "urls": [ + "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", + "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { + "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", + "urls": [ + "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", + "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { + "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", + "urls": [ + "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", + "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { + "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", + "urls": [ + "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", + "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { + "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", + "urls": [ + "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", + "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { + "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", + "urls": [ + "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", + "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { + "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", + "urls": [ + "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", + "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { + "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", + "urls": [ + "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", + "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { + "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", + "urls": [ + "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", + "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { + "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", + "urls": [ + "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", + "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { + "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", + "urls": [ + "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", + "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { + "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", + "urls": [ + "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", + "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { + "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", + "urls": [ + "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", + "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { + "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", + "urls": [ + "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", + "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { + "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", + "urls": [ + "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", + "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { + "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", + "urls": [ + "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", + "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { + "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", + "urls": [ + "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", + "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { + "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", + "urls": [ + "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", + "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { + "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", + "urls": [ + "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", + "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", + "urls": [ + "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", + "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { + "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", + "urls": [ + "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", + "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" + ], + "license": null + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { + "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", + "urls": [ + "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", + "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" + ], + "license": null + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { + "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", + "urls": [ + "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", + "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { + "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", + "urls": [ + "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", + "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { + "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", + "urls": [ + "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", + "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { + "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", + "urls": [ + "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", + "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { + "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", + "urls": [ + "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", + "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { + "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", + "urls": [ + "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", + "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { + "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", + "urls": [ + "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", + "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { + "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", + "urls": [ + "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", + "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { + "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", + "urls": [ + "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", + "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { + "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", + "urls": [ + "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", + "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { + "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", + "urls": [ + "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", + "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { + "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", + "urls": [ + "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", + "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { + "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", + "urls": [ + "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", + "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { + "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", + "urls": [ + "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", + "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { + "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", + "urls": [ + "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", + "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { + "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", + "urls": [ + "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", + "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { + "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", + "urls": [ + "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", + "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { + "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", + "urls": [ + "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", + "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { + "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", + "urls": [ + "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", + "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { + "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", + "urls": [ + "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", + "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { + "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", + "urls": [ + "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", + "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { + "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", + "urls": [ + "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", + "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { + "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", + "urls": [ + "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", + "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { + "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", + "urls": [ + "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", + "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { + "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", + "urls": [ + "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", + "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { + "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", + "urls": [ + "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", + "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { + "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", + "urls": [ + "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", + "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { + "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", + "urls": [ + "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", + "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { + "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", + "urls": [ + "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", + "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { + "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", + "urls": [ + "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", + "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { + "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", + "urls": [ + "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", + "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { + "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", + "urls": [ + "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", + "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { + "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", + "urls": [ + "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", + "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { + "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", + "urls": [ + "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", + "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { + "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", + "urls": [ + "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", + "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { + "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", + "urls": [ + "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", + "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { + "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", + "urls": [ + "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", + "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { + "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", + "urls": [ + "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", + "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { + "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", + "urls": [ + "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", + "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { + "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", + "urls": [ + "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", + "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParse.sol": { + "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", + "urls": [ + "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", + "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { + "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", + "urls": [ + "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", + "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { + "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", + "urls": [ + "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", + "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { + "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", + "urls": [ + "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", + "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { + "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", + "urls": [ + "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", + "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { + "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", + "urls": [ + "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", + "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { + "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", + "urls": [ + "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", + "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { + "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", + "urls": [ + "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", + "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { + "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", + "urls": [ + "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", + "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { + "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", + "urls": [ + "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", + "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { + "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", + "urls": [ + "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", + "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemory.sol": { + "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", + "urls": [ + "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", + "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibStackPointer.sol": { + "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", + "urls": [ + "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", + "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + }, + "test/util/concrete/AuthoringMetaGetter.sol": { + "keccak256": "0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07", + "urls": [ + "bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4", + "dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "test/util/concrete/AuthoringMetaGetter.sol", + "id": 23766, + "exportedSymbols": { + "ALL_STANDARD_OPS_LENGTH": [ + 9651 + ], + "Address": [ + 329 + ], + "AuthoringMeta": [ + 20252 + ], + "AuthoringMetaGetter": [ + 23765 + ], + "B_1": [ + 8105 + ], + "B_11": [ + 8113 + ], + "B_111": [ + 8121 + ], + "B_1111": [ + 8129 + ], + "B_11111": [ + 8137 + ], + "B_111111": [ + 8145 + ], + "B_1111111": [ + 8153 + ], + "B_11111111": [ + 8161 + ], + "B_111111111": [ + 8169 + ], + "B_1111111111": [ + 8177 + ], + "B_11111111111": [ + 8185 + ], + "B_111111111111": [ + 8193 + ], + "B_1111111111111": [ + 8201 + ], + "B_11111111111111": [ + 8209 + ], + "B_111111111111111": [ + 8217 + ], + "B_1111111111111111": [ + 8225 + ], + "BadDynamicLength": [ + 9647 + ], + "BadOpInputsLength": [ + 8999 + ], + "Casting": [ + 7984 + ], + "CastingErrors": [ + 6197 + ], + "Common": [ + 7228 + ], + "DEFAULT_STATE_NAMESPACE": [ + 8650 + ], + "E": [ + 6510 + ], + "EXP2_MAX_INPUT": [ + 6534 + ], + "EXP_MAX_INPUT": [ + 6521 + ], + "EncodedDispatch": [ + 8638 + ], + "EnsureFailed": [ + 11089 + ], + "EntrypointMinOutputs": [ + 8990 + ], + "EntrypointMissing": [ + 8974 + ], + "EntrypointNonZeroInput": [ + 8981 + ], + "Errors": [ + 7229 + ], + "FIXED_POINT_DECIMALS": [ + 22464 + ], + "FIXED_POINT_ONE": [ + 22468 + ], + "FLAG_MAX_INT": [ + 22484 + ], + "FLAG_ROUND_UP": [ + 22472 + ], + "FLAG_SATURATE": [ + 22478 + ], + "FullyQualifiedNamespace": [ + 8599 + ], + "HALF_UNIT": [ + 6545 + ], + "Helpers": [ + 7985 + ], + "IInterpreterStoreV1": [ + 8631 + ], + "IInterpreterV1": [ + 8681 + ], + "IUniswapV2Factory": [ + 8352 + ], + "IUniswapV2Pair": [ + 8594 + ], + "IntegrityCheckStateNP": [ + 9044 + ], + "InterpreterStateNP": [ + 21951 + ], + "LOG2_10": [ + 6556 + ], + "LOG2_E": [ + 6567 + ], + "LibAllStandardOpsNP": [ + 10208 + ], + "LibBytecode": [ + 8963 + ], + "LibBytes": [ + 23191 + ], + "LibConvert": [ + 8095 + ], + "LibFixedPointDecimalScale": [ + 22894 + ], + "LibIntegrityCheckNP": [ + 9362 + ], + "LibInterpreterStateNP": [ + 21996 + ], + "LibMemCpy": [ + 23223 + ], + "LibMemory": [ + 23234 + ], + "LibMemoryKV": [ + 22458 + ], + "LibNamespace": [ + 9380 + ], + "LibOpAnyNP": [ + 10891 + ], + "LibOpBlockNumberNP": [ + 10520 + ], + "LibOpChainIdNP": [ + 10599 + ], + "LibOpConditionsNP": [ + 11077 + ], + "LibOpConstantNP": [ + 9500 + ], + "LibOpContextNP": [ + 10351 + ], + "LibOpDecimal18DivNP": [ + 12186 + ], + "LibOpDecimal18MulNP": [ + 12407 + ], + "LibOpDecimal18Scale18DynamicNP": [ + 12518 + ], + "LibOpDecimal18Scale18NP": [ + 12635 + ], + "LibOpDecimal18ScaleNNP": [ + 12752 + ], + "LibOpEnsureNP": [ + 11246 + ], + "LibOpEqualToNP": [ + 11330 + ], + "LibOpEveryNP": [ + 11457 + ], + "LibOpGetNP": [ + 14294 + ], + "LibOpGreaterThanNP": [ + 11541 + ], + "LibOpGreaterThanOrEqualToNP": [ + 11625 + ], + "LibOpHashNP": [ + 10441 + ], + "LibOpIfNP": [ + 11711 + ], + "LibOpIntAddNP": [ + 12915 + ], + "LibOpIntDivNP": [ + 13078 + ], + "LibOpIntExpNP": [ + 13247 + ], + "LibOpIntMaxNP": [ + 13427 + ], + "LibOpIntMinNP": [ + 13607 + ], + "LibOpIntModNP": [ + 13770 + ], + "LibOpIntMulNP": [ + 13933 + ], + "LibOpIntSubNP": [ + 14096 + ], + "LibOpIsZeroNP": [ + 11793 + ], + "LibOpLessThanNP": [ + 11877 + ], + "LibOpLessThanOrEqualToNP": [ + 11961 + ], + "LibOpMaxUint256NP": [ + 10689 + ], + "LibOpSetNP": [ + 14417 + ], + "LibOpStackNP": [ + 9591 + ], + "LibOpTimestampNP": [ + 10768 + ], + "LibOpUniswapV2AmountIn": [ + 14624 + ], + "LibOpUniswapV2AmountOut": [ + 14831 + ], + "LibPointer": [ + 23358 + ], + "LibStackPointer": [ + 23521 + ], + "LibUint256Array": [ + 23749 + ], + "LibUniswapV2": [ + 22367 + ], + "LibWillOverflow": [ + 23113 + ], + "MASK_10BIT": [ + 8265 + ], + "MASK_11BIT": [ + 8269 + ], + "MASK_12BIT": [ + 8273 + ], + "MASK_13BIT": [ + 8277 + ], + "MASK_14BIT": [ + 8281 + ], + "MASK_15BIT": [ + 8285 + ], + "MASK_16BIT": [ + 8289 + ], + "MASK_1BIT": [ + 8229 + ], + "MASK_2BIT": [ + 8233 + ], + "MASK_3BIT": [ + 8237 + ], + "MASK_4BIT": [ + 8241 + ], + "MASK_5BIT": [ + 8245 + ], + "MASK_6BIT": [ + 8249 + ], + "MASK_7BIT": [ + 8253 + ], + "MASK_8BIT": [ + 8257 + ], + "MASK_9BIT": [ + 8261 + ], + "MAX_UD60x18": [ + 6578 + ], + "MAX_UINT128": [ + 1231 + ], + "MAX_UINT40": [ + 1239 + ], + "MAX_WHOLE_UD60x18": [ + 6589 + ], + "Math": [ + 7986 + ], + "MemoryKV": [ + 22371 + ], + "MemoryKVKey": [ + 22373 + ], + "MemoryKVVal": [ + 22375 + ], + "NO_STORE": [ + 8608 + ], + "NoConditionsMet": [ + 10901 + ], + "OPERAND_PARSER_OFFSET_8_M1_M1": [ + 20969 + ], + "OPERAND_PARSER_OFFSET_DISALLOWED": [ + 20957 + ], + "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ + 20963 + ], + "OPERAND_PARSER_OFFSET_M1_M1": [ + 20966 + ], + "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ + 20960 + ], + "OVERFLOW_RESCALE_OOMS": [ + 22488 + ], + "OZMath": [ + 1195 + ], + "Operand": [ + 8642 + ], + "OutOfBoundsConstantRead": [ + 9393 + ], + "OutOfBoundsStackRead": [ + 9514 + ], + "OutOfBoundsTruncate": [ + 23531 + ], + "PI": [ + 6597 + ], + "PRBMath_UD60x18_Ceil_Overflow": [ + 6696 + ], + "PRBMath_UD60x18_Convert_Overflow": [ + 6701 + ], + "PRBMath_UD60x18_Exp2_InputTooBig": [ + 6713 + ], + "PRBMath_UD60x18_Exp_InputTooBig": [ + 6707 + ], + "PRBMath_UD60x18_Gm_Overflow": [ + 6722 + ], + "PRBMath_UD60x18_IntoSD1x18_Overflow": [ + 6728 + ], + "PRBMath_UD60x18_IntoSD59x18_Overflow": [ + 6734 + ], + "PRBMath_UD60x18_IntoUD2x18_Overflow": [ + 6740 + ], + "PRBMath_UD60x18_IntoUint128_Overflow": [ + 6746 + ], + "PRBMath_UD60x18_IntoUint40_Overflow": [ + 6752 + ], + "PRBMath_UD60x18_Log_InputTooSmall": [ + 6758 + ], + "PRBMath_UD60x18_Sqrt_Overflow": [ + 6764 + ], + "Pointer": [ + 23238 + ], + "SD1x18": [ + 3328 + ], + "SD59x18": [ + 5813 + ], + "SourceIndex": [ + 8636 + ], + "SourceOffsetOutOfBounds": [ + 8694 + ], + "StackAllocationMismatch": [ + 9024 + ], + "StackOutputsMismatch": [ + 9031 + ], + "StackUnderflow": [ + 9008 + ], + "StackUnderflowHighwater": [ + 9017 + ], + "StateNamespace": [ + 8640 + ], + "TruncateError": [ + 23123 + ], + "UD2x18": [ + 6184 + ], + "UD60x18": [ + 7988 + ], + "UNIT": [ + 6608 + ], + "UNIT_SQUARED": [ + 6619 + ], + "UnalignedStackPointer": [ + 23369 + ], + "ZERO": [ + 6627 + ], + "add": [ + 6796 + ], + "and": [ + 6819 + ], + "and2": [ + 6845 + ], + "avg": [ + 7289 + ], + "ceil": [ + 7318 + ], + "convert": [ + 6655, + 6686 + ], + "div": [ + 7347 + ], + "eq": [ + 6868 + ], + "exp": [ + 7392 + ], + "exp2": [ + 7438 + ], + "floor": [ + 7450 + ], + "frac": [ + 7462 + ], + "gm": [ + 7529 + ], + "gt": [ + 6891 + ], + "gte": [ + 6914 + ], + "intoSD1x18": [ + 6262 + ], + "intoSD59x18": [ + 6343 + ], + "intoUD2x18": [ + 6301 + ], + "intoUint128": [ + 6395 + ], + "intoUint256": [ + 6360 + ], + "intoUint40": [ + 6430 + ], + "inv": [ + 7551 + ], + "isZero": [ + 6932 + ], + "ln": [ + 7577 + ], + "log10": [ + 7628 + ], + "log2": [ + 7732 + ], + "lshift": [ + 6955 + ], + "lt": [ + 6978 + ], + "lte": [ + 7001 + ], + "mod": [ + 7027 + ], + "mul": [ + 7760 + ], + "neq": [ + 7050 + ], + "not": [ + 7070 + ], + "or": [ + 7096 + ], + "pow": [ + 7867 + ], + "powu": [ + 7939 + ], + "rshift": [ + 7119 + ], + "sqrt": [ + 7981 + ], + "sub": [ + 7145 + ], + "uEXP2_MAX_INPUT": [ + 6527 + ], + "uEXP_MAX_INPUT": [ + 6514 + ], + "uHALF_UNIT": [ + 6538 + ], + "uLOG2_10": [ + 6549 + ], + "uLOG2_E": [ + 6560 + ], + "uMAX_SD1x18": [ + 3245 + ], + "uMAX_SD59x18": [ + 3808 + ], + "uMAX_UD2x18": [ + 6137 + ], + "uMAX_UD60x18": [ + 6571 + ], + "uMAX_WHOLE_UD60x18": [ + 6582 + ], + "uUNIT": [ + 6601 + ], + "uUNIT_SQUARED": [ + 6612 + ], + "ud": [ + 6447 + ], + "ud60x18": [ + 6464 + ], + "uncheckedAdd": [ + 7172 + ], + "uncheckedSub": [ + 7199 + ], + "unwrap": [ + 6481 + ], + "wrap": [ + 6498 + ], + "xor": [ + 7225 + ] + }, + "nodeType": "SourceUnit", + "src": "32:422:90", + "nodes": [ + { + "id": 23751, + "nodeType": "PragmaDirective", + "src": "32:24:90", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 23752, + "nodeType": "ImportDirective", + "src": "58:64:90", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "nameLocation": "-1:-1:-1", + "scope": 23766, + "sourceUnit": 330, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 23753, + "nodeType": "ImportDirective", + "src": "123:65:90", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", + "file": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 23766, + "sourceUnit": 10209, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 23765, + "nodeType": "ContractDefinition", + "src": "291:162:90", + "nodes": [ + { + "id": 23764, + "nodeType": "FunctionDefinition", + "src": "326:125:90", + "nodes": [], + "body": { + "id": 23763, + "nodeType": "Block", + "src": "392:59:90", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 23759, + "name": "LibAllStandardOpsNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "409:19:90", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$10208_$", + "typeString": "type(library LibAllStandardOpsNP)" + } + }, + "id": 23760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "429:13:90", + "memberName": "authoringMeta", + "nodeType": "MemberAccess", + "referencedDeclaration": 9894, + "src": "409:33:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 23761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "409:35:90", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 23758, + "id": 23762, + "nodeType": "Return", + "src": "402:42:90" + } + ] + }, + "functionSelector": "c316e48a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAuthoringMeta", + "nameLocation": "335:16:90", + "parameters": { + "id": 23755, + "nodeType": "ParameterList", + "parameters": [], + "src": "351:2:90" + }, + "returnParameters": { + "id": 23758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23757, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 23764, + "src": "377:12:90", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 23756, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "377:5:90", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "376:14:90" + }, + "scope": 23765, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "AuthoringMetaGetter", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 23754, + "nodeType": "StructuredDocumentation", + "src": "190:101:90", + "text": "@title AuthoringMetaGetter\n A contract to obtain the current AuthoringMeta of the interpreter" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 23765 + ], + "name": "AuthoringMetaGetter", + "nameLocation": "300:19:90", + "scope": 23766, + "usedErrors": [] + } + ], + "license": "CAL" + }, + "id": 90 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/meta_getter/mod.rs b/subgraph/tests/utils/deploy/meta_getter/mod.rs new file mode 100644 index 0000000000..36839bf042 --- /dev/null +++ b/subgraph/tests/utils/deploy/meta_getter/mod.rs @@ -0,0 +1,87 @@ +use crate::generated::AuthoringMetaGetter; +use crate::utils::setup::get_provider; +use crate::utils::utils::get_wallet; +use ethers::prelude::SignerMiddleware; +use ethers::providers::{Http, Middleware}; +use ethers::types::{Bytes, H160}; +use ethers::{providers::Provider, signers::Signer}; +use once_cell::sync::Lazy; +use std::sync::Arc; +use tokio::sync::OnceCell; + +static META_GETTER: Lazy> = Lazy::new(|| OnceCell::new()); + +#[derive(thiserror::Error, Debug)] +pub enum MetaGetterError { + #[error("An error when deploying MetaGetter")] + DeployError(#[from] Box), +} + +async fn meta_getter_init(provider: &Provider) -> Result { + // let provider = get_provider().await.expect("cannot get provider"); + let meta_address = authoring_meta_getter_deploy(provider) + .await + .expect("cannot deploy in init"); + + Ok(meta_address) +} + +async fn meta_getter(provider: &Provider) -> Result { + // If an error occurs, wrap it using MetaGetterError::DeployError + match meta_getter_init(provider).await { + Ok(data) => Ok(data), + Err(err) => Err(MetaGetterError::DeployError(Box::new(err))), + } +} + +/// +pub async fn get_meta_address(provider: &Provider) -> Result<&'static H160, MetaGetterError> { + META_GETTER + .get_or_try_init(|| async { meta_getter(provider).await }) + .await + .map_err(|e| MetaGetterError::DeployError(Box::new(e))) +} + +pub async fn authoring_meta_getter_deploy(provider: &Provider) -> anyhow::Result { + let wallet = get_wallet(0); + + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let deployer = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.with_chain_id(chain_id.as_u64()), + )); + + let contract = AuthoringMetaGetter::deploy(deployer, ()) + .expect("cannot create the factory AuthoringMetaGetter instance") + .send() + .await + .expect("cannot deploy AuthoringMetaGetter"); + + Ok(contract.address()) +} + +/// Get the AuthoringMeta bytes to deploy ExpressionDeployers. +/// This function only will work after the META_GETTER is being initialized by calling `get_meta_address()` +pub async fn get_authoring_meta() -> Bytes { + let provider = get_provider().await.expect("cannot get provider"); + let wallet = get_wallet(0); + + let meta_address: H160 = *META_GETTER + .get() + .expect("AuthoringMetaGetter has not being initialized"); + + println!("meta_address: {}", meta_address); + + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let deployer = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.with_chain_id(chain_id.as_u64()), + )); + + return AuthoringMetaGetter::new(meta_address, deployer) + .get_authoring_meta() + .await + .expect("not able to get meta bytes"); +} diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index 468c10a0e2..c73a34e6c0 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -1,3 +1,4 @@ pub mod deploy1820; +pub mod deploy_orderbook; +pub mod meta_getter; pub mod touch_deployer; -pub mod deploy_orderbook; \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json b/subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json new file mode 100644 index 0000000000..2182c8c824 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json @@ -0,0 +1,1727 @@ +{ + "abi": [ + { + "inputs": [], + "name": "getAuthoringMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b506124d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", + "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", + "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;377:12;409:35;:33;:35::i;:::-;402:42;;326:125;:::o;2522:11731:36:-;-1:-1:-1;;;2570:12:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;2642:60:36;:11343;;;;;;;;2719:17;2642:11343;;;;2827:101;;;;;;;;;;;;;295:4:76;2827:101:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;2942:103;;;;;;;;;;;;;295:4:76;2942:103:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3145:242;;;;;;;;;;;;;366:4:76;3145:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3401:151;;;;;;;;;;;;;241:1:76;3401:151:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3566:92;;;;;;;;;;;;;241:1:76;3566:92:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3672:84;;;;;;;;;;;;;241:1:76;3672:84:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3770:189;;;;;;;;;;;;;241:1:76;3770:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3973:203;;;;;;;;;;;;;241:1:76;3973:203:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4190:98;;;;;;;;;;;;;241:1:76;4190:98:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4302:189;;;;;;;;;;;;;241:1:76;4302:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4505:385;;;;;;;;;;;;;295:4:76;4505:385:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4904:315;;;;;;;;;;;;;295:4:76;4904:315:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5233:102;;;;;;;;;;;;;241:1:76;5233:102:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5349:187;;;;;;;;;;;;;241:1:76;5349:187:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5550:196;;;;;;;;;;;;;241:1:76;5550:196:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5760:220;;;;;;;;;;;;;241:1:76;5760:220:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5994:236;;;;;;;;;;;;;241:1:76;5994:236:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6244:95;;;;;;;;;;;;;241:1:76;6244:95:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6353:190;;;;;;;;;;;;;241:1:76;6353:190:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6557:214;;;;;;;;;;;;;241:1:76;6557:214:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6785:260;;;;;;;;;;;;;241:1:76;6785:260:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7059:290;;;;;;;;;;;;;241:1:76;7059:290:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7363:394;;;;;;;;;;;;;417:4:76;7363:394:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7771:480;;;;;;;;;;;;;470:4:76;7771:480:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8265:478;;;;;;;;;;;;;470:4:76;8265:478:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8901:242;;;;;;;;;;;;;241:1:76;8901:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9157:278;;;;;;;;;;;;;241:1:76;9157:278:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9449:224;;;;;;;;;;;;;241:1:76;9449:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9687:284;;;;;;;;;;;;;241:1:76;9687:284:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10129:189;;;;;;;;;;;;;241:1:76;10129:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10332:225;;;;;;;;;;;;;241:1:76;10332:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10715:189;;;;;;;;;;;;;241:1:76;10715:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10918:225;;;;;;;;;;;;;241:1:76;10918:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11157:224;;;;;;;;;;;;;241:1:76;11157:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11395:254;;;;;;;;;;;;;241:1:76;11395:254:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11807:251;;;;;;;;;;;;;241:1:76;11807:251:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12072:287;;;;;;;;;;;;;241:1:76;12072:287:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12373:186;;;;;;;;;;;;;241:1:76;12373:186:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12573:224;;;;;;;;;;;;;241:1:76;12573:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12811:576;;;;;;;;;;;;;295:4:76;12811:576:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;13401:574;;;;;;;;;;;;;295:4:76;13401:574:36;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;2305:2;14168:28;;;14222:24;;2642:11343;;-1:-1:-1;2642:11343:36;;14222:24;;2642:11343;;14222:24;;;:::i;:::-;;;;;;;;;;;;;14215:31;;;;;;2522:11731;:::o;14:481:91:-;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;484:4;414:66;409:2;401:6;397:15;393:88;388:3;384:98;380:109;373:116;;;14:481;;;;:::o;500:217::-;647:2;636:9;629:21;610:4;667:44;707:2;696:9;692:18;684:6;667:44;:::i;:::-;659:52;500:217;-1:-1:-1;;;500:217:91:o;722:1193::-;928:4;957:2;997;986:9;982:18;1027:2;1016:9;1009:21;1050:6;1085;1079:13;1116:6;1108;1101:22;1142:2;1132:12;;1175:2;1164:9;1160:18;1153:25;;1237:2;1227:6;1224:1;1220:14;1209:9;1205:30;1201:39;1275:2;1267:6;1263:15;1296:1;1306:580;1320:6;1317:1;1314:13;1306:580;;;1385:22;;;1409:66;1381:95;1369:108;;1500:13;;1568:9;;1553:25;;1625:11;;;1619:18;1639:4;1615:29;1598:15;;;1591:54;1684:11;;1678:18;1536:4;1716:15;;;1709:27;;;1759:47;1790:15;;;1678:18;1759:47;:::i;:::-;1864:12;;;;1749:57;-1:-1:-1;;;1829:15:91;;;;1342:1;1335:9;1306:580;;;-1:-1:-1;1903:6:91;;722:1193;-1:-1:-1;;;;;;;;722:1193:91:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "getAuthoringMeta()": "c316e48a" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAuthoringMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"AuthoringMetaGetter A contract to obtain the current AuthoringMeta of the interpreter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/util/concrete/AuthoringMetaGetter.sol\":\"AuthoringMetaGetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"test/util/concrete/AuthoringMetaGetter.sol\":{\"keccak256\":\"0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4\",\"dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "getAuthoringMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "test/util/concrete/AuthoringMetaGetter.sol": "AuthoringMetaGetter" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/Common.sol": { + "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", + "urls": [ + "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", + "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { + "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", + "urls": [ + "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", + "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { + "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", + "urls": [ + "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", + "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { + "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", + "urls": [ + "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", + "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { + "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", + "urls": [ + "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", + "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { + "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", + "urls": [ + "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", + "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { + "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", + "urls": [ + "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", + "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { + "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", + "urls": [ + "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", + "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { + "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", + "urls": [ + "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", + "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { + "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", + "urls": [ + "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", + "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { + "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", + "urls": [ + "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", + "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { + "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", + "urls": [ + "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", + "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { + "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", + "urls": [ + "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", + "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { + "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", + "urls": [ + "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", + "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { + "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", + "urls": [ + "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", + "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { + "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", + "urls": [ + "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", + "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { + "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", + "urls": [ + "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", + "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { + "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", + "urls": [ + "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", + "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { + "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", + "urls": [ + "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", + "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { + "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", + "urls": [ + "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", + "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { + "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", + "urls": [ + "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", + "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { + "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", + "urls": [ + "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", + "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { + "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", + "urls": [ + "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", + "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { + "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", + "urls": [ + "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", + "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", + "urls": [ + "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", + "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { + "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", + "urls": [ + "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", + "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" + ], + "license": null + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { + "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", + "urls": [ + "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", + "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" + ], + "license": null + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { + "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", + "urls": [ + "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", + "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { + "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", + "urls": [ + "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", + "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { + "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", + "urls": [ + "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", + "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { + "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", + "urls": [ + "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", + "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { + "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", + "urls": [ + "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", + "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { + "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", + "urls": [ + "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", + "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { + "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", + "urls": [ + "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", + "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { + "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", + "urls": [ + "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", + "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { + "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", + "urls": [ + "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", + "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { + "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", + "urls": [ + "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", + "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { + "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", + "urls": [ + "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", + "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { + "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", + "urls": [ + "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", + "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { + "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", + "urls": [ + "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", + "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { + "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", + "urls": [ + "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", + "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { + "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", + "urls": [ + "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", + "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { + "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", + "urls": [ + "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", + "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { + "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", + "urls": [ + "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", + "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { + "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", + "urls": [ + "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", + "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { + "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", + "urls": [ + "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", + "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { + "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", + "urls": [ + "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", + "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { + "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", + "urls": [ + "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", + "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { + "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", + "urls": [ + "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", + "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { + "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", + "urls": [ + "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", + "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { + "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", + "urls": [ + "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", + "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { + "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", + "urls": [ + "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", + "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { + "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", + "urls": [ + "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", + "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { + "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", + "urls": [ + "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", + "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { + "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", + "urls": [ + "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", + "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { + "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", + "urls": [ + "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", + "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { + "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", + "urls": [ + "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", + "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { + "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", + "urls": [ + "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", + "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { + "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", + "urls": [ + "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", + "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { + "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", + "urls": [ + "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", + "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { + "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", + "urls": [ + "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", + "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { + "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", + "urls": [ + "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", + "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { + "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", + "urls": [ + "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", + "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { + "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", + "urls": [ + "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", + "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { + "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", + "urls": [ + "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", + "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { + "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", + "urls": [ + "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", + "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { + "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", + "urls": [ + "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", + "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParse.sol": { + "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", + "urls": [ + "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", + "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { + "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", + "urls": [ + "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", + "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { + "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", + "urls": [ + "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", + "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { + "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", + "urls": [ + "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", + "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { + "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", + "urls": [ + "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", + "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { + "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", + "urls": [ + "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", + "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { + "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", + "urls": [ + "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", + "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { + "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", + "urls": [ + "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", + "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { + "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", + "urls": [ + "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", + "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { + "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", + "urls": [ + "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", + "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { + "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", + "urls": [ + "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", + "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemory.sol": { + "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", + "urls": [ + "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", + "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibStackPointer.sol": { + "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", + "urls": [ + "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", + "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + }, + "test/util/concrete/AuthoringMetaGetter.sol": { + "keccak256": "0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07", + "urls": [ + "bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4", + "dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "test/util/concrete/AuthoringMetaGetter.sol", + "id": 23766, + "exportedSymbols": { + "ALL_STANDARD_OPS_LENGTH": [ + 9651 + ], + "Address": [ + 329 + ], + "AuthoringMeta": [ + 20252 + ], + "AuthoringMetaGetter": [ + 23765 + ], + "B_1": [ + 8105 + ], + "B_11": [ + 8113 + ], + "B_111": [ + 8121 + ], + "B_1111": [ + 8129 + ], + "B_11111": [ + 8137 + ], + "B_111111": [ + 8145 + ], + "B_1111111": [ + 8153 + ], + "B_11111111": [ + 8161 + ], + "B_111111111": [ + 8169 + ], + "B_1111111111": [ + 8177 + ], + "B_11111111111": [ + 8185 + ], + "B_111111111111": [ + 8193 + ], + "B_1111111111111": [ + 8201 + ], + "B_11111111111111": [ + 8209 + ], + "B_111111111111111": [ + 8217 + ], + "B_1111111111111111": [ + 8225 + ], + "BadDynamicLength": [ + 9647 + ], + "BadOpInputsLength": [ + 8999 + ], + "Casting": [ + 7984 + ], + "CastingErrors": [ + 6197 + ], + "Common": [ + 7228 + ], + "DEFAULT_STATE_NAMESPACE": [ + 8650 + ], + "E": [ + 6510 + ], + "EXP2_MAX_INPUT": [ + 6534 + ], + "EXP_MAX_INPUT": [ + 6521 + ], + "EncodedDispatch": [ + 8638 + ], + "EnsureFailed": [ + 11089 + ], + "EntrypointMinOutputs": [ + 8990 + ], + "EntrypointMissing": [ + 8974 + ], + "EntrypointNonZeroInput": [ + 8981 + ], + "Errors": [ + 7229 + ], + "FIXED_POINT_DECIMALS": [ + 22464 + ], + "FIXED_POINT_ONE": [ + 22468 + ], + "FLAG_MAX_INT": [ + 22484 + ], + "FLAG_ROUND_UP": [ + 22472 + ], + "FLAG_SATURATE": [ + 22478 + ], + "FullyQualifiedNamespace": [ + 8599 + ], + "HALF_UNIT": [ + 6545 + ], + "Helpers": [ + 7985 + ], + "IInterpreterStoreV1": [ + 8631 + ], + "IInterpreterV1": [ + 8681 + ], + "IUniswapV2Factory": [ + 8352 + ], + "IUniswapV2Pair": [ + 8594 + ], + "IntegrityCheckStateNP": [ + 9044 + ], + "InterpreterStateNP": [ + 21951 + ], + "LOG2_10": [ + 6556 + ], + "LOG2_E": [ + 6567 + ], + "LibAllStandardOpsNP": [ + 10208 + ], + "LibBytecode": [ + 8963 + ], + "LibBytes": [ + 23191 + ], + "LibConvert": [ + 8095 + ], + "LibFixedPointDecimalScale": [ + 22894 + ], + "LibIntegrityCheckNP": [ + 9362 + ], + "LibInterpreterStateNP": [ + 21996 + ], + "LibMemCpy": [ + 23223 + ], + "LibMemory": [ + 23234 + ], + "LibMemoryKV": [ + 22458 + ], + "LibNamespace": [ + 9380 + ], + "LibOpAnyNP": [ + 10891 + ], + "LibOpBlockNumberNP": [ + 10520 + ], + "LibOpChainIdNP": [ + 10599 + ], + "LibOpConditionsNP": [ + 11077 + ], + "LibOpConstantNP": [ + 9500 + ], + "LibOpContextNP": [ + 10351 + ], + "LibOpDecimal18DivNP": [ + 12186 + ], + "LibOpDecimal18MulNP": [ + 12407 + ], + "LibOpDecimal18Scale18DynamicNP": [ + 12518 + ], + "LibOpDecimal18Scale18NP": [ + 12635 + ], + "LibOpDecimal18ScaleNNP": [ + 12752 + ], + "LibOpEnsureNP": [ + 11246 + ], + "LibOpEqualToNP": [ + 11330 + ], + "LibOpEveryNP": [ + 11457 + ], + "LibOpGetNP": [ + 14294 + ], + "LibOpGreaterThanNP": [ + 11541 + ], + "LibOpGreaterThanOrEqualToNP": [ + 11625 + ], + "LibOpHashNP": [ + 10441 + ], + "LibOpIfNP": [ + 11711 + ], + "LibOpIntAddNP": [ + 12915 + ], + "LibOpIntDivNP": [ + 13078 + ], + "LibOpIntExpNP": [ + 13247 + ], + "LibOpIntMaxNP": [ + 13427 + ], + "LibOpIntMinNP": [ + 13607 + ], + "LibOpIntModNP": [ + 13770 + ], + "LibOpIntMulNP": [ + 13933 + ], + "LibOpIntSubNP": [ + 14096 + ], + "LibOpIsZeroNP": [ + 11793 + ], + "LibOpLessThanNP": [ + 11877 + ], + "LibOpLessThanOrEqualToNP": [ + 11961 + ], + "LibOpMaxUint256NP": [ + 10689 + ], + "LibOpSetNP": [ + 14417 + ], + "LibOpStackNP": [ + 9591 + ], + "LibOpTimestampNP": [ + 10768 + ], + "LibOpUniswapV2AmountIn": [ + 14624 + ], + "LibOpUniswapV2AmountOut": [ + 14831 + ], + "LibPointer": [ + 23358 + ], + "LibStackPointer": [ + 23521 + ], + "LibUint256Array": [ + 23749 + ], + "LibUniswapV2": [ + 22367 + ], + "LibWillOverflow": [ + 23113 + ], + "MASK_10BIT": [ + 8265 + ], + "MASK_11BIT": [ + 8269 + ], + "MASK_12BIT": [ + 8273 + ], + "MASK_13BIT": [ + 8277 + ], + "MASK_14BIT": [ + 8281 + ], + "MASK_15BIT": [ + 8285 + ], + "MASK_16BIT": [ + 8289 + ], + "MASK_1BIT": [ + 8229 + ], + "MASK_2BIT": [ + 8233 + ], + "MASK_3BIT": [ + 8237 + ], + "MASK_4BIT": [ + 8241 + ], + "MASK_5BIT": [ + 8245 + ], + "MASK_6BIT": [ + 8249 + ], + "MASK_7BIT": [ + 8253 + ], + "MASK_8BIT": [ + 8257 + ], + "MASK_9BIT": [ + 8261 + ], + "MAX_UD60x18": [ + 6578 + ], + "MAX_UINT128": [ + 1231 + ], + "MAX_UINT40": [ + 1239 + ], + "MAX_WHOLE_UD60x18": [ + 6589 + ], + "Math": [ + 7986 + ], + "MemoryKV": [ + 22371 + ], + "MemoryKVKey": [ + 22373 + ], + "MemoryKVVal": [ + 22375 + ], + "NO_STORE": [ + 8608 + ], + "NoConditionsMet": [ + 10901 + ], + "OPERAND_PARSER_OFFSET_8_M1_M1": [ + 20969 + ], + "OPERAND_PARSER_OFFSET_DISALLOWED": [ + 20957 + ], + "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ + 20963 + ], + "OPERAND_PARSER_OFFSET_M1_M1": [ + 20966 + ], + "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ + 20960 + ], + "OVERFLOW_RESCALE_OOMS": [ + 22488 + ], + "OZMath": [ + 1195 + ], + "Operand": [ + 8642 + ], + "OutOfBoundsConstantRead": [ + 9393 + ], + "OutOfBoundsStackRead": [ + 9514 + ], + "OutOfBoundsTruncate": [ + 23531 + ], + "PI": [ + 6597 + ], + "PRBMath_UD60x18_Ceil_Overflow": [ + 6696 + ], + "PRBMath_UD60x18_Convert_Overflow": [ + 6701 + ], + "PRBMath_UD60x18_Exp2_InputTooBig": [ + 6713 + ], + "PRBMath_UD60x18_Exp_InputTooBig": [ + 6707 + ], + "PRBMath_UD60x18_Gm_Overflow": [ + 6722 + ], + "PRBMath_UD60x18_IntoSD1x18_Overflow": [ + 6728 + ], + "PRBMath_UD60x18_IntoSD59x18_Overflow": [ + 6734 + ], + "PRBMath_UD60x18_IntoUD2x18_Overflow": [ + 6740 + ], + "PRBMath_UD60x18_IntoUint128_Overflow": [ + 6746 + ], + "PRBMath_UD60x18_IntoUint40_Overflow": [ + 6752 + ], + "PRBMath_UD60x18_Log_InputTooSmall": [ + 6758 + ], + "PRBMath_UD60x18_Sqrt_Overflow": [ + 6764 + ], + "Pointer": [ + 23238 + ], + "SD1x18": [ + 3328 + ], + "SD59x18": [ + 5813 + ], + "SourceIndex": [ + 8636 + ], + "SourceOffsetOutOfBounds": [ + 8694 + ], + "StackAllocationMismatch": [ + 9024 + ], + "StackOutputsMismatch": [ + 9031 + ], + "StackUnderflow": [ + 9008 + ], + "StackUnderflowHighwater": [ + 9017 + ], + "StateNamespace": [ + 8640 + ], + "TruncateError": [ + 23123 + ], + "UD2x18": [ + 6184 + ], + "UD60x18": [ + 7988 + ], + "UNIT": [ + 6608 + ], + "UNIT_SQUARED": [ + 6619 + ], + "UnalignedStackPointer": [ + 23369 + ], + "ZERO": [ + 6627 + ], + "add": [ + 6796 + ], + "and": [ + 6819 + ], + "and2": [ + 6845 + ], + "avg": [ + 7289 + ], + "ceil": [ + 7318 + ], + "convert": [ + 6655, + 6686 + ], + "div": [ + 7347 + ], + "eq": [ + 6868 + ], + "exp": [ + 7392 + ], + "exp2": [ + 7438 + ], + "floor": [ + 7450 + ], + "frac": [ + 7462 + ], + "gm": [ + 7529 + ], + "gt": [ + 6891 + ], + "gte": [ + 6914 + ], + "intoSD1x18": [ + 6262 + ], + "intoSD59x18": [ + 6343 + ], + "intoUD2x18": [ + 6301 + ], + "intoUint128": [ + 6395 + ], + "intoUint256": [ + 6360 + ], + "intoUint40": [ + 6430 + ], + "inv": [ + 7551 + ], + "isZero": [ + 6932 + ], + "ln": [ + 7577 + ], + "log10": [ + 7628 + ], + "log2": [ + 7732 + ], + "lshift": [ + 6955 + ], + "lt": [ + 6978 + ], + "lte": [ + 7001 + ], + "mod": [ + 7027 + ], + "mul": [ + 7760 + ], + "neq": [ + 7050 + ], + "not": [ + 7070 + ], + "or": [ + 7096 + ], + "pow": [ + 7867 + ], + "powu": [ + 7939 + ], + "rshift": [ + 7119 + ], + "sqrt": [ + 7981 + ], + "sub": [ + 7145 + ], + "uEXP2_MAX_INPUT": [ + 6527 + ], + "uEXP_MAX_INPUT": [ + 6514 + ], + "uHALF_UNIT": [ + 6538 + ], + "uLOG2_10": [ + 6549 + ], + "uLOG2_E": [ + 6560 + ], + "uMAX_SD1x18": [ + 3245 + ], + "uMAX_SD59x18": [ + 3808 + ], + "uMAX_UD2x18": [ + 6137 + ], + "uMAX_UD60x18": [ + 6571 + ], + "uMAX_WHOLE_UD60x18": [ + 6582 + ], + "uUNIT": [ + 6601 + ], + "uUNIT_SQUARED": [ + 6612 + ], + "ud": [ + 6447 + ], + "ud60x18": [ + 6464 + ], + "uncheckedAdd": [ + 7172 + ], + "uncheckedSub": [ + 7199 + ], + "unwrap": [ + 6481 + ], + "wrap": [ + 6498 + ], + "xor": [ + 7225 + ] + }, + "nodeType": "SourceUnit", + "src": "32:422:90", + "nodes": [ + { + "id": 23751, + "nodeType": "PragmaDirective", + "src": "32:24:90", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 23752, + "nodeType": "ImportDirective", + "src": "58:64:90", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "nameLocation": "-1:-1:-1", + "scope": 23766, + "sourceUnit": 330, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 23753, + "nodeType": "ImportDirective", + "src": "123:65:90", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", + "file": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 23766, + "sourceUnit": 10209, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 23765, + "nodeType": "ContractDefinition", + "src": "291:162:90", + "nodes": [ + { + "id": 23764, + "nodeType": "FunctionDefinition", + "src": "326:125:90", + "nodes": [], + "body": { + "id": 23763, + "nodeType": "Block", + "src": "392:59:90", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 23759, + "name": "LibAllStandardOpsNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10208, + "src": "409:19:90", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$10208_$", + "typeString": "type(library LibAllStandardOpsNP)" + } + }, + "id": 23760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "429:13:90", + "memberName": "authoringMeta", + "nodeType": "MemberAccess", + "referencedDeclaration": 9894, + "src": "409:33:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 23761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "409:35:90", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 23758, + "id": 23762, + "nodeType": "Return", + "src": "402:42:90" + } + ] + }, + "functionSelector": "c316e48a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAuthoringMeta", + "nameLocation": "335:16:90", + "parameters": { + "id": 23755, + "nodeType": "ParameterList", + "parameters": [], + "src": "351:2:90" + }, + "returnParameters": { + "id": 23758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23757, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 23764, + "src": "377:12:90", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 23756, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "377:5:90", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "376:14:90" + }, + "scope": 23765, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "AuthoringMetaGetter", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 23754, + "nodeType": "StructuredDocumentation", + "src": "190:101:90", + "text": "@title AuthoringMetaGetter\n A contract to obtain the current AuthoringMeta of the interpreter" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 23765 + ], + "name": "AuthoringMetaGetter", + "nameLocation": "300:19:90", + "scope": 23766, + "usedErrors": [] + } + ], + "license": "CAL" + }, + "id": 90 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json new file mode 100644 index 0000000000..ac86c74db1 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json @@ -0,0 +1,534 @@ +[ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", + "name": "config_", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "name": "BadDynamicLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + } + ], + "name": "DoWhileMaxInputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputs", + "type": "uint256" + } + ], + "name": "InsufficientLoopOutputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minStackOutputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualStackOutputs", + "type": "uint256" + } + ], + "name": "MinFinalStack", + "type": "error" + }, + { + "inputs": [], + "name": "MinStackBottom", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedEntrypoints", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualEntrypoints", + "type": "uint256" + } + ], + "name": "MissingEntrypoint", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "name": "NotPosIntPrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "constantsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantsRead", + "type": "uint256" + } + ], + "name": "OutOfBoundsConstantsRead", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackRead", + "type": "uint256" + } + ], + "name": "OutOfBoundsStackRead", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv18_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Ceil_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Exp2_InputTooBig", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Exp_InputTooBig", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + }, + { + "internalType": "UD60x18", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Gm_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Log_InputTooSmall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "UD60x18", + "name": "x", + "type": "uint256" + } + ], + "name": "PRBMath_UD60x18_Sqrt_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackHighwaterIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + } + ], + "name": "StackPopUnderflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "staleAfter", + "type": "uint256" + } + ], + "name": "StalePrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "startBit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "TruncatedEncoding", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "name": "UnexpectedInterpreterBytecodeHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualOpMeta", + "type": "bytes32" + } + ], + "name": "UnexpectedOpMetaHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "actualPointers", + "type": "bytes" + } + ], + "name": "UnexpectedPointers", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "name": "UnexpectedStoreBytecodeHash", + "type": "error" + }, + { + "inputs": [], + "name": "WriteError", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroInputs", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "opMeta", + "type": "bytes" + } + ], + "name": "DISpair", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "name": "ExpressionAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "sources", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "name": "NewExpression", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "sources_", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "constants_", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs_", + "type": "uint256[]" + } + ], + "name": "deployExpression", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "interpreter", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "store", + "outputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraph/tests/utils/deploy/touch_deployer/mod.rs b/subgraph/tests/utils/deploy/touch_deployer/mod.rs index 804c414126..6c89d9385d 100644 --- a/subgraph/tests/utils/deploy/touch_deployer/mod.rs +++ b/subgraph/tests/utils/deploy/touch_deployer/mod.rs @@ -1,7 +1,15 @@ +use ethers::abi::{Bytes, Token, Tokenizable}; +use ethers::etherscan::contract::SourceCodeLanguage; use ethers::prelude::SignerMiddleware; use ethers::providers::{Http, Middleware}; -use ethers::types::{Bytes, Eip1559TransactionRequest, H160, U256}; +use ethers::signers::coins_bip39::{English, Mnemonic}; +use ethers::signers::{MnemonicBuilder, Wallet}; +// use ethers::types::{Bytes, Eip1559TransactionRequest, H160, U256}; +use ethers::types::{Eip1559TransactionRequest, H160, U256}; +use ethers::utils::Anvil; use ethers::{ + abi, + core::k256::ecdsa::SigningKey, prelude::abigen, providers::Provider, signers::{LocalWallet, Signer}, @@ -9,10 +17,17 @@ use ethers::{ }; use serde_json::Value; use std::fs::File; -use std::io::Read; +use std::io::{BufReader, Read}; use std::str::FromStr; -use std::sync::Arc; use std::time::Duration; + +use std::sync::{Arc, Mutex}; +use tokio::sync::RwLock; + +use crate::utils::setup::get_provider; +use crate::utils::utils::get_wallet; + +use super::meta_getter::get_authoring_meta; abigen!( RainterpreterExpressionDeployer, "tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json", @@ -22,78 +37,143 @@ abigen!( "tests/utils/deploy/touch_deployer/Rainterpreter.json"; RainterpreterStore, - "tests/utils/deploy/touch_deployer/RainterpreterStore.json" + "tests/utils/deploy/touch_deployer/RainterpreterStore.json"; ); -pub async fn deploy_touch_deployer(anvil: &AnvilInstance) -> anyhow::Result { - let provider = - Provider::::try_from(&anvil.endpoint())?.interval(Duration::from_millis(10u64)); - rainterpreter_deploy(&provider, &anvil).await?; - rainterpreter_store_deploy(&provider, &anvil).await?; - let expression_deployer = rainterpreter_expression_deployer_deploy(&provider, anvil).await?; +pub async fn deploy_touch_deployer(wallet: Option>) -> anyhow::Result { + let wallet = Some(wallet.unwrap_or(get_wallet(0))); + + let rainterpreter_address = rainterpreter_deploy(wallet.clone()).await?; + println!("rainterpreter_address: {:?}", rainterpreter_address); + + let store_address = rainterpreter_store_deploy(wallet.clone()).await?; + println!("store_address: {:?}", store_address); + + let expression_deployer = + rainterpreter_expression_deployer_deploy(rainterpreter_address, store_address, None) + .await + .expect("failed at expression_deployer_deploy"); + println!("expression_deployer: {:?}", expression_deployer); + Ok(expression_deployer) } -pub async fn rainterpreter_deploy( - provider: &Provider, - anvil: &AnvilInstance, -) -> anyhow::Result { - let deployer: LocalWallet = anvil.keys()[0].clone().into(); +pub async fn rainterpreter_deploy(wallet: Option>) -> anyhow::Result { + let wallet = wallet.unwrap_or(get_wallet(0)); + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); let deployer = Arc::new(SignerMiddleware::new( provider.clone(), - deployer.with_chain_id(anvil.chain_id()), + wallet.with_chain_id(chain_id.as_u64()), )); + let store = Rainterpreter::deploy(deployer, ())?.send().await?; Ok(store.address()) } pub async fn rainterpreter_store_deploy( - provider: &Provider, - anvil: &AnvilInstance, + wallet: Option>, ) -> anyhow::Result { - let deployer: LocalWallet = anvil.keys()[0].clone().into(); + let wallet = wallet.unwrap_or(get_wallet(0)); + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); let deployer = Arc::new(SignerMiddleware::new( provider.clone(), - deployer.with_chain_id(anvil.chain_id()), + wallet.with_chain_id(chain_id.as_u64()), )); + let store = RainterpreterStore::deploy(deployer, ())?.send().await?; Ok(store.address()) } pub async fn rainterpreter_expression_deployer_deploy( - provider: &Provider, - anvil: &AnvilInstance, + rainiterpreter_address: H160, + store_address: H160, + wallet: Option>, ) -> anyhow::Result { - let deployer: LocalWallet = anvil.keys()[0].clone().into(); + let wallet = wallet.unwrap_or(get_wallet(0)); + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); let deployer = Arc::new(SignerMiddleware::new( provider.clone(), - deployer.with_chain_id(anvil.chain_id()), + wallet.with_chain_id(chain_id.as_u64()), )); - let mut data = String::new(); - let mut file = File::open("tests/utils/deploy/touch_deployer/data.json")?; - file.read_to_string(&mut data)?; - let data: Value = serde_json::from_str(&data)?; - let data = data["data"].as_str().unwrap(); + let meta_bytes = get_authoring_meta().await; + + let mut args: Vec = Vec::new(); + + args.push(Token::Address(rainiterpreter_address)); + args.push(Token::Address(store_address)); + // args.push(Token::Bytes(meta_bytes)); + + let see = [Token::Tuple( + [ + Token::Address(rainiterpreter_address), + Token::Address(store_address), + Token::Bytes(meta_bytes.to_vec()), + ] + .to_vec(), + )]; + + // let aver = ethabi::encode(&[Token::Tuple( + // [ + // Token::Address(rainiterpreter_address), + // Token::Address(store_address), + // Token::Bytes(meta_bytes.to_vec()), + // ] + // .to_vec(), + // )]); + + // // println!("Avec u8: {:?}", aver); + // let xddd = aver + // .iter() + // .map(|byte| format!("{:02x}", byte)) + // .collect::>() + // .join(""); + + // let see = [[ + // rainiterpreter_address.as_bytes(), + // store_address.as_bytes(), + // &meta_bytes.to_vec(), + // ]]; + // ////////////////////// + + // let file = + // File::open("tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json")?; + // let reader = BufReader::new(file); + + // let contract_a = abi::Abi::load(reader).expect("cannot get abi"); - let mut tx = Eip1559TransactionRequest::new(); - tx.to = Some(H160::zero().into()); - tx.value = Some(U256::zero()); - tx.max_fee_per_gas = Some(U256::from(50_000_000_000u128)); - tx.max_priority_fee_per_gas = Some(U256::from(20_000_000_000u128)); - tx.data = Some(Bytes::from_str(data)?); - tx.chain_id = Some(provider.get_chainid().await.unwrap().as_u64().into()); - tx.gas = Some(U256::from(21000)); + // // // let aver = meta_bytes.bytes(); + // let aver = meta_bytes.to_vec(); - let tx_receipt = deployer.send_transaction(tx, None).await?.await?.unwrap(); + // let check_const = contract_a + // .constructor() + // .expect("xd") + // .encode_input( + // Bytes::from_hex("ff").expect("cannot create bytes"), + // &[Token::Tuple( + // [ + // Token::Address(rain_address), + // Token::Address(store_address), + // Token::Bytes(aver), + // ] + // .to_vec(), + // )], + // ) + // .expect("failed at construction encode"); - let contract = - RainterpreterExpressionDeployer::new(tx_receipt.contract_address.unwrap(), deployer); + // //////////////////////// - println!("{:?}", contract.interpreter().await?); + let expression_deployer = RainterpreterExpressionDeployer::deploy(deployer, args) + .expect("failed at deploy() expression deployer") + .send() + .await + .expect("failed after send() expression deployer"); - Ok(contract.address()) + Ok(expression_deployer.address()) } diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 8447d8ea51..ef64cafc6c 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -1,2 +1,3 @@ pub mod deploy; +pub mod setup; pub mod utils; diff --git a/subgraph/tests/utils/setup.rs b/subgraph/tests/utils/setup.rs new file mode 100644 index 0000000000..6a1a1a6d8d --- /dev/null +++ b/subgraph/tests/utils/setup.rs @@ -0,0 +1,115 @@ +use super::deploy::{deploy1820::deploy1820, meta_getter::get_meta_address}; +use ethers::providers::{Http, Provider}; +use once_cell::sync::Lazy; +use reqwest; +use thiserror::Error; +use tokio::{ + sync::OnceCell, + time::{timeout, Duration}, +}; + +static SUBGRAPH: Lazy> = Lazy::new(|| OnceCell::new()); +static PROVIDER: Lazy>> = Lazy::new(|| OnceCell::new()); + +#[derive(Error, Debug)] +pub enum SetupError { + #[error("An error occurred during initialization: {0}")] + InitializationError(#[from] Box), + #[error("An error occurred when creating provider instance")] + ProviderInstanceError(), +} + +// PROVIDER CODE INIT +pub async fn init_provider() -> Result, SetupError> { + let provider_url = "http://localhost:8545"; + + let provider: Provider = + Provider::::try_from(provider_url).expect("could not instantiate Provider"); + + // Always checking if the Registry1820 is deployed. Deploy it otherwise + let _ = deploy1820(&provider).await; + + get_meta_address(&provider) + .await + .expect("cannot deploy AuthoringMetaGetter at initialization"); + + Ok(provider) +} + +async fn provider_node() -> Result, SetupError> { + match init_provider().await { + Ok(data) => Ok(data), + Err(_) => Err(SetupError::ProviderInstanceError()), + } +} + +pub async fn get_provider() -> Result<&'static Provider, SetupError> { + PROVIDER + .get_or_try_init(|| async { provider_node().await }) + .await + .map_err(|_| SetupError::ProviderInstanceError()) +} + +// SUBGRAPH CODE INIT +async fn subgraph_node_init() -> Result { + let is_running = check_subgraph_node().await; + + Ok(is_running) +} + +async fn subgraph_node() -> Result { + // If an error occurs, wrap it using MyError::InitializationError + match subgraph_node_init().await { + Ok(data) => Ok(data), + Err(err) => Err(SetupError::InitializationError(Box::new(err))), + } +} + +pub async fn is_sugraph_node_init() -> Result<&'static bool, SetupError> { + SUBGRAPH + .get_or_try_init(|| async { subgraph_node().await }) + .await + .map_err(|e| SetupError::InitializationError(Box::new(e))) +} + +/// Check if the subgraph node is live to be able to deploy subgraphs +pub async fn check_subgraph_node() -> bool { + let client = reqwest::Client::new(); + + let url = "http://localhost:8030"; + + let mut retries = 0; + // Max retries allowed + let max_retries = 6; + // Retry interval + let retry_interval = Duration::from_secs(5); + + loop { + retries += 1; + // Send an HTTP GET request with a timeout + let response = timeout(Duration::from_secs(5), client.get(url).send()) + .await + .expect("No reqyest sent to the url"); + + match response { + Ok(res) if (res.status().is_success()) => { + return true; + } + _ => { + if retries >= max_retries { + if retries >= max_retries { + println!("Max retries reached. Exiting."); + // return Err(reqwest::Error::from("Max retries reached")); + return false; + } + } + println!( + "Retry attempt {} failed. Retrying in {} seconds...", + retries, + retry_interval.as_secs() + ); + tokio::time::sleep(retry_interval).await; + } + } + } +} diff --git a/subgraph/tests/utils/utils.rs b/subgraph/tests/utils/utils.rs index 6a488179e3..7d011404fc 100644 --- a/subgraph/tests/utils/utils.rs +++ b/subgraph/tests/utils/utils.rs @@ -1,57 +1,101 @@ -use anyhow::anyhow; -use ethers::utils::{Anvil, AnvilInstance}; -use std::process::Command; - -pub fn deploy_anvil_and_docker() -> anyhow::Result { - let proiver = Anvil::new().port(8545u16).spawn(); - - println!("Anvil deployed at : {}", proiver.endpoint()); - // let output = Command::new("bash") - // .args(&["-c", "docker-compose -f docker/docker-compose.yaml up -d"]) - // .output() - // .unwrap(); - - // if !output.status.success() { - // let stderr = format!("{}", String::from_utf8_lossy(&output.stderr.to_vec())); - // return Err(anyhow!(stderr)); - // } - Ok(proiver) -} +use ethers::{ + core::k256::ecdsa::SigningKey, + providers::{Http, Middleware, Provider}, + signers::{coins_bip39::English, MnemonicBuilder, Wallet}, + types::U64, +}; +use std::{ + env, + io::{BufRead, BufReader}, + process::{Command, Stdio}, + thread, +}; -pub fn stop_docker() -> anyhow::Result<()> { - let output = Command::new("bash") - .args(&[ - "-c", - "docker-compose -f docker/docker-compose.yaml down && rm -rf docker/data ", - ]) - .output() - .unwrap(); - - if !output.status.success() { - let stderr = format!("{}", String::from_utf8_lossy(&output.stderr.to_vec())); - return Err(anyhow!(stderr)); - } - Ok(()) -} +// This function will work on the working directory +pub fn _run_cmd(main_cmd: &str, args: &[&str]) -> bool { + // Get the current working directory + let current_dir = env::current_dir().expect("Failed to get current directory"); -pub fn get_abis() { - let command = "forge"; - let args = vec!["build", "--root", "../"]; + // Create a new Command to run + let mut cmd = Command::new(main_cmd); - let mut cmd = Command::new(command); + // Add the arguments cmd.args(args); - let output = cmd.output().expect("Failed to run command"); + // Set the directory from where the command wil run + cmd.current_dir(¤t_dir); - if output.status.success() { - println!( - "SUCCESS, OUTPUT: \n{}", - String::from_utf8_lossy(&output.stdout) - ); + // Tell what to do when try to print the process + cmd.stdout(Stdio::piped()); + cmd.stderr(Stdio::piped()); + + let full_cmd = format!("{} {}", main_cmd, args.join(" ")); + + println!("Running: {}", full_cmd); + + // Execute the command + let mut child = cmd + .spawn() + .expect(format!("Failed to run: {}", full_cmd).as_str()); + + // Read and print stdout in a separate thread + let stdout_child = child.stdout.take().expect("Failed to get stdout"); + let stdout_reader = BufReader::new(stdout_child); + + let stdout_handle = thread::spawn({ + move || { + for line in stdout_reader.lines() { + if let Ok(line) = line { + println!("{}", line); + } + } + } + }); + + // Read and print stderr in the main thread + let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); + for line in stderr_reader.lines() { + if let Ok(line) = line { + eprintln!("{}", line); + } + } + + // Wait for the command to finish and get the exit status + let status = child + .wait() + .expect(format!("Failed to wait: {}", full_cmd).as_str()); + + // Wait for the stdout thread to finish + stdout_handle.join().expect("Failed to join stdout thread"); + + if status.success() { + println!("Success: {}", full_cmd); + return true; } else { eprintln!( - "FAILED, OUTPUT: \n{}", - String::from_utf8_lossy(&output.stdout) + "Fail: {} {}", + full_cmd, + format!("failed with exit code: {}", status.code().unwrap_or(-1)) ); + + return false; } } + +pub async fn _get_block_number(provider: Provider) -> U64 { + return provider.get_block_number().await.unwrap(); +} + +/// Get the wallet test at the given index +pub fn get_wallet(index: u32) -> Wallet { + let mnemonic = std::fs::read_to_string("./test-mnemonic").expect("Test mnemonic not found"); + + let wallet_builder = MnemonicBuilder::::default().phrase(mnemonic.as_str()); + + return wallet_builder + .clone() + .index(index) + .expect(format!("MnemonicBuilder cannot get index {}", index).as_str()) + .build() + .expect(format!("MnemonicBuilder cannot build wallet at the index {}", index).as_str()); +} diff --git a/test/util/concrete/AuthoringMetaGetter.sol b/test/util/concrete/AuthoringMetaGetter.sol new file mode 100644 index 0000000000..8d8a0e9a13 --- /dev/null +++ b/test/util/concrete/AuthoringMetaGetter.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: CAL +pragma solidity =0.8.19; + +import "lib/openzeppelin-contracts/contracts/utils/Address.sol"; +import "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol"; + +/// @title AuthoringMetaGetter +/// A contract to obtain the current AuthoringMeta of the interpreter +contract AuthoringMetaGetter { + function getAuthoringMeta() pure external returns (bytes memory) { + return LibAllStandardOpsNP.authoringMeta(); + } +} From d3ead02d8ba1b91a38463a9f9e8dd701615c1a30 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 6 Oct 2023 02:36:19 -0400 Subject: [PATCH 012/163] wip: updating artifacts for expression deployer --- subgraph/deployer.rs | 2384 ----- subgraph/tests/deploy_orderbook.rs | 91 +- .../AuthoringMetaGetter.json | 0 .../RainterpreterExpressionDeployerNP.json | 9070 ++++++++++++++++ subgraph/tests/generated/RainterpreterNP.json | 4411 ++++++++ .../RainterpreterStore.json | 1590 ++- subgraph/tests/generated/mod.rs | 8 +- subgraph/tests/utils/deploy/deploy1820/mod.rs | 3 +- .../tests/utils/deploy/meta_getter/mod.rs | 2 - .../touch_deployer/AuthoringMetaGetter.json | 1727 --- .../deploy/touch_deployer/Rainterpreter.json | 5651 ---------- .../RainterpreterExpressionDeployer.json | 9281 ----------------- .../RainterpreterExpressionDeployer_ABI.json | 534 - .../utils/deploy/touch_deployer/data.json | 3 - .../tests/utils/deploy/touch_deployer/mod.rs | 178 +- 15 files changed, 14345 insertions(+), 20588 deletions(-) delete mode 100644 subgraph/deployer.rs rename subgraph/tests/{utils/deploy/meta_getter => generated}/AuthoringMetaGetter.json (100%) create mode 100644 subgraph/tests/generated/RainterpreterExpressionDeployerNP.json create mode 100644 subgraph/tests/generated/RainterpreterNP.json rename subgraph/tests/{utils/deploy/touch_deployer => generated}/RainterpreterStore.json (51%) delete mode 100644 subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json delete mode 100644 subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json delete mode 100644 subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json delete mode 100644 subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json delete mode 100644 subgraph/tests/utils/deploy/touch_deployer/data.json diff --git a/subgraph/deployer.rs b/subgraph/deployer.rs deleted file mode 100644 index aeefb0e5ae..0000000000 --- a/subgraph/deployer.rs +++ /dev/null @@ -1,2384 +0,0 @@ -pub use rainterpreter_expression_deployer_np::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types, -)] -pub mod rainterpreter_expression_deployer_np { - const _: () = { - ::core::include_bytes!( - "/home/nanezx/rain/rain.orderbook/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json", - ); - }; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("config_"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ], - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct RainterpreterExpressionDeployerConstructionConfig", - ), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("deployExpression"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("deployExpression"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sources_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("constants_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("minOutputs_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IInterpreterV1"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "contract IInterpreterStoreV1", - ), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("interpreter"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("interpreter"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IInterpreterV1"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("store"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("store"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "contract IInterpreterStoreV1", - ), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("supportsInterface"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("supportsInterface"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("interfaceId_"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 4usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes4"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DISpair"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("DISpair"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("deployer"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("interpreter"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("store"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("opMeta"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("ExpressionAddress"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ExpressionAddress"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("expression"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("NewExpression"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("NewExpression"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sources"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, - ), - ), - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("constants"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("minOutputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("BadDynamicLength"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("BadDynamicLength"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("dynamicLength"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("standardOpsLength"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("DoWhileMaxInputs"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DoWhileMaxInputs"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("InsufficientLoopOutputs"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "InsufficientLoopOutputs", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("outputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("MinFinalStack"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MinFinalStack"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("minStackOutputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "actualStackOutputs", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("MinStackBottom"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MinStackBottom"), - inputs: ::std::vec![], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("MissingEntrypoint"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MissingEntrypoint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "expectedEntrypoints", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualEntrypoints"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("NotPosIntPrice"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NotPosIntPrice"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("price"), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("int256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("OutOfBoundsConstantsRead"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "OutOfBoundsConstantsRead", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("constantsLength"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("constantsRead"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("OutOfBoundsStackRead"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "OutOfBoundsStackRead", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("stackTopIndex"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("stackRead"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_MulDiv18_Overflow"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_MulDiv18_Overflow", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("y"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_MulDiv_Overflow"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_MulDiv_Overflow", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("y"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("denominator"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Ceil_Overflow"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Ceil_Overflow", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Exp2_InputTooBig"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Exp2_InputTooBig", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Exp_InputTooBig"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Exp_InputTooBig", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Gm_Overflow"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Gm_Overflow", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("y"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Log_InputTooSmall", - ), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Log_InputTooSmall", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("PRBMath_UD60x18_Sqrt_Overflow"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PRBMath_UD60x18_Sqrt_Overflow", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("x"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("UD60x18"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("StackPopUnderflow"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("StackPopUnderflow"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "stackHighwaterIndex", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("stackTopIndex"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("StalePrice"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("StalePrice"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("updatedAt"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("staleAfter"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("TruncatedEncoding"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("TruncatedEncoding"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("startBit"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("length"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned( - "UnexpectedInterpreterBytecodeHash", - ), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "UnexpectedInterpreterBytecodeHash", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "actualBytecodeHash", - ), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("UnexpectedOpMetaHash"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "UnexpectedOpMetaHash", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualOpMeta"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("UnexpectedPointers"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UnexpectedPointers"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualPointers"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("UnexpectedStoreBytecodeHash"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "UnexpectedStoreBytecodeHash", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "actualBytecodeHash", - ), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("WriteError"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("WriteError"), - inputs: ::std::vec![], - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("ZeroInputs"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ZeroInputs"), - inputs: ::std::vec![], - }, - ], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static RAINTERPRETEREXPRESSIONDEPLOYERNP_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); - pub struct RainterpreterExpressionDeployerNP(::ethers::contract::Contract); - impl ::core::clone::Clone for RainterpreterExpressionDeployerNP { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for RainterpreterExpressionDeployerNP { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for RainterpreterExpressionDeployerNP { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for RainterpreterExpressionDeployerNP { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(RainterpreterExpressionDeployerNP)) - .field(&self.address()) - .finish() - } - } - impl RainterpreterExpressionDeployerNP { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - RAINTERPRETEREXPRESSIONDEPLOYERNP_ABI.clone(), - client, - ), - ) - } - ///Calls the contract's `deployExpression` (0x5511cb67) function - pub fn deploy_expression( - &self, - sources: ::std::vec::Vec<::ethers::core::types::Bytes>, - constants: ::std::vec::Vec<::ethers::core::types::U256>, - min_outputs: ::std::vec::Vec<::ethers::core::types::U256>, - ) -> ::ethers::contract::builders::ContractCall< - M, - ( - ::ethers::core::types::Address, - ::ethers::core::types::Address, - ::ethers::core::types::Address, - ), - > { - self.0 - .method_hash([85, 17, 203, 103], (sources, constants, min_outputs)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `interpreter` (0x3a35cf17) function - pub fn interpreter( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::ethers::core::types::Address, - > { - self.0 - .method_hash([58, 53, 207, 23], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `store` (0x975057e7) function - pub fn store( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::ethers::core::types::Address, - > { - self.0 - .method_hash([151, 80, 87, 231], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `supportsInterface` (0x01ffc9a7) function - pub fn supports_interface( - &self, - interface_id: [u8; 4], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 255, 201, 167], interface_id) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `DISpair` event - pub fn di_spair_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, DispairFilter> { - self.0.event() - } - ///Gets the contract's `ExpressionAddress` event - pub fn expression_address_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - ExpressionAddressFilter, - > { - self.0.event() - } - ///Gets the contract's `NewExpression` event - pub fn new_expression_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - NewExpressionFilter, - > { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - RainterpreterExpressionDeployerNPEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for RainterpreterExpressionDeployerNP { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `BadDynamicLength` with signature `BadDynamicLength(uint256,uint256)` and selector `0xc8b56901` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "BadDynamicLength", abi = "BadDynamicLength(uint256,uint256)")] - pub struct BadDynamicLength { - pub dynamic_length: ::ethers::core::types::U256, - pub standard_ops_length: ::ethers::core::types::U256, - } - ///Custom Error type `DoWhileMaxInputs` with signature `DoWhileMaxInputs(uint256)` and selector `0x316e6a37` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "DoWhileMaxInputs", abi = "DoWhileMaxInputs(uint256)")] - pub struct DoWhileMaxInputs { - pub inputs: ::ethers::core::types::U256, - } - ///Custom Error type `InsufficientLoopOutputs` with signature `InsufficientLoopOutputs(uint256,uint256)` and selector `0x508a8d2f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "InsufficientLoopOutputs", - abi = "InsufficientLoopOutputs(uint256,uint256)" - )] - pub struct InsufficientLoopOutputs { - pub inputs: ::ethers::core::types::U256, - pub outputs: ::ethers::core::types::U256, - } - ///Custom Error type `MinFinalStack` with signature `MinFinalStack(uint256,uint256)` and selector `0xf993c6e7` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "MinFinalStack", abi = "MinFinalStack(uint256,uint256)")] - pub struct MinFinalStack { - pub min_stack_outputs: ::ethers::core::types::U256, - pub actual_stack_outputs: ::ethers::core::types::U256, - } - ///Custom Error type `MinStackBottom` with signature `MinStackBottom()` and selector `0x271592cf` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "MinStackBottom", abi = "MinStackBottom()")] - pub struct MinStackBottom; - ///Custom Error type `MissingEntrypoint` with signature `MissingEntrypoint(uint256,uint256)` and selector `0x7d2d70db` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "MissingEntrypoint", abi = "MissingEntrypoint(uint256,uint256)")] - pub struct MissingEntrypoint { - pub expected_entrypoints: ::ethers::core::types::U256, - pub actual_entrypoints: ::ethers::core::types::U256, - } - ///Custom Error type `NotPosIntPrice` with signature `NotPosIntPrice(int256)` and selector `0x3351e26f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "NotPosIntPrice", abi = "NotPosIntPrice(int256)")] - pub struct NotPosIntPrice { - pub price: ::ethers::core::types::I256, - } - ///Custom Error type `OutOfBoundsConstantsRead` with signature `OutOfBoundsConstantsRead(uint256,uint256)` and selector `0x890a8e6a` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "OutOfBoundsConstantsRead", - abi = "OutOfBoundsConstantsRead(uint256,uint256)" - )] - pub struct OutOfBoundsConstantsRead { - pub constants_length: ::ethers::core::types::U256, - pub constants_read: ::ethers::core::types::U256, - } - ///Custom Error type `OutOfBoundsStackRead` with signature `OutOfBoundsStackRead(uint256,uint256)` and selector `0x1cb73c16` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "OutOfBoundsStackRead", - abi = "OutOfBoundsStackRead(uint256,uint256)" - )] - pub struct OutOfBoundsStackRead { - pub stack_top_index: ::ethers::core::types::U256, - pub stack_read: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_MulDiv18_Overflow` with signature `PRBMath_MulDiv18_Overflow(uint256,uint256)` and selector `0x5173648d` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_MulDiv18_Overflow", - abi = "PRBMath_MulDiv18_Overflow(uint256,uint256)" - )] - pub struct PRBMath_MulDiv18_Overflow { - pub x: ::ethers::core::types::U256, - pub y: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_MulDiv_Overflow` with signature `PRBMath_MulDiv_Overflow(uint256,uint256,uint256)` and selector `0x63a05778` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_MulDiv_Overflow", - abi = "PRBMath_MulDiv_Overflow(uint256,uint256,uint256)" - )] - pub struct PRBMath_MulDiv_Overflow { - pub x: ::ethers::core::types::U256, - pub y: ::ethers::core::types::U256, - pub denominator: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_UD60x18_Ceil_Overflow` with signature `PRBMath_UD60x18_Ceil_Overflow(uint256)` and selector `0x6149f6b9` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_UD60x18_Ceil_Overflow", - abi = "PRBMath_UD60x18_Ceil_Overflow(uint256)" - )] - pub struct PRBMath_UD60x18_Ceil_Overflow { - pub x: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_UD60x18_Exp2_InputTooBig` with signature `PRBMath_UD60x18_Exp2_InputTooBig(uint256)` and selector `0xb3b6ba1f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_UD60x18_Exp2_InputTooBig", - abi = "PRBMath_UD60x18_Exp2_InputTooBig(uint256)" - )] - pub struct PRBMath_UD60x18_Exp2_InputTooBig { - pub x: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_UD60x18_Exp_InputTooBig` with signature `PRBMath_UD60x18_Exp_InputTooBig(uint256)` and selector `0x1af63aca` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_UD60x18_Exp_InputTooBig", - abi = "PRBMath_UD60x18_Exp_InputTooBig(uint256)" - )] - pub struct PRBMath_UD60x18_Exp_InputTooBig { - pub x: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_UD60x18_Gm_Overflow` with signature `PRBMath_UD60x18_Gm_Overflow(uint256,uint256)` and selector `0xae7f3b37` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_UD60x18_Gm_Overflow", - abi = "PRBMath_UD60x18_Gm_Overflow(uint256,uint256)" - )] - pub struct PRBMath_UD60x18_Gm_Overflow { - pub x: ::ethers::core::types::U256, - pub y: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_UD60x18_Log_InputTooSmall` with signature `PRBMath_UD60x18_Log_InputTooSmall(uint256)` and selector `0x36d32ef0` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_UD60x18_Log_InputTooSmall", - abi = "PRBMath_UD60x18_Log_InputTooSmall(uint256)" - )] - pub struct PRBMath_UD60x18_Log_InputTooSmall { - pub x: ::ethers::core::types::U256, - } - ///Custom Error type `PRBMath_UD60x18_Sqrt_Overflow` with signature `PRBMath_UD60x18_Sqrt_Overflow(uint256)` and selector `0xedc236ad` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "PRBMath_UD60x18_Sqrt_Overflow", - abi = "PRBMath_UD60x18_Sqrt_Overflow(uint256)" - )] - pub struct PRBMath_UD60x18_Sqrt_Overflow { - pub x: ::ethers::core::types::U256, - } - ///Custom Error type `StackPopUnderflow` with signature `StackPopUnderflow(uint256,uint256)` and selector `0x625e32e4` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "StackPopUnderflow", abi = "StackPopUnderflow(uint256,uint256)")] - pub struct StackPopUnderflow { - pub stack_highwater_index: ::ethers::core::types::U256, - pub stack_top_index: ::ethers::core::types::U256, - } - ///Custom Error type `StalePrice` with signature `StalePrice(uint256,uint256)` and selector `0x2730eb48` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "StalePrice", abi = "StalePrice(uint256,uint256)")] - pub struct StalePrice { - pub updated_at: ::ethers::core::types::U256, - pub stale_after: ::ethers::core::types::U256, - } - ///Custom Error type `TruncatedEncoding` with signature `TruncatedEncoding(uint256,uint256)` and selector `0x2ccabbc2` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "TruncatedEncoding", abi = "TruncatedEncoding(uint256,uint256)")] - pub struct TruncatedEncoding { - pub start_bit: ::ethers::core::types::U256, - pub length: ::ethers::core::types::U256, - } - ///Custom Error type `UnexpectedInterpreterBytecodeHash` with signature `UnexpectedInterpreterBytecodeHash(bytes32)` and selector `0x1dd8527e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "UnexpectedInterpreterBytecodeHash", - abi = "UnexpectedInterpreterBytecodeHash(bytes32)" - )] - pub struct UnexpectedInterpreterBytecodeHash { - pub actual_bytecode_hash: [u8; 32], - } - ///Custom Error type `UnexpectedOpMetaHash` with signature `UnexpectedOpMetaHash(bytes32)` and selector `0x87a1fcae` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "UnexpectedOpMetaHash", abi = "UnexpectedOpMetaHash(bytes32)")] - pub struct UnexpectedOpMetaHash { - pub actual_op_meta: [u8; 32], - } - ///Custom Error type `UnexpectedPointers` with signature `UnexpectedPointers(bytes)` and selector `0x9835e402` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "UnexpectedPointers", abi = "UnexpectedPointers(bytes)")] - pub struct UnexpectedPointers { - pub actual_pointers: ::ethers::core::types::Bytes, - } - ///Custom Error type `UnexpectedStoreBytecodeHash` with signature `UnexpectedStoreBytecodeHash(bytes32)` and selector `0xcc0415fd` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror( - name = "UnexpectedStoreBytecodeHash", - abi = "UnexpectedStoreBytecodeHash(bytes32)" - )] - pub struct UnexpectedStoreBytecodeHash { - pub actual_bytecode_hash: [u8; 32], - } - ///Custom Error type `WriteError` with signature `WriteError()` and selector `0x08d4abb6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "WriteError", abi = "WriteError()")] - pub struct WriteError; - ///Custom Error type `ZeroInputs` with signature `ZeroInputs()` and selector `0x904c1f6d` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[etherror(name = "ZeroInputs", abi = "ZeroInputs()")] - pub struct ZeroInputs; - ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum RainterpreterExpressionDeployerNPErrors { - BadDynamicLength(BadDynamicLength), - DoWhileMaxInputs(DoWhileMaxInputs), - InsufficientLoopOutputs(InsufficientLoopOutputs), - MinFinalStack(MinFinalStack), - MinStackBottom(MinStackBottom), - MissingEntrypoint(MissingEntrypoint), - NotPosIntPrice(NotPosIntPrice), - OutOfBoundsConstantsRead(OutOfBoundsConstantsRead), - OutOfBoundsStackRead(OutOfBoundsStackRead), - PRBMath_MulDiv18_Overflow(PRBMath_MulDiv18_Overflow), - PRBMath_MulDiv_Overflow(PRBMath_MulDiv_Overflow), - PRBMath_UD60x18_Ceil_Overflow(PRBMath_UD60x18_Ceil_Overflow), - PRBMath_UD60x18_Exp2_InputTooBig(PRBMath_UD60x18_Exp2_InputTooBig), - PRBMath_UD60x18_Exp_InputTooBig(PRBMath_UD60x18_Exp_InputTooBig), - PRBMath_UD60x18_Gm_Overflow(PRBMath_UD60x18_Gm_Overflow), - PRBMath_UD60x18_Log_InputTooSmall(PRBMath_UD60x18_Log_InputTooSmall), - PRBMath_UD60x18_Sqrt_Overflow(PRBMath_UD60x18_Sqrt_Overflow), - StackPopUnderflow(StackPopUnderflow), - StalePrice(StalePrice), - TruncatedEncoding(TruncatedEncoding), - UnexpectedInterpreterBytecodeHash(UnexpectedInterpreterBytecodeHash), - UnexpectedOpMetaHash(UnexpectedOpMetaHash), - UnexpectedPointers(UnexpectedPointers), - UnexpectedStoreBytecodeHash(UnexpectedStoreBytecodeHash), - WriteError(WriteError), - ZeroInputs(ZeroInputs), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for RainterpreterExpressionDeployerNPErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( - data, - ) { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::BadDynamicLength(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::DoWhileMaxInputs(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::InsufficientLoopOutputs(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::MinFinalStack(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::MinStackBottom(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::MissingEntrypoint(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::NotPosIntPrice(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::OutOfBoundsConstantsRead(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::OutOfBoundsStackRead(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_MulDiv18_Overflow(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_MulDiv_Overflow(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_UD60x18_Ceil_Overflow(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_UD60x18_Exp2_InputTooBig(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_UD60x18_Exp_InputTooBig(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_UD60x18_Gm_Overflow(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_UD60x18_Log_InputTooSmall(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::PRBMath_UD60x18_Sqrt_Overflow(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::StackPopUnderflow(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::StalePrice(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TruncatedEncoding(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::UnexpectedInterpreterBytecodeHash(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::UnexpectedOpMetaHash(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::UnexpectedPointers(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::UnexpectedStoreBytecodeHash(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::WriteError(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::ZeroInputs(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for RainterpreterExpressionDeployerNPErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::BadDynamicLength(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::DoWhileMaxInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::InsufficientLoopOutputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::MinFinalStack(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::MinStackBottom(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::MissingEntrypoint(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::NotPosIntPrice(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::OutOfBoundsConstantsRead(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::OutOfBoundsStackRead(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_MulDiv18_Overflow(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_MulDiv_Overflow(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_UD60x18_Ceil_Overflow(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_UD60x18_Exp2_InputTooBig(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_UD60x18_Exp_InputTooBig(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_UD60x18_Gm_Overflow(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_UD60x18_Log_InputTooSmall(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PRBMath_UD60x18_Sqrt_Overflow(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::StackPopUnderflow(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::StalePrice(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TruncatedEncoding(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UnexpectedInterpreterBytecodeHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UnexpectedOpMetaHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UnexpectedPointers(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UnexpectedStoreBytecodeHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::WriteError(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ZeroInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for RainterpreterExpressionDeployerNPErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => true, - _ if selector - == ::selector() => true, - _ => false, - } - } - } - impl ::core::fmt::Display for RainterpreterExpressionDeployerNPErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::BadDynamicLength(element) => ::core::fmt::Display::fmt(element, f), - Self::DoWhileMaxInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientLoopOutputs(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::MinFinalStack(element) => ::core::fmt::Display::fmt(element, f), - Self::MinStackBottom(element) => ::core::fmt::Display::fmt(element, f), - Self::MissingEntrypoint(element) => ::core::fmt::Display::fmt(element, f), - Self::NotPosIntPrice(element) => ::core::fmt::Display::fmt(element, f), - Self::OutOfBoundsConstantsRead(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::OutOfBoundsStackRead(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_MulDiv18_Overflow(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_MulDiv_Overflow(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_UD60x18_Ceil_Overflow(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_UD60x18_Exp2_InputTooBig(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_UD60x18_Exp_InputTooBig(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_UD60x18_Gm_Overflow(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_UD60x18_Log_InputTooSmall(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::PRBMath_UD60x18_Sqrt_Overflow(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::StackPopUnderflow(element) => ::core::fmt::Display::fmt(element, f), - Self::StalePrice(element) => ::core::fmt::Display::fmt(element, f), - Self::TruncatedEncoding(element) => ::core::fmt::Display::fmt(element, f), - Self::UnexpectedInterpreterBytecodeHash(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::UnexpectedOpMetaHash(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::UnexpectedPointers(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::UnexpectedStoreBytecodeHash(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WriteError(element) => ::core::fmt::Display::fmt(element, f), - Self::ZeroInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> - for RainterpreterExpressionDeployerNPErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: BadDynamicLength) -> Self { - Self::BadDynamicLength(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: DoWhileMaxInputs) -> Self { - Self::DoWhileMaxInputs(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: InsufficientLoopOutputs) -> Self { - Self::InsufficientLoopOutputs(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: MinFinalStack) -> Self { - Self::MinFinalStack(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: MinStackBottom) -> Self { - Self::MinStackBottom(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: MissingEntrypoint) -> Self { - Self::MissingEntrypoint(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: NotPosIntPrice) -> Self { - Self::NotPosIntPrice(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: OutOfBoundsConstantsRead) -> Self { - Self::OutOfBoundsConstantsRead(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: OutOfBoundsStackRead) -> Self { - Self::OutOfBoundsStackRead(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_MulDiv18_Overflow) -> Self { - Self::PRBMath_MulDiv18_Overflow(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_MulDiv_Overflow) -> Self { - Self::PRBMath_MulDiv_Overflow(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_UD60x18_Ceil_Overflow) -> Self { - Self::PRBMath_UD60x18_Ceil_Overflow(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_UD60x18_Exp2_InputTooBig) -> Self { - Self::PRBMath_UD60x18_Exp2_InputTooBig(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_UD60x18_Exp_InputTooBig) -> Self { - Self::PRBMath_UD60x18_Exp_InputTooBig(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_UD60x18_Gm_Overflow) -> Self { - Self::PRBMath_UD60x18_Gm_Overflow(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_UD60x18_Log_InputTooSmall) -> Self { - Self::PRBMath_UD60x18_Log_InputTooSmall(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: PRBMath_UD60x18_Sqrt_Overflow) -> Self { - Self::PRBMath_UD60x18_Sqrt_Overflow(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: StackPopUnderflow) -> Self { - Self::StackPopUnderflow(value) - } - } - impl ::core::convert::From for RainterpreterExpressionDeployerNPErrors { - fn from(value: StalePrice) -> Self { - Self::StalePrice(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: TruncatedEncoding) -> Self { - Self::TruncatedEncoding(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: UnexpectedInterpreterBytecodeHash) -> Self { - Self::UnexpectedInterpreterBytecodeHash(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: UnexpectedOpMetaHash) -> Self { - Self::UnexpectedOpMetaHash(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: UnexpectedPointers) -> Self { - Self::UnexpectedPointers(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPErrors { - fn from(value: UnexpectedStoreBytecodeHash) -> Self { - Self::UnexpectedStoreBytecodeHash(value) - } - } - impl ::core::convert::From for RainterpreterExpressionDeployerNPErrors { - fn from(value: WriteError) -> Self { - Self::WriteError(value) - } - } - impl ::core::convert::From for RainterpreterExpressionDeployerNPErrors { - fn from(value: ZeroInputs) -> Self { - Self::ZeroInputs(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "DISpair", abi = "DISpair(address,address,address,address,bytes)")] - pub struct DispairFilter { - pub sender: ::ethers::core::types::Address, - pub deployer: ::ethers::core::types::Address, - pub interpreter: ::ethers::core::types::Address, - pub store: ::ethers::core::types::Address, - pub op_meta: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "ExpressionAddress", abi = "ExpressionAddress(address,address)")] - pub struct ExpressionAddressFilter { - pub sender: ::ethers::core::types::Address, - pub expression: ::ethers::core::types::Address, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent( - name = "NewExpression", - abi = "NewExpression(address,bytes[],uint256[],uint256[])" - )] - pub struct NewExpressionFilter { - pub sender: ::ethers::core::types::Address, - pub sources: ::std::vec::Vec<::ethers::core::types::Bytes>, - pub constants: ::std::vec::Vec<::ethers::core::types::U256>, - pub min_outputs: ::std::vec::Vec<::ethers::core::types::U256>, - } - ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum RainterpreterExpressionDeployerNPEvents { - DispairFilter(DispairFilter), - ExpressionAddressFilter(ExpressionAddressFilter), - NewExpressionFilter(NewExpressionFilter), - } - impl ::ethers::contract::EthLogDecode for RainterpreterExpressionDeployerNPEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = DispairFilter::decode_log(log) { - return Ok( - RainterpreterExpressionDeployerNPEvents::DispairFilter(decoded), - ); - } - if let Ok(decoded) = ExpressionAddressFilter::decode_log(log) { - return Ok( - RainterpreterExpressionDeployerNPEvents::ExpressionAddressFilter( - decoded, - ), - ); - } - if let Ok(decoded) = NewExpressionFilter::decode_log(log) { - return Ok( - RainterpreterExpressionDeployerNPEvents::NewExpressionFilter(decoded), - ); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for RainterpreterExpressionDeployerNPEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::DispairFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::ExpressionAddressFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::NewExpressionFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - } - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPEvents { - fn from(value: DispairFilter) -> Self { - Self::DispairFilter(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPEvents { - fn from(value: ExpressionAddressFilter) -> Self { - Self::ExpressionAddressFilter(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPEvents { - fn from(value: NewExpressionFilter) -> Self { - Self::NewExpressionFilter(value) - } - } - ///Container type for all input parameters for the `deployExpression` function with signature `deployExpression(bytes[],uint256[],uint256[])` and selector `0x5511cb67` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall( - name = "deployExpression", - abi = "deployExpression(bytes[],uint256[],uint256[])" - )] - pub struct DeployExpressionCall { - pub sources: ::std::vec::Vec<::ethers::core::types::Bytes>, - pub constants: ::std::vec::Vec<::ethers::core::types::U256>, - pub min_outputs: ::std::vec::Vec<::ethers::core::types::U256>, - } - ///Container type for all input parameters for the `interpreter` function with signature `interpreter()` and selector `0x3a35cf17` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "interpreter", abi = "interpreter()")] - pub struct InterpreterCall; - ///Container type for all input parameters for the `store` function with signature `store()` and selector `0x975057e7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "store", abi = "store()")] - pub struct StoreCall; - ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] - pub struct SupportsInterfaceCall { - pub interface_id: [u8; 4], - } - ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum RainterpreterExpressionDeployerNPCalls { - DeployExpression(DeployExpressionCall), - Interpreter(InterpreterCall), - Store(StoreCall), - SupportsInterface(SupportsInterfaceCall), - } - impl ::ethers::core::abi::AbiDecode for RainterpreterExpressionDeployerNPCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::DeployExpression(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::Interpreter(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::Store(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::SupportsInterface(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for RainterpreterExpressionDeployerNPCalls { - fn encode(self) -> Vec { - match self { - Self::DeployExpression(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Interpreter(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Store(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SupportsInterface(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - } - } - } - impl ::core::fmt::Display for RainterpreterExpressionDeployerNPCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::DeployExpression(element) => ::core::fmt::Display::fmt(element, f), - Self::Interpreter(element) => ::core::fmt::Display::fmt(element, f), - Self::Store(element) => ::core::fmt::Display::fmt(element, f), - Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPCalls { - fn from(value: DeployExpressionCall) -> Self { - Self::DeployExpression(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPCalls { - fn from(value: InterpreterCall) -> Self { - Self::Interpreter(value) - } - } - impl ::core::convert::From for RainterpreterExpressionDeployerNPCalls { - fn from(value: StoreCall) -> Self { - Self::Store(value) - } - } - impl ::core::convert::From - for RainterpreterExpressionDeployerNPCalls { - fn from(value: SupportsInterfaceCall) -> Self { - Self::SupportsInterface(value) - } - } - ///Container type for all return fields from the `deployExpression` function with signature `deployExpression(bytes[],uint256[],uint256[])` and selector `0x5511cb67` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct DeployExpressionReturn( - pub ::ethers::core::types::Address, - pub ::ethers::core::types::Address, - pub ::ethers::core::types::Address, - ); - ///Container type for all return fields from the `interpreter` function with signature `interpreter()` and selector `0x3a35cf17` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct InterpreterReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `store` function with signature `store()` and selector `0x975057e7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct StoreReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct SupportsInterfaceReturn(pub bool); -} diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs index 295dc36701..04c483a16b 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/deploy_orderbook.rs @@ -1,88 +1,23 @@ mod generated; mod utils; -use anyhow::Result; -use ethers::abi::{Address, Bytes, Token}; -use ethers::contract::ContractFactory; -use generated::{RAINTERPRETEREXPRESSIONDEPLOYER_ABI, RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE}; -use hex::FromHex; -use utils::{ - deploy::meta_getter::get_authoring_meta, - deploy::touch_deployer::{ - deploy_touch_deployer, rainterpreter_deploy, rainterpreter_store_deploy, - }, - setup::{get_provider, is_sugraph_node_init}, - utils::get_wallet, -}; - -use ethers::{prelude::SignerMiddleware, providers::Middleware, signers::Signer}; - -use std::{ - fs::File, - io::{BufReader, Read}, - sync::Arc, -}; +use utils::{deploy::touch_deployer::deploy_touch_deployer, setup::is_sugraph_node_init}; #[tokio::main] #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { - // let rain_address = rainterpreter_deploy(None) - // .await - // .expect("cannot deploy rainiterpreter"); - - // println!("rain_address: {:?}", rain_address); - - // let store_address = rainterpreter_store_deploy(None) - // .await - // .expect("cannot deploy store_address"); - // println!("store_address: {:?}", store_address); - - // let meta_vec = meta_bytes.clone().to_vec(); - - // let aver = &[Token::Tuple( - // [ - // Token::Address(rain_address), - // Token::Address(store_address), - // Token::Bytes(meta_vec), - // ] - // .to_vec(), - // )]; - - let wallet = get_wallet(0); - let provider = get_provider().await.expect("cannot get provider"); - let chain_id = provider.get_chainid().await.expect("cannot get chain id"); - - let client = Arc::new(SignerMiddleware::new( - provider.clone(), - wallet.with_chain_id(chain_id.as_u64()), - )); - - let check = ContractFactory::new( - RAINTERPRETEREXPRESSIONDEPLOYER_ABI.clone(), - RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE.clone(), - client, - ); - - let rain_address = Address::random(); - let store_address = Address::random(); - let meta_bytes = get_authoring_meta().await; - let meta_vec = meta_bytes.to_vec(); - - let params = vec![Token::Tuple(vec![ - Token::Address(rain_address), - Token::Address(store_address), - Token::Bytes(meta_vec), - ])]; - - let tx_aver = check.deploy_tokens(params).expect("failed deploy tokens"); - - let resp = tx_aver.legacy().send().await.expect("failed at send tx"); - - // let sg_check = is_sugraph_node_init() - // .await - // .expect("cannot get nothing from sg"); - - // println!("sg_check: {}", sg_check); + // Deploy + let expression_deployer = deploy_touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + println!("i_interpreter: {:?}", expression_deployer.i_interpreter()); + println!("i_store: {:?}", expression_deployer.i_store()); + println!("expression_deployer: {:?}", expression_deployer.address()); + + let _ = is_sugraph_node_init() + .await + .expect("cannot check subgraph node"); Ok(()) } diff --git a/subgraph/tests/utils/deploy/meta_getter/AuthoringMetaGetter.json b/subgraph/tests/generated/AuthoringMetaGetter.json similarity index 100% rename from subgraph/tests/utils/deploy/meta_getter/AuthoringMetaGetter.json rename to subgraph/tests/generated/AuthoringMetaGetter.json diff --git a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json new file mode 100644 index 0000000000..65f1408818 --- /dev/null +++ b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json @@ -0,0 +1,9070 @@ +{ + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "internalType": "bytes", + "name": "authoringMeta", + "type": "bytes" + } + ], + "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", + "name": "config", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "AuthoringMetaHashMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "name": "BadDynamicLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "calculatedInputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bytecodeInputs", + "type": "uint256" + } + ], + "name": "BadOpInputsLength", + "type": "error" + }, + { + "inputs": [], + "name": "DanglingSource", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "DecimalLiteralOverflow", + "type": "error" + }, + { + "inputs": [], + "name": "DuplicateFingerprint", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "errorOffset", + "type": "uint256" + } + ], + "name": "DuplicateLHSItem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "entrypointIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minOutputs", + "type": "uint256" + } + ], + "name": "EntrypointMinOutputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedEntrypoints", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualEntrypoints", + "type": "uint256" + } + ], + "name": "EntrypointMissing", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "entrypointIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "inputsLength", + "type": "uint256" + } + ], + "name": "EntrypointNonZeroInput", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "ExcessLHSItems", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "ExcessRHSItems", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "ExpectedLeftParen", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "ExpectedOperand", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "HexLiteralOverflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "MalformedCommentStart", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "MalformedExponentDigits", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "MalformedHexLiteral", + "type": "error" + }, + { + "inputs": [], + "name": "MaxSources", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "MissingFinalSemi", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "NotAcceptingInputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "OddLengthHexLiteral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "OperandOverflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantRead", + "type": "uint256" + } + ], + "name": "OutOfBoundsConstantRead", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackRead", + "type": "uint256" + } + ], + "name": "OutOfBoundsStackRead", + "type": "error" + }, + { + "inputs": [], + "name": "ParenOverflow", + "type": "error" + }, + { + "inputs": [], + "name": "ParserOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "name": "SourceOffsetOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackMaxIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bytecodeAllocation", + "type": "uint256" + } + ], + "name": "StackAllocationMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bytecodeOutputs", + "type": "uint256" + } + ], + "name": "StackOutputsMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "StackOverflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "calculatedInputs", + "type": "uint256" + } + ], + "name": "StackUnderflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackHighwater", + "type": "uint256" + } + ], + "name": "StackUnderflowHighwater", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnclosedLeftParen", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnclosedOperand", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnexpectedComment", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "name": "UnexpectedInterpreterBytecodeHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnexpectedLHSChar", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualOpMeta", + "type": "bytes32" + } + ], + "name": "UnexpectedOpMetaHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnexpectedOperand", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "actualPointers", + "type": "bytes" + } + ], + "name": "UnexpectedPointers", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnexpectedRHSChar", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnexpectedRightParen", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "name": "UnexpectedStoreBytecodeHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnknownWord", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "UnsupportedLiteralType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "word", + "type": "string" + } + ], + "name": "WordSize", + "type": "error" + }, + { + "inputs": [], + "name": "WriteError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "ZeroLengthDecimal", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "name": "ZeroLengthHexLiteral", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "opMeta", + "type": "bytes" + } + ], + "name": "DISpair", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "name": "ExpressionAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "name": "NewExpression", + "type": "event" + }, + { + "inputs": [], + "name": "authoringMetaHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "authoringMeta", + "type": "bytes" + } + ], + "name": "buildParseMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "name": "deployExpression", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "iInterpreter", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "iStore", + "outputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "name": "integrityCheck", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "integrityFunctionPointers", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "parse", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "parseMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x60c06040523480156200001157600080fd5b5060405162004b1f38038062004b1f833981016040819052620000349162000449565b805160208201516001600160a01b03808316608081905290821660a0526040805163f933c72f60e01b815290516000929163f933c72f91600480830192869291908290030181865afa1580156200008f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000b99190810190620004fa565b905060405180608001604052806052815260200162004acd6052913980519060200120818051906020012014620001105780604051634c1af20160e11b815260040162000107919062000568565b60405180910390fd5b823f7faa8f18bb20fc23e48b3d51bcb3ed2a06b174be576927d4cc0554fd5e781f7b1981146200015757604051630eec293f60e11b81526004810182905260240162000107565b823f7fd6130168250d3957ae34f8026c2bdbd7e21d35bb202e8540a9b3abcbc232ddb681146200019e5760405163cc0415fd60e01b81526004810182905260240162000107565b604086015180516020909101207fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb18114620001f0576040516343d0fe5760e11b81526004810182905260240162000107565b7f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1333088888b604001516040516200022d95949392919062000584565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256320000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002a89160040162000568565b602060405180830381865afa158015620002c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ec9190620005cd565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505050505050505050620005e7565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200038d57600080fd5b919050565b60005b83811015620003af57818101518382015260200162000395565b50506000910152565b600082601f830112620003ca57600080fd5b81516001600160401b0380821115620003e757620003e76200035f565b604051601f8301601f19908116603f011681019082821181831017156200041257620004126200035f565b816040528381528660208588010111156200042c57600080fd5b6200043f84602083016020890162000392565b9695505050505050565b6000602082840312156200045c57600080fd5b81516001600160401b03808211156200047457600080fd5b90830190606082860312156200048957600080fd5b604051606081018181108382111715620004a757620004a76200035f565b604052620004b58362000375565b8152620004c56020840162000375565b6020820152604083015182811115620004dd57600080fd5b620004eb87828601620003b8565b60408301525095945050505050565b6000602082840312156200050d57600080fd5b81516001600160401b038111156200052457600080fd5b6200053284828501620003b8565b949350505050565b600081518084526200055481602086016020860162000392565b601f01601f19169290920160200192915050565b6020815260006200057d60208301846200053a565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005c2908301846200053a565b979650505050505050565b600060208284031215620005e057600080fd5b5051919050565b60805160a0516144b26200061b60003960008181610190015261044d0152600081816101f1015261042a01526144b26000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063c19423bc11610076578063f0cfdd371161005b578063f0cfdd37146101ec578063fab4087a14610213578063ffc257041461023457600080fd5b8063c19423bc1461018b578063cbb7d173146101d757600080fd5b80638d614591116100a75780638d61459114610135578063a600bd0a1461014a578063b6c7175a1461015d57600080fd5b806301ffc9a7146100c357806331a66b65146100eb575b600080fd5b6100d66100d1366004613d18565b61023c565b60405190151581526020015b60405180910390f35b6100fe6100f9366004613f2e565b6102d5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016100e2565b61013d61047c565b6040516100e29190614024565b61013d610158366004614037565b61048b565b6040517fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb181526020016100e2565b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101ea6101e5366004613f2e565b610547565b005b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b610226610221366004614037565b610570565b6040516100e29291906140a7565b61013d61058d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f31a66b650000000000000000000000000000000000000000000000000000000014806102cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060006102e5868686610547565b7f4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf3387878760405161031a94939291906140d5565b60405180910390a18451865160009182916103bd916020020160400160408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b915091506103cc8189896105ae565b60006103d7836105ec565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000095507f00000000000000000000000000000000000000000000000000000000000000009450925050505b93509350939050565b606061048661065a565b905090565b805160208201206060907fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1811461051c576040517f26cc0fec0000000000000000000000000000000000000000000000000000000081527fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb16004820152602481018290526044015b60405180910390fd5b6000838060200190518101906105329190614135565b905061053f816002610837565b949350505050565b61056b60405180608001604052806052815260200161437160529139848484610b64565b505050565b6060806105848361057f61058d565b610f23565b91509150915091565b606060405180610120016040528060ef81526020016143c360ef9139905090565b80600182510160200281015b808210156105d55781518552602094850194909101906105ba565b505061056b6105e18390565b84845160200161178b565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610653576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060613d0e60006029905080915060006040518061054001604052808467ffffffffffffffff1667ffffffffffffffff1681526020016117f1815260200161186b81526020016118d281526020016118dc81526020016118d281526020016118d281526020016118d281526020016118d281526020016118d281526020016118e681526020016119088152602001611932815260200161195481526020016118e681526020016119548152602001611954815260200161195e8152602001611968815260200161195481526020016119548152602001611971815260200161197181526020016119548152602001611968815260200161196881526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119688152602001611988815260200161199281526020016119928152509050606081905060298151146108255780516040517fc8b56901000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052604401610513565b61082e816119a1565b94505050505090565b6060808060008060ff861667ffffffffffffffff81111561085a5761085a613d61565b604051908082528060200260200182016040528015610883578160200160208202803683370190505b5093508560ff1667ffffffffffffffff8111156108a2576108a2613d61565b6040519080825280602002602001820160405280156108cb578160200160208202803683370190505b509250865b805115610940576000806108e383611a32565b8951909550919350915082908890869081106109015761090161429b565b602002602001019060ff16908160ff1681525050808685815181106109285761092861429b565b602090810291909101015250506001909101906108d0565b5060006005885102602183026001010190508067ffffffffffffffff81111561096b5761096b613d61565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b50955081602087015360005b828110156109d357806021026021880101816020026020018701518153602080830287010151600191820152016109a1565b50506021028401600601905060005b8651811015610b5a576000805b6000806000878581518110610a0657610a0661429b565b60200260200101519050600080610a568b8881518110610a2857610a2861429b565b602002602001015160ff168f8a81518110610a4557610a4561429b565b602002602001015160000151611b60565b925090506005600087610a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85018716611b82565b01919091028a01805190955062ffffff84811693501690508015610b0157818103610ae3576040517f59293c5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190970196610af284611b82565b870196505050505050506109ef565b8195505050505060188b8681518110610b1c57610b1c61429b565b60200260200101516020015160ff16901b602086901b17821791506000600160056001901b03199050828183511617825250505050506001016109e2565b5050505092915050565b6000610b6f84611c5b565b90508082511115610bb95781516040517ffd9e1af4000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610513565b6020850160005b82811015610f1a576000610bd48783611c79565b90506000610be28884611c92565b90508551831015610cb2578115610c2f576040517fee8d10810000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610513565b858381518110610c4157610c4161429b565b6020026020010151811015610cb2578281878581518110610c6457610c6461429b565b60200260200101516040517ff7dd619f000000000000000000000000000000000000000000000000000000008152600401610513939291909283526020830191909152604082015260600190565b6000610cc089848a51611cab565b905060006018610cd08b87611d17565b0390506000610cdf8b87611d48565b600402820190505b80821015610e64578151601c81901a60020288015162ffffff821691601d1a9060f01c600080610d15888685565b91509150838214610d695760808801516040517fddf5607100000000000000000000000000000000000000000000000000000000815260048101919091526024810183905260448101859052606401610513565b8751821115610dbb57608088015188516040517f2cab6bff0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101839052606401610513565b875182900380895260408901511115610e1d57608088015188516040808b015190517f1bc5ab0f000000000000000000000000000000000000000000000000000000008152600481019390935260248301919091526044820152606401610513565b8751810180895260208901511015610e3757875160208901525b6001811115610e4857875160408901525b5050506080850180516001019052505060049190910190610ce7565b610e6e8b87611d61565b836020015114610ec2578260200151610e878c88611d61565b6040517f4d9c18dc00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610513565b82518414610f095782516040517f4689f0b3000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052604401610513565b505060019093019250610bc0915050565b50505050505050565b6060806000610f30611d7a565b85519091501561176c578451600090602087810191880101825b818310156116c9576001835160001a1b905060018560e001511660000361125b576f07fffffe8000000000000000000000008116156111035760e085015160021615610feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f5520a51700000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6f07fffffe0000000000000000000000008116156110975761101d836f07fffffe0000000003ff200000000000611ee9565b9450925060008061102e8787611f9a565b915091508115611090576040517f53e6feba0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8703016004820152602401610513565b50506110b8565b6110b560018401836f07fffffe0000000003ff200000000000612011565b92505b604085018051600190810190915260a086018051909101905260e0850180516022177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef169052610f4a565b640100002600811615611154576111236001840183640100002600612011565b60e0860180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1690529250610f4a565b67040000000000000081161561119d5760e0850180516021177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed16905260019290920191610f4a565b658000000000008116156112315760108560e0015116600003611215578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517fedad0c5800000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b61121f898461203d565b60e08601805160021790529250610f4a565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610fb6565b6f07fffffe0000000000000000000000008116156113f05760e0850151600216156112db578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f4e803df600000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6112f5836f07fffffe0000000003ff200000000000611ee9565b8095508194505050600080613d0e6113138b896101a0015189612149565b92509250925082156113565760006113358961018001518e898563ffffffff16565b9097509050611345898483612215565b5060e08801805160041790526113dd565b6113608888612352565b909350915082156113855761137788600084612215565b611380886123cd565b6113dd565b6040517f81bd48db0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8803016004820152602401610513565b50505060e0850180516002179052610f4a565b60e0850151600416156114e657650100000000008116600003611465576040517f23b5c6ea0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b60608501805160001a60030190819053603b8111156114b0576040517f6232f2d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060e0850180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9169052600190920191610f4a565b650200000000008116156115b7576000606086015160001a905080600003611560576040517f7f9db5420000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8603016004820152602401610513565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd01606086018181538160048201015160001a8260028301015160f01c60010153506115ab866123cd565b50600190920191610f4a565b6401000026008116156115d7576111236001840183640100002600612011565b6703ff00000000000081161561160d576115f2858a85612430565b92506115fd856123cd565b60e0850180516002179052610f4a565b6510000000000081161561163157611626858a85612582565b600190920191610f4a565b6708000000000000008116156116675761164c858a85612582565b61165585612855565b601860e0860152600190920191610f4a565b6580000000000081161561169f578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016111e0565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016112a6565b818314611702576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60e085015160201615611767576040517ff06f54cf0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b505050505b61177581612a97565b61177e82612bcf565b92509250505b9250929050565b6020810680820384015b808510156117b0578451845260209485019490930192611795565b5080156117eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c808451168119865116178452505b50505050565b815160009081908390811061184957608085015185516040517feaa16f330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101829052606401610513565b846040015181111561185d57604085018190525b506000946001945092505050565b600080836060015183106118c557608084015160608501516040517feb7894540000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101849052606401610513565b5060009360019350915050565b5060009160019150565b60101c9160019150565b600080601083901c806118fa5760016118fc565b805b95600195509350505050565b600080601083901c8061191c57600261191e565b805b905060028106156118fa57806001016118fc565b600080601083901c80611946576001611948565b805b95600095509350505050565b5060029160019150565b5060039160019150565b50600191829150565b600080601083901c600181116118fa5760026118fc565b5060029160009150565b60046001808316019250929050565b60606000825160020267ffffffffffffffff8111156119c2576119c2613d61565b6040519080825280601f01601f1916602001820160405280156119ec576020820181803683370190505b50905061ffff80196020850160208651028101600285015b81831015611a2657805183518616908516178152602090920191600201611a04565b50939695505050505050565b60008060606000805b60ff811015611ab3576000805b8751811015611a7a57600080611a6a858b8581518110610a4557610a4561429b565b5093909317925050600101611a48565b506000611a8682611b82565b905083811115611a9a578093508296508195505b87518103611aa9575050611ab3565b5050600101611a3b565b5084516040805192909103808352600101602002820190529050600080805b8651811015611b5657600080611af78860ff168a8581518110610a4557610a4561429b565b91509150848216600003611b0e5793811793611b4c565b888381518110611b2057611b2061429b565b6020026020010151868581518110611b3a57611b3a61429b565b60209081029190910101526001909301925b5050600101611ad2565b5050509193909250565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bb45750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b60008151600003611c6e57506000919050565b506020015160001a90565b600080611c868484611d17565b5160021a949350505050565b600080611c9f8484611d17565b5160031a949350505050565b611ce46040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001606081525090565b506040805160c081018252838152602081018490529081019290925260608201526000608082015260a081019190915290565b600080611d2384611c5b565b60020260010190506000611d378585612c44565b949091019093016020019392505050565b600080611d558484611d17565b5160001a949350505050565b600080611d6e8484611d17565b5160011a949350505050565b611df3604051806101e001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051806101e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016010600817815260200160008152602001600081526020016000815260200160008152602001611e6861333c60101b6130901790565b8152602001611e92613a7360401b61390260301b6137a660201b61369860101b6135fb1717171790565b8152600060209182018190526040805183815280840182528452918301819052908201819052606082018190526080820181905260a08201819052610100820181905261012082018190526101c082015292915050565b8151600090819060015b8419600183831a1b1615602082101615611f0f57600101611ef3565b9485019460208190036008810292831c90921b91611f9157604080516020810184905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b700000000000000000000000000000000000000000000000000000000825261051391600401614024565b50939492505050565b600080611fa78484612352565b90925090508161178457506101008301805160408051948552602080862092865285018152909401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909416601085901b62ff000016179092179091529160ff90911660010190565b60005b6000826001865160001a1b1611838510161561203557600184019350612014565b509192915050565b805160009060f01c612f2a81146120a6576040517f3e47169c0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858503016004820152602401610513565b835160029390930192602a90602f90860160200160005b80612103575b81871084885160001a141516156120df576001870196506120c3565b6001870196508187101583885160001a1417156120fe57506001958601955b6120bd565b508086111561213e576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509395945050505050565b600183810180516000928392613d0e92602160ff909116028801600681019201845b81831015612201576001830151602190930180519093600090819060ff168180612195838f611b60565b915091506000876121aa600185038916611b82565b016005028b015195505062ffffff90811693508416830391506121ec9050575060019850601b81901a9750601c1a8a901c61ffff169550610473945050505050565b6121f583611b82565b8401935050505061216b565b506000998a99508998509650505050505050565b61221e83612cbc565b60e08301805160207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79190911681179091528301516021600091821a850101805190911a600101815350825180516060850151600090811a86016061018051929361ffff85169360088504909103601c0192600191901a018153600060038201537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe30180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690911790528451602090920183821b176018820185901b179182905260e081900361234b578451604080518088526020601084901b81178252810190915281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000161790525b5050505050565b61010082015161012083015160008381526020808220919384939290911c91600160ff84161b808216156123b85761ffff83165b80156123b6578360201c85036123a9576001965061ffff8460101c1695506123b6565b51925061ffff8316612386565b505b17610120909601959095525090939092509050565b6000606082015160001a90508060000361242c5760208201805160001a600101908181535080603f0361056b576040517fa25cba3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000613d0e600080600061244a8861018001518888612d06565b8981038a206101408d015194985092965090945092507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016906001600083811a82901b929091908316156124f0576101608c015160101c5b80156124ee5780517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000811686036124dd5760019350506124ee565b505160019091019061ffff166124a2565b505b6101608c015161ffff1661251660018461250a578261250e565b8383035b8f9190612215565b508161257257604080518082019091526101608d015160101c8517815260006125448d8a8a63ffffffff8e16565b6020830152506101608d018051600161ffff9091160160109290921b9190911790526101408c018051841790525b50929a9950505050505050505050565b606083015160001a80156125e8576040517f6fb11cdc0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848403016004820152602401610513565b506125f283612cbc565b60e083018051603060089182161790915260a0840151602085015160ff8083169360f89290921c9290911c16810360008190036126bb5760088660e0015116600003612690576040517fab1d3ea70000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b90820160f881901b60208701526101c08601519091906126b09084612fc9565b6101c0870152612784565b60018111156127845780831015612724576040517f78ef27820000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80831115612784576040517f43168e680000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b8082036001016020601083028101905b818110156128405760a08901516020848b01015190821c61ffff169060001a60015b81811161282f5760208306601c036127cf57915160f01c915b82516101c08d015160019190911a906127e89082613011565b6101c08e015261281982841480156128005750886001145b61280b57600161280d565b8a5b6101c08f015190613058565b6101c08e015250600492909201916001016127b6565b505060019093019250601001612794565b5050505060081b60a090940193909352505050565b60c0810151602082015160f082811c9160001a600101908290036128a5576040517fa806284100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080856101c001519050855161ffff815160101c165b80156128d357805190915060101c61ffff166128bc565b50604051602188018051919450601c830192916004916024870191600090811a805b8a8310156129bb5760048202860195506004878903045b8082111561292a57965161ffff16601c81019850969003600761290c565b506004810297889003805186529794909401938103865b6007821115612986575160101c61ffff1680518652601c909501947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff990910190612941565b81156129a1575160101c61ffff168051865260048202909501945b505050600191820180519092919091019060001a806128f5565b50505050818652600486019350846001600484040360181b1763ffffffff19855116178452601f19601f820116604052505050506001846001901b612a0091906142f9565b851682851b60f0612a1287601061430c565b901b171760c087015260e0860180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf16905260408051602080825280820183529088526000908801819052908701819052606087018190526080870181905260a08701819052610100870181905261012087018190526101c0870152505050505050565b60c08101518151516060919060f082901c9060208114612ae3576040517f858f2dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051935060208401601083046000818353506001600885048301810192839101600080805b88811015612b425789811c61ffff81165163ffff0000601092831b16811760e01b8786015284019360f08390031b929092179101612b09565b50825117909152878203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08181018952908801601f011660405260005b82811015612bc3576002810288016003015161ffff90811683018051602060f082901c019260e09190911c1690612bb883828461178b565b505050600101612b80565b50505050505050919050565b6101608101516040805161ffff8316808252602080820283019081019093529092909160109190911c90835b80821115612c3b5760208301518252915161ffff16917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190612bfb565b50505050919050565b6002810282016003015161ffff166000612c5d84611c5b565b845190915060056002830284010190811180612c795750818410155b15612cb45784846040517fd3fc97bd00000000000000000000000000000000000000000000000000000000815260040161051392919061431f565b505092915050565b60208101805160001a6001810182015160001a61056b578251805160a085018051600861ffff939093169290920460200390920160106001601e84901a860301021b179052505050565b8051613d0e9060009081908190600181831a1b6703ff000000000000811615612f2857600182811a1b7ffffffffffffffffffffffffffffffffffeffffffffffffffffff00000000000082821701612de25760028801806c7e0000007e03ff0000000000005b806001835160001a1b1615612d8657600182019150612d6c565b508a5161ffff8d16908c0160200180831115612dce576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5098509096509450849350612fc092505050565b876001810160006703ff0000000000006c200000002000000000000000005b816001855160001a1b1615612e1b57600184019350612e01565b806001855160001a1b1615612e4c57600184019392505b816001855160001a1b1615612e4c57600184019350612e32565b50508015801590612e6b575080600301821180612e6b57508060010182145b15612ec8576040517f013b2aaa0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8303016004820152602401610513565b8b5161ffff60108f901c16908d0160200180841115612f13576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5099509197509550859450612fc09350505050565b87518801602001808810612f68576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fb0e4e5b30000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8a03016004820152602401610513565b93509350935093565b6000612fd58383613058565b9250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff821660ff600884811c919091168301901b1792915050565b600060ff831682811015613051576040517f04671d0000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050900390565b600060ff808416830190600885901c16601085901c808311156130785750815b601081901b600883901b841717935050505092915050565b600082820360408111156130f6576040517fff2f59490000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80600003613156576040517fc75cd5090000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b600281066001036131b9576040517fd76d9b570000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160005b858210613332578151600090811a906001821b906703ff00000000000082161561322c57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd082016132fc565b6c7e00000000000000000000000082161561326a57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa982016132fc565b687e00000000000000008216156132a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc982016132fc565b6040517f69f1e3e60000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8703016004820152602401610513565b831b959095179450507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906004016131df565b5050509392505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8101516000908190603090829080821a87870360038111801561339157506001821b6c200000002000000000000000001615155b156133b357600488039550600a858460011a0302858460021a0301935061345f565b8260011a91506002811180156133da57506001821b6c200000002000000000000000001615155b156133f257600388039550848360021a03935061345f565b8015613407576001880395506000935061345f565b6040517ffa65827e0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8b03016004820152602401610513565b5050505b8583101580156134735750604d81105b156134b857825160001a829003600a82900a0293909301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191600101613463565b85831061333257825160001a829003600181111561352b578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f8f2b5ffd00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b600a82900a8102858101861115613566578885037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b9490940193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201915b85831061333257825160001a603081146135d0578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191613592565b80516000908190600190821a1b7ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008101613687576040517ff8216c550000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b83600092509250505b935093915050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576136e76001860182640100002600612011565b945060006136f9888861ffff89613c11565b909650905061370e8683640100002600612011565b8051909650600160009190911a1b92506740000000000000008314613788578686037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f722cd24a00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6001860194509250613690915050565b846000935093505050613690565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a7576137f56001860182640100002600612011565b94506000613806888860ff89613c11565b90965090508061381c8784640100002600612011565b9650600061382d8a8a60ff8b613c11565b909850600881901b9290921791905061384c8885640100002600612011565b8051909850600160009190911a1b94506740000000000000008514613895578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b50600187019550935061369092505050565b8585037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f24027dc400000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576139516001860182640100002600612011565b80519095506001600091821a1b92507fffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000830161398f575060006139b4565b61399c8888600189613c11565b90965090506139b18683640100002600612011565b95505b85516001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000084016139ef57506000613a14565b6139fc898960018a613c11565b9097509050613a118784640100002600612011565b96505b8651600160009190911a81901b945081901b82176740000000000000008514613a61578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b60018801965094506136909350505050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a757613ac26001860182640100002600612011565b94506000613ad3888860ff89613c11565b9096509050613ae88683640100002600612011565b80519096506001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008401613b2657506000613b4b565b613b33898960018a613c11565b9097509050613b488784640100002600612011565b96505b86516001600091821a1b94507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008501613b8657506000613bab565b613b938a8a60018b613c11565b9098509050613ba88885640100002600612011565b97505b8751600160009190911a1b9450600882901b8317600982901b176740000000000000008614613bfe578989037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b6001890197509550613690945050505050565b80516000908190600190821a1b7fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008101613c6f578584037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016138cd565b613d0e6000806000613c828b8b8a612d06565b93509350935093506000613c9b8b85858863ffffffff16565b905089811115613cfd576040517f7480c7840000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8b03016004820152602401610513565b909b909a5098505050505050505050565b613d16614341565b565b600060208284031215613d2a57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613d5a57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715613db357613db3613d61565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613e0057613e00613d61565b604052919050565b600067ffffffffffffffff821115613e2257613e22613d61565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112613e5f57600080fd5b8135613e72613e6d82613e08565b613db9565b818152846020838601011115613e8757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115613ebe57613ebe613d61565b5060051b60200190565b600082601f830112613ed957600080fd5b81356020613ee9613e6d83613ea4565b82815260059290921b84018101918181019086841115613f0857600080fd5b8286015b84811015613f235780358352918301918301613f0c565b509695505050505050565b600080600060608486031215613f4357600080fd5b833567ffffffffffffffff80821115613f5b57600080fd5b613f6787838801613e4e565b94506020860135915080821115613f7d57600080fd5b613f8987838801613ec8565b93506040860135915080821115613f9f57600080fd5b50613fac86828701613ec8565b9150509250925092565b60005b83811015613fd1578181015183820152602001613fb9565b50506000910152565b60008151808452613ff2816020860160208601613fb6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613d5a6020830184613fda565b60006020828403121561404957600080fd5b813567ffffffffffffffff81111561406057600080fd5b61053f84828501613e4e565b600081518084526020808501945080840160005b8381101561409c57815187529582019590820190600101614080565b509495945050505050565b6040815260006140ba6040830185613fda565b82810360208401526140cc818561406c565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681526080602082015260006141046080830186613fda565b8281036040840152614116818661406c565b9050828103606084015261412a818561406c565b979650505050505050565b6000602080838503121561414857600080fd5b825167ffffffffffffffff8082111561416057600080fd5b818501915085601f83011261417457600080fd5b8151614182613e6d82613ea4565b81815260059190911b830184019084810190888311156141a157600080fd5b8585015b8381101561428e578051858111156141bd5760008081fd5b86016060818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156141f35760008081fd5b6141fb613d90565b89830151815260408084015160ff811681146142175760008081fd5b828c015291830151918883111561422e5760008081fd5b82840193508d603f85011261424557600092508283fd5b8a8401519250614257613e6d84613e08565b8381528e8285870101111561426c5760008081fd5b61427b848d8301848801613fb6565b90820152855250509186019186016141a5565b5098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156102cf576102cf6142ca565b808201808211156102cf576102cf6142ca565b6040815260006143326040830185613fda565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff510c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", + "sourceMap": "3924:7282:80:-:0;;;5267:2271;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5429:18;;5506:12;;;;-1:-1:-1;;;;;5529:26:80;;;;;;;5565:14;;;;;5768:30;;;-1:-1:-1;;;5768:30:80;;;;5385:26;;5529;5768:28;;:30;;;;;5385:26;;5768:30;;;;;;;5529:26;5768:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5768:30:80;;;;;;;;;;;;:::i;:::-;5736:62;;5853:24;;;;;;;;;;;;;;;;;5843:35;;;;;;5822:16;5812:27;;;;;;:66;5808:140;;5920:16;5901:36;;-1:-1:-1;;;5901:36:80;;;;;;;;:::i;:::-;;;;;;;;5808:140;6111:24;;2375:66;6158:44;;6154:247;;6340:50;;-1:-1:-1;;;6340:50:80;;;;;3231:25:211;;;3204:18;;6340:50:80;3085:177:211;6154:247:80;6547:18;;2535:66;6588:32;;6584:223;;6758:38;;-1:-1:-1;;;6758:38:80;;;;;3231:25:211;;;3204:18;;6758:38:80;3085:177:211;6584:223:80;7086:20;;;;7076:31;;;;;;;2695:66;7121:46;;7117:129;;7190:45;;-1:-1:-1;;;7190:45:80;;;;;3231:25:211;;;3204:18;;7190:45:80;3085:177:211;7117:129:80;7261:94;7269:10;7289:4;7304:11;7326:5;7334:6;:20;;;7261:94;;;;;;;;;;:::i;:::-;;;;;;;;7468:37;;;;;;;;;;;;;;;;7436:70;;-1:-1:-1;;;7436:70:80;;254:42:40;;7366:41:80;;7429:4;;254:42:40;;7436:31:80;;:70;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7366:165;;-1:-1:-1;;;;;;7366:165:80;;;;;;;-1:-1:-1;;;;;4521:15:211;;;7366:165:80;;;4503:34:211;4553:18;;;4546:34;7516:4:80;4596:18:211;;;4589:43;4438:18;;7366:165:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5344:2194;;;;;;5267:2271;3924:7282;;14:127:211;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:211;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:250::-;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:211;552:16;;545:27;328:250::o;583:698::-;636:5;689:3;682:4;674:6;670:17;666:27;656:55;;707:1;704;697:12;656:55;730:13;;-1:-1:-1;;;;;792:10:211;;;789:36;;;805:18;;:::i;:::-;880:2;874:9;848:2;934:13;;-1:-1:-1;;930:22:211;;;954:2;926:31;922:40;910:53;;;978:18;;;998:22;;;975:46;972:72;;;1024:18;;:::i;:::-;1064:10;1060:2;1053:22;1099:2;1091:6;1084:18;1145:3;1138:4;1133:2;1125:6;1121:15;1117:26;1114:35;1111:55;;;1162:1;1159;1152:12;1111:55;1175:76;1248:2;1241:4;1233:6;1229:17;1222:4;1214:6;1210:17;1175:76;:::i;:::-;1269:6;583:698;-1:-1:-1;;;;;;583:698:211:o;1286:957::-;1424:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:52;;;1493:1;1490;1483:12;1445:52;1520:16;;-1:-1:-1;;;;;1585:14:211;;;1582:34;;;1612:1;1609;1602:12;1582:34;1635:22;;;;1691:4;1673:16;;;1669:27;1666:47;;;1709:1;1706;1699:12;1666:47;1742:2;1736:9;1784:4;1776:6;1772:17;1839:6;1827:10;1824:22;1819:2;1807:10;1804:18;1801:46;1798:72;;;1850:18;;:::i;:::-;1886:2;1879:22;1925:33;1955:2;1925:33;:::i;:::-;1917:6;1910:49;1992:42;2030:2;2026;2022:11;1992:42;:::i;:::-;1987:2;1979:6;1975:15;1968:67;2074:2;2070;2066:11;2060:18;2103:2;2093:8;2090:16;2087:36;;;2119:1;2116;2109:12;2087:36;2156:55;2203:7;2192:8;2188:2;2184:17;2156:55;:::i;:::-;2151:2;2139:15;;2132:80;-1:-1:-1;2143:6:211;1286:957;-1:-1:-1;;;;;1286:957:211:o;2248:335::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2423:16;;-1:-1:-1;;;;;2451:30:211;;2448:50;;;2494:1;2491;2484:12;2448:50;2517:60;2569:7;2560:6;2549:9;2545:22;2517:60;:::i;:::-;2507:70;2248:335;-1:-1:-1;;;;2248:335:211:o;2588:270::-;2629:3;2667:5;2661:12;2694:6;2689:3;2682:19;2710:76;2779:6;2772:4;2767:3;2763:14;2756:4;2749:5;2745:16;2710:76;:::i;:::-;2840:2;2819:15;-1:-1:-1;;2815:29:211;2806:39;;;;2847:4;2802:50;;2588:270;-1:-1:-1;;2588:270:211:o;2863:217::-;3010:2;2999:9;2992:21;2973:4;3030:44;3070:2;3059:9;3055:18;3047:6;3030:44;:::i;:::-;3022:52;2863:217;-1:-1:-1;;;2863:217:211:o;3267:578::-;-1:-1:-1;;;;;3564:15:211;;;3546:34;;3616:15;;;3611:2;3596:18;;3589:43;3668:15;;;3663:2;3648:18;;3641:43;3720:15;;3715:2;3700:18;;3693:43;3526:3;3767;3752:19;;3745:32;;;3489:4;;3794:45;;3819:19;;3811:6;3794:45;:::i;:::-;3786:53;3267:578;-1:-1:-1;;;;;;;3267:578:211:o;4074:184::-;4144:6;4197:2;4185:9;4176:7;4172:23;4168:32;4165:52;;;4213:1;4210;4203:12;4165:52;-1:-1:-1;4236:16:211;;4074:184;-1:-1:-1;4074:184:211:o;4263:375::-;3924:7282:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063c19423bc11610076578063f0cfdd371161005b578063f0cfdd37146101ec578063fab4087a14610213578063ffc257041461023457600080fd5b8063c19423bc1461018b578063cbb7d173146101d757600080fd5b80638d614591116100a75780638d61459114610135578063a600bd0a1461014a578063b6c7175a1461015d57600080fd5b806301ffc9a7146100c357806331a66b65146100eb575b600080fd5b6100d66100d1366004613d18565b61023c565b60405190151581526020015b60405180910390f35b6100fe6100f9366004613f2e565b6102d5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016100e2565b61013d61047c565b6040516100e29190614024565b61013d610158366004614037565b61048b565b6040517fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb181526020016100e2565b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101ea6101e5366004613f2e565b610547565b005b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b610226610221366004614037565b610570565b6040516100e29291906140a7565b61013d61058d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f31a66b650000000000000000000000000000000000000000000000000000000014806102cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060006102e5868686610547565b7f4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf3387878760405161031a94939291906140d5565b60405180910390a18451865160009182916103bd916020020160400160408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b915091506103cc8189896105ae565b60006103d7836105ec565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000095507f00000000000000000000000000000000000000000000000000000000000000009450925050505b93509350939050565b606061048661065a565b905090565b805160208201206060907fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1811461051c576040517f26cc0fec0000000000000000000000000000000000000000000000000000000081527fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb16004820152602481018290526044015b60405180910390fd5b6000838060200190518101906105329190614135565b905061053f816002610837565b949350505050565b61056b60405180608001604052806052815260200161437160529139848484610b64565b505050565b6060806105848361057f61058d565b610f23565b91509150915091565b606060405180610120016040528060ef81526020016143c360ef9139905090565b80600182510160200281015b808210156105d55781518552602094850194909101906105ba565b505061056b6105e18390565b84845160200161178b565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610653576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060613d0e60006029905080915060006040518061054001604052808467ffffffffffffffff1667ffffffffffffffff1681526020016117f1815260200161186b81526020016118d281526020016118dc81526020016118d281526020016118d281526020016118d281526020016118d281526020016118d281526020016118e681526020016119088152602001611932815260200161195481526020016118e681526020016119548152602001611954815260200161195e8152602001611968815260200161195481526020016119548152602001611971815260200161197181526020016119548152602001611968815260200161196881526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119688152602001611988815260200161199281526020016119928152509050606081905060298151146108255780516040517fc8b56901000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052604401610513565b61082e816119a1565b94505050505090565b6060808060008060ff861667ffffffffffffffff81111561085a5761085a613d61565b604051908082528060200260200182016040528015610883578160200160208202803683370190505b5093508560ff1667ffffffffffffffff8111156108a2576108a2613d61565b6040519080825280602002602001820160405280156108cb578160200160208202803683370190505b509250865b805115610940576000806108e383611a32565b8951909550919350915082908890869081106109015761090161429b565b602002602001019060ff16908160ff1681525050808685815181106109285761092861429b565b602090810291909101015250506001909101906108d0565b5060006005885102602183026001010190508067ffffffffffffffff81111561096b5761096b613d61565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b50955081602087015360005b828110156109d357806021026021880101816020026020018701518153602080830287010151600191820152016109a1565b50506021028401600601905060005b8651811015610b5a576000805b6000806000878581518110610a0657610a0661429b565b60200260200101519050600080610a568b8881518110610a2857610a2861429b565b602002602001015160ff168f8a81518110610a4557610a4561429b565b602002602001015160000151611b60565b925090506005600087610a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85018716611b82565b01919091028a01805190955062ffffff84811693501690508015610b0157818103610ae3576040517f59293c5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190970196610af284611b82565b870196505050505050506109ef565b8195505050505060188b8681518110610b1c57610b1c61429b565b60200260200101516020015160ff16901b602086901b17821791506000600160056001901b03199050828183511617825250505050506001016109e2565b5050505092915050565b6000610b6f84611c5b565b90508082511115610bb95781516040517ffd9e1af4000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610513565b6020850160005b82811015610f1a576000610bd48783611c79565b90506000610be28884611c92565b90508551831015610cb2578115610c2f576040517fee8d10810000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610513565b858381518110610c4157610c4161429b565b6020026020010151811015610cb2578281878581518110610c6457610c6461429b565b60200260200101516040517ff7dd619f000000000000000000000000000000000000000000000000000000008152600401610513939291909283526020830191909152604082015260600190565b6000610cc089848a51611cab565b905060006018610cd08b87611d17565b0390506000610cdf8b87611d48565b600402820190505b80821015610e64578151601c81901a60020288015162ffffff821691601d1a9060f01c600080610d15888685565b91509150838214610d695760808801516040517fddf5607100000000000000000000000000000000000000000000000000000000815260048101919091526024810183905260448101859052606401610513565b8751821115610dbb57608088015188516040517f2cab6bff0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101839052606401610513565b875182900380895260408901511115610e1d57608088015188516040808b015190517f1bc5ab0f000000000000000000000000000000000000000000000000000000008152600481019390935260248301919091526044820152606401610513565b8751810180895260208901511015610e3757875160208901525b6001811115610e4857875160408901525b5050506080850180516001019052505060049190910190610ce7565b610e6e8b87611d61565b836020015114610ec2578260200151610e878c88611d61565b6040517f4d9c18dc00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610513565b82518414610f095782516040517f4689f0b3000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052604401610513565b505060019093019250610bc0915050565b50505050505050565b6060806000610f30611d7a565b85519091501561176c578451600090602087810191880101825b818310156116c9576001835160001a1b905060018560e001511660000361125b576f07fffffe8000000000000000000000008116156111035760e085015160021615610feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f5520a51700000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6f07fffffe0000000000000000000000008116156110975761101d836f07fffffe0000000003ff200000000000611ee9565b9450925060008061102e8787611f9a565b915091508115611090576040517f53e6feba0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8703016004820152602401610513565b50506110b8565b6110b560018401836f07fffffe0000000003ff200000000000612011565b92505b604085018051600190810190915260a086018051909101905260e0850180516022177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef169052610f4a565b640100002600811615611154576111236001840183640100002600612011565b60e0860180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1690529250610f4a565b67040000000000000081161561119d5760e0850180516021177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed16905260019290920191610f4a565b658000000000008116156112315760108560e0015116600003611215578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517fedad0c5800000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b61121f898461203d565b60e08601805160021790529250610f4a565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610fb6565b6f07fffffe0000000000000000000000008116156113f05760e0850151600216156112db578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f4e803df600000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6112f5836f07fffffe0000000003ff200000000000611ee9565b8095508194505050600080613d0e6113138b896101a0015189612149565b92509250925082156113565760006113358961018001518e898563ffffffff16565b9097509050611345898483612215565b5060e08801805160041790526113dd565b6113608888612352565b909350915082156113855761137788600084612215565b611380886123cd565b6113dd565b6040517f81bd48db0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8803016004820152602401610513565b50505060e0850180516002179052610f4a565b60e0850151600416156114e657650100000000008116600003611465576040517f23b5c6ea0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b60608501805160001a60030190819053603b8111156114b0576040517f6232f2d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060e0850180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9169052600190920191610f4a565b650200000000008116156115b7576000606086015160001a905080600003611560576040517f7f9db5420000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8603016004820152602401610513565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd01606086018181538160048201015160001a8260028301015160f01c60010153506115ab866123cd565b50600190920191610f4a565b6401000026008116156115d7576111236001840183640100002600612011565b6703ff00000000000081161561160d576115f2858a85612430565b92506115fd856123cd565b60e0850180516002179052610f4a565b6510000000000081161561163157611626858a85612582565b600190920191610f4a565b6708000000000000008116156116675761164c858a85612582565b61165585612855565b601860e0860152600190920191610f4a565b6580000000000081161561169f578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016111e0565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016112a6565b818314611702576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60e085015160201615611767576040517ff06f54cf0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b505050505b61177581612a97565b61177e82612bcf565b92509250505b9250929050565b6020810680820384015b808510156117b0578451845260209485019490930192611795565b5080156117eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c808451168119865116178452505b50505050565b815160009081908390811061184957608085015185516040517feaa16f330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101829052606401610513565b846040015181111561185d57604085018190525b506000946001945092505050565b600080836060015183106118c557608084015160608501516040517feb7894540000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101849052606401610513565b5060009360019350915050565b5060009160019150565b60101c9160019150565b600080601083901c806118fa5760016118fc565b805b95600195509350505050565b600080601083901c8061191c57600261191e565b805b905060028106156118fa57806001016118fc565b600080601083901c80611946576001611948565b805b95600095509350505050565b5060029160019150565b5060039160019150565b50600191829150565b600080601083901c600181116118fa5760026118fc565b5060029160009150565b60046001808316019250929050565b60606000825160020267ffffffffffffffff8111156119c2576119c2613d61565b6040519080825280601f01601f1916602001820160405280156119ec576020820181803683370190505b50905061ffff80196020850160208651028101600285015b81831015611a2657805183518616908516178152602090920191600201611a04565b50939695505050505050565b60008060606000805b60ff811015611ab3576000805b8751811015611a7a57600080611a6a858b8581518110610a4557610a4561429b565b5093909317925050600101611a48565b506000611a8682611b82565b905083811115611a9a578093508296508195505b87518103611aa9575050611ab3565b5050600101611a3b565b5084516040805192909103808352600101602002820190529050600080805b8651811015611b5657600080611af78860ff168a8581518110610a4557610a4561429b565b91509150848216600003611b0e5793811793611b4c565b888381518110611b2057611b2061429b565b6020026020010151868581518110611b3a57611b3a61429b565b60209081029190910101526001909301925b5050600101611ad2565b5050509193909250565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bb45750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b60008151600003611c6e57506000919050565b506020015160001a90565b600080611c868484611d17565b5160021a949350505050565b600080611c9f8484611d17565b5160031a949350505050565b611ce46040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001606081525090565b506040805160c081018252838152602081018490529081019290925260608201526000608082015260a081019190915290565b600080611d2384611c5b565b60020260010190506000611d378585612c44565b949091019093016020019392505050565b600080611d558484611d17565b5160001a949350505050565b600080611d6e8484611d17565b5160011a949350505050565b611df3604051806101e001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051806101e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016010600817815260200160008152602001600081526020016000815260200160008152602001611e6861333c60101b6130901790565b8152602001611e92613a7360401b61390260301b6137a660201b61369860101b6135fb1717171790565b8152600060209182018190526040805183815280840182528452918301819052908201819052606082018190526080820181905260a08201819052610100820181905261012082018190526101c082015292915050565b8151600090819060015b8419600183831a1b1615602082101615611f0f57600101611ef3565b9485019460208190036008810292831c90921b91611f9157604080516020810184905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b700000000000000000000000000000000000000000000000000000000825261051391600401614024565b50939492505050565b600080611fa78484612352565b90925090508161178457506101008301805160408051948552602080862092865285018152909401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909416601085901b62ff000016179092179091529160ff90911660010190565b60005b6000826001865160001a1b1611838510161561203557600184019350612014565b509192915050565b805160009060f01c612f2a81146120a6576040517f3e47169c0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858503016004820152602401610513565b835160029390930192602a90602f90860160200160005b80612103575b81871084885160001a141516156120df576001870196506120c3565b6001870196508187101583885160001a1417156120fe57506001958601955b6120bd565b508086111561213e576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509395945050505050565b600183810180516000928392613d0e92602160ff909116028801600681019201845b81831015612201576001830151602190930180519093600090819060ff168180612195838f611b60565b915091506000876121aa600185038916611b82565b016005028b015195505062ffffff90811693508416830391506121ec9050575060019850601b81901a9750601c1a8a901c61ffff169550610473945050505050565b6121f583611b82565b8401935050505061216b565b506000998a99508998509650505050505050565b61221e83612cbc565b60e08301805160207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79190911681179091528301516021600091821a850101805190911a600101815350825180516060850151600090811a86016061018051929361ffff85169360088504909103601c0192600191901a018153600060038201537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe30180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690911790528451602090920183821b176018820185901b179182905260e081900361234b578451604080518088526020601084901b81178252810190915281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000161790525b5050505050565b61010082015161012083015160008381526020808220919384939290911c91600160ff84161b808216156123b85761ffff83165b80156123b6578360201c85036123a9576001965061ffff8460101c1695506123b6565b51925061ffff8316612386565b505b17610120909601959095525090939092509050565b6000606082015160001a90508060000361242c5760208201805160001a600101908181535080603f0361056b576040517fa25cba3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000613d0e600080600061244a8861018001518888612d06565b8981038a206101408d015194985092965090945092507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016906001600083811a82901b929091908316156124f0576101608c015160101c5b80156124ee5780517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000811686036124dd5760019350506124ee565b505160019091019061ffff166124a2565b505b6101608c015161ffff1661251660018461250a578261250e565b8383035b8f9190612215565b508161257257604080518082019091526101608d015160101c8517815260006125448d8a8a63ffffffff8e16565b6020830152506101608d018051600161ffff9091160160109290921b9190911790526101408c018051841790525b50929a9950505050505050505050565b606083015160001a80156125e8576040517f6fb11cdc0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848403016004820152602401610513565b506125f283612cbc565b60e083018051603060089182161790915260a0840151602085015160ff8083169360f89290921c9290911c16810360008190036126bb5760088660e0015116600003612690576040517fab1d3ea70000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b90820160f881901b60208701526101c08601519091906126b09084612fc9565b6101c0870152612784565b60018111156127845780831015612724576040517f78ef27820000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80831115612784576040517f43168e680000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b8082036001016020601083028101905b818110156128405760a08901516020848b01015190821c61ffff169060001a60015b81811161282f5760208306601c036127cf57915160f01c915b82516101c08d015160019190911a906127e89082613011565b6101c08e015261281982841480156128005750886001145b61280b57600161280d565b8a5b6101c08f015190613058565b6101c08e015250600492909201916001016127b6565b505060019093019250601001612794565b5050505060081b60a090940193909352505050565b60c0810151602082015160f082811c9160001a600101908290036128a5576040517fa806284100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080856101c001519050855161ffff815160101c165b80156128d357805190915060101c61ffff166128bc565b50604051602188018051919450601c830192916004916024870191600090811a805b8a8310156129bb5760048202860195506004878903045b8082111561292a57965161ffff16601c81019850969003600761290c565b506004810297889003805186529794909401938103865b6007821115612986575160101c61ffff1680518652601c909501947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff990910190612941565b81156129a1575160101c61ffff168051865260048202909501945b505050600191820180519092919091019060001a806128f5565b50505050818652600486019350846001600484040360181b1763ffffffff19855116178452601f19601f820116604052505050506001846001901b612a0091906142f9565b851682851b60f0612a1287601061430c565b901b171760c087015260e0860180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf16905260408051602080825280820183529088526000908801819052908701819052606087018190526080870181905260a08701819052610100870181905261012087018190526101c0870152505050505050565b60c08101518151516060919060f082901c9060208114612ae3576040517f858f2dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051935060208401601083046000818353506001600885048301810192839101600080805b88811015612b425789811c61ffff81165163ffff0000601092831b16811760e01b8786015284019360f08390031b929092179101612b09565b50825117909152878203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08181018952908801601f011660405260005b82811015612bc3576002810288016003015161ffff90811683018051602060f082901c019260e09190911c1690612bb883828461178b565b505050600101612b80565b50505050505050919050565b6101608101516040805161ffff8316808252602080820283019081019093529092909160109190911c90835b80821115612c3b5760208301518252915161ffff16917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190612bfb565b50505050919050565b6002810282016003015161ffff166000612c5d84611c5b565b845190915060056002830284010190811180612c795750818410155b15612cb45784846040517fd3fc97bd00000000000000000000000000000000000000000000000000000000815260040161051392919061431f565b505092915050565b60208101805160001a6001810182015160001a61056b578251805160a085018051600861ffff939093169290920460200390920160106001601e84901a860301021b179052505050565b8051613d0e9060009081908190600181831a1b6703ff000000000000811615612f2857600182811a1b7ffffffffffffffffffffffffffffffffffeffffffffffffffffff00000000000082821701612de25760028801806c7e0000007e03ff0000000000005b806001835160001a1b1615612d8657600182019150612d6c565b508a5161ffff8d16908c0160200180831115612dce576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5098509096509450849350612fc092505050565b876001810160006703ff0000000000006c200000002000000000000000005b816001855160001a1b1615612e1b57600184019350612e01565b806001855160001a1b1615612e4c57600184019392505b816001855160001a1b1615612e4c57600184019350612e32565b50508015801590612e6b575080600301821180612e6b57508060010182145b15612ec8576040517f013b2aaa0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8303016004820152602401610513565b8b5161ffff60108f901c16908d0160200180841115612f13576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5099509197509550859450612fc09350505050565b87518801602001808810612f68576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fb0e4e5b30000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8a03016004820152602401610513565b93509350935093565b6000612fd58383613058565b9250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff821660ff600884811c919091168301901b1792915050565b600060ff831682811015613051576040517f04671d0000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050900390565b600060ff808416830190600885901c16601085901c808311156130785750815b601081901b600883901b841717935050505092915050565b600082820360408111156130f6576040517fff2f59490000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80600003613156576040517fc75cd5090000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b600281066001036131b9576040517fd76d9b570000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160005b858210613332578151600090811a906001821b906703ff00000000000082161561322c57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd082016132fc565b6c7e00000000000000000000000082161561326a57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa982016132fc565b687e00000000000000008216156132a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc982016132fc565b6040517f69f1e3e60000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8703016004820152602401610513565b831b959095179450507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906004016131df565b5050509392505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8101516000908190603090829080821a87870360038111801561339157506001821b6c200000002000000000000000001615155b156133b357600488039550600a858460011a0302858460021a0301935061345f565b8260011a91506002811180156133da57506001821b6c200000002000000000000000001615155b156133f257600388039550848360021a03935061345f565b8015613407576001880395506000935061345f565b6040517ffa65827e0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8b03016004820152602401610513565b5050505b8583101580156134735750604d81105b156134b857825160001a829003600a82900a0293909301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191600101613463565b85831061333257825160001a829003600181111561352b578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f8f2b5ffd00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b600a82900a8102858101861115613566578885037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b9490940193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201915b85831061333257825160001a603081146135d0578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191613592565b80516000908190600190821a1b7ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008101613687576040517ff8216c550000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b83600092509250505b935093915050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576136e76001860182640100002600612011565b945060006136f9888861ffff89613c11565b909650905061370e8683640100002600612011565b8051909650600160009190911a1b92506740000000000000008314613788578686037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f722cd24a00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6001860194509250613690915050565b846000935093505050613690565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a7576137f56001860182640100002600612011565b94506000613806888860ff89613c11565b90965090508061381c8784640100002600612011565b9650600061382d8a8a60ff8b613c11565b909850600881901b9290921791905061384c8885640100002600612011565b8051909850600160009190911a1b94506740000000000000008514613895578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b50600187019550935061369092505050565b8585037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f24027dc400000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576139516001860182640100002600612011565b80519095506001600091821a1b92507fffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000830161398f575060006139b4565b61399c8888600189613c11565b90965090506139b18683640100002600612011565b95505b85516001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000084016139ef57506000613a14565b6139fc898960018a613c11565b9097509050613a118784640100002600612011565b96505b8651600160009190911a81901b945081901b82176740000000000000008514613a61578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b60018801965094506136909350505050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a757613ac26001860182640100002600612011565b94506000613ad3888860ff89613c11565b9096509050613ae88683640100002600612011565b80519096506001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008401613b2657506000613b4b565b613b33898960018a613c11565b9097509050613b488784640100002600612011565b96505b86516001600091821a1b94507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008501613b8657506000613bab565b613b938a8a60018b613c11565b9098509050613ba88885640100002600612011565b97505b8751600160009190911a1b9450600882901b8317600982901b176740000000000000008614613bfe578989037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b6001890197509550613690945050505050565b80516000908190600190821a1b7fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008101613c6f578584037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016138cd565b613d0e6000806000613c828b8b8a612d06565b93509350935093506000613c9b8b85858863ffffffff16565b905089811115613cfd576040517f7480c7840000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8b03016004820152602401610513565b909b909a5098505050505050505050565b613d16614341565b565b600060208284031215613d2a57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613d5a57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715613db357613db3613d61565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613e0057613e00613d61565b604052919050565b600067ffffffffffffffff821115613e2257613e22613d61565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112613e5f57600080fd5b8135613e72613e6d82613e08565b613db9565b818152846020838601011115613e8757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115613ebe57613ebe613d61565b5060051b60200190565b600082601f830112613ed957600080fd5b81356020613ee9613e6d83613ea4565b82815260059290921b84018101918181019086841115613f0857600080fd5b8286015b84811015613f235780358352918301918301613f0c565b509695505050505050565b600080600060608486031215613f4357600080fd5b833567ffffffffffffffff80821115613f5b57600080fd5b613f6787838801613e4e565b94506020860135915080821115613f7d57600080fd5b613f8987838801613ec8565b93506040860135915080821115613f9f57600080fd5b50613fac86828701613ec8565b9150509250925092565b60005b83811015613fd1578181015183820152602001613fb9565b50506000910152565b60008151808452613ff2816020860160208601613fb6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613d5a6020830184613fda565b60006020828403121561404957600080fd5b813567ffffffffffffffff81111561406057600080fd5b61053f84828501613e4e565b600081518084526020808501945080840160005b8381101561409c57815187529582019590820190600101614080565b509495945050505050565b6040815260006140ba6040830185613fda565b82810360208401526140cc818561406c565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681526080602082015260006141046080830186613fda565b8281036040840152614116818661406c565b9050828103606084015261412a818561406c565b979650505050505050565b6000602080838503121561414857600080fd5b825167ffffffffffffffff8082111561416057600080fd5b818501915085601f83011261417457600080fd5b8151614182613e6d82613ea4565b81815260059190911b830184019084810190888311156141a157600080fd5b8585015b8381101561428e578051858111156141bd5760008081fd5b86016060818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156141f35760008081fd5b6141fb613d90565b89830151815260408084015160ff811681146142175760008081fd5b828c015291830151918883111561422e5760008081fd5b82840193508d603f85011261424557600092508283fd5b8a8401519250614257613e6d84613e08565b8381528e8285870101111561426c5760008081fd5b61427b848d8301848801613fb6565b90820152855250509186019186016141a5565b5098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156102cf576102cf6142ca565b808201808211156102cf576102cf6142ca565b6040815260006143326040830185613fda565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51", + "sourceMap": "3924:7282:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7571:216;;;;;;:::i;:::-;;:::i;:::-;;;516:14:211;;509:22;491:41;;479:2;464:18;7571:216:80;;;;;;;;8977:1006;;;;;;:::i;:::-;;:::i;:::-;;;;3964:42:211;4033:15;;;4015:34;;4085:15;;;4080:2;4065:18;;4058:43;4137:15;;4117:18;;;4110:43;;;;3942:2;3927:18;8977:1006:80;3699:460:211;11051:153:80;;;:::i;:::-;;;;;;;:::i;7980:481::-;;;;;;:::i;:::-;;:::i;7823:121::-;;;2695:66;5446:25:211;;5434:2;5419:18;7823:121:80;5300:177:211;5217:43:80;;;;;;;;5687:42:211;5675:55;;;5657:74;;5645:2;5630:18;5217:43:80;5482:255:211;10036:249:80;;;;;;:::i;:::-;;:::i;:::-;;5090:44;;;;;8640:289;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8497:107::-;;;:::i;7571:216::-;7657:4;7680:55;;;7696:39;7680:55;;:100;;-1:-1:-1;7739:41:80;;;7755:25;7739:41;7680:100;7673:107;7571:216;-1:-1:-1;;7571:216:80:o;8977:1006::-;9117:14;9133:19;9154:7;9177:47;9192:8;9202:9;9213:10;9177:14;:47::i;:::-;9240:58;9254:10;9266:8;9276:9;9287:10;9240:58;;;;;;;;;:::i;:::-;;;;;;;;502:16:144;;484:15;;9310:37:80;;;;9380:100;;521:4:144;502:23;484:41;528:4;484:48;4202:4:67;4196:11;;4311:43;;;4356:9;4307:59;4291:76;;4278:90;;;4687:343;4972:1;4959:15;;;4787:3;4687:343;;;;;1522:75;4622:430;5069:27;;4196:11;1728:2;4463:35;;;3702:1424;9380:100:80;9309:171;;;;9602:81;9654:7;9663:8;9673:9;9602:51;:81::i;:::-;9747:18;9768:32;9790:9;9768:21;:32::i;:::-;9883:41;;;9901:10;7850:34:211;;7799:42;7920:15;;7915:2;7900:18;;7893:43;9747:53:80;;-1:-1:-1;9883:41:80;;7762:18:211;9883:41:80;;;;;;;9943:12;;-1:-1:-1;9957:6:80;;-1:-1:-1;9965:10:80;-1:-1:-1;;;8977:1006:80;;;;;;;;:::o;11051:153::-;11119:12;11150:47;:45;:47::i;:::-;11143:54;;11051:153;:::o;7980:481::-;8129:24;;;;;;8072:12;;2695:66;8167:45;;8163:153;;8235:70;;;;;2695:66;8235:70;;;8121:25:211;8162:18;;;8155:34;;;8094:18;;8235:70:80;;;;;;;;8163:153;8325:28;8367:13;8356:44;;;;;;;;;;;;:::i;:::-;8325:75;;8417:37;8445:5;8452:1;8417:27;:37::i;:::-;8410:44;7980:481;-1:-1:-1;;;;7980:481:80:o;10036:249::-;10182:96;10217:27;;;;;;;;;;;;;;;;;10246:8;10256:9;10267:10;10182:34;:96::i;:::-;10036:249;;;:::o;8640:289::-;8714:12;8728:16;8889:33;8904:4;8910:11;:9;:11::i;:::-;8889:14;:33::i;:::-;8882:40;;;;8640:289;;;:::o;8497:107::-;8556:12;8587:10;;;;;;;;;;;;;;;;;8580:17;;8497:107;:::o;555:809:144:-;843:9;946:1;934:9;928:16;924:24;918:4;914:35;897:15;893:57;794:385;989:12;972:15;969:33;794:385;;;1154:22;;1139:38;;1065:4;1101:17;;;;1044:26;;;;794:385;;;798:170;;1263:84;1291:23;:8;1472:4:156;1331:161;1291:23:144;1316:6;1324:8;:15;1342:4;1324:22;1263:27;:84::i;5489:666:67:-;5562:7;5581:16;5607:21;1728:2;5607:43;;5959:10;5953:17;5948:3;5944:27;5936:6;5932:40;5839:13;5810:184;5778:10;5755:1;5727:285;5699:313;-1:-1:-1;6080:22:67;;;6076:47;;6111:12;;;;;;;;;;;;;;6076:47;-1:-1:-1;6140:8:67;5489:666;-1:-1:-1;;5489:666:67:o;14259:4336:102:-;14319:12;14367:125;14506:14;2305:2;14506:40;;14620:6;14603:23;;14653:161;:3443;;;;;;;;14839:13;14653:3443;;;;;;;;15083:22;14653:3443;;;;15127:25;14653:3443;;;;15249:24;14653:3443;;;;15295:21;14653:3443;;;;15338:28;14653:3443;;;;15388:24;14653:3443;;;;15594:27;14653:3443;;;;15681:27;14653:3443;;;;15730:26;14653:3443;;;;15778:20;14653:3443;;;;15820:27;14653:3443;;;;15869:23;14653:3443;;;;15914:24;14653:3443;;;;15960:22;14653:3443;;;;16004:28;14653:3443;;;;16054:37;14653:3443;;;;16113:19;14653:3443;;;;16154:23;14653:3443;;;;16199:25;14653:3443;;;;16246:34;14653:3443;;;;16302:29;14653:3443;;;;16353:29;14653:3443;;;;16404:40;14653:3443;;;;16466:33;14653:3443;;;;16521:32;14653:3443;;;;16735:23;14653:3443;;;;16818:23;14653:3443;;;;16863:23;14653:3443;;;;16908:23;14653:3443;;;;17113:23;14653:3443;;;;17196:23;14653:3443;;;;17401:23;14653:3443;;;;17484:23;14653:3443;;;;17529:23;14653:3443;;;;17574:23;14653:3443;;;;17779:23;14653:3443;;;;17862:23;14653:3443;;;;17907:20;14653:3443;;;;17949:20;14653:3443;;;;17991:32;14653:3443;;;;18045:33;14653:3443;;;;;18110:32;18218:13;18199:32;;2305:2;18373:15;:22;:49;18369:143;;18466:22;;18449:48;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;;;8094:18;;18449:48:102;7947:248:211;18369:143:102;18532:46;18562:15;18532:29;:46::i;:::-;18525:53;;;;;;14259:4336;:::o;4650:4696:141:-;4775:22;;;4949:17;;5041:21;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5041:21:141;;5033:29;;5107:8;5093:23;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5093:23:141;-1:-1:-1;5080:36:141;-1:-1:-1;5204:13:141;5239:387;5246:29;;:33;5239:387;;5307:10;5343:17;5430:40;5447:22;5430:16;:40::i;:::-;5496:12;;5386:84;;-1:-1:-1;5386:84:141;;-1:-1:-1;5386:84:141;-1:-1:-1;5386:84:141;;5496:5;;5502;;5496:12;;;;;;:::i;:::-;;;;;;:19;;;;;;;;;;;5561:9;5541:10;5552:5;5541:17;;;;;;;;:::i;:::-;;;;;;;;;;:29;-1:-1:-1;;5596:7:141;;;;;5239:387;;;5134:510;5662:23;1230:1;5757:13;:20;:37;1388:4;5727:5;:27;1460:1;5708:46;:86;5662:132;;5834:15;5824:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5824:26:141;;5812:38;;5945:5;5938:4;5927:9;5923:20;5915:36;5991:9;5986:474;6010:5;6006:1;:9;5986:474;;;6227:1;6221:4;6217:12;6210:4;6199:9;6195:20;6191:39;6313:1;6307:4;6303:12;6297:4;6293:23;6286:5;6282:35;6276:42;6263:11;6255:64;6408:4;6404:12;;;6378:40;;;6372:47;6368:1;6351:19;;;6344:76;6017:3;5986:474;;;-1:-1:-1;;1388:4:141;6557:27;6670:26;;6521:33;6670:26;;-1:-1:-1;6500:18:141;6792:2538;6816:13;:20;6812:1;:24;6792:2538;;;6861:9;6892:21;6935:2381;6970:15;7007;7150:17;7170:10;7181:1;7170:13;;;;;;;;:::i;:::-;;;;;;;7150:33;;7210:14;7280:15;7345:46;7359:5;7365:1;7359:8;;;;;;;;:::i;:::-;;;;;;;7345:46;;7369:13;7383:1;7369:16;;;;;;;;:::i;:::-;;;;;;;:21;;;7345:13;:46::i;:::-;7325:66;-1:-1:-1;7325:66:141;-1:-1:-1;1230:1:141;7422:20;7547:13;7503:41;7531:11;;;7518:25;;7503:14;:41::i;:::-;:57;7675:22;;;;7660:38;;8020:14;;7660:38;;-1:-1:-1;1101:8:141;7836:25;;;;-1:-1:-1;8093:34:141;;-1:-1:-1;8161:19:141;;8157:466;;8238:15;8220:14;:33;8216:141;;8300:22;;;;;;;;;;;;;;8216:141;8456:3;;;;;8525:25;8540:9;8525:14;:25::i;:::-;8509:13;:41;8493:57;;8584:8;;;;;;;;8157:466;8787:15;8777:25;;7780:1049;;7124:1727;;9013:4;8972:13;8986:1;8972:16;;;;;;;;:::i;:::-;;;;;;;:36;;;8964:45;;:53;;8955:4;8950:1;:9;;8949:69;8938:80;;;;9041:12;1291:1;1230;1268;:19;;1267:25;9056:15;9041:30;;9190:7;9183:4;9173:7;9167:14;9163:25;9160:38;9151:7;9144:55;9292:5;;;-1:-1:-1;;6838:3:141;;6792:2538;;;;4813:4527;;;4650:4696;;;;:::o;2846:4663:98:-;3060:19;3082:33;3106:8;3082:23;:33::i;:::-;3060:55;;3265:11;3245:10;:17;:31;3241:126;;;3321:17;;3303:49;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;;;8094:18;;3303:49:98;7947:248:211;3241:126:98;3477:4;3462:20;;3381:22;3567:3926;3591:11;3587:1;:15;3567:3926;;;3698:20;3721:43;3752:8;3762:1;3721:30;:43::i;:::-;3698:66;;3865:21;3889:44;3921:8;3931:1;3889:31;:44::i;:::-;3865:68;;4033:10;:17;4029:1;:21;4025:351;;;4078:17;;4074:118;;4130:39;;;;;;;;8121:25:211;;;8162:18;;;8155:34;;;8094:18;;4130:39:98;7947:248:211;4074:118:98;4234:10;4245:1;4234:13;;;;;;;;:::i;:::-;;;;;;;4218;:29;4214:144;;;4303:1;4306:13;4321:10;4332:1;4321:13;;;;;;;;:::i;:::-;;;;;;;4282:53;;;;;;;;;;;;11331:25:211;;;11387:2;11372:18;;11365:34;;;;11430:2;11415:18;;11408:34;11319:2;11304:18;;11129:319;4214:144:98;4394:34;4451:70;4480:8;4490:12;4504:9;:16;4451:28;:70::i;:::-;4394:127;;4648:14;4722:4;4680:38;4706:8;4716:1;4680:25;:38::i;:::-;4665:61;4648:78;;4744:11;4767:40;4795:8;4805:1;4767:27;:40::i;:::-;4810:1;4767:44;4758:6;:53;4744:67;;4830:2096;4846:3;4837:6;:12;4830:2096;;;5162:13;;5250:2;5245:14;;;5261:1;5241:22;5221:43;;5215:50;5353:8;5343:19;;;5412:2;5407:14;;5209:4;5205:61;4873:15;;5512:17;5514:5;5343:19;5205:61;5512:17::i;:::-;5464:65;;;;5571:16;5555:12;:32;5551:158;;5640:13;;;;5622:64;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;;;11415:18;;;11408:34;;;11304:18;;5622:64:98;11129:319:211;5551:158:98;5750:16;;5735:31;;5731:154;;;5816:13;;;;5831:16;;5801:61;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;5801:61:98;11129:319:211;5731:154:98;5906:32;;;;;;;;6055:19;;;;-1:-1:-1;6032:177:98;;;6133:13;;;;6148:16;;6166:19;;;;;6109:77;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;;;;11415:18;;;11408:34;11304:18;;6109:77:98;11129:319:211;6032:177:98;6368:33;;;;;;;6519:19;;;;-1:-1:-1;6496:131:98;;;6588:16;;6566:19;;;:38;6496:131;6747:1;6731:13;:17;6727:110;;;6798:16;;6776:19;;;:38;6727:110;-1:-1:-1;;;6859:13:98;;;:15;;;;;;-1:-1:-1;;6906:1:98;6896:11;;;;;4830:2096;;;7052:46;7086:8;7096:1;7052:33;:46::i;:::-;7029:5;:19;;;:69;7025:215;;7153:5;:19;;;7174:46;7208:8;7218:1;7174:33;:46::i;:::-;7129:92;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;8094:18;;7129:92:98;7947:248:211;7025:215:98;7343:16;;:33;;7339:140;;7428:16;;7407:53;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;;;8094:18;;7407:53:98;7947:248:211;7339:140:98;-1:-1:-1;;3604:3:98;;;;;-1:-1:-1;3567:3926:98;;-1:-1:-1;;3567:3926:98;;;3036:4467;;2846:4663;;;;:::o;45048:12042:138:-;45148:21;45171:16;45227:23;45253:24;:22;:24::i;:::-;45295:11;;45227:50;;-1:-1:-1;45295:15:138;45291:11715;;45563:11;;45330:12;;45518:4;45508:15;;;;45551:24;;;45330:12;45610:11121;45626:3;45617:6;:12;45610:11121;;;45808:1;45798:6;45792:13;45789:1;45784:22;45780:30;45772:38;;2555:1;45885:5;:9;;;:24;45913:1;45885:29;45881:10832;;14954:40:139;45946:27:138;;:31;45942:3046;;46082:9;;;;2591:6;46082:25;:29;46078:156;;41413:28;;;;;46172:30;46154:49;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;46078:156:138;13201:425:139;46317:28:138;;:32;46313:814;;46402:39;46412:6;15296:54:139;46402:9:138;:39::i;:::-;46385:56;-1:-1:-1;46385:56:138;-1:-1:-1;46476:11:138;;46506:25;:5;46385:56;46506:19;:25::i;:::-;46475:56;;;;46758:6;46754:140;;;46811:48;;;;;41413:28;;;;;46811:48;;;5446:25:211;5419:18;;46811:48:138;5300:177:211;46754:140:138;46351:573;;46313:814;;;47049:47;47067:1;47058:10;;47070:3;15296:54:139;47049:8:138;:47::i;:::-;47040:56;;46313:814;47287:15;;;:17;;;;;;;;;47334;;;:19;;;;;;;47540:9;;;;;:50;;47594:22;47539:77;47527:89;;45610:11121;;45942:3046;15866:76:139;47653:23:138;;:28;47649:1339;;47722:43;47740:1;47731:10;;47743:3;15866:76:139;47722:8:138;:43::i;:::-;47868:9;;;:27;;47881:14;47868:27;;;47713:52;-1:-1:-1;45610:11121:138;;47649:1339;6214:41:139;47932:30:138;;:35;47928:1060;;48143:9;;;;;:49;;48228:40;48142:126;48130:138;;2555:1;48298:8;;;;;45610:11121;;47928:1060;5212:41:139;48343:25:138;;:30;48339:649;;2872:6;48409:5;:9;;;:33;48446:1;48409:38;48405:165;;41413:28;;;;;48508:30;48490:49;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;48405:165:138;48608:25;48620:4;48626:6;48608:11;:25::i;:::-;48816:9;;;:26;;2591:6;48816:26;;;48599:34;-1:-1:-1;45610:11121:138;;48339:649;41413:28;;;;;48930:30;41254:203;45881:10832;13201:425:139;49093:26:138;;:30;49089:7602;;49225:9;;;;2591:6;49225:25;:29;49221:156;;41413:28;;;;;49315:30;49297:49;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;49221:156:138;49424:38;49434:6;15296:54:139;49424:9:138;:38::i;:::-;49407:55;;;;;;;;49595:11;49640:19;49693:86;49812:57;49836:4;49842:5;:20;;;49864:4;49812:23;:57::i;:::-;49561:308;;;;;;49903:6;49899:1207;;;49945:15;50014:49;50028:5;:20;;;50050:4;50056:6;50014:13;:49;;:::i;:::-;49994:69;;-1:-1:-1;49994:69:138;-1:-1:-1;50097:42:138;:5;50118:11;49994:69;50097:20;:42::i;:::-;-1:-1:-1;50300:9:138;;;:30;;2636:6;50300:30;;;49899:1207;;;50507:45;50540:5;50547:4;50507:32;:45::i;:::-;50483:69;;-1:-1:-1;50483:69:138;-1:-1:-1;50586:490:138;;;;50636:61;:5;3474:1;50684:11;50636:20;:61::i;:::-;50895:17;:5;:15;:17::i;:::-;50586:490;;;50998:43;;;;;41413:28;;;;;50998:43;;;5446:25:211;5419:18;;50998:43:138;5300:177:211;50586:490:138;-1:-1:-1;;;51136:9:138;;;:26;;2591:6;51136:26;;;45610:11121;;49089:7602;51302:9;;;;2636:6;51302:29;:33;51298:5393;;4552:41:139;51371:23:138;;51398:1;51371:28;51367:155;;51442:49;;;;;41413:28;;;;;51442:49;;;5446:25:211;5419:18;;51442:49:138;5300:177:211;51367:155:138;52276:4;52265:16;;52259:23;;52118:22;52251:32;52285:1;52247:40;;;;52320:41;52663:2;52646:14;:19;52642:112;;;52708:15;;;;;;;;;;;;;;52642:112;-1:-1:-1;52966:9:138;;;:49;;52979:36;52966:49;;;52783:8;;;;;45610:11121;;51298:5393;4650:41:139;53052:24:138;;:28;53048:3643;;53112:19;53260:4;53253:5;53249:16;53243:23;53240:1;53235:32;53220:47;;53330:11;53345:1;53330:16;53326:146;;53389:52;;;;;41413:28;;;;;53389:52;;;5446:25:211;5419:18;;53389:52:138;5300:177:211;53326:146:138;54051:19;;53998:4;53987:16;;54051:19;53987:16;54103:33;54877:11;54873:1;54860:11;54856:19;54852:37;54846:44;54843:1;54838:53;54632:11;54628:1;54615:11;54611:19;54607:37;54601:44;54595:4;54591:55;54588:1;54584:63;54169:756;;54984:17;:5;:15;:17::i;:::-;-1:-1:-1;55031:8:138;;;;;45610:11121;;53048:3643;15866:76:139;55076:23:138;;:27;55072:1619;;55144:43;55162:1;55153:10;;55165:3;15866:76:139;55144:8:138;:43::i;55072:1619::-;12910:131:139;55425:25:138;;:29;55421:1270;;55495:31;:5;55513:4;55519:6;55495:17;:31::i;:::-;55486:40;;55556:17;:5;:15;:17::i;:::-;55720:9;;;:26;;2591:6;55720:26;;;45610:11121;;55421:1270;4933:41:139;55783:16:138;;:20;55779:912;;55835:27;:5;55849:4;55855:6;55835:13;:27::i;:::-;55892:8;;;;;45610:11121;;55779:912;6310:41:139;56003:16:138;;:20;55999:692;;56055:27;:5;56069:4;56075:6;56055:13;:27::i;:::-;56112:17;:5;:15;:17::i;:::-;3175:49;56198:9;;;:23;56159:8;;;;;45610:11121;;55999:692;5212:41:139;56427:25:138;;:30;56423:268;;41413:28;;;;;56514:30;41254:203;56423:268;41413:28;;;;;56633:30;41254:203;45610:11121;56762:3;56752:6;:13;56748:86;;56796:19;;;;;;;;;;;;;;56748:86;56855:9;;;;3023:6;56855:34;:39;56851:141;;56925:48;;;;;41413:28;;;;;56925:48;;;5446:25:211;5419:18;;56925:48:138;5300:177:211;56851:141:138;45312:11694;;;;45291:11715;57027:21;:5;:19;:21::i;:::-;57050:22;:5;:20;:22::i;:::-;57019:54;;;;;45048:12042;;;;;;:::o;1085:1363:157:-;1617:4;1609:6;1605:17;1676:1;1668:6;1664:14;1650:12;1646:33;1692:202;1716:3;1702:12;1699:21;1692:202;;;1872:19;;1851:41;;1773:4;1755:23;;;;1811;;;;1692:202;;;1696:2;1925:1;1918:9;1908:524;;2035:66;2031:1;2028;2024:9;2020:82;2372:5;2357:12;2351:19;2347:31;2314:5;2310:10;2295:12;2289:19;2285:36;2224:176;2190:12;2162:256;;1908:524;;1085:1363;;;:::o;603:563:101:-;873:16;;698:7;;;;761;;860:29;;856:131;;933:13;;;;948:16;;912:64;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;912:64:101;11129:319:211;856:131:101;1059:5;:19;;;1047:9;:31;1043:93;;;1094:19;;;:31;;;1043:93;-1:-1:-1;1154:1:101;;1157;;-1:-1:-1;603:563:101;-1:-1:-1;;;603:563:101:o;580:555:100:-;675:7;684;816:5;:21;;;804:7;789:48;785:172;;884:13;;;;899:21;;;;860:86;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;860:86:100;11129:319:211;785:172:100;-1:-1:-1;1123:1:100;;1126;;-1:-1:-1;580:555:100;-1:-1:-1;;580:555:100:o;186:359:103:-;-1:-1:-1;267:7:103;;536:1;;-1:-1:-1;186:359:103:o;277:307:104:-;545:4;518:31;;575:1;;-1:-1:-1;277:307:104:o;339:287:109:-;428:7;;545:4;518:31;;;568:10;:23;;590:1;568:23;;;581:6;568:23;559:32;617:1;;-1:-1:-1;339:287:109;-1:-1:-1;;;;339:287:109:o;698:417:110:-;787:7;;905:4;878:31;;;928:10;:23;;950:1;928:23;;;941:6;928:23;919:32;-1:-1:-1;1042:1:110;919:32;1033:10;:15;:37;;1060:6;1069:1;1060:10;1033:37;;728:287:111;817:7;;934:4;907:31;;;957:10;:23;;979:1;957:23;;;970:6;957:23;948:32;1006:1;;-1:-1:-1;728:287:111;-1:-1:-1;;;;728:287:111:o;328:129:112:-;-1:-1:-1;445:1:112;;448;;-1:-1:-1;328:129:112:o;356::116:-;-1:-1:-1;473:1:116;;476;;-1:-1:-1;356:129:116:o;287::117:-;-1:-1:-1;404:1:117;;;;-1:-1:-1;287:129:117:o;660:288:120:-;749:7;;867:4;840:31;;;899:1;890:10;;:23;;912:1;890:23;;359:239:134;-1:-1:-1;586:1:134;;440:7;;-1:-1:-1;359:239:134:o;339:355:135:-;666:1;642;616:27;;;611:33;339:355;;;;;:::o;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;2762:1882:141:-;2865:14;2881:21;2904:32;2994:14;3035:12;3030:789;3060:15;3053:22;;3030:789;;;3107:17;3155:9;3150:253;3174:5;:12;3170:1;:16;3150:253;;;3220:15;3237:14;3255:34;3269:4;3275:5;3281:1;3275:8;;;;;;;;:::i;3255:34::-;-1:-1:-1;3361:19:141;;;;;-1:-1:-1;;3188:3:141;;3150:253;;;;3424:10;3437:25;3452:9;3437:14;:25::i;:::-;3424:38;;3493:6;3488:2;:11;3484:176;;;3536:2;3527:11;;3581:4;3564:22;;3628:9;3612:25;;3484:176;3733:5;:12;3727:2;:18;3723:78;;3773:5;;;;3723:78;-1:-1:-1;;3077:6:141;;3030:789;;;-1:-1:-1;3863:12:141;;3968:4;3962:11;;3863:21;;;;3994:34;;;4091:1;4087:23;4081:4;4077:34;4062:50;;4049:64;;3962:11;-1:-1:-1;3837:23:141;;;4224:404;4248:5;:12;4244:1;:16;4224:404;;;4286:15;4303:14;4321:38;4335:8;4321:38;;4345:5;4351:1;4345:8;;;;;;;;:::i;4321:38::-;4285:74;;;;4418:13;4408:7;:23;4436:1;4407:30;4403:211;;4477:23;;;;4403:211;;;4562:5;4568:1;4562:8;;;;;;;;:::i;:::-;;;;;;;4547:9;4557:1;4547:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;4592:3;;;;;4403:211;-1:-1:-1;;4262:3:141;;4224:404;;;;2952:1686;;2762:1882;;;;;:::o;1664:727::-;1738:14;1754;1829:4;1826:1;1819:15;1861:4;1855;1847:19;1902:4;1899:1;1889:18;1879:28;;2373:1;2364:6;2361:1;2356:15;2352:23;2342:33;;1664:727;;;;;:::o;680:427:137:-;729:7;822:17;817:1;:22;813:63;;-1:-1:-1;862:3:137;;680:427;-1:-1:-1;680:427:137:o;813:63::-;-1:-1:-1;375:66:137;115;920:1;915:6;;;914:19;909:24;;;975:1;970:6;;;241:66;969:19;;;952:12;;951:38;1018:1;1013:6;;;1008:12;1007:25;499:66;1051:13;1069:3;1050:22;;680:427::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;3054:319::-;3149:14;3199:15;3217:36;3231:8;3241:11;3217:13;:36::i;:::-;3328:14;3325:1;3320:23;;3054:319;-1:-1:-1;;;;3054:319:92:o;3379:320::-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;1923:555:98:-;2056:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:28:98;-1:-1:-1;2107:364:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2107:364:98;;;;;;;;;;;;1923:555::o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;2690:358::-;2812:18;2870:15;2888:36;2902:8;2912:11;2888:13;:36::i;:::-;3003:14;3000:1;2995:23;;2690:358;-1:-1:-1;;;;2690:358:92:o;10360:1022:138:-;10403:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:17:138;10432:23;10458:866;;;;;;;;10562:1;10458:866;;;;10602:1;10458:866;;;;10642:1;10458:866;;;;10686:1;10458:866;;;;10730:1;10458:866;;;;10824:1;10458:866;;;;10869:1;10458:866;;;;2872:6;2689;3175:49;10458:866;;;;10954:1;10458:866;;;;10999:1;10458:866;;;;11042:1;10458:866;;;;11089:1;10458:866;;;;11134:37;2099:35:140;1320:4;2357:52;1881:31;2308:102;;1357:1083;11134:37:138;10458:866;;;;11215:37;2445:36:142;470:4;2627:54;2090:34;417:4;2266:50;1637;366:4;1881:82;1246:38;295:4;1436:58;868:38;1417:78;1862:102;2247:70;2608:74;;669:2029;11215:37:138;10458:866;;11312:1;10458:866;;;;;;;9906:4;9900:11;;9924:42;;;9992:26;;;9979:40;;10038:39;;10087:15;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;10038:39;11370:5;-1:-1:-1;;10360:1022:138:o;41463:710::-;41690:13;;41535:7;;;;41597:1;41806:92;41868:4;41864:9;41860:1;41853:4;41850:1;41845:13;41841:21;41837:37;41830:45;41823:4;41820:1;41817:11;41813:63;41806:92;;;41891:1;41884:9;41806:92;;;42016:14;;;;41932:4;41928:12;;;41942:1;41924:20;;41976:16;;;41965:28;;;;42049:87;;42101:22;;;;;;11953:19:211;;;11988:12;42101:22:138;;;;;;;;;;;;;;42085:40;;;;;;;;:::i;42049:87::-;-1:-1:-1;42153:6:138;;41463:710;-1:-1:-1;;;41463:710:138:o;338:950:143:-;423:11;436:13;503:27;518:5;525:4;503:14;:27::i;:::-;485:45;;-1:-1:-1;485:45:143;-1:-1:-1;485:45:143;544:728;;-1:-1:-1;665:16:143;;;;;759:4;753:11;;785:17;;;857:4;842:20;;;901:26;;;961:14;;948:28;;1112:15;;;;864;838:42;;;1203:4;1186:21;;;;;1171:37;:43;;;1152:62;;;338:950;1130:4;1112:22;;;1256:1;1240:17;;338:950::o;42272:346:138:-;42356:7;42470:109;42544:1;42537:4;42533:1;42523:6;42517:13;42514:1;42509:22;42505:30;42501:41;42498:48;42492:3;42484:6;42481:15;42477:70;42470:109;;;42572:1;42564:6;42560:14;42550:24;;42470:109;;;-1:-1:-1;42605:6:138;;42272:346;-1:-1:-1;;42272:346:138:o;42989:1999::-;43254:13;;43068:7;;43248:4;43244:24;16488:20:139;43291:39:138;;43287:130;;43353:53;;;;;41413:28;;;;;43353:53;;;5446:25:211;5419:18;;43353:53:138;5300:177:211;43287:130:138;43727:11;;43691:1;43679:14;;;;;43460:25;;43527:27;;43713:33;;43740:4;43713:33;43426:31;43838:799;43852:4;43838:799;;43879:156;43962:3;43954:6;43951:15;43924:23;43914:6;43908:13;43905:1;43900:22;43897:51;43890:59;43886:81;43879:156;;;44015:1;44007:6;44003:14;43993:24;;43879:156;;;44196:1;44188:6;44184:14;44174:24;;44522:3;44514:6;44511:15;44504:23;44480:21;44470:6;44464:13;44461:1;44456:22;44453:49;44450:78;44447:176;;;-1:-1:-1;44559:1:138;44591:14;;;;44447:176;43838:799;;;43842:2;44903:3;44894:6;:12;44890:69;;;44929:19;;;;;;;;;;;;;;44890:69;-1:-1:-1;44975:6:138;;42989:1999;-1:-1:-1;;;;;42989:1999:138:o;9774:2851:141:-;10370:1;10360:12;;;10410:13;;9898:4;;;;9913:73;;1388:4;10425;10406:24;;;10512:29;10500:42;;10576:22;;;;10500:42;9898:4;10682:1600;10698:3;10689:6;:12;10682:1600;;;11002:1;10990:14;;11041:13;11096:17;;;;11151:13;;11096:17;;10721;;;;11056:4;11037:24;10721:17;;11244:25;11037:24;11264:4;11244:13;:25::i;:::-;11208:61;;;;11291:11;11349:12;11305:41;11343:1;11333:7;:11;11320:9;:25;11305:14;:41::i;:::-;:56;1230:1;11590:22;11575:38;;11569:45;;-1:-1:-1;;1101:8:141;11401:25;;;;-1:-1:-1;11720:26:141;;11701:45;;;-1:-1:-1;11697:571:141;;-1:-1:-1;11697:571:141;-1:-1:-1;12134:4:141;;-1:-1:-1;11978:2:141;11973:17;;;;-1:-1:-1;12045:2:141;12040:17;12036:38;;;12076:6;12032:51;;-1:-1:-1;12126:35:141;;-1:-1:-1;;;;;12126:35:141;11697:571;12224:25;12239:9;12224:14;:25::i;:::-;12208:41;;;;10703:1579;;;10682:1600;;;-1:-1:-1;12544:1:141;;;;-1:-1:-1;12544:1:141;;-1:-1:-1;9774:2851:141;-1:-1:-1;;;;;;;9774:2851:141:o;23858:5085:138:-;24134:39;:5;:37;:39::i;:::-;24270:9;;;:39;;3023:6;24283:26;24270:39;;;;24369:35;;;;;24690:16;;24776:20;24745:57;-1:-1:-1;24768:29:138;;;24745:57;;;24897:21;;24745:57;;24889:30;24799:1;24885:38;24745:57;24861:63;-1:-1:-1;25084:12:138;;25129:26;;26044:4;26033:16;;26262:22;24952:20;26254:31;;;26134:177;;26105:396;;26604:22;;25129:26;;25279:6;25261:25;;;25531:1;25519:14;;25479:59;;;;;;26478:1;26596:31;;;26592:39;26105:396;26567:65;26731:1;26727;26710:15;26706:23;26698:35;26991:24;;27067:26;;27095:11;27063:44;27060:67;;;27032:96;;27871:12;;27440:4;27425:19;;;27590:33;;;27425:198;27802:4;27793:13;;27782:25;;;27425:382;27864:34;;;;28081:4;28071:14;;;28067:860;;28425:12;;28527:4;28521:11;;28553:25;;;3266:4;28644;28640:21;;;28618:44;;28599:64;;28697:21;;28684:35;;;28850:17;;28869:11;28846:35;28843:51;28824:71;;28067:860;23964:4973;;23858:5085;;;:::o;1356:1144:143:-;1530:16;;;;1581:20;;;;1442:11;1673:15;;;1739:4;1726:18;;;1442:11;;;;1716:29;;;;;1851:1;1844:4;1827:22;;1823:30;1949:26;;;1946:483;;;2027:6;2015:10;2011:23;1994:421;2051:3;2044:11;1994:421;;2224:10;2218:4;2214:21;2201:11;2198:38;2195:202;;2273:4;2263:14;;2338:6;2325:10;2319:4;2315:21;2311:34;2302:43;;2370:5;;2195:202;2093:10;;-1:-1:-1;2147:6:143;2131:23;;1994:421;;;1998:38;1946:483;2471:22;2448:20;;;;:45;;;;-1:-1:-1;1356:1144:143;;;;-1:-1:-1;1356:1144:143;-1:-1:-1;1356:1144:143:o;18146:631:138:-;18214:19;18322:4;18315:5;18311:16;18305:23;18302:1;18297:32;18282:47;;18352:11;18367:1;18352:16;18348:423;;18502:4;18491:16;;18557:24;;18384:25;18549:33;18584:1;18545:41;;;18491:16;18603:45;;18679:17;18700:4;18679:25;18675:86;;18731:15;;;;;;;;;;;;;;18348:423;18204:573;18146:631;:::o;18783:5069::-;18887:7;18948:70;19036:18;19072:16;19106;19139:64;19168:5;:20;;;19190:4;19196:6;19139:28;:64::i;:::-;19368:21;;;19350:40;;20777:18;;;;18930:273;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;-1:-1:-1;19392:11:138;19346:58;;19527:1;19217:19;19505:20;;;19501:28;;;;19217:19;;19527:1;20777:37;;:42;20773:948;;20857:22;;;;20883:4;20857:30;20905:802;20912:12;;20905:802;;21047:14;;21348:16;21338:26;;21322:43;;21318:142;;21402:4;21393:13;;21432:5;;;21318:142;-1:-1:-1;21619:14:138;21685:3;;;;;21635:6;21615:27;20905:802;;;20821:900;20773:948;22133:22;;;;22158:6;22133:31;22182:99;3638:1;22233:6;:46;;22264:15;22233:46;;;22260:1;22242:15;:19;22233:46;22182:5;;:99;:20;:99::i;:::-;22089:207;22572:6;22567:1239;;22730:4;22724:11;;22769:14;;;22756:28;;;23123:22;;;;23149:4;23123:30;:44;;23240:20;;22598:11;23404:34;23411:4;23417:10;23429:8;23404:34;;;:::i;:::-;23580:4;23571:14;;23564:33;-1:-1:-1;23682:22:138;;;;;23717:1;23707:6;23682:31;;;23681:37;23730:4;23723:11;;;;23680:55;;;;23655:80;;23753:18;;;:38;;;;;;22567:1239;-1:-1:-1;23827:8:138;;18783:5069;-1:-1:-1;;;;;;;;;;18783:5069:138:o;12464:5374::-;12731:4;12720:16;;12714:23;12607:19;12706:32;12777:15;;12773:127;;12823:58;;;;;41413:28;;;;;12823:58;;;5446:25:211;5419:18;;12823:58:138;5300:177:211;12773:127:138;12589:325;13116:39;:5;:37;:39::i;:::-;13391:9;;;;;13345:125;2689:6;13391:37;;;13345:125;13333:137;;;13508:17;;;;3023:6;13651:15;;;13528:4;13508:24;;;;13670:4;13651:23;;;;;13836:22;;;13835:31;13815:52;;-1:-1:-1;14375:20:138;;;14371:1378;;2689:6;14419:5;:9;;;:37;14460:1;14419:42;14415:682;;14492:59;;;;;41413:28;;;;;14492:59;;;5446:25:211;5419:18;;14492:59:138;5300:177:211;14415:682:138;14832:32;;;14924:4;14904:24;;;14886:15;;;:42;15035:18;;;;14832:32;;-1:-1:-1;15035:43:138;;14852:12;15035:29;:43::i;:::-;15014:18;;;:64;14371:1378;;;15430:1;15412:15;:19;15408:341;;;15470:15;15455:12;:30;15451:284;;;15516:55;;;;;41413:28;;;;;15516:55;;;5446:25:211;5419:18;;15516:55:138;5300:177:211;15451:284:138;15615:15;15600:12;:30;15596:139;;;15661:55;;;;;41413:28;;;;;15661:55;;;5446:25:211;5419:18;;15661:55:138;5300:177:211;15596:139:138;15849:38;;;:1;:38;15942:4;15916;:22;;15915:31;;;15960:1806;15997:3;15988:6;:12;15960:1806;;;16062:17;;;;16239:4;16224:37;;;;16218:44;16062:27;;;16093:6;16061:38;;16036:22;16210:53;16315:1;16298:1420;16323:8;16318:1;:13;16298:1420;;16540:4;16523:14;:21;16548:4;16523:29;16519:230;;16671:21;;16665:4;16661:32;;16519:230;16891:21;;16985:18;;;;16888:1;16883:30;;;;;16985:32;;16883:30;16985:22;:32::i;:::-;16964:18;;;:53;17555:81;17579:13;;;:37;;;;;17596:15;17615:1;17596:20;17579:37;:56;;17634:1;17579:56;;;17619:12;17579:56;17555:18;;;;;:23;:81::i;:::-;17506:18;;;:130;-1:-1:-1;17698:1:138;17680:19;;;;;16333:3;;16298:1420;;;-1:-1:-1;;17735:16:138;;;;;-1:-1:-1;16012:4:138;16002:14;15960:1806;;;-1:-1:-1;;;;17820:1:138;17800:21;17780:17;;;;:41;;;;-1:-1:-1;;;12464:5374:138:o;28949:6035::-;29042:20;;;;29328:4;29317:16;;29311:23;29107:4;29089:22;;;;29017;29303:32;29337:1;29299:40;;29363:14;;;29359:5619;;29400:12;;;;;;;;;;;;;;29359:5619;29887:14;29915:25;29943:5;:18;;;29915:46;;30086:5;30080:12;30159:6;30149;30143:13;30137:4;30133:24;30129:37;30183:172;30204:11;30197:19;30183:172;;30314:13;;30253:11;;-1:-1:-1;30308:4:138;30304:24;30330:6;30300:37;30183:172;;;-1:-1:-1;30790:4:138;30784:11;31027:4;31016:16;;31132:20;;30784:11;;-1:-1:-1;30643:4:138;30631:17;;;30598:6;30756:1;;30958:19;;;;31084:1;;31124:29;;;31049:2893;31231:3;31228:1;31225:10;31049:2893;;;31523:1;31511:10;31507:18;31499:6;31495:31;31485:41;;31685:1;31671:11;31663:6;31659:24;31655:32;31847:362;31873:22;31857:14;31854:42;31847:362;;;32039:18;;32059:6;32035:31;32178:4;32161:22;;;-1:-1:-1;32035:31:138;31948:43;;32121:1;31847:362;;;-1:-1:-1;32610:1:138;32590:22;;32647:17;;;;32709:13;;32689:34;;32647:17;32763:22;;;;;32947:31;;32542:11;33058:433;33084:1;33068:14;33065:21;33058:433;;;33289:25;33283:4;33279:36;33317:6;33275:49;33373:25;;33353:46;;33460:4;33443:22;;;;33138;;;;;33058:433;;;33594:21;;33591:311;;33682:25;33676:4;33672:36;33710:6;33668:49;33766:25;;33746:46;;33873:1;33853:22;;33836:40;;;;33591:311;-1:-1:-1;;;31270:1:138;31310:21;;;31374:20;;31310:21;;31263:9;;;;;31371:1;31366:29;;31049:2893;;;31053:171;;;;34031:6;34023;34016:22;34196:1;34188:6;34184:14;34158:40;;34422:12;34417:1;34413;34405:6;34401:14;34397:22;34391:4;34387:33;34384:51;34346:10;34342:15;34321:18;34315:25;34311:47;34283:174;34243:18;34215:260;34609:4;34605:9;34598:4;34585:11;34581:22;34577:38;34571:4;34564:52;;;;;34823:1;34813:6;34808:1;:11;;34807:17;;;;:::i;:::-;34789:36;;34768:16;;;34759:4;34741:13;34778:6;34750:4;34741:13;:::i;:::-;34740:23;;34739:46;:87;34700:20;;;:126;34898:9;;;:36;;34911:23;34898:36;;;9906:4;9900:11;;3266:4;9924:42;;;9992:26;;;9979:40;;10038:39;;;-1:-1:-1;10087:15:138;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;29873:5105;;29007:5977;;;28949:6035;:::o;34990:4165::-;35143:20;;;;35652:12;;35646:19;35061:21;;35143:20;35216:4;35198:22;;;;3266:4;35696:35;;35692:97;;35758:16;;;;;;;;;;;;;;35692:97;35958:4;35952:11;;-1:-1:-1;36118:4:138;36106:17;;36228:4;36213:20;;35803:14;36213:20;36106:17;36250:29;-1:-1:-1;36318:1:138;36564;36549:17;;36537:30;;;;;;;36306:14;36852:1;;;36910:916;36945:9;36937:6;36934:21;36910:916;;;37042:27;;;37071:6;37038:40;;37330:27;37605:31;37609:4;37605:31;;;;37602:56;;37596:4;37592:67;37687:32;;;37680:51;37769:39;;;37252:4;37248:17;;;37244:37;37225:57;;;;;36968:17;36910:916;;;-1:-1:-1;37869:21:138;;37866:41;37843:65;;;37961:38;;;37942:58;37965:23;37942:58;;;37925:76;;38155:41;;;38209:4;38151:52;38147:68;38141:4;38134:82;-1:-1:-1;38468:671:138;38492:12;38488:1;:16;38468:671;;;38747:1;38740:9;;38719:32;;38737:1;38719:32;38713:39;38754:6;38709:52;;;38799:34;;38871:20;;38933:4;38943;38939:20;;;38929:31;;38999:4;38995:20;;;;38991:33;;39059:65;38929:31;38799:34;38991:33;39059:27;:65::i;:::-;-1:-1:-1;;;38506:3:138;;38468:671;;;;35094:4055;;;;;;34990:4165;;;:::o;39161:1947::-;39297:22;;;;39456:4;39450:11;;39322:6;39297:31;;39506;;;39881:4;39860:26;;;39848:39;;40112:17;;;40099:31;;;39450:11;;39297:31;;39382:4;39356:30;;;;;39450:11;40529:563;40547:3;40539:6;40536:15;40529:563;;;41071:4;41058:18;;41052:25;41037:41;;40931:14;;40947:6;40927:27;;40629:17;;;;;40529:563;;;40533:2;;39422:1680;;39161:1947;;;:::o;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;11511:947:138:-;11675:4;11668:5;11664:16;11731;11725:23;11722:1;11717:32;11896:1;11878:16;11874:24;11856:16;11852:47;11846:54;11843:1;11838:63;11828:614;;11939:12;;11994:17;;12147:4;12136:16;;12130:23;;12022:1;12013:6;11990:30;;;;11986:38;;;;12075:4;12071:21;12055:38;;;12272:4;12299:1;12220:2;12215:21;;;12193:44;;12278:23;12268:34;12350:23;12334:40;12391:37;;11828:614;;11511:947;:::o;3348:5359:140:-;3709:13;;3476:64;;3541:7;;;;;;3826:1;3811:13;;;3807:21;12910:131:139;3903:33:140;;:38;3899:4435;;4137:1;4122:13;;;4118:21;4233:47;4234:15;;;4233:47;4229:4091;;4334:1;4325:10;;;14521:65:139;4618:169:140;4677:11;4673:1;4661:8;4655:15;4652:1;4647:24;4643:32;4639:50;4632:58;4618:169;;4752:1;4742:8;4738:16;4726:28;;4618:169;;;-1:-1:-1;5330:11:140;;5034:6;4987:53;;;5316:33;;5343:4;5316:33;5404:17;;;5400:106;;;5460:19;;;;;;;;;;;;;;5400:106;-1:-1:-1;5557:6:140;-1:-1:-1;5565:10:140;;-1:-1:-1;5577:8:140;-1:-1:-1;5577:8:140;;-1:-1:-1;5549:47:140;;-1:-1:-1;;;5549:47:140;4229:4091;5757:6;5894:1;5881:14;;5736:18;12910:131:139;13103:29;6241:173:140;6300:15;6296:1;6284:8;6278:15;6275:1;6270:24;6266:32;6262:54;6255:62;6241:173;;6379:1;6369:8;6365:16;6353:28;;6241:173;;;6741:5;6737:1;6725:8;6719:15;6716:1;6711:24;6707:32;6703:44;6696:52;6686:567;;6864:1;6850:16;;;6797:8;-1:-1:-1;7042:181:140;7101:15;7097:1;7085:8;7079:15;7076:1;7071:24;7067:32;7063:54;7056:62;7042:181;;7184:1;7174:8;7170:16;7158:28;;7042:181;;;-1:-1:-1;;7326:14:140;;;;;:73;;;7356:9;7368:1;7356:13;7345:8;:24;:53;;;;7385:9;7397:1;7385:13;7373:8;:25;7345:53;7322:202;;;7434:67;;;;;41413:28:138;;;;;7434:67:140;;;5446:25:211;5419:18;;7434:67:140;5300:177:211;7322:202:140;8031:11;;7727:6;1320:4;7677:46;;;7676:57;;8017:33;;8044:4;8017:33;8105:21;;;8101:110;;;8165:19;;;;;;;;;;;;;;8101:110;-1:-1:-1;8262:6:140;-1:-1:-1;8270:10:140;;-1:-1:-1;8282:8:140;-1:-1:-1;8282:8:140;;-1:-1:-1;8254:47:140;;-1:-1:-1;;;;8254:47:140;3899:4435;8451:11;;8437:33;;8464:4;8437:33;8501:20;;;8497:194;;8548:19;;;;;;;;;;;;;;8497:194;8613:63;;;;;41413:28:138;;;;;8613:63:140;;;5446:25:211;5419:18;;8613:63:140;5300:177:211;3348:5359:140;;;;;;;;:::o;8331:369:138:-;8407:12;8465:15;:7;8478:1;8465:12;:15::i;:::-;8455:25;-1:-1:-1;;8649:16:138;8618:47;;8549:4;8544:1;8512:33;;;8511:42;;;;8567:11;;8670;;8617:65;8331:369;;;;:::o;9220:345::-;9289:12;9386:4;9355:35;;9408:11;;;9404:73;;;9446:16;;;;;;;;;;;;;;9404:73;-1:-1:-1;;9515:32:138;;;9220:345::o;8706:508::-;8776:12;8873:4;8842:35;;;9028:12;;;8941:1;8909:33;;;8908:42;9010:4;8978:36;;;9058:13;;;9054:65;;;-1:-1:-1;9097:7:138;9054:65;9191:4;9184:3;:11;;9178:1;9168:6;:11;;9157:7;:23;:39;9132:65;;;;;8706:508;;;;:::o;9010:1887:140:-;9105:13;9171:11;;;9209:4;9200:13;;9196:1685;;;9240:58;;;;;41413:28:138;;;;;9240:58:140;;;5446:25:211;5419:18;;9240:58:140;5300:177:211;9196:1685:140;9323:6;9333:1;9323:11;9319:1562;;9361:60;;;;;41413:28:138;;;;;9361:60:140;;;5446:25:211;5419:18;;9361:60:140;5300:177:211;9319:1562:140;9455:1;9446:6;:10;9460:1;9446:15;9442:1439;;9488:59;;;;;41413:28:138;;;;;9488:59:140;;;5446:25:211;5419:18;;9488:59:140;5300:177:211;9442:1439:140;9603:7;;;9586:14;9669:1198;9686:5;9676:6;:15;9669:1198;;9830:13;;9715:19;9822:22;;;;9969:1;:16;;;12910:131:139;10075:27:140;;:32;10071:657;;-1:-1:-1;10144:41:140;;;10071:657;;;14199:93:139;10265:31:140;;:36;10261:467;;-1:-1:-1;10338:46:140;;;10261:467;;;14371:93:139;10464:31:140;;:36;10460:268;;-1:-1:-1;10537:46:140;;;10460:268;;;10645:60;;;;;41413:28:138;;;;;10645:60:140;;;5446:25:211;5419:18;;10645:60:140;5300:177:211;10460:268:140;10759:21;;10750:30;;;;;-1:-1:-1;;10840:8:140;;;;;10817:1;10802:16;9669:1198;;;9568:1313;;9130:1761;9010:1887;;;;;:::o;11526:4950::-;12331:11;;;12325:18;11625:13;;;;11891:18;;11625:13;;12383;;;12241:11;;;12340:1;12625:10;;:62;;;;-1:-1:-1;7285:1:139;12641:20:140;;13103:29:139;12640:41:140;12639:48;;12625:62;12621:1379;;;12726:1;12720:3;:7;12711:16;;12886:2;12872:11;12865:4;12862:1;12857:13;12853:31;12849:40;12835:11;12828:4;12825:1;12820:13;12816:31;12812:78;12800:90;;12621:1379;;;13036:4;13033:1;13028:13;13009:32;;13299:1;13290:6;:10;:62;;;;-1:-1:-1;7285:1:139;13306:20:140;;13103:29:139;13305:41:140;13304:48;;13290:62;13286:696;;;13395:1;13389:3;:7;13380:16;;13508:11;13501:4;13498:1;13493:13;13489:31;13477:43;;13286:696;;;13748:10;;13744:238;;13801:1;13795:3;:7;13786:16;;13839:1;13828:12;;13744:238;;;13902:57;;;;;41413:28:138;;;;;13902:57:140;;;5446:25:211;5419:18;;13902:57:140;5300:177:211;13744:238:140;12077:1937;;;14146:486;14163:5;14153:6;:15;;:32;;;;;14183:2;14172:8;:13;14153:32;14146:486;;;14497:13;;14494:1;14489:22;14485:40;;;14531:2;14527:17;;;14481:64;14470:76;;;;;14609:8;;;;;14581:10;;14146:486;;;14848:5;14838:6;:15;14834:1626;;15002:13;;14895;14994:22;14990:40;;;15230:1;15222:9;;15218:451;;;41413:28:138;;;;;15289:39:140;15266:63;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;15218:451:140;15410:2;:14;;;15401:24;;15455:14;;;:22;-1:-1:-1;15451:155:140;;;41413:28:138;;;;;15539:39:140;41254:203:138;15451:155:140;15631:15;;;;;-1:-1:-1;15690:8:140;;;;;15881:547;15898:5;15888:6;:15;15881:547;;16128:13;;15997:23;16120:22;16224:18;16197:46;;16193:179;;41413:28:138;;;;;16305:39:140;41254:203:138;16193:179:140;-1:-1:-1;16397:8:140;;;;;15881:547;;3762:535:142;4038:13;;3885:7;;;;4054:1;4030:22;;;4026:30;4079:27;;;4075:123;;4129:58;;;;;41413:28:138;;;;;4129:58:142;;;5446:25:211;5419:18;;4129:58:142;5300:177:211;4075:123:142;4266:6;4287:1;4258:32;;;;;3762:535;;;;;;;:::o;4349:1314::-;4642:11;;4758:13;;4487:7;;;;4774:1;4750:22;;;4746:30;;4628:33;;4655:4;4628:33;4807:27;;;4803:844;;4863:52;4890:1;4881:10;;4893:3;15866:76:139;4863:17:142;:52::i;:::-;4854:61;-1:-1:-1;4934:13:142;4983:67;5003:14;5019:4;5025:16;4854:61;4983:19;:67::i;:::-;4965:85;;-1:-1:-1;4965:85:142;-1:-1:-1;5078:48:142;4965:85;5104:3;15866:76:139;5078:17:142;:48::i;:::-;5275:13;;5069:57;;-1:-1:-1;5291:1:142;5272;5267:22;;;;5263:30;;-1:-1:-1;6613:41:139;5332:25:142;;5328:135;;41413:28:138;;;;;5404:39:142;5388:56;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;5328:135:142;5497:1;5488:10;;;-1:-1:-1;5513:5:142;-1:-1:-1;5480:40:142;;-1:-1:-1;;5480:40:142;4803:844;5608:6;5629:1;5600:32;;;;;;;;5699:1704;6020:11;;6136:13;;5849:7;;;;6152:1;6128:22;;;6124:30;;6006:33;;6033:4;6006:33;6185:27;;;6181:1206;;6241:52;6268:1;6259:10;;6271:3;15866:76:139;6241:17:142;:52::i;:::-;6232:61;-1:-1:-1;6312:9:142;6353:66;6373:14;6389:4;6395:15;6232:61;6353:19;:66::i;:::-;6339:80;;-1:-1:-1;6339:80:142;-1:-1:-1;6339:80:142;6498:48;6339:80;6524:3;15866:76:139;6498:17:142;:48::i;:::-;6489:57;-1:-1:-1;6565:9:142;6606:66;6626:14;6642:4;6648:15;6489:57;6606:19;:66::i;:::-;6592:80;;-1:-1:-1;6745:1:142;6740:6;;;6713:34;;;;;6592:80;-1:-1:-1;6776:48:142;6592:80;6802:3;15866:76:139;6776:17:142;:48::i;:::-;6974:13;;6767:57;;-1:-1:-1;6990:1:142;6971;6966:22;;;;6962:30;;-1:-1:-1;6613:41:139;7031:25:142;;7027:135;;41413:28:138;;;;;7103:39:142;41254:203:138;7027:135:142;-1:-1:-1;7196:1:142;7187:10;;;-1:-1:-1;7199:7:142;-1:-1:-1;7179:28:142;;-1:-1:-1;;;7179:28:142;6181:1206;41413:28:138;;;;;7332:39:142;7316:56;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;10078:2147:142;10367:11;;10483:13;;10212:7;;;;10499:1;10475:22;;;10471:30;;10353:33;;10380:4;10353:33;10532:27;;;10528:1681;;10588:52;10615:1;10606:10;;10618:3;15866:76:139;10588:17:142;:52::i;:::-;10817:13;;10579:61;;-1:-1:-1;10833:1:142;10659:9;10809:22;;;10805:30;;-1:-1:-1;10874:25:142;;;10870:269;;-1:-1:-1;10927:1:142;10870:269;;;10989:52;11009:14;11025:4;11031:1;11034:6;10989:19;:52::i;:::-;10975:66;;-1:-1:-1;10975:66:142;-1:-1:-1;11072:48:142;10975:66;11098:3;15866:76:139;11072:17:142;:48::i;:::-;11063:57;;10870:269;11315:13;;11331:1;11157:9;11307:22;;;11303:30;;-1:-1:-1;11372:25:142;;;11368:269;;-1:-1:-1;11425:1:142;11368:269;;;11487:52;11507:14;11523:4;11529:1;11532:6;11487:19;:52::i;:::-;11473:66;;-1:-1:-1;11473:66:142;-1:-1:-1;11570:48:142;11473:66;11596:3;15866:76:139;11570:17:142;:48::i;:::-;11561:57;;11368:269;11849:13;;11696:1;11655:15;11841:22;;;;11837:30;;;;-1:-1:-1;11691:6:142;;;11686:12;;6613:41:139;11906:25:142;;11902:135;;41413:28:138;;;;;11978:39:142;41254:203:138;11902:135:142;12071:1;12062:10;;;-1:-1:-1;12074:7:142;-1:-1:-1;12054:28:142;;-1:-1:-1;;;;12054:28:142;7466:2576;7757:11;;7873:13;;7602:7;;;;7889:1;7865:22;;;7861:30;;7743:33;;7770:4;7743:33;7922:27;;;7918:2108;;7978:52;8005:1;7996:10;;8008:3;15866:76:139;7978:17:142;:52::i;:::-;7969:61;-1:-1:-1;8091:9:142;8132:66;8152:14;8168:4;8174:15;7969:61;8132:19;:66::i;:::-;8118:80;;-1:-1:-1;8118:80:142;-1:-1:-1;8225:48:142;8118:80;8251:3;15866:76:139;8225:17:142;:48::i;:::-;8487:13;;8216:57;;-1:-1:-1;8503:1:142;8329:9;8479:22;;;8475:30;;-1:-1:-1;8544:25:142;;;8540:269;;-1:-1:-1;8597:1:142;8540:269;;;8659:52;8679:14;8695:4;8701:1;8704:6;8659:19;:52::i;:::-;8645:66;;-1:-1:-1;8645:66:142;-1:-1:-1;8742:48:142;8645:66;8768:3;15866:76:139;8742:17:142;:48::i;:::-;8733:57;;8540:269;9022:13;;9038:1;8864:9;9014:22;;;9010:30;;-1:-1:-1;9079:25:142;;;9075:269;;-1:-1:-1;9132:1:142;9075:269;;;9194:52;9214:14;9230:4;9236:1;9239:6;9194:19;:52::i;:::-;9180:66;;-1:-1:-1;9180:66:142;-1:-1:-1;9277:48:142;9180:66;9303:3;15866:76:139;9277:17:142;:48::i;:::-;9268:57;;9075:269;9567:13;;9583:1;9362:15;9559:22;;;;9555:30;;-1:-1:-1;9403:1:142;9398:6;;;9393:12;;9414:1;9409:6;;;9393:23;6613:41:139;9624:25:142;;9620:135;;41413:28:138;;;;;9696:39:142;41254:203:138;9620:135:142;9789:1;9780:10;;;-1:-1:-1;9792:7:142;-1:-1:-1;9772:28:142;;-1:-1:-1;;;;;9772:28:142;2744:967;3045:13;;2892:7;;;;3061:1;3037:22;;;3033:30;3086:25;;;3082:119;;41413:28:138;;;;;3150:39:142;41254:203:138;3082:119:142;3224:77;3315:18;3347:16;3377;3406:58;3435:14;3451:4;3457:6;3406:28;:58::i;:::-;3210:254;;;;;;;;3474:13;3490:41;3504:4;3510:10;3522:8;3490:13;:41;;:::i;:::-;3474:57;;3553:3;3545:5;:11;3541:105;;;3579:56;;;;;41413:28:138;;;;;3579:56:142;;;5446:25:211;5419:18;;3579:56:142;5300:177:211;3541:105:142;3664:8;;;;-1:-1:-1;2744:967:142;-1:-1:-1;;;;;;;;;2744:967:142:o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:211:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:211:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:253;804:2;798:9;846:4;834:17;;881:18;866:34;;902:22;;;863:62;860:88;;;928:18;;:::i;:::-;964:2;957:22;732:253;:::o;990:334::-;1061:2;1055:9;1117:2;1107:13;;1122:66;1103:86;1091:99;;1220:18;1205:34;;1241:22;;;1202:62;1199:88;;;1267:18;;:::i;:::-;1303:2;1296:22;990:334;;-1:-1:-1;990:334:211:o;1329:245::-;1377:4;1410:18;1402:6;1399:30;1396:56;;;1432:18;;:::i;:::-;-1:-1:-1;1489:2:211;1477:15;1494:66;1473:88;1563:4;1469:99;;1329:245::o;1579:462::-;1621:5;1674:3;1667:4;1659:6;1655:17;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1728:6;1715:20;1759:48;1775:31;1803:2;1775:31;:::i;:::-;1759:48;:::i;:::-;1832:2;1823:7;1816:19;1878:3;1871:4;1866:2;1858:6;1854:15;1850:26;1847:35;1844:55;;;1895:1;1892;1885:12;1844:55;1960:2;1953:4;1945:6;1941:17;1934:4;1925:7;1921:18;1908:55;2008:1;1983:16;;;2001:4;1979:27;1972:38;;;;1987:7;1579:462;-1:-1:-1;;;1579:462:211:o;2046:183::-;2106:4;2139:18;2131:6;2128:30;2125:56;;;2161:18;;:::i;:::-;-1:-1:-1;2206:1:211;2202:14;2218:4;2198:25;;2046:183::o;2234:662::-;2288:5;2341:3;2334:4;2326:6;2322:17;2318:27;2308:55;;2359:1;2356;2349:12;2308:55;2395:6;2382:20;2421:4;2445:60;2461:43;2501:2;2461:43;:::i;2445:60::-;2539:15;;;2625:1;2621:10;;;;2609:23;;2605:32;;;2570:12;;;;2649:15;;;2646:35;;;2677:1;2674;2667:12;2646:35;2713:2;2705:6;2701:15;2725:142;2741:6;2736:3;2733:15;2725:142;;;2807:17;;2795:30;;2845:12;;;;2758;;2725:142;;;-1:-1:-1;2885:5:211;2234:662;-1:-1:-1;;;;;;2234:662:211:o;2901:793::-;3037:6;3045;3053;3106:2;3094:9;3085:7;3081:23;3077:32;3074:52;;;3122:1;3119;3112:12;3074:52;3162:9;3149:23;3191:18;3232:2;3224:6;3221:14;3218:34;;;3248:1;3245;3238:12;3218:34;3271:49;3312:7;3303:6;3292:9;3288:22;3271:49;:::i;:::-;3261:59;;3373:2;3362:9;3358:18;3345:32;3329:48;;3402:2;3392:8;3389:16;3386:36;;;3418:1;3415;3408:12;3386:36;3441:63;3496:7;3485:8;3474:9;3470:24;3441:63;:::i;:::-;3431:73;;3557:2;3546:9;3542:18;3529:32;3513:48;;3586:2;3576:8;3573:16;3570:36;;;3602:1;3599;3592:12;3570:36;;3625:63;3680:7;3669:8;3658:9;3654:24;3625:63;:::i;:::-;3615:73;;;2901:793;;;;;:::o;4164:250::-;4249:1;4259:113;4273:6;4270:1;4267:13;4259:113;;;4349:11;;;4343:18;4330:11;;;4323:39;4295:2;4288:10;4259:113;;;-1:-1:-1;;4406:1:211;4388:16;;4381:27;4164:250::o;4419:329::-;4460:3;4498:5;4492:12;4525:6;4520:3;4513:19;4541:76;4610:6;4603:4;4598:3;4594:14;4587:4;4580:5;4576:16;4541:76;:::i;:::-;4662:2;4650:15;4667:66;4646:88;4637:98;;;;4737:4;4633:109;;4419:329;-1:-1:-1;;4419:329:211:o;4753:217::-;4900:2;4889:9;4882:21;4863:4;4920:44;4960:2;4949:9;4945:18;4937:6;4920:44;:::i;4975:320::-;5043:6;5096:2;5084:9;5075:7;5071:23;5067:32;5064:52;;;5112:1;5109;5102:12;5064:52;5152:9;5139:23;5185:18;5177:6;5174:30;5171:50;;;5217:1;5214;5207:12;5171:50;5240:49;5281:7;5272:6;5261:9;5257:22;5240:49;:::i;5997:435::-;6050:3;6088:5;6082:12;6115:6;6110:3;6103:19;6141:4;6170:2;6165:3;6161:12;6154:19;;6207:2;6200:5;6196:14;6228:1;6238:169;6252:6;6249:1;6246:13;6238:169;;;6313:13;;6301:26;;6347:12;;;;6382:15;;;;6274:1;6267:9;6238:169;;;-1:-1:-1;6423:3:211;;5997:435;-1:-1:-1;;;;;5997:435:211:o;6437:421::-;6662:2;6651:9;6644:21;6625:4;6688:44;6728:2;6717:9;6713:18;6705:6;6688:44;:::i;:::-;6780:9;6772:6;6768:22;6763:2;6752:9;6748:18;6741:50;6808:44;6845:6;6837;6808:44;:::i;:::-;6800:52;6437:421;-1:-1:-1;;;;;6437:421:211:o;6863:747::-;7206:42;7198:6;7194:55;7183:9;7176:74;7286:3;7281:2;7270:9;7266:18;7259:31;7157:4;7313:45;7353:3;7342:9;7338:19;7330:6;7313:45;:::i;:::-;7406:9;7398:6;7394:22;7389:2;7378:9;7374:18;7367:50;7440:44;7477:6;7469;7440:44;:::i;:::-;7426:58;;7532:9;7524:6;7520:22;7515:2;7504:9;7500:18;7493:50;7560:44;7597:6;7589;7560:44;:::i;:::-;7552:52;6863:747;-1:-1:-1;;;;;;;6863:747:211:o;8200:2482::-;8327:6;8358:2;8401;8389:9;8380:7;8376:23;8372:32;8369:52;;;8417:1;8414;8407:12;8369:52;8450:9;8444:16;8479:18;8520:2;8512:6;8509:14;8506:34;;;8536:1;8533;8526:12;8506:34;8574:6;8563:9;8559:22;8549:32;;8619:7;8612:4;8608:2;8604:13;8600:27;8590:55;;8641:1;8638;8631:12;8590:55;8670:2;8664:9;8693:60;8709:43;8749:2;8709:43;:::i;8693:60::-;8787:15;;;8869:1;8865:10;;;;8857:19;;8853:28;;;8818:12;;;;8893:19;;;8890:39;;;8925:1;8922;8915:12;8890:39;8957:2;8953;8949:11;8969:1683;8985:6;8980:3;8977:15;8969:1683;;;9064:3;9058:10;9100:2;9087:11;9084:19;9081:109;;;9144:1;9173:2;9169;9162:14;9081:109;9213:20;;9256:4;9284:16;;;9302:66;9280:89;9276:98;-1:-1:-1;9273:188:211;;;9415:1;9444:2;9440;9433:14;9273:188;9487:22;;:::i;:::-;9550:2;9546;9542:11;9536:18;9529:5;9522:33;9578:2;9622;9618;9614:11;9608:18;9674:4;9665:7;9661:18;9652:7;9649:31;9639:132;;9723:1;9753:3;9748;9741:16;9639:132;9791:14;;;9784:31;9850:11;;;9844:18;;9878:16;;;9875:109;;;9936:1;9966:3;9961;9954:16;9875:109;10016:8;10012:2;10008:17;9997:28;;10066:7;10061:2;10056:3;10052:12;10048:26;10038:127;;10117:1;10106:12;;10147:3;10142;10135:16;10038:127;10204:2;10199:3;10195:12;10189:19;10178:30;;10234:49;10250:32;10278:3;10250:32;:::i;10234:49::-;10310:3;10303:5;10296:18;10357:7;10352:2;10346:3;10341;10337:13;10333:22;10330:35;10327:128;;;10407:1;10437:3;10432;10425:16;10327:128;10468:69;10533:3;10528:2;10521:5;10517:14;10512:2;10507:3;10503:12;10468:69;:::i;:::-;10557:14;;;10550:29;10592:18;;-1:-1:-1;;10630:12:211;;;;9002;;8969:1683;;;-1:-1:-1;10671:5:211;8200:2482;-1:-1:-1;;;;;;;;8200:2482:211:o;10940:184::-;10992:77;10989:1;10982:88;11089:4;11086:1;11079:15;11113:4;11110:1;11103:15;12235:184;12287:77;12284:1;12277:88;12384:4;12381:1;12374:15;12408:4;12405:1;12398:15;12424:128;12491:9;;;12512:11;;;12509:37;;;12526:18;;:::i;12557:125::-;12622:9;;;12643:10;;;12640:36;;;12656:18;;:::i;12687:288::-;12862:2;12851:9;12844:21;12825:4;12882:44;12922:2;12911:9;12907:18;12899:6;12882:44;:::i;:::-;12874:52;;12962:6;12957:2;12946:9;12942:18;12935:34;12687:288;;;;;:::o;12980:184::-;13032:77;13029:1;13022:88;13129:4;13126:1;13119:15;13153:4;13150:1;13143:15", + "linkReferences": {}, + "immutableReferences": { + "54991": [ + { + "start": 497, + "length": 32 + }, + { + "start": 1066, + "length": 32 + } + ], + "54995": [ + { + "start": 400, + "length": 32 + }, + { + "start": 1101, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "authoringMetaHash()": "b6c7175a", + "buildParseMeta(bytes)": "a600bd0a", + "deployExpression(bytes,uint256[],uint256[])": "31a66b65", + "iInterpreter()": "f0cfdd37", + "iStore()": "c19423bc", + "integrityCheck(bytes,uint256[],uint256[])": "cbb7d173", + "integrityFunctionPointers()": "8d614591", + "parse(bytes)": "fab4087a", + "parseMeta()": "ffc25704", + "supportsInterface(bytes4)": "01ffc9a7" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"authoringMeta\",\"type\":\"bytes\"}],\"internalType\":\"struct RainterpreterExpressionDeployerConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"AuthoringMetaHashMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calculatedInputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bytecodeInputs\",\"type\":\"uint256\"}],\"name\":\"BadOpInputsLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DanglingSource\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"DecimalLiteralOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateFingerprint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorOffset\",\"type\":\"uint256\"}],\"name\":\"DuplicateLHSItem\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entrypointIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minOutputs\",\"type\":\"uint256\"}],\"name\":\"EntrypointMinOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedEntrypoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualEntrypoints\",\"type\":\"uint256\"}],\"name\":\"EntrypointMissing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entrypointIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"inputsLength\",\"type\":\"uint256\"}],\"name\":\"EntrypointNonZeroInput\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExcessLHSItems\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExcessRHSItems\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExpectedLeftParen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExpectedOperand\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"HexLiteralOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MalformedCommentStart\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MalformedExponentDigits\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MalformedHexLiteral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxSources\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MissingFinalSemi\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"NotAcceptingInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"OddLengthHexLiteral\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"OperandOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"constantsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"constantRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsConstantRead\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackTopIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsStackRead\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParenOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParserOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackMaxIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bytecodeAllocation\",\"type\":\"uint256\"}],\"name\":\"StackAllocationMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bytecodeOutputs\",\"type\":\"uint256\"}],\"name\":\"StackOutputsMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StackOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calculatedInputs\",\"type\":\"uint256\"}],\"name\":\"StackUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StackUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackHighwater\",\"type\":\"uint256\"}],\"name\":\"StackUnderflowHighwater\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnclosedLeftParen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnclosedOperand\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedComment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedInterpreterBytecodeHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedLHSChar\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualOpMeta\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedOpMetaHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedOperand\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"actualPointers\",\"type\":\"bytes\"}],\"name\":\"UnexpectedPointers\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedRHSChar\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedRightParen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedStoreBytecodeHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnknownWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnsupportedLiteralType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"word\",\"type\":\"string\"}],\"name\":\"WordSize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WriteError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ZeroLengthDecimal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ZeroLengthHexLiteral\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"opMeta\",\"type\":\"bytes\"}],\"name\":\"DISpair\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"name\":\"ExpressionAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"NewExpression\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"authoringMetaHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"authoringMeta\",\"type\":\"bytes\"}],\"name\":\"buildParseMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"deployExpression\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iInterpreter\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iStore\",\"outputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"integrityCheck\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"integrityFunctionPointers\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"parse\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parseMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AuthoringMetaHashMismatch(bytes32,bytes32)\":[{\"details\":\"The `IParserV1` MUST revert if the authoring meta provided to a build does not match the authoring meta hash.\"}],\"DuplicateFingerprint()\":[{\"details\":\"For metadata builder.\"}],\"DuplicateLHSItem(uint256)\":[{\"details\":\"Thrown when a stack name is duplicated. Shadowing in all forms is disallowed in Rainlang.\"}],\"EntrypointMissing(uint256,uint256)\":[{\"details\":\"There are more entrypoints defined by the minimum stack outputs than there are provided sources. This means the calling contract WILL attempt to eval a dangling reference to a non-existent source at some point, so this MUST REVERT.\"}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the interpreter address upon construction.\"}}],\"UnexpectedPointers(bytes)\":[{\"details\":\"Thrown when the pointers known to the expression deployer DO NOT match the interpreter it is constructed for. This WILL cause undefined expression behaviour so MUST REVERT.\",\"params\":{\"actualPointers\":\"The actual function pointers found at the interpreter address upon construction.\"}}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the store address upon construction.\"}}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"params\":{\"opMeta\":\"The raw binary data of the op meta. Maybe compressed data etc. and is intended for offchain consumption.\",\"sender\":\"The `msg.sender` providing the op meta.\"}},\"ExpressionAddress(address,address)\":{\"params\":{\"expression\":\"The address of the deployed expression.\",\"sender\":\"The caller of `deployExpression`.\"}},\"NewExpression(address,bytes,uint256[],uint256[])\":{\"params\":{\"bytecode\":\"As per `IExpressionDeployerV2`.\",\"constants\":\"As per `IExpressionDeployerV2`.\",\"minOutputs\":\"As per `IExpressionDeployerV2`.\",\"sender\":\"The caller of `deployExpression`.\"}}},\"kind\":\"dev\",\"methods\":{\"authoringMetaHash()\":{\"returns\":{\"_0\":\"The authoring meta hash.\"}},\"buildParseMeta(bytes)\":{\"params\":{\"authoringMeta\":\"The authoring meta bytes.\"},\"returns\":{\"_0\":\"The built parse meta bytes.\"}},\"deployExpression(bytes,uint256[],uint256[])\":{\"params\":{\"bytecode\":\"Bytecode verbatim. Exactly how the bytecode is structured is up to the deployer and interpreter. The deployer MUST NOT modify the bytecode in any way. The interpreter MUST NOT assume anything about the bytecode other than that it is valid according to the interpreter's integrity checks. It is assumed that the bytecode will be produced from a human friendly string via. `IParserV1.parse` but this is not required if the caller has some other means to prooduce valid bytecode.\",\"constants\":\"Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.\",\"minOutputs\":\"The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified.\"},\"returns\":{\"_0\":\"The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.\",\"_1\":\"The interpreter store the deployer believes is compatible with the interpreter.\",\"_2\":\"The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of.\"}},\"integrityCheck(bytes,uint256[],uint256[])\":{\"params\":{\"bytecode\":\"The bytecode to check.\",\"constants\":\"The constants to check.\",\"minOutputs\":\"The minimum number of outputs expected from each of the sources. Only applies to sources that are entrypoints. Internal sources have their integrity checked implicitly by the use of opcodes such as `call` that have min/max outputs in their operand.\"}},\"integrityFunctionPointers()\":{\"returns\":{\"_0\":\"The list of integrity function pointers.\"}},\"parse(bytes)\":{\"params\":{\"data\":\"The Rainlang bytes to parse.\"},\"returns\":{\"_0\":\"The expressions that can be evaluated.\",\"_1\":\"The constants that can be referenced by sources.\"}},\"parseMeta()\":{\"returns\":{\"_0\":\"The parse meta bytes.\"}}},\"title\":\"RainterpreterExpressionDeployer\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"BadOpInputsLength(uint256,uint256,uint256)\":[{\"notice\":\"The bytecode and integrity function disagree on number of inputs.\"}],\"DanglingSource()\":[{\"notice\":\"The parser encountered a dangling source. This is a bug in the parser.\"}],\"DecimalLiteralOverflow(uint256)\":[{\"notice\":\"Encountered a decimal literal that is larger than supported.\"}],\"EntrypointMinOutputs(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when some entrypoint has less outputs than the minimum required.\"}],\"EntrypointNonZeroInput(uint256,uint256)\":[{\"notice\":\"Thrown when some entrypoint has non-zero inputs. This is not allowed as only internal dispatches can have source level inputs.\"}],\"ExcessLHSItems(uint256)\":[{\"notice\":\"Encountered too many LHS items.\"}],\"ExcessRHSItems(uint256)\":[{\"notice\":\"Encountered too many RHS items.\"}],\"ExpectedLeftParen(uint256)\":[{\"notice\":\"More specific version of UnexpectedRHSChar where we specifically expected a left paren but got some other char.\"}],\"HexLiteralOverflow(uint256)\":[{\"notice\":\"Encountered a literal that is larger than supported.\"}],\"MalformedCommentStart(uint256)\":[{\"notice\":\"Encountered a comment start sequence that is malformed.\"}],\"MalformedExponentDigits(uint256)\":[{\"notice\":\"Encountered a decimal literal with an exponent that has too many or no digits.\"}],\"MalformedHexLiteral(uint256)\":[{\"notice\":\"Encountered a hex literal with an invalid character.\"}],\"MaxSources()\":[{\"notice\":\"The parser exceeded the maximum number of sources that it can build.\"}],\"MissingFinalSemi(uint256)\":[{\"notice\":\"The expression does not finish with a semicolon (EOF).\"}],\"NotAcceptingInputs(uint256)\":[{\"notice\":\"Encountered inputs where they can't be handled.\"}],\"OddLengthHexLiteral(uint256)\":[{\"notice\":\"Encountered an odd sized hex literal.\"}],\"OutOfBoundsConstantRead(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when a constant read index is outside the constants array.\"}],\"OutOfBoundsStackRead(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when a stack read index is outside the current stack top.\"}],\"ParenOverflow()\":[{\"notice\":\"The parser encountered a paren group deeper than it can process in the memory region allocated for paren tracking.\"}],\"ParserOutOfBounds()\":[{\"notice\":\"The parser moved past the end of the data.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"StackAllocationMismatch(uint256,uint256)\":[{\"notice\":\"The bytecode stack allocation does not match the allocation calculated by the integrity check.\"}],\"StackOutputsMismatch(uint256,uint256)\":[{\"notice\":\"The final stack index does not match the bytecode outputs.\"}],\"StackOverflow()\":[{\"notice\":\"The parser encountered a stack deeper than it can process in the memory region allocated for stack names.\"}],\"StackUnderflow()\":[{\"notice\":\"The parser encountered a stack underflow.\"}],\"StackUnderflow(uint256,uint256,uint256)\":[{\"notice\":\"The stack underflowed during integrity check.\"}],\"StackUnderflowHighwater(uint256,uint256,uint256)\":[{\"notice\":\"The stack underflowed the highwater during integrity check.\"}],\"UnclosedLeftParen(uint256)\":[{\"notice\":\"Encountered an unclosed left paren.\"}],\"UnexpectedComment(uint256)\":[{\"notice\":\"Encountered a comment outside the interstitial space between lines.\"}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown interpreter bytecode.\"}],\"UnexpectedLHSChar(uint256)\":[{\"notice\":\"Enountered an unexpected character on the LHS.\"}],\"UnexpectedOpMetaHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown opMeta.\"}],\"UnexpectedRHSChar(uint256)\":[{\"notice\":\"Encountered an unexpected character on the RHS.\"}],\"UnexpectedRightParen(uint256)\":[{\"notice\":\"Encountered a right paren without a matching left paren.\"}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\"}],\"UnknownWord(uint256)\":[{\"notice\":\"Parsed a word that is not in the meta.\"}],\"UnsupportedLiteralType(uint256)\":[{\"notice\":\"The parser tried to bound an unsupported literal that we have no type for.\"}],\"WordSize(string)\":[{\"notice\":\"Encountered a word that is longer than 32 bytes.\"}],\"WriteError()\":[{\"notice\":\"Thrown if writing the data by creating the contract fails somehow.\"}],\"ZeroLengthDecimal(uint256)\":[{\"notice\":\"Encountered a zero length decimal literal.\"}],\"ZeroLengthHexLiteral(uint256)\":[{\"notice\":\"Encountered a zero length hex literal.\"}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"notice\":\"This is the literal InterpreterOpMeta bytes to be used offchain to make sense of the opcodes in this interpreter deployment, as a human. For formats like json that make heavy use of boilerplate, repetition and whitespace, some kind of compression is recommended.\"},\"ExpressionAddress(address,address)\":{\"notice\":\"The address of the deployed expression. Will only be emitted once the expression can be loaded and deserialized into an evaluable interpreter state.\"},\"NewExpression(address,bytes,uint256[],uint256[])\":{\"notice\":\"The config of the deployed expression including uncompiled sources. Will only be emitted after the config passes the integrity check.\"}},\"kind\":\"user\",\"methods\":{\"authoringMetaHash()\":{\"notice\":\"Returns the bytes of the authoring meta hash. Authoring meta is the data used by the authoring tool to give authors a better experience when writing Rainlang strings. The authoring meta is also used to generate the parse meta. As the authoring meta can be quite large, including potentially hundreds of long string descriptions of individual words, only the hash is required to be reported by the parser. This hash MUST NOT be modified after deployment. There MUST be a one-to-one mapping between authoring meta and parse meta that can be verified externally in a deterministic way.\"},\"buildParseMeta(bytes)\":{\"notice\":\"Builds the parse meta from authoring meta. MUST be deterministic and MUST NOT have side effects. The only input is the authoring meta. The hash of the provided authoring meta MUST match the authoring meta hash returned by `authoringMetaHash` and MUST determine the parse meta returned by `parseMeta`. Implementations are free to define their own data structures for authoring meta, which is why this function takes `bytes`. This function is likely very gas intensive, so it is STRONGLY RECOMMENDED to use a tool to generate the authoring meta offchain then call this and cross reference it against the return value of `parseMeta`, but then always use `parseMeta` directly onchain.\"},\"deployExpression(bytes,uint256[],uint256[])\":{\"notice\":\"Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter.\"},\"iInterpreter()\":{\"notice\":\"The interpreter with known bytecode that this deployer is constructed for.\"},\"iStore()\":{\"notice\":\"The store with known bytecode that this deployer is constructed for.\"},\"integrityCheck(bytes,uint256[],uint256[])\":{\"notice\":\"Drives an integrity check of the provided bytecode and constants. Unlike `IDebugExpressionDeployerV1` this version ONLY checks the integrity of bytecode as produced by `IParserV1.parse`. There is an eval debug method on `IDebugInterpreterV2` that can be used to check the runtime outputs of bytecode that passes the integrity check. Integrity check MUST revert with a descriptive error if the bytecode fails the integrity check.\"},\"integrityFunctionPointers()\":{\"notice\":\"Defines all the function pointers to integrity checks. This is the expression deployer's equivalent of the opcode function pointers and follows a near identical dispatch process. These are never compiled into source and are instead indexed into directly by the integrity check. The indexing into integrity pointers (which has an out of bounds check) is a proxy for enforcing that all opcode pointers exist at runtime, so the length of the integrity pointers MUST match the length of opcode function pointers. This function is `virtual` so that it can be overridden pairwise with overrides to `functionPointers` on `Rainterpreter`.\"},\"parse(bytes)\":{\"notice\":\"Parses a Rainlang string into an evaluable expression. MUST be deterministic and MUST NOT have side effects. The only inputs are the Rainlang string and the parse meta. MAY revert if the Rainlang string is invalid. This function takes `bytes` instead of `string` to allow for definitions of \\\"string\\\" other than UTF-8.\"},\"parseMeta()\":{\"notice\":\"Returns the bytes of the parse meta. Parse meta is the data used by the parser to convert a Rainlang string into an evaluable expression. These bytes MUST NOT be modified after deployment. The function is marked `external` so that it can be externally verified against the authoring meta, but is likely to be `public` in practice so that it can also be used internally by `parse`. The bytes returned MUST be identical to the bytes returned by `buildParseMeta` when provided with the correct authoring meta as defined by `authoringMetaHash`.\"}},\"notice\":\"!!!EXPERIMENTAL!!! This is the deployer for the RainterpreterNP interpreter. Notably includes onchain parsing/compiling of expressions from Rainlang strings.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol\":\"RainterpreterExpressionDeployerNP\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.datacontract/src/lib/LibDataContract.sol\":{\"keccak256\":\"0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670\",\"dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu\"]},\"lib/rain.erc1820/src/interface/IERC1820Registry.sol\":{\"keccak256\":\"0xbfcb68f1a27e3b04f9acfd4164ad5373afc27659033307c8f697b958ce4cd16e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d280c893633b3f28a4db8416224d626c7d3badf009e3e6da318b81f09eac7f44\",\"dweb:/ipfs/QmUWZBQoCCLdAF4ExnxnxMKA4VuEYqTNhLHwaAo3SJevDP\"]},\"lib/rain.erc1820/src/lib/LibIERC1820.sol\":{\"keccak256\":\"0xc0dabba14979d7b6f03d2cded0719735356ed00b48beba3dd8b59e366089e771\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a8046398a515f49a2095fea84bfa3418b5e0b122eaa2b150876334cb8a931ab1\",\"dweb:/ipfs/QmQUKdvALy6L412JEEZBt4TzqLHrZ1JuWkpYyk8ut83DT8\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol\":{\"keccak256\":\"0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670\",\"dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol\":{\"keccak256\":\"0xa0e411219229a2b03f91d3f064af3111919653ac6a841c3cc0e3bc477005ab87\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f673ffce962c9baac3b041c61314f4043e815e6545356b1a99565dd5c23c9b31\",\"dweb:/ipfs/QmVidF523LQcTYBjsfHnwfXrnYxCx185VVSwNzhYNzNf7T\"]},\"lib/rain.interpreter/src/concrete/RainterpreterNP.sol\":{\"keccak256\":\"0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239\",\"dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol\":{\"keccak256\":\"0x7327252801a367fc09798816188475020c6d0af6ef1b541cde1f3b95c6071ec1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://073361ed02299d387bc78ce2fab7c8fcf6f04095b7737db5c5225c8af24ceb47\",\"dweb:/ipfs/Qmf5DfWuNZXTMzKqoXjTJPMudMUK88GVqeTALaokkSc7o2\"]},\"lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol\":{\"keccak256\":\"0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30\",\"dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/interface/unstable/IParserV1.sol\":{\"keccak256\":\"0x9714ffc0595336863f994cc661f00fdb6b162676beceb2a004782b4a72082ed4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://74fefdee4bcf63af1e4d9b5baef85abbb445d49e51b3f6604bb7f25bd6f45f72\",\"dweb:/ipfs/QmUJvW9YFZeZtJiG4ujdh6mBjVpTMpGA8GrSP47quawEAF\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/eval/LibEvalNP.sol\":{\"keccak256\":\"0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36\",\"dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol\":{\"keccak256\":\"0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce\",\"dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.lib.typecast/src/LibCast.sol\":{\"keccak256\":\"0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378\",\"dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "address", + "name": "store", + "type": "address" + }, + { + "internalType": "bytes", + "name": "authoringMeta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "type": "error", + "name": "AuthoringMetaHashMismatch" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "type": "error", + "name": "BadDynamicLength" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "calculatedInputs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bytecodeInputs", + "type": "uint256" + } + ], + "type": "error", + "name": "BadOpInputsLength" + }, + { + "inputs": [], + "type": "error", + "name": "DanglingSource" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "DecimalLiteralOverflow" + }, + { + "inputs": [], + "type": "error", + "name": "DuplicateFingerprint" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "errorOffset", + "type": "uint256" + } + ], + "type": "error", + "name": "DuplicateLHSItem" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "entrypointIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minOutputs", + "type": "uint256" + } + ], + "type": "error", + "name": "EntrypointMinOutputs" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expectedEntrypoints", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualEntrypoints", + "type": "uint256" + } + ], + "type": "error", + "name": "EntrypointMissing" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "entrypointIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "inputsLength", + "type": "uint256" + } + ], + "type": "error", + "name": "EntrypointNonZeroInput" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "ExcessLHSItems" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "ExcessRHSItems" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "ExpectedLeftParen" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "ExpectedOperand" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "HexLiteralOverflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "MalformedCommentStart" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "MalformedExponentDigits" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "MalformedHexLiteral" + }, + { + "inputs": [], + "type": "error", + "name": "MaxSources" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "MissingFinalSemi" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "NotAcceptingInputs" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "OddLengthHexLiteral" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "OperandOverflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "constantRead", + "type": "uint256" + } + ], + "type": "error", + "name": "OutOfBoundsConstantRead" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackTopIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackRead", + "type": "uint256" + } + ], + "type": "error", + "name": "OutOfBoundsStackRead" + }, + { + "inputs": [], + "type": "error", + "name": "ParenOverflow" + }, + { + "inputs": [], + "type": "error", + "name": "ParserOutOfBounds" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "SourceOffsetOutOfBounds" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackMaxIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bytecodeAllocation", + "type": "uint256" + } + ], + "type": "error", + "name": "StackAllocationMismatch" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "stackIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bytecodeOutputs", + "type": "uint256" + } + ], + "type": "error", + "name": "StackOutputsMismatch" + }, + { + "inputs": [], + "type": "error", + "name": "StackOverflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "calculatedInputs", + "type": "uint256" + } + ], + "type": "error", + "name": "StackUnderflow" + }, + { + "inputs": [], + "type": "error", + "name": "StackUnderflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stackHighwater", + "type": "uint256" + } + ], + "type": "error", + "name": "StackUnderflowHighwater" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnclosedLeftParen" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnclosedOperand" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnexpectedComment" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedInterpreterBytecodeHash" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnexpectedLHSChar" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualOpMeta", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedOpMetaHash" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnexpectedOperand" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "actualPointers", + "type": "bytes" + } + ], + "type": "error", + "name": "UnexpectedPointers" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnexpectedRHSChar" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnexpectedRightParen" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "actualBytecodeHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedStoreBytecodeHash" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnknownWord" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "UnsupportedLiteralType" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "word", + "type": "string" + } + ], + "type": "error", + "name": "WordSize" + }, + { + "inputs": [], + "type": "error", + "name": "WriteError" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroLengthDecimal" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroLengthHexLiteral" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "deployer", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "interpreter", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "store", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes", + "name": "opMeta", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "DISpair", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "expression", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "ExpressionAddress", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes", + "indexed": false + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]", + "indexed": false + }, + { + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]", + "indexed": false + } + ], + "type": "event", + "name": "NewExpression", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "authoringMetaHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "authoringMeta", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function", + "name": "buildParseMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deployExpression", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "iInterpreter", + "outputs": [ + { + "internalType": "contract IInterpreterV1", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "iStore", + "outputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "minOutputs", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "name": "integrityCheck" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "integrityFunctionPointers", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function", + "name": "parse", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "parseMeta", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId_", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "authoringMetaHash()": { + "returns": { + "_0": "The authoring meta hash." + } + }, + "buildParseMeta(bytes)": { + "params": { + "authoringMeta": "The authoring meta bytes." + }, + "returns": { + "_0": "The built parse meta bytes." + } + }, + "deployExpression(bytes,uint256[],uint256[])": { + "params": { + "bytecode": "Bytecode verbatim. Exactly how the bytecode is structured is up to the deployer and interpreter. The deployer MUST NOT modify the bytecode in any way. The interpreter MUST NOT assume anything about the bytecode other than that it is valid according to the interpreter's integrity checks. It is assumed that the bytecode will be produced from a human friendly string via. `IParserV1.parse` but this is not required if the caller has some other means to prooduce valid bytecode.", + "constants": "Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.", + "minOutputs": "The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified." + }, + "returns": { + "_0": "The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.", + "_1": "The interpreter store the deployer believes is compatible with the interpreter.", + "_2": "The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of." + } + }, + "integrityCheck(bytes,uint256[],uint256[])": { + "params": { + "bytecode": "The bytecode to check.", + "constants": "The constants to check.", + "minOutputs": "The minimum number of outputs expected from each of the sources. Only applies to sources that are entrypoints. Internal sources have their integrity checked implicitly by the use of opcodes such as `call` that have min/max outputs in their operand." + } + }, + "integrityFunctionPointers()": { + "returns": { + "_0": "The list of integrity function pointers." + } + }, + "parse(bytes)": { + "params": { + "data": "The Rainlang bytes to parse." + }, + "returns": { + "_0": "The expressions that can be evaluated.", + "_1": "The constants that can be referenced by sources." + } + }, + "parseMeta()": { + "returns": { + "_0": "The parse meta bytes." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "authoringMetaHash()": { + "notice": "Returns the bytes of the authoring meta hash. Authoring meta is the data used by the authoring tool to give authors a better experience when writing Rainlang strings. The authoring meta is also used to generate the parse meta. As the authoring meta can be quite large, including potentially hundreds of long string descriptions of individual words, only the hash is required to be reported by the parser. This hash MUST NOT be modified after deployment. There MUST be a one-to-one mapping between authoring meta and parse meta that can be verified externally in a deterministic way." + }, + "buildParseMeta(bytes)": { + "notice": "Builds the parse meta from authoring meta. MUST be deterministic and MUST NOT have side effects. The only input is the authoring meta. The hash of the provided authoring meta MUST match the authoring meta hash returned by `authoringMetaHash` and MUST determine the parse meta returned by `parseMeta`. Implementations are free to define their own data structures for authoring meta, which is why this function takes `bytes`. This function is likely very gas intensive, so it is STRONGLY RECOMMENDED to use a tool to generate the authoring meta offchain then call this and cross reference it against the return value of `parseMeta`, but then always use `parseMeta` directly onchain." + }, + "deployExpression(bytes,uint256[],uint256[])": { + "notice": "Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter." + }, + "iInterpreter()": { + "notice": "The interpreter with known bytecode that this deployer is constructed for." + }, + "iStore()": { + "notice": "The store with known bytecode that this deployer is constructed for." + }, + "integrityCheck(bytes,uint256[],uint256[])": { + "notice": "Drives an integrity check of the provided bytecode and constants. Unlike `IDebugExpressionDeployerV1` this version ONLY checks the integrity of bytecode as produced by `IParserV1.parse`. There is an eval debug method on `IDebugInterpreterV2` that can be used to check the runtime outputs of bytecode that passes the integrity check. Integrity check MUST revert with a descriptive error if the bytecode fails the integrity check." + }, + "integrityFunctionPointers()": { + "notice": "Defines all the function pointers to integrity checks. This is the expression deployer's equivalent of the opcode function pointers and follows a near identical dispatch process. These are never compiled into source and are instead indexed into directly by the integrity check. The indexing into integrity pointers (which has an out of bounds check) is a proxy for enforcing that all opcode pointers exist at runtime, so the length of the integrity pointers MUST match the length of opcode function pointers. This function is `virtual` so that it can be overridden pairwise with overrides to `functionPointers` on `Rainterpreter`." + }, + "parse(bytes)": { + "notice": "Parses a Rainlang string into an evaluable expression. MUST be deterministic and MUST NOT have side effects. The only inputs are the Rainlang string and the parse meta. MAY revert if the Rainlang string is invalid. This function takes `bytes` instead of `string` to allow for definitions of \"string\" other than UTF-8." + }, + "parseMeta()": { + "notice": "Returns the bytes of the parse meta. Parse meta is the data used by the parser to convert a Rainlang string into an evaluable expression. These bytes MUST NOT be modified after deployment. The function is marked `external` so that it can be externally verified against the authoring meta, but is likely to be `public` in practice so that it can also be used internally by `parse`. The bytes returned MUST be identical to the bytes returned by `buildParseMeta` when provided with the correct authoring meta as defined by `authoringMetaHash`." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol": "RainterpreterExpressionDeployerNP" + }, + "libraries": {} + }, + "sources": { + "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": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/rain.datacontract/src/lib/LibDataContract.sol": { + "keccak256": "0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900", + "urls": [ + "bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670", + "dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu" + ], + "license": "CAL" + }, + "lib/rain.erc1820/src/interface/IERC1820Registry.sol": { + "keccak256": "0xbfcb68f1a27e3b04f9acfd4164ad5373afc27659033307c8f697b958ce4cd16e", + "urls": [ + "bzz-raw://d280c893633b3f28a4db8416224d626c7d3badf009e3e6da318b81f09eac7f44", + "dweb:/ipfs/QmUWZBQoCCLdAF4ExnxnxMKA4VuEYqTNhLHwaAo3SJevDP" + ], + "license": "MIT" + }, + "lib/rain.erc1820/src/lib/LibIERC1820.sol": { + "keccak256": "0xc0dabba14979d7b6f03d2cded0719735356ed00b48beba3dd8b59e366089e771", + "urls": [ + "bzz-raw://a8046398a515f49a2095fea84bfa3418b5e0b122eaa2b150876334cb8a931ab1", + "dweb:/ipfs/QmQUKdvALy6L412JEEZBt4TzqLHrZ1JuWkpYyk8ut83DT8" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/prb-math/src/Common.sol": { + "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", + "urls": [ + "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", + "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { + "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", + "urls": [ + "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", + "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { + "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", + "urls": [ + "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", + "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { + "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", + "urls": [ + "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", + "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { + "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", + "urls": [ + "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", + "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { + "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", + "urls": [ + "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", + "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { + "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", + "urls": [ + "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", + "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { + "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", + "urls": [ + "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", + "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { + "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", + "urls": [ + "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", + "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { + "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", + "urls": [ + "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", + "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { + "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", + "urls": [ + "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", + "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { + "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", + "urls": [ + "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", + "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { + "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", + "urls": [ + "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", + "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { + "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", + "urls": [ + "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", + "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { + "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", + "urls": [ + "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", + "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { + "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", + "urls": [ + "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", + "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { + "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", + "urls": [ + "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", + "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { + "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", + "urls": [ + "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", + "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { + "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", + "urls": [ + "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", + "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { + "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", + "urls": [ + "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", + "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { + "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", + "urls": [ + "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", + "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { + "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", + "urls": [ + "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", + "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { + "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", + "urls": [ + "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", + "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol": { + "keccak256": "0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900", + "urls": [ + "bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670", + "dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { + "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", + "urls": [ + "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", + "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", + "urls": [ + "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", + "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { + "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", + "urls": [ + "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", + "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" + ], + "license": null + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { + "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", + "urls": [ + "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", + "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" + ], + "license": null + }, + "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol": { + "keccak256": "0xa0e411219229a2b03f91d3f064af3111919653ac6a841c3cc0e3bc477005ab87", + "urls": [ + "bzz-raw://f673ffce962c9baac3b041c61314f4043e815e6545356b1a99565dd5c23c9b31", + "dweb:/ipfs/QmVidF523LQcTYBjsfHnwfXrnYxCx185VVSwNzhYNzNf7T" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/concrete/RainterpreterNP.sol": { + "keccak256": "0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078", + "urls": [ + "bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239", + "dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol": { + "keccak256": "0x7327252801a367fc09798816188475020c6d0af6ef1b541cde1f3b95c6071ec1", + "urls": [ + "bzz-raw://073361ed02299d387bc78ce2fab7c8fcf6f04095b7737db5c5225c8af24ceb47", + "dweb:/ipfs/Qmf5DfWuNZXTMzKqoXjTJPMudMUK88GVqeTALaokkSc7o2" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol": { + "keccak256": "0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026", + "urls": [ + "bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30", + "dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { + "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", + "urls": [ + "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", + "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IParserV1.sol": { + "keccak256": "0x9714ffc0595336863f994cc661f00fdb6b162676beceb2a004782b4a72082ed4", + "urls": [ + "bzz-raw://74fefdee4bcf63af1e4d9b5baef85abbb445d49e51b3f6604bb7f25bd6f45f72", + "dweb:/ipfs/QmUJvW9YFZeZtJiG4ujdh6mBjVpTMpGA8GrSP47quawEAF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { + "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", + "urls": [ + "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", + "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol": { + "keccak256": "0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e", + "urls": [ + "bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36", + "dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { + "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", + "urls": [ + "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", + "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { + "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", + "urls": [ + "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", + "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { + "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", + "urls": [ + "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", + "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { + "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", + "urls": [ + "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", + "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { + "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", + "urls": [ + "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", + "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { + "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", + "urls": [ + "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", + "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { + "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", + "urls": [ + "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", + "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { + "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", + "urls": [ + "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", + "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { + "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", + "urls": [ + "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", + "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { + "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", + "urls": [ + "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", + "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { + "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", + "urls": [ + "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", + "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { + "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", + "urls": [ + "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", + "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { + "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", + "urls": [ + "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", + "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { + "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", + "urls": [ + "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", + "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { + "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", + "urls": [ + "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", + "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { + "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", + "urls": [ + "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", + "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { + "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", + "urls": [ + "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", + "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { + "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", + "urls": [ + "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", + "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { + "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", + "urls": [ + "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", + "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { + "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", + "urls": [ + "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", + "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { + "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", + "urls": [ + "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", + "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { + "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", + "urls": [ + "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", + "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { + "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", + "urls": [ + "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", + "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { + "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", + "urls": [ + "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", + "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { + "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", + "urls": [ + "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", + "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { + "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", + "urls": [ + "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", + "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { + "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", + "urls": [ + "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", + "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { + "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", + "urls": [ + "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", + "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { + "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", + "urls": [ + "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", + "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { + "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", + "urls": [ + "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", + "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { + "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", + "urls": [ + "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", + "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { + "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", + "urls": [ + "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", + "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { + "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", + "urls": [ + "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", + "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { + "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", + "urls": [ + "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", + "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { + "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", + "urls": [ + "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", + "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { + "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", + "urls": [ + "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", + "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { + "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", + "urls": [ + "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", + "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { + "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", + "urls": [ + "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", + "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { + "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", + "urls": [ + "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", + "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { + "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", + "urls": [ + "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", + "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParse.sol": { + "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", + "urls": [ + "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", + "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { + "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", + "urls": [ + "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", + "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { + "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", + "urls": [ + "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", + "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { + "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", + "urls": [ + "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", + "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { + "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", + "urls": [ + "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", + "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { + "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", + "urls": [ + "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", + "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol": { + "keccak256": "0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231", + "urls": [ + "bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce", + "dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { + "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", + "urls": [ + "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", + "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { + "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", + "urls": [ + "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", + "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { + "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", + "urls": [ + "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", + "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" + ], + "license": "CAL" + }, + "lib/rain.lib.typecast/src/LibCast.sol": { + "keccak256": "0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369", + "urls": [ + "bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378", + "dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { + "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", + "urls": [ + "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", + "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { + "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", + "urls": [ + "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", + "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemory.sol": { + "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", + "urls": [ + "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", + "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibStackPointer.sol": { + "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", + "urls": [ + "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", + "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol", + "id": 55343, + "exportedSymbols": { + "ALL_STANDARD_OPS_LENGTH": [57789], + "AUTHORING_META_HASH": [54936], + "AuthoringMeta": [68390], + "AuthoringMetaHashMismatch": [55986], + "B_1": [54321], + "B_11": [54329], + "B_111": [54337], + "B_1111": [54345], + "B_11111": [54353], + "B_111111": [54361], + "B_1111111": [54369], + "B_11111111": [54377], + "B_111111111": [54385], + "B_1111111111": [54393], + "B_11111111111": [54401], + "B_111111111111": [54409], + "B_1111111111111": [54417], + "B_11111111111111": [54425], + "B_111111111111111": [54433], + "B_1111111111111111": [54441], + "BadDynamicLength": [57785], + "BadOpInputsLength": [57137], + "Casting": [53375], + "CastingErrors": [51588], + "Common": [52619], + "DEFAULT_STATE_NAMESPACE": [55824], + "DataContractMemoryContainer": [53466], + "E": [51901], + "ERC165": [45446], + "EXP2_MAX_INPUT": [51925], + "EXP_MAX_INPUT": [51912], + "EncodedDispatch": [55812], + "EnsureFailed": [59227], + "EntrypointMinOutputs": [57128], + "EntrypointMissing": [57112], + "EntrypointNonZeroInput": [57119], + "Errors": [52620], + "FIXED_POINT_DECIMALS": [70773], + "FIXED_POINT_ONE": [70777], + "FLAG_MAX_INT": [70793], + "FLAG_ROUND_UP": [70781], + "FLAG_SATURATE": [70787], + "FullyQualifiedNamespace": [55773], + "HALF_UNIT": [51936], + "Helpers": [53376], + "IDebugExpressionDeployerV2": [55901], + "IDebugInterpreterV2": [55935], + "IERC165": [45458], + "IERC1820Registry": [46519], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [55941], + "IERC1820_REGISTRY": [46529], + "IExpressionDeployerV2": [55976], + "IInterpreterStoreV1": [55805], + "IInterpreterV1": [55855], + "INTEGRITY_FUNCTION_POINTERS": [54915], + "INTERPRETER_BYTECODE_HASH": [54922], + "IParserV1": [56018], + "IUniswapV2Factory": [54568], + "IUniswapV2Pair": [54810], + "IntegrityCheckStateNP": [57182], + "InterpreterStateNP": [70213], + "LOG2_10": [51947], + "LOG2_E": [51958], + "LibAllStandardOpsNP": [58346], + "LibBytecode": [56300], + "LibBytes": [71664], + "LibConvert": [53753], + "LibDataContract": [53573], + "LibFixedPointDecimalScale": [71254], + "LibIntegrityCheckNP": [57500], + "LibInterpreterStateDataContractNP": [70181], + "LibInterpreterStateNP": [70258], + "LibMemCpy": [71696], + "LibMemory": [71707], + "LibMemoryKV": [70767], + "LibNamespace": [57518], + "LibOpAnyNP": [59029], + "LibOpBlockNumberNP": [58658], + "LibOpChainIdNP": [58737], + "LibOpConditionsNP": [59215], + "LibOpConstantNP": [57638], + "LibOpContextNP": [58489], + "LibOpDecimal18DivNP": [60324], + "LibOpDecimal18MulNP": [60545], + "LibOpDecimal18Scale18DynamicNP": [60656], + "LibOpDecimal18Scale18NP": [60773], + "LibOpDecimal18ScaleNNP": [60890], + "LibOpEnsureNP": [59384], + "LibOpEqualToNP": [59468], + "LibOpEveryNP": [59595], + "LibOpGetNP": [62432], + "LibOpGreaterThanNP": [59679], + "LibOpGreaterThanOrEqualToNP": [59763], + "LibOpHashNP": [58579], + "LibOpIfNP": [59849], + "LibOpIntAddNP": [61053], + "LibOpIntDivNP": [61216], + "LibOpIntExpNP": [61385], + "LibOpIntMaxNP": [61565], + "LibOpIntMinNP": [61745], + "LibOpIntModNP": [61908], + "LibOpIntMulNP": [62071], + "LibOpIntSubNP": [62234], + "LibOpIsZeroNP": [59931], + "LibOpLessThanNP": [60015], + "LibOpLessThanOrEqualToNP": [60099], + "LibOpMaxUint256NP": [58827], + "LibOpSetNP": [62555], + "LibOpStackNP": [57729], + "LibOpTimestampNP": [58906], + "LibOpUniswapV2AmountIn": [62762], + "LibOpUniswapV2AmountOut": [62969], + "LibParse": [65022], + "LibParseMeta": [69086], + "LibPointer": [71831], + "LibStackPointer": [71994], + "LibUint256Array": [72222], + "LibUniswapV2": [70629], + "LibWillOverflow": [71473], + "MASK_10BIT": [54481], + "MASK_11BIT": [54485], + "MASK_12BIT": [54489], + "MASK_13BIT": [54493], + "MASK_14BIT": [54497], + "MASK_15BIT": [54501], + "MASK_16BIT": [54505], + "MASK_1BIT": [54445], + "MASK_2BIT": [54449], + "MASK_3BIT": [54453], + "MASK_4BIT": [54457], + "MASK_5BIT": [54461], + "MASK_6BIT": [54465], + "MASK_7BIT": [54469], + "MASK_8BIT": [54473], + "MASK_9BIT": [54477], + "MAX_UD60x18": [51969], + "MAX_UINT128": [46622], + "MAX_UINT40": [46630], + "MAX_WHOLE_UD60x18": [51980], + "Math": [53377], + "MemoryKV": [70680], + "MemoryKVKey": [70682], + "MemoryKVVal": [70684], + "NO_STORE": [55782], + "NoConditionsMet": [59039], + "OPCODE_FUNCTION_POINTERS": [55383], + "OPERAND_PARSER_OFFSET_8_M1_M1": [69107], + "OPERAND_PARSER_OFFSET_DISALLOWED": [69095], + "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [69101], + "OPERAND_PARSER_OFFSET_M1_M1": [69104], + "OPERAND_PARSER_OFFSET_SINGLE_FULL": [69098], + "OVERFLOW_RESCALE_OOMS": [70797], + "OZMath": [46324], + "Operand": [55816], + "OutOfBoundsConstantRead": [57531], + "OutOfBoundsStackRead": [57652], + "OutOfBoundsTruncate": [72004], + "PARSE_META": [54939], + "PI": [51988], + "PRBMath_UD60x18_Ceil_Overflow": [52087], + "PRBMath_UD60x18_Convert_Overflow": [52092], + "PRBMath_UD60x18_Exp2_InputTooBig": [52104], + "PRBMath_UD60x18_Exp_InputTooBig": [52098], + "PRBMath_UD60x18_Gm_Overflow": [52113], + "PRBMath_UD60x18_IntoSD1x18_Overflow": [52119], + "PRBMath_UD60x18_IntoSD59x18_Overflow": [52125], + "PRBMath_UD60x18_IntoUD2x18_Overflow": [52131], + "PRBMath_UD60x18_IntoUint128_Overflow": [52137], + "PRBMath_UD60x18_IntoUint40_Overflow": [52143], + "PRBMath_UD60x18_Log_InputTooSmall": [52149], + "PRBMath_UD60x18_Sqrt_Overflow": [52155], + "Pointer": [71711], + "RainterpreterExpressionDeployerConstructionConfig": [54946], + "RainterpreterExpressionDeployerNP": [55342], + "RainterpreterNP": [55567], + "SD1x18": [48719], + "SD59x18": [51204], + "STORE_BYTECODE_HASH": [54929], + "SourceIndex": [55810], + "SourceOffsetOutOfBounds": [56031], + "StackAllocationMismatch": [57162], + "StackOutputsMismatch": [57169], + "StackUnderflow": [57146], + "StackUnderflowHighwater": [57155], + "StateNamespace": [55814], + "TruncateError": [71596], + "UD2x18": [51575], + "UD60x18": [53379], + "UNIT": [51999], + "UNIT_SQUARED": [52010], + "UnalignedStackPointer": [71842], + "UnexpectedInterpreterBytecodeHash": [54901], + "UnexpectedOpMetaHash": [54911], + "UnexpectedPointers": [54896], + "UnexpectedStoreBytecodeHash": [54906], + "ZERO": [52018], + "add": [52187], + "and": [52210], + "and2": [52236], + "avg": [52680], + "ceil": [52709], + "convert": [52046, 52077], + "div": [52738], + "eq": [52259], + "exp": [52783], + "exp2": [52829], + "floor": [52841], + "frac": [52853], + "gm": [52920], + "gt": [52282], + "gte": [52305], + "intoSD1x18": [51653], + "intoSD59x18": [51734], + "intoUD2x18": [51692], + "intoUint128": [51786], + "intoUint256": [51751], + "intoUint40": [51821], + "inv": [52942], + "isZero": [52323], + "ln": [52968], + "log10": [53019], + "log2": [53123], + "lshift": [52346], + "lt": [52369], + "lte": [52392], + "mod": [52418], + "mul": [53151], + "neq": [52441], + "not": [52461], + "or": [52487], + "pow": [53258], + "powu": [53330], + "rshift": [52510], + "sqrt": [53372], + "sub": [52536], + "uEXP2_MAX_INPUT": [51918], + "uEXP_MAX_INPUT": [51905], + "uHALF_UNIT": [51929], + "uLOG2_10": [51940], + "uLOG2_E": [51951], + "uMAX_SD1x18": [48636], + "uMAX_SD59x18": [49199], + "uMAX_UD2x18": [51528], + "uMAX_UD60x18": [51962], + "uMAX_WHOLE_UD60x18": [51973], + "uUNIT": [51992], + "uUNIT_SQUARED": [52003], + "ud": [51838], + "ud60x18": [51855], + "uncheckedAdd": [52563], + "uncheckedSub": [52590], + "unwrap": [51872], + "wrap": [51889], + "xor": [52616] + }, + "nodeType": "SourceUnit", + "src": "32:11175:80", + "nodes": [ + { + "id": 54867, + "nodeType": "PragmaDirective", + "src": "32:24:80", + "nodes": [], + "literals": ["solidity", "=", "0.8", ".19"] + }, + { + "id": 54868, + "nodeType": "ImportDirective", + "src": "58:73:80", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", + "file": "openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 45447, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54870, + "nodeType": "ImportDirective", + "src": "133:55:80", + "nodes": [], + "absolutePath": "lib/rain.solmem/src/lib/LibPointer.sol", + "file": "rain.solmem/lib/LibPointer.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 71832, + "symbolAliases": [ + { + "foreign": { + "id": 54869, + "name": "Pointer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71711, + "src": "141:7:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 54872, + "nodeType": "ImportDirective", + "src": "189:68:80", + "nodes": [], + "absolutePath": "lib/rain.solmem/src/lib/LibStackPointer.sol", + "file": "rain.solmem/lib/LibStackPointer.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 71995, + "symbolAliases": [ + { + "foreign": { + "id": 54871, + "name": "LibStackPointer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71994, + "src": "197:15:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 54875, + "nodeType": "ImportDirective", + "src": "258:103:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol", + "file": "rain.datacontract/lib/LibDataContract.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 53574, + "symbolAliases": [ + { + "foreign": { + "id": 54873, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53573, + "src": "266:15:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 54874, + "name": "DataContractMemoryContainer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53466, + "src": "283:27:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 54876, + "nodeType": "ImportDirective", + "src": "362:42:80", + "nodes": [], + "absolutePath": "lib/rain.erc1820/src/lib/LibIERC1820.sol", + "file": "rain.erc1820/lib/LibIERC1820.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 46530, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54877, + "nodeType": "ImportDirective", + "src": "406:57:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol", + "file": "../interface/unstable/IExpressionDeployerV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 55977, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54878, + "nodeType": "ImportDirective", + "src": "464:62:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol", + "file": "../interface/unstable/IDebugExpressionDeployerV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 55902, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54879, + "nodeType": "ImportDirective", + "src": "527:55:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol", + "file": "../interface/unstable/IDebugInterpreterV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 55936, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54880, + "nodeType": "ImportDirective", + "src": "583:45:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IParserV1.sol", + "file": "../interface/unstable/IParserV1.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 56019, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54882, + "nodeType": "ImportDirective", + "src": "630:77:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol", + "file": "../lib/integrity/LibIntegrityCheckNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 57501, + "symbolAliases": [ + { + "foreign": { + "id": 54881, + "name": "LibIntegrityCheckNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57500, + "src": "638:19:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 54883, + "nodeType": "ImportDirective", + "src": "708:60:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol", + "file": "../lib/state/LibInterpreterStateDataContractNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 70182, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54884, + "nodeType": "ImportDirective", + "src": "769:43:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", + "file": "../lib/op/LibAllStandardOpsNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 58347, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 54888, + "nodeType": "ImportDirective", + "src": "813:80:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/parse/LibParse.sol", + "file": "../lib/parse/LibParse.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 65023, + "symbolAliases": [ + { + "foreign": { + "id": 54885, + "name": "LibParse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65022, + "src": "821:8:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 54886, + "name": "LibParseMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69086, + "src": "831:12:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 54887, + "name": "AuthoringMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68390, + "src": "845:13:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 54891, + "nodeType": "ImportDirective", + "src": "895:80:80", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterNP.sol", + "file": "./RainterpreterNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55343, + "sourceUnit": 55568, + "symbolAliases": [ + { + "foreign": { + "id": 54889, + "name": "RainterpreterNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55567, + "src": "903:15:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 54890, + "name": "OPCODE_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55383, + "src": "920:24:80", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 54896, + "nodeType": "ErrorDefinition", + "src": "1278:47:80", + "nodes": [], + "documentation": { + "id": 54892, + "nodeType": "StructuredDocumentation", + "src": "977:301:80", + "text": "@dev Thrown when the pointers known to the expression deployer DO NOT match\n the interpreter it is constructed for. This WILL cause undefined expression\n behaviour so MUST REVERT.\n @param actualPointers The actual function pointers found at the interpreter\n address upon construction." + }, + "errorSelector": "9835e402", + "name": "UnexpectedPointers", + "nameLocation": "1284:18:80", + "parameters": { + "id": 54895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54894, + "mutability": "mutable", + "name": "actualPointers", + "nameLocation": "1309:14:80", + "nodeType": "VariableDeclaration", + "scope": 54896, + "src": "1303:20:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 54893, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1303:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1302:22:80" + } + }, + { + "id": 54901, + "nodeType": "ErrorDefinition", + "src": "1548:68:80", + "nodes": [], + "documentation": { + "id": 54897, + "nodeType": "StructuredDocumentation", + "src": "1327:221:80", + "text": "Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown\n interpreter bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the interpreter\n address upon construction." + }, + "errorSelector": "1dd8527e", + "name": "UnexpectedInterpreterBytecodeHash", + "nameLocation": "1554:33:80", + "parameters": { + "id": 54900, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54899, + "mutability": "mutable", + "name": "actualBytecodeHash", + "nameLocation": "1596:18:80", + "nodeType": "VariableDeclaration", + "scope": 54901, + "src": "1588:26:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 54898, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1588:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1587:28:80" + } + }, + { + "id": 54906, + "nodeType": "ErrorDefinition", + "src": "1805:62:80", + "nodes": [], + "documentation": { + "id": 54902, + "nodeType": "StructuredDocumentation", + "src": "1618:187:80", + "text": "Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the store\n address upon construction." + }, + "errorSelector": "cc0415fd", + "name": "UnexpectedStoreBytecodeHash", + "nameLocation": "1811:27:80", + "parameters": { + "id": 54905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54904, + "mutability": "mutable", + "name": "actualBytecodeHash", + "nameLocation": "1847:18:80", + "nodeType": "VariableDeclaration", + "scope": 54906, + "src": "1839:26:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 54903, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1839:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1838:28:80" + } + }, + { + "id": 54911, + "nodeType": "ErrorDefinition", + "src": "1941:49:80", + "nodes": [], + "documentation": { + "id": 54907, + "nodeType": "StructuredDocumentation", + "src": "1869:72:80", + "text": "Thrown when the `Rainterpreter` is constructed with unknown opMeta." + }, + "errorSelector": "87a1fcae", + "name": "UnexpectedOpMetaHash", + "nameLocation": "1947:20:80", + "parameters": { + "id": 54910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54909, + "mutability": "mutable", + "name": "actualOpMeta", + "nameLocation": "1976:12:80", + "nodeType": "VariableDeclaration", + "scope": 54911, + "src": "1968:20:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 54908, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1968:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1967:22:80" + } + }, + { + "id": 54915, + "nodeType": "VariableDeclaration", + "src": "2052:218:80", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "INTEGRITY_FUNCTION_POINTERS", + "nameLocation": "2067:27:80", + "scope": 55343, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 54913, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2052:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "hexValue": "17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992", + "id": 54914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2101:169:80", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32c8f9c86d961a181141b6fef585ea8975b8d8dfbdbef9f175d1e6510b510f64", + "typeString": "literal_string hex\"17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992\"" + } + }, + "visibility": "internal" + }, + { + "id": 54922, + "nodeType": "VariableDeclaration", + "src": "2322:120:80", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "INTERPRETER_BYTECODE_HASH", + "nameLocation": "2339:25:80", + "scope": 55343, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 54917, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2322:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307861613866313862623230666332336534386233643531626362336564326130366231373462653537363932376434636330353534666435653738316637623139", + "id": 54920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2375:66:80", + "typeDescriptions": { + "typeIdentifier": "t_rational_77146014076314662511226012803245310965126228904674819886710070603201476786969_by_1", + "typeString": "int_const 7714...(69 digits omitted)...6969" + }, + "value": "0xaa8f18bb20fc23e48b3d51bcb3ed2a06b174be576927d4cc0554fd5e781f7b19" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_77146014076314662511226012803245310965126228904674819886710070603201476786969_by_1", + "typeString": "int_const 7714...(69 digits omitted)...6969" + } + ], + "id": 54919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2367:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 54918, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2367:7:80", + "typeDescriptions": {} + } + }, + "id": 54921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2367:75:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 54929, + "nodeType": "VariableDeclaration", + "src": "2488:114:80", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "STORE_BYTECODE_HASH", + "nameLocation": "2505:19:80", + "scope": 55343, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 54924, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2488:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307864363133303136383235306433393537616533346638303236633262646264376532316433356262323032653835343061396233616263626332333264646236", + "id": 54927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2535:66:80", + "typeDescriptions": { + "typeIdentifier": "t_rational_96828529400532591415779603569521449715482679285854575164354358232716072377782_by_1", + "typeString": "int_const 9682...(69 digits omitted)...7782" + }, + "value": "0xd6130168250d3957ae34f8026c2bdbd7e21d35bb202e8540a9b3abcbc232ddb6" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_96828529400532591415779603569521449715482679285854575164354358232716072377782_by_1", + "typeString": "int_const 9682...(69 digits omitted)...7782" + } + ], + "id": 54926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2527:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 54925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2527:7:80", + "typeDescriptions": {} + } + }, + "id": 54928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2527:75:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 54936, + "nodeType": "VariableDeclaration", + "src": "2648:114:80", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "AUTHORING_META_HASH", + "nameLocation": "2665:19:80", + "scope": 55343, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 54931, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2648:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307861346435353864653363616230353665666661373930343939656133313366663364393632643935353133363436363134613961323930373366343461656231", + "id": 54934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2695:66:80", + "typeDescriptions": { + "typeIdentifier": "t_rational_74556258937629252783860689474437880288159101062245074796335842249095000665777_by_1", + "typeString": "int_const 7455...(69 digits omitted)...5777" + }, + "value": "0xa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_74556258937629252783860689474437880288159101062245074796335842249095000665777_by_1", + "typeString": "int_const 7455...(69 digits omitted)...5777" + } + ], + "id": 54933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2687:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 54932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2687:7:80", + "typeDescriptions": {} + } + }, + "id": 54935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2687:75:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 54939, + "nodeType": "VariableDeclaration", + "src": "2765:515:80", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "PARSE_META", + "nameLocation": "2780:10:80", + "scope": 55343, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 54937, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2765:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "hexValue": "010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51", + "id": 54938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2797:483:80", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ad238e5af1bb631fe317fd072788f212e18660a468dbe38a1fee483610dae1c", + "typeString": "literal_string hex\"010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51\"" + } + }, + "visibility": "internal" + }, + { + "id": 54946, + "nodeType": "StructDefinition", + "src": "3572:129:80", + "nodes": [], + "canonicalName": "RainterpreterExpressionDeployerConstructionConfig", + "members": [ + { + "constant": false, + "id": 54941, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "3643:11:80", + "nodeType": "VariableDeclaration", + "scope": 54946, + "src": "3635:19:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3635:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 54943, + "mutability": "mutable", + "name": "store", + "nameLocation": "3668:5:80", + "nodeType": "VariableDeclaration", + "scope": 54946, + "src": "3660:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3660:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 54945, + "mutability": "mutable", + "name": "authoringMeta", + "nameLocation": "3685:13:80", + "nodeType": "VariableDeclaration", + "scope": 54946, + "src": "3679:19:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 54944, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3679:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "RainterpreterExpressionDeployerConstructionConfig", + "nameLocation": "3579:49:80", + "scope": 55343, + "visibility": "public" + }, + { + "id": 55342, + "nodeType": "ContractDefinition", + "src": "3924:7282:80", + "nodes": [ + { + "id": 54959, + "nodeType": "UsingForDirective", + "src": "4045:29:80", + "nodes": [], + "global": false, + "libraryName": { + "id": 54956, + "name": "LibPointer", + "nameLocations": ["4051:10:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71831, + "src": "4051:10:80" + }, + "typeName": { + "id": 54958, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54957, + "name": "Pointer", + "nameLocations": ["4066:7:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71711, + "src": "4066:7:80" + }, + "referencedDeclaration": 71711, + "src": "4066:7:80", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeString": "Pointer" + } + } + }, + { + "id": 54963, + "nodeType": "UsingForDirective", + "src": "4079:34:80", + "nodes": [], + "global": false, + "libraryName": { + "id": 54960, + "name": "LibStackPointer", + "nameLocations": ["4085:15:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71994, + "src": "4085:15:80" + }, + "typeName": { + "id": 54962, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54961, + "name": "Pointer", + "nameLocations": ["4105:7:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71711, + "src": "4105:7:80" + }, + "referencedDeclaration": 71711, + "src": "4105:7:80", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeString": "Pointer" + } + } + }, + { + "id": 54967, + "nodeType": "UsingForDirective", + "src": "4118:36:80", + "nodes": [], + "global": false, + "libraryName": { + "id": 54964, + "name": "LibUint256Array", + "nameLocations": ["4124:15:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72222, + "src": "4124:15:80" + }, + "typeName": { + "baseType": { + "id": 54965, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4144:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 54966, + "nodeType": "ArrayTypeName", + "src": "4144:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "id": 54980, + "nodeType": "EventDefinition", + "src": "4537:95:80", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 54968, + "nodeType": "StructuredDocumentation", + "src": "4160:372:80", + "text": "The config of the deployed expression including uncompiled sources. Will\n only be emitted after the config passes the integrity check.\n @param sender The caller of `deployExpression`.\n @param bytecode As per `IExpressionDeployerV2`.\n @param constants As per `IExpressionDeployerV2`.\n @param minOutputs As per `IExpressionDeployerV2`." + }, + "eventSelector": "4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf", + "name": "NewExpression", + "nameLocation": "4543:13:80", + "parameters": { + "id": 54979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54970, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4565:6:80", + "nodeType": "VariableDeclaration", + "scope": 54980, + "src": "4557:14:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4557:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 54972, + "indexed": false, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "4579:8:80", + "nodeType": "VariableDeclaration", + "scope": 54980, + "src": "4573:14:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 54971, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4573:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 54975, + "indexed": false, + "mutability": "mutable", + "name": "constants", + "nameLocation": "4599:9:80", + "nodeType": "VariableDeclaration", + "scope": 54980, + "src": "4589:19:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 54973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4589:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 54974, + "nodeType": "ArrayTypeName", + "src": "4589:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 54978, + "indexed": false, + "mutability": "mutable", + "name": "minOutputs", + "nameLocation": "4620:10:80", + "nodeType": "VariableDeclaration", + "scope": 54980, + "src": "4610:20:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 54976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4610:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 54977, + "nodeType": "ArrayTypeName", + "src": "4610:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4556:75:80" + } + }, + { + "id": 54987, + "nodeType": "EventDefinition", + "src": "4933:60:80", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 54981, + "nodeType": "StructuredDocumentation", + "src": "4638:290:80", + "text": "The address of the deployed expression. Will only be emitted once the\n expression can be loaded and deserialized into an evaluable interpreter\n state.\n @param sender The caller of `deployExpression`.\n @param expression The address of the deployed expression." + }, + "eventSelector": "ce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1", + "name": "ExpressionAddress", + "nameLocation": "4939:17:80", + "parameters": { + "id": 54986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54983, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4965:6:80", + "nodeType": "VariableDeclaration", + "scope": 54987, + "src": "4957:14:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4957:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 54985, + "indexed": false, + "mutability": "mutable", + "name": "expression", + "nameLocation": "4981:10:80", + "nodeType": "VariableDeclaration", + "scope": 54987, + "src": "4973:18:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4973:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4956:36:80" + } + }, + { + "id": 54991, + "nodeType": "VariableDeclaration", + "src": "5090:44:80", + "nodes": [], + "constant": false, + "documentation": { + "id": 54988, + "nodeType": "StructuredDocumentation", + "src": "4999:86:80", + "text": "The interpreter with known bytecode that this deployer is constructed\n for." + }, + "functionSelector": "f0cfdd37", + "mutability": "immutable", + "name": "iInterpreter", + "nameLocation": "5122:12:80", + "scope": 55342, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 54990, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54989, + "name": "IInterpreterV1", + "nameLocations": ["5090:14:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55855, + "src": "5090:14:80" + }, + "referencedDeclaration": 55855, + "src": "5090:14:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "public" + }, + { + "id": 54995, + "nodeType": "VariableDeclaration", + "src": "5217:43:80", + "nodes": [], + "constant": false, + "documentation": { + "id": 54992, + "nodeType": "StructuredDocumentation", + "src": "5140:72:80", + "text": "The store with known bytecode that this deployer is constructed for." + }, + "functionSelector": "c19423bc", + "mutability": "immutable", + "name": "iStore", + "nameLocation": "5254:6:80", + "scope": 55342, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 54994, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54993, + "name": "IInterpreterStoreV1", + "nameLocations": ["5217:19:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55805, + "src": "5217:19:80" + }, + "referencedDeclaration": 55805, + "src": "5217:19:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "public" + }, + { + "id": 55124, + "nodeType": "FunctionDefinition", + "src": "5267:2271:80", + "nodes": [], + "body": { + "id": 55123, + "nodeType": "Block", + "src": "5344:2194:80", + "nodes": [], + "statements": [ + { + "assignments": [55003], + "declarations": [ + { + "constant": false, + "id": 55003, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "5400:11:80", + "nodeType": "VariableDeclaration", + "scope": 55123, + "src": "5385:26:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 55002, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55001, + "name": "IInterpreterV1", + "nameLocations": ["5385:14:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55855, + "src": "5385:14:80" + }, + "referencedDeclaration": 55855, + "src": "5385:14:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + } + ], + "id": 55008, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 55005, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54998, + "src": "5429:6:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 55006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5436:11:80", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 54941, + "src": "5429:18:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 55004, + "name": "IInterpreterV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55855, + "src": "5414:14:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$55855_$", + "typeString": "type(contract IInterpreterV1)" + } + }, + "id": 55007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5414:34:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5385:63:80" + }, + { + "assignments": [55011], + "declarations": [ + { + "constant": false, + "id": 55011, + "mutability": "mutable", + "name": "store", + "nameLocation": "5478:5:80", + "nodeType": "VariableDeclaration", + "scope": 55123, + "src": "5458:25:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 55010, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55009, + "name": "IInterpreterStoreV1", + "nameLocations": ["5458:19:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55805, + "src": "5458:19:80" + }, + "referencedDeclaration": 55805, + "src": "5458:19:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + } + ], + "id": 55016, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 55013, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54998, + "src": "5506:6:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 55014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5513:5:80", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 54943, + "src": "5506:12:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 55012, + "name": "IInterpreterStoreV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55805, + "src": "5486:19:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$55805_$", + "typeString": "type(contract IInterpreterStoreV1)" + } + }, + "id": 55015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5486:33:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5458:61:80" + }, + { + "expression": { + "id": 55019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 55017, + "name": "iInterpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54991, + "src": "5529:12:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 55018, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55003, + "src": "5544:11:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "src": "5529:26:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "id": 55020, + "nodeType": "ExpressionStatement", + "src": "5529:26:80" + }, + { + "expression": { + "id": 55023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 55021, + "name": "iStore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54995, + "src": "5565:6:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 55022, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55011, + "src": "5574:5:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "src": "5565:14:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 55024, + "nodeType": "ExpressionStatement", + "src": "5565:14:80" + }, + { + "assignments": [55026], + "declarations": [ + { + "constant": false, + "id": 55026, + "mutability": "mutable", + "name": "functionPointers", + "nameLocation": "5749:16:80", + "nodeType": "VariableDeclaration", + "scope": 55123, + "src": "5736:29:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55025, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5736:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 55030, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 55027, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55003, + "src": "5768:11:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "id": 55028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5780:16:80", + "memberName": "functionPointers", + "nodeType": "MemberAccess", + "referencedDeclaration": 55831, + "src": "5768:28:80", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () view external returns (bytes memory)" + } + }, + "id": 55029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5768:30:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5736:62:80" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 55037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 55032, + "name": "functionPointers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55026, + "src": "5822:16:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 55031, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5812:9:80", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 55033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5812:27:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 55035, + "name": "OPCODE_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55383, + "src": "5853:24:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 55034, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5843:9:80", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 55036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5843:35:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5812:66:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 55043, + "nodeType": "IfStatement", + "src": "5808:140:80", + "trueBody": { + "id": 55042, + "nodeType": "Block", + "src": "5880:68:80", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 55039, + "name": "functionPointers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55026, + "src": "5920:16:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 55038, + "name": "UnexpectedPointers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54896, + "src": "5901:18:80", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 55040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5901:36:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55041, + "nodeType": "RevertStatement", + "src": "5894:43:80" + } + ] + } + }, + { + "assignments": [55045], + "declarations": [ + { + "constant": false, + "id": 55045, + "mutability": "mutable", + "name": "interpreterHash", + "nameLocation": "6028:15:80", + "nodeType": "VariableDeclaration", + "scope": 55123, + "src": "6020:23:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 55044, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6020:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 55046, + "nodeType": "VariableDeclarationStatement", + "src": "6020:23:80" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "6078:67:80", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6092:43:80", + "value": { + "arguments": [ + { + "name": "interpreter", + "nodeType": "YulIdentifier", + "src": "6123:11:80" + } + ], + "functionName": { + "name": "extcodehash", + "nodeType": "YulIdentifier", + "src": "6111:11:80" + }, + "nodeType": "YulFunctionCall", + "src": "6111:24:80" + }, + "variableNames": [ + { + "name": "interpreterHash", + "nodeType": "YulIdentifier", + "src": "6092:15:80" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 55003, + "isOffset": false, + "isSlot": false, + "src": "6123:11:80", + "valueSize": 1 + }, + { + "declaration": 55045, + "isOffset": false, + "isSlot": false, + "src": "6092:15:80", + "valueSize": 1 + } + ], + "flags": ["memory-safe"], + "id": 55047, + "nodeType": "InlineAssembly", + "src": "6053:92:80" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 55050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55048, + "name": "interpreterHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55045, + "src": "6158:15:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 55049, + "name": "INTERPRETER_BYTECODE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54922, + "src": "6177:25:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6158:44:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 55056, + "nodeType": "IfStatement", + "src": "6154:247:80", + "trueBody": { + "id": 55055, + "nodeType": "Block", + "src": "6204:197:80", + "statements": [ + { + "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", + "errorCall": { + "arguments": [ + { + "id": 55052, + "name": "interpreterHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55045, + "src": "6374:15:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 55051, + "name": "UnexpectedInterpreterBytecodeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54901, + "src": "6340:33:80", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 55053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6340:50:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55054, + "nodeType": "RevertStatement", + "src": "6333:57:80" + } + ] + } + }, + { + "assignments": [55058], + "declarations": [ + { + "constant": false, + "id": 55058, + "mutability": "mutable", + "name": "storeHash", + "nameLocation": "6476:9:80", + "nodeType": "VariableDeclaration", + "scope": 55123, + "src": "6468:17:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 55057, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6468:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 55059, + "nodeType": "VariableDeclarationStatement", + "src": "6468:17:80" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "6520:55:80", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6534:31:80", + "value": { + "arguments": [ + { + "name": "store", + "nodeType": "YulIdentifier", + "src": "6559:5:80" + } + ], + "functionName": { + "name": "extcodehash", + "nodeType": "YulIdentifier", + "src": "6547:11:80" + }, + "nodeType": "YulFunctionCall", + "src": "6547:18:80" + }, + "variableNames": [ + { + "name": "storeHash", + "nodeType": "YulIdentifier", + "src": "6534:9:80" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 55011, + "isOffset": false, + "isSlot": false, + "src": "6559:5:80", + "valueSize": 1 + }, + { + "declaration": 55058, + "isOffset": false, + "isSlot": false, + "src": "6534:9:80", + "valueSize": 1 + } + ], + "flags": ["memory-safe"], + "id": 55060, + "nodeType": "InlineAssembly", + "src": "6495:80:80" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 55063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55061, + "name": "storeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55058, + "src": "6588:9:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 55062, + "name": "STORE_BYTECODE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54929, + "src": "6601:19:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6588:32:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 55069, + "nodeType": "IfStatement", + "src": "6584:223:80", + "trueBody": { + "id": 55068, + "nodeType": "Block", + "src": "6622:185:80", + "statements": [ + { + "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", + "errorCall": { + "arguments": [ + { + "id": 55065, + "name": "storeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55058, + "src": "6786:9:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 55064, + "name": "UnexpectedStoreBytecodeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54906, + "src": "6758:27:80", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 55066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6758:38:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55067, + "nodeType": "RevertStatement", + "src": "6751:45:80" + } + ] + } + }, + { + "assignments": [55072], + "declarations": [ + { + "constant": false, + "id": 55072, + "mutability": "mutable", + "name": "configAuthoringMetaHash", + "nameLocation": "7050:23:80", + "nodeType": "VariableDeclaration", + "scope": 55123, + "src": "7042:31:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 55071, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7042:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "documentation": "This IS a security check. This prevents someone making an exact\n bytecode copy of the interpreter and shipping different meta for\n the copy to lie about what each op does in the interpreter.", + "id": 55077, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 55074, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54998, + "src": "7086:6:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 55075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7093:13:80", + "memberName": "authoringMeta", + "nodeType": "MemberAccess", + "referencedDeclaration": 54945, + "src": "7086:20:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 55073, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "7076:9:80", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 55076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7076:31:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7042:65:80" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 55080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55078, + "name": "configAuthoringMetaHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55072, + "src": "7121:23:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 55079, + "name": "AUTHORING_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54936, + "src": "7148:19:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7121:46:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 55086, + "nodeType": "IfStatement", + "src": "7117:129:80", + "trueBody": { + "id": 55085, + "nodeType": "Block", + "src": "7169:77:80", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 55082, + "name": "configAuthoringMetaHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55072, + "src": "7211:23:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 55081, + "name": "UnexpectedOpMetaHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54911, + "src": "7190:20:80", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 55083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7190:45:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55084, + "nodeType": "RevertStatement", + "src": "7183:52:80" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 55088, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7269:3:80", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7273:6:80", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7269:10:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 55092, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "7289:4:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeString": "contract RainterpreterExpressionDeployerNP" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeString": "contract RainterpreterExpressionDeployerNP" + } + ], + "id": 55091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7281:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 55090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7281:7:80", + "typeDescriptions": {} + } + }, + "id": 55093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7281:13:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 55096, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55003, + "src": "7304:11:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + ], + "id": 55095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7296:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 55094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7296:7:80", + "typeDescriptions": {} + } + }, + "id": 55097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7296:20:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 55100, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55011, + "src": "7326:5:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + ], + "id": 55099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7318:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 55098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7318:7:80", + "typeDescriptions": {} + } + }, + "id": 55101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7318:14:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 55102, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54998, + "src": "7334:6:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" + } + }, + "id": 55103, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7341:13:80", + "memberName": "authoringMeta", + "nodeType": "MemberAccess", + "referencedDeclaration": 54945, + "src": "7334:20:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 55087, + "name": "DISpair", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55955, + "src": "7261:7:80", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,address,bytes memory)" + } + }, + "id": 55104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7261:94:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55105, + "nodeType": "EmitStatement", + "src": "7256:99:80" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 55111, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "7429:4:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeString": "contract RainterpreterExpressionDeployerNP" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeString": "contract RainterpreterExpressionDeployerNP" + } + ], + "id": 55110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7421:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 55109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7421:7:80", + "typeDescriptions": {} + } + }, + "id": 55112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7421:13:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 55115, + "name": "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55941, + "src": "7468:37:80", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 55113, + "name": "IERC1820_REGISTRY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46529, + "src": "7436:17:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1820Registry_$46519", + "typeString": "contract IERC1820Registry" + } + }, + "id": 55114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7454:13:80", + "memberName": "interfaceHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 46490, + "src": "7436:31:80", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure external returns (bytes32)" + } + }, + "id": 55116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7436:70:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 55119, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "7516:4:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeString": "contract RainterpreterExpressionDeployerNP" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeString": "contract RainterpreterExpressionDeployerNP" + } + ], + "id": 55118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7508:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 55117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7508:7:80", + "typeDescriptions": {} + } + }, + "id": 55120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7508:13:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 55106, + "name": "IERC1820_REGISTRY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46529, + "src": "7366:17:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1820Registry_$46519", + "typeString": "contract IERC1820Registry" + } + }, + "id": 55108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7384:23:80", + "memberName": "setInterfaceImplementer", + "nodeType": "MemberAccess", + "referencedDeclaration": 46472, + "src": "7366:41:80", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (address,bytes32,address) external" + } + }, + "id": 55121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7366:165:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55122, + "nodeType": "ExpressionStatement", + "src": "7366:165:80" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 54999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 54998, + "mutability": "mutable", + "name": "config", + "nameLocation": "5336:6:80", + "nodeType": "VariableDeclaration", + "scope": 55124, + "src": "5279:63:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" + }, + "typeName": { + "id": 54997, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 54996, + "name": "RainterpreterExpressionDeployerConstructionConfig", + "nameLocations": ["5279:49:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 54946, + "src": "5279:49:80" + }, + "referencedDeclaration": 54946, + "src": "5279:49:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_storage_ptr", + "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "5278:65:80" + }, + "returnParameters": { + "id": 55000, + "nodeType": "ParameterList", + "parameters": [], + "src": "5344:0:80" + }, + "scope": 55342, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 55147, + "nodeType": "FunctionDefinition", + "src": "7571:216:80", + "nodes": [], + "body": { + "id": 55146, + "nodeType": "Block", + "src": "7663:124:80", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 55144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 55137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55132, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55126, + "src": "7680:12:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 55134, + "name": "IExpressionDeployerV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55976, + "src": "7701:21:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$55976_$", + "typeString": "type(contract IExpressionDeployerV2)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$55976_$", + "typeString": "type(contract IExpressionDeployerV2)" + } + ], + "id": 55133, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7696:4:80", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 55135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7696:27:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IExpressionDeployerV2_$55976", + "typeString": "type(contract IExpressionDeployerV2)" + } + }, + "id": 55136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7724:11:80", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "7696:39:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "7680:55:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 55143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55138, + "name": "interfaceId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55126, + "src": "7739:12:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 55140, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45458, + "src": "7760:7:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$45458_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$45458_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 55139, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7755:4:80", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 55141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7755:13:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$45458", + "typeString": "type(contract IERC165)" + } + }, + "id": 55142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7769:11:80", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "7755:25:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "7739:41:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7680:100:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 55131, + "id": 55145, + "nodeType": "Return", + "src": "7673:107:80" + } + ] + }, + "baseFunctions": [45445], + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "7580:17:80", + "overrides": { + "id": 55128, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7639:8:80" + }, + "parameters": { + "id": 55127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55126, + "mutability": "mutable", + "name": "interfaceId_", + "nameLocation": "7605:12:80", + "nodeType": "VariableDeclaration", + "scope": 55147, + "src": "7598:19:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 55125, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7598:6:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "7597:21:80" + }, + "returnParameters": { + "id": 55131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55130, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55147, + "src": "7657:4:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 55129, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7657:4:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7656:6:80" + }, + "scope": 55342, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 55157, + "nodeType": "FunctionDefinition", + "src": "7823:121:80", + "nodes": [], + "body": { + "id": 55156, + "nodeType": "Block", + "src": "7901:43:80", + "nodes": [], + "statements": [ + { + "expression": { + "id": 55154, + "name": "AUTHORING_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54936, + "src": "7918:19:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 55153, + "id": 55155, + "nodeType": "Return", + "src": "7911:26:80" + } + ] + }, + "baseFunctions": [55992], + "documentation": { + "id": 55148, + "nodeType": "StructuredDocumentation", + "src": "7793:25:80", + "text": "@inheritdoc IParserV1" + }, + "functionSelector": "b6c7175a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "authoringMetaHash", + "nameLocation": "7832:17:80", + "overrides": { + "id": 55150, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7874:8:80" + }, + "parameters": { + "id": 55149, + "nodeType": "ParameterList", + "parameters": [], + "src": "7849:2:80" + }, + "returnParameters": { + "id": 55153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55152, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55157, + "src": "7892:7:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 55151, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7892:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7891:9:80" + }, + "scope": 55342, + "stateMutability": "pure", + "virtual": true, + "visibility": "external" + }, + { + "id": 55202, + "nodeType": "FunctionDefinition", + "src": "7980:481:80", + "nodes": [], + "body": { + "id": 55201, + "nodeType": "Block", + "src": "8086:375:80", + "nodes": [], + "statements": [ + { + "assignments": [55167], + "declarations": [ + { + "constant": false, + "id": 55167, + "mutability": "mutable", + "name": "inputAuthoringMetaHash", + "nameLocation": "8104:22:80", + "nodeType": "VariableDeclaration", + "scope": 55201, + "src": "8096:30:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 55166, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8096:7:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 55171, + "initialValue": { + "arguments": [ + { + "id": 55169, + "name": "authoringMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55160, + "src": "8139:13:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 55168, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "8129:9:80", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 55170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8129:24:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8096:57:80" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 55174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55172, + "name": "inputAuthoringMetaHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55167, + "src": "8167:22:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 55173, + "name": "AUTHORING_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54936, + "src": "8193:19:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8167:45:80", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 55181, + "nodeType": "IfStatement", + "src": "8163:153:80", + "trueBody": { + "id": 55180, + "nodeType": "Block", + "src": "8214:102:80", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 55176, + "name": "AUTHORING_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54936, + "src": "8261:19:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 55177, + "name": "inputAuthoringMetaHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55167, + "src": "8282:22:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 55175, + "name": "AuthoringMetaHashMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55986, + "src": "8235:25:80", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) pure" + } + }, + "id": 55178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8235:70:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55179, + "nodeType": "RevertStatement", + "src": "8228:77:80" + } + ] + } + }, + { + "assignments": [55186], + "declarations": [ + { + "constant": false, + "id": 55186, + "mutability": "mutable", + "name": "words", + "nameLocation": "8348:5:80", + "nodeType": "VariableDeclaration", + "scope": 55201, + "src": "8325:28:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeString": "struct AuthoringMeta[]" + }, + "typeName": { + "baseType": { + "id": 55184, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55183, + "name": "AuthoringMeta", + "nameLocations": ["8325:13:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 68390, + "src": "8325:13:80" + }, + "referencedDeclaration": 68390, + "src": "8325:13:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AuthoringMeta_$68390_storage_ptr", + "typeString": "struct AuthoringMeta" + } + }, + "id": 55185, + "nodeType": "ArrayTypeName", + "src": "8325:15:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_storage_$dyn_storage_ptr", + "typeString": "struct AuthoringMeta[]" + } + }, + "visibility": "internal" + } + ], + "id": 55194, + "initialValue": { + "arguments": [ + { + "id": 55189, + "name": "authoringMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55160, + "src": "8367:13:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 55190, + "name": "AuthoringMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68390, + "src": "8383:13:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AuthoringMeta_$68390_storage_ptr_$", + "typeString": "type(struct AuthoringMeta storage pointer)" + } + }, + "id": 55191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8383:15:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct AuthoringMeta memory[] memory)" + } + } + ], + "id": 55192, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8382:17:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct AuthoringMeta memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct AuthoringMeta memory[] memory)" + } + ], + "expression": { + "id": 55187, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8356:3:80", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 55188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8360:6:80", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "8356:10:80", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 55193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8356:44:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeString": "struct AuthoringMeta memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8325:75:80" + }, + { + "expression": { + "arguments": [ + { + "id": 55197, + "name": "words", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55186, + "src": "8445:5:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeString": "struct AuthoringMeta memory[] memory" + } + }, + { + "hexValue": "32", + "id": 55198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8452:1:80", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeString": "struct AuthoringMeta memory[] memory" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "expression": { + "id": 55195, + "name": "LibParseMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69086, + "src": "8417:12:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibParseMeta_$69086_$", + "typeString": "type(library LibParseMeta)" + } + }, + "id": 55196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8430:14:80", + "memberName": "buildParseMeta", + "nodeType": "MemberAccess", + "referencedDeclaration": 68916, + "src": "8417:27:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct AuthoringMeta memory[] memory,uint8) pure returns (bytes memory)" + } + }, + "id": 55199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8417:37:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 55165, + "id": 55200, + "nodeType": "Return", + "src": "8410:44:80" + } + ] + }, + "baseFunctions": [56000], + "documentation": { + "id": 55158, + "nodeType": "StructuredDocumentation", + "src": "7950:25:80", + "text": "@inheritdoc IParserV1" + }, + "functionSelector": "a600bd0a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "buildParseMeta", + "nameLocation": "7989:14:80", + "overrides": { + "id": 55162, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8054:8:80" + }, + "parameters": { + "id": 55161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55160, + "mutability": "mutable", + "name": "authoringMeta", + "nameLocation": "8017:13:80", + "nodeType": "VariableDeclaration", + "scope": 55202, + "src": "8004:26:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55159, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8004:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8003:28:80" + }, + "returnParameters": { + "id": 55165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55164, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55202, + "src": "8072:12:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55163, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8072:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8071:14:80" + }, + "scope": 55342, + "stateMutability": "pure", + "virtual": true, + "visibility": "external" + }, + { + "id": 55212, + "nodeType": "FunctionDefinition", + "src": "8497:107:80", + "nodes": [], + "body": { + "id": 55211, + "nodeType": "Block", + "src": "8570:34:80", + "nodes": [], + "statements": [ + { + "expression": { + "id": 55209, + "name": "PARSE_META", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54939, + "src": "8587:10:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 55208, + "id": 55210, + "nodeType": "Return", + "src": "8580:17:80" + } + ] + }, + "baseFunctions": [56006], + "documentation": { + "id": 55203, + "nodeType": "StructuredDocumentation", + "src": "8467:25:80", + "text": "@inheritdoc IParserV1" + }, + "functionSelector": "ffc25704", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parseMeta", + "nameLocation": "8506:9:80", + "overrides": { + "id": 55205, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8538:8:80" + }, + "parameters": { + "id": 55204, + "nodeType": "ParameterList", + "parameters": [], + "src": "8515:2:80" + }, + "returnParameters": { + "id": 55208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55207, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55212, + "src": "8556:12:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55206, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8556:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8555:14:80" + }, + "scope": 55342, + "stateMutability": "pure", + "virtual": true, + "visibility": "public" + }, + { + "id": 55232, + "nodeType": "FunctionDefinition", + "src": "8640:289:80", + "nodes": [], + "body": { + "id": 55231, + "nodeType": "Block", + "src": "8746:183:80", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 55226, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55215, + "src": "8904:4:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 55227, + "name": "parseMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55212, + "src": "8910:9:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 55228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8910:11:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 55224, + "name": "LibParse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65022, + "src": "8889:8:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibParse_$65022_$", + "typeString": "type(library LibParse)" + } + }, + "id": 55225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8898:5:80", + "memberName": "parse", + "nodeType": "MemberAccess", + "referencedDeclaration": 65021, + "src": "8889:14:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory,uint256[] memory)" + } + }, + "id": 55229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8889:33:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(bytes memory,uint256[] memory)" + } + }, + "functionReturnParameters": 55223, + "id": 55230, + "nodeType": "Return", + "src": "8882:40:80" + } + ] + }, + "baseFunctions": [56017], + "documentation": { + "id": 55213, + "nodeType": "StructuredDocumentation", + "src": "8610:25:80", + "text": "@inheritdoc IParserV1" + }, + "functionSelector": "fab4087a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parse", + "nameLocation": "8649:5:80", + "overrides": { + "id": 55217, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8696:8:80" + }, + "parameters": { + "id": 55216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55215, + "mutability": "mutable", + "name": "data", + "nameLocation": "8668:4:80", + "nodeType": "VariableDeclaration", + "scope": 55232, + "src": "8655:17:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55214, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8655:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8654:19:80" + }, + "returnParameters": { + "id": 55223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55219, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55232, + "src": "8714:12:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55218, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8714:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55222, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55232, + "src": "8728:16:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8728:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55221, + "nodeType": "ArrayTypeName", + "src": "8728:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8713:32:80" + }, + "scope": 55342, + "stateMutability": "pure", + "virtual": true, + "visibility": "external" + }, + { + "id": 55308, + "nodeType": "FunctionDefinition", + "src": "8977:1006:80", + "nodes": [], + "body": { + "id": 55307, + "nodeType": "Block", + "src": "9167:816:80", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 55253, + "name": "bytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55235, + "src": "9192:8:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 55254, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55238, + "src": "9202:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 55255, + "name": "minOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55241, + "src": "9213:10:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 55252, + "name": "integrityCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55330, + "src": "9177:14:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) view" + } + }, + "id": 55256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9177:47:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55257, + "nodeType": "ExpressionStatement", + "src": "9177:47:80" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 55259, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9254:3:80", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9258:6:80", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9254:10:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 55261, + "name": "bytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55235, + "src": "9266:8:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 55262, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55238, + "src": "9276:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 55263, + "name": "minOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55241, + "src": "9287:10:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 55258, + "name": "NewExpression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54980, + "src": "9240:13:80", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,bytes memory,uint256[] memory,uint256[] memory)" + } + }, + "id": 55264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9240:58:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55265, + "nodeType": "EmitStatement", + "src": "9235:63:80" + }, + { + "assignments": [55268, 55271], + "declarations": [ + { + "constant": false, + "id": 55268, + "mutability": "mutable", + "name": "container", + "nameLocation": "9338:9:80", + "nodeType": "VariableDeclaration", + "scope": 55307, + "src": "9310:37:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeString": "DataContractMemoryContainer" + }, + "typeName": { + "id": 55267, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55266, + "name": "DataContractMemoryContainer", + "nameLocations": ["9310:27:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 53466, + "src": "9310:27:80" + }, + "referencedDeclaration": 53466, + "src": "9310:27:80", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeString": "DataContractMemoryContainer" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55271, + "mutability": "mutable", + "name": "pointer", + "nameLocation": "9357:7:80", + "nodeType": "VariableDeclaration", + "scope": 55307, + "src": "9349:15:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeString": "Pointer" + }, + "typeName": { + "id": 55270, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55269, + "name": "Pointer", + "nameLocations": ["9349:7:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71711, + "src": "9349:7:80" + }, + "referencedDeclaration": 71711, + "src": "9349:7:80", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeString": "Pointer" + } + }, + "visibility": "internal" + } + ], + "id": 55280, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 55276, + "name": "bytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55235, + "src": "9459:8:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 55277, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55238, + "src": "9469:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 55274, + "name": "LibInterpreterStateDataContractNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70181, + "src": "9409:33:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70181_$", + "typeString": "type(library LibInterpreterStateDataContractNP)" + } + }, + "id": 55275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9443:15:80", + "memberName": "serializeSizeNP", + "nodeType": "MemberAccess", + "referencedDeclaration": 70091, + "src": "9409:49:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256[] memory) pure returns (uint256)" + } + }, + "id": 55278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9409:70:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 55272, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53573, + "src": "9380:15:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$53573_$", + "typeString": "type(library LibDataContract)" + } + }, + "id": 55273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9396:12:80", + "memberName": "newContainer", + "nodeType": "MemberAccess", + "referencedDeclaration": 53490, + "src": "9380:28:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_DataContractMemoryContainer_$53466_$_t_userDefinedValueType$_Pointer_$71711_$", + "typeString": "function (uint256) pure returns (DataContractMemoryContainer,Pointer)" + } + }, + "id": 55279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9380:100:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_userDefinedValueType$_DataContractMemoryContainer_$53466_$_t_userDefinedValueType$_Pointer_$71711_$", + "typeString": "tuple(DataContractMemoryContainer,Pointer)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9309:171:80" + }, + { + "expression": { + "arguments": [ + { + "id": 55284, + "name": "pointer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55271, + "src": "9654:7:80", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeString": "Pointer" + } + }, + { + "id": 55285, + "name": "bytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55235, + "src": "9663:8:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 55286, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55238, + "src": "9673:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeString": "Pointer" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 55281, + "name": "LibInterpreterStateDataContractNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70181, + "src": "9602:33:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70181_$", + "typeString": "type(library LibInterpreterStateDataContractNP)" + } + }, + "id": 55283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9636:17:80", + "memberName": "unsafeSerializeNP", + "nodeType": "MemberAccess", + "referencedDeclaration": 70118, + "src": "9602:51:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Pointer_$71711_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (Pointer,bytes memory,uint256[] memory) pure" + } + }, + "id": 55287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9602:81:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55288, + "nodeType": "ExpressionStatement", + "src": "9602:81:80" + }, + { + "assignments": [55290], + "declarations": [ + { + "constant": false, + "id": 55290, + "mutability": "mutable", + "name": "expression", + "nameLocation": "9755:10:80", + "nodeType": "VariableDeclaration", + "scope": 55307, + "src": "9747:18:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 55289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9747:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 55295, + "initialValue": { + "arguments": [ + { + "id": 55293, + "name": "container", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55268, + "src": "9790:9:80", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeString": "DataContractMemoryContainer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeString": "DataContractMemoryContainer" + } + ], + "expression": { + "id": 55291, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53573, + "src": "9768:15:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$53573_$", + "typeString": "type(library LibDataContract)" + } + }, + "id": 55292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9784:5:80", + "memberName": "write", + "nodeType": "MemberAccess", + "referencedDeclaration": 53520, + "src": "9768:21:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_DataContractMemoryContainer_$53466_$returns$_t_address_$", + "typeString": "function (DataContractMemoryContainer) returns (address)" + } + }, + "id": 55294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9768:32:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9747:53:80" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 55297, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9901:3:80", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9905:6:80", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9901:10:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 55299, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55290, + "src": "9913:10:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 55296, + "name": "ExpressionAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54987, + "src": "9883:17:80", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 55300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9883:41:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55301, + "nodeType": "EmitStatement", + "src": "9878:46:80" + }, + { + "expression": { + "components": [ + { + "id": 55302, + "name": "iInterpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54991, + "src": "9943:12:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + { + "id": 55303, + "name": "iStore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54995, + "src": "9957:6:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 55304, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55290, + "src": "9965:10:80", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 55305, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9942:34:80", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$55855_$_t_contract$_IInterpreterStoreV1_$55805_$_t_address_$", + "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "functionReturnParameters": 55251, + "id": 55306, + "nodeType": "Return", + "src": "9935:41:80" + } + ] + }, + "baseFunctions": [55975], + "documentation": { + "id": 55233, + "nodeType": "StructuredDocumentation", + "src": "8935:37:80", + "text": "@inheritdoc IExpressionDeployerV2" + }, + "functionSelector": "31a66b65", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployExpression", + "nameLocation": "8986:16:80", + "parameters": { + "id": 55242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55235, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "9016:8:80", + "nodeType": "VariableDeclaration", + "scope": 55308, + "src": "9003:21:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55234, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9003:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55238, + "mutability": "mutable", + "name": "constants", + "nameLocation": "9043:9:80", + "nodeType": "VariableDeclaration", + "scope": 55308, + "src": "9026:26:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9026:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55237, + "nodeType": "ArrayTypeName", + "src": "9026:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55241, + "mutability": "mutable", + "name": "minOutputs", + "nameLocation": "9071:10:80", + "nodeType": "VariableDeclaration", + "scope": 55308, + "src": "9054:27:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9054:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55240, + "nodeType": "ArrayTypeName", + "src": "9054:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "9002:80:80" + }, + "returnParameters": { + "id": 55251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55245, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55308, + "src": "9117:14:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 55244, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55243, + "name": "IInterpreterV1", + "nameLocations": ["9117:14:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55855, + "src": "9117:14:80" + }, + "referencedDeclaration": 55855, + "src": "9117:14:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55248, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55308, + "src": "9133:19:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 55247, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55246, + "name": "IInterpreterStoreV1", + "nameLocations": ["9133:19:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55805, + "src": "9133:19:80" + }, + "referencedDeclaration": 55805, + "src": "9133:19:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55250, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55308, + "src": "9154:7:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 55249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9154:7:80", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9116:46:80" + }, + "scope": 55342, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 55330, + "nodeType": "FunctionDefinition", + "src": "10036:249:80", + "nodes": [], + "body": { + "id": 55329, + "nodeType": "Block", + "src": "10172:113:80", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 55323, + "name": "INTEGRITY_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54915, + "src": "10217:27:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 55324, + "name": "bytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55311, + "src": "10246:8:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 55325, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55314, + "src": "10256:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 55326, + "name": "minOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55317, + "src": "10267:10:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 55320, + "name": "LibIntegrityCheckNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57500, + "src": "10182:19:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheckNP_$57500_$", + "typeString": "type(library LibIntegrityCheckNP)" + } + }, + "id": 55322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10202:14:80", + "memberName": "integrityCheck", + "nodeType": "MemberAccess", + "referencedDeclaration": 57499, + "src": "10182:34:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,bytes memory,uint256[] memory,uint256[] memory) view" + } + }, + "id": 55327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10182:96:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55328, + "nodeType": "ExpressionStatement", + "src": "10182:96:80" + } + ] + }, + "baseFunctions": [55900], + "documentation": { + "id": 55309, + "nodeType": "StructuredDocumentation", + "src": "9989:42:80", + "text": "@inheritdoc IDebugExpressionDeployerV2" + }, + "functionSelector": "cbb7d173", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "integrityCheck", + "nameLocation": "10045:14:80", + "parameters": { + "id": 55318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55311, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "10073:8:80", + "nodeType": "VariableDeclaration", + "scope": 55330, + "src": "10060:21:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55310, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10060:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55314, + "mutability": "mutable", + "name": "constants", + "nameLocation": "10100:9:80", + "nodeType": "VariableDeclaration", + "scope": 55330, + "src": "10083:26:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10083:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55313, + "nodeType": "ArrayTypeName", + "src": "10083:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55317, + "mutability": "mutable", + "name": "minOutputs", + "nameLocation": "10128:10:80", + "nodeType": "VariableDeclaration", + "scope": 55330, + "src": "10111:27:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10111:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55316, + "nodeType": "ArrayTypeName", + "src": "10111:9:80", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "10059:80:80" + }, + "returnParameters": { + "id": 55319, + "nodeType": "ParameterList", + "parameters": [], + "src": "10172:0:80" + }, + "scope": 55342, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 55341, + "nodeType": "FunctionDefinition", + "src": "11051:153:80", + "nodes": [], + "body": { + "id": 55340, + "nodeType": "Block", + "src": "11133:71:80", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 55336, + "name": "LibAllStandardOpsNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58346, + "src": "11150:19:80", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58346_$", + "typeString": "type(library LibAllStandardOpsNP)" + } + }, + "id": 55337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11170:25:80", + "memberName": "integrityFunctionPointers", + "nodeType": "MemberAccess", + "referencedDeclaration": 58186, + "src": "11150:45:80", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 55338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11150:47:80", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 55335, + "id": 55339, + "nodeType": "Return", + "src": "11143:54:80" + } + ] + }, + "documentation": { + "id": 55331, + "nodeType": "StructuredDocumentation", + "src": "10291:755:80", + "text": "Defines all the function pointers to integrity checks. This is the\n expression deployer's equivalent of the opcode function pointers and\n follows a near identical dispatch process. These are never compiled into\n source and are instead indexed into directly by the integrity check. The\n indexing into integrity pointers (which has an out of bounds check) is a\n proxy for enforcing that all opcode pointers exist at runtime, so the\n length of the integrity pointers MUST match the length of opcode function\n pointers. This function is `virtual` so that it can be overridden\n pairwise with overrides to `functionPointers` on `Rainterpreter`.\n @return The list of integrity function pointers." + }, + "functionSelector": "8d614591", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "integrityFunctionPointers", + "nameLocation": "11060:25:80", + "parameters": { + "id": 55332, + "nodeType": "ParameterList", + "parameters": [], + "src": "11085:2:80" + }, + "returnParameters": { + "id": 55335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55334, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55341, + "src": "11119:12:80", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55333, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11119:5:80", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11118:14:80" + }, + "scope": 55342, + "stateMutability": "view", + "virtual": true, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 54948, + "name": "IExpressionDeployerV2", + "nameLocations": ["3970:21:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55976, + "src": "3970:21:80" + }, + "id": 54949, + "nodeType": "InheritanceSpecifier", + "src": "3970:21:80" + }, + { + "baseName": { + "id": 54950, + "name": "IDebugExpressionDeployerV2", + "nameLocations": ["3993:26:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55901, + "src": "3993:26:80" + }, + "id": 54951, + "nodeType": "InheritanceSpecifier", + "src": "3993:26:80" + }, + { + "baseName": { + "id": 54952, + "name": "IParserV1", + "nameLocations": ["4021:9:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56018, + "src": "4021:9:80" + }, + "id": 54953, + "nodeType": "InheritanceSpecifier", + "src": "4021:9:80" + }, + { + "baseName": { + "id": 54954, + "name": "ERC165", + "nameLocations": ["4032:6:80"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45446, + "src": "4032:6:80" + }, + "id": 54955, + "nodeType": "InheritanceSpecifier", + "src": "4032:6:80" + } + ], + "canonicalName": "RainterpreterExpressionDeployerNP", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 54947, + "nodeType": "StructuredDocumentation", + "src": "3703:221:80", + "text": "@title RainterpreterExpressionDeployer\n @notice !!!EXPERIMENTAL!!! This is the deployer for the RainterpreterNP\n interpreter. Notably includes onchain parsing/compiling of expressions from\n Rainlang strings." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [55342, 45446, 45458, 56018, 55901, 55976], + "name": "RainterpreterExpressionDeployerNP", + "nameLocation": "3933:33:80", + "scope": 55343, + "usedErrors": [ + 53453, 54896, 54901, 54906, 54911, 55986, 56031, 57112, 57119, 57128, + 57137, 57146, 57155, 57162, 57169, 57531, 57652, 57785, 63072, 63077, + 63082, 63087, 63092, 63097, 63102, 63107, 63112, 63117, 63122, 63127, + 63132, 63137, 63140, 63143, 63146, 63149, 63152, 63155, 67619, 67624, + 67629, 67634, 67639, 67644, 67649, 67654, 68352, 69111, 69115, 69119, + 69123 + ] + } + ], + "license": "CAL" + }, + "id": 80 +} diff --git a/subgraph/tests/generated/RainterpreterNP.json b/subgraph/tests/generated/RainterpreterNP.json new file mode 100644 index 0000000000..cca4579825 --- /dev/null +++ b/subgraph/tests/generated/RainterpreterNP.json @@ -0,0 +1,4411 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "name": "BadDynamicLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "ensureCode", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "errorIndex", + "type": "uint256" + } + ], + "name": "EnsureFailed", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "condCode", + "type": "uint256" + } + ], + "name": "NoConditionsMet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv18_Overflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "name": "PRBMath_MulDiv_Overflow", + "type": "error" + }, + { + "inputs": [], + "name": "ReadError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "name": "SourceOffsetOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "StateNamespace", + "name": "namespace", + "type": "uint256" + }, + { + "internalType": "EncodedDispatch", + "name": "dispatch", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + } + ], + "name": "eval", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "functionPointers", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "FullyQualifiedNamespace", + "name": "namespace", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "expressionData", + "type": "bytes" + }, + { + "internalType": "SourceIndex", + "name": "sourceIndex16", + "type": "uint16" + }, + { + "internalType": "uint256", + "name": "maxOutputs", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + } + ], + "name": "offchainDebugEval", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b50612b7a806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780636715f82514610079578063758c13b61461009a578063f933c72f146100ad575b600080fd5b61006461005f36600461239d565b6100c2565b60405190151581526020015b60405180910390f35b61008c610087366004612591565b6101a7565b60405161007092919061262f565b61008c6100a836600461266b565b61023c565b6100b5610294565b6040516100709190612801565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9e263f0a00000000000000000000000000000000000000000000000000000000148061015557507fffffffff0000000000000000000000000000000000000000000000000000000082167f758c13b600000000000000000000000000000000000000000000000000000000145b806101a157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606080602084901c601085901c61ffff861660006101c4846102a3565b905061ffff8316600061020b826101e58d3360009182526020526040902090565b8e8c604051806080016040528060528152602001612b286052913988949392919061034a565b6040805160008152602081019091529091506102299082908661049b565b9750975050505050505094509492505050565b606080600061ffff871690506000610275828b8d89604051806080016040528060528152602001612b28605291398e949392919061034a565b905061028281868961049b565b93509350505097509795505050505050565b606061029e610804565b905090565b6060813b60008190036102e2576040517f26a9f61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603e83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910180825290915080600160208401853c50919050565b6103af6040518061012001604052806060815260200160608152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b602087810180516040600191820184028b01818101518251600091821a808252948501870281019093526041808301968381019593600285020190910191908401905b8381101561043057875160f01c83015160408051600192831a80825283016020908102909101918290529084526002909901989290920191016103f2565b505050506040518061012001604052808281526020018481526020018b8152602001600081526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff168152602001888152602001838152602001878152509450505050509695505050505050565b606080600085600001518660400151815181106104ba576104ba612814565b602002602001015190506000855111156104ed5760006020865102820391506020860190506104eb818388516109a4565b505b600086604001519050600080600080600060028c6101000151518161051457610514612843565b60e08e01516101008f0151602080830151600261ffff9c909c168c8102850160219081015160f01c600093841a9e909e029095019c909c019384015160258086019c50600791831a918216918290036004029095019094019950929750019450919004915061239390805b868810156106fb57875190506002848260001a060285015160f01c925062ffffff8160e01c1691506105b68f838c8663ffffffff16565b99506002848260041a060285015160f01c925062ffffff8160c01c1691506105e38f838c8663ffffffff16565b99506002848260081a060285015160f01c925062ffffff8160a01c1691506106108f838c8663ffffffff16565b995060028482600c1a060285015160f01c925062ffffff8160801c16915061063d8f838c8663ffffffff16565b99506002848260101a060285015160f01c925062ffffff8160601c16915061066a8f838c8663ffffffff16565b99506002848260141a060285015160f01c925062ffffff8160401c1691506106978f838c8663ffffffff16565b99506002848260181a060285015160f01c925062ffffff8160201c1691506106c48f838c8663ffffffff16565b995060028482601c1a060285015160f01c925062ffffff811691506106ee8f838c8663ffffffff16565b995060208801975061057f565b601c8803975085600402880196505b868810156107465750508551601c81901a83900660020284015160f01c915062ffffff8116906107398f838c86565b995060048801975061070a565b50505050505050505060006107638760e0015188604001516109cc565b90508085106107725780610774565b845b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08084018281529192508390602084028201015b808210156107e55781518151835281526020909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016107a8565b5050806107f589606001516109e5565b94509450505050935093915050565b60408051610540810182526029808252610c596020830152610ca592820192909252610ce0606082810191909152610dc46080830152610dfe60a0830152610e2d60c0830152610e5c60e08301819052610100830152610eab610120830152610eda610140830152610f3c610160830152610fc461018083015261106b6101a083015261107f6101c08301526110d56101e08301526110e96102008301526110fe61022083015261111861024083015261112361026083015261113761028083015261114c6102a08301526111c96102c08301526112146102e083015261123a61030083015261125c61032083015261127361034083018190526103608301526112be6103808301526113096103a08301526113546103c083018190526103e083015261139f61040083018190526104208301526113ea61044083015261143561046083015261148061048083018190526104a08301526114cb6104c08301526115b26104e08301526115e561050083015261163c6105208301529190819080610992565b60405180910390fd5b61099b8161166e565b94505050505090565b8060200283015b808410156109c65783518352602093840193909201916109ab565b50505050565b6000806109d984846116ff565b5160031a949350505050565b6040805160f083901c602081810283010190925290815261ffff63ffffffff67ffffffffffffffff6fffffffffffffffffffffffffffffffff610a52565b60005b8215610a4c57825182526020830151602083015260408301519250604082019150610a26565b50919050565b602085018660101b60901c8015610b42578060401c8015610ac0578060201c8015610a8457610a818185610a23565b93505b508086168015610abe578060101c8015610aa557610aa28186610a23565b94505b508088168015610abc57610ab98186610a23565b94505b505b505b508084168015610b40578060201c8015610b04578060101c8015610aeb57610ae88186610a23565b94505b508088168015610b0257610aff8186610a23565b94505b505b508086168015610b3e578060101c8015610b2557610b228186610a23565b94505b508088168015610b3c57610b398186610a23565b94505b505b505b505b508682168015610c4e578060401c8015610bcc578060201c8015610b90578060101c8015610b7757610b748186610a23565b94505b508088168015610b8e57610b8b8186610a23565b94505b505b508086168015610bca578060101c8015610bb157610bae8186610a23565b94505b508088168015610bc857610bc58186610a23565b94505b505b505b508084168015610c4c578060201c8015610c10578060101c8015610bf757610bf48186610a23565b94505b508088168015610c0e57610c0b8186610a23565b94505b505b508086168015610c4a578060101c8015610c3157610c2e8186610a23565b94505b508088168015610c4857610c458186610a23565b94505b505b505b505b505050505050919050565b604083015183516020600192830181029190910151918401029003517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152805b9392505050565b60209283015160019290920190920201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190815290565b600060ff8316600884901c6020841015610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f737461636b20756e646572666c6f7700000000000000000000000000000000006044820152606401610989565b60008660c001518381518110610d6e57610d6e612814565b60200260200101518281518110610d8757610d87612814565b60209081029190910101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909501948552509295945050505050565b60109190911c6020028082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190920101908152919050565b437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f315781518015610f25578552610f31565b50602082019150610f0e565b509295945050505050565b6000808260208560101c0281016020810394505b80821015610f7957815192508215610f6e5760208201518552610f79565b604082019150610f50565b505080600003610fbb576040517fff86627a00000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401610989565b50909392505050565b8051600090602080840190601086901c0284015b600083118183101615610ff45781519250602082019150610fd8565b5081600003611062576040517f40dccdf600000000000000000000000000000000000000000000000000000000815261ffff8616600482015260208583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001046024820152604401610989565b95945050505050565b805160209091018051909114815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f31578151806110c9578552610f31565b506020820191506110b3565b805160209091018051909111815292915050565b80516020909101805190911015815292915050565b805160409015156020028203810151910190815292915050565b805115815292915050565b805160209091018051909110815292915050565b80516020909101805190911115815292915050565b80516020820151604090920191600091906111678282611730565b9150601085901c60025b81811015611197578551925060208601955061118d8484611730565b9350600101611171565b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0929092019182525092915050565b80516020820151604090920191600091906111e4828261174b565b9150601085901c60025b81811015611197578551925060208601955061120a848461174b565b93506001016111ee565b80516020909101805190916000919061122e82828761175a565b84525091949350505050565b80516000906112518160ff8616600887901c61175a565b835250909392505050565b80516000906112518160ff8616600887901c6117df565b805160208201516040909201916000919061128e81836128a1565b9150601085901c60025b8181101561119757855160209096019592506112b483856128a1565b9350600101611298565b80516020820151604090920191600091906112d981836128b4565b9150601085901c60025b8181101561119757855160209096019592506112ff83856128b4565b93506001016112e3565b805160208201516040909201916000919061132481836129e8565b9150601085901c60025b81811015611197578551602090960195925061134a83856129e8565b935060010161132e565b805160208201516040909201916000919080821015611371578091505b601085901c60025b81811015611197578551925060208601955082841015611397578293505b600101611379565b8051602082015160409092019160009190808211156113bc578091505b601085901c60025b818110156111975785519250602086019550828411156113e2578293505b6001016113c4565b805160208201516040909201916000919061140581836129f4565b9150601085901c60025b81811015611197578551602090960195925061142b83856129f4565b935060010161140f565b80516020820151604090920191600091906114508183612a08565b9150601085901c60025b8181101561119757855160209096019592506114768385612a08565b935060010161145a565b805160208201516040909201916000919061149b8183612a1f565b9150601085901c60025b8181101561119757855160209096019592506114c18385612a1f565b93506001016114a5565b8051606084015160009190829081906114e49084611841565b915091508160000361122e5760a087015160808801516040517f669e48aa00000000000000000000000000000000000000000000000000000000815260048101919091526024810185905260009173ffffffffffffffffffffffffffffffffffffffff169063669e48aa90604401602060405180830381865afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190612a32565b60608901519091506115a690858361188b565b60608901528552610f31565b80516020820151606085015160409093019260009291906115d490838361188b565b606087015250829150509392505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861191d565b91509150818852600189161561162e578060208901525b509598975050505050505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861195f565b60606000825160020267ffffffffffffffff81111561168f5761168f612404565b6040519080825280601f01601f1916602001820160405280156116b9576020820181803683370190505b50905061ffff80196020850160208651028101600285015b818310156116f3578051835186169085161781526020909201916002016116d1565b50939695505050505050565b60008061170b8461198b565b6002026001019050600061171f85856119a9565b949091019093016020019392505050565b6000610c9e61174884670de0b6b3a764000085611a21565b90565b6000610c9e6117488484611b2c565b6000826012111561178f57601283900360028316156117855761177d8582611c33565b915050610c9e565b61177d8582611cc3565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156117ce5761177d8582611cfb565b61177d8582611d4d565b5082610c9e565b6000826012111561180257601283900360018316156117ce5761177d8582611cfb565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156117855761177d8582611c33565b600080826000526010600f6020600020060261ffff85821c165b80156118825780518503611879576001935060208101519250611882565b6040015161185b565b50509250929050565b6000826000526010600f6020600020060261ffff85821c16805b80156118bc57805186146118bc57604001516118a5565b8015801561190a5760405191506060820160405286825285602083015282604083015260028860f01c0161ffff60f01b1989168160f01b1798505061ffff841b19881682851b179750611911565b8560208301525b50959695505050505050565b6000806000806000611930898989611d70565b9250925092508560001461194e57611949868484611f14565b611951565b60005b999098509650505050505050565b6000806000806000611972898989611d70565b9250925092508560001461194e57611949868484612094565b6000815160000361199e57506000919050565b506020015160001a90565b6002810282016003015161ffff1660006119c28461198b565b8451909150600560028302840101908111806119de5750818410155b15611a195784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610989929190612a4b565b505092915050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611a7957838281611a6f57611a6f612843565b0492505050610c9e565b838110611ac3576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610989565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84860984860292508281108382030391505080600003611b7e5750670de0b6b3a7640000900490506101a1565b670de0b6b3a76400008110611bc9576040517f5173648d0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610989565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b6000604e8210611c73578215611c69577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611c6c565b60005b90506101a1565b50600a81900a8281029083818381611c8d57611c8d612843565b0414611cb9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611cbb565b815b949350505050565b600a81900a611cd28184612a08565b9050604e82106101a1578215611cf257611ced82600a6129e8565b610c9e565b50600092915050565b6000604e8210611d1f578215611d12576001611d15565b60005b60ff1690506101a1565b600a82900a808481611d3357611d33612843565b0491508082028414611d46576001820191505b5092915050565b6000604e821015611cf25781600a0a8381611d6a57611d6a612843565b04610c9e565b600080600080611d80868661220f565b506040517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015291925060009189169063e6a4390590604401602060405180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190612a6d565b905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190612aa8565b63ffffffff1692506dffffffffffffffffffffffffffff1692506dffffffffffffffffffffffffffff1692508473ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611efc57818382611f00565b8282825b919d909c50909a5098505050505050505050565b6000808411611fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201527f55545055545f414d4f554e5400000000000000000000000000000000000000006064820152608401610989565b600083118015611fb55750600082115b612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b600061204d8585612a08565b612059906103e8612a08565b905060006120678685612a1f565b612073906103e5612a08565b905061207f81836128b4565b61208a9060016128a1565b9695505050505050565b6000808411612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201527f4e5055545f414d4f554e540000000000000000000000000000000000000000006064820152608401610989565b6000831180156121355750600082115b6121c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b60006121cf856103e5612a08565b905060006121dd8483612a08565b90506000826121ee876103e8612a08565b6121f891906128a1565b905061220481836128b4565b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260448201527f45535345530000000000000000000000000000000000000000000000000000006064820152608401610989565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061230757828461230a565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606401610989565b9250929050565b61239b612af8565b565b6000602082840312156123af57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c9e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461240157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561247a5761247a612404565b604052919050565b600067ffffffffffffffff82111561249c5761249c612404565b5060051b60200190565b600082601f8301126124b757600080fd5b813560206124cc6124c783612482565b612433565b82815260059290921b840181019181810190868411156124eb57600080fd5b8286015b8481101561250657803583529183019183016124ef565b509695505050505050565b600082601f83011261252257600080fd5b813560206125326124c783612482565b82815260059290921b8401810191818101908684111561255157600080fd5b8286015b8481101561250657803567ffffffffffffffff8111156125755760008081fd5b6125838986838b01016124a6565b845250918301918301612555565b600080600080608085870312156125a757600080fd5b84356125b2816123df565b93506020850135925060408501359150606085013567ffffffffffffffff8111156125dc57600080fd5b6125e887828801612511565b91505092959194509250565b600081518084526020808501945080840160005b8381101561262457815187529582019590820190600101612608565b509495945050505050565b60408152600061264260408301856125f4565b828103602084015261106281856125f4565b803561ffff8116811461266657600080fd5b919050565b600080600080600080600060e0888a03121561268657600080fd5b8735612691816123df565b96506020888101359650604089013567ffffffffffffffff808211156126b657600080fd5b818b0191508b601f8301126126ca57600080fd5b8135818111156126dc576126dc612404565b61270c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612433565b8181528d8583860101111561272057600080fd5b81858501868301376000858383010152809950505061274160608c01612654565b965060808b0135955060a08b013592508083111561275e57600080fd5b61276a8c848d01612511565b945060c08b013592508083111561278057600080fd5b505061278e8a828b016124a6565b91505092959891949750929550565b6000815180845260005b818110156127c3576020818501810151868301820152016127a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c9e602083018461279d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101a1576101a1612872565b6000826128c3576128c3612843565b500490565b600181815b8085111561292157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561290757612907612872565b8085161561291457918102915b93841c93908002906128cd565b509250929050565b600082612938575060016101a1565b81612945575060006101a1565b816001811461295b576002811461296557612981565b60019150506101a1565b60ff84111561297657612976612872565b50506001821b6101a1565b5060208310610133831016604e8410600b84101617156129a4575081810a6101a1565b6129ae83836128c8565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156129e0576129e0612872565b029392505050565b6000610c9e8383612929565b600082612a0357612a03612843565b500690565b80820281158282048414176101a1576101a1612872565b818103818111156101a1576101a1612872565b600060208284031215612a4457600080fd5b5051919050565b604081526000612a5e604083018561279d565b90508260208301529392505050565b600060208284031215612a7f57600080fd5b8151610c9e816123df565b80516dffffffffffffffffffffffffffff8116811461266657600080fd5b600080600060608486031215612abd57600080fd5b612ac684612a8a565b9250612ad460208501612a8a565b9150604084015163ffffffff81168114612aed57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", + "sourceMap": "2324:3600:81:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780636715f82514610079578063758c13b61461009a578063f933c72f146100ad575b600080fd5b61006461005f36600461239d565b6100c2565b60405190151581526020015b60405180910390f35b61008c610087366004612591565b6101a7565b60405161007092919061262f565b61008c6100a836600461266b565b61023c565b6100b5610294565b6040516100709190612801565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9e263f0a00000000000000000000000000000000000000000000000000000000148061015557507fffffffff0000000000000000000000000000000000000000000000000000000082167f758c13b600000000000000000000000000000000000000000000000000000000145b806101a157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606080602084901c601085901c61ffff861660006101c4846102a3565b905061ffff8316600061020b826101e58d3360009182526020526040902090565b8e8c604051806080016040528060528152602001612b286052913988949392919061034a565b6040805160008152602081019091529091506102299082908661049b565b9750975050505050505094509492505050565b606080600061ffff871690506000610275828b8d89604051806080016040528060528152602001612b28605291398e949392919061034a565b905061028281868961049b565b93509350505097509795505050505050565b606061029e610804565b905090565b6060813b60008190036102e2576040517f26a9f61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603e83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910180825290915080600160208401853c50919050565b6103af6040518061012001604052806060815260200160608152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b602087810180516040600191820184028b01818101518251600091821a808252948501870281019093526041808301968381019593600285020190910191908401905b8381101561043057875160f01c83015160408051600192831a80825283016020908102909101918290529084526002909901989290920191016103f2565b505050506040518061012001604052808281526020018481526020018b8152602001600081526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff168152602001888152602001838152602001878152509450505050509695505050505050565b606080600085600001518660400151815181106104ba576104ba612814565b602002602001015190506000855111156104ed5760006020865102820391506020860190506104eb818388516109a4565b505b600086604001519050600080600080600060028c6101000151518161051457610514612843565b60e08e01516101008f0151602080830151600261ffff9c909c168c8102850160219081015160f01c600093841a9e909e029095019c909c019384015160258086019c50600791831a918216918290036004029095019094019950929750019450919004915061239390805b868810156106fb57875190506002848260001a060285015160f01c925062ffffff8160e01c1691506105b68f838c8663ffffffff16565b99506002848260041a060285015160f01c925062ffffff8160c01c1691506105e38f838c8663ffffffff16565b99506002848260081a060285015160f01c925062ffffff8160a01c1691506106108f838c8663ffffffff16565b995060028482600c1a060285015160f01c925062ffffff8160801c16915061063d8f838c8663ffffffff16565b99506002848260101a060285015160f01c925062ffffff8160601c16915061066a8f838c8663ffffffff16565b99506002848260141a060285015160f01c925062ffffff8160401c1691506106978f838c8663ffffffff16565b99506002848260181a060285015160f01c925062ffffff8160201c1691506106c48f838c8663ffffffff16565b995060028482601c1a060285015160f01c925062ffffff811691506106ee8f838c8663ffffffff16565b995060208801975061057f565b601c8803975085600402880196505b868810156107465750508551601c81901a83900660020284015160f01c915062ffffff8116906107398f838c86565b995060048801975061070a565b50505050505050505060006107638760e0015188604001516109cc565b90508085106107725780610774565b845b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08084018281529192508390602084028201015b808210156107e55781518151835281526020909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016107a8565b5050806107f589606001516109e5565b94509450505050935093915050565b60408051610540810182526029808252610c596020830152610ca592820192909252610ce0606082810191909152610dc46080830152610dfe60a0830152610e2d60c0830152610e5c60e08301819052610100830152610eab610120830152610eda610140830152610f3c610160830152610fc461018083015261106b6101a083015261107f6101c08301526110d56101e08301526110e96102008301526110fe61022083015261111861024083015261112361026083015261113761028083015261114c6102a08301526111c96102c08301526112146102e083015261123a61030083015261125c61032083015261127361034083018190526103608301526112be6103808301526113096103a08301526113546103c083018190526103e083015261139f61040083018190526104208301526113ea61044083015261143561046083015261148061048083018190526104a08301526114cb6104c08301526115b26104e08301526115e561050083015261163c6105208301529190819080610992565b60405180910390fd5b61099b8161166e565b94505050505090565b8060200283015b808410156109c65783518352602093840193909201916109ab565b50505050565b6000806109d984846116ff565b5160031a949350505050565b6040805160f083901c602081810283010190925290815261ffff63ffffffff67ffffffffffffffff6fffffffffffffffffffffffffffffffff610a52565b60005b8215610a4c57825182526020830151602083015260408301519250604082019150610a26565b50919050565b602085018660101b60901c8015610b42578060401c8015610ac0578060201c8015610a8457610a818185610a23565b93505b508086168015610abe578060101c8015610aa557610aa28186610a23565b94505b508088168015610abc57610ab98186610a23565b94505b505b505b508084168015610b40578060201c8015610b04578060101c8015610aeb57610ae88186610a23565b94505b508088168015610b0257610aff8186610a23565b94505b505b508086168015610b3e578060101c8015610b2557610b228186610a23565b94505b508088168015610b3c57610b398186610a23565b94505b505b505b505b508682168015610c4e578060401c8015610bcc578060201c8015610b90578060101c8015610b7757610b748186610a23565b94505b508088168015610b8e57610b8b8186610a23565b94505b505b508086168015610bca578060101c8015610bb157610bae8186610a23565b94505b508088168015610bc857610bc58186610a23565b94505b505b505b508084168015610c4c578060201c8015610c10578060101c8015610bf757610bf48186610a23565b94505b508088168015610c0e57610c0b8186610a23565b94505b505b508086168015610c4a578060101c8015610c3157610c2e8186610a23565b94505b508088168015610c4857610c458186610a23565b94505b505b505b505b505050505050919050565b604083015183516020600192830181029190910151918401029003517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152805b9392505050565b60209283015160019290920190920201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190815290565b600060ff8316600884901c6020841015610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f737461636b20756e646572666c6f7700000000000000000000000000000000006044820152606401610989565b60008660c001518381518110610d6e57610d6e612814565b60200260200101518281518110610d8757610d87612814565b60209081029190910101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909501948552509295945050505050565b60109190911c6020028082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190920101908152919050565b437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f315781518015610f25578552610f31565b50602082019150610f0e565b509295945050505050565b6000808260208560101c0281016020810394505b80821015610f7957815192508215610f6e5760208201518552610f79565b604082019150610f50565b505080600003610fbb576040517fff86627a00000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401610989565b50909392505050565b8051600090602080840190601086901c0284015b600083118183101615610ff45781519250602082019150610fd8565b5081600003611062576040517f40dccdf600000000000000000000000000000000000000000000000000000000815261ffff8616600482015260208583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001046024820152604401610989565b95945050505050565b805160209091018051909114815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f31578151806110c9578552610f31565b506020820191506110b3565b805160209091018051909111815292915050565b80516020909101805190911015815292915050565b805160409015156020028203810151910190815292915050565b805115815292915050565b805160209091018051909110815292915050565b80516020909101805190911115815292915050565b80516020820151604090920191600091906111678282611730565b9150601085901c60025b81811015611197578551925060208601955061118d8484611730565b9350600101611171565b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0929092019182525092915050565b80516020820151604090920191600091906111e4828261174b565b9150601085901c60025b81811015611197578551925060208601955061120a848461174b565b93506001016111ee565b80516020909101805190916000919061122e82828761175a565b84525091949350505050565b80516000906112518160ff8616600887901c61175a565b835250909392505050565b80516000906112518160ff8616600887901c6117df565b805160208201516040909201916000919061128e81836128a1565b9150601085901c60025b8181101561119757855160209096019592506112b483856128a1565b9350600101611298565b80516020820151604090920191600091906112d981836128b4565b9150601085901c60025b8181101561119757855160209096019592506112ff83856128b4565b93506001016112e3565b805160208201516040909201916000919061132481836129e8565b9150601085901c60025b81811015611197578551602090960195925061134a83856129e8565b935060010161132e565b805160208201516040909201916000919080821015611371578091505b601085901c60025b81811015611197578551925060208601955082841015611397578293505b600101611379565b8051602082015160409092019160009190808211156113bc578091505b601085901c60025b818110156111975785519250602086019550828411156113e2578293505b6001016113c4565b805160208201516040909201916000919061140581836129f4565b9150601085901c60025b81811015611197578551602090960195925061142b83856129f4565b935060010161140f565b80516020820151604090920191600091906114508183612a08565b9150601085901c60025b8181101561119757855160209096019592506114768385612a08565b935060010161145a565b805160208201516040909201916000919061149b8183612a1f565b9150601085901c60025b8181101561119757855160209096019592506114c18385612a1f565b93506001016114a5565b8051606084015160009190829081906114e49084611841565b915091508160000361122e5760a087015160808801516040517f669e48aa00000000000000000000000000000000000000000000000000000000815260048101919091526024810185905260009173ffffffffffffffffffffffffffffffffffffffff169063669e48aa90604401602060405180830381865afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190612a32565b60608901519091506115a690858361188b565b60608901528552610f31565b80516020820151606085015160409093019260009291906115d490838361188b565b606087015250829150509392505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861191d565b91509150818852600189161561162e578060208901525b509598975050505050505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861195f565b60606000825160020267ffffffffffffffff81111561168f5761168f612404565b6040519080825280601f01601f1916602001820160405280156116b9576020820181803683370190505b50905061ffff80196020850160208651028101600285015b818310156116f3578051835186169085161781526020909201916002016116d1565b50939695505050505050565b60008061170b8461198b565b6002026001019050600061171f85856119a9565b949091019093016020019392505050565b6000610c9e61174884670de0b6b3a764000085611a21565b90565b6000610c9e6117488484611b2c565b6000826012111561178f57601283900360028316156117855761177d8582611c33565b915050610c9e565b61177d8582611cc3565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156117ce5761177d8582611cfb565b61177d8582611d4d565b5082610c9e565b6000826012111561180257601283900360018316156117ce5761177d8582611cfb565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156117855761177d8582611c33565b600080826000526010600f6020600020060261ffff85821c165b80156118825780518503611879576001935060208101519250611882565b6040015161185b565b50509250929050565b6000826000526010600f6020600020060261ffff85821c16805b80156118bc57805186146118bc57604001516118a5565b8015801561190a5760405191506060820160405286825285602083015282604083015260028860f01c0161ffff60f01b1989168160f01b1798505061ffff841b19881682851b179750611911565b8560208301525b50959695505050505050565b6000806000806000611930898989611d70565b9250925092508560001461194e57611949868484611f14565b611951565b60005b999098509650505050505050565b6000806000806000611972898989611d70565b9250925092508560001461194e57611949868484612094565b6000815160000361199e57506000919050565b506020015160001a90565b6002810282016003015161ffff1660006119c28461198b565b8451909150600560028302840101908111806119de5750818410155b15611a195784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610989929190612a4b565b505092915050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611a7957838281611a6f57611a6f612843565b0492505050610c9e565b838110611ac3576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610989565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84860984860292508281108382030391505080600003611b7e5750670de0b6b3a7640000900490506101a1565b670de0b6b3a76400008110611bc9576040517f5173648d0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610989565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b6000604e8210611c73578215611c69577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611c6c565b60005b90506101a1565b50600a81900a8281029083818381611c8d57611c8d612843565b0414611cb9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611cbb565b815b949350505050565b600a81900a611cd28184612a08565b9050604e82106101a1578215611cf257611ced82600a6129e8565b610c9e565b50600092915050565b6000604e8210611d1f578215611d12576001611d15565b60005b60ff1690506101a1565b600a82900a808481611d3357611d33612843565b0491508082028414611d46576001820191505b5092915050565b6000604e821015611cf25781600a0a8381611d6a57611d6a612843565b04610c9e565b600080600080611d80868661220f565b506040517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015291925060009189169063e6a4390590604401602060405180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190612a6d565b905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190612aa8565b63ffffffff1692506dffffffffffffffffffffffffffff1692506dffffffffffffffffffffffffffff1692508473ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611efc57818382611f00565b8282825b919d909c50909a5098505050505050505050565b6000808411611fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201527f55545055545f414d4f554e5400000000000000000000000000000000000000006064820152608401610989565b600083118015611fb55750600082115b612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b600061204d8585612a08565b612059906103e8612a08565b905060006120678685612a1f565b612073906103e5612a08565b905061207f81836128b4565b61208a9060016128a1565b9695505050505050565b6000808411612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201527f4e5055545f414d4f554e540000000000000000000000000000000000000000006064820152608401610989565b6000831180156121355750600082115b6121c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b60006121cf856103e5612a08565b905060006121dd8483612a08565b90506000826121ee876103e8612a08565b6121f891906128a1565b905061220481836128b4565b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260448201527f45535345530000000000000000000000000000000000000000000000000000006064820152608401610989565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061230757828461230a565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606401610989565b9250929050565b61239b612af8565b565b6000602082840312156123af57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c9e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461240157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561247a5761247a612404565b604052919050565b600067ffffffffffffffff82111561249c5761249c612404565b5060051b60200190565b600082601f8301126124b757600080fd5b813560206124cc6124c783612482565b612433565b82815260059290921b840181019181810190868411156124eb57600080fd5b8286015b8481101561250657803583529183019183016124ef565b509695505050505050565b600082601f83011261252257600080fd5b813560206125326124c783612482565b82815260059290921b8401810191818101908684111561255157600080fd5b8286015b8481101561250657803567ffffffffffffffff8111156125755760008081fd5b6125838986838b01016124a6565b845250918301918301612555565b600080600080608085870312156125a757600080fd5b84356125b2816123df565b93506020850135925060408501359150606085013567ffffffffffffffff8111156125dc57600080fd5b6125e887828801612511565b91505092959194509250565b600081518084526020808501945080840160005b8381101561262457815187529582019590820190600101612608565b509495945050505050565b60408152600061264260408301856125f4565b828103602084015261106281856125f4565b803561ffff8116811461266657600080fd5b919050565b600080600080600080600060e0888a03121561268657600080fd5b8735612691816123df565b96506020888101359650604089013567ffffffffffffffff808211156126b657600080fd5b818b0191508b601f8301126126ca57600080fd5b8135818111156126dc576126dc612404565b61270c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612433565b8181528d8583860101111561272057600080fd5b81858501868301376000858383010152809950505061274160608c01612654565b965060808b0135955060a08b013592508083111561275e57600080fd5b61276a8c848d01612511565b945060c08b013592508083111561278057600080fd5b505061278e8a828b016124a6565b91505092959891949750929550565b6000815180845260005b818110156127c3576020818501810151868301820152016127a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c9e602083018461279d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101a1576101a1612872565b6000826128c3576128c3612843565b500490565b600181815b8085111561292157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561290757612907612872565b8085161561291457918102915b93841c93908002906128cd565b509250929050565b600082612938575060016101a1565b81612945575060006101a1565b816001811461295b576002811461296557612981565b60019150506101a1565b60ff84111561297657612976612872565b50506001821b6101a1565b5060208310610133831016604e8410600b84101617156129a4575081810a6101a1565b6129ae83836128c8565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156129e0576129e0612872565b029392505050565b6000610c9e8383612929565b600082612a0357612a03612843565b500690565b80820281158282048414176101a1576101a1612872565b818103818111156101a1576101a1612872565b600060208284031215612a4457600080fd5b5051919050565b604081526000612a5e604083018561279d565b90508260208301529392505050565b600060208284031215612a7f57600080fd5b8151610c9e816123df565b80516dffffffffffffffffffffffffffff8116811461266657600080fd5b600080600060608486031215612abd57600080fd5b612ac684612a8a565b9250612ad460208501612a8a565b9150604084015163ffffffff81168114612aed57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", + "sourceMap": "2324:3600:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4688:270;;;;;;:::i;:::-;;:::i;:::-;;;516:14:211;;509:22;491:41;;479:2;464:18;4688:270:81;;;;;;;;3771:885;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5004:736::-;;;;;;:::i;:::-;;:::i;5781:141::-;;;:::i;:::-;;;;;;;:::i;4688:270::-;4773:4;4796:47;;;4811:32;4796:47;;:103;;-1:-1:-1;4847:52:81;;;4862:37;4847:52;4796:103;:155;;;-1:-1:-1;952:25:34;937:40;;;;4915:36:81;4789:162;4688:270;-1:-1:-1;;4688:270:81:o;3771:885::-;3953:16;;1518:2:95;1481:39;;;1597:2;1560:39;;;4031:105:81;;;4032:18;4176:32;1481:39:95;4176:20:81;:32::i;:::-;4146:62;-1:-1:-1;4378:6:81;4359:26;;4276:19;4439:151;4359:26;4500:38;:9;4527:10;997:42:99;1094:25;;;1139:4;1132:20;1200:4;1187:18;;;877:344;4500:38:81;4540:5;4547:7;4556:24;;;;;;;;;;;;;;;;;4439:14;;:151;;;;:34;:151::i;:::-;4620:16;;;4634:1;4620:16;;;;;;;;4405:185;;-1:-1:-1;4607:42:81;;4405:185;;4638:10;4607:12;:42::i;:::-;4600:49;;;;;;;;;;3771:885;;;;;;;:::o;5004:736::-;5307:16;5325;5410:19;5512:6;5497:13;5493:26;5478:41;;5538:31;5584:100;5619:11;5632:9;5643:5;5650:7;5659:24;;;;;;;;;;;;;;;;;5584:14;;:100;;;;:34;:100::i;:::-;5538:146;-1:-1:-1;5701:32:81;5538:146;5714:6;5722:10;5701:12;:32::i;:::-;5694:39;;;;;;5004:736;;;;;;;;;;:::o;5781:141::-;5840:12;5871:44;:42;:44::i;:::-;5864:51;;5781:141;:::o;6737:1024:38:-;6792:18;6960:21;;6822:13;7004:10;;;7000:34;;7023:11;;;;;;;;;;;;;;7000:34;7302:4;7296:11;;7472:27;;;7501:9;7468:43;7457:55;;7444:69;;;7128:13;;;;7565:20;;;7296:11;;-1:-1:-1;7128:13:38;7139:1;7487:4;7718:16;;7708:8;7696:49;7069:686;6737:1024;;;:::o;1370:3106:144:-;1629:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:25:144;1787:4;1771:21;;;2051:13;;2406:17;2066:1;2047:21;;;2037:32;;2025:45;;2406:17;;;2468:13;2766:11;;1690:14;2460:22;;;2794:34;;;2880:20;;;2876:31;;2858:50;;2845:64;;;2509:14;;;;;2025:45;;;;2460:22;2590:1;2572:20;;2560:33;;;;;3003:23;;;;3043:1236;3068:12;3065:1;3062:19;3043:1236;;;3585:13;;3579:4;3575:24;3557:43;;3721:20;3981:4;3975:11;;3718:1;3713:29;;;4007:24;;;4086:17;;4105:4;4082:28;;;4071:40;;;4132:25;;;;4228:33;;;3221:1;3209:14;;;;3315:23;;;;;3109:9;3043:1236;;;3047:14;;;;4314:145;;;;;;;;4350:12;4314:145;;;;4364:9;4314:145;;;;4375:11;4314:145;;;;4402:1;4314:145;;;;4406:9;4314:145;;;;4417:5;4314:145;;;;;;4424:7;4314:145;;;;4433:8;4314:145;;;;4443:2;4314:145;;;4307:152;;;;;;1370:3106;;;;;;;;:::o;289:9015:97:-;430:16;448;504;563:5;:18;;;582:5;:17;;;563:37;;;;;;;;:::i;:::-;;;;;;;552:48;;691:1;675:6;:13;:17;671:573;;;832:25;1042:4;1033:6;1027:13;1023:24;1013:8;1009:39;997:51;;1106:4;1098:6;1094:17;1073:38;;1154:71;1182:17;1201:8;1211:6;:13;1154:27;:71::i;:::-;694:550;671:573;1290:19;1312:5;:17;;;1290:39;;1347:14;1379:11;1408:9;1435:22;1645:15;1681:1;1663:5;:8;;;:15;:19;;;;;:::i;:::-;1746:14;;;;1807:8;;;;2119:4;2105:19;;;2178:13;2367:1;1990:6;1973:24;;;;2505:19;;;2493:32;;2227:14;2493:32;;;2487:39;2481:4;2477:50;1722:21;2170:22;;;2348:21;;;;2336:34;;;2621:33;;;;;;;2750:13;2865:14;;;;;-1:-1:-1;3061:17:97;2742:22;;;3061:17;;;3337;;;;2877:1;3333:25;3321:38;;;;;;;-1:-1:-1;3061:17:97;;-1:-1:-1;3403:20:97;;-1:-1:-1;1663:19:97;;;;-1:-1:-1;3481:147:97;;1722:21;3709:3023;3725:3;3716:6;:12;3709:3023;;;3817:6;3811:13;3803:21;;4162:1;4152:7;4145:4;4142:1;4137:13;4133:27;4129:35;4113:14;4109:56;4103:63;4097:4;4093:74;4088:79;;4224:8;4217:4;4211;4207:15;4203:30;4192:41;;4287:27;4289:5;4296:7;4305:8;4287:1;:27;;:::i;:::-;4276:38;;4501:1;4491:7;4484:4;4481:1;4476:13;4472:27;4468:35;4452:14;4448:56;4442:63;4436:4;4432:74;4427:79;;4563:8;4556:4;4550;4546:15;4542:30;4531:41;;4626:27;4628:5;4635:7;4644:8;4626:1;:27;;:::i;:::-;4615:38;;4840:1;4830:7;4823:4;4820:1;4815:13;4811:27;4807:35;4791:14;4787:56;4781:63;4775:4;4771:74;4766:79;;4902:8;4895:4;4889;4885:15;4881:30;4870:41;;4965:27;4967:5;4974:7;4983:8;4965:1;:27;;:::i;:::-;4954:38;;5180:1;5170:7;5163:4;5159:2;5154:14;5150:28;5146:36;5130:14;5126:57;5120:64;5114:4;5110:75;5105:80;;5242:8;5235:4;5229;5225:15;5221:30;5210:41;;5305:27;5307:5;5314:7;5323:8;5305:1;:27;;:::i;:::-;5294:38;;5520:1;5510:7;5503:4;5499:2;5494:14;5490:28;5486:36;5470:14;5466:57;5460:64;5454:4;5450:75;5445:80;;5582:8;5575:4;5569;5565:15;5561:30;5550:41;;5645:27;5647:5;5654:7;5663:8;5645:1;:27;;:::i;:::-;5634:38;;5859:1;5849:7;5842:4;5838:2;5833:14;5829:28;5825:36;5809:14;5805:57;5799:64;5793:4;5789:75;5784:80;;5921:8;5914:4;5908;5904:15;5900:30;5889:41;;5984:27;5986:5;5993:7;6002:8;5984:1;:27;;:::i;:::-;5973:38;;6197:1;6187:7;6180:4;6176:2;6171:14;6167:28;6163:36;6147:14;6143:57;6137:64;6131:4;6127:75;6122:80;;6259:8;6252:4;6246;6242:15;6238:30;6227:41;;6322:27;6324:5;6331:7;6340:8;6322:1;:27;;:::i;:::-;6311:38;;6535:1;6525:7;6518:4;6514:2;6509:14;6505:28;6501:36;6485:14;6481:57;6475:64;6469:4;6465:75;6460:80;;6586:8;6580:4;6576:19;6565:30;;6649:27;6651:5;6658:7;6667:8;6649:1;:27;;:::i;:::-;6638:38;;6709:4;6699:14;;;;3709:3023;;;7004:4;6994:14;;;;7041:1;7045;7041:5;7032:6;:14;7026:20;;7064:449;7080:3;7071:6;:12;7064:449;;;-1:-1:-1;;7166:13:97;;7258:2;7253:14;;;7249:28;;;7279:1;7245:36;7225:57;;7219:64;7213:4;7209:75;;-1:-1:-1;7371:8:97;7361:19;;;7434:27;7436:5;7361:19;7452:8;7209:75;7434:27::i;:::-;7423:38;;7493:1;7483:11;;;;7064:449;;;1272:6255;;;;;;;;;7755:15;7773:66;7805:5;:14;;;7821:5;:17;;;7773:31;:66::i;:::-;7755:84;;8419:7;8406:10;:20;:43;;8442:7;8406:43;;;8429:10;8406:43;8553:19;;;;8589:23;;;8396:53;;-1:-1:-1;8557:8:97;;8567:4;8935:18;;8923:31;;;8841:371;8979:1;8976;8973:8;8841:371;;;9111:8;;9150;;9140:19;;9180:14;;9016:4;9009:12;;;;9047;;8841:371;;;8845:127;;9248:6;9256:30;:5;:13;;;:28;:30::i;:::-;9240:47;;;;;;;289:9015;;;;;;:::o;18823:4081:102:-;19211:3194;;;;;;;;2305:2;19211:3194;;;19638:16;19211:3194;;;;19676:19;19211:3194;;;;;;;19792:18;18880:12;19211:3194;;;;;;;19832:15;19211:3194;;;;19869:22;19211:3194;;;;19913:18;19211:3194;;;;20113:21;19211:3194;;;;;;;;;;20237:20;19211:3194;;;;20279:14;19211:3194;;;;20315:21;19211:3194;;;;20358:17;19211:3194;;;;20397:18;19211:3194;;;;20437:16;19211:3194;;;;20475:22;19211:3194;;;;20519:31;19211:3194;;;;20572:13;19211:3194;;;;20607:17;19211:3194;;;;20646:19;19211:3194;;;;20687:28;19211:3194;;;;20737:23;19211:3194;;;;20782:23;19211:3194;;;;20827:34;19211:3194;;;;20883:27;19211:3194;;;;20932:26;19211:3194;;;;21140:17;19211:3194;;;;;;;;;;21256:17;19211:3194;;;;21295:17;19211:3194;;;;21494:17;19211:3194;;;;;;;;;;21770:17;19211:3194;;;;;;;;;;21886:17;19211:3194;;;;21925:17;19211:3194;;;;22124:17;19211:3194;;;;;;;;;;22240:14;19211:3194;;;;22276:14;19211:3194;;;;22312:26;19211:3194;;;;22360:27;19211:3194;;;;18880:12;2305:2;;;19211:3194;22678:143;;22758:48;;;;;;;;22678:143;22841:46;22871:15;22841:29;:46::i;:::-;22834:53;;;;;;18823:4081;:::o;3212:359:157:-;3390:6;3384:4;3380:17;3372:6;3368:30;3350:205;3412:4;3404:6;3401:16;3350:205;;;3539:13;;3524:29;;3458:4;3446:17;;;;3490;;;;3350:205;;;3354:46;3212:359;;;:::o;3379:320:92:-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;5878:7160:148:-;6320:4;6314:11;;6356:4;6352:13;;;6424:4;6412:17;;;6391:40;;;6378:54;;;6445:21;;;5989:16;6032;6075;6119:17;6647:406;;;6688:3;6710:299;6731:7;6724:15;6710:299;;6909:7;6903:14;6895:6;6888:30;6984:4;6975:7;6971:18;6965:25;6958:4;6950:6;6946:17;6939:52;6793:4;6784:7;6780:18;6774:25;6763:36;;6842:4;6834:6;6830:17;6820:27;;6710:299;;;-1:-1:-1;7033:6:148;6647:406;-1:-1:-1;6647:406:148:o;:::-;7481:4;7474:5;7470:16;7624:2;7618:4;7614:13;7608:4;7604:24;7662:2;7655:10;7645:2693;;7736:2;7730:4;7726:13;7781:3;7774:11;7764:1330;;8399:3;8393:4;8389:14;8453:5;8446:13;8436:65;;8473:26;8493:5;8485:6;8473:26;:::i;:::-;8463:36;;8436:65;;8584:3;8576:6;8572:16;8634:4;8627:12;8617:451;;8736:4;8730;8726:15;8795:5;8788:13;8778:65;;8815:26;8835:5;8827:6;8815:26;:::i;:::-;8805:36;;8778:65;;8935:4;8927:6;8923:17;8990:5;8983:13;8973:65;;9010:26;9030:5;9022:6;9010:26;:::i;:::-;9000:36;;8973:65;;8617:451;;7764:1330;;9160:2;9152:6;9148:15;9201:3;9194:11;9184:1136;;9285:3;9279:4;9275:14;9335:4;9328:12;9318:451;;9437:4;9431;9427:15;9496:5;9489:13;9479:65;;9516:26;9536:5;9528:6;9516:26;:::i;:::-;9506:36;;9479:65;;9636:4;9628:6;9624:17;9691:5;9684:13;9674:65;;9711:26;9731:5;9723:6;9711:26;:::i;:::-;9701:36;;9674:65;;9318:451;;9845:3;9837:6;9833:16;9891:4;9884:12;9874:424;;9985:4;9979;9975:15;10040:5;10033:13;10023:65;;10060:26;10080:5;10072:6;10060:26;:::i;:::-;10050:36;;10023:65;;10173:4;10165:6;10161:17;10224:5;10217:13;10207:65;;10244:26;10264:5;10256:6;10244:26;:::i;:::-;10234:36;;10207:65;;9874:424;;9184:1136;;7645:2693;;10407:2;10398:7;10394:16;10444:2;10437:10;10427:2581;;10518:2;10512:4;10508:13;10563:3;10556:11;10546:1218;;10655:3;10649:4;10645:14;10709:4;10702:12;10692:479;;10819:4;10813;10809:15;10882:5;10875:13;10865:65;;10902:26;10922:5;10914:6;10902:26;:::i;:::-;10892:36;;10865:65;;11030:4;11022:6;11018:17;11089:5;11082:13;11072:65;;11109:26;11129:5;11121:6;11109:26;:::i;:::-;11099:36;;11072:65;;10692:479;;11254:3;11246:6;11242:16;11304:4;11297:12;11287:451;;11406:4;11400;11396:15;11465:5;11458:13;11448:65;;11485:26;11505:5;11497:6;11485:26;:::i;:::-;11475:36;;11448:65;;11605:4;11597:6;11593:17;11660:5;11653:13;11643:65;;11680:26;11700:5;11692:6;11680:26;:::i;:::-;11670:36;;11643:65;;11287:451;;10546:1218;;11830:2;11822:6;11818:15;11871:3;11864:11;11854:1136;;11955:3;11949:4;11945:14;12005:4;11998:12;11988:451;;12107:4;12101;12097:15;12166:5;12159:13;12149:65;;12186:26;12206:5;12198:6;12186:26;:::i;:::-;12176:36;;12149:65;;12306:4;12298:6;12294:17;12361:5;12354:13;12344:65;;12381:26;12401:5;12393:6;12381:26;:::i;:::-;12371:36;;12344:65;;11988:451;;12515:3;12507:6;12503:16;12561:4;12554:12;12544:424;;12655:4;12649;12645:15;12710:5;12703:13;12693:65;;12730:26;12750:5;12742:6;12730:26;:::i;:::-;12720:36;;12693:65;;12843:4;12835:6;12831:17;12894:5;12887:13;12877:65;;12914:26;12934:5;12926:6;12914:26;:::i;:::-;12904:36;;12877:65;;12544:424;;11854:1136;;10427:2581;;10366:2656;6171:6861;;;;5878:7160;;;:::o;1172:494:101:-;1317:17;;;;1412:12;;1430:4;1453:1;1436:19;;;1426:30;;1408:49;;;;1402:56;1522:15;;;1512:26;1495:44;;1489:51;1565:19;;;;1597:28;;;1565:19;1172:494;;;;;;:::o;1141:469:100:-;1293:15;;;;;1478:1;1465:15;;;;1461:26;;;1446:42;1440:49;1514:19;;;;1546:23;;;1514:19;1141:469::o;551:810:103:-;655:7;712:4;686:30;;823:1;796:28;;;1112:4;1085:31;;1081:87;;;1132:25;;;;;8291:2:211;1132:25:103;;;8273:21:211;8330:2;8310:18;;;8303:30;8369:17;8349:18;;;8342:45;8404:18;;1132:25:103;8089:339:211;1081:87:103;1177:9;1189:5;:13;;;1203:1;1189:16;;;;;;;;:::i;:::-;;;;;;;1206:1;1189:19;;;;;;;;:::i;:::-;;;;;;;;;;;1269;;;;1301;;;-1:-1:-1;1269:19:103;;551:810;-1:-1:-1;;;;;551:810:103:o;590:386:104:-;768:4;764:18;;;;784:4;760:29;815:27;;;867:32;871:21;;;;867:32;912:23;;;867:32;;-1:-1:-1;590:386:104:o;437:259:105:-;646:8;597:19;;;;;629:26;;;597:19;437:259;-1:-1:-1;;437:259:105:o;425:260:106:-;634:9;585:19;;;;;617:27;;;585:19;425:260;-1:-1:-1;;425:260:106:o;407:299:107:-;532:17;610:19;;;;;642:23;;;610:19;407:299;-1:-1:-1;;407:299:107:o;431:262:108:-;640:11;591:19;;;;;623:29;;;591:19;431:262;-1:-1:-1;;431:262:108:o;691:609:109:-;950:32;869:4;865:18;;;885:4;861:29;954:21;;;950:32;;;;789:7;;995:264;1045:3;1037:6;1034:15;995:264;;;1112:13;;1145:11;;1142:103;;1179:22;;1222:5;;1142:103;;1074:4;1066:6;1062:17;1052:27;;995:264;;;-1:-1:-1;1285:8:109;;691:609;-1:-1:-1;;;;;691:609:109:o;1589:745:110:-;1687:7;1706:17;1786:8;1876:4;1866:7;1860:4;1856:18;1852:29;1844:6;1840:42;1920:4;1915:3;1911:14;1899:26;;1807:377;1951:3;1943:6;1940:15;1807:377;;;2025:6;2019:13;2006:26;;2052:9;2049:121;;;2119:4;2111:6;2107:17;2101:24;2091:8;2084:42;2147:5;;2049:121;1980:4;1972:6;1968:17;1958:27;;1807:377;;;1811:128;;2207:9;2220:1;2207:14;2203:100;;2244:48;;;;;8608:6:211;8596:19;;2244:48:110;;;8578:38:211;8551:18;;2244:48:110;8433:189:211;2203:100:110;-1:-1:-1;2319:8:110;;1589:745;-1:-1:-1;;;1589:745:110:o;1191:1011:111:-;1514:13;;1289:7;;1478:4;1554:17;;;;1462:4;1458:18;;;1454:29;1442:42;;1409:321;1621:1;1610:9;1607:16;1601:3;1593:6;1590:15;1586:38;1409:321;;;1665:6;1659:13;1646:26;;1711:4;1703:6;1699:17;1689:27;;1409:321;;;1413:172;1753:9;1766:1;1753:14;1749:424;;1998:150;;;;;8830:6:211;8818:19;;1998:150:111;;;8800:38:211;2126:4:111;2066:49;;;:56;;2065:65;8854:18:211;;;8847:34;8773:18;;1998:150:111;8627:260:211;1749:424:111;2189:6;1191:1011;-1:-1:-1;;;;;1191:1011:111:o;545:310:112:-;702:15;;756:4;742:19;;;797:15;;791:22;;;774:40;;742:19;545:310;-1:-1:-1;;545:310:112:o;718:610:113:-;977:32;896:4;892:18;;;912:4;888:29;981:21;;;977:32;;;;816:7;;1022:265;1072:3;1064:6;1061:15;1022:265;;;1145:6;1139:13;1179:4;1169:104;;1207:22;;1250:5;;1169:104;;1101:4;1093:6;1089:17;1079:27;;1022:265;;561:310:114;718:15;;772:4;758:19;;;813:15;;807:22;;;790:40;;758:19;561:310;-1:-1:-1;;561:310:114:o;613:318:115:-;770:15;;824:4;810:19;;;872:15;;866:22;;;859:30;842:48;;810:19;613:318;-1:-1:-1;;613:318:115:o;643:354:116:-;808:15;;862:4;934:17;;927:25;921:4;917:36;903:51;;;;897:58;848:19;;880:76;;;848:19;643:354;-1:-1:-1;;643:354:116:o;490:230:117:-;662:15;;655:23;638:41;;662:15;490:230;-1:-1:-1;;490:230:117:o;549:310:118:-;706:15;;760:4;746:19;;;801:15;;795:22;;;778:40;;746:19;549:310;-1:-1:-1;;549:310:118:o;601:318:119:-;758:15;;812:4;798:19;;;860:15;;854:22;;;847:30;830:48;;798:19;601:318;-1:-1:-1;;601:318:119:o;1068:988:120:-;1267:15;;1320:4;1306:19;;1300:26;1365:4;1351:19;;;;1166:7;;1267:15;1408:37;1267:15;1300:26;1408:3;:37::i;:::-;1389:57;-1:-1:-1;1515:4:120;1488:31;;;1545:1;1560:334;1571:6;1567:1;:10;1560:334;;;1655:8;1649:15;1644:20;;1711:4;1701:8;1697:19;1685:31;;1770:37;1787:1;1804;1770:3;:37::i;:::-;1751:57;-1:-1:-1;1858:3:120;;1560:334;;;-1:-1:-1;;;1964:19:120;;;;;1996;;;-1:-1:-1;1964:19:120;1068:988;-1:-1:-1;;1068:988:120:o;1074::121:-;1273:15;;1326:4;1312:19;;1306:26;1371:4;1357:19;;;;1172:7;;1273:15;1414:37;1273:15;1306:26;1414:3;:37::i;:::-;1395:57;-1:-1:-1;1521:4:121;1494:31;;;1551:1;1566:334;1577:6;1573:1;:10;1566:334;;;1661:8;1655:15;1650:20;;1717:4;1707:8;1703:19;1691:31;;1776:37;1793:1;1810;1776:3;:37::i;:::-;1757:57;-1:-1:-1;1864:3:121;;1566:334;;768:472:122;975:15;;1029:4;1015:19;;;1052:15;;1015:19;;866:7;;1052:15;1090:41;1052:15;975;1122:7;1090:9;:41::i;:::-;1180:19;;-1:-1:-1;1180:19:122;;768:472;-1:-1:-1;;;;768:472:122:o;653:398:123:-;833:15;;751:7;;871:71;833:15;907:4;881:30;;940:1;913:28;;;871:9;:71::i;:::-;991:19;;-1:-1:-1;991:19:123;;653:398;-1:-1:-1;;;653:398:123:o;661:397:124:-;841:15;;759:7;;879:70;841:15;914:4;888:30;;947:1;920:28;;;879:8;:70::i;741:887:125:-;940:15;;993:4;979:19;;973:26;1038:4;1024:19;;;;839:7;;940:15;1062:6;973:26;940:15;1062:6;:::i;:::-;;-1:-1:-1;1137:4:125;1110:31;;;1167:1;1182:283;1193:6;1189:1;:10;1182:283;;;1271:15;;1333:4;1319:19;;;;1271:15;-1:-1:-1;1373:6:125;1271:15;1373:6;;:::i;:::-;;-1:-1:-1;1429:3:125;;1182:283;;769:887:126;968:15;;1021:4;1007:19;;1001:26;1066:4;1052:19;;;;867:7;;968:15;1090:6;1001:26;968:15;1090:6;:::i;:::-;;-1:-1:-1;1165:4:126;1138:31;;;1195:1;1210:283;1221:6;1217:1;:10;1210:283;;;1299:15;;1361:4;1347:19;;;;1299:15;-1:-1:-1;1401:6:126;1299:15;1401:6;;:::i;:::-;;-1:-1:-1;1457:3:126;;1210:283;;775:894:127;974:15;;1027:4;1013:19;;1007:26;1072:4;1058:19;;;;873:7;;974:15;1100:6;1007:26;974:15;1100:6;:::i;:::-;1096:10;-1:-1:-1;1175:4:127;1148:31;;;1205:1;1220:287;1231:6;1227:1;:10;1220:287;;;1309:15;;1371:4;1357:19;;;;1309:15;-1:-1:-1;1415:6:127;1309:15;1415:1;:6;:::i;:::-;1411:10;-1:-1:-1;1471:3:127;;1220:287;;704:971:128;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;704:971:129;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;739:887:130;938:15;;991:4;977:19;;971:26;1036:4;1022:19;;;;837:7;;938:15;1060:6;971:26;938:15;1060:6;:::i;:::-;;-1:-1:-1;1135:4:130;1108:31;;;1165:1;1180:283;1191:6;1187:1;:10;1180:283;;;1269:15;;1331:4;1317:19;;;;1269:15;-1:-1:-1;1371:6:130;1269:15;1371:6;;:::i;:::-;;-1:-1:-1;1427:3:130;;1180:283;;755:886:131;954:15;;1007:4;993:19;;987:26;1052:4;1038:19;;;;853:7;;954:15;1076:6;987:26;954:15;1076:6;:::i;:::-;;-1:-1:-1;1151:4:131;1124:31;;;1181:1;1196:283;1207:6;1203:1;:10;1196:283;;;1285:15;;1347:4;1333:19;;;;1285:15;-1:-1:-1;1387:6:131;1285:15;1387:6;;:::i;:::-;;-1:-1:-1;1443:3:131;;1196:283;;729:887:132;928:15;;981:4;967:19;;961:26;1026:4;1012:19;;;;827:7;;928:15;1050:6;961:26;928:15;1050:6;:::i;:::-;;-1:-1:-1;1125:4:132;1098:31;;;1155:1;1170:283;1181:6;1177:1;:10;1170:283;;;1259:15;;1321:4;1307:19;;;;1259:15;-1:-1:-1;1361:6:132;1259:15;1361:6;;:::i;:::-;;-1:-1:-1;1417:3:132;;1170:283;;1003:945:133;1185:15;;1257:13;;;;1099:7;;1185:15;1099:7;;;;1257:40;;1185:15;1257:17;:40::i;:::-;1219:78;;;;1360:6;1370:1;1360:11;1356:560;;1408:11;;;;1424:15;;;;1408:37;;;;;;;;8010:25:211;;;;8051:18;;;8044:34;;;1387:18:133;;1408:15;;;;;7983:18:211;;1408:37:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1596:13;;;;1387:58;;-1:-1:-1;1596:70:133;;1631:3;1387:58;1596:17;:70::i;:::-;1580:13;;;:86;1724:28;;1356:560;;604:495:134;829:15;;890:4;876:19;;870:26;988:13;;;;939:4;925:19;;;;700:7;;829:15;870:26;988:65;;829:15;870:26;988:17;:65::i;:::-;972:13;;;:81;-1:-1:-1;1074:8:134;;-1:-1:-1;;604:495:134;;;;;:::o;700:941:135:-;970:15;;1031:4;1017:19;;;1011:26;1081:4;1067:19;;;1061:26;1132:4;1118:19;;1112:26;1217:1;1204:15;;1197:23;1187:34;;;1163:60;;;;;798:7;;970:15;798:7;;1289:154;970:15;1061:26;1112;1011;1289:39;:154::i;:::-;1242:201;;;;1510:8;1500;1493:26;1548:1;1539:7;1535:15;1532:68;;;1581:16;1574:4;1564:8;1560:19;1553:45;1532:68;-1:-1:-1;1626:8:135;;700:941;-1:-1:-1;;;;;;;;700:941:135:o;703::136:-;972:15;;1032:4;1018:19;;;1012:26;1082:4;1068:19;;;1062:26;1133:4;1119:19;;1113:26;1218:1;1205:15;;1198:23;1188:34;;;1164:60;;;;;801:7;;972:15;801:7;;1291:154;972:15;1062:26;1113;1012;1291:40;:154::i;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;3162:133:65:-;3211:14;3242:50;3247:44;3261:1;1663:4:61;3280:1:65;3247:13;:44::i;:::-;2988:1:60;2901:92;18988:128:65;19037:14;19068:45;19073:39;19089:1;19101;19073:15;:39::i;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;7325:878;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;1347:770:148:-;1413:14;1429:17;1611:3;1608:1;1601:14;1678:4;1673:2;1666:4;1663:1;1653:18;1649:27;1645:38;1807:6;1802:2;1791:9;1787:18;1783:31;1762:339;1831:7;1824:15;1762:339;;1945:7;1939:14;1934:3;1931:23;1928:159;;1987:1;1977:11;;2037:4;2028:7;2024:18;2018:25;2009:34;;2064:5;;1928:159;1889:4;1876:18;1870:25;1762:339;;;1766:50;;1347:770;;;;;:::o;2703:2078::-;2788:8;2976:3;2973:1;2966:14;3043:4;3038:2;3031:4;3028:1;3018:18;3014:27;3010:38;3236:6;3231:2;3220:9;3216:18;3212:31;3354:12;3379:140;3400:7;3393:15;3379:140;;3480:14;;3469:36;;3498:5;3469:36;3442:4;3429:18;3423:25;3379:140;;;3684:15;;3735:44;;;;3905:4;3899:11;3888:22;;3953:4;3944:7;3940:18;3934:4;3927:32;4037:3;4028:7;4021:20;4085:5;4078:4;4069:7;4065:18;4058:33;4135:12;4128:4;4119:7;4115:18;4108:40;4250:1;4245:2;4239:4;4235:13;4231:21;4380:6;4374:4;4370:17;4366:22;4362:2;4358:31;4349:6;4343:4;4339:17;4336:54;4330:60;;;4701:6;4690:9;4686:22;4682:27;4678:2;4674:36;4588:7;4577:9;4573:23;4545:187;4519:213;;3677:1069;;3735:44;3771:5;3764:4;3755:7;3751:18;3744:33;3677:1069;-1:-1:-1;4772:2:148;;2703:2078;-1:-1:-1;;;;;;2703:2078:148:o;4381:603:146:-;4535:16;4553:17;4587;4606:18;4626:24;4666:47;4686:7;4695;4704:8;4666:19;:47::i;:::-;4586:127;;;;;;4873:9;4886:1;4873:14;:66;;4894:45;4906:9;4917;4928:10;4894:11;:45::i;:::-;4873:66;;;4890:1;4873:66;4862:77;4961:16;;-1:-1:-1;4381:603:146;-1:-1:-1;;;;;;;4381:603:146:o;5265:604::-;5419:17;5438;5472;5491:18;5511:24;5551:47;5571:7;5580;5589:8;5551:19;:47::i;:::-;5471:127;;;;;;5759:8;5771:1;5759:13;:65;;5779:45;5792:8;5802:9;5813:10;5779:12;:45::i;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;831:1113::-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;14476:4121:44:-;14549:14;;;15029:6;15026:1;15023;15016:20;15061:1;15058;15054:9;15045:18;;15108:5;15104:2;15101:13;15093:5;15089:2;15085:14;15081:34;15072:43;;;15186:5;15195:1;15186:10;15182:93;;15247:11;15239:5;:19;;;;;:::i;:::-;;15232:26;;;;;;15182:93;15374:11;15365:5;:20;15361:92;;15404:42;;;;;;;;12235:25:211;;;12276:18;;;12269:34;;;12319:18;;;12312:34;;;12208:18;;15404:42:44;12033:319:211;15361:92:44;15725:17;15872:11;15869:1;15866;15859:25;17578:1;16437;16422:12;;:16;;16407:32;;16592:25;;;;17559:1;:15;;17558:21;;17799;;;17795:25;;17784:36;17864:21;;;17860:25;;17849:36;17930:21;;;17926:25;;17915:36;17996:21;;;17992:25;;17981:36;18062:21;;;18058:25;;18047:36;18129:21;;;18125:25;;;18114:36;;;16389:15;17110;;;17106:29;;;17102:37;;;15970:20;;;15959:32;;;17216:22;;;;16009:21;;16688:19;;;;17207:31;;;;18573:15;;;-1:-1:-1;;;;14476:4121:44:o;19581:819::-;19635:14;;;19753:6;19750:1;19747;19740:20;19785:1;19782;19778:9;19769:18;;19832:5;19828:2;19825:13;19817:5;19813:2;19809:14;19805:34;19796:43;;;19855:5;19864:1;19855:10;19851:86;;-1:-1:-1;1506:4:44;19908:12;;;-1:-1:-1;19901:19:44;;19851:86;1506:4;19947:5;:13;19943:74;;19979:31;;;;;;;;8010:25:211;;;8051:18;;;8044:34;;;7983:18;;19979:31:44;7836:248:211;19943:74:44;20023:17;20107:4;20104:1;20101;20094:18;20314:10;20192:21;;;20188:38;20263:20;-1:-1:-1;20252:32:44;;;20286:43;20248:82;20164:184;;;;20366:12;20143:249;;-1:-1:-1;;19581:819:44;;;;:::o;3534:689:152:-;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;;4171:1;4157:35;4153:39;3534:689;-1:-1:-1;;;;3534:689:152:o;2590:688::-;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;5720:1;5715:6;;;;5677:63;5397:357;5172:598;;;;:::o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;2102:790:146;2227:16;2245;2263:17;2297:14;2316:26;2327:6;2335;2316:10;:26::i;:::-;-1:-1:-1;2566:50:146;;;;;:34;12610:15:211;;;2566:50:146;;;12592:34:211;12662:15;;;12642:18;;;12635:43;2296:46:146;;-1:-1:-1;2551:12:146;;2566:34;;;;;12504:18:211;;2566:50:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2551:65;;2627:16;2645;2663:26;2708:4;2693:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2626:101;;;;;;;;;;;;2793:6;2783:16;;:6;:16;;;:102;;2846:8;2856;2866:18;2783:102;;;2803:8;2813;2823:18;2783:102;2737:148;;;;-1:-1:-1;2737:148:146;;-1:-1:-1;2102:790:146;-1:-1:-1;;;;;;;;;2102:790:146:o;2971:499::-;3097:16;3149:1;3137:9;:13;3129:70;;;;;;;13816:2:211;3129:70:146;;;13798:21:211;13855:2;13835:18;;;13828:30;13894:34;13874:18;;;13867:62;13965:14;13945:18;;;13938:42;13997:19;;3129:70:146;13614:408:211;3129:70:146;3229:1;3217:9;:13;:31;;;;;3247:1;3234:10;:14;3217:31;3209:84;;;;;;;14229:2:211;3209:84:146;;;14211:21:211;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3209:84:146;14027:404:211;3209:84:146;3303:17;3323:21;3335:9;3323;:21;:::i;:::-;:28;;3347:4;3323:28;:::i;:::-;3303:48;-1:-1:-1;3361:19:146;3384:22;3397:9;3384:10;:22;:::i;:::-;3383:30;;3410:3;3383:30;:::i;:::-;3361:52;-1:-1:-1;3435:23:146;3361:52;3435:9;:23;:::i;:::-;3434:29;;3462:1;3434:29;:::i;:::-;3423:40;2971:499;-1:-1:-1;;;;;;2971:499:146:o;3550:549::-;3676:17;3728:1;3717:8;:12;3709:68;;;;;;;14638:2:211;3709:68:146;;;14620:21:211;14677:2;14657:18;;;14650:30;14716:34;14696:18;;;14689:62;14787:13;14767:18;;;14760:41;14818:19;;3709:68:146;14436:407:211;3709:68:146;3807:1;3795:9;:13;:31;;;;;3825:1;3812:10;:14;3795:31;3787:84;;;;;;;14229:2:211;3787:84:146;;;14211:21:211;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3787:84:146;14027:404:211;3787:84:146;3881:23;3907:14;:8;3918:3;3907:14;:::i;:::-;3881:40;-1:-1:-1;3931:17:146;3951:28;3969:10;3881:40;3951:28;:::i;:::-;3931:48;-1:-1:-1;3989:19:146;4032:15;4012:16;:9;4024:4;4012:16;:::i;:::-;4011:36;;;;:::i;:::-;3989:58;-1:-1:-1;4069:23:146;3989:58;4069:9;:23;:::i;:::-;4057:35;3550:549;-1:-1:-1;;;;;;;3550:549:146:o;762:345::-;837:14;853;897:6;887:16;;:6;:16;;;879:66;;;;;;;15050:2:211;879:66:146;;;15032:21:211;15089:2;15069:18;;;15062:30;15128:34;15108:18;;;15101:62;15199:7;15179:18;;;15172:35;15224:19;;879:66:146;14848:401:211;879:66:146;983:6;974:15;;:6;:15;;;:53;;1012:6;1020;974:53;;;993:6;1001;974:53;955:72;;-1:-1:-1;955:72:146;-1:-1:-1;1045:20:146;;;1037:63;;;;;;;15456:2:211;1037:63:146;;;15438:21:211;15495:2;15475:18;;;15468:30;15534:32;15514:18;;;15507:60;15584:18;;1037:63:146;15254:354:211;1037:63:146;762:345;;;;;:::o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:211:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:175;650:42;643:5;639:54;632:5;629:65;619:93;;708:1;705;698:12;619:93;543:175;:::o;723:184::-;775:77;772:1;765:88;872:4;869:1;862:15;896:4;893:1;886:15;912:334;983:2;977:9;1039:2;1029:13;;1044:66;1025:86;1013:99;;1142:18;1127:34;;1163:22;;;1124:62;1121:88;;;1189:18;;:::i;:::-;1225:2;1218:22;912:334;;-1:-1:-1;912:334:211:o;1251:193::-;1321:4;1354:18;1346:6;1343:30;1340:56;;;1376:18;;:::i;:::-;-1:-1:-1;1421:1:211;1417:14;1433:4;1413:25;;1251:193::o;1449:672::-;1503:5;1556:3;1549:4;1541:6;1537:17;1533:27;1523:55;;1574:1;1571;1564:12;1523:55;1610:6;1597:20;1636:4;1660:70;1676:53;1726:2;1676:53;:::i;:::-;1660:70;:::i;:::-;1764:15;;;1850:1;1846:10;;;;1834:23;;1830:32;;;1795:12;;;;1874:15;;;1871:35;;;1902:1;1899;1892:12;1871:35;1938:2;1930:6;1926:15;1950:142;1966:6;1961:3;1958:15;1950:142;;;2032:17;;2020:30;;2070:12;;;;1983;;1950:142;;;-1:-1:-1;2110:5:211;1449:672;-1:-1:-1;;;;;;1449:672:211:o;2126:920::-;2190:5;2243:3;2236:4;2228:6;2224:17;2220:27;2210:55;;2261:1;2258;2251:12;2210:55;2297:6;2284:20;2323:4;2347:70;2363:53;2413:2;2363:53;:::i;2347:70::-;2451:15;;;2537:1;2533:10;;;;2521:23;;2517:32;;;2482:12;;;;2561:15;;;2558:35;;;2589:1;2586;2579:12;2558:35;2625:2;2617:6;2613:15;2637:380;2653:6;2648:3;2645:15;2637:380;;;2739:3;2726:17;2775:18;2762:11;2759:35;2756:125;;;2835:1;2864:2;2860;2853:14;2756:125;2906:68;2970:3;2965:2;2951:11;2943:6;2939:24;2935:33;2906:68;:::i;:::-;2894:81;;-1:-1:-1;2995:12:211;;;;2670;;2637:380;;3051:778;3289:6;3297;3305;3313;3366:3;3354:9;3345:7;3341:23;3337:33;3334:53;;;3383:1;3380;3373:12;3334:53;3422:9;3409:23;3441:52;3487:5;3441:52;:::i;:::-;3512:5;-1:-1:-1;3564:2:211;3549:18;;3536:32;;-1:-1:-1;3615:2:211;3600:18;;3587:32;;-1:-1:-1;3670:2:211;3655:18;;3642:32;3697:18;3686:30;;3683:50;;;3729:1;3726;3719:12;3683:50;3752:71;3815:7;3806:6;3795:9;3791:22;3752:71;:::i;:::-;3742:81;;;3051:778;;;;;;;:::o;3834:435::-;3887:3;3925:5;3919:12;3952:6;3947:3;3940:19;3978:4;4007:2;4002:3;3998:12;3991:19;;4044:2;4037:5;4033:14;4065:1;4075:169;4089:6;4086:1;4083:13;4075:169;;;4150:13;;4138:26;;4184:12;;;;4219:15;;;;4111:1;4104:9;4075:169;;;-1:-1:-1;4260:3:211;;3834:435;-1:-1:-1;;;;;3834:435:211:o;4274:465::-;4531:2;4520:9;4513:21;4494:4;4557:56;4609:2;4598:9;4594:18;4586:6;4557:56;:::i;:::-;4661:9;4653:6;4649:22;4644:2;4633:9;4629:18;4622:50;4689:44;4726:6;4718;4689:44;:::i;4744:185::-;4837:20;;4897:6;4886:18;;4876:29;;4866:57;;4919:1;4916;4909:12;4866:57;4744:185;;;:::o;4934:1811::-;5238:6;5246;5254;5262;5270;5278;5286;5339:3;5327:9;5318:7;5314:23;5310:33;5307:53;;;5356:1;5353;5346:12;5307:53;5395:9;5382:23;5414:52;5460:5;5414:52;:::i;:::-;5485:5;-1:-1:-1;5509:2:211;5543:18;;;5530:32;;-1:-1:-1;5613:2:211;5598:18;;5585:32;5636:18;5666:14;;;5663:34;;;5693:1;5690;5683:12;5663:34;5731:6;5720:9;5716:22;5706:32;;5776:7;5769:4;5765:2;5761:13;5757:27;5747:55;;5798:1;5795;5788:12;5747:55;5834:2;5821:16;5856:2;5852;5849:10;5846:36;;;5862:18;;:::i;:::-;5904:112;6012:2;5943:66;5936:4;5932:2;5928:13;5924:86;5920:95;5904:112;:::i;:::-;6039:2;6032:5;6025:17;6079:7;6074:2;6069;6065;6061:11;6057:20;6054:33;6051:53;;;6100:1;6097;6090:12;6051:53;6155:2;6150;6146;6142:11;6137:2;6130:5;6126:14;6113:45;6199:1;6194:2;6189;6182:5;6178:14;6174:23;6167:34;6220:5;6210:15;;;;6244:63;6303:2;6292:9;6288:18;6244:63;:::i;:::-;6234:73;;6354:3;6343:9;6339:19;6326:33;6316:43;;6412:3;6401:9;6397:19;6384:33;6368:49;;6442:2;6432:8;6429:16;6426:36;;;6458:1;6455;6448:12;6426:36;6481:73;6546:7;6535:8;6524:9;6520:24;6481:73;:::i;:::-;6471:83;;6607:3;6596:9;6592:19;6579:33;6563:49;;6637:2;6627:8;6624:16;6621:36;;;6653:1;6650;6643:12;6621:36;;;6676:63;6731:7;6720:8;6709:9;6705:24;6676:63;:::i;:::-;6666:73;;;4934:1811;;;;;;;;;;:::o;6750:481::-;6791:3;6829:5;6823:12;6856:6;6851:3;6844:19;6881:1;6891:162;6905:6;6902:1;6899:13;6891:162;;;6967:4;7023:13;;;7019:22;;7013:29;6995:11;;;6991:20;;6984:59;6920:12;6891:162;;;6895:3;7098:1;7091:4;7082:6;7077:3;7073:16;7069:27;7062:38;7220:4;7150:66;7145:2;7137:6;7133:15;7129:88;7124:3;7120:98;7116:109;7109:116;;;6750:481;;;;:::o;7236:217::-;7383:2;7372:9;7365:21;7346:4;7403:44;7443:2;7432:9;7428:18;7420:6;7403:44;:::i;7458:184::-;7510:77;7507:1;7500:88;7607:4;7604:1;7597:15;7631:4;7628:1;7621:15;7647:184;7699:77;7696:1;7689:88;7796:4;7793:1;7786:15;7820:4;7817:1;7810:15;8892:184;8944:77;8941:1;8934:88;9041:4;9038:1;9031:15;9065:4;9062:1;9055:15;9081:125;9146:9;;;9167:10;;;9164:36;;;9180:18;;:::i;9211:120::-;9251:1;9277;9267:35;;9282:18;;:::i;:::-;-1:-1:-1;9316:9:211;;9211:120::o;9336:482::-;9425:1;9468:5;9425:1;9482:330;9503:7;9493:8;9490:21;9482:330;;;9622:4;9554:66;9550:77;9544:4;9541:87;9538:113;;;9631:18;;:::i;:::-;9681:7;9671:8;9667:22;9664:55;;;9701:16;;;;9664:55;9780:22;;;;9740:15;;;;9482:330;;;9486:3;9336:482;;;;;:::o;9823:866::-;9872:5;9902:8;9892:80;;-1:-1:-1;9943:1:211;9957:5;;9892:80;9991:4;9981:76;;-1:-1:-1;10028:1:211;10042:5;;9981:76;10073:4;10091:1;10086:59;;;;10159:1;10154:130;;;;10066:218;;10086:59;10116:1;10107:10;;10130:5;;;10154:130;10191:3;10181:8;10178:17;10175:43;;;10198:18;;:::i;:::-;-1:-1:-1;;10254:1:211;10240:16;;10269:5;;10066:218;;10368:2;10358:8;10355:16;10349:3;10343:4;10340:13;10336:36;10330:2;10320:8;10317:16;10312:2;10306:4;10303:12;10299:35;10296:77;10293:159;;;-1:-1:-1;10405:19:211;;;10437:5;;10293:159;10484:34;10509:8;10503:4;10484:34;:::i;:::-;10614:6;10546:66;10542:79;10533:7;10530:92;10527:118;;;10625:18;;:::i;:::-;10663:20;;9823:866;-1:-1:-1;;;9823:866:211:o;10694:131::-;10754:5;10783:36;10810:8;10804:4;10783:36;:::i;10830:112::-;10862:1;10888;10878:35;;10893:18;;:::i;:::-;-1:-1:-1;10927:9:211;;10830:112::o;10947:168::-;11020:9;;;11051;;11068:15;;;11062:22;;11048:37;11038:71;;11089:18;;:::i;11120:128::-;11187:9;;;11208:11;;;11205:37;;;11222:18;;:::i;11551:184::-;11621:6;11674:2;11662:9;11653:7;11649:23;11645:32;11642:52;;;11690:1;11687;11680:12;11642:52;-1:-1:-1;11713:16:211;;11551:184;-1:-1:-1;11551:184:211:o;11740:288::-;11915:2;11904:9;11897:21;11878:4;11935:44;11975:2;11964:9;11960:18;11952:6;11935:44;:::i;:::-;11927:52;;12015:6;12010:2;11999:9;11995:18;11988:34;11740:288;;;;;:::o;12689:272::-;12759:6;12812:2;12800:9;12791:7;12787:23;12783:32;12780:52;;;12828:1;12825;12818:12;12780:52;12860:9;12854:16;12879:52;12925:5;12879:52;:::i;12966:188::-;13045:13;;13098:30;13087:42;;13077:53;;13067:81;;13144:1;13141;13134:12;13159:450;13246:6;13254;13262;13315:2;13303:9;13294:7;13290:23;13286:32;13283:52;;;13331:1;13328;13321:12;13283:52;13354:40;13384:9;13354:40;:::i;:::-;13344:50;;13413:49;13458:2;13447:9;13443:18;13413:49;:::i;:::-;13403:59;;13505:2;13494:9;13490:18;13484:25;13549:10;13542:5;13538:22;13531:5;13528:33;13518:61;;13575:1;13572;13565:12;13518:61;13598:5;13588:15;;;13159:450;;;;;:::o;15613:184::-;15665:77;15662:1;15655:88;15762:4;15759:1;15752:15;15786:4;15783:1;15776:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "eval(address,uint256,uint256,uint256[][])": "6715f825", + "functionPointers()": "f933c72f", + "offchainDebugEval(address,uint256,bytes,uint16,uint256,uint256[][],uint256[])": "758c13b6", + "supportsInterface(bytes4)": "01ffc9a7" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ensureCode\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"errorIndex\",\"type\":\"uint256\"}],\"name\":\"EnsureFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"condCode\",\"type\":\"uint256\"}],\"name\":\"NoConditionsMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReadError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"StateNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"EncodedDispatch\",\"name\":\"dispatch\",\"type\":\"uint256\"},{\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"eval\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"functionPointers\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"FullyQualifiedNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expressionData\",\"type\":\"bytes\"},{\"internalType\":\"SourceIndex\",\"name\":\"sourceIndex16\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxOutputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"},{\"internalType\":\"uint256[]\",\"name\":\"inputs\",\"type\":\"uint256[]\"}],\"name\":\"offchainDebugEval\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EnsureFailed(uint256,uint256)\":[{\"params\":{\"ensureCode\":\"The ensure code that was evaluated. This is the low 16 bits of the operand. Allows the author to provide more context about which condition failed if there is more than one in the expression.\",\"errorIndex\":\"The index of the condition that failed.\"}}],\"NoConditionsMet(uint256)\":[{\"params\":{\"condCode\":\"The condition code that was evaluated. This is the low 16 bits of the operand. Allows the author to provide more context about which condition failed if there is more than one in the expression.\"}}]},\"kind\":\"dev\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"params\":{\"context\":\"A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.\",\"dispatch\":\"All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.\",\"namespace\":\"The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.\",\"store\":\"The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`.\"},\"returns\":{\"_0\":\"The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.\",\"_1\":\"A list of pairwise key/value items to be saved in the store.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"title\":\"RainterpreterNP\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"EnsureFailed(uint256,uint256)\":[{\"notice\":\"Thrown if a zero condition is found.\"}],\"NoConditionsMet(uint256)\":[{\"notice\":\"Thrown if no nonzero condition is found.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv18} overflows uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}],\"ReadError()\":[{\"notice\":\"Thrown if reading a zero length address.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}]},\"kind\":\"user\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"notice\":\"There are MANY ways that eval can be forced into undefined/corrupt behaviour by passing in invalid data. This is a deliberate design decision to allow for the interpreter to be as gas efficient as possible. The interpreter is provably read only, it contains no state changing evm opcodes reachable on any logic path. This means that the caller can only harm themselves by passing in invalid data and either reverting, exhausting gas or getting back some garbage data. The caller can trivially protect themselves from these OOB issues by ensuring the integrity check has successfully run over the bytecode before calling eval. Any smart contract caller can do this by using a trusted and appropriate deployer contract to deploy the bytecode, which will automatically run the integrity check during deployment, then keeping a registry of trusted expression addresses for itself in storage. This appears first in the contract in the hope that the compiler will put it in the most efficient internal dispatch location to save a few gas per eval call.\"},\"functionPointers()\":{\"notice\":\"Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \\\"compile\\\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction.\"},\"offchainDebugEval(address,uint256,bytes,uint16,uint256,uint256[][],uint256[])\":{\"notice\":\"A more explicit/open version of `eval` that is designed for offchain debugging. It MUST function identically to `eval` so implementations MAY call it directly internally for `eval` to ensure consistency at the expense of a small amount of gas. The affordances made for debugging are: - A fully qualified namespace is passed in. This allows for storage reads from the perspective of an arbitrary caller during `eval`. Note that it does not allow for arbitrary writes, which are still gated by the store contract itself, so this is safe to expose. - The bytecode is passed in directly. This allows for debugging of bytecode that has not been deployed to the chain yet. - The components of the encoded dispatch other than the onchain expression address are passed separately. This remove the need to provide an address at all. - Inputs to the entrypoint stack are passed in directly. This allows for debugging/simulating logic that could normally only be accessed via. some internal dispatch with a mid-flight state creating inputs for the internal call.\"}},\"notice\":\"!!EXPERIMENTAL!! implementation of a Rainlang interpreter that is compatible with native onchain Rainlang parsing. Initially copied verbatim from the JS compatible Rainterpreter. This interpreter is deliberately separate from the JS Rainterpreter to allow for experimentation with the onchain interpreter without affecting the JS interpreter, up to and including a complely different execution model and opcodes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/rain.interpreter/src/concrete/RainterpreterNP.sol\":\"RainterpreterNP\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.datacontract/src/lib/LibDataContract.sol\":{\"keccak256\":\"0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670\",\"dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/concrete/RainterpreterNP.sol\":{\"keccak256\":\"0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239\",\"dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol\":{\"keccak256\":\"0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30\",\"dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/eval/LibEvalNP.sol\":{\"keccak256\":\"0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36\",\"dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol\":{\"keccak256\":\"0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce\",\"dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.lib.typecast/src/LibCast.sol\":{\"keccak256\":\"0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378\",\"dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "dynamicLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "standardOpsLength", + "type": "uint256" + } + ], + "type": "error", + "name": "BadDynamicLength" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "ensureCode", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "errorIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "EnsureFailed" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "condCode", + "type": "uint256" + } + ], + "type": "error", + "name": "NoConditionsMet" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_MulDiv18_Overflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "y", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "type": "error", + "name": "PRBMath_MulDiv_Overflow" + }, + { + "inputs": [], + "type": "error", + "name": "ReadError" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "SourceOffsetOutOfBounds" + }, + { + "inputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "StateNamespace", + "name": "namespace", + "type": "uint256" + }, + { + "internalType": "EncodedDispatch", + "name": "dispatch", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + } + ], + "stateMutability": "view", + "type": "function", + "name": "eval", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "functionPointers", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "FullyQualifiedNamespace", + "name": "namespace", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "expressionData", + "type": "bytes" + }, + { + "internalType": "SourceIndex", + "name": "sourceIndex16", + "type": "uint16" + }, + { + "internalType": "uint256", + "name": "maxOutputs", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + }, + { + "internalType": "uint256[]", + "name": "inputs", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function", + "name": "offchainDebugEval", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "eval(address,uint256,uint256,uint256[][])": { + "params": { + "context": "A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.", + "dispatch": "All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.", + "namespace": "The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.", + "store": "The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`." + }, + "returns": { + "_0": "The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.", + "_1": "A list of pairwise key/value items to be saved in the store." + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "eval(address,uint256,uint256,uint256[][])": { + "notice": "There are MANY ways that eval can be forced into undefined/corrupt behaviour by passing in invalid data. This is a deliberate design decision to allow for the interpreter to be as gas efficient as possible. The interpreter is provably read only, it contains no state changing evm opcodes reachable on any logic path. This means that the caller can only harm themselves by passing in invalid data and either reverting, exhausting gas or getting back some garbage data. The caller can trivially protect themselves from these OOB issues by ensuring the integrity check has successfully run over the bytecode before calling eval. Any smart contract caller can do this by using a trusted and appropriate deployer contract to deploy the bytecode, which will automatically run the integrity check during deployment, then keeping a registry of trusted expression addresses for itself in storage. This appears first in the contract in the hope that the compiler will put it in the most efficient internal dispatch location to save a few gas per eval call." + }, + "functionPointers()": { + "notice": "Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \"compile\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction." + }, + "offchainDebugEval(address,uint256,bytes,uint16,uint256,uint256[][],uint256[])": { + "notice": "A more explicit/open version of `eval` that is designed for offchain debugging. It MUST function identically to `eval` so implementations MAY call it directly internally for `eval` to ensure consistency at the expense of a small amount of gas. The affordances made for debugging are: - A fully qualified namespace is passed in. This allows for storage reads from the perspective of an arbitrary caller during `eval`. Note that it does not allow for arbitrary writes, which are still gated by the store contract itself, so this is safe to expose. - The bytecode is passed in directly. This allows for debugging of bytecode that has not been deployed to the chain yet. - The components of the encoded dispatch other than the onchain expression address are passed separately. This remove the need to provide an address at all. - Inputs to the entrypoint stack are passed in directly. This allows for debugging/simulating logic that could normally only be accessed via. some internal dispatch with a mid-flight state creating inputs for the internal call." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "lib/rain.interpreter/src/concrete/RainterpreterNP.sol": "RainterpreterNP" + }, + "libraries": {} + }, + "sources": { + "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": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/rain.datacontract/src/lib/LibDataContract.sol": { + "keccak256": "0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900", + "urls": [ + "bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670", + "dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/prb-math/src/Common.sol": { + "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", + "urls": [ + "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", + "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { + "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", + "urls": [ + "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", + "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { + "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", + "urls": [ + "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", + "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { + "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", + "urls": [ + "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", + "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { + "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", + "urls": [ + "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", + "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { + "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", + "urls": [ + "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", + "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { + "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", + "urls": [ + "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", + "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { + "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", + "urls": [ + "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", + "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { + "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", + "urls": [ + "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", + "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { + "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", + "urls": [ + "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", + "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { + "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", + "urls": [ + "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", + "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { + "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", + "urls": [ + "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", + "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { + "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", + "urls": [ + "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", + "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { + "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", + "urls": [ + "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", + "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { + "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", + "urls": [ + "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", + "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { + "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", + "urls": [ + "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", + "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { + "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", + "urls": [ + "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", + "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { + "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", + "urls": [ + "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", + "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { + "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", + "urls": [ + "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", + "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { + "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", + "urls": [ + "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", + "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { + "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", + "urls": [ + "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", + "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { + "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", + "urls": [ + "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", + "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { + "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", + "urls": [ + "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", + "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" + ], + "license": "MIT" + }, + "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { + "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", + "urls": [ + "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", + "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { + "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", + "urls": [ + "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", + "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { + "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", + "urls": [ + "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", + "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" + ], + "license": null + }, + "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { + "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", + "urls": [ + "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", + "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" + ], + "license": null + }, + "lib/rain.interpreter/src/concrete/RainterpreterNP.sol": { + "keccak256": "0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078", + "urls": [ + "bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239", + "dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol": { + "keccak256": "0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026", + "urls": [ + "bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30", + "dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { + "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", + "urls": [ + "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", + "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol": { + "keccak256": "0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e", + "urls": [ + "bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36", + "dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { + "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", + "urls": [ + "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", + "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { + "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", + "urls": [ + "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", + "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { + "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", + "urls": [ + "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", + "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { + "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", + "urls": [ + "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", + "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { + "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", + "urls": [ + "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", + "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { + "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", + "urls": [ + "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", + "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { + "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", + "urls": [ + "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", + "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { + "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", + "urls": [ + "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", + "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { + "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", + "urls": [ + "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", + "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { + "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", + "urls": [ + "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", + "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { + "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", + "urls": [ + "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", + "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { + "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", + "urls": [ + "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", + "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { + "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", + "urls": [ + "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", + "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { + "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", + "urls": [ + "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", + "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { + "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", + "urls": [ + "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", + "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { + "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", + "urls": [ + "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", + "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { + "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", + "urls": [ + "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", + "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { + "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", + "urls": [ + "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", + "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { + "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", + "urls": [ + "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", + "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { + "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", + "urls": [ + "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", + "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { + "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", + "urls": [ + "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", + "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { + "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", + "urls": [ + "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", + "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { + "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", + "urls": [ + "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", + "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { + "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", + "urls": [ + "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", + "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { + "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", + "urls": [ + "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", + "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { + "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", + "urls": [ + "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", + "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { + "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", + "urls": [ + "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", + "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { + "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", + "urls": [ + "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", + "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { + "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", + "urls": [ + "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", + "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { + "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", + "urls": [ + "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", + "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { + "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", + "urls": [ + "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", + "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { + "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", + "urls": [ + "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", + "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { + "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", + "urls": [ + "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", + "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { + "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", + "urls": [ + "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", + "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { + "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", + "urls": [ + "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", + "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { + "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", + "urls": [ + "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", + "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { + "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", + "urls": [ + "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", + "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { + "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", + "urls": [ + "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", + "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { + "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", + "urls": [ + "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", + "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { + "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", + "urls": [ + "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", + "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParse.sol": { + "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", + "urls": [ + "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", + "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { + "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", + "urls": [ + "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", + "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { + "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", + "urls": [ + "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", + "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { + "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", + "urls": [ + "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", + "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { + "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", + "urls": [ + "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", + "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { + "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", + "urls": [ + "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", + "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol": { + "keccak256": "0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231", + "urls": [ + "bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce", + "dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { + "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", + "urls": [ + "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", + "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { + "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", + "urls": [ + "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", + "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { + "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", + "urls": [ + "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", + "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" + ], + "license": "CAL" + }, + "lib/rain.lib.typecast/src/LibCast.sol": { + "keccak256": "0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369", + "urls": [ + "bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378", + "dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { + "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", + "urls": [ + "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", + "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { + "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", + "urls": [ + "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", + "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemory.sol": { + "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", + "urls": [ + "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", + "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibStackPointer.sol": { + "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", + "urls": [ + "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", + "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterNP.sol", + "id": 55568, + "exportedSymbols": { + "DEFAULT_STATE_NAMESPACE": [ + 55824 + ], + "ERC165": [ + 45446 + ], + "EncodedDispatch": [ + 55812 + ], + "FullyQualifiedNamespace": [ + 55773 + ], + "IDebugInterpreterV2": [ + 55935 + ], + "IERC165": [ + 45458 + ], + "IInterpreterStoreV1": [ + 55805 + ], + "IInterpreterV1": [ + 55855 + ], + "InterpreterStateNP": [ + 70213 + ], + "InvalidSourceIndex": [ + 55379 + ], + "LibAllStandardOpsNP": [ + 58346 + ], + "LibCast": [ + 86840 + ], + "LibDataContract": [ + 86790 + ], + "LibEncodedDispatch": [ + 56784 + ], + "LibEvalNP": [ + 57101 + ], + "LibInterpreterStateDataContractNP": [ + 70181 + ], + "LibMemoryKV": [ + 70767 + ], + "LibNamespace": [ + 57518 + ], + "LibPointer": [ + 71831 + ], + "LibStackPointer": [ + 71994 + ], + "LibUint256Array": [ + 72222 + ], + "MemoryKV": [ + 70680 + ], + "NO_STORE": [ + 55782 + ], + "NegativeStackLength": [ + 55373 + ], + "OPCODE_FUNCTION_POINTERS": [ + 55383 + ], + "Operand": [ + 55816 + ], + "Pointer": [ + 71711 + ], + "RainterpreterNP": [ + 55567 + ], + "SourceIndex": [ + 55810 + ], + "StateNamespace": [ + 55814 + ] + }, + "nodeType": "SourceUnit", + "src": "32:5893:81", + "nodes": [ + { + "id": 55344, + "nodeType": "PragmaDirective", + "src": "32:24:81", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 55345, + "nodeType": "ImportDirective", + "src": "58:77:81", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 45447, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 55346, + "nodeType": "ImportDirective", + "src": "137:47:81", + "nodes": [], + "absolutePath": "lib/rain.lib.typecast/src/LibCast.sol", + "file": "lib/rain.lib.typecast/src/LibCast.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 86841, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 55348, + "nodeType": "ImportDirective", + "src": "185:82:81", + "nodes": [], + "absolutePath": "lib/rain.datacontract/src/lib/LibDataContract.sol", + "file": "lib/rain.datacontract/src/lib/LibDataContract.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 86791, + "symbolAliases": [ + { + "foreign": { + "id": 55347, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86790, + "src": "193:15:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55349, + "nodeType": "ImportDirective", + "src": "269:55:81", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol", + "file": "../interface/unstable/IDebugInterpreterV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 55936, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 55351, + "nodeType": "ImportDirective", + "src": "326:52:81", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol", + "file": "../lib/eval/LibEvalNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 57102, + "symbolAliases": [ + { + "foreign": { + "id": 55350, + "name": "LibEvalNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57101, + "src": "334:9:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55352, + "nodeType": "ImportDirective", + "src": "379:36:81", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", + "file": "../lib/ns/LibNamespace.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 57519, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 55354, + "nodeType": "ImportDirective", + "src": "416:101:81", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol", + "file": "../lib/state/LibInterpreterStateDataContractNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 70182, + "symbolAliases": [ + { + "foreign": { + "id": 55353, + "name": "LibInterpreterStateDataContractNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70181, + "src": "424:33:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55355, + "nodeType": "ImportDirective", + "src": "518:46:81", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "file": "../lib/caller/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 56785, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 55358, + "nodeType": "ImportDirective", + "src": "566:90:81", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", + "file": "../lib/op/LibAllStandardOpsNP.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 58347, + "symbolAliases": [ + { + "foreign": { + "id": 55356, + "name": "LibAllStandardOpsNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58346, + "src": "574:19:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 55357, + "name": "InterpreterStateNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70213, + "src": "595:18:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55361, + "nodeType": "ImportDirective", + "src": "657:75:81", + "nodes": [], + "absolutePath": "lib/rain.solmem/src/lib/LibPointer.sol", + "file": "lib/rain.solmem/src/lib/LibPointer.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 71832, + "symbolAliases": [ + { + "foreign": { + "id": 55359, + "name": "LibPointer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71831, + "src": "665:10:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 55360, + "name": "Pointer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71711, + "src": "677:7:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55363, + "nodeType": "ImportDirective", + "src": "733:76:81", + "nodes": [], + "absolutePath": "lib/rain.solmem/src/lib/LibStackPointer.sol", + "file": "lib/rain.solmem/src/lib/LibStackPointer.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 71995, + "symbolAliases": [ + { + "foreign": { + "id": 55362, + "name": "LibStackPointer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71994, + "src": "741:15:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55365, + "nodeType": "ImportDirective", + "src": "810:76:81", + "nodes": [], + "absolutePath": "lib/rain.solmem/src/lib/LibUint256Array.sol", + "file": "lib/rain.solmem/src/lib/LibUint256Array.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 72223, + "symbolAliases": [ + { + "foreign": { + "id": 55364, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72222, + "src": "818:15:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55368, + "nodeType": "ImportDirective", + "src": "887:81:81", + "nodes": [], + "absolutePath": "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol", + "file": "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol", + "nameLocation": "-1:-1:-1", + "scope": 55568, + "sourceUnit": 70768, + "symbolAliases": [ + { + "foreign": { + "id": 55366, + "name": "LibMemoryKV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70767, + "src": "895:11:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 55367, + "name": "MemoryKV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70680, + "src": "908:8:81", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 55373, + "nodeType": "ErrorDefinition", + "src": "1028:41:81", + "nodes": [], + "documentation": { + "id": 55369, + "nodeType": "StructuredDocumentation", + "src": "970:58:81", + "text": "Thrown when the stack length is negative during eval." + }, + "errorSelector": "fa17b26c", + "name": "NegativeStackLength", + "nameLocation": "1034:19:81", + "parameters": { + "id": 55372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55371, + "mutability": "mutable", + "name": "length", + "nameLocation": "1061:6:81", + "nodeType": "VariableDeclaration", + "scope": 55373, + "src": "1054:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 55370, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1054:6:81", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1053:15:81" + } + }, + { + "id": 55379, + "nodeType": "ErrorDefinition", + "src": "1279:50:81", + "nodes": [], + "documentation": { + "id": 55374, + "nodeType": "StructuredDocumentation", + "src": "1071:208:81", + "text": "Thrown when the source index is invalid during eval. This is a runtime check\n for the exposed external eval entrypoint. Internally recursive evals are\n expected to preflight check the source index." + }, + "errorSelector": "09829ba8", + "name": "InvalidSourceIndex", + "nameLocation": "1285:18:81", + "parameters": { + "id": 55378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55377, + "mutability": "mutable", + "name": "sourceIndex", + "nameLocation": "1316:11:81", + "nodeType": "VariableDeclaration", + "scope": 55379, + "src": "1304:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 55376, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55375, + "name": "SourceIndex", + "nameLocations": [ + "1304:11:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55810, + "src": "1304:11:81" + }, + "referencedDeclaration": 55810, + "src": "1304:11:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + } + ], + "src": "1303:25:81" + } + }, + { + "id": 55383, + "nodeType": "VariableDeclaration", + "src": "1634:215:81", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "OPCODE_FUNCTION_POINTERS", + "nameLocation": "1649:24:81", + "scope": 55568, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55381, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1634:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "hexValue": "0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", + "id": 55382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1680:169:81", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_60eefc5c0b62055a182fdf38cd968a9b2dc217ef521a50508e75d81efea75215", + "typeString": "literal_string hex\"0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c\"" + } + }, + "visibility": "internal" + }, + { + "id": 55567, + "nodeType": "ContractDefinition", + "src": "2324:3600:81", + "nodes": [ + { + "id": 55394, + "nodeType": "UsingForDirective", + "src": "2402:39:81", + "nodes": [], + "global": false, + "libraryName": { + "id": 55391, + "name": "LibEvalNP", + "nameLocations": [ + "2408:9:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57101, + "src": "2408:9:81" + }, + "typeName": { + "id": 55393, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55392, + "name": "InterpreterStateNP", + "nameLocations": [ + "2422:18:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 70213, + "src": "2422:18:81" + }, + "referencedDeclaration": 70213, + "src": "2422:18:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_storage_ptr", + "typeString": "struct InterpreterStateNP" + } + } + }, + { + "id": 55398, + "nodeType": "UsingForDirective", + "src": "2446:38:81", + "nodes": [], + "global": false, + "libraryName": { + "id": 55395, + "name": "LibNamespace", + "nameLocations": [ + "2452:12:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57518, + "src": "2452:12:81" + }, + "typeName": { + "id": 55397, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55396, + "name": "StateNamespace", + "nameLocations": [ + "2469:14:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55814, + "src": "2469:14:81" + }, + "referencedDeclaration": 55814, + "src": "2469:14:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeString": "StateNamespace" + } + } + }, + { + "id": 55401, + "nodeType": "UsingForDirective", + "src": "2489:50:81", + "nodes": [], + "global": false, + "libraryName": { + "id": 55399, + "name": "LibInterpreterStateDataContractNP", + "nameLocations": [ + "2495:33:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 70181, + "src": "2495:33:81" + }, + "typeName": { + "id": 55400, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2533:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "id": 55474, + "nodeType": "FunctionDefinition", + "src": "3771:885:81", + "nodes": [], + "body": { + "id": 55473, + "nodeType": "Block", + "src": "3989:667:81", + "nodes": [], + "statements": [ + { + "assignments": [ + 55425, + 55428, + 55430 + ], + "declarations": [ + { + "constant": false, + "id": 55425, + "mutability": "mutable", + "name": "expression", + "nameLocation": "4040:10:81", + "nodeType": "VariableDeclaration", + "scope": 55473, + "src": "4032:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 55424, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4032:7:81", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55428, + "mutability": "mutable", + "name": "sourceIndex16", + "nameLocation": "4064:13:81", + "nodeType": "VariableDeclaration", + "scope": 55473, + "src": "4052:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 55427, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55426, + "name": "SourceIndex", + "nameLocations": [ + "4052:11:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55810, + "src": "4052:11:81" + }, + "referencedDeclaration": 55810, + "src": "4052:11:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55430, + "mutability": "mutable", + "name": "maxOutputs", + "nameLocation": "4087:10:81", + "nodeType": "VariableDeclaration", + "scope": 55473, + "src": "4079:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 55429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4079:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 55435, + "initialValue": { + "arguments": [ + { + "id": 55433, + "name": "dispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55411, + "src": "4127:8:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeString": "EncodedDispatch" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeString": "EncodedDispatch" + } + ], + "expression": { + "id": 55431, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56784, + "src": "4101:18:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$56784_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 55432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4120:6:81", + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": 56783, + "src": "4101:25:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_EncodedDispatch_$55812_$returns$_t_address_$_t_userDefinedValueType$_SourceIndex_$55810_$_t_uint16_$", + "typeString": "function (EncodedDispatch) pure returns (address,SourceIndex,uint16)" + } + }, + "id": 55434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4101:35:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_userDefinedValueType$_SourceIndex_$55810_$_t_uint16_$", + "typeString": "tuple(address,SourceIndex,uint16)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4031:105:81" + }, + { + "assignments": [ + 55437 + ], + "declarations": [ + { + "constant": false, + "id": 55437, + "mutability": "mutable", + "name": "expressionData", + "nameLocation": "4159:14:81", + "nodeType": "VariableDeclaration", + "scope": 55473, + "src": "4146:27:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55436, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4146:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 55442, + "initialValue": { + "arguments": [ + { + "id": 55440, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55425, + "src": "4197:10:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 55438, + "name": "LibDataContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86790, + "src": "4176:15:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$86790_$", + "typeString": "type(library LibDataContract)" + } + }, + "id": 55439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4192:4:81", + "memberName": "read", + "nodeType": "MemberAccess", + "referencedDeclaration": 86758, + "src": "4176:20:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address) view returns (bytes memory)" + } + }, + "id": 55441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4176:32:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4146:62:81" + }, + { + "assignments": [ + 55444 + ], + "declarations": [ + { + "constant": false, + "id": 55444, + "mutability": "mutable", + "name": "sourceIndex", + "nameLocation": "4284:11:81", + "nodeType": "VariableDeclaration", + "scope": 55473, + "src": "4276:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 55443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4276:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 55445, + "nodeType": "VariableDeclarationStatement", + "src": "4276:19:81" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "4330:65:81", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4344:41:81", + "value": { + "arguments": [ + { + "name": "sourceIndex16", + "nodeType": "YulIdentifier", + "src": "4363:13:81" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4378:6:81", + "type": "", + "value": "0xFFFF" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4359:3:81" + }, + "nodeType": "YulFunctionCall", + "src": "4359:26:81" + }, + "variableNames": [ + { + "name": "sourceIndex", + "nodeType": "YulIdentifier", + "src": "4344:11:81" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 55444, + "isOffset": false, + "isSlot": false, + "src": "4344:11:81", + "valueSize": 1 + }, + { + "declaration": 55428, + "isOffset": false, + "isSlot": false, + "src": "4363:13:81", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 55446, + "nodeType": "InlineAssembly", + "src": "4305:90:81" + }, + { + "assignments": [ + 55449 + ], + "declarations": [ + { + "constant": false, + "id": 55449, + "mutability": "mutable", + "name": "state", + "nameLocation": "4431:5:81", + "nodeType": "VariableDeclaration", + "scope": 55473, + "src": "4405:31:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeString": "struct InterpreterStateNP" + }, + "typeName": { + "id": 55448, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55447, + "name": "InterpreterStateNP", + "nameLocations": [ + "4405:18:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 70213, + "src": "4405:18:81" + }, + "referencedDeclaration": 70213, + "src": "4405:18:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_storage_ptr", + "typeString": "struct InterpreterStateNP" + } + }, + "visibility": "internal" + } + ], + "id": 55462, + "initialValue": { + "arguments": [ + { + "id": 55452, + "name": "sourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55444, + "src": "4487:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "expression": { + "id": 55455, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4527:3:81", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 55456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4531:6:81", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4527:10:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 55453, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55408, + "src": "4500:9:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeString": "StateNamespace" + } + }, + "id": 55454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4510:16:81", + "memberName": "qualifyNamespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 57517, + "src": "4500:26:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$55814_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$55773_$attached_to$_t_userDefinedValueType$_StateNamespace_$55814_$", + "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" + } + }, + "id": 55457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4500:38:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeString": "FullyQualifiedNamespace" + } + }, + { + "id": 55458, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55405, + "src": "4540:5:81", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 55459, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55415, + "src": "4547:7:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 55460, + "name": "OPCODE_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55383, + "src": "4556:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeString": "FullyQualifiedNamespace" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 55450, + "name": "expressionData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55437, + "src": "4439:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 55451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4454:19:81", + "memberName": "unsafeDeserializeNP", + "nodeType": "MemberAccess", + "referencedDeclaration": 70180, + "src": "4439:34:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55773_$_t_contract$_IInterpreterStoreV1_$55805_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,FullyQualifiedNamespace,contract IInterpreterStoreV1,uint256[] memory[] memory,bytes memory) pure returns (struct InterpreterStateNP memory)" + } + }, + "id": 55461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4439:151:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeString": "struct InterpreterStateNP memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4405:185:81" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 55468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4634:1:81", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 55467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4620:13:81", + "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": 55465, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4624:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55466, + "nodeType": "ArrayTypeName", + "src": "4624:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 55469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4620:16:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 55470, + "name": "maxOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55430, + "src": "4638:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 55463, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55449, + "src": "4607:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeString": "struct InterpreterStateNP memory" + } + }, + "id": 55464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4613:6:81", + "memberName": "evalNP", + "nodeType": "MemberAccess", + "referencedDeclaration": 57100, + "src": "4607:12:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$", + "typeString": "function (struct InterpreterStateNP memory,uint256[] memory,uint256) view returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 55471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4607:42:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 55423, + "id": 55472, + "nodeType": "Return", + "src": "4600:49:81" + } + ] + }, + "baseFunctions": [ + 55854 + ], + "documentation": { + "id": 55402, + "nodeType": "StructuredDocumentation", + "src": "2545:1221:81", + "text": "There are MANY ways that eval can be forced into undefined/corrupt\n behaviour by passing in invalid data. This is a deliberate design\n decision to allow for the interpreter to be as gas efficient as\n possible. The interpreter is provably read only, it contains no state\n changing evm opcodes reachable on any logic path. This means that\n the caller can only harm themselves by passing in invalid data and\n either reverting, exhausting gas or getting back some garbage data.\n The caller can trivially protect themselves from these OOB issues by\n ensuring the integrity check has successfully run over the bytecode\n before calling eval. Any smart contract caller can do this by using a\n trusted and appropriate deployer contract to deploy the bytecode, which\n will automatically run the integrity check during deployment, then\n keeping a registry of trusted expression addresses for itself in storage.\n This appears first in the contract in the hope that the compiler will\n put it in the most efficient internal dispatch location to save a few\n gas per eval call.\n @inheritdoc IInterpreterV1" + }, + "functionSelector": "6715f825", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "eval", + "nameLocation": "3780:4:81", + "parameters": { + "id": 55416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55405, + "mutability": "mutable", + "name": "store", + "nameLocation": "3814:5:81", + "nodeType": "VariableDeclaration", + "scope": 55474, + "src": "3794:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 55404, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55403, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "3794:19:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55805, + "src": "3794:19:81" + }, + "referencedDeclaration": 55805, + "src": "3794:19:81", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55408, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "3844:9:81", + "nodeType": "VariableDeclaration", + "scope": 55474, + "src": "3829:24:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 55407, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55406, + "name": "StateNamespace", + "nameLocations": [ + "3829:14:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55814, + "src": "3829:14:81" + }, + "referencedDeclaration": 55814, + "src": "3829:14:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55411, + "mutability": "mutable", + "name": "dispatch", + "nameLocation": "3879:8:81", + "nodeType": "VariableDeclaration", + "scope": 55474, + "src": "3863:24:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 55410, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55409, + "name": "EncodedDispatch", + "nameLocations": [ + "3863:15:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55812, + "src": "3863:15:81" + }, + "referencedDeclaration": 55812, + "src": "3863:15:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55415, + "mutability": "mutable", + "name": "context", + "nameLocation": "3916:7:81", + "nodeType": "VariableDeclaration", + "scope": 55474, + "src": "3897:26:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 55412, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3897:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55413, + "nodeType": "ArrayTypeName", + "src": "3897:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 55414, + "nodeType": "ArrayTypeName", + "src": "3897:11:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "src": "3784:145:81" + }, + "returnParameters": { + "id": 55423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55419, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55474, + "src": "3953:16:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3953:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55418, + "nodeType": "ArrayTypeName", + "src": "3953:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55422, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55474, + "src": "3971:16:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3971:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55421, + "nodeType": "ArrayTypeName", + "src": "3971:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "3952:36:81" + }, + "scope": 55567, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 55502, + "nodeType": "FunctionDefinition", + "src": "4688:270:81", + "nodes": [], + "body": { + "id": 55501, + "nodeType": "Block", + "src": "4779:179:81", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 55499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 55494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 55487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55482, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55476, + "src": "4796:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 55484, + "name": "IInterpreterV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55855, + "src": "4816:14:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$55855_$", + "typeString": "type(contract IInterpreterV1)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$55855_$", + "typeString": "type(contract IInterpreterV1)" + } + ], + "id": 55483, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4811:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 55485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4811:20:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterV1_$55855", + "typeString": "type(contract IInterpreterV1)" + } + }, + "id": 55486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4832:11:81", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4811:32:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4796:47:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 55493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 55488, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55476, + "src": "4847:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 55490, + "name": "IDebugInterpreterV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55935, + "src": "4867:19:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$55935_$", + "typeString": "type(contract IDebugInterpreterV2)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$55935_$", + "typeString": "type(contract IDebugInterpreterV2)" + } + ], + "id": 55489, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4862:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 55491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4862:25:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IDebugInterpreterV2_$55935", + "typeString": "type(contract IDebugInterpreterV2)" + } + }, + "id": 55492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4888:11:81", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4862:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4847:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4796:103:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 55497, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55476, + "src": "4939:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 55495, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4915:5:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_RainterpreterNP_$55567_$", + "typeString": "type(contract super RainterpreterNP)" + } + }, + "id": 55496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4921:17:81", + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 45445, + "src": "4915:23:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 55498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4915:36:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4796:155:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 55481, + "id": 55500, + "nodeType": "Return", + "src": "4789:162:81" + } + ] + }, + "baseFunctions": [ + 45445 + ], + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4697:17:81", + "overrides": { + "id": 55478, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4755:8:81" + }, + "parameters": { + "id": 55477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55476, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4722:11:81", + "nodeType": "VariableDeclaration", + "scope": 55502, + "src": "4715:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 55475, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4715:6:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4714:20:81" + }, + "returnParameters": { + "id": 55481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55480, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55502, + "src": "4773:4:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 55479, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4773:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4772:6:81" + }, + "scope": 55567, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 55555, + "nodeType": "FunctionDefinition", + "src": "5004:736:81", + "nodes": [], + "body": { + "id": 55554, + "nodeType": "Block", + "src": "5343:397:81", + "nodes": [], + "statements": [ + { + "assignments": [ + 55533 + ], + "declarations": [ + { + "constant": false, + "id": 55533, + "mutability": "mutable", + "name": "sourceIndex", + "nameLocation": "5418:11:81", + "nodeType": "VariableDeclaration", + "scope": 55554, + "src": "5410:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 55532, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5410:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 55534, + "nodeType": "VariableDeclarationStatement", + "src": "5410:19:81" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "5464:65:81", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5478:41:81", + "value": { + "arguments": [ + { + "name": "sourceIndex16", + "nodeType": "YulIdentifier", + "src": "5497:13:81" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5512:6:81", + "type": "", + "value": "0xFFFF" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5493:3:81" + }, + "nodeType": "YulFunctionCall", + "src": "5493:26:81" + }, + "variableNames": [ + { + "name": "sourceIndex", + "nodeType": "YulIdentifier", + "src": "5478:11:81" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 55533, + "isOffset": false, + "isSlot": false, + "src": "5478:11:81", + "valueSize": 1 + }, + { + "declaration": 55514, + "isOffset": false, + "isSlot": false, + "src": "5497:13:81", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 55535, + "nodeType": "InlineAssembly", + "src": "5439:90:81" + }, + { + "assignments": [ + 55538 + ], + "declarations": [ + { + "constant": false, + "id": 55538, + "mutability": "mutable", + "name": "state", + "nameLocation": "5564:5:81", + "nodeType": "VariableDeclaration", + "scope": 55554, + "src": "5538:31:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeString": "struct InterpreterStateNP" + }, + "typeName": { + "id": 55537, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55536, + "name": "InterpreterStateNP", + "nameLocations": [ + "5538:18:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 70213, + "src": "5538:18:81" + }, + "referencedDeclaration": 70213, + "src": "5538:18:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_storage_ptr", + "typeString": "struct InterpreterStateNP" + } + }, + "visibility": "internal" + } + ], + "id": 55547, + "initialValue": { + "arguments": [ + { + "id": 55541, + "name": "sourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55533, + "src": "5619:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 55542, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55509, + "src": "5632:9:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeString": "FullyQualifiedNamespace" + } + }, + { + "id": 55543, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55506, + "src": "5643:5:81", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 55544, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55520, + "src": "5650:7:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 55545, + "name": "OPCODE_FUNCTION_POINTERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55383, + "src": "5659:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeString": "FullyQualifiedNamespace" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 55539, + "name": "expressionData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55511, + "src": "5584:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 55540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5599:19:81", + "memberName": "unsafeDeserializeNP", + "nodeType": "MemberAccess", + "referencedDeclaration": 70180, + "src": "5584:34:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55773_$_t_contract$_IInterpreterStoreV1_$55805_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,FullyQualifiedNamespace,contract IInterpreterStoreV1,uint256[] memory[] memory,bytes memory) pure returns (struct InterpreterStateNP memory)" + } + }, + "id": 55546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5584:100:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeString": "struct InterpreterStateNP memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5538:146:81" + }, + { + "expression": { + "arguments": [ + { + "id": 55550, + "name": "inputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55523, + "src": "5714:6:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 55551, + "name": "maxOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55516, + "src": "5722:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 55548, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55538, + "src": "5701:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeString": "struct InterpreterStateNP memory" + } + }, + "id": 55549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5707:6:81", + "memberName": "evalNP", + "nodeType": "MemberAccess", + "referencedDeclaration": 57100, + "src": "5701:12:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$", + "typeString": "function (struct InterpreterStateNP memory,uint256[] memory,uint256) view returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 55552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5701:32:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 55531, + "id": 55553, + "nodeType": "Return", + "src": "5694:39:81" + } + ] + }, + "baseFunctions": [ + 55934 + ], + "documentation": { + "id": 55503, + "nodeType": "StructuredDocumentation", + "src": "4964:35:81", + "text": "@inheritdoc IDebugInterpreterV2" + }, + "functionSelector": "758c13b6", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "offchainDebugEval", + "nameLocation": "5013:17:81", + "parameters": { + "id": 55524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55506, + "mutability": "mutable", + "name": "store", + "nameLocation": "5060:5:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5040:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 55505, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55504, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "5040:19:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55805, + "src": "5040:19:81" + }, + "referencedDeclaration": 55805, + "src": "5040:19:81", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55509, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "5099:9:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5075:33:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeString": "FullyQualifiedNamespace" + }, + "typeName": { + "id": 55508, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55507, + "name": "FullyQualifiedNamespace", + "nameLocations": [ + "5075:23:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55773, + "src": "5075:23:81" + }, + "referencedDeclaration": 55773, + "src": "5075:23:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeString": "FullyQualifiedNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55511, + "mutability": "mutable", + "name": "expressionData", + "nameLocation": "5131:14:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5118:27:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55510, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5118:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55514, + "mutability": "mutable", + "name": "sourceIndex16", + "nameLocation": "5167:13:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5155:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 55513, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 55512, + "name": "SourceIndex", + "nameLocations": [ + "5155:11:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55810, + "src": "5155:11:81" + }, + "referencedDeclaration": 55810, + "src": "5155:11:81", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55516, + "mutability": "mutable", + "name": "maxOutputs", + "nameLocation": "5198:10:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5190:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 55515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5190:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55520, + "mutability": "mutable", + "name": "context", + "nameLocation": "5237:7:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5218:26:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 55517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5218:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55518, + "nodeType": "ArrayTypeName", + "src": "5218:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 55519, + "nodeType": "ArrayTypeName", + "src": "5218:11:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55523, + "mutability": "mutable", + "name": "inputs", + "nameLocation": "5271:6:81", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5254:23:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5254:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55522, + "nodeType": "ArrayTypeName", + "src": "5254:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "5030:253:81" + }, + "returnParameters": { + "id": 55531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55527, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5307:16:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5307:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55526, + "nodeType": "ArrayTypeName", + "src": "5307:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55530, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55555, + "src": "5325:16:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 55528, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5325:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 55529, + "nodeType": "ArrayTypeName", + "src": "5325:9:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "5306:36:81" + }, + "scope": 55567, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 55566, + "nodeType": "FunctionDefinition", + "src": "5781:141:81", + "nodes": [], + "body": { + "id": 55565, + "nodeType": "Block", + "src": "5854:68:81", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 55561, + "name": "LibAllStandardOpsNP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58346, + "src": "5871:19:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58346_$", + "typeString": "type(library LibAllStandardOpsNP)" + } + }, + "id": 55562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5891:22:81", + "memberName": "opcodeFunctionPointers", + "nodeType": "MemberAccess", + "referencedDeclaration": 58345, + "src": "5871:42:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 55563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5871:44:81", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 55560, + "id": 55564, + "nodeType": "Return", + "src": "5864:51:81" + } + ] + }, + "baseFunctions": [ + 55831 + ], + "documentation": { + "id": 55556, + "nodeType": "StructuredDocumentation", + "src": "5746:30:81", + "text": "@inheritdoc IInterpreterV1" + }, + "functionSelector": "f933c72f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionPointers", + "nameLocation": "5790:16:81", + "parameters": { + "id": 55557, + "nodeType": "ParameterList", + "parameters": [], + "src": "5806:2:81" + }, + "returnParameters": { + "id": 55560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55559, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 55566, + "src": "5840:12:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 55558, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5840:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5839:14:81" + }, + "scope": 55567, + "stateMutability": "view", + "virtual": true, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 55385, + "name": "IInterpreterV1", + "nameLocations": [ + "2352:14:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55855, + "src": "2352:14:81" + }, + "id": 55386, + "nodeType": "InheritanceSpecifier", + "src": "2352:14:81" + }, + { + "baseName": { + "id": 55387, + "name": "IDebugInterpreterV2", + "nameLocations": [ + "2368:19:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55935, + "src": "2368:19:81" + }, + "id": 55388, + "nodeType": "InheritanceSpecifier", + "src": "2368:19:81" + }, + { + "baseName": { + "id": 55389, + "name": "ERC165", + "nameLocations": [ + "2389:6:81" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45446, + "src": "2389:6:81" + }, + "id": 55390, + "nodeType": "InheritanceSpecifier", + "src": "2389:6:81" + } + ], + "canonicalName": "RainterpreterNP", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 55384, + "nodeType": "StructuredDocumentation", + "src": "1852:472:81", + "text": "@title RainterpreterNP\n @notice !!EXPERIMENTAL!! implementation of a Rainlang interpreter that is\n compatible with native onchain Rainlang parsing. Initially copied verbatim\n from the JS compatible Rainterpreter. This interpreter is deliberately\n separate from the JS Rainterpreter to allow for experimentation with the\n onchain interpreter without affecting the JS interpreter, up to and including\n a complely different execution model and opcodes." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 55567, + 45446, + 45458, + 55935, + 55855 + ], + "name": "RainterpreterNP", + "nameLocation": "2333:15:81", + "scope": 55568, + "usedErrors": [ + 46597, + 46604, + 56031, + 57785, + 59039, + 59227, + 86673 + ] + } + ], + "license": "CAL" + }, + "id": 81 +} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json b/subgraph/tests/generated/RainterpreterStore.json similarity index 51% rename from subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json rename to subgraph/tests/generated/RainterpreterStore.json index 598585d1a9..ec195169fc 100644 --- a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterStore.json +++ b/subgraph/tests/generated/RainterpreterStore.json @@ -1,15 +1,26 @@ { "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "RainterpreterStoreOddSetLength", + "type": "error" + }, { "inputs": [ { "internalType": "FullyQualifiedNamespace", - "name": "namespace_", + "name": "namespace", "type": "uint256" }, { "internalType": "uint256", - "name": "key_", + "name": "key", "type": "uint256" } ], @@ -28,12 +39,12 @@ "inputs": [ { "internalType": "StateNamespace", - "name": "namespace_", + "name": "namespace", "type": "uint256" }, { "internalType": "uint256[]", - "name": "kvs_", + "name": "kvs", "type": "uint256[]" } ], @@ -46,7 +57,7 @@ "inputs": [ { "internalType": "bytes4", - "name": "interfaceId_", + "name": "interfaceId", "type": "bytes4" } ], @@ -63,13 +74,13 @@ } ], "bytecode": { - "object": "0x608060405234801561001057600080fd5b506102d3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b6100596100543660046101b5565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c3660046101e6565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610208565b6100f1565b005b60006001600160e01b03198216633cbd395b60e21b14806100eb57506001600160e01b031982166301ffc9a760e01b145b92915050565b600061013d846040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f19818403018152919052805160209091012092915050565b905060005b828110156101ae5783838260010181811061015f5761015f610287565b90506020020135600080848152602001908152602001600020600086868581811061018c5761018c610287565b6020908102929092013583525081019190915260400160002055600201610142565b5050505050565b6000602082840312156101c757600080fd5b81356001600160e01b0319811681146101df57600080fd5b9392505050565b600080604083850312156101f957600080fd5b50508035926020909101359150565b60008060006040848603121561021d57600080fd5b83359250602084013567ffffffffffffffff8082111561023c57600080fd5b818601915086601f83011261025057600080fd5b81358181111561025f57600080fd5b8760208260051b850101111561027457600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052603260045260246000fdfea26469706673582212205932529ef7369b668f48c9e33d89f184a4d59d54c09a9a34c2e04ba21bc551c064736f6c63430008120033", - "sourceMap": "630:1586:123:-:0;;;;;;;;;;;;;;;;;;;", + "object": "0x608060405234801561001057600080fd5b50610372806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b61005961005436600461021e565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c366004610267565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610289565b610153565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff2f4e56c00000000000000000000000000000000000000000000000000000000148061014d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b61015e600282610308565b1561019c576040517f042a603d0000000000000000000000000000000000000000000000000000000081526004810182905260240160405180910390fd5b60008381523360205260408120905b82811015610217578383826001018181106101c8576101c8610343565b9050602002013560008084815260200190815260200160002060008686858181106101f5576101f5610343565b60209081029290920135835250810191909152604001600020556002016101ab565b5050505050565b60006020828403121561023057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461026057600080fd5b9392505050565b6000806040838503121561027a57600080fd5b50508035926020909101359150565b60008060006040848603121561029e57600080fd5b83359250602084013567ffffffffffffffff808211156102bd57600080fd5b818601915086601f8301126102d157600080fd5b8135818111156102e057600080fd5b8760208260051b85010111156102f557600080fd5b6020830194508093505050509250925092565b60008261033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd", + "sourceMap": "704:1873:82:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b6100596100543660046101b5565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c3660046101e6565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610208565b6100f1565b005b60006001600160e01b03198216633cbd395b60e21b14806100eb57506001600160e01b031982166301ffc9a760e01b145b92915050565b600061013d846040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009060540160408051601f19818403018152919052805160209091012092915050565b905060005b828110156101ae5783838260010181811061015f5761015f610287565b90506020020135600080848152602001908152602001600020600086868581811061018c5761018c610287565b6020908102929092013583525081019190915260400160002055600201610142565b5050505050565b6000602082840312156101c757600080fd5b81356001600160e01b0319811681146101df57600080fd5b9392505050565b600080604083850312156101f957600080fd5b50508035926020909101359150565b60008060006040848603121561021d57600080fd5b83359250602084013567ffffffffffffffff8082111561023c57600080fd5b818601915086601f83011261025057600080fd5b81358181111561025f57600080fd5b8760208260051b850101111561027457600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052603260045260246000fdfea26469706673582212205932529ef7369b668f48c9e33d89f184a4d59d54c09a9a34c2e04ba21bc551c064736f6c63430008120033", - "sourceMap": "630:1586:123:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1334:252;;;;;;:::i;:::-;;:::i;:::-;;;470:14:282;;463:22;445:41;;433:2;418:18;1334:252:123;;;;;;;;2050:164;;;;;;:::i;:::-;2158:7;2184:17;;;;;;;;;;;:23;;;;;;;;;;2050:164;;;;941:25:282;;;929:2;914:18;2050:164:123;795:177:282;1632:372:123;;;;;;:::i;:::-;;:::i;:::-;;1334:252;1434:4;-1:-1:-1;;;;;;1469:53:123;;-1:-1:-1;;;1469:53:123;;:110;;-1:-1:-1;;;;;;;1538:41:123;;-1:-1:-1;;;1538:41:123;1469:110;1450:129;1334:252;-1:-1:-1;;1334:252:123:o;1632:372::-;1740:48;1791:46;:10;18817:150:118;;-1:-1:-1;;18863:10:118;2010:2:282;2006:15;2002:53;18817:150:118;;;1990:66:282;2072:12;;;2065:28;;;18653:23:118;;2109:12:282;;18817:150:118;;;-1:-1:-1;;18817:150:118;;;;;;;;;18782:207;;18817:150;18782:207;;;;;18558:470;-1:-1:-1;;18558:470:118;1791:46:123;1740:97;;1856:10;1851:137;1872:16;;;1851:137;;;1961:4;;1966:2;1971:1;1966:6;1961:12;;;;;;;:::i;:::-;;;;;;;1917:5;:31;1923:24;1917:31;;;;;;;;;;;:41;1949:4;;1954:2;1949:8;;;;;;;:::i;:::-;;;;;;;;;;1917:41;;-1:-1:-1;1917:41:123;;;;;;;;-1:-1:-1;1917:41:123;:56;1896:1;1890:7;1851:137;;;;1716:282;1632:372;;;:::o;14:286:282:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:282;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:282:o;497:293::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:52;;;687:1;684;677:12;639:52;-1:-1:-1;;710:23:282;;;780:2;765:18;;;752:32;;-1:-1:-1;497:293:282:o;977:719::-;1108:6;1116;1124;1177:2;1165:9;1156:7;1152:23;1148:32;1145:52;;;1193:1;1190;1183:12;1145:52;1229:9;1216:23;1206:33;;1290:2;1279:9;1275:18;1262:32;1313:18;1354:2;1346:6;1343:14;1340:34;;;1370:1;1367;1360:12;1340:34;1408:6;1397:9;1393:22;1383:32;;1453:7;1446:4;1442:2;1438:13;1434:27;1424:55;;1475:1;1472;1465:12;1424:55;1515:2;1502:16;1541:2;1533:6;1530:14;1527:34;;;1557:1;1554;1547:12;1527:34;1610:7;1605:2;1595:6;1592:1;1588:14;1584:2;1580:23;1576:32;1573:45;1570:65;;;1631:1;1628;1621:12;1570:65;1662:2;1658;1654:11;1644:21;;1684:6;1674:16;;;;;977:719;;;;;:::o;1701:127::-;1762:10;1757:3;1753:20;1750:1;1743:31;1793:4;1790:1;1783:15;1817:4;1814:1;1807:15", + "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b61005961005436600461021e565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c366004610267565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610289565b610153565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff2f4e56c00000000000000000000000000000000000000000000000000000000148061014d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b61015e600282610308565b1561019c576040517f042a603d0000000000000000000000000000000000000000000000000000000081526004810182905260240160405180910390fd5b60008381523360205260408120905b82811015610217578383826001018181106101c8576101c8610343565b9050602002013560008084815260200190815260200160002060008686858181106101f5576101f5610343565b60209081029290920135835250810191909152604001600020556002016101ab565b5050505050565b60006020828403121561023057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461026057600080fd5b9392505050565b6000806040838503121561027a57600080fd5b50508035926020909101359150565b60008060006040848603121561029e57600080fd5b83359250602084013567ffffffffffffffff808211156102bd57600080fd5b818601915086601f8301126102d157600080fd5b8135818111156102e057600080fd5b8760208260051b85010111156102f557600080fd5b6020830194508093505050509250925092565b60008261033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd", + "sourceMap": "704:1873:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:207;;;;;;:::i;:::-;;:::i;:::-;;;516:14:209;;509:22;491:41;;479:2;464:18;1542:207:82;;;;;;;;2436:139;;;;;;:::i;:::-;2520:7;2546:17;;;;;;;;;;;:22;;;;;;;;;;2436:139;;;;987:25:209;;;975:2;960:18;2436:139:82;841:177:209;1795:595:82;;;;;;:::i;:::-;;:::i;:::-;;1542:207;1627:4;1650:52;;;1665:37;1650:52;;:92;;-1:-1:-1;952:25:34;937:40;;;;1706:36:82;1643:99;1542:207;-1:-1:-1;;1542:207:82:o;1795:595::-;2015:14;2028:1;2015:3;:14;:::i;:::-;:19;2011:99;;2057:42;;;;;;;;987:25:209;;;960:18;;2057:42:82;;;;;;;2011:99;2143:47;1094:25:98;;;2220:10:82;1139:4:98;1132:20;1200:4;1187:18;;;2245:129:82;2265:14;;;2245:129;;;2349:3;;2353:1;2357;2353:5;2349:10;;;;;;;:::i;:::-;;;;;;;2307:6;:31;2314:23;2307:31;;;;;;;;;;;:39;2339:3;;2343:1;2339:6;;;;;;;:::i;:::-;;;;;;;;;;2307:39;;-1:-1:-1;2307:39:82;;;;;;;;-1:-1:-1;2307:39:82;:52;2286:1;2281:6;2245:129;;;;2119:265;1795:595;;;:::o;14:332:209:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:209:o;543:293::-;656:6;664;717:2;705:9;696:7;692:23;688:32;685:52;;;733:1;730;723:12;685:52;-1:-1:-1;;756:23:209;;;826:2;811:18;;;798:32;;-1:-1:-1;543:293:209:o;1023:719::-;1154:6;1162;1170;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;1275:9;1262:23;1252:33;;1336:2;1325:9;1321:18;1308:32;1359:18;1400:2;1392:6;1389:14;1386:34;;;1416:1;1413;1406:12;1386:34;1454:6;1443:9;1439:22;1429:32;;1499:7;1492:4;1488:2;1484:13;1480:27;1470:55;;1521:1;1518;1511:12;1470:55;1561:2;1548:16;1587:2;1579:6;1576:14;1573:34;;;1603:1;1600;1593:12;1573:34;1656:7;1651:2;1641:6;1638:1;1634:14;1630:2;1626:23;1622:32;1619:45;1616:65;;;1677:1;1674;1667:12;1616:65;1708:2;1704;1700:11;1690:21;;1730:6;1720:16;;;;;1023:719;;;;;:::o;1747:266::-;1779:1;1805;1795:189;;1840:77;1837:1;1830:88;1941:4;1938:1;1931:15;1969:4;1966:1;1959:15;1795:189;-1:-1:-1;1998:9:209;;1747:266::o;2018:184::-;2070:77;2067:1;2060:88;2167:4;2164:1;2157:15;2191:4;2188:1;2181:15", "linkReferences": {} }, "methodIdentifiers": { @@ -77,24 +88,35 @@ "set(uint256,uint256[])": "946aadc6", "supportsInterface(bytes4)": "01ffc9a7" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"FullyQualifiedNamespace\",\"name\":\"namespace_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"key_\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"StateNamespace\",\"name\":\"namespace_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"kvs_\",\"type\":\"uint256[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"get(uint256,uint256)\":{\"params\":{\"key\":\"The key to get the value for within the namespace.\",\"namespace\":\"The fully qualified namespace to get a single value for.\"},\"returns\":{\"_0\":\"The value OR ZERO IF NOT SET.\"}},\"set(uint256,uint256[])\":{\"params\":{\"kvs\":\"The list of changes to apply to the store's internal state.\",\"namespace\":\"The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set.\"}}},\"title\":\"RainterpreterStore\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"get(uint256,uint256)\":{\"notice\":\"Given a fully qualified namespace and key, return the associated value. Ostensibly the interpreter can use this to implement opcodes that read previously set values. The interpreter MUST apply the same qualification logic as the store that it uses to guarantee consistent round tripping of data and prevent malicious behaviours. Technically also allows onchain reads of any set value from any contract, not just interpreters, but in this case readers MUST be aware and handle inconsistencies between get and set while the state changes are still in memory in the calling context and haven't yet been persisted to the store. `IInterpreterStoreV1` uses the same fallback behaviour for unset keys as Solidity. Specifically, any UNSET VALUES SILENTLY FALLBACK TO `0`.\"},\"set(uint256,uint256[])\":{\"notice\":\"Mutates the interpreter store in bulk. The bulk values are provided in the form of a `uint256[]` which can be treated e.g. as pairwise keys and values to be stored in a Solidity mapping. The `IInterpreterStoreV1` defines the meaning of the `uint256[]` for its own storage logic.\"}},\"notice\":\"Simplest possible `IInterpreterStoreV1` that could work. Takes key/value pairings from the input array and stores each in an internal mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and doesn't attempt to do any deduping etc. if the same key appears twice it will be set twice.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interpreter/shared/RainterpreterStore.sol\":\"RainterpreterStore\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/\",\":rain.cooldown/=lib/rain.cooldown/src/\",\":rain.math.saturating/=lib/rain.math.saturating/src/\",\":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"contracts/array/LibUint256Array.sol\":{\"keccak256\":\"0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426\",\"dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe\"]},\"contracts/interpreter/deploy/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc\",\"dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw\"]},\"contracts/interpreter/deploy/LibIntegrityCheck.sol\":{\"keccak256\":\"0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a\",\"dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6\"]},\"contracts/interpreter/run/IInterpreterV1.sol\":{\"keccak256\":\"0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20\",\"dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY\"]},\"contracts/interpreter/run/LibInterpreterState.sol\":{\"keccak256\":\"0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72\",\"dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq\"]},\"contracts/interpreter/run/LibStackPointer.sol\":{\"keccak256\":\"0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e\",\"dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L\"]},\"contracts/interpreter/shared/RainterpreterStore.sol\":{\"keccak256\":\"0x92bc02e9929756cfae764a9cb9060de143c4e3146b0bde9c72dfba10de9202d0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://43551725696a6555fb74a001608c9cdc3b389e9f127ad50eae6500e4015da064\",\"dweb:/ipfs/QmZXj8PYabTLeRBWhSQiEeYcCBq1BMfHDMAZWEZD3B4xd9\"]},\"contracts/interpreter/store/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462\",\"dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1\"]},\"contracts/kv/LibMemoryKV.sol\":{\"keccak256\":\"0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7\",\"dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny\"]},\"contracts/memory/LibMemorySize.sol\":{\"keccak256\":\"0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451\",\"dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA\"]},\"contracts/type/LibCast.sol\":{\"keccak256\":\"0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe\",\"dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo\"]},\"contracts/type/LibConvert.sol\":{\"keccak256\":\"0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75\",\"dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu\"]},\"lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6\",\"dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc\"]},\"lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol\":{\"keccak256\":\"0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8\",\"dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol\":{\"keccak256\":\"0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c\",\"dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis\"]},\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d\",\"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"RainterpreterStoreOddSetLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"FullyQualifiedNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"StateNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"kvs\",\"type\":\"uint256[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"get(uint256,uint256)\":{\"params\":{\"key\":\"The key to get the value for within the namespace.\",\"namespace\":\"The fully qualified namespace to get a single value for.\"},\"returns\":{\"_0\":\"The value OR ZERO IF NOT SET.\"}},\"set(uint256,uint256[])\":{\"params\":{\"kvs\":\"The list of changes to apply to the store's internal state.\",\"namespace\":\"The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"title\":\"RainterpreterStore\",\"version\":1},\"userdoc\":{\"errors\":{\"RainterpreterStoreOddSetLength(uint256)\":[{\"notice\":\"Thrown when a `set` call is made with an odd number of arguments.\"}]},\"kind\":\"user\",\"methods\":{\"get(uint256,uint256)\":{\"notice\":\"Given a fully qualified namespace and key, return the associated value. Ostensibly the interpreter can use this to implement opcodes that read previously set values. The interpreter MUST apply the same qualification logic as the store that it uses to guarantee consistent round tripping of data and prevent malicious behaviours. Technically also allows onchain reads of any set value from any contract, not just interpreters, but in this case readers MUST be aware and handle inconsistencies between get and set while the state changes are still in memory in the calling context and haven't yet been persisted to the store. `IInterpreterStoreV1` uses the same fallback behaviour for unset keys as Solidity. Specifically, any UNSET VALUES SILENTLY FALLBACK TO `0`.\"},\"set(uint256,uint256[])\":{\"notice\":\"Mutates the interpreter store in bulk. The bulk values are provided in the form of a `uint256[]` which can be treated e.g. as pairwise keys and values to be stored in a Solidity mapping. The `IInterpreterStoreV1` defines the meaning of the `uint256[]` for its own storage logic.\"}},\"notice\":\"Simplest possible `IInterpreterStoreV1` that could work. Takes key/value pairings from the input array and stores each in an internal mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and doesn't attempt to do any deduping etc. if the same key appears twice it will be set twice.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/rain.interpreter/src/concrete/RainterpreterStore.sol\":\"RainterpreterStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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/rain.interpreter/src/concrete/RainterpreterStore.sol\":{\"keccak256\":\"0x2bb0bc36ee356970400facde7a329d9379a6fadbcaf67ad1bb89561965b88768\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5963312d3dfdbf1a3270dd8f6cce07bf9566f748fc2e2891dd0d0ce5bb011ba5\",\"dweb:/ipfs/Qmdgf9ootn8JozoQdkT5CZimHQeC4FeTZCrKEyAwrv2DoD\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]}},\"version\":1}", "metadata": { "compiler": { - "version": "0.8.18+commit.87f61d96" + "version": "0.8.19+commit.7dd6d404" }, "language": "Solidity", "output": { "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "type": "error", + "name": "RainterpreterStoreOddSetLength" + }, { "inputs": [ { "internalType": "FullyQualifiedNamespace", - "name": "namespace_", + "name": "namespace", "type": "uint256" }, { "internalType": "uint256", - "name": "key_", + "name": "key", "type": "uint256" } ], @@ -113,12 +135,12 @@ "inputs": [ { "internalType": "StateNamespace", - "name": "namespace_", + "name": "namespace", "type": "uint256" }, { "internalType": "uint256[]", - "name": "kvs_", + "name": "kvs", "type": "uint256[]" } ], @@ -130,7 +152,7 @@ "inputs": [ { "internalType": "bytes4", - "name": "interfaceId_", + "name": "interfaceId", "type": "bytes4" } ], @@ -163,6 +185,9 @@ "kvs": "The list of changes to apply to the store's internal state.", "namespace": "The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set." } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." } }, "version": 1 @@ -182,600 +207,383 @@ }, "settings": { "remappings": [ - ":@chainlink/=node_modules/@chainlink/", - ":@eth-optimism/=node_modules/@eth-optimism/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@prb/=node_modules/@prb/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":eth-gas-reporter/=node_modules/eth-gas-reporter/", - ":forge-std/=lib/forge-std/src/", - ":hardhat/=node_modules/hardhat/", - ":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/", - ":rain.cooldown/=lib/rain.cooldown/src/", - ":rain.math.saturating/=lib/rain.math.saturating/src/", - ":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/", - ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", - ":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/", - ":sol.metadata/=lib/sol.metadata/src/" + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" ], "optimizer": { "enabled": true, - "runs": 200 + "runs": 1000000 }, "metadata": { - "bytecodeHash": "ipfs" + "bytecodeHash": "none", + "appendCBOR": false }, "compilationTarget": { - "contracts/interpreter/shared/RainterpreterStore.sol": "RainterpreterStore" + "lib/rain.interpreter/src/concrete/RainterpreterStore.sol": "RainterpreterStore" }, "libraries": {} }, "sources": { - "contracts/array/LibUint256Array.sol": { - "keccak256": "0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84", + "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", "urls": [ - "bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426", - "dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe" + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" ], - "license": "CAL" - }, - "contracts/interpreter/deploy/IExpressionDeployerV1.sol": { - "keccak256": "0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0", - "urls": [ - "bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc", - "dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw" - ], - "license": "CAL" - }, - "contracts/interpreter/deploy/LibIntegrityCheck.sol": { - "keccak256": "0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad", - "urls": [ - "bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a", - "dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6" - ], - "license": "CAL" - }, - "contracts/interpreter/run/IInterpreterV1.sol": { - "keccak256": "0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774", - "urls": [ - "bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20", - "dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibInterpreterState.sol": { - "keccak256": "0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f", - "urls": [ - "bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72", - "dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibStackPointer.sol": { - "keccak256": "0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69", - "urls": [ - "bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e", - "dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L" - ], - "license": "CAL" - }, - "contracts/interpreter/shared/RainterpreterStore.sol": { - "keccak256": "0x92bc02e9929756cfae764a9cb9060de143c4e3146b0bde9c72dfba10de9202d0", - "urls": [ - "bzz-raw://43551725696a6555fb74a001608c9cdc3b389e9f127ad50eae6500e4015da064", - "dweb:/ipfs/QmZXj8PYabTLeRBWhSQiEeYcCBq1BMfHDMAZWEZD3B4xd9" - ], - "license": "CAL" - }, - "contracts/interpreter/store/IInterpreterStoreV1.sol": { - "keccak256": "0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1", - "urls": [ - "bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462", - "dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1" - ], - "license": "CAL" - }, - "contracts/kv/LibMemoryKV.sol": { - "keccak256": "0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969", - "urls": [ - "bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7", - "dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny" - ], - "license": "CAL" + "license": "MIT" }, - "contracts/memory/LibMemorySize.sol": { - "keccak256": "0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5", + "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", "urls": [ - "bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451", - "dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA" + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" ], - "license": "CAL" + "license": "MIT" }, - "contracts/type/LibCast.sol": { - "keccak256": "0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3", + "lib/rain.interpreter/src/concrete/RainterpreterStore.sol": { + "keccak256": "0x2bb0bc36ee356970400facde7a329d9379a6fadbcaf67ad1bb89561965b88768", "urls": [ - "bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe", - "dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo" + "bzz-raw://5963312d3dfdbf1a3270dd8f6cce07bf9566f748fc2e2891dd0d0ce5bb011ba5", + "dweb:/ipfs/Qmdgf9ootn8JozoQdkT5CZimHQeC4FeTZCrKEyAwrv2DoD" ], "license": "CAL" }, - "contracts/type/LibConvert.sol": { - "keccak256": "0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de", + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", "urls": [ - "bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75", - "dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu" + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" ], "license": "CAL" }, - "lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d", + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", "urls": [ - "bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6", - "dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc" + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" ], "license": "CAL" }, - "lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol": { - "keccak256": "0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212", + "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { + "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", "urls": [ - "bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8", - "dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5" + "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", + "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" ], "license": "CAL" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": { - "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", - "urls": [ - "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", - "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol": { - "keccak256": "0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a", - "urls": [ - "bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4", - "dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol": { - "keccak256": "0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b", - "urls": [ - "bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c", - "dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis" - ], - "license": "MIT" - }, - "node_modules/hardhat/console.sol": { - "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", - "urls": [ - "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", - "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" - ], - "license": "MIT" } }, "version": 1 }, "ast": { - "absolutePath": "contracts/interpreter/shared/RainterpreterStore.sol", - "id": 19047, + "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterStore.sol", + "id": 56189, "exportedSymbols": { - "B_1": [ - 38885 - ], - "B_11": [ - 38893 - ], - "B_111": [ - 38901 - ], - "B_1111": [ - 38909 - ], - "B_11111": [ - 38917 - ], - "B_111111": [ - 38925 - ], - "B_1111111": [ - 38933 - ], - "B_11111111": [ - 38941 - ], - "B_111111111": [ - 38949 - ], - "B_1111111111": [ - 38957 - ], - "B_11111111111": [ - 38965 - ], - "B_111111111111": [ - 38973 - ], - "B_1111111111111": [ - 38981 - ], - "B_11111111111111": [ - 38989 - ], - "B_111111111111111": [ - 38997 - ], - "B_1111111111111111": [ - 39005 - ], - "DEBUG_DELIMETER": [ - 16065 - ], "DEFAULT_STATE_NAMESPACE": [ - 15858 + 56316 ], - "DebugStyle": [ - 16038 + "ERC165": [ + 45938 ], "EncodedDispatch": [ - 15846 + 56304 ], "FullyQualifiedNamespace": [ - 19051 + 56265 ], "IERC165": [ - 47118 - ], - "IExpressionDeployerV1": [ - 6051 + 45950 ], "IInterpreterStoreV1": [ - 19083 + 56297 ], "IInterpreterV1": [ - 15889 - ], - "INITIAL_STACK_BOTTOM": [ - 6104 - ], - "IntegrityCheckState": [ - 6153 - ], - "InterpreterState": [ - 16061 - ], - "InvalidPtr": [ - 19092 - ], - "LibCast": [ - 36870 - ], - "LibConvert": [ - 36909 - ], - "LibIntegrityCheck": [ - 7024 - ], - "LibInterpreterState": [ - 16746 - ], - "LibMemory": [ - 39197 - ], - "LibMemoryKV": [ - 19231 - ], - "LibMemorySize": [ - 20989 - ], - "LibStackPointer": [ - 18069 - ], - "LibUint256Array": [ - 395 - ], - "MASK_10BIT": [ - 39045 - ], - "MASK_11BIT": [ - 39049 - ], - "MASK_12BIT": [ - 39053 - ], - "MASK_13BIT": [ - 39057 - ], - "MASK_14BIT": [ - 39061 - ], - "MASK_15BIT": [ - 39065 - ], - "MASK_16BIT": [ - 39069 + 56347 ], - "MASK_1BIT": [ - 39009 - ], - "MASK_2BIT": [ - 39013 - ], - "MASK_3BIT": [ - 39017 - ], - "MASK_4BIT": [ - 39021 - ], - "MASK_5BIT": [ - 39025 - ], - "MASK_6BIT": [ - 39029 - ], - "MASK_7BIT": [ - 39033 - ], - "MASK_8BIT": [ - 39037 - ], - "MASK_9BIT": [ - 39041 - ], - "Math": [ - 48073 - ], - "MemoryKV": [ - 19094 - ], - "MemoryKVKey": [ - 19096 - ], - "MemoryKVPtr": [ - 19098 - ], - "MemoryKVVal": [ - 19100 - ], - "MinFinalStack": [ - 6121 - ], - "MinStackBottom": [ - 6107 + "LibNamespace": [ + 57980 ], "NO_STORE": [ - 19060 + 56274 ], "Operand": [ - 15850 - ], - "OutOfBoundsTruncate": [ - 8 - ], - "Pointer": [ - 39080 + 56308 ], "RainterpreterStore": [ - 19046 + 56188 ], - "SafeCast": [ - 49614 + "RainterpreterStoreOddSetLength": [ + 56069 ], "SourceIndex": [ - 15844 - ], - "StackPointer": [ - 16760 - ], - "StackPopUnderflow": [ - 6114 + 56302 ], "StateNamespace": [ - 15848 - ], - "TruncateError": [ - 39078 - ], - "UnexpectedResultLength": [ - 16758 - ], - "console": [ - 64149 + 56306 ] }, "nodeType": "SourceUnit", - "src": "32:2185:123", + "src": "32:2546:82", "nodes": [ { - "id": 18936, + "id": 56061, "nodeType": "PragmaDirective", - "src": "32:24:123", + "src": "32:24:82", "nodes": [], "literals": [ "solidity", "=", "0.8", - ".18" + ".19" ] }, { - "id": 18937, + "id": 56062, "nodeType": "ImportDirective", - "src": "58:42:123", + "src": "58:73:82", "nodes": [], - "absolutePath": "contracts/interpreter/store/IInterpreterStoreV1.sol", - "file": "../store/IInterpreterStoreV1.sol", + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", + "file": "openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", "nameLocation": "-1:-1:-1", - "scope": 19047, - "sourceUnit": 19084, + "scope": 56189, + "sourceUnit": 45939, "symbolAliases": [], "unitAlias": "" }, { - "id": 18938, + "id": 56063, "nodeType": "ImportDirective", - "src": "101:40:123", + "src": "133:46:82", "nodes": [], - "absolutePath": "contracts/interpreter/run/LibInterpreterState.sol", - "file": "../run/LibInterpreterState.sol", + "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol", + "file": "../interface/IInterpreterStoreV1.sol", "nameLocation": "-1:-1:-1", - "scope": 19047, - "sourceUnit": 16747, + "scope": 56189, + "sourceUnit": 56298, "symbolAliases": [], "unitAlias": "" }, { - "id": 18940, + "id": 56064, "nodeType": "ImportDirective", - "src": "142:125:123", + "src": "180:36:82", "nodes": [], - "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", + "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", + "file": "../lib/ns/LibNamespace.sol", "nameLocation": "-1:-1:-1", - "scope": 19047, - "sourceUnit": 47119, - "symbolAliases": [ - { - "foreign": { - "id": 18939, - "name": "IERC165Upgradeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47118, - "src": "150:18:123", - "typeDescriptions": {} - }, - "local": "IERC165", - "nameLocation": "-1:-1:-1" - } - ], + "scope": 56189, + "sourceUnit": 57981, + "symbolAliases": [], "unitAlias": "" }, { - "id": 19046, + "id": 56069, + "nodeType": "ErrorDefinition", + "src": "288:53:82", + "nodes": [], + "documentation": { + "id": 56065, + "nodeType": "StructuredDocumentation", + "src": "218:70:82", + "text": "Thrown when a `set` call is made with an odd number of arguments." + }, + "errorSelector": "042a603d", + "name": "RainterpreterStoreOddSetLength", + "nameLocation": "294:30:82", + "parameters": { + "id": 56068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 56067, + "mutability": "mutable", + "name": "length", + "nameLocation": "333:6:82", + "nodeType": "VariableDeclaration", + "scope": 56069, + "src": "325:14:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 56066, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "325:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "324:16:82" + } + }, + { + "id": 56188, "nodeType": "ContractDefinition", - "src": "630:1586:123", + "src": "704:1873:82", "nodes": [ { - "id": 18949, + "id": 56078, "nodeType": "UsingForDirective", - "src": "696:45:123", + "src": "769:38:82", "nodes": [], "global": false, "libraryName": { - "id": 18946, - "name": "LibInterpreterState", + "id": 56075, + "name": "LibNamespace", "nameLocations": [ - "702:19:123" + "775:12:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 16746, - "src": "702:19:123" + "referencedDeclaration": 57980, + "src": "775:12:82" }, "typeName": { - "id": 18948, + "id": 56077, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 18947, + "id": 56076, "name": "StateNamespace", "nameLocations": [ - "726:14:123" + "792:14:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 15848, - "src": "726:14:123" + "referencedDeclaration": 56306, + "src": "792:14:82" }, - "referencedDeclaration": 15848, - "src": "726:14:123", + "referencedDeclaration": 56306, + "src": "792:14:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } } }, { - "id": 18957, + "id": 56086, "nodeType": "VariableDeclaration", - "src": "1214:86:123", + "src": "1396:113:82", "nodes": [], "constant": false, "documentation": { - "id": 18950, + "id": 56079, "nodeType": "StructuredDocumentation", - "src": "747:462:123", + "src": "813:462:82", "text": "Store is several tiers of sandbox.\n 0. Address hashed into `FullyQualifiedNamespace` is `msg.sender` so that\n callers cannot attack each other\n 1. StateNamespace is caller-provided namespace so that expressions cannot\n attack each other\n 2. `uint256` is expression-provided key\n 3. `uint256` is expression-provided value\n tiers 0 and 1 are both embodied in the `FullyQualifiedNamespace`." }, "mutability": "mutable", - "name": "store", - "nameLocation": "1295:5:123", - "scope": 19046, + "name": "sStore", + "nameLocation": "1503:6:82", + "scope": 56188, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" }, "typeName": { - "id": 18956, - "keyName": "", - "keyNameLocation": "-1:-1:-1", + "id": 56085, + "keyName": "fullyQualifiedNamespace", + "keyNameLocation": "1428:23:82", "keyType": { - "id": 18952, + "id": 56081, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 18951, + "id": 56080, "name": "FullyQualifiedNamespace", "nameLocations": [ - "1222:23:123" + "1404:23:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 19051, - "src": "1222:23:123" + "referencedDeclaration": 56265, + "src": "1404:23:82" }, - "referencedDeclaration": 19051, - "src": "1222:23:123", + "referencedDeclaration": 56265, + "src": "1404:23:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, "nodeType": "Mapping", - "src": "1214:63:123", + "src": "1396:97:82", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 18955, - "keyName": "", - "keyNameLocation": "-1:-1:-1", + "id": 56084, + "keyName": "key", + "keyNameLocation": "1471:3:82", "keyType": { - "id": 18953, + "id": 56082, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1257:7:123", + "src": "1463:7:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1249:27:123", + "src": "1455:37:82", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", + "valueName": "value", + "valueNameLocation": "1486:5:82", "valueType": { - "id": 18954, + "id": 56083, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1268:7:123", + "src": "1478:7:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -786,14 +594,14 @@ "visibility": "internal" }, { - "id": 18980, + "id": 56107, "nodeType": "FunctionDefinition", - "src": "1334:252:123", + "src": "1542:207:82", "nodes": [], "body": { - "id": 18979, + "id": 56106, "nodeType": "Block", - "src": "1440:146:123", + "src": "1633:116:82", "nodes": [], "statements": [ { @@ -802,7 +610,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 18977, + "id": 56104, "isConstant": false, "isLValue": false, "isPure": false, @@ -812,18 +620,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 18970, + "id": 56099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 18965, - "name": "interfaceId_", + "id": 56094, + "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18959, - "src": "1469:12:123", + "referencedDeclaration": 56088, + "src": "1650:11:82", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -835,14 +643,14 @@ "expression": { "arguments": [ { - "id": 18967, + "id": 56096, "name": "IInterpreterStoreV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 19083, - "src": "1490:19:123", + "referencedDeclaration": 56297, + "src": "1670:19:82", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$19083_$", + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$56297_$", "typeString": "type(contract IInterpreterStoreV1)" } } @@ -850,22 +658,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$19083_$", + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$56297_$", "typeString": "type(contract IInterpreterStoreV1)" } ], - "id": 18966, + "id": 56095, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "1485:4:123", + "src": "1665:4:82", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 18968, + "id": 56097, "isConstant": false, "isLValue": false, "isPure": true, @@ -874,28 +682,28 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1485:25:123", + "src": "1665:25:82", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterStoreV1_$19083", + "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterStoreV1_$56297", "typeString": "type(contract IInterpreterStoreV1)" } }, - "id": 18969, + "id": 56098, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1511:11:123", + "memberLocation": "1691:11:82", "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "1485:37:123", + "src": "1665:37:82", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "1469:53:123", + "src": "1650:52:82", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -904,140 +712,111 @@ "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 18976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18971, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18959, - "src": "1538:12:123", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "arguments": [ + { + "id": 56102, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56088, + "src": "1730:11:82", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], "expression": { - "arguments": [ - { - "id": 18973, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47118, - "src": "1559:7:123", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", - "typeString": "type(contract IERC165Upgradeable)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", - "typeString": "type(contract IERC165Upgradeable)" - } - ], - "id": 18972, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1554:4:123", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 18974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1554:13:123", - "tryCall": false, + "id": 56100, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1706:5:82", "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165Upgradeable_$47118", - "typeString": "type(contract IERC165Upgradeable)" + "typeIdentifier": "t_type$_t_super$_RainterpreterStore_$56188_$", + "typeString": "type(contract super RainterpreterStore)" } }, - "id": 18975, + "id": 56101, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberLocation": "1568:11:123", - "memberName": "interfaceId", + "memberLocation": "1712:17:82", + "memberName": "supportsInterface", "nodeType": "MemberAccess", - "src": "1554:25:123", + "referencedDeclaration": 45937, + "src": "1706:23:82", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" } }, - "src": "1538:41:123", + "id": 56103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1706:36:82", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1469:110:123", + "src": "1650:92:82", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 18964, - "id": 18978, + "functionReturnParameters": 56093, + "id": 56105, "nodeType": "Return", - "src": "1450:129:123" + "src": "1643:99:82" } ] }, "baseFunctions": [ - 47117 + 45937 ], "functionSelector": "01ffc9a7", "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "1343:17:123", + "nameLocation": "1551:17:82", "overrides": { - "id": 18961, + "id": 56090, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1416:8:123" + "src": "1609:8:82" }, "parameters": { - "id": 18960, + "id": 56089, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 18959, + "id": 56088, "mutability": "mutable", - "name": "interfaceId_", - "nameLocation": "1377:12:123", + "name": "interfaceId", + "nameLocation": "1576:11:82", "nodeType": "VariableDeclaration", - "scope": 18980, - "src": "1370:19:123", + "scope": 56107, + "src": "1569:18:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1045,10 +824,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 18958, + "id": 56087, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1370:6:123", + "src": "1569:6:82", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1057,21 +836,21 @@ "visibility": "internal" } ], - "src": "1360:35:123" + "src": "1568:20:82" }, "returnParameters": { - "id": 18964, + "id": 56093, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 18963, + "id": 56092, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 18980, - "src": "1434:4:123", + "scope": 56107, + "src": "1627:4:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1079,10 +858,10 @@ "typeString": "bool" }, "typeName": { - "id": 18962, + "id": 56091, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1434:4:123", + "src": "1627:4:82", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1091,105 +870,315 @@ "visibility": "internal" } ], - "src": "1433:6:123" + "src": "1626:6:82" }, - "scope": 19046, + "scope": 56188, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 19027, + "id": 56169, "nodeType": "FunctionDefinition", - "src": "1632:372:123", + "src": "1795:595:82", "nodes": [], "body": { - "id": 19026, + "id": 56168, "nodeType": "Block", - "src": "1706:298:123", + "src": "1867:523:82", "nodes": [], "statements": [ { - "id": 19025, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 56122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 56120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 56117, + "name": "kvs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56114, + "src": "2015:3:82", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 56118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2019:6:82", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2015:10:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "32", + "id": 56119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2028:1:82", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2015:14:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 56121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2033:1:82", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2015:19:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "This would be picked up by an out of bounds index below, but it's\n nice to have a more specific error message.", + "id": 56129, + "nodeType": "IfStatement", + "src": "2011:99:82", + "trueBody": { + "id": 56128, + "nodeType": "Block", + "src": "2036:74:82", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 56124, + "name": "kvs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56114, + "src": "2088:3:82", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 56125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2092:6:82", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2088:10:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 56123, + "name": "RainterpreterStoreOddSetLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56069, + "src": "2057:30:82", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 56126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2057:42:82", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 56127, + "nodeType": "RevertStatement", + "src": "2050:49:82" + } + ] + } + }, + { + "id": 56167, "nodeType": "UncheckedBlock", - "src": "1716:282:123", + "src": "2119:265:82", "statements": [ { "assignments": [ - 18992 + 56132 ], "declarations": [ { "constant": false, - "id": 18992, + "id": 56132, "mutability": "mutable", - "name": "fullyQualifiedNamespace_", - "nameLocation": "1764:24:123", + "name": "fullyQualifiedNamespace", + "nameLocation": "2167:23:82", "nodeType": "VariableDeclaration", - "scope": 19025, - "src": "1740:48:123", + "scope": 56167, + "src": "2143:47:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" }, "typeName": { - "id": 18991, + "id": 56131, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 18990, + "id": 56130, "name": "FullyQualifiedNamespace", "nameLocations": [ - "1740:23:123" + "2143:23:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 19051, - "src": "1740:23:123" + "referencedDeclaration": 56265, + "src": "2143:23:82" }, - "referencedDeclaration": 19051, - "src": "1740:23:123", + "referencedDeclaration": 56265, + "src": "2143:23:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, "visibility": "internal" } ], - "id": 18996, + "id": 56138, "initialValue": { - "arguments": [], + "arguments": [ + { + "expression": { + "id": 56135, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2220:3:82", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 56136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2224:6:82", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2220:10:82", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], "expression": { - "argumentTypes": [], + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], "expression": { - "id": 18993, - "name": "namespace_", + "id": 56133, + "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18984, - "src": "1791:10:123", + "referencedDeclaration": 56111, + "src": "2193:9:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, - "id": 18994, + "id": 56134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1819:16:123", + "memberLocation": "2203:16:82", "memberName": "qualifyNamespace", "nodeType": "MemberAccess", - "referencedDeclaration": 16745, - "src": "1791:44:123", + "referencedDeclaration": 57979, + "src": "2193:26:82", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_StateNamespace_$15848_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$attached_to$_t_userDefinedValueType$_StateNamespace_$15848_$", - "typeString": "function (StateNamespace) view returns (FullyQualifiedNamespace)" + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$56306_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$attached_to$_t_userDefinedValueType$_StateNamespace_$56306_$", + "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" } }, - "id": 18995, + "id": 56137, "isConstant": false, "isLValue": false, "isPure": false, @@ -1198,25 +1187,25 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1791:46:123", + "src": "2193:38:82", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, "nodeType": "VariableDeclarationStatement", - "src": "1740:97:123" + "src": "2143:88:82" }, { "body": { - "id": 19023, + "id": 56165, "nodeType": "Block", - "src": "1899:89:123", + "src": "2289:85:82", "statements": [ { "expression": { - "id": 19021, + "id": 56163, "isConstant": false, "isLValue": false, "isPure": false, @@ -1224,27 +1213,27 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 19009, - "name": "store", + "id": 56151, + "name": "sStore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18957, - "src": "1917:5:123", + "referencedDeclaration": 56086, + "src": "2307:6:82", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" } }, - "id": 19014, + "id": 56156, "indexExpression": { - "id": 19010, - "name": "fullyQualifiedNamespace_", + "id": 56152, + "name": "fullyQualifiedNamespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18992, - "src": "1923:24:123", + "referencedDeclaration": 56132, + "src": "2314:23:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, @@ -1253,34 +1242,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1917:31:123", + "src": "2307:31:82", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 19015, + "id": 56157, "indexExpression": { "baseExpression": { - "id": 19011, - "name": "kvs_", + "id": 56153, + "name": "kvs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18987, - "src": "1949:4:123", + "referencedDeclaration": 56114, + "src": "2339:3:82", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 19013, + "id": 56155, "indexExpression": { - "id": 19012, - "name": "i_", + "id": 56154, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18998, - "src": "1954:2:123", + "referencedDeclaration": 56140, + "src": "2343:1:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1291,7 +1280,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1949:8:123", + "src": "2339:6:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1302,7 +1291,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1917:41:123", + "src": "2307:39:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1312,35 +1301,35 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 19016, - "name": "kvs_", + "id": 56158, + "name": "kvs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18987, - "src": "1961:4:123", + "referencedDeclaration": 56114, + "src": "2349:3:82", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 19020, + "id": 56162, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 19019, + "id": 56161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 19017, - "name": "i_", + "id": 56159, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18998, - "src": "1966:2:123", + "referencedDeclaration": 56140, + "src": "2353:1:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1350,21 +1339,21 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 19018, + "id": 56160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1971:1:123", + "src": "2357:1:82", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "1966:6:123", + "src": "2353:5:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1375,21 +1364,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1961:12:123", + "src": "2349:10:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1917:56:123", + "src": "2307:52:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 19022, + "id": 56164, "nodeType": "ExpressionStatement", - "src": "1917:56:123" + "src": "2307:52:82" } ] }, @@ -1398,18 +1387,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 19004, + "id": 56146, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 19001, - "name": "i_", + "id": 56143, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18998, - "src": "1872:2:123", + "referencedDeclaration": 56140, + "src": "2265:1:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1419,52 +1408,52 @@ "operator": "<", "rightExpression": { "expression": { - "id": 19002, - "name": "kvs_", + "id": 56144, + "name": "kvs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18987, - "src": "1877:4:123", + "referencedDeclaration": 56114, + "src": "2269:3:82", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 19003, + "id": 56145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1882:6:123", + "memberLocation": "2273:6:82", "memberName": "length", "nodeType": "MemberAccess", - "src": "1877:11:123", + "src": "2269:10:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1872:16:123", + "src": "2265:14:82", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 19024, + "id": 56166, "initializationExpression": { "assignments": [ - 18998 + 56140 ], "declarations": [ { "constant": false, - "id": 18998, + "id": 56140, "mutability": "mutable", - "name": "i_", - "nameLocation": "1864:2:123", + "name": "i", + "nameLocation": "2258:1:82", "nodeType": "VariableDeclaration", - "scope": 19024, - "src": "1856:10:123", + "scope": 56166, + "src": "2250:9:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1472,10 +1461,10 @@ "typeString": "uint256" }, "typeName": { - "id": 18997, + "id": 56139, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1856:7:123", + "src": "2250:7:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1484,17 +1473,17 @@ "visibility": "internal" } ], - "id": 19000, + "id": 56142, "initialValue": { "hexValue": "30", - "id": 18999, + "id": 56141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1869:1:123", + "src": "2262:1:82", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1502,22 +1491,22 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1856:14:123" + "src": "2250:13:82" }, "loopExpression": { "expression": { - "id": 19007, + "id": 56149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 19005, - "name": "i_", + "id": 56147, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18998, - "src": "1890:2:123", + "referencedDeclaration": 56140, + "src": "2281:1:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1527,44 +1516,44 @@ "operator": "+=", "rightHandSide": { "hexValue": "32", - "id": 19006, + "id": 56148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1896:1:123", + "src": "2286:1:82", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "1890:7:123", + "src": "2281:6:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 19008, + "id": 56150, "nodeType": "ExpressionStatement", - "src": "1890:7:123" + "src": "2281:6:82" }, "nodeType": "ForStatement", - "src": "1851:137:123" + "src": "2245:129:82" } ] } ] }, "baseFunctions": [ - 19071 + 56285 ], "documentation": { - "id": 18981, + "id": 56108, "nodeType": "StructuredDocumentation", - "src": "1592:35:123", + "src": "1755:35:82", "text": "@inheritdoc IInterpreterStoreV1" }, "functionSelector": "946aadc6", @@ -1572,43 +1561,43 @@ "kind": "function", "modifiers": [], "name": "set", - "nameLocation": "1641:3:123", + "nameLocation": "1804:3:82", "parameters": { - "id": 18988, + "id": 56115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 18984, + "id": 56111, "mutability": "mutable", - "name": "namespace_", - "nameLocation": "1660:10:123", + "name": "namespace", + "nameLocation": "1823:9:82", "nodeType": "VariableDeclaration", - "scope": 19027, - "src": "1645:25:123", + "scope": 56169, + "src": "1808:24:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" }, "typeName": { - "id": 18983, + "id": 56110, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 18982, + "id": 56109, "name": "StateNamespace", "nameLocations": [ - "1645:14:123" + "1808:14:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 15848, - "src": "1645:14:123" + "referencedDeclaration": 56306, + "src": "1808:14:82" }, - "referencedDeclaration": 15848, - "src": "1645:14:123", + "referencedDeclaration": 56306, + "src": "1808:14:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, @@ -1616,13 +1605,13 @@ }, { "constant": false, - "id": 18987, + "id": 56114, "mutability": "mutable", - "name": "kvs_", - "nameLocation": "1691:4:123", + "name": "kvs", + "nameLocation": "1853:3:82", "nodeType": "VariableDeclaration", - "scope": 19027, - "src": "1672:23:123", + "scope": 56169, + "src": "1834:22:82", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -1631,18 +1620,18 @@ }, "typeName": { "baseType": { - "id": 18985, + "id": 56112, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1672:7:123", + "src": "1834:7:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 18986, + "id": 56113, "nodeType": "ArrayTypeName", - "src": "1672:9:123", + "src": "1834:9:82", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -1651,55 +1640,55 @@ "visibility": "internal" } ], - "src": "1644:52:123" + "src": "1807:50:82" }, "returnParameters": { - "id": 18989, + "id": 56116, "nodeType": "ParameterList", "parameters": [], - "src": "1706:0:123" + "src": "1867:0:82" }, - "scope": 19046, + "scope": 56188, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 19045, + "id": 56187, "nodeType": "FunctionDefinition", - "src": "2050:164:123", + "src": "2436:139:82", "nodes": [], "body": { - "id": 19044, + "id": 56186, "nodeType": "Block", - "src": "2167:47:123", + "src": "2529:46:82", "nodes": [], "statements": [ { "expression": { "baseExpression": { "baseExpression": { - "id": 19038, - "name": "store", + "id": 56180, + "name": "sStore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18957, - "src": "2184:5:123", + "referencedDeclaration": 56086, + "src": "2546:6:82", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" } }, - "id": 19040, + "id": 56182, "indexExpression": { - "id": 19039, - "name": "namespace_", + "id": 56181, + "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 19031, - "src": "2190:10:123", + "referencedDeclaration": 56173, + "src": "2553:9:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, @@ -1708,20 +1697,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2184:17:123", + "src": "2546:17:82", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 19042, + "id": 56184, "indexExpression": { - "id": 19041, - "name": "key_", + "id": 56183, + "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 19033, - "src": "2202:4:123", + "referencedDeclaration": 56175, + "src": "2564:3:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1732,26 +1721,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2184:23:123", + "src": "2546:22:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 19037, - "id": 19043, + "functionReturnParameters": 56179, + "id": 56185, "nodeType": "Return", - "src": "2177:30:123" + "src": "2539:29:82" } ] }, "baseFunctions": [ - 19082 + 56296 ], "documentation": { - "id": 19028, + "id": 56170, "nodeType": "StructuredDocumentation", - "src": "2010:35:123", + "src": "2396:35:82", "text": "@inheritdoc IInterpreterStoreV1" }, "functionSelector": "669e48aa", @@ -1759,43 +1748,43 @@ "kind": "function", "modifiers": [], "name": "get", - "nameLocation": "2059:3:123", + "nameLocation": "2445:3:82", "parameters": { - "id": 19034, + "id": 56176, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 19031, + "id": 56173, "mutability": "mutable", - "name": "namespace_", - "nameLocation": "2096:10:123", + "name": "namespace", + "nameLocation": "2473:9:82", "nodeType": "VariableDeclaration", - "scope": 19045, - "src": "2072:34:123", + "scope": 56187, + "src": "2449:33:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" }, "typeName": { - "id": 19030, + "id": 56172, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 19029, + "id": 56171, "name": "FullyQualifiedNamespace", "nameLocations": [ - "2072:23:123" + "2449:23:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 19051, - "src": "2072:23:123" + "referencedDeclaration": 56265, + "src": "2449:23:82" }, - "referencedDeclaration": 19051, - "src": "2072:23:123", + "referencedDeclaration": 56265, + "src": "2449:23:82", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, @@ -1803,13 +1792,13 @@ }, { "constant": false, - "id": 19033, + "id": 56175, "mutability": "mutable", - "name": "key_", - "nameLocation": "2124:4:123", + "name": "key", + "nameLocation": "2492:3:82", "nodeType": "VariableDeclaration", - "scope": 19045, - "src": "2116:12:123", + "scope": 56187, + "src": "2484:11:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1817,10 +1806,10 @@ "typeString": "uint256" }, "typeName": { - "id": 19032, + "id": 56174, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2116:7:123", + "src": "2484:7:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1829,21 +1818,21 @@ "visibility": "internal" } ], - "src": "2062:72:123" + "src": "2448:48:82" }, "returnParameters": { - "id": 19037, + "id": 56179, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 19036, + "id": 56178, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 19045, - "src": "2158:7:123", + "scope": 56187, + "src": "2520:7:82", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1851,10 +1840,10 @@ "typeString": "uint256" }, "typeName": { - "id": 19035, + "id": 56177, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2158:7:123", + "src": "2520:7:82", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1863,9 +1852,9 @@ "visibility": "internal" } ], - "src": "2157:9:123" + "src": "2519:9:82" }, - "scope": 19046, + "scope": 56188, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1875,57 +1864,60 @@ "baseContracts": [ { "baseName": { - "id": 18942, + "id": 56071, "name": "IInterpreterStoreV1", "nameLocations": [ - "661:19:123" + "735:19:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 19083, - "src": "661:19:123" + "referencedDeclaration": 56297, + "src": "735:19:82" }, - "id": 18943, + "id": 56072, "nodeType": "InheritanceSpecifier", - "src": "661:19:123" + "src": "735:19:82" }, { "baseName": { - "id": 18944, - "name": "IERC165", + "id": 56073, + "name": "ERC165", "nameLocations": [ - "682:7:123" + "756:6:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 47118, - "src": "682:7:123" + "referencedDeclaration": 45938, + "src": "756:6:82" }, - "id": 18945, + "id": 56074, "nodeType": "InheritanceSpecifier", - "src": "682:7:123" + "src": "756:6:82" } ], "canonicalName": "RainterpreterStore", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 18941, + "id": 56070, "nodeType": "StructuredDocumentation", - "src": "269:361:123", + "src": "343:361:82", "text": "@title RainterpreterStore\n @notice Simplest possible `IInterpreterStoreV1` that could work.\n Takes key/value pairings from the input array and stores each in an internal\n mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and\n doesn't attempt to do any deduping etc. if the same key appears twice it will\n be set twice." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 19046, - 47118, - 19083 + 56188, + 45938, + 45950, + 56297 ], "name": "RainterpreterStore", - "nameLocation": "639:18:123", - "scope": 19047, - "usedErrors": [] + "nameLocation": "713:18:82", + "scope": 56189, + "usedErrors": [ + 56069 + ] } ], "license": "CAL" }, - "id": 123 + "id": 82 } \ No newline at end of file diff --git a/subgraph/tests/generated/mod.rs b/subgraph/tests/generated/mod.rs index 4f375f9852..d0188e664e 100644 --- a/subgraph/tests/generated/mod.rs +++ b/subgraph/tests/generated/mod.rs @@ -2,15 +2,15 @@ use ethers::prelude::abigen; abigen!( RainterpreterExpressionDeployer, - "tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json", + "tests/generated/RainterpreterExpressionDeployerNP.json", derives(serde::Deserialize, serde::Serialize); Rainterpreter, - "tests/utils/deploy/touch_deployer/Rainterpreter.json"; + "tests/generated/RainterpreterNP.json"; RainterpreterStore, - "tests/utils/deploy/touch_deployer/RainterpreterStore.json"; + "tests/generated/RainterpreterStore.json"; AuthoringMetaGetter, - "tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json" + "tests/generated/AuthoringMetaGetter.json"; ); diff --git a/subgraph/tests/utils/deploy/deploy1820/mod.rs b/subgraph/tests/utils/deploy/deploy1820/mod.rs index 2b4c0e6b89..5cad6cdd9e 100644 --- a/subgraph/tests/utils/deploy/deploy1820/mod.rs +++ b/subgraph/tests/utils/deploy/deploy1820/mod.rs @@ -3,10 +3,9 @@ use ethers::{ providers::{Http, Middleware, Provider}, types::BlockId, types::{Bytes, NameOrAddress, TransactionRequest, U256}, - utils::AnvilInstance, }; +use std::fs::File; use std::io::Read; -use std::{fs::File, time::Duration}; pub async fn deploy1820(provider: &Provider) -> anyhow::Result<()> { let signature_address: NameOrAddress = "0xa990077c3205cbDf861e17Fa532eeB069cE9fF96".parse()?; diff --git a/subgraph/tests/utils/deploy/meta_getter/mod.rs b/subgraph/tests/utils/deploy/meta_getter/mod.rs index 36839bf042..765760b631 100644 --- a/subgraph/tests/utils/deploy/meta_getter/mod.rs +++ b/subgraph/tests/utils/deploy/meta_getter/mod.rs @@ -71,8 +71,6 @@ pub async fn get_authoring_meta() -> Bytes { .get() .expect("AuthoringMetaGetter has not being initialized"); - println!("meta_address: {}", meta_address); - let chain_id = provider.get_chainid().await.expect("cannot get chain id"); let deployer = Arc::new(SignerMiddleware::new( diff --git a/subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json b/subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json deleted file mode 100644 index 2182c8c824..0000000000 --- a/subgraph/tests/utils/deploy/touch_deployer/AuthoringMetaGetter.json +++ /dev/null @@ -1,1727 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getAuthoringMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506124d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", - "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", - "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;377:12;409:35;:33;:35::i;:::-;402:42;;326:125;:::o;2522:11731:36:-;-1:-1:-1;;;2570:12:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;2642:60:36;:11343;;;;;;;;2719:17;2642:11343;;;;2827:101;;;;;;;;;;;;;295:4:76;2827:101:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;2942:103;;;;;;;;;;;;;295:4:76;2942:103:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3145:242;;;;;;;;;;;;;366:4:76;3145:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3401:151;;;;;;;;;;;;;241:1:76;3401:151:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3566:92;;;;;;;;;;;;;241:1:76;3566:92:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3672:84;;;;;;;;;;;;;241:1:76;3672:84:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3770:189;;;;;;;;;;;;;241:1:76;3770:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3973:203;;;;;;;;;;;;;241:1:76;3973:203:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4190:98;;;;;;;;;;;;;241:1:76;4190:98:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4302:189;;;;;;;;;;;;;241:1:76;4302:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4505:385;;;;;;;;;;;;;295:4:76;4505:385:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4904:315;;;;;;;;;;;;;295:4:76;4904:315:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5233:102;;;;;;;;;;;;;241:1:76;5233:102:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5349:187;;;;;;;;;;;;;241:1:76;5349:187:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5550:196;;;;;;;;;;;;;241:1:76;5550:196:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5760:220;;;;;;;;;;;;;241:1:76;5760:220:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5994:236;;;;;;;;;;;;;241:1:76;5994:236:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6244:95;;;;;;;;;;;;;241:1:76;6244:95:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6353:190;;;;;;;;;;;;;241:1:76;6353:190:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6557:214;;;;;;;;;;;;;241:1:76;6557:214:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6785:260;;;;;;;;;;;;;241:1:76;6785:260:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7059:290;;;;;;;;;;;;;241:1:76;7059:290:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7363:394;;;;;;;;;;;;;417:4:76;7363:394:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7771:480;;;;;;;;;;;;;470:4:76;7771:480:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8265:478;;;;;;;;;;;;;470:4:76;8265:478:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8901:242;;;;;;;;;;;;;241:1:76;8901:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9157:278;;;;;;;;;;;;;241:1:76;9157:278:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9449:224;;;;;;;;;;;;;241:1:76;9449:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9687:284;;;;;;;;;;;;;241:1:76;9687:284:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10129:189;;;;;;;;;;;;;241:1:76;10129:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10332:225;;;;;;;;;;;;;241:1:76;10332:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10715:189;;;;;;;;;;;;;241:1:76;10715:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10918:225;;;;;;;;;;;;;241:1:76;10918:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11157:224;;;;;;;;;;;;;241:1:76;11157:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11395:254;;;;;;;;;;;;;241:1:76;11395:254:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11807:251;;;;;;;;;;;;;241:1:76;11807:251:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12072:287;;;;;;;;;;;;;241:1:76;12072:287:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12373:186;;;;;;;;;;;;;241:1:76;12373:186:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12573:224;;;;;;;;;;;;;241:1:76;12573:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12811:576;;;;;;;;;;;;;295:4:76;12811:576:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;13401:574;;;;;;;;;;;;;295:4:76;13401:574:36;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;2305:2;14168:28;;;14222:24;;2642:11343;;-1:-1:-1;2642:11343:36;;14222:24;;2642:11343;;14222:24;;;:::i;:::-;;;;;;;;;;;;;14215:31;;;;;;2522:11731;:::o;14:481:91:-;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;484:4;414:66;409:2;401:6;397:15;393:88;388:3;384:98;380:109;373:116;;;14:481;;;;:::o;500:217::-;647:2;636:9;629:21;610:4;667:44;707:2;696:9;692:18;684:6;667:44;:::i;:::-;659:52;500:217;-1:-1:-1;;;500:217:91:o;722:1193::-;928:4;957:2;997;986:9;982:18;1027:2;1016:9;1009:21;1050:6;1085;1079:13;1116:6;1108;1101:22;1142:2;1132:12;;1175:2;1164:9;1160:18;1153:25;;1237:2;1227:6;1224:1;1220:14;1209:9;1205:30;1201:39;1275:2;1267:6;1263:15;1296:1;1306:580;1320:6;1317:1;1314:13;1306:580;;;1385:22;;;1409:66;1381:95;1369:108;;1500:13;;1568:9;;1553:25;;1625:11;;;1619:18;1639:4;1615:29;1598:15;;;1591:54;1684:11;;1678:18;1536:4;1716:15;;;1709:27;;;1759:47;1790:15;;;1678:18;1759:47;:::i;:::-;1864:12;;;;1749:57;-1:-1:-1;;;1829:15:91;;;;1342:1;1335:9;1306:580;;;-1:-1:-1;1903:6:91;;722:1193;-1:-1:-1;;;;;;;;722:1193:91:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAuthoringMeta()": "c316e48a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAuthoringMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"AuthoringMetaGetter A contract to obtain the current AuthoringMeta of the interpreter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/util/concrete/AuthoringMetaGetter.sol\":\"AuthoringMetaGetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"test/util/concrete/AuthoringMetaGetter.sol\":{\"keccak256\":\"0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4\",\"dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "getAuthoringMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "test/util/concrete/AuthoringMetaGetter.sol": "AuthoringMetaGetter" - }, - "libraries": {} - }, - "sources": { - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/Common.sol": { - "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", - "urls": [ - "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", - "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { - "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", - "urls": [ - "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", - "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { - "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", - "urls": [ - "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", - "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { - "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", - "urls": [ - "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", - "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { - "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", - "urls": [ - "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", - "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { - "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", - "urls": [ - "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", - "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { - "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", - "urls": [ - "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", - "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { - "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", - "urls": [ - "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", - "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { - "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", - "urls": [ - "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", - "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { - "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", - "urls": [ - "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", - "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { - "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", - "urls": [ - "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", - "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { - "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", - "urls": [ - "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", - "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { - "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", - "urls": [ - "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", - "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { - "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", - "urls": [ - "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", - "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { - "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", - "urls": [ - "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", - "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { - "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", - "urls": [ - "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", - "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { - "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", - "urls": [ - "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", - "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { - "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", - "urls": [ - "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", - "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { - "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", - "urls": [ - "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", - "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { - "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", - "urls": [ - "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", - "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { - "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", - "urls": [ - "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", - "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { - "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", - "urls": [ - "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", - "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { - "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", - "urls": [ - "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", - "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { - "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", - "urls": [ - "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", - "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", - "urls": [ - "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", - "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", - "urls": [ - "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", - "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" - ], - "license": null - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", - "urls": [ - "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", - "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" - ], - "license": null - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { - "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", - "urls": [ - "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", - "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { - "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", - "urls": [ - "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", - "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { - "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", - "urls": [ - "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", - "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { - "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", - "urls": [ - "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", - "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { - "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", - "urls": [ - "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", - "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { - "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", - "urls": [ - "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", - "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { - "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", - "urls": [ - "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", - "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { - "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", - "urls": [ - "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", - "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { - "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", - "urls": [ - "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", - "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { - "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", - "urls": [ - "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", - "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { - "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", - "urls": [ - "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", - "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { - "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", - "urls": [ - "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", - "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { - "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", - "urls": [ - "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", - "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { - "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", - "urls": [ - "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", - "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { - "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", - "urls": [ - "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", - "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { - "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", - "urls": [ - "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", - "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { - "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", - "urls": [ - "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", - "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { - "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", - "urls": [ - "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", - "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { - "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", - "urls": [ - "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", - "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { - "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", - "urls": [ - "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", - "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { - "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", - "urls": [ - "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", - "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { - "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", - "urls": [ - "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", - "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { - "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", - "urls": [ - "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", - "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { - "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", - "urls": [ - "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", - "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { - "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", - "urls": [ - "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", - "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { - "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", - "urls": [ - "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", - "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { - "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", - "urls": [ - "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", - "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { - "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", - "urls": [ - "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", - "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { - "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", - "urls": [ - "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", - "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { - "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", - "urls": [ - "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", - "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { - "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", - "urls": [ - "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", - "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { - "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", - "urls": [ - "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", - "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { - "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", - "urls": [ - "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", - "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { - "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", - "urls": [ - "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", - "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { - "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", - "urls": [ - "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", - "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { - "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", - "urls": [ - "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", - "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { - "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", - "urls": [ - "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", - "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { - "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", - "urls": [ - "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", - "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { - "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", - "urls": [ - "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", - "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { - "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", - "urls": [ - "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", - "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParse.sol": { - "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", - "urls": [ - "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", - "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { - "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", - "urls": [ - "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", - "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { - "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", - "urls": [ - "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", - "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { - "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", - "urls": [ - "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", - "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { - "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", - "urls": [ - "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", - "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { - "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", - "urls": [ - "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", - "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { - "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", - "urls": [ - "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", - "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { - "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", - "urls": [ - "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", - "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { - "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", - "urls": [ - "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", - "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { - "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", - "urls": [ - "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", - "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { - "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", - "urls": [ - "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", - "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemory.sol": { - "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", - "urls": [ - "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", - "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibStackPointer.sol": { - "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", - "urls": [ - "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", - "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - }, - "test/util/concrete/AuthoringMetaGetter.sol": { - "keccak256": "0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07", - "urls": [ - "bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4", - "dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "test/util/concrete/AuthoringMetaGetter.sol", - "id": 23766, - "exportedSymbols": { - "ALL_STANDARD_OPS_LENGTH": [ - 9651 - ], - "Address": [ - 329 - ], - "AuthoringMeta": [ - 20252 - ], - "AuthoringMetaGetter": [ - 23765 - ], - "B_1": [ - 8105 - ], - "B_11": [ - 8113 - ], - "B_111": [ - 8121 - ], - "B_1111": [ - 8129 - ], - "B_11111": [ - 8137 - ], - "B_111111": [ - 8145 - ], - "B_1111111": [ - 8153 - ], - "B_11111111": [ - 8161 - ], - "B_111111111": [ - 8169 - ], - "B_1111111111": [ - 8177 - ], - "B_11111111111": [ - 8185 - ], - "B_111111111111": [ - 8193 - ], - "B_1111111111111": [ - 8201 - ], - "B_11111111111111": [ - 8209 - ], - "B_111111111111111": [ - 8217 - ], - "B_1111111111111111": [ - 8225 - ], - "BadDynamicLength": [ - 9647 - ], - "BadOpInputsLength": [ - 8999 - ], - "Casting": [ - 7984 - ], - "CastingErrors": [ - 6197 - ], - "Common": [ - 7228 - ], - "DEFAULT_STATE_NAMESPACE": [ - 8650 - ], - "E": [ - 6510 - ], - "EXP2_MAX_INPUT": [ - 6534 - ], - "EXP_MAX_INPUT": [ - 6521 - ], - "EncodedDispatch": [ - 8638 - ], - "EnsureFailed": [ - 11089 - ], - "EntrypointMinOutputs": [ - 8990 - ], - "EntrypointMissing": [ - 8974 - ], - "EntrypointNonZeroInput": [ - 8981 - ], - "Errors": [ - 7229 - ], - "FIXED_POINT_DECIMALS": [ - 22464 - ], - "FIXED_POINT_ONE": [ - 22468 - ], - "FLAG_MAX_INT": [ - 22484 - ], - "FLAG_ROUND_UP": [ - 22472 - ], - "FLAG_SATURATE": [ - 22478 - ], - "FullyQualifiedNamespace": [ - 8599 - ], - "HALF_UNIT": [ - 6545 - ], - "Helpers": [ - 7985 - ], - "IInterpreterStoreV1": [ - 8631 - ], - "IInterpreterV1": [ - 8681 - ], - "IUniswapV2Factory": [ - 8352 - ], - "IUniswapV2Pair": [ - 8594 - ], - "IntegrityCheckStateNP": [ - 9044 - ], - "InterpreterStateNP": [ - 21951 - ], - "LOG2_10": [ - 6556 - ], - "LOG2_E": [ - 6567 - ], - "LibAllStandardOpsNP": [ - 10208 - ], - "LibBytecode": [ - 8963 - ], - "LibBytes": [ - 23191 - ], - "LibConvert": [ - 8095 - ], - "LibFixedPointDecimalScale": [ - 22894 - ], - "LibIntegrityCheckNP": [ - 9362 - ], - "LibInterpreterStateNP": [ - 21996 - ], - "LibMemCpy": [ - 23223 - ], - "LibMemory": [ - 23234 - ], - "LibMemoryKV": [ - 22458 - ], - "LibNamespace": [ - 9380 - ], - "LibOpAnyNP": [ - 10891 - ], - "LibOpBlockNumberNP": [ - 10520 - ], - "LibOpChainIdNP": [ - 10599 - ], - "LibOpConditionsNP": [ - 11077 - ], - "LibOpConstantNP": [ - 9500 - ], - "LibOpContextNP": [ - 10351 - ], - "LibOpDecimal18DivNP": [ - 12186 - ], - "LibOpDecimal18MulNP": [ - 12407 - ], - "LibOpDecimal18Scale18DynamicNP": [ - 12518 - ], - "LibOpDecimal18Scale18NP": [ - 12635 - ], - "LibOpDecimal18ScaleNNP": [ - 12752 - ], - "LibOpEnsureNP": [ - 11246 - ], - "LibOpEqualToNP": [ - 11330 - ], - "LibOpEveryNP": [ - 11457 - ], - "LibOpGetNP": [ - 14294 - ], - "LibOpGreaterThanNP": [ - 11541 - ], - "LibOpGreaterThanOrEqualToNP": [ - 11625 - ], - "LibOpHashNP": [ - 10441 - ], - "LibOpIfNP": [ - 11711 - ], - "LibOpIntAddNP": [ - 12915 - ], - "LibOpIntDivNP": [ - 13078 - ], - "LibOpIntExpNP": [ - 13247 - ], - "LibOpIntMaxNP": [ - 13427 - ], - "LibOpIntMinNP": [ - 13607 - ], - "LibOpIntModNP": [ - 13770 - ], - "LibOpIntMulNP": [ - 13933 - ], - "LibOpIntSubNP": [ - 14096 - ], - "LibOpIsZeroNP": [ - 11793 - ], - "LibOpLessThanNP": [ - 11877 - ], - "LibOpLessThanOrEqualToNP": [ - 11961 - ], - "LibOpMaxUint256NP": [ - 10689 - ], - "LibOpSetNP": [ - 14417 - ], - "LibOpStackNP": [ - 9591 - ], - "LibOpTimestampNP": [ - 10768 - ], - "LibOpUniswapV2AmountIn": [ - 14624 - ], - "LibOpUniswapV2AmountOut": [ - 14831 - ], - "LibPointer": [ - 23358 - ], - "LibStackPointer": [ - 23521 - ], - "LibUint256Array": [ - 23749 - ], - "LibUniswapV2": [ - 22367 - ], - "LibWillOverflow": [ - 23113 - ], - "MASK_10BIT": [ - 8265 - ], - "MASK_11BIT": [ - 8269 - ], - "MASK_12BIT": [ - 8273 - ], - "MASK_13BIT": [ - 8277 - ], - "MASK_14BIT": [ - 8281 - ], - "MASK_15BIT": [ - 8285 - ], - "MASK_16BIT": [ - 8289 - ], - "MASK_1BIT": [ - 8229 - ], - "MASK_2BIT": [ - 8233 - ], - "MASK_3BIT": [ - 8237 - ], - "MASK_4BIT": [ - 8241 - ], - "MASK_5BIT": [ - 8245 - ], - "MASK_6BIT": [ - 8249 - ], - "MASK_7BIT": [ - 8253 - ], - "MASK_8BIT": [ - 8257 - ], - "MASK_9BIT": [ - 8261 - ], - "MAX_UD60x18": [ - 6578 - ], - "MAX_UINT128": [ - 1231 - ], - "MAX_UINT40": [ - 1239 - ], - "MAX_WHOLE_UD60x18": [ - 6589 - ], - "Math": [ - 7986 - ], - "MemoryKV": [ - 22371 - ], - "MemoryKVKey": [ - 22373 - ], - "MemoryKVVal": [ - 22375 - ], - "NO_STORE": [ - 8608 - ], - "NoConditionsMet": [ - 10901 - ], - "OPERAND_PARSER_OFFSET_8_M1_M1": [ - 20969 - ], - "OPERAND_PARSER_OFFSET_DISALLOWED": [ - 20957 - ], - "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ - 20963 - ], - "OPERAND_PARSER_OFFSET_M1_M1": [ - 20966 - ], - "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ - 20960 - ], - "OVERFLOW_RESCALE_OOMS": [ - 22488 - ], - "OZMath": [ - 1195 - ], - "Operand": [ - 8642 - ], - "OutOfBoundsConstantRead": [ - 9393 - ], - "OutOfBoundsStackRead": [ - 9514 - ], - "OutOfBoundsTruncate": [ - 23531 - ], - "PI": [ - 6597 - ], - "PRBMath_UD60x18_Ceil_Overflow": [ - 6696 - ], - "PRBMath_UD60x18_Convert_Overflow": [ - 6701 - ], - "PRBMath_UD60x18_Exp2_InputTooBig": [ - 6713 - ], - "PRBMath_UD60x18_Exp_InputTooBig": [ - 6707 - ], - "PRBMath_UD60x18_Gm_Overflow": [ - 6722 - ], - "PRBMath_UD60x18_IntoSD1x18_Overflow": [ - 6728 - ], - "PRBMath_UD60x18_IntoSD59x18_Overflow": [ - 6734 - ], - "PRBMath_UD60x18_IntoUD2x18_Overflow": [ - 6740 - ], - "PRBMath_UD60x18_IntoUint128_Overflow": [ - 6746 - ], - "PRBMath_UD60x18_IntoUint40_Overflow": [ - 6752 - ], - "PRBMath_UD60x18_Log_InputTooSmall": [ - 6758 - ], - "PRBMath_UD60x18_Sqrt_Overflow": [ - 6764 - ], - "Pointer": [ - 23238 - ], - "SD1x18": [ - 3328 - ], - "SD59x18": [ - 5813 - ], - "SourceIndex": [ - 8636 - ], - "SourceOffsetOutOfBounds": [ - 8694 - ], - "StackAllocationMismatch": [ - 9024 - ], - "StackOutputsMismatch": [ - 9031 - ], - "StackUnderflow": [ - 9008 - ], - "StackUnderflowHighwater": [ - 9017 - ], - "StateNamespace": [ - 8640 - ], - "TruncateError": [ - 23123 - ], - "UD2x18": [ - 6184 - ], - "UD60x18": [ - 7988 - ], - "UNIT": [ - 6608 - ], - "UNIT_SQUARED": [ - 6619 - ], - "UnalignedStackPointer": [ - 23369 - ], - "ZERO": [ - 6627 - ], - "add": [ - 6796 - ], - "and": [ - 6819 - ], - "and2": [ - 6845 - ], - "avg": [ - 7289 - ], - "ceil": [ - 7318 - ], - "convert": [ - 6655, - 6686 - ], - "div": [ - 7347 - ], - "eq": [ - 6868 - ], - "exp": [ - 7392 - ], - "exp2": [ - 7438 - ], - "floor": [ - 7450 - ], - "frac": [ - 7462 - ], - "gm": [ - 7529 - ], - "gt": [ - 6891 - ], - "gte": [ - 6914 - ], - "intoSD1x18": [ - 6262 - ], - "intoSD59x18": [ - 6343 - ], - "intoUD2x18": [ - 6301 - ], - "intoUint128": [ - 6395 - ], - "intoUint256": [ - 6360 - ], - "intoUint40": [ - 6430 - ], - "inv": [ - 7551 - ], - "isZero": [ - 6932 - ], - "ln": [ - 7577 - ], - "log10": [ - 7628 - ], - "log2": [ - 7732 - ], - "lshift": [ - 6955 - ], - "lt": [ - 6978 - ], - "lte": [ - 7001 - ], - "mod": [ - 7027 - ], - "mul": [ - 7760 - ], - "neq": [ - 7050 - ], - "not": [ - 7070 - ], - "or": [ - 7096 - ], - "pow": [ - 7867 - ], - "powu": [ - 7939 - ], - "rshift": [ - 7119 - ], - "sqrt": [ - 7981 - ], - "sub": [ - 7145 - ], - "uEXP2_MAX_INPUT": [ - 6527 - ], - "uEXP_MAX_INPUT": [ - 6514 - ], - "uHALF_UNIT": [ - 6538 - ], - "uLOG2_10": [ - 6549 - ], - "uLOG2_E": [ - 6560 - ], - "uMAX_SD1x18": [ - 3245 - ], - "uMAX_SD59x18": [ - 3808 - ], - "uMAX_UD2x18": [ - 6137 - ], - "uMAX_UD60x18": [ - 6571 - ], - "uMAX_WHOLE_UD60x18": [ - 6582 - ], - "uUNIT": [ - 6601 - ], - "uUNIT_SQUARED": [ - 6612 - ], - "ud": [ - 6447 - ], - "ud60x18": [ - 6464 - ], - "uncheckedAdd": [ - 7172 - ], - "uncheckedSub": [ - 7199 - ], - "unwrap": [ - 6481 - ], - "wrap": [ - 6498 - ], - "xor": [ - 7225 - ] - }, - "nodeType": "SourceUnit", - "src": "32:422:90", - "nodes": [ - { - "id": 23751, - "nodeType": "PragmaDirective", - "src": "32:24:90", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 23752, - "nodeType": "ImportDirective", - "src": "58:64:90", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "nameLocation": "-1:-1:-1", - "scope": 23766, - "sourceUnit": 330, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 23753, - "nodeType": "ImportDirective", - "src": "123:65:90", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", - "file": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 23766, - "sourceUnit": 10209, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 23765, - "nodeType": "ContractDefinition", - "src": "291:162:90", - "nodes": [ - { - "id": 23764, - "nodeType": "FunctionDefinition", - "src": "326:125:90", - "nodes": [], - "body": { - "id": 23763, - "nodeType": "Block", - "src": "392:59:90", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 23759, - "name": "LibAllStandardOpsNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10208, - "src": "409:19:90", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$10208_$", - "typeString": "type(library LibAllStandardOpsNP)" - } - }, - "id": 23760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "429:13:90", - "memberName": "authoringMeta", - "nodeType": "MemberAccess", - "referencedDeclaration": 9894, - "src": "409:33:90", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 23761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "409:35:90", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 23758, - "id": 23762, - "nodeType": "Return", - "src": "402:42:90" - } - ] - }, - "functionSelector": "c316e48a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAuthoringMeta", - "nameLocation": "335:16:90", - "parameters": { - "id": 23755, - "nodeType": "ParameterList", - "parameters": [], - "src": "351:2:90" - }, - "returnParameters": { - "id": 23758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 23757, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 23764, - "src": "377:12:90", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 23756, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "377:5:90", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "376:14:90" - }, - "scope": 23765, - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "AuthoringMetaGetter", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 23754, - "nodeType": "StructuredDocumentation", - "src": "190:101:90", - "text": "@title AuthoringMetaGetter\n A contract to obtain the current AuthoringMeta of the interpreter" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 23765 - ], - "name": "AuthoringMetaGetter", - "nameLocation": "300:19:90", - "scope": 23766, - "usedErrors": [] - } - ], - "license": "CAL" - }, - "id": 90 -} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json b/subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json deleted file mode 100644 index b2ddac3100..0000000000 --- a/subgraph/tests/utils/deploy/touch_deployer/Rainterpreter.json +++ /dev/null @@ -1,5651 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "name": "BadDynamicLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actual", - "type": "uint256" - } - ], - "name": "BadExternResultsLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "MemoryKVPtr", - "name": "ptr", - "type": "uint256" - } - ], - "name": "InvalidPtr", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "price", - "type": "int256" - } - ], - "name": "NotPosIntPrice", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv18_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Ceil_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Exp2_InputTooBig", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Exp_InputTooBig", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - }, - { - "internalType": "UD60x18", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Gm_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Log_InputTooSmall", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Sqrt_Overflow", - "type": "error" - }, - { - "inputs": [], - "name": "ReadError", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "staleAfter", - "type": "uint256" - } - ], - "name": "StalePrice", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualLength", - "type": "uint256" - } - ], - "name": "UnexpectedResultLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "store_", - "type": "address" - }, - { - "internalType": "StateNamespace", - "name": "namespace_", - "type": "uint256" - }, - { - "internalType": "EncodedDispatch", - "name": "dispatch_", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "context_", - "type": "uint256[][]" - } - ], - "name": "eval", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "functionPointers", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50614b76806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780636715f8251461006e578063f933c72f1461008f575b600080fd5b61005961005436600461443b565b6100a4565b60405190151581526020015b60405180910390f35b61008161007c3660046144e5565b6100db565b60405161006592919061465b565b610097610187565b60405161006591906146c6565b60006001600160e01b03198216634f131f8560e11b14806100d557506001600160e01b031982166301ffc9a760e01b145b92915050565b606080602084901c60ff601086901c811690861660006101026100fd856101d7565b610229565b600060408201529050610114896103e4565b60608201526001600160a01b038a16608082015260a081018790528051600090610141908390869061042b565b8251909150602090820304600061016261015b8387610481565b8490610497565b9150508061017385604001516104ab565b985098505050505050505094509492505050565b6040805160008082526020820190925260609190816101b7565b6143eb8152602001906001900390816101a15790505b5090506101d16101cc6101c98361053b565b90565b610854565b91505090565b6060813b60008190036101fd57604051631354fb0f60e11b815260040160405180910390fd5b60408051603e8301601f1916810190915260001990910180825290915080600160208401853c50919050565b6102316143f5565b6102396143f5565b6040805160008082526020820190925290610264565b606081526020019060019003908161024f5790505b5060a08201526000610277845b60200190565b9050600061028f61028a83601f19015190565b830190565b905060208201915060006102a583601f19015190565b905060008167ffffffffffffffff8111156102c2576102c261447a565b6040519080825280602002602001820160405280156102eb578160200160208202803683370190505b5060208082018752858101908701819052945190915061030d90602002850190565b9350600084815b858210156103395761032f61027161032a845190565b840190565b9150600101610314565b8067ffffffffffffffff8111156103525761035261447a565b60405190808252806020026020018201604052801561038557816020015b60608152602001906001900390816103705790505b5060c08901525b858710156103d657868860c0015184815181106103ab576103ab6146d9565b60200260200101819052506103c96102716103c4895190565b890190565b965060019092019161038c565b509598975050505050505050565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000906054015b60408051601f19818403018152919052805160209091012092915050565b60c08301516020838102909101015180516000919081015b8082101561047457600491909101805190919061ffff601082901c8116911661046b88828885565b95505050610443565b83925050505b9392505050565b6000818310610490578161047a565b5090919050565b60208102909103601f190180519181529091565b606061ffff8216601083901c60008167ffffffffffffffff8111156104d2576104d261447a565b6040519080825280602002602001820160405280156104fb578160200160208202803683370190505b50905060208101602082510281015b80821015610530578451825260208086015190830152604094850151949091019061050a565b509095945050505050565b6060600060405180610a400160405280610553605190565b67ffffffffffffffff1681526108e460208201526108f360408201526109026060820152610962608082015261097060a08201526109c260c0820152610a1460e0820152610a6f610100820152610b39610120820152610b8f610140820152610bbb610160820152610c0e610180820152610d2f6101a0820152610d646101c0820152610d826101e0820152610d91610200820152610d9f610220820152610dae6102408201819052610dbc610260830152610dca610280830152610dd86102a0830152610de66102c08301526102e0820152610df4610300820152610e02610320820152610e11610340820152610e1f610360820152610e2d610380820152610e3c6103a0820152610e4b6103c0820152610e5a6103e0820152610e69610400820152610e78610420820152610e87610440820152610e96610460820152610ea5610480820152610eb46104a0820152610ec36104c0820152610ed26104e0820152610ee1610500820152610ef0610520820152610eff610540820152610f48610560820152610f5a610580820152610f686105a0820152610f9a6105c0820152610fa86105e0820152610fb6610600820152610fc4610620820152610fd2610640820152610fe0610660820152610fee610680820152610ffc6106a082015261100a6106c08201526110186106e082015261102661070082015261103461072082015261104261074082015261105061076082015261105e61078082015261106c6107a082015261107a6107c08201526110886107e08201526110966108008201526110a46108208201526110b36108408201526110c26108608201526110d16108808201526110df6108a08201526110ed6108c08201526110fb6108e082015261110961090082015261111761092082015261112561094082015261113361096082015261121861098082015261125a6109a08201526112696109c08201526112786109e0820152611286610a008201526112cb610a20909101529050600061083e826112da565b905061084a8185611310565b805b949350505050565b60606000825160020267ffffffffffffffff8111156108755761087561447a565b6040519080825280601f01601f19166020018201604052801561089f576020820181803683370190505b50905061ffff801990506020840160208551028101600284015b818310156108d957805183519085161781526020909201916002016108b9565b509295945050505050565b600061084c826113468561135e565b600061084c82611381856113a7565b6000806000610910846113d9565b909250905063ffffffff61095783828416602085901c8416604086901c8516606087901c8616608088901c871660a089901c881660c08a901c891660e08b901c6113e38b16565b979650505050505050565b600061084c82611419611425565b600061084c8460a00151600885901c8151811061098f5761098f6146d9565b602002602001015160ff8516815181106109ab576109ab6146d9565b60200260200101518361144a90919063ffffffff16565b600061084c8460a0015184815181106109dd576109dd6146d9565b60200260200101516040516020016109f59190614705565b60408051808303601f1901815291905280516020918201208452830190565b6000806000610a22846113d9565b915091506104748660a001518681518110610a3f57610a3f6146d9565b60200260200101518281518110610a5857610a586146d9565b60200260200101518361145290919063ffffffff16565b6000600f83811690600485901c811690600886901c16600c86901c808201855b8960a001518581518110610aa557610aa56146d9565b6020026020010151518110156103d65760005b84811015610b1557610b0b8b60a0015182880181518110610adb57610adb6146d9565b60200260200101518381518110610af457610af46146d9565b60200260200101518a61144a90919063ffffffff16565b9850600101610ab8565b50600886901b600484901b178217610b2e8b828b610b39565b985050600101610a8f565b8251600090600f84811691600486901c90911690600886901c9060208402860388526000610b6889848961042b565b9050610b7b6020850282038a5186611456565b508751975250602002909401949350505050565b600080836003811115610ba457610ba461473b565b9050610bb185848361147e565b5091949350505050565b600060ff831660018101600481901b851783610bd6866113d9565b90965090505b8015610c0257610bed888388610b39565b9550610bf8866113d9565b9096509050610bdc565b50939695505050505050565b602083810151600a84901c918202015160009160a082901c908390606090601f88169085610c3c8984610497565b9095509350610c5985601f19602086028c03015b90815260200190565b60405163b65ad68360e01b815290995060058b901c601f169350600092506001600160a01b038816915063b65ad68390610c999088908790600401614751565b600060405180830381865afa158015610cb6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cde919081019061476a565b905081815114610d1757805160405163ea4915ed60e01b8152610d0e918491600401918252602082015260400190565b60405180910390fd5b610d218882611582565b9a9950505050505050505050565b6000600c83901c610fff8416825b828110156108d957610d50878387610b39565b945080610d5c81614806565b915050610d3d565b60018281166020908102949094015192901c83029091015181520190565b600061084c8261159a856115ad565b600061084c826115dc611650565b600061084c8261167c856116f2565b600061084c8261176f611425565b600061084c826117de611842565b600061084c82611863611650565b600061084c8261189c611425565b600061084c826118cc611842565b600061084c8261193f611425565b600061084c826119bb856119c8565b43815260006020820161084c565b42815260006020820161084c565b600061084c82611a0185611a0d565b600061084c82611a5485611a0d565b600061084c82611a6085611a0d565b600061084c82611a6c85611a0d565b600061084c8261048185611a0d565b600061084c82611a7b85611a0d565b600061084c82611a8785611a0d565b600061084c82611a9385611a0d565b600061084c82611a9f8561135e565b600061084c82611ac6856113a7565b600061084c82611adf856113a7565b600061084c82611afa856113a7565b600061084c82611b138561135e565b600061084c82611b208561135e565b6000602083028203805b83811015610f39576000610f1b825190565b90508015610f3057825250602001905061047a565b50602001610f09565b50602081015b95945050505050565b600061084c82611b2d600186016116f2565b600061084c82611b3d611425565b6000602083028203805b83811015610f39578051600003610f92575060008152602001905061047a565b602001610f72565b600061084c82611b41611425565b600061084c82611b45611842565b600061084c82611b49611425565b600061084c82611b4d611425565b600061084c82611b59611842565b600061084c82611b64611425565b600061084c82611b70611842565b600061084c82611b7b611842565b600061084c82611b86611842565b600061084c82611b9e611842565b600061084c82611bb0611425565b600061084c82611bbc611842565b600061084c82611bc7611842565b600061084c82611bd2611842565b600061084c82611bdd611842565b600061084c82611be8611425565b600061084c82611bf4611425565b600061084c82611c00611425565b600061084c82611c0c611842565b600061084c82611c1785611a0d565b600061084c82611c3485611a0d565b600061084c82611c6585611a0d565b600061084c82611c7b611d0a565b600061084c82611d4b611842565b600061084c82611d8b611842565b600061084c82611dcb611842565b600061084c82611e40611842565b600061084c82611e80611842565b600061084c82611ec0611650565b60008061113f836113d9565b604087015191945091506000906111569083611ef9565b9050600081600003611200576080870151606088015160405163334f245560e11b81526001600160a01b039092169163669e48aa916111a2918790600401918252602082015260400190565b602060405180830381865afa1580156111bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e3919061481f565b60408801519091506111f6908483611f22565b604088015261120c565b61120982611f7b565b90505b80855260208501610957565b6000806000611226846113d9565b9094509050611234846113d9565b60408801519195509250611249908383611f22565b604087015250829150509392505050565b600061084c82611fa985611fda565b600061084c8261202a8561209e565b600061084c826120f1611425565b600060ff8316600884901c600316600a85901c83806112a58786610497565b915091506112be6112b884868585612150565b82610c50565b9998505050505050505050565b600061084c82612245856113a7565b8051819060511461130b57805160405163c8b5690160e01b8152600481019190915260516024820152604401610d0e565b919050565b60405182518251602080830286010183111561132b57600080fd5b602081028301604052018352611341828261225d565b505050565b60ff80831660020a6000190160089390931c161c1690565b601f1983018051600091611376848363ffffffff8816565b905250929392505050565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b603f1983018051601f19909401805190946000929091906113cd85848463ffffffff8a16565b90525093949350505050565b601f190180519091565b968852602088019590955260408701939093526060860191909152608085015260a084015260c083015260e08201526101000190565b600061047a8383612271565b603f1982018051601f1990930180519093600092909190611376838363ffffffff8816565b815260200190565b9052565b8060200283015b8084101561147857835183526020938401939092019161145d565b50505050565b600060038260038111156114945761149461473b565b036114dd5760005b8460c00151518110156114d7576114cf8560c0015182815181106114c2576114c26146d9565b60200260200101516123b1565b60010161149c565b5061157a565b60008260038111156114f1576114f161473b565b036115025783516114d790846123f4565b60018260038111156115165761151661473b565b0361153a576115356115306101c98660200151601f190190565b612411565b61157a565b60005b8460a0015151811015611578576115708560a001518281518110611563576115636146d9565b6020026020010151612411565b60010161153d565b505b509092915050565b600061158e828461225d565b8151602002830161047a565b60008160405160200161040d9190614705565b600080806115bb8685610497565b9150915060006115ce828763ffffffff16565b905061095781610c50858582565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa15801561162c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c919061481f565b605f1982018051603f1984018051601f199095015190946000939091906113cd84848463ffffffff8a16565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906116ad9086908690600401614838565b600060405180830381865afa1580156116ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084c919081019061476a565b6000602082028403816117058285612491565b90506000806117148487610497565b9150915060006117298383868b63ffffffff16565b90508681511461175957805160405163118b036560e11b8152610d0e918991600401918252602082015260400190565b81611764828261225d565b602088028101610d21565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a919061481f565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d5919061481f565b601f19820180516000916118598263ffffffff8616565b9052509192915050565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e9060440161160f565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d09060240161179d565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611930919061488e565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa158015611987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ab919061488e565b6001600160a01b03169392505050565b806119c557600080fd5b50565b600060208202840381815b868310156119f757825191506020830192506119f2828763ffffffff16565b6119d3565b9695505050505050565b600061047a82846148ab565b60208181028403805160009282019083825b88841015611a465783519150611a3983838a63ffffffff16565b9250602084019350611a1f565b919093529695505050505050565b600061047a82846148be565b600061047a82846149b6565b6000818311610490578161047a565b600061047a82846149c2565b600061047a82846149d6565b600061047a82846149ed565b600061047a600184901c600185166002811115611abe57611abe61473b565b8491906124e9565b600061084c8282611ad88688836124e9565b919061253a565b600061084c83600186166002811115611abe57611abe61473b565b600061084c8282611b0c8688836124e9565b9190612550565b600061047a828483612566565b600061047a8284836125b5565b60606000841161157a578161084c565b1490565b1090565b1590565b1190565b600061047a83836125f7565b60006100d58261260a565b600061047a8383612652565b60006100d58261266a565b60006100d5826126b9565b6000670de0b6b3a764000082068015150282036100d5565b6000670de0b6b3a764000082066100d5565b600061047a838361270e565b60006100d582612775565b60006100d582612798565b60006100d5826127c9565b60006100d582613468565b600061047a838361359b565b600061047a83836135aa565b600061047a8383613607565b60006100d582613667565b6000828201838110611c29578061084c565b600019949350505050565b600082600003611c46575060006100d5565b82820282848281611c5957611c596146ef565b0403611c29578061084c565b6000818311611c7557600061047a565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf8919061481f565b6001600160a01b031695945050505050565b607f1982018051605f1984018051603f19860151601f1990960151919560009491929091611d3e8585858563ffffffff8c16565b9052509495945050505050565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f9190614a00565b60038111156100d5576100d561473b565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc9060440161160f565b61ffff828116905b8115611f1b5781518314611f1b5760408201519150611f01565b5092915050565b600080611f2f8585611ef9565b905061ffff8115611f4557836020830152611f71565b60405191506060820160405284825283602083015280861660408301528160028760101c0160101b1795505b5093949350505050565b600081600003611fa1576040516314ae691160e11b815260048101839052602401610d0e565b506020015190565b604051632235a18160e21b81526000906001600160a01b038516906388d686049061160f9086908690600401614a21565b60008080611fe88685610497565b915091506000611ff58290565b9050600080612003836113d9565b9150915061201d6120198287878c63ffffffff16565b8352565b5090979650505050505050565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b9061205d90879087908790600401614a45565b602060405180830381865afa15801561207a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f919061481f565b600080806120ac8685610497565b915091506000806120c26120bd8490565b6113d9565b9150915060006120d483601f19015190565b905061201d6120e9828488888d63ffffffff16565b601f19850152565b60008060015b6008811161214857600061210b86836136bd565b9050600061211986846136bd565b905060006121278383611c65565b9050612137856001860383613705565b945050600190920191506120f79050565b509392505050565b805160009081908190819060015b6008811161223757600092508289612179575060001961217d565b5060005b60005b83811015612213576121ab89828151811061219d5761219d6146d9565b6020026020010151846136bd565b95508986116121fc578a6121ca576121c38683610481565b91506121f3565b60018b036121dc576121c38683611a6c565b60028b1480156121ea575084155b156121f3578591505b6001945061220b565b8b61220b576000199150612213565b600101612180565b508361221e57506000195b61222c866001840383613705565b95505060010161215e565b509298975050505050505050565b600061084c8385600f16600487901c600f1685613745565b600060208301905061134181838551611456565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156122b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d89190614a86565b509350509250506000821361230357604051633351e26f60e01b815260048101839052602401610d0e565b8361230e82426149ed565b1115612337576040516304e61d6960e31b81526004810182905260248101859052604401610d0e565b610f3f856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190614ad6565b60ff1660016123aa856137a1565b91906124e9565b6119c5816040516024016123c591906146c6565b60408051601f198184030181529190526020810180516001600160e01b03166305f3bfab60e11b1790526137f7565b600080602084840304905061157a61153060208302850383612491565b612435604051806040016040528060038152602001623f3f3f60e91b815250613818565b60005b815181101561246c5761246481838381518110612457576124576146d9565b602002602001015161385b565b600101612438565b506119c5604051806040016040528060038152602001623f3f3f60e91b815250613818565b606060008267ffffffffffffffff8111156124ae576124ae61447a565b6040519080825280602002602001820160405280156124d7578160200160208202803683370190505b50905060208101612148858286611456565b600080836012036124fd578491505061047a565b83601211156125295750601283900361252161251a82600a6149b6565b8690611c34565b91505061047a565b5060111983016125218582856138a6565b600061084c84670de0b6b3a764000085856138fe565b600061084c8484670de0b6b3a7640000856138fe565b60008260000b60000361257a57508261047a565b60008360000b13156125a25761259b61259484600a614af9565b8590611c34565b905061047a565b60ff6000849003166125218582856138a6565b600080601284036125c9578491505061047a565b83601211156125e3578360120390506125218582856138a6565b50601119830161252161251a82600a6149b6565b6000828280821681831860011c01610f3f565b60008167081ad01a501bffff1981111561263a57604051636149f6b960e01b815260048101849052602401610d0e565b5050670de0b6b3a76400008082068015159103020190565b600061047a6101c984670de0b6b3a76400008561394e565b600081680736ea4425c11ac631811061269957604051630d7b1d6560e11b815260048101849052602401610d0e565b6714057b7ef767814f810261084c6126b9670de0b6b3a7640000835b0490565b600081680a688906bd8b00000081106126e85760405163b3b6ba1f60e01b815260048101849052602401610d0e565b6000612700670de0b6b3a7640000604084901b6148be565b905061084c6101c982613a22565b6000828281158061271d575080155b1561272d576000925050506100d5565b81810281838281612740576127406146ef565b04146127695760405163ae7f3b3760e01b81526004810187905260248101869052604401610d0e565b6119f76101c982614183565b60006100d5826ec097ce7bc90715b34b9f1000000000816126b5576126b56146ef565b60006100d56714057b7ef767814f670de0b6b3a76400006127bb6101c986613468565b02816126b5576126b56146ef565b600081670de0b6b3a76400008110156127f85760405163036d32ef60e41b815260048101849052602401610d0e565b8260018114612f2457600a8114612f355760648114612f46576103e88114612f57576127108114612f6857620186a08114612f7957620f42408114612f8a57629896808114612f9b576305f5e1008114612fac57633b9aca008114612fbd576402540be4008114612fce5764174876e8008114612fdf5764e8d4a510008114612ff0576509184e72a000811461300157655af3107a400081146130125766038d7ea4c68000811461302357662386f26fc1000081146130345767016345785d8a0000811461304557670de0b6b3a7640000811461305657678ac7230489e80000811461305f5768056bc75e2d63100000811461306f57683635c9adc5dea00000811461307f5769021e19e0c9bab2400000811461308f5769152d02c7e14af6800000811461309f5769d3c21bcecceda100000081146130af576a084595161401484a00000081146130bf576a52b7d2dcc80cd2e400000081146130cf576b033b2e3c9fd0803ce800000081146130df576b204fce5e3e2502611000000081146130ef576c01431e0fae6d7217caa000000081146130ff576c0c9f2c9cd04674edea40000000811461310f576c7e37be2022c0914b2680000000811461311f576d04ee2d6d415b85acef8100000000811461312f576d314dc6448d9338c15b0a00000000811461313f576e01ed09bead87c0378d8e6400000000811461314f576e13426172c74d822b878fe800000000811461315f576ec097ce7bc90715b34b9f1000000000811461316f576f0785ee10d5da46d900f436a000000000811461317f576f4b3b4ca85a86c47a098a2240000000008114613190577002f050fe938943acc45f6556800000000081146131a157701d6329f1c35ca4bfabb9f561000000000081146131b257710125dfa371a19e6f7cb54395ca000000000081146131c357710b7abc627050305adf14a3d9e4000000000081146131d4577172cb5bd86321e38cb6ce6682e8000000000081146131e55772047bf19673df52e37f2410011d10000000000081146131f657722cd76fe086b93ce2f768a00b22a000000000008114613207577301c06a5ec5433c60ddaa16406f5a40000000000081146132185773118427b3b4a05bc8a8a4de84598680000000000081146132295773af298d050e4395d69670b12b7f41000000000000811461323a577406d79f82328ea3da61e066ebb2f88a000000000000811461324b5774446c3b15f9926687d2c40534fdb564000000000000811461325c577502ac3a4edbbfb8014e3ba83411e915e8000000000000811461326d57751aba4714957d300d0e549208b31adb10000000000000811461327e5776010b46c6cdd6e3e0828f4db456ff0c8ea0000000000000811461328f57760a70c3c40a64e6c51999090b65f67d924000000000000081146132a057766867a5a867f103b2fffa5a71fba0e7b68000000000000081146132b1577704140c78940f6a24fdffc78873d4490d210000000000000081146132c2577728c87cb5c89a2571ebfdcb54864ada834a0000000000000081146132d357780197d4df19d605767337e9f14d3eec8920e40000000000000081146132e457780fee50b7025c36a0802f236d04753d5b48e80000000000000081146132f557789f4f2726179a224501d762422c946590d9100000000000000081146133065779063917877cec0556b21269d695bdcbf7a87aa000000000000000811461331757793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114613328577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114613339577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000811461334a577af316271c7fc3908a8bef464e3945ef7a25360a0000000000000000811461335b577b097edd871cfda3a5697758bf0e3cbb5ac5741c640000000000000000811461336c577b5ef4a74721e864761ea977768e5f518bb6891be80000000000000000811461337d577c03b58e88c75313ec9d329eaaa18fb92f75215b17100000000000000000811461338e577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a00000000000000000811461339f577d0172ebad6ddc73c86d67c5faa71c245689c107950240000000000000000081146133b0577d0e7d34c64a9c85d4460dbbca87196b61618a4bd21680000000000000000081146133c1577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e100000000000000000081146133d2577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca00000000000000000081146133e3577e3899162693736ac531a5a58f1fbb4b746504382ca7e400000000000000000081146133f4577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114613405577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114613416577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114613427576000199250613434565b67f9ccd8a1c507ffff199250613434565b67ebec21ee1da3ffff199250613434565b67de0b6b3a763fffff199250613434565b67d02ab486cedbffff199250613434565b67c249fdd32777ffff199250613434565b67b469471f8013ffff199250613434565b67a688906bd8afffff199250613434565b6798a7d9b8314bffff199250613434565b678ac7230489e7ffff199250613434565b677ce66c50e283ffff199250613434565b676f05b59d3b1fffff199250613434565b676124fee993bbffff199250613434565b6753444835ec57ffff199250613434565b674563918244f3ffff199250613434565b673782dace9d8fffff199250613434565b6729a2241af62bffff199250613434565b671bc16d674ec7ffff199250613434565b670de0b6b3a763ffff199250613434565b60009250613434565b670de0b6b3a76400009250613434565b671bc16d674ec800009250613434565b6729a2241af62c00009250613434565b673782dace9d9000009250613434565b674563918244f400009250613434565b6753444835ec5800009250613434565b676124fee993bc00009250613434565b676f05b59d3b2000009250613434565b677ce66c50e28400009250613434565b678ac7230489e800009250613434565b6798a7d9b8314c00009250613434565b67a688906bd8b000009250613434565b67b469471f801400009250613434565b67c249fdd3277800009250613434565b67d02ab486cedc00009250613434565b67de0b6b3a764000009250613434565b67ebec21ee1da400009250613434565b67f9ccd8a1c50800009250613434565b680107ad8f556c6c00009250613434565b6801158e460913d000009250613434565b6801236efcbcbb3400009250613434565b6801314fb370629800009250613434565b68013f306a2409fc00009250613434565b68014d1120d7b16000009250613434565b68015af1d78b58c400009250613434565b680168d28e3f002800009250613434565b680176b344f2a78c00009250613434565b68018493fba64ef000009250613434565b68019274b259f65400009250613434565b6801a055690d9db800009250613434565b6801ae361fc1451c00009250613434565b6801bc16d674ec8000009250613434565b6801c9f78d2893e400009250613434565b6801d7d843dc3b4800009250613434565b6801e5b8fa8fe2ac00009250613434565b6801f399b1438a1000009250613434565b6802017a67f7317400009250613434565b68020f5b1eaad8d800009250613434565b68021d3bd55e803c00009250613434565b68022b1c8c1227a000009250613434565b680238fd42c5cf0400009250613434565b680246ddf979766800009250613434565b680254beb02d1dcc00009250613434565b6802629f66e0c53000009250613434565b680270801d946c9400009250613434565b68027e60d44813f800009250613434565b68028c418afbbb5c00009250613434565b68029a2241af62c000009250613434565b6802a802f8630a2400009250613434565b6802b5e3af16b18800009250613434565b6802c3c465ca58ec00009250613434565b6802d1a51c7e005000009250613434565b6802df85d331a7b400009250613434565b6802ed6689e54f1800009250613434565b6802fb474098f67c00009250613434565b68030927f74c9de000009250613434565b68031708ae00454400009250613434565b680324e964b3eca800009250613434565b680332ca1b67940c000092505b5060001982036134625761345f672e19dc008126bf2b670de0b6b3a76400006127bb6101c987613468565b91505b50919050565b600081670de0b6b3a76400008110156134975760405163036d32ef60e41b815260048101849052602401610d0e565b6000613523670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff19810161354c5750949350505050565b671bc16d674ec800006706f05b59d3b200005b801561358f57670de0b6b3a7640000838002049250818310613587579283019260019290921c915b60011c61355f565b50919695505050505050565b600061047a6101c984846142fb565b600082828183036135d35780156135c25760006135cc565b670de0b6b3a76400005b92506135ff565b670de0b6b3a764000081036135ea578492506135ff565b610f3f6126b96135f987613468565b8661359b565b505092915050565b600082816001841661362157670de0b6b3a7640000613623565b815b9050600184901c93505b83156136615761363d82836142fb565b915060018416156136555761365281836142fb565b90505b600184901c935061362d565b80610f3f565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218111156136a75760405163edc236ad60e01b815260048101849052602401610d0e565b61345f6101c9670de0b6b3a76400008302614183565b60008160088111156136e15760405162461bcd60e51b8152600401610d0e90614b08565b826000036136f25760009150611f1b565b5050600019016020021c63ffffffff1690565b60008260088111156137295760405162461bcd60e51b8152600401610d0e90614b08565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156137695760405162461bcd60e51b8152600401610d0e90614b08565b6000855b858110156137955763ffffffff6020820290811b199890981685891b1797915060010161376d565b50959695505050505050565b6000808212156137f35760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610d0e565b5090565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6119c58160405160240161382c91906146c6565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526137f7565b60405160248101839052604481018290526138a29060640160408051601f198184030181529190526020810180516001600160e01b0316637b3338ad60e11b1790526137f7565b5050565b6000806138b484600a6149b6565b905060006138c282876148be565b905060018460028111156138d8576138d861473b565b1480156138ee57506138ea82826149d6565b8614155b15610f3f576119f76001826148ab565b60008061390c8686866143af565b905060018360028111156139225761392261473b565b1480156138ee57506000848061393a5761393a6146ef565b8688091115610f3f576119f76001826148ab565b60008080600019858709858702925082811083820303915050806000036139885783828161397e5761397e6146ef565b049250505061047a565b8381106139b957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d0e565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff00000000000000821615613b2f57678000000000000000821615613a565768016a09e667f3bcc9090260401c5b674000000000000000821615613a75576801306fe0a31b7152df0260401c5b672000000000000000821615613a94576801172b83c7d517adce0260401c5b671000000000000000821615613ab35768010b5586cf9890f62a0260401c5b670800000000000000821615613ad2576801059b0d31585743ae0260401c5b670400000000000000821615613af157680102c9a3e778060ee70260401c5b670200000000000000821615613b105768010163da9fb33356d80260401c5b670100000000000000821615613b2f57680100b1afa5abcbed610260401c5b66ff000000000000821615613c2e576680000000000000821615613b5c5768010058c86da1c09ea20260401c5b6640000000000000821615613b7a576801002c605e2e8cec500260401c5b6620000000000000821615613b9857680100162f3904051fa10260401c5b6610000000000000821615613bb6576801000b175effdc76ba0260401c5b6608000000000000821615613bd457680100058ba01fb9f96d0260401c5b6604000000000000821615613bf25768010002c5cc37da94920260401c5b6602000000000000821615613c10576801000162e525ee05470260401c5b6601000000000000821615613c2e5768010000b17255775c040260401c5b65ff0000000000821615613d245765800000000000821615613c59576801000058b91b5bc9ae0260401c5b65400000000000821615613c7657680100002c5c89d5ec6d0260401c5b65200000000000821615613c935768010000162e43f4f8310260401c5b65100000000000821615613cb057680100000b1721bcfc9a0260401c5b65080000000000821615613ccd5768010000058b90cf1e6e0260401c5b65040000000000821615613cea576801000002c5c863b73f0260401c5b65020000000000821615613d0757680100000162e430e5a20260401c5b65010000000000821615613d24576801000000b1721835510260401c5b64ff00000000821615613e1157648000000000821615613d4d57680100000058b90c0b490260401c5b644000000000821615613d695768010000002c5c8601cc0260401c5b642000000000821615613d85576801000000162e42fff00260401c5b641000000000821615613da15768010000000b17217fbb0260401c5b640800000000821615613dbd576801000000058b90bfce0260401c5b640400000000821615613dd957680100000002c5c85fe30260401c5b640200000000821615613df55768010000000162e42ff10260401c5b640100000000821615613e1157680100000000b17217f80260401c5b64ff00000000821615613ef6576380000000821615613e395768010000000058b90bfc0260401c5b6340000000821615613e54576801000000002c5c85fe0260401c5b6320000000821615613e6f57680100000000162e42ff0260401c5b6310000000821615613e8a576801000000000b17217f0260401c5b6308000000821615613ea557680100000000058b90c00260401c5b6304000000821615613ec05768010000000002c5c8600260401c5b6302000000821615613edb576801000000000162e4300260401c5b6301000000821615613ef65768010000000000b172180260401c5b62ff0000821615613fd15762800000821615613f1b576801000000000058b90c0260401c5b62400000821615613f3557680100000000002c5c860260401c5b62200000821615613f4f5768010000000000162e430260401c5b62100000821615613f6957680100000000000b17210260401c5b62080000821615613f835768010000000000058b910260401c5b62040000821615613f9d576801000000000002c5c80260401c5b62020000821615613fb757680100000000000162e40260401c5b62010000821615613fd1576801000000000000b1720260401c5b61ff008216156140a357618000821615613ff457680100000000000058b90260401c5b61400082161561400d5768010000000000002c5d0260401c5b612000821615614026576801000000000000162e0260401c5b61100082161561403f5768010000000000000b170260401c5b610800821615614058576801000000000000058c0260401c5b61040082161561407157680100000000000002c60260401c5b61020082161561408a57680100000000000001630260401c5b6101008216156140a357680100000000000000b10260401c5b60ff82161561416c5760808216156140c457680100000000000000590260401c5b60408216156140dc576801000000000000002c0260401c5b60208216156140f457680100000000000000160260401c5b601082161561410c576801000000000000000b0260401c5b600882161561412457680100000000000000060260401c5b600482161561413c57680100000000000000030260401c5b600282161561415457680100000000000000010260401c5b600182161561416c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b60008160000361419557506000919050565b50600181600160801b81106141af5760409190911b9060801c5b6801000000000000000081106141ca5760209190911b9060401c5b64010000000081106141e15760109190911b9060201c5b6201000081106141f65760089190911b9060101c5b610100811061420a5760049190911b9060081c5b6010811061421d5760029190911b9060041c5b6004811061422d57600182901b91505b600182848161423e5761423e6146ef565b048301901c91506001828481614256576142566146ef565b048301901c9150600182848161426e5761426e6146ef565b048301901c91506001828481614286576142866146ef565b048301901c9150600182848161429e5761429e6146ef565b048301901c915060018284816142b6576142b66146ef565b048301901c915060018284816142ce576142ce6146ef565b048301901c915060008284816142e6576142e66146ef565b0490508083106142f4578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a7640000811061434657604051635173648d60e01b81526004810186905260248101859052604401610d0e565b6000670de0b6b3a7640000858709905081600003614372575050670de0b6b3a7640000900490506100d5565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b60008080600019858709858702925082811083820303915050806000036143df5783828161397e5761397e6146ef565b8084116139b957600080fd5b6143f3614b2a565b565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b60006020828403121561444d57600080fd5b81356001600160e01b03198116811461047a57600080fd5b6001600160a01b03811681146119c557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156144b9576144b961447a565b604052919050565b600067ffffffffffffffff8211156144db576144db61447a565b5060051b60200190565b600080600080608085870312156144fb57600080fd5b6145058535614465565b843593506020850135925060408501359150606085013567ffffffffffffffff8082111561453257600080fd5b818701915087601f83011261454657600080fd5b61455861455383356144c1565b614490565b82358082526020808301929160051b8501018a81111561457757600080fd5b602085015b8181101561460e57848135111561459257600080fd5b803586018c603f8201126145a557600080fd5b60208101356145b6614553826144c1565b81815260059190911b82016040019060208101908f8311156145d757600080fd5b6040840193505b828410156145f95783358252602093840193909101906145de565b8752505060209485019491909101905061457c565b50508094505050505092959194509250565b600081518084526020808501945080840160005b8381101561465057815187529582019590820190600101614634565b509495945050505050565b60408152600061466e6040830185614620565b8281036020840152610f3f8185614620565b6000815180845260005b818110156146a65760208185018101518683018201520161468a565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061047a6020830184614680565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b815160009082906020808601845b8381101561472f57815185529382019390820190600101614713565b50929695505050505050565b634e487b7160e01b600052602160045260246000fd5b82815260406020820152600061084c6040830184614620565b6000602080838503121561477d57600080fd5b825167ffffffffffffffff81111561479457600080fd5b8301601f810185136147a557600080fd5b80516147b3614553826144c1565b81815260059190911b820183019083810190878311156147d257600080fd5b928401925b82841015610957578351825292840192908401906147d7565b634e487b7160e01b600052601160045260246000fd5b600060018201614818576148186147f0565b5060010190565b60006020828403121561483157600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b8281101561487a5781516001600160a01b031684529284019290840190600101614855565b505050838103828501526119f78186614620565b6000602082840312156148a057600080fd5b815161047a81614465565b808201808211156100d5576100d56147f0565b6000826148cd576148cd6146ef565b500490565b600181815b8085111561490d5781600019048211156148f3576148f36147f0565b8085161561490057918102915b93841c93908002906148d7565b509250929050565b600082614924575060016100d5565b81614931575060006100d5565b816001811461494757600281146149515761496d565b60019150506100d5565b60ff841115614962576149626147f0565b50506001821b6100d5565b5060208310610133831016604e8410600b8410161715614990575081810a6100d5565b61499a83836148d2565b80600019048211156149ae576149ae6147f0565b029392505050565b600061047a8383614915565b6000826149d1576149d16146ef565b500690565b80820281158282048414176100d5576100d56147f0565b818103818111156100d5576100d56147f0565b600060208284031215614a1257600080fd5b81516004811061047a57600080fd5b6001600160a01b038316815260406020820181905260009061084c90830184614620565b60018060a01b0384168152826020820152606060408201526000610f3f6060830184614620565b805169ffffffffffffffffffff8116811461130b57600080fd5b600080600080600060a08688031215614a9e57600080fd5b614aa786614a6c565b9450602086015193506040860151925060608601519150614aca60808701614a6c565b90509295509295909350565b600060208284031215614ae857600080fd5b815160ff8116811461047a57600080fd5b600061047a60ff841683614915565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220f88fca329a50110af76555aab77910726029f57e1b699b3c3fd2066667731ba464736f6c63430008120033", - "sourceMap": "1013:2589:120:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780636715f8251461006e578063f933c72f1461008f575b600080fd5b61005961005436600461443b565b6100a4565b60405190151581526020015b60405180910390f35b61008161007c3660046144e5565b6100db565b60405161006592919061465b565b610097610187565b60405161006591906146c6565b60006001600160e01b03198216634f131f8560e11b14806100d557506001600160e01b031982166301ffc9a760e01b145b92915050565b606080602084901c60ff601086901c811690861660006101026100fd856101d7565b610229565b600060408201529050610114896103e4565b60608201526001600160a01b038a16608082015260a081018790528051600090610141908390869061042b565b8251909150602090820304600061016261015b8387610481565b8490610497565b9150508061017385604001516104ab565b985098505050505050505094509492505050565b6040805160008082526020820190925260609190816101b7565b6143eb8152602001906001900390816101a15790505b5090506101d16101cc6101c98361053b565b90565b610854565b91505090565b6060813b60008190036101fd57604051631354fb0f60e11b815260040160405180910390fd5b60408051603e8301601f1916810190915260001990910180825290915080600160208401853c50919050565b6102316143f5565b6102396143f5565b6040805160008082526020820190925290610264565b606081526020019060019003908161024f5790505b5060a08201526000610277845b60200190565b9050600061028f61028a83601f19015190565b830190565b905060208201915060006102a583601f19015190565b905060008167ffffffffffffffff8111156102c2576102c261447a565b6040519080825280602002602001820160405280156102eb578160200160208202803683370190505b5060208082018752858101908701819052945190915061030d90602002850190565b9350600084815b858210156103395761032f61027161032a845190565b840190565b9150600101610314565b8067ffffffffffffffff8111156103525761035261447a565b60405190808252806020026020018201604052801561038557816020015b60608152602001906001900390816103705790505b5060c08901525b858710156103d657868860c0015184815181106103ab576103ab6146d9565b60200260200101819052506103c96102716103c4895190565b890190565b965060019092019161038c565b509598975050505050505050565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000906054015b60408051601f19818403018152919052805160209091012092915050565b60c08301516020838102909101015180516000919081015b8082101561047457600491909101805190919061ffff601082901c8116911661046b88828885565b95505050610443565b83925050505b9392505050565b6000818310610490578161047a565b5090919050565b60208102909103601f190180519181529091565b606061ffff8216601083901c60008167ffffffffffffffff8111156104d2576104d261447a565b6040519080825280602002602001820160405280156104fb578160200160208202803683370190505b50905060208101602082510281015b80821015610530578451825260208086015190830152604094850151949091019061050a565b509095945050505050565b6060600060405180610a400160405280610553605190565b67ffffffffffffffff1681526108e460208201526108f360408201526109026060820152610962608082015261097060a08201526109c260c0820152610a1460e0820152610a6f610100820152610b39610120820152610b8f610140820152610bbb610160820152610c0e610180820152610d2f6101a0820152610d646101c0820152610d826101e0820152610d91610200820152610d9f610220820152610dae6102408201819052610dbc610260830152610dca610280830152610dd86102a0830152610de66102c08301526102e0820152610df4610300820152610e02610320820152610e11610340820152610e1f610360820152610e2d610380820152610e3c6103a0820152610e4b6103c0820152610e5a6103e0820152610e69610400820152610e78610420820152610e87610440820152610e96610460820152610ea5610480820152610eb46104a0820152610ec36104c0820152610ed26104e0820152610ee1610500820152610ef0610520820152610eff610540820152610f48610560820152610f5a610580820152610f686105a0820152610f9a6105c0820152610fa86105e0820152610fb6610600820152610fc4610620820152610fd2610640820152610fe0610660820152610fee610680820152610ffc6106a082015261100a6106c08201526110186106e082015261102661070082015261103461072082015261104261074082015261105061076082015261105e61078082015261106c6107a082015261107a6107c08201526110886107e08201526110966108008201526110a46108208201526110b36108408201526110c26108608201526110d16108808201526110df6108a08201526110ed6108c08201526110fb6108e082015261110961090082015261111761092082015261112561094082015261113361096082015261121861098082015261125a6109a08201526112696109c08201526112786109e0820152611286610a008201526112cb610a20909101529050600061083e826112da565b905061084a8185611310565b805b949350505050565b60606000825160020267ffffffffffffffff8111156108755761087561447a565b6040519080825280601f01601f19166020018201604052801561089f576020820181803683370190505b50905061ffff801990506020840160208551028101600284015b818310156108d957805183519085161781526020909201916002016108b9565b509295945050505050565b600061084c826113468561135e565b600061084c82611381856113a7565b6000806000610910846113d9565b909250905063ffffffff61095783828416602085901c8416604086901c8516606087901c8616608088901c871660a089901c881660c08a901c891660e08b901c6113e38b16565b979650505050505050565b600061084c82611419611425565b600061084c8460a00151600885901c8151811061098f5761098f6146d9565b602002602001015160ff8516815181106109ab576109ab6146d9565b60200260200101518361144a90919063ffffffff16565b600061084c8460a0015184815181106109dd576109dd6146d9565b60200260200101516040516020016109f59190614705565b60408051808303601f1901815291905280516020918201208452830190565b6000806000610a22846113d9565b915091506104748660a001518681518110610a3f57610a3f6146d9565b60200260200101518281518110610a5857610a586146d9565b60200260200101518361145290919063ffffffff16565b6000600f83811690600485901c811690600886901c16600c86901c808201855b8960a001518581518110610aa557610aa56146d9565b6020026020010151518110156103d65760005b84811015610b1557610b0b8b60a0015182880181518110610adb57610adb6146d9565b60200260200101518381518110610af457610af46146d9565b60200260200101518a61144a90919063ffffffff16565b9850600101610ab8565b50600886901b600484901b178217610b2e8b828b610b39565b985050600101610a8f565b8251600090600f84811691600486901c90911690600886901c9060208402860388526000610b6889848961042b565b9050610b7b6020850282038a5186611456565b508751975250602002909401949350505050565b600080836003811115610ba457610ba461473b565b9050610bb185848361147e565b5091949350505050565b600060ff831660018101600481901b851783610bd6866113d9565b90965090505b8015610c0257610bed888388610b39565b9550610bf8866113d9565b9096509050610bdc565b50939695505050505050565b602083810151600a84901c918202015160009160a082901c908390606090601f88169085610c3c8984610497565b9095509350610c5985601f19602086028c03015b90815260200190565b60405163b65ad68360e01b815290995060058b901c601f169350600092506001600160a01b038816915063b65ad68390610c999088908790600401614751565b600060405180830381865afa158015610cb6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cde919081019061476a565b905081815114610d1757805160405163ea4915ed60e01b8152610d0e918491600401918252602082015260400190565b60405180910390fd5b610d218882611582565b9a9950505050505050505050565b6000600c83901c610fff8416825b828110156108d957610d50878387610b39565b945080610d5c81614806565b915050610d3d565b60018281166020908102949094015192901c83029091015181520190565b600061084c8261159a856115ad565b600061084c826115dc611650565b600061084c8261167c856116f2565b600061084c8261176f611425565b600061084c826117de611842565b600061084c82611863611650565b600061084c8261189c611425565b600061084c826118cc611842565b600061084c8261193f611425565b600061084c826119bb856119c8565b43815260006020820161084c565b42815260006020820161084c565b600061084c82611a0185611a0d565b600061084c82611a5485611a0d565b600061084c82611a6085611a0d565b600061084c82611a6c85611a0d565b600061084c8261048185611a0d565b600061084c82611a7b85611a0d565b600061084c82611a8785611a0d565b600061084c82611a9385611a0d565b600061084c82611a9f8561135e565b600061084c82611ac6856113a7565b600061084c82611adf856113a7565b600061084c82611afa856113a7565b600061084c82611b138561135e565b600061084c82611b208561135e565b6000602083028203805b83811015610f39576000610f1b825190565b90508015610f3057825250602001905061047a565b50602001610f09565b50602081015b95945050505050565b600061084c82611b2d600186016116f2565b600061084c82611b3d611425565b6000602083028203805b83811015610f39578051600003610f92575060008152602001905061047a565b602001610f72565b600061084c82611b41611425565b600061084c82611b45611842565b600061084c82611b49611425565b600061084c82611b4d611425565b600061084c82611b59611842565b600061084c82611b64611425565b600061084c82611b70611842565b600061084c82611b7b611842565b600061084c82611b86611842565b600061084c82611b9e611842565b600061084c82611bb0611425565b600061084c82611bbc611842565b600061084c82611bc7611842565b600061084c82611bd2611842565b600061084c82611bdd611842565b600061084c82611be8611425565b600061084c82611bf4611425565b600061084c82611c00611425565b600061084c82611c0c611842565b600061084c82611c1785611a0d565b600061084c82611c3485611a0d565b600061084c82611c6585611a0d565b600061084c82611c7b611d0a565b600061084c82611d4b611842565b600061084c82611d8b611842565b600061084c82611dcb611842565b600061084c82611e40611842565b600061084c82611e80611842565b600061084c82611ec0611650565b60008061113f836113d9565b604087015191945091506000906111569083611ef9565b9050600081600003611200576080870151606088015160405163334f245560e11b81526001600160a01b039092169163669e48aa916111a2918790600401918252602082015260400190565b602060405180830381865afa1580156111bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e3919061481f565b60408801519091506111f6908483611f22565b604088015261120c565b61120982611f7b565b90505b80855260208501610957565b6000806000611226846113d9565b9094509050611234846113d9565b60408801519195509250611249908383611f22565b604087015250829150509392505050565b600061084c82611fa985611fda565b600061084c8261202a8561209e565b600061084c826120f1611425565b600060ff8316600884901c600316600a85901c83806112a58786610497565b915091506112be6112b884868585612150565b82610c50565b9998505050505050505050565b600061084c82612245856113a7565b8051819060511461130b57805160405163c8b5690160e01b8152600481019190915260516024820152604401610d0e565b919050565b60405182518251602080830286010183111561132b57600080fd5b602081028301604052018352611341828261225d565b505050565b60ff80831660020a6000190160089390931c161c1690565b601f1983018051600091611376848363ffffffff8816565b905250929392505050565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b603f1983018051601f19909401805190946000929091906113cd85848463ffffffff8a16565b90525093949350505050565b601f190180519091565b968852602088019590955260408701939093526060860191909152608085015260a084015260c083015260e08201526101000190565b600061047a8383612271565b603f1982018051601f1990930180519093600092909190611376838363ffffffff8816565b815260200190565b9052565b8060200283015b8084101561147857835183526020938401939092019161145d565b50505050565b600060038260038111156114945761149461473b565b036114dd5760005b8460c00151518110156114d7576114cf8560c0015182815181106114c2576114c26146d9565b60200260200101516123b1565b60010161149c565b5061157a565b60008260038111156114f1576114f161473b565b036115025783516114d790846123f4565b60018260038111156115165761151661473b565b0361153a576115356115306101c98660200151601f190190565b612411565b61157a565b60005b8460a0015151811015611578576115708560a001518281518110611563576115636146d9565b6020026020010151612411565b60010161153d565b505b509092915050565b600061158e828461225d565b8151602002830161047a565b60008160405160200161040d9190614705565b600080806115bb8685610497565b9150915060006115ce828763ffffffff16565b905061095781610c50858582565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa15801561162c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c919061481f565b605f1982018051603f1984018051601f199095015190946000939091906113cd84848463ffffffff8a16565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906116ad9086908690600401614838565b600060405180830381865afa1580156116ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084c919081019061476a565b6000602082028403816117058285612491565b90506000806117148487610497565b9150915060006117298383868b63ffffffff16565b90508681511461175957805160405163118b036560e11b8152610d0e918991600401918252602082015260400190565b81611764828261225d565b602088028101610d21565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a919061481f565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d5919061481f565b601f19820180516000916118598263ffffffff8616565b9052509192915050565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e9060440161160f565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d09060240161179d565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611930919061488e565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa158015611987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ab919061488e565b6001600160a01b03169392505050565b806119c557600080fd5b50565b600060208202840381815b868310156119f757825191506020830192506119f2828763ffffffff16565b6119d3565b9695505050505050565b600061047a82846148ab565b60208181028403805160009282019083825b88841015611a465783519150611a3983838a63ffffffff16565b9250602084019350611a1f565b919093529695505050505050565b600061047a82846148be565b600061047a82846149b6565b6000818311610490578161047a565b600061047a82846149c2565b600061047a82846149d6565b600061047a82846149ed565b600061047a600184901c600185166002811115611abe57611abe61473b565b8491906124e9565b600061084c8282611ad88688836124e9565b919061253a565b600061084c83600186166002811115611abe57611abe61473b565b600061084c8282611b0c8688836124e9565b9190612550565b600061047a828483612566565b600061047a8284836125b5565b60606000841161157a578161084c565b1490565b1090565b1590565b1190565b600061047a83836125f7565b60006100d58261260a565b600061047a8383612652565b60006100d58261266a565b60006100d5826126b9565b6000670de0b6b3a764000082068015150282036100d5565b6000670de0b6b3a764000082066100d5565b600061047a838361270e565b60006100d582612775565b60006100d582612798565b60006100d5826127c9565b60006100d582613468565b600061047a838361359b565b600061047a83836135aa565b600061047a8383613607565b60006100d582613667565b6000828201838110611c29578061084c565b600019949350505050565b600082600003611c46575060006100d5565b82820282848281611c5957611c596146ef565b0403611c29578061084c565b6000818311611c7557600061047a565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf8919061481f565b6001600160a01b031695945050505050565b607f1982018051605f1984018051603f19860151601f1990960151919560009491929091611d3e8585858563ffffffff8c16565b9052509495945050505050565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f9190614a00565b60038111156100d5576100d561473b565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190c573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181e573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc9060440161160f565b61ffff828116905b8115611f1b5781518314611f1b5760408201519150611f01565b5092915050565b600080611f2f8585611ef9565b905061ffff8115611f4557836020830152611f71565b60405191506060820160405284825283602083015280861660408301528160028760101c0160101b1795505b5093949350505050565b600081600003611fa1576040516314ae691160e11b815260048101839052602401610d0e565b506020015190565b604051632235a18160e21b81526000906001600160a01b038516906388d686049061160f9086908690600401614a21565b60008080611fe88685610497565b915091506000611ff58290565b9050600080612003836113d9565b9150915061201d6120198287878c63ffffffff16565b8352565b5090979650505050505050565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b9061205d90879087908790600401614a45565b602060405180830381865afa15801561207a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f919061481f565b600080806120ac8685610497565b915091506000806120c26120bd8490565b6113d9565b9150915060006120d483601f19015190565b905061201d6120e9828488888d63ffffffff16565b601f19850152565b60008060015b6008811161214857600061210b86836136bd565b9050600061211986846136bd565b905060006121278383611c65565b9050612137856001860383613705565b945050600190920191506120f79050565b509392505050565b805160009081908190819060015b6008811161223757600092508289612179575060001961217d565b5060005b60005b83811015612213576121ab89828151811061219d5761219d6146d9565b6020026020010151846136bd565b95508986116121fc578a6121ca576121c38683610481565b91506121f3565b60018b036121dc576121c38683611a6c565b60028b1480156121ea575084155b156121f3578591505b6001945061220b565b8b61220b576000199150612213565b600101612180565b508361221e57506000195b61222c866001840383613705565b95505060010161215e565b509298975050505050505050565b600061084c8385600f16600487901c600f1685613745565b600060208301905061134181838551611456565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156122b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d89190614a86565b509350509250506000821361230357604051633351e26f60e01b815260048101839052602401610d0e565b8361230e82426149ed565b1115612337576040516304e61d6960e31b81526004810182905260248101859052604401610d0e565b610f3f856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190614ad6565b60ff1660016123aa856137a1565b91906124e9565b6119c5816040516024016123c591906146c6565b60408051601f198184030181529190526020810180516001600160e01b03166305f3bfab60e11b1790526137f7565b600080602084840304905061157a61153060208302850383612491565b612435604051806040016040528060038152602001623f3f3f60e91b815250613818565b60005b815181101561246c5761246481838381518110612457576124576146d9565b602002602001015161385b565b600101612438565b506119c5604051806040016040528060038152602001623f3f3f60e91b815250613818565b606060008267ffffffffffffffff8111156124ae576124ae61447a565b6040519080825280602002602001820160405280156124d7578160200160208202803683370190505b50905060208101612148858286611456565b600080836012036124fd578491505061047a565b83601211156125295750601283900361252161251a82600a6149b6565b8690611c34565b91505061047a565b5060111983016125218582856138a6565b600061084c84670de0b6b3a764000085856138fe565b600061084c8484670de0b6b3a7640000856138fe565b60008260000b60000361257a57508261047a565b60008360000b13156125a25761259b61259484600a614af9565b8590611c34565b905061047a565b60ff6000849003166125218582856138a6565b600080601284036125c9578491505061047a565b83601211156125e3578360120390506125218582856138a6565b50601119830161252161251a82600a6149b6565b6000828280821681831860011c01610f3f565b60008167081ad01a501bffff1981111561263a57604051636149f6b960e01b815260048101849052602401610d0e565b5050670de0b6b3a76400008082068015159103020190565b600061047a6101c984670de0b6b3a76400008561394e565b600081680736ea4425c11ac631811061269957604051630d7b1d6560e11b815260048101849052602401610d0e565b6714057b7ef767814f810261084c6126b9670de0b6b3a7640000835b0490565b600081680a688906bd8b00000081106126e85760405163b3b6ba1f60e01b815260048101849052602401610d0e565b6000612700670de0b6b3a7640000604084901b6148be565b905061084c6101c982613a22565b6000828281158061271d575080155b1561272d576000925050506100d5565b81810281838281612740576127406146ef565b04146127695760405163ae7f3b3760e01b81526004810187905260248101869052604401610d0e565b6119f76101c982614183565b60006100d5826ec097ce7bc90715b34b9f1000000000816126b5576126b56146ef565b60006100d56714057b7ef767814f670de0b6b3a76400006127bb6101c986613468565b02816126b5576126b56146ef565b600081670de0b6b3a76400008110156127f85760405163036d32ef60e41b815260048101849052602401610d0e565b8260018114612f2457600a8114612f355760648114612f46576103e88114612f57576127108114612f6857620186a08114612f7957620f42408114612f8a57629896808114612f9b576305f5e1008114612fac57633b9aca008114612fbd576402540be4008114612fce5764174876e8008114612fdf5764e8d4a510008114612ff0576509184e72a000811461300157655af3107a400081146130125766038d7ea4c68000811461302357662386f26fc1000081146130345767016345785d8a0000811461304557670de0b6b3a7640000811461305657678ac7230489e80000811461305f5768056bc75e2d63100000811461306f57683635c9adc5dea00000811461307f5769021e19e0c9bab2400000811461308f5769152d02c7e14af6800000811461309f5769d3c21bcecceda100000081146130af576a084595161401484a00000081146130bf576a52b7d2dcc80cd2e400000081146130cf576b033b2e3c9fd0803ce800000081146130df576b204fce5e3e2502611000000081146130ef576c01431e0fae6d7217caa000000081146130ff576c0c9f2c9cd04674edea40000000811461310f576c7e37be2022c0914b2680000000811461311f576d04ee2d6d415b85acef8100000000811461312f576d314dc6448d9338c15b0a00000000811461313f576e01ed09bead87c0378d8e6400000000811461314f576e13426172c74d822b878fe800000000811461315f576ec097ce7bc90715b34b9f1000000000811461316f576f0785ee10d5da46d900f436a000000000811461317f576f4b3b4ca85a86c47a098a2240000000008114613190577002f050fe938943acc45f6556800000000081146131a157701d6329f1c35ca4bfabb9f561000000000081146131b257710125dfa371a19e6f7cb54395ca000000000081146131c357710b7abc627050305adf14a3d9e4000000000081146131d4577172cb5bd86321e38cb6ce6682e8000000000081146131e55772047bf19673df52e37f2410011d10000000000081146131f657722cd76fe086b93ce2f768a00b22a000000000008114613207577301c06a5ec5433c60ddaa16406f5a40000000000081146132185773118427b3b4a05bc8a8a4de84598680000000000081146132295773af298d050e4395d69670b12b7f41000000000000811461323a577406d79f82328ea3da61e066ebb2f88a000000000000811461324b5774446c3b15f9926687d2c40534fdb564000000000000811461325c577502ac3a4edbbfb8014e3ba83411e915e8000000000000811461326d57751aba4714957d300d0e549208b31adb10000000000000811461327e5776010b46c6cdd6e3e0828f4db456ff0c8ea0000000000000811461328f57760a70c3c40a64e6c51999090b65f67d924000000000000081146132a057766867a5a867f103b2fffa5a71fba0e7b68000000000000081146132b1577704140c78940f6a24fdffc78873d4490d210000000000000081146132c2577728c87cb5c89a2571ebfdcb54864ada834a0000000000000081146132d357780197d4df19d605767337e9f14d3eec8920e40000000000000081146132e457780fee50b7025c36a0802f236d04753d5b48e80000000000000081146132f557789f4f2726179a224501d762422c946590d9100000000000000081146133065779063917877cec0556b21269d695bdcbf7a87aa000000000000000811461331757793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114613328577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114613339577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000811461334a577af316271c7fc3908a8bef464e3945ef7a25360a0000000000000000811461335b577b097edd871cfda3a5697758bf0e3cbb5ac5741c640000000000000000811461336c577b5ef4a74721e864761ea977768e5f518bb6891be80000000000000000811461337d577c03b58e88c75313ec9d329eaaa18fb92f75215b17100000000000000000811461338e577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a00000000000000000811461339f577d0172ebad6ddc73c86d67c5faa71c245689c107950240000000000000000081146133b0577d0e7d34c64a9c85d4460dbbca87196b61618a4bd21680000000000000000081146133c1577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e100000000000000000081146133d2577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca00000000000000000081146133e3577e3899162693736ac531a5a58f1fbb4b746504382ca7e400000000000000000081146133f4577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114613405577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114613416577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114613427576000199250613434565b67f9ccd8a1c507ffff199250613434565b67ebec21ee1da3ffff199250613434565b67de0b6b3a763fffff199250613434565b67d02ab486cedbffff199250613434565b67c249fdd32777ffff199250613434565b67b469471f8013ffff199250613434565b67a688906bd8afffff199250613434565b6798a7d9b8314bffff199250613434565b678ac7230489e7ffff199250613434565b677ce66c50e283ffff199250613434565b676f05b59d3b1fffff199250613434565b676124fee993bbffff199250613434565b6753444835ec57ffff199250613434565b674563918244f3ffff199250613434565b673782dace9d8fffff199250613434565b6729a2241af62bffff199250613434565b671bc16d674ec7ffff199250613434565b670de0b6b3a763ffff199250613434565b60009250613434565b670de0b6b3a76400009250613434565b671bc16d674ec800009250613434565b6729a2241af62c00009250613434565b673782dace9d9000009250613434565b674563918244f400009250613434565b6753444835ec5800009250613434565b676124fee993bc00009250613434565b676f05b59d3b2000009250613434565b677ce66c50e28400009250613434565b678ac7230489e800009250613434565b6798a7d9b8314c00009250613434565b67a688906bd8b000009250613434565b67b469471f801400009250613434565b67c249fdd3277800009250613434565b67d02ab486cedc00009250613434565b67de0b6b3a764000009250613434565b67ebec21ee1da400009250613434565b67f9ccd8a1c50800009250613434565b680107ad8f556c6c00009250613434565b6801158e460913d000009250613434565b6801236efcbcbb3400009250613434565b6801314fb370629800009250613434565b68013f306a2409fc00009250613434565b68014d1120d7b16000009250613434565b68015af1d78b58c400009250613434565b680168d28e3f002800009250613434565b680176b344f2a78c00009250613434565b68018493fba64ef000009250613434565b68019274b259f65400009250613434565b6801a055690d9db800009250613434565b6801ae361fc1451c00009250613434565b6801bc16d674ec8000009250613434565b6801c9f78d2893e400009250613434565b6801d7d843dc3b4800009250613434565b6801e5b8fa8fe2ac00009250613434565b6801f399b1438a1000009250613434565b6802017a67f7317400009250613434565b68020f5b1eaad8d800009250613434565b68021d3bd55e803c00009250613434565b68022b1c8c1227a000009250613434565b680238fd42c5cf0400009250613434565b680246ddf979766800009250613434565b680254beb02d1dcc00009250613434565b6802629f66e0c53000009250613434565b680270801d946c9400009250613434565b68027e60d44813f800009250613434565b68028c418afbbb5c00009250613434565b68029a2241af62c000009250613434565b6802a802f8630a2400009250613434565b6802b5e3af16b18800009250613434565b6802c3c465ca58ec00009250613434565b6802d1a51c7e005000009250613434565b6802df85d331a7b400009250613434565b6802ed6689e54f1800009250613434565b6802fb474098f67c00009250613434565b68030927f74c9de000009250613434565b68031708ae00454400009250613434565b680324e964b3eca800009250613434565b680332ca1b67940c000092505b5060001982036134625761345f672e19dc008126bf2b670de0b6b3a76400006127bb6101c987613468565b91505b50919050565b600081670de0b6b3a76400008110156134975760405163036d32ef60e41b815260048101849052602401610d0e565b6000613523670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff19810161354c5750949350505050565b671bc16d674ec800006706f05b59d3b200005b801561358f57670de0b6b3a7640000838002049250818310613587579283019260019290921c915b60011c61355f565b50919695505050505050565b600061047a6101c984846142fb565b600082828183036135d35780156135c25760006135cc565b670de0b6b3a76400005b92506135ff565b670de0b6b3a764000081036135ea578492506135ff565b610f3f6126b96135f987613468565b8661359b565b505092915050565b600082816001841661362157670de0b6b3a7640000613623565b815b9050600184901c93505b83156136615761363d82836142fb565b915060018416156136555761365281836142fb565b90505b600184901c935061362d565b80610f3f565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218111156136a75760405163edc236ad60e01b815260048101849052602401610d0e565b61345f6101c9670de0b6b3a76400008302614183565b60008160088111156136e15760405162461bcd60e51b8152600401610d0e90614b08565b826000036136f25760009150611f1b565b5050600019016020021c63ffffffff1690565b60008260088111156137295760405162461bcd60e51b8152600401610d0e90614b08565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156137695760405162461bcd60e51b8152600401610d0e90614b08565b6000855b858110156137955763ffffffff6020820290811b199890981685891b1797915060010161376d565b50959695505050505050565b6000808212156137f35760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610d0e565b5090565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6119c58160405160240161382c91906146c6565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526137f7565b60405160248101839052604481018290526138a29060640160408051601f198184030181529190526020810180516001600160e01b0316637b3338ad60e11b1790526137f7565b5050565b6000806138b484600a6149b6565b905060006138c282876148be565b905060018460028111156138d8576138d861473b565b1480156138ee57506138ea82826149d6565b8614155b15610f3f576119f76001826148ab565b60008061390c8686866143af565b905060018360028111156139225761392261473b565b1480156138ee57506000848061393a5761393a6146ef565b8688091115610f3f576119f76001826148ab565b60008080600019858709858702925082811083820303915050806000036139885783828161397e5761397e6146ef565b049250505061047a565b8381106139b957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d0e565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff00000000000000821615613b2f57678000000000000000821615613a565768016a09e667f3bcc9090260401c5b674000000000000000821615613a75576801306fe0a31b7152df0260401c5b672000000000000000821615613a94576801172b83c7d517adce0260401c5b671000000000000000821615613ab35768010b5586cf9890f62a0260401c5b670800000000000000821615613ad2576801059b0d31585743ae0260401c5b670400000000000000821615613af157680102c9a3e778060ee70260401c5b670200000000000000821615613b105768010163da9fb33356d80260401c5b670100000000000000821615613b2f57680100b1afa5abcbed610260401c5b66ff000000000000821615613c2e576680000000000000821615613b5c5768010058c86da1c09ea20260401c5b6640000000000000821615613b7a576801002c605e2e8cec500260401c5b6620000000000000821615613b9857680100162f3904051fa10260401c5b6610000000000000821615613bb6576801000b175effdc76ba0260401c5b6608000000000000821615613bd457680100058ba01fb9f96d0260401c5b6604000000000000821615613bf25768010002c5cc37da94920260401c5b6602000000000000821615613c10576801000162e525ee05470260401c5b6601000000000000821615613c2e5768010000b17255775c040260401c5b65ff0000000000821615613d245765800000000000821615613c59576801000058b91b5bc9ae0260401c5b65400000000000821615613c7657680100002c5c89d5ec6d0260401c5b65200000000000821615613c935768010000162e43f4f8310260401c5b65100000000000821615613cb057680100000b1721bcfc9a0260401c5b65080000000000821615613ccd5768010000058b90cf1e6e0260401c5b65040000000000821615613cea576801000002c5c863b73f0260401c5b65020000000000821615613d0757680100000162e430e5a20260401c5b65010000000000821615613d24576801000000b1721835510260401c5b64ff00000000821615613e1157648000000000821615613d4d57680100000058b90c0b490260401c5b644000000000821615613d695768010000002c5c8601cc0260401c5b642000000000821615613d85576801000000162e42fff00260401c5b641000000000821615613da15768010000000b17217fbb0260401c5b640800000000821615613dbd576801000000058b90bfce0260401c5b640400000000821615613dd957680100000002c5c85fe30260401c5b640200000000821615613df55768010000000162e42ff10260401c5b640100000000821615613e1157680100000000b17217f80260401c5b64ff00000000821615613ef6576380000000821615613e395768010000000058b90bfc0260401c5b6340000000821615613e54576801000000002c5c85fe0260401c5b6320000000821615613e6f57680100000000162e42ff0260401c5b6310000000821615613e8a576801000000000b17217f0260401c5b6308000000821615613ea557680100000000058b90c00260401c5b6304000000821615613ec05768010000000002c5c8600260401c5b6302000000821615613edb576801000000000162e4300260401c5b6301000000821615613ef65768010000000000b172180260401c5b62ff0000821615613fd15762800000821615613f1b576801000000000058b90c0260401c5b62400000821615613f3557680100000000002c5c860260401c5b62200000821615613f4f5768010000000000162e430260401c5b62100000821615613f6957680100000000000b17210260401c5b62080000821615613f835768010000000000058b910260401c5b62040000821615613f9d576801000000000002c5c80260401c5b62020000821615613fb757680100000000000162e40260401c5b62010000821615613fd1576801000000000000b1720260401c5b61ff008216156140a357618000821615613ff457680100000000000058b90260401c5b61400082161561400d5768010000000000002c5d0260401c5b612000821615614026576801000000000000162e0260401c5b61100082161561403f5768010000000000000b170260401c5b610800821615614058576801000000000000058c0260401c5b61040082161561407157680100000000000002c60260401c5b61020082161561408a57680100000000000001630260401c5b6101008216156140a357680100000000000000b10260401c5b60ff82161561416c5760808216156140c457680100000000000000590260401c5b60408216156140dc576801000000000000002c0260401c5b60208216156140f457680100000000000000160260401c5b601082161561410c576801000000000000000b0260401c5b600882161561412457680100000000000000060260401c5b600482161561413c57680100000000000000030260401c5b600282161561415457680100000000000000010260401c5b600182161561416c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b60008160000361419557506000919050565b50600181600160801b81106141af5760409190911b9060801c5b6801000000000000000081106141ca5760209190911b9060401c5b64010000000081106141e15760109190911b9060201c5b6201000081106141f65760089190911b9060101c5b610100811061420a5760049190911b9060081c5b6010811061421d5760029190911b9060041c5b6004811061422d57600182901b91505b600182848161423e5761423e6146ef565b048301901c91506001828481614256576142566146ef565b048301901c9150600182848161426e5761426e6146ef565b048301901c91506001828481614286576142866146ef565b048301901c9150600182848161429e5761429e6146ef565b048301901c915060018284816142b6576142b66146ef565b048301901c915060018284816142ce576142ce6146ef565b048301901c915060008284816142e6576142e66146ef565b0490508083106142f4578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a7640000811061434657604051635173648d60e01b81526004810186905260248101859052604401610d0e565b6000670de0b6b3a7640000858709905081600003614372575050670de0b6b3a7640000900490506100d5565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b60008080600019858709858702925082811083820303915050806000036143df5783828161397e5761397e6146ef565b8084116139b957600080fd5b6143f3614b2a565b565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b60006020828403121561444d57600080fd5b81356001600160e01b03198116811461047a57600080fd5b6001600160a01b03811681146119c557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156144b9576144b961447a565b604052919050565b600067ffffffffffffffff8211156144db576144db61447a565b5060051b60200190565b600080600080608085870312156144fb57600080fd5b6145058535614465565b843593506020850135925060408501359150606085013567ffffffffffffffff8082111561453257600080fd5b818701915087601f83011261454657600080fd5b61455861455383356144c1565b614490565b82358082526020808301929160051b8501018a81111561457757600080fd5b602085015b8181101561460e57848135111561459257600080fd5b803586018c603f8201126145a557600080fd5b60208101356145b6614553826144c1565b81815260059190911b82016040019060208101908f8311156145d757600080fd5b6040840193505b828410156145f95783358252602093840193909101906145de565b8752505060209485019491909101905061457c565b50508094505050505092959194509250565b600081518084526020808501945080840160005b8381101561465057815187529582019590820190600101614634565b509495945050505050565b60408152600061466e6040830185614620565b8281036020840152610f3f8185614620565b6000815180845260005b818110156146a65760208185018101518683018201520161468a565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061047a6020830184614680565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b815160009082906020808601845b8381101561472f57815185529382019390820190600101614713565b50929695505050505050565b634e487b7160e01b600052602160045260246000fd5b82815260406020820152600061084c6040830184614620565b6000602080838503121561477d57600080fd5b825167ffffffffffffffff81111561479457600080fd5b8301601f810185136147a557600080fd5b80516147b3614553826144c1565b81815260059190911b820183019083810190878311156147d257600080fd5b928401925b82841015610957578351825292840192908401906147d7565b634e487b7160e01b600052601160045260246000fd5b600060018201614818576148186147f0565b5060010190565b60006020828403121561483157600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b8281101561487a5781516001600160a01b031684529284019290840190600101614855565b505050838103828501526119f78186614620565b6000602082840312156148a057600080fd5b815161047a81614465565b808201808211156100d5576100d56147f0565b6000826148cd576148cd6146ef565b500490565b600181815b8085111561490d5781600019048211156148f3576148f36147f0565b8085161561490057918102915b93841c93908002906148d7565b509250929050565b600082614924575060016100d5565b81614931575060006100d5565b816001811461494757600281146149515761496d565b60019150506100d5565b60ff841115614962576149626147f0565b50506001821b6100d5565b5060208310610133831016604e8410600b8410161715614990575081810a6100d5565b61499a83836148d2565b80600019048211156149ae576149ae6147f0565b029392505050565b600061047a8383614915565b6000826149d1576149d16146ef565b500690565b80820281158282048414176100d5576100d56147f0565b818103818111156100d5576100d56147f0565b600060208284031215614a1257600080fd5b81516004811061047a57600080fd5b6001600160a01b038316815260406020820181905260009061084c90830184614620565b60018060a01b0384168152826020820152606060408201526000610f3f6060830184614620565b805169ffffffffffffffffffff8116811461130b57600080fd5b600080600080600060a08688031215614a9e57600080fd5b614aa786614a6c565b9450602086015193506040860151925060608601519150614aca60808701614a6c565b90509295509295909350565b600060208284031215614ae857600080fd5b815160ff8116811461047a57600080fd5b600061047a60ff841683614915565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220f88fca329a50110af76555aab77910726029f57e1b699b3c3fd2066667731ba464736f6c63430008120033", - "sourceMap": "1013:2589:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:247;;;;;;:::i;:::-;;:::i;:::-;;;470:14:282;;463:22;445:41;;433:2;418:18;1513:247:120;;;;;;;;1801:1172;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;3014:586::-;;;:::i;:::-;;;;;;;:::i;1513:247::-;1613:4;-1:-1:-1;;;;;;1648:48:120;;-1:-1:-1;;;1648:48:120;;:105;;-1:-1:-1;;;;;;;1712:41:120;;-1:-1:-1;;;1712:41:120;1648:105;1629:124;1513:247;-1:-1:-1;;1513:247:120:o;1801:1172::-;1987:16;;1582:2:116;1545:39;;;1661:4;1655:2;1618:39;;;1617:48;;;1680:40;;2079:19:120;2330:73;:46;1545:39:116;2330:33:120;:46::i;:::-;:71;:73::i;:::-;2444:1;2413:14;;;:33;2297:106;-1:-1:-1;2475:29:120;:10;:27;:29::i;:::-;2456:16;;;:48;-1:-1:-1;;;;;2514:21:120;;:12;;;:21;2545:14;;;:25;;;2714:18;;-1:-1:-1;;2688:45:120;;2456:6;;2700:12;;2688:11;:45::i;:::-;2766:18;;2663:70;;-1:-1:-1;39536:4:119;39446:86;;;39445:95;2743:20:120;2842:67;2870:29;39445:95:119;2887:11:120;2870:16;:29::i;:::-;2842:9;;:14;:67::i;:::-;2813:96;;;2927:5;2934:31;:6;:14;;;:29;:31::i;:::-;2919:47;;;;;;;;;;;1801:1172;;;;;;;:::o;3014:586::-;3240:155;;;3097:140;3240:155;;;;;;;;;3073:12;;3097:140;;3240:155;;;;;;;;;;;;;;;;;;;;3097:298;;3424:169;3471:108;:70;3530:10;3471:58;:70::i;:::-;3643:4:198;3368:295;3471:108:120;3424:29;:169::i;:::-;3405:188;;;3014:586;:::o;6735:1024:212:-;6790:18;6958:21;;6820:13;7002:10;;;6998:34;;7021:11;;-1:-1:-1;;;7021:11:212;;;;;;;;;;;6998:34;7300:4;7294:11;;7470:27;;;-1:-1:-1;;7466:43:212;7455:55;;7442:69;;;-1:-1:-1;;7126:13:212;;;7563:20;;;7294:11;;-1:-1:-1;7126:13:212;7137:1;7485:4;7716:16;;7706:8;7694:49;7067:686;6735:1024;;;:::o;11580:2068:118:-;11664:23;;:::i;:::-;11723:30;;:::i;:::-;11968:18;;;11984:1;11968:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11951:14:118;;;:35;12001:20;12024:33;:11;:28;36165:4:119;36128:41;;35978:209;12024:33:118;12001:56;;12139:17;12159:31;12175:14;:7;-1:-1:-1;;3416:24:119;3410:31;;3261:215;12175:14:118;12159:7;37524:39:119;;37349:232;12159:31:118;12139:51;-1:-1:-1;36165:4:119;36128:41;;12261:22:118;;12297:20;12320:14;:7;-1:-1:-1;;3416:24:119;3410:31;;3261:215;12320:14:118;12297:37;;12527:23;12567:12;12553:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12553:27:118;-1:-1:-1;34385:4:119;34373:17;;;12594:46:118;;36128:41:119;;;12761:22:118;;;:32;;;3410:31:119;;12527:53:118;;-1:-1:-1;12817:26:118;;36767:4:119;:9;36730:46;;;36523:288;12817:26:118;12807:36;-1:-1:-1;12900:10:118;12807:36;12900:10;13018:276;13099:4;13062:13;13042:62;13018:276;;;13153:92;:66;13196:22;:13;2881:20:119;;2716:220;13196:22:118;13153:13;37524:39:119;;37349:232;13153:92:118;13137:108;-1:-1:-1;13263:16:118;;13018:276;;;13344:14;13332:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13307:22:118;;;:52;13373:232;13431:4;13400:7;13380:56;13373:232;;;13485:7;13456:6;:22;;;13479:2;13456:26;;;;;;;;:::i;:::-;;;;;;:46;;;;13530:38;:33;13546:16;:7;2881:20:119;;2716:220;13546:16:118;13530:7;37524:39:119;;37349:232;13530:38:118;13520:48;-1:-1:-1;13586:4:118;;;;;13373:232;;;-1:-1:-1;13625:6:118;;11580:2068;-1:-1:-1;;;;;;;;11580:2068:118:o;18558:470::-;18817:150;;-1:-1:-1;;18863:10:118;5193:2:282;5189:15;5185:53;18817:150:118;;;5173:66:282;5255:12;;;5248:28;;;18653:23:118;;5292:12:282;;18817:150:118;;;;-1:-1:-1;;18817:150:118;;;;;;;;;18782:207;;18817:150;18782:207;;;;;18558:470;-1:-1:-1;;18558:470:118:o;16454:1431::-;16983:4;16971:17;;16965:24;17029:4;17025:23;;;16787:284;;;;16760:329;17127:14;;16603:12;;16760:329;17114:28;;17206:633;17223:4;17213:7;:14;17206:633;;;17467:1;17456:12;;;;17599:14;;17456:12;;;17659:6;17706:2;17702:12;;;17698:25;;;17650:16;17792:32;17796:6;17650:16;17814:9;17698:25;17792:32::i;:::-;17780:44;;17229:610;;17206:633;;;17859:9;17852:16;;;;16454:1431;;;;;;:::o;599:104:258:-;657:7;687:1;683;:5;:13;;695:1;683:13;;;-1:-1:-1;691:1:258;;676:20;-1:-1:-1;599:104:258:o;31004:409:119:-;31290:4;31277:18;;31248:49;;;-1:-1:-1;;31248:49:119;31319:12;;31344:22;;;31319:12;;31004:409::o;7008:922:125:-;7083:16;1156:11:210;7150:33:125;;7239:2;7215:26;;;7135:12;7215:26;7279:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7279:22:125;;7255:46;;7409:4;7403;7399:15;7477:4;7470;7464:11;7460:22;7451:7;7447:36;7358:517;7514:4;7505:7;7502:17;7358:517;;;7706:11;;7690:28;;7763:4;7840:15;;;7834:22;7750:18;;;7818:39;7553:18;7606:15;;;7600:22;;7553:18;;;;7358:517;;;-1:-1:-1;7909:4:125;;7008:922;-1:-1:-1;;;;;7008:922:125:o;12643:4200:33:-;12888:165;13102:183;:3518;;;;;;;;13310:45;3669:2;1490::198;1184:324;13310:45:33;13102:3518;;;;13377:15;13102:3518;;;;13414:15;13102:3518;;;;13451:15;13102:3518;;;;13488:26;13102:3518;;;;13536:13;13102:3518;;;;13571:23;13102:3518;;;;13616:16;13102:3518;;;;13654:17;13102:3518;;;;13693:10;13102:3518;;;;13756:11;13102:3518;;;;13789:13;13102:3518;;;;13824:15;13102:3518;;;;13861:11;13102:3518;;;;13894:16;13102:3518;;;;13932:10;13102:3518;;;;13964:22;13102:3518;;;;14008:27;13102:3518;;;;14057:20;13102:3518;;;;;;14099:22;13102:3518;;;;14143:30;13102:3518;;;;14195:32;13102:3518;;;;14249:18;13102:3518;;;;;;;;14332:19;13102:3518;;;;14373:12;13102:3518;;;;14407:17;13102:3518;;;;14446:15;13102:3518;;;;14483:9;13102:3518;;;;14514:9;13102:3518;;;;14545:9;13102:3518;;;;14576:9;13102:3518;;;;14607:9;13102:3518;;;;14638:9;13102:3518;;;;14669:9;13102:3518;;;;14700:9;13102:3518;;;;14731:23;13102:3518;;;;14776:26;13102:3518;;;;14824:30;13102:3518;;;;14876:26;13102:3518;;;;14924:23;13102:3518;;;;14969:22;13102:3518;;;;15013:9;13102:3518;;;;15044:13;13102:3518;;;;15079:13;13102:3518;;;;15114:11;13102:3518;;;;15147:17;13102:3518;;;;15186:12;13102:3518;;;;15220:14;13102:3518;;;;15256:12;13102:3518;;;;15290:13;13102:3518;;;;15325:12;13102:3518;;;;15359:12;13102:3518;;;;15393:13;13102:3518;;;;15428:14;13102:3518;;;;15464:13;13102:3518;;;;15499:11;13102:3518;;;;15532:12;13102:3518;;;;15566:11;13102:3518;;;;15630:14;13102:3518;;;;15666:13;13102:3518;;;;15701:12;13102:3518;;;;15735:12;13102:3518;;;;15769:13;13102:3518;;;;15804:13;13102:3518;;;;15839:19;13102:3518;;;;15880:19;13102:3518;;;;15921:19;13102:3518;;;;15962:30;13102:3518;;;;16014:36;13102:3518;;;;16072:20;13102:3518;;;;16114:23;13102:3518;;;;16159:18;13102:3518;;;;16199:33;13102:3518;;;;16254:34;13102:3518;;;;16339:9;13102:3518;;;;16370:9;13102:3518;;;;16401:19;13102:3518;;;;16442:30;13102:3518;;;;16494:20;13102:3518;;;;16536:15;13102:3518;;;;16573:29;13102:3518;;;;;;-1:-1:-1;;16663:31:33;13102:3518;16663:29;:31::i;:::-;16634:60;-1:-1:-1;16708:42:33;16634:60;16725:7;16708:16;:42::i;:::-;16790:9;:36;16764:62;12643:4200;-1:-1:-1;;;;12643:4200:33:o;1536:1037:199:-;1623:12;1736:19;1768:3;:10;1781:1;1768:14;1758:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1758:25:199;;1736:47;;1860:6;1908:12;1904:17;1883:38;;1988:4;1983:3;1979:14;2055:4;2049:3;2043:10;2039:21;2030:7;2026:35;2114:4;2106:6;2102:17;1938:578;2150:4;2141:7;2138:17;1938:578;;;2321:19;;2461:14;;2434:25;;;2431:45;2361:137;;2202:4;2189:18;;;;2262:4;2244:23;1938:578;;;-1:-1:-1;2550:6:199;;1536:1037;-1:-1:-1;;;;;1536:1037:199:o;1670:201:34:-;1803:12;1834:30;:9;1852:1;1855:8;1834:17;:30::i;2081:201:35:-;2214:12;2245:30;:9;2263:1;2266:8;2245:17;:30::i;726:611:36:-;850:12;875:22;899:10;913:15;:9;:13;:15::i;:::-;874:54;;-1:-1:-1;874:54:36;-1:-1:-1;962:16:36;1008:322;874:54;1040:10;;;1075:4;1069:10;;;1068:20;;1113:4;1107:10;;;1106:20;;1151:4;1145:10;;;1144:20;;1189:4;1183:10;;;1182:20;;1227:4;1221:10;;;1220:20;;1265:4;1259:10;;;1258:20;;1303:4;1297:10;;;1008:14;:322;;:::i;:::-;989:341;726:611;-1:-1:-1;;;;;;;726:611:36:o;898:182:37:-;1022:12;1053:20;:9;1071:1;1053:17;:20::i;1476:425:38:-;1616:12;1727:167;1759:6;:14;;;1802:1;1789:8;1774:29;;1759:45;;;;;;;;:::i;:::-;;;;;;;534:10:210;1841:8:38;1826:36;1759:121;;;;;;;;:::i;:::-;;;;;;;1727:9;:14;;:167;;;;:::i;976:1282:39:-;1116:12;1159:1092;2131:6;:14;;;2161:8;2131:40;;;;;;;;:::i;:::-;;;;;;;2085:112;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;2085:112:39;;;;;;1220:999;;2085:112;1220:999;;;;12065:25:119;;12120:24;;;11903:287;1804:392:40;1944:12;2037:22;2061:12;2077:15;:9;:13;:15::i;:::-;2036:56;;;;2102:61;2116:6;:14;;;2146:8;2116:40;;;;;;;;:::i;:::-;;;;;;;2157:4;2116:46;;;;;;;;:::i;:::-;;;;;;;2102:9;:13;;:61;;;;:::i;2684:1682:41:-;2824:12;274:10:210;2895:36:41;;;;2992:1;2964:29;;;2963:43;;;3066:1;3038:29;;;3037:43;3140:2;3112:30;;;3329:16;;;2824:12;3505:814;3531:6;:14;;;3546:7;3531:23;;;;;;;;:::i;:::-;;;;;;;:30;3526:2;:35;3505:814;;;3673:10;3668:187;3694:6;3689:2;:11;3668:187;;;3742:94;3782:6;:14;;;3807:2;3797:7;:12;3782:28;;;;;;;;:::i;:::-;;;;;;;3811:2;3782:32;;;;;;;;:::i;:::-;;;;;;;3742:9;:14;;:94;;;;:::i;:::-;3730:106;-1:-1:-1;3702:4:41;;3668:187;;;-1:-1:-1;4180:1:41;4164:17;;;4197:1;4186:12;;;4163:36;:50;;4261:43;4272:6;4163:50;4294:9;4261:10;:43::i;:::-;4249:55;-1:-1:-1;;3563:4:41;;3505:814;;4759:1570:42;5326:18;;4899:27;;274:10:210;5025:36:42;;;;5119:1;5091:29;;;5090:43;;;;5232:1;5204:29;;;;38600:4:119;:9;;38563:46;;5414:44:42;;:18;5711:40;5414:6;5723:16;5741:9;5711:11;:40::i;:::-;5682:69;-1:-1:-1;5890:182:42;38600:4:119;:9;;38563:46;;6021:18:42;;6054:8;5890:34;:182::i;:::-;-1:-1:-1;6167:18:42;;6289:33;;-1:-1:-1;36767:4:119;:9;36730:46;;;;6150:48:42;-1:-1:-1;;;;4759:1570:42:o;1011:306:43:-;1151:12;1175:22;1226:8;1200:36;;;;;;;;:::i;:::-;1175:61;-1:-1:-1;1247:36:43;:6;1260:9;1175:61;1247:12;:36::i;:::-;-1:-1:-1;1301:9:43;;1011:306;-1:-1:-1;;;;1011:306:43:o;3379:698:44:-;3519:12;534:10:210;3585:36:44;;3664:1;3654:11;;3772:1;3760:13;;;3732:42;;3519:12;3846:15;:9;:13;:15::i;:::-;3827:34;;-1:-1:-1;3827:34:44;-1:-1:-1;3875:156:44;3882:7;;3875:156;;3921:43;3932:6;3940:12;3954:9;3921:10;:43::i;:::-;3909:55;;4001:15;:9;:13;:15::i;:::-;3982:34;;-1:-1:-1;3982:34:44;-1:-1:-1;3875:156:44;;;-1:-1:-1;4051:9:44;;3379:698;-1:-1:-1;;;;;;3379:698:44:o;1523:1449:45:-;2219:4;2184:28;;;2178:35;1974:2;1946:30;;;2215:18;;;2174:60;2147:105;1677:12;;461:3:32;418:46;;;;1677:12:45;;1813:22;;336:10:210;1877:36:45;;;2147:105;2415:23;:9;1877:36;2415:14;:23::i;:::-;2398:40;;-1:-1:-1;2398:40:45;-1:-1:-1;2464:42:45;2398:40;-1:-1:-1;;38600:4:119;:9;;38563:46;;37974:41;2464:30:45;:35;12065:25:119;;12139:4;12120:24;;11903:287;2464:42:45;2646:95;;-1:-1:-1;;;2646:95:45;;2452:54;;-1:-1:-1;2589:1:45;2561:29;;;336:10:210;2560:43:45;;-1:-1:-1;2541:16:45;;-1:-1:-1;;;;;;2646:25:45;;;-1:-1:-1;2646:25:45;;:95;;2689:15;;2722:5;;2646:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2646:95:45;;;;;;;;;;;;:::i;:::-;2618:123;;2779:8;2760;:15;:27;2756:122;;2847:15;;2814:49;;-1:-1:-1;;;2814:49:45;;;;2837:8;;2814:49;;7569:25:282;;;7625:2;7610:18;;7603:34;7557:2;7542:18;;7395:248;2814:49:45;;;;;;;;2756:122;2904:24;:9;2919:8;2904:14;:24::i;:::-;2892:36;1523:1449;-1:-1:-1;;;;;;;;;;1523:1449:45:o;2430:471:46:-;2570:12;2635:2;2607:30;;;828:11:210;2696:37:46;;2570:12;2753:116;2779:2;2774;:7;2753:116;;;2815:43;2826:6;2834:12;2848:9;2815:10;:43::i;:::-;2803:55;-1:-1:-1;2783:4:46;;;;:::i;:::-;;;;2753:116;;2707:738:47;100:10:210;2911:36:47;;;3258:4;3206:16;;;3194:29;;;;3188:36;2979:29;;;3254:18;;3155:143;;;3124:196;3065:273;;3390:37;;2707:738::o;1060:217:48:-;1193:12;1224:46;:9;1242:1;1260:8;1224:17;:46::i;1071:182:49:-;1195:12;1226:20;:9;1244:1;1226:17;:20::i;1377:217:50:-;1510:12;1541:46;:9;1559:1;1577:8;1541:17;:46::i;983:182:51:-;1107:12;1138:20;:9;1156:1;1138:17;:20::i;883:182:52:-;1007:12;1038:20;:9;1056:1;1038:17;:20::i;1213:182:53:-;1337:12;1368:20;:9;1386:1;1368:17;:20::i;1121:182:54:-;1245:12;1276:20;:9;1294:1;1276:17;:20::i;827:182:55:-;951:12;982:20;:9;1000:1;982:17;:20::i;939:182:57:-;1063:12;1094:20;:9;1112:1;1094:17;:20::i;943:218:58:-;1076:12;1107:47;:9;1126:1;1144:8;1107:18;:47::i;630:190:59:-;800:12;12065:25:119;;754:12:59;12139:4:119;12120:24;;785:28:59;11903:287:119;623:193:60;793:15;12065:25:119;;747:12:60;12139:4:119;12120:24;;778:31:60;11903:287:119;966:218:61;1099:12;1130:47;:9;1149:1;1167:8;1130:18;:47::i;820:233:62:-;953:27;999:47;:9;1018:1;1036:8;999:18;:47::i;824:233:63:-;957:27;1003:47;:9;1022:1;1040:8;1003:18;:47::i;841:233:64:-;974:27;1020:47;:9;1039:1;1057:8;1020:18;:47::i;841:233:65:-;974:27;1020:47;:9;1039:1;1057:8;1020:18;:47::i;814:233:66:-;947:27;993:47;:9;1012:1;1030:8;993:18;:47::i;823:233:67:-;956:27;1002:47;:9;1021:1;1039:8;1002:18;:47::i;823:233:68:-;956:27;1002:47;:9;1021:1;1039:8;1002:18;:47::i;1012:201:69:-;1145:12;1176:30;:9;1194:1;1197:8;1176:17;:30::i;1046:201:70:-;1179:12;1210:30;:9;1228:1;1231:8;1210:17;:30::i;1160:201:71:-;1293:12;1324:30;:9;1342:1;1345:8;1324:17;:30::i;1052:201:72:-;1185:12;1216:30;:9;1234:1;1237:8;1216:17;:30::i;974:201:73:-;1107:12;1138:30;:9;1156:1;1159:8;1138:17;:30::i;904:201:74:-;1037:12;1068:30;:9;1086:1;1089:8;1068:17;:30::i;914:554:75:-;1047:12;38600:4:119;:9;;38563:46;;;1144:289:75;1247:9;1221:2;1201:56;1144:289;;;1308:13;1324:11;:2;2881:20:119;;2716:220;1324:11:75;1308:27;-1:-1:-1;1353:9:75;;1349:74;;12065:25:119;;-1:-1:-1;12139:4:119;12120:24;;-1:-1:-1;1382:26:75;;1349:74;-1:-1:-1;36165:4:119;36128:41;1144:289:75;;;-1:-1:-1;36165:4:119;36128:41;;1449:12:75;1442:19;914:554;-1:-1:-1;;;;;914:554:75:o;1195:255:76:-;1328:12;1383:50;:9;1401:1;1431;1404:28;;1383:17;:50::i;985:182:77:-;1109:12;1140:20;:9;1158:1;1140:17;:20::i;946:516:78:-;1079:12;38600:4:119;:9;;38563:46;;;1176:251:78;1279:9;1253:2;1233:56;1176:251;;;2881:20:119;;1359:1:78;1344:16;1340:77;;-1:-1:-1;1400:1:78;12065:25:119;;12139:4;12120:24;;-1:-1:-1;1380:22:78;;1340:77;36165:4:119;36128:41;1176:251:78;;867:182:79;991:12;1022:20;:9;1040:1;1022:17;:20::i;847:182:80:-;971:12;1002:20;:9;1020:1;1002:17;:20::i;861:182:81:-;985:12;1016:20;:9;1034:1;1016:17;:20::i;728:182:82:-;852:12;883:20;:9;901:1;883:17;:20::i;701:182:83:-;825:12;856:20;:9;874:1;856:17;:20::i;728:182:84:-;852:12;883:20;:9;901:1;883:17;:20::i;698:182:85:-;822:12;853:20;:9;871:1;853:17;:20::i;701:182:86:-;825:12;856:20;:9;874:1;856:17;:20::i;704:182:87:-;828:12;859:20;:9;877:1;859:17;:20::i;701:182:88:-;825:12;856:20;:9;874:1;856:17;:20::i;725:182:89:-;849:12;880:20;:9;898:1;880:17;:20::i;698:182:90:-;822:12;853:20;:9;871:1;853:17;:20::i;695:182:91:-;819:12;850:20;:9;868:1;850:17;:20::i;704:182:92:-;828:12;859:20;:9;877:1;859:17;:20::i;701:182:93:-;825:12;856:20;:9;874:1;856:17;:20::i;728:182:94:-;852:12;883:20;:9;901:1;883:17;:20::i;728:182:95:-;852:12;883:20;:9;901:1;883:17;:20::i;717:182:96:-;841:12;872:20;:9;890:1;872:17;:20::i;701:182:97:-;825:12;856:20;:9;874:1;856:17;:20::i;883:318:98:-;1016:27;1074:120;:9;1110:28;1171:8;1074:18;:120::i;894:318:99:-;1027:27;1085:120;:9;1121:28;1182:8;1085:18;:120::i;891:318:100:-;1024:27;1082:120;:9;1118:28;1179:8;1082:18;:120::i;1195:182:101:-;1319:12;1350:20;:9;1368:1;1350:17;:20::i;910:182:102:-;1034:12;1065:20;:9;1083:1;1065:17;:20::i;848:182:103:-;972:12;1003:20;:9;1021:1;1003:17;:20::i;851:182:104:-;975:12;1006:20;:9;1024:1;1006:17;:20::i;838:182:105:-;962:12;993:20;:9;1011:1;993:17;:20::i;895:182:106:-;1019:12;1050:20;:9;1068:1;1050:17;:20::i;1123:182:107:-;1247:12;1278:20;:9;1296:1;1278:17;:20::i;1496:965:108:-;1638:12;1662:10;1700:15;:9;:13;:15::i;:::-;1746:25;;;;1682:33;;-1:-1:-1;1682:33:108;-1:-1:-1;1725:18:108;;1746:76;;1682:33;1746:32;:76::i;:::-;1725:97;;1832:10;1927:6;1938:1;1908:31;1904:516;;1960:23;;;;1988:27;;;;1960:60;;-1:-1:-1;;;1960:60:108;;-1:-1:-1;;;;;1960:27:108;;;;;;:60;;2017:2;;1960:60;;7569:25:282;;;7625:2;7610:18;;7603:34;7557:2;7542:18;;7395:248;1960:60:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2182:25;;;;1955:65;;-1:-1:-1;2182:122:108;;2249:2;1955:65;2182:32;:122::i;:::-;2154:25;;;:150;1904:516;;;2389:19;:6;:17;:19::i;:::-;2365:44;;1904:516;12065:25:119;;;12139:4;12120:24;;2436:18:108;11903:287:119;971:496:109;1102:12;1150:10;1174;1216:15;:9;:13;:15::i;:::-;1198:33;;-1:-1:-1;1198:33:109;-1:-1:-1;1263:15:109;1198:33;1263:13;:15::i;:::-;1309:14;;;;1245:33;;-1:-1:-1;1245:33:109;-1:-1:-1;1309:111:109;;1245:33;1403:2;1309:21;:111::i;:::-;1292:14;;;:128;-1:-1:-1;1441:9:109;;-1:-1:-1;;971:496:109;;;;;:::o;1195:232:110:-;1328:27;1374:46;:9;1392:1;1410:8;1374:17;:46::i;1285:217:111:-;1418:12;1449:46;:9;1467:1;1485:8;1449:17;:46::i;956:210:112:-;1080:12;1111:48;:9;1129:29;1111:17;:48::i;1538:662:113:-;1671:12;534:10:210;1737:36:113;;1832:1;1804:29;;;156:10:210;1803:43:113;1905:2;1877:30;;;1671:12;;1966:53;:9;1737:36;1966:14;:53::i;:::-;1921:98;;;;2056:127;2108:57;2134:6;2142:5;2149;2156:8;2108:25;:57::i;:::-;2056:8;:25;35496:250:119;2056:127:113;2033:150;1538:662;-1:-1:-1;;;;;;;;;1538:662:113:o;1372:201:114:-;1505:12;1536:30;:9;1554:1;1557:8;1536:17;:30::i;7556:483:33:-;7899:15;;7870:6;;3669:2;7899:42;7895:138;;7981:15;;7964:58;;-1:-1:-1;;;7964:58:33;;;;;7569:25:282;;;;3669:2:33;7610:18:282;;;7603:34;7542:18;;7964:58:33;7395:248:282;7895:138:33;7556:483;;;:::o;9821:1296:0:-;10095:4;10089:11;10132:12;;10178:14;;10593:4;10589:22;;;10568:45;;;10512:115;;10509:163;;;10656:1;10653;10646:12;10509:163;10887:4;10883:24;;10859:49;;10853:4;10846:63;11011:31;10997:46;;11063:47;11082:7;10863:18;11063;:47::i;:::-;9923:1194;9821:1296;;:::o;508:606:34:-;534:10:210;737:36:34;;;1028:1;:12;-1:-1:-1;;1028:16:34;691:1;663:29;;;;662:43;1068:20;1067:30;;508:606::o;18590:507:119:-;-1:-1:-1;;18889:20:119;;18928:16;;18766:12;;18968:17;18972:8;18928:16;18968:17;;;:::i;:::-;19034:21;;-1:-1:-1;19081:9:119;;18590:507;-1:-1:-1;;;18590:507:119:o;707:819:35:-;534:10:210;961:36:35;;;1252:1;:12;-1:-1:-1;;1252:16:35;1479:15;;;915:1;887:29;;;;886:43;1478:30;;;1374:18;;;;1372:21;1362:31;;;;1361:148;;707:819::o;25104:621:119:-;-1:-1:-1;;25478:20:119;;25517:16;;-1:-1:-1;;25432:20:119;;;25552:16;;25432:20;;25289:12;;25517:16;;25552;25592:21;25596:8;25517:16;25552;25592:21;;;:::i;:::-;25662;;-1:-1:-1;25709:9:119;;25104:621;-1:-1:-1;;;;25104:621:119:o;4973:358::-;-1:-1:-1;;5206:24:119;5249:25;;5206:24;;4973:358::o;16675:771::-;16977:25;;;17041:4;17022:24;;17015:36;;;;17090:4;17071:24;;17064:36;;;;17139:4;17120:24;;17113:36;;;;17188:4;17169:24;;17162:36;17237:4;17218:24;;17211:36;17286:4;17267:24;;17260:36;17335:4;17316:24;;17309:36;17394:5;17375:25;;16675:771::o;471:181:37:-;563:7;589:56;624:5;633:11;589:18;:56::i;19438:576:119:-;-1:-1:-1;;19777:20:119;;19816:16;;-1:-1:-1;;19731:20:119;;;19851:16;;19731:20;;19588:12;;19816:16;;19851;19891:11;19816:16;19851;19891:11;;;:::i;11903:287::-;12065:25;;12139:4;12120:24;;11903:287::o;11125:157::-;11241:25;;11125:157::o;14349:512:0:-;14594:7;14588:4;14584:18;14570:12;14566:37;14532:313;14635:4;14621:12;14618:22;14532:313;;;14811:19;;14789:42;;14693:4;14675:23;;;;14732:24;;;;14532:313;;;14536:81;14349:512;;;:::o;7205:941:118:-;7353:12;7420:17;7405:11;:32;;;;;;;;:::i;:::-;;7401:699;;7462:10;7457:148;7483:6;:22;;;:29;7478:2;:34;7457:148;;;7542:44;7559:6;:22;;;7582:2;7559:26;;;;;;;;:::i;:::-;;;;;;;7542:16;:44::i;:::-;7514:4;;7457:148;;;;7401:699;;;7662:16;7647:11;:31;;;;;;;;:::i;:::-;;7643:443;;7702:18;;:40;;7732:9;7702:29;:40::i;7643:443::-;7786:19;7771:11;:34;;;;;;;;:::i;:::-;;7767:319;;7829:58;7840:46;:29;:6;:22;;;-1:-1:-1;;37974:41:119;;37822:211;7840:46:118;7829:10;:58::i;:::-;7767:319;;;7939:10;7934:134;7960:6;:14;;;:21;7955:2;:26;7934:134;;;8015:30;8026:6;:14;;;8041:2;8026:18;;;;;;;;:::i;:::-;;;;;;;8015:10;:30::i;:::-;7983:4;;7934:134;;;;7767:319;-1:-1:-1;8120:9:118;;7205:941;-1:-1:-1;;7205:941:118:o;13010:252:119:-;13122:12;13146:61;:6;13192:13;13146:25;:61::i;:::-;13241:13;;36767:4;:9;36730:46;;13224:31;36523:288;488:138:48;548:7;609;592:25;;;;;;;;:::i;26159:358:119:-;26334:12;;;26397:23;:9;26412:7;26397:14;:23::i;:::-;26358:62;;;;26430:10;26443;26447:5;26443:3;:10;;:::i;:::-;26430:23;-1:-1:-1;26470:40:119;26430:23;26470:31;26498:2;26470:5;:31;35496:250;546:279:49;695:123;;-1:-1:-1;;;695:123:49;;-1:-1:-1;;;;;8599:32:282;;;695:123:49;;;8581:51:282;8648:18;;;8641:34;;;657:7:49;;695:44;;;;;;8554:18:282;;695:123:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;22917:655:119:-;-1:-1:-1;;23285:20:119;;23324:16;;-1:-1:-1;;23239:20:119;;23359:16;;-1:-1:-1;;23400:20:119;;;23394:27;23239:20;;23076:12;;23359:16;;23394:27;23445:15;23324:16;23359;23394:27;23445:15;;;:::i;677:311:50:-;855:126;;-1:-1:-1;;;855:126:50;;808:16;;-1:-1:-1;;;;;855:49:50;;;;;:126;;922:9;;963:4;;855:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;855:126:50;;;;;;;;;;;;:::i;28890:923:119:-;29137:12;38600:4;:9;;38563:46;;29137:12;29241:111;38563:46;38600:9;29241:37;:111::i;:::-;29218:134;-1:-1:-1;29363:10:119;;29399:22;:8;29413:7;29399:13;:22::i;:::-;29362:59;;;;29432:25;29460:17;29464:2;29468:3;29473;29460;:17;;:::i;:::-;29432:45;;29510:7;29491:8;:15;:26;29487:112;;29572:15;;29540:48;;-1:-1:-1;;;29540:48:119;;;;29563:7;;29540:48;;7569:25:282;;;7625:2;7610:18;;7603:34;7557:2;7542:18;;7395:248;29487:112:119;29632:3;29662:108;29710:8;29632:3;29662:34;:108::i;:::-;36767:4;:9;;36730:46;;29787:19;36523:288;502:235:51;630:100;;-1:-1:-1;;;630:100:51;;-1:-1:-1;;;;;9687:32:282;;;630:100:51;;;9669:51:282;592:7:51;;630:42;;;;;;9642:18:282;;630:100:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;508:129:52:-;558:7;607:6;-1:-1:-1;;;;;584:44:52;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17787:462:119:-;-1:-1:-1;;18051:20:119;;18090:16;;17928:12;;18130:7;18090:16;18130:7;;;:::i;:::-;18186:21;;-1:-1:-1;18233:9:119;;17787:462;-1:-1:-1;;17787:462:119:o;665:302:53:-;822:138;;-1:-1:-1;;;822:138:53;;-1:-1:-1;;;;;8599:32:282;;;822:138:53;;;8581:51:282;8648:18;;;8641:34;;;784:7:53;;822:51;;;;;;8554:18:282;;822:138:53;8407:274:282;671:204:54;802:66;;-1:-1:-1;;;802:66:54;;;;;9877:25:282;;;764:7:54;;-1:-1:-1;;;;;802:53:54;;;;;9850:18:282;;802:66:54;9731:177:282;382:199:55;435:7;538:9;-1:-1:-1;;;;;514:42:55;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;473:101:55;;382:199;-1:-1:-1;;382:199:55:o;533:160:57:-;638:46;;-1:-1:-1;;;638:46:57;;;;;9877:25:282;;;596:7:57;;-1:-1:-1;;;;;638:41:57;;;;;9850:18:282;;638:46:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;622:64:57;;533:160;-1:-1:-1;;;533:160:57:o;427::58:-;523:2;513:58;;555:1;552;545:12;513:58;427:160;:::o;21929:647:119:-;22073:12;22259:4;22251:13;;22236:29;;22073:12;22236:29;22322:217;22359:9;22329:7;:40;22322:217;;;22440:7;22434:14;22428:20;;22489:4;22480:7;22476:18;22465:29;;22521:7;22525:2;22521:3;:7;;:::i;:::-;22322:217;;;22555:14;21929:647;-1:-1:-1;;;;;;21929:647:119:o;512:98:61:-;570:7;596;601:2;596;:7;:::i;20481:981:119:-;20924:4;20916:13;;;20901:29;;20953:14;;20652:12;;21002:18;;;20652:12;21002:18;21089:233;21126:9;21096:7;:40;21089:233;;;21215:7;21209:14;21203:20;;21263:11;21267:2;21271;21263:3;:11;;:::i;:::-;21258:16;;21303:4;21292:15;;;;21089:233;;;21378:19;;;;;20481:981;-1:-1:-1;;;;;;20481:981:119:o;366:98:62:-;424:7;450;455:2;450;:7;:::i;369:99:63:-;427:7;453:8;459:2;453;:8;:::i;377:108:64:-;435:7;466:2;461;:7;:17;;476:2;461:17;;360:98:66;418:7;444;449:2;444;:7;:::i;369:98:67:-;427:7;453;458:2;453;:7;:::i;369:98:68:-;427:7;453;458:2;453;:7;:::i;517:249:69:-;581:7;619:140;675:1;662:8;647:29;;100:10:210;723:8:69;708:36;694:51;;;;;;;;:::i;:::-;619:2;;:140;:10;:140::i;521:279:70:-;627:7;665:128;770:2;627:7;665:73;:2;708:8;627:7;665:27;:73::i;:::-;:104;:128;:104;:128::i;642:272:71:-;752:7;790:117;818:6;100:10:210;871:8:71;856:36;842:51;;;;;;;;:::i;527:279:72:-;633:7;671:128;776:2;633:7;671:73;:2;714:8;633:7;671:27;:73::i;:::-;:104;:128;:104;:128::i;504:224:73:-;568:7;606:115;:2;660:8;568:7;606:10;:115::i;506:152:74:-;570:7;596:55;:2;621:8;570:7;596:9;:55::i;402:180:76:-;522:16;562:1;557:2;:6;:18;;572:3;557:18;;462:277:77;713:10;;462:277::o;470:151:79:-;-1:-1:-1;595:10:79;470:151::o;462:139:80:-;575:10;;462:139::o;464:151:81:-;-1:-1:-1;589:10:81;464:151::o;336:146:82:-;394:7;435:39;452:2;470;435:3;:39::i;338:117:83:-;384:7;425:22;443:2;425:4;:22::i;336:146:84:-;394:7;435:39;452:2;470;435:3;:39::i;336:116:85:-;382:7;423:21;440:2;423:3;:21::i;338:117:86:-;384:7;425:22;443:2;425:4;:22::i;340:118:87:-;386:7;5505:5:279;5498:13;;5632:16;;;5617:32;5610:40;;427:23:87;5336:322:279;338:117:88;384:7;6047:5:279;6040:13;;425:22:88;5934:127:279;334:145:89;392:7;433:38;449:2;467;433;:38::i;336:116:90:-;382:7;423:21;440:2;423:3;:21::i;334:115:91:-;380:7;421:20;437:2;421;:20::i;340:118:92:-;386:7;427:23;446:2;427:5;:23::i;338:117:93:-;384:7;425:22;443:2;425:4;:22::i;336:146:94:-;394:7;435:39;452:2;470;435:3;:39::i;336:146:95:-;394:7;435:39;452:2;470;435:3;:39::i;338:133:96:-;396:7;437:26;455:2;460;437:4;:26::i;338:117:97:-;384:7;425:22;443:2;425:4;:22::i;956:203:209:-;1026:7;1082;;;1110;;;:32;;1140:2;1110:32;;;-1:-1:-1;;1103:39:209;956:203;-1:-1:-1;;;;956:203:209:o;1608:469::-;1678:7;1950:2;1956:1;1950:7;1946:21;;-1:-1:-1;1966:1:209;1959:8;;1946:21;1994:7;;;1999:2;1994;:7;:2;2022:7;;;;:::i;:::-;;:13;:38;;2058:2;2022:38;;1296:158;1366:7;1421:2;1416;:7;:21;;1436:1;1416:21;;;-1:-1:-1;1426:7:209;;;1296:158::o;475:474:101:-;704:206;;-1:-1:-1;;;704:206:101;;-1:-1:-1;;;;;12500:15:282;;;704:206:101;;;12482:34:282;12552:15;;;12532:18;;;12525:43;12584:18;;;12577:34;;;612:7:101;;704:55;;;;;;12417:18:282;;704:206:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;650:292:101;;475:474;-1:-1:-1;;;;;475:474:101:o;23913:770:119:-;-1:-1:-1;;24346:20:119;;24385:16;;-1:-1:-1;;24300:20:119;;24420:16;;-1:-1:-1;;24461:20:119;;24455:27;-1:-1:-1;;24507:20:119;;;24501:27;24300:20;;24117:12;;24420:16;;24455:27;;24552:19;24385:16;24420;24455:27;24501;24552:19;;;:::i;:::-;24620:21;;-1:-1:-1;24667:9:119;;23913:770;-1:-1:-1;;;;;23913:770:119:o;483:140:102:-;532:7;582:5;-1:-1:-1;;;;;558:56:102;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:142:103;484:7;550:5;-1:-1:-1;;;;;526:40:103;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:133:104;493:7;548:5;-1:-1:-1;;;;;524:43:104;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;519:51;;;;;;;;:::i;429:140:105:-;478:7;544:5;-1:-1:-1;;;;;520:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:137:106;523:7;573:5;-1:-1:-1;;;;;549:53:106;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;481:373:107;677:156;;-1:-1:-1;;;677:156:107;;-1:-1:-1;;;;;8599:32:282;;;677:156:107;;;8581:51:282;8648:18;;;8641:34;;;602:7:107;;677:58;;;;;;8554:18:282;;677:156:107;8407:274:282;4286:514:125;1156:11:210;4570:15:125;;;;4540:244;4614:4;4607:12;4540:244;;4712:11;;4702:68;;4747:5;4702:68;4663:4;4657;4653:15;4647:22;4639:30;;4540:244;;;4466:328;4286:514;;;;:::o;5384:1042::-;5499:8;5519:16;5538:15;5545:3;5550:2;5538:6;:15::i;:::-;5519:34;-1:-1:-1;1156:11:210;5621:28:125;;5617:783;;5732:2;5725:4;5719;5715:15;5708:27;5617:783;;;5901:4;5895:11;5887:19;;5946:4;5940;5936:15;5930:4;5923:29;6013:2;6007:4;6000:16;6057:2;6050:4;6044;6040:15;6033:27;6110:5;6105:3;6101:15;6094:4;6088;6084:15;6077:40;6354:4;6298:1;6292:3;6288:2;6284:12;6280:20;6276:2;6272:29;6212:164;6205:171;;5617:783;-1:-1:-1;6416:3:125;;5384:1042;-1:-1:-1;;;;5384:1042:125:o;3138:408::-;3213:14;3393:4;3402:1;3374:29;3370:83;;3426:16;;-1:-1:-1;;;3426:16:125;;;;;9877:25:282;;;9850:18;;3426:16:125;9731:177:282;3370:83:125;-1:-1:-1;3524:4:125;3514:15;3508:22;;3138:408::o;471:308:110:-;641:131;;-1:-1:-1;;;641:131:110;;603:7;;-1:-1:-1;;;;;641:47:110;;;;;:131;;722:8;;750;;641:131;;;:::i;26951:527:119:-;27180:12;;;27243:23;:9;27258:7;27243:14;:23::i;:::-;27204:62;;;;27276:27;27306:22;:5;35694:6;35496:250;27306:22;27276:52;;27339:22;27363:10;27377:20;:14;:18;:20::i;:::-;27338:59;;;;27407:33;27421:18;27425:2;27429;27433:5;27421:3;:18;;:::i;:::-;27407:9;11241:25;11125:157;27407:33;-1:-1:-1;27457:14:119;;26951:527;-1:-1:-1;;;;;;;26951:527:119:o;493:365:111:-;686:165;;-1:-1:-1;;;686:165:111;;648:7;;-1:-1:-1;;;;;686:58:111;;;;;:165;;778:8;;806:5;;829:8;;686:165;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27897:573:119:-;28135:12;;;28198:23;:9;28213:7;28198:14;:23::i;:::-;28159:62;;;;28232:27;28261:10;28275:54;:35;:5;35694:6;35496:250;28275:35;:52;:54::i;:::-;28231:98;;;;28339:10;28352:21;:14;-1:-1:-1;;3416:24:119;3410:31;;3261:215;28352:21;28339:34;;28383:49;28409:22;28413:2;28417;28421;28425:5;28409:3;:22;;:::i;:::-;-1:-1:-1;;37974:41:119;;11241:25;11125:157;1379:724:197;1491:7;;1581:1;1560:502;1593:1;1584:5;:10;1560:502;;1623:19;1645:107;1695:12;1729:5;1645:28;:107::i;:::-;1623:129;;1770:19;1792:107;1842:12;1876:5;1792:28;:107::i;:::-;1770:129;-1:-1:-1;1917:13:197;1933:38;:11;1770:129;1933:25;:38::i;:::-;1917:54;;1996:51;2024:4;2038:1;2030:5;:9;2041:5;1996:27;:51::i;:::-;1989:58;-1:-1:-1;;1596:7:197;;;;;-1:-1:-1;1560:502:197;;-1:-1:-1;1560:502:197;;-1:-1:-1;2082:4:197;1379:724;-1:-1:-1;;;1379:724:197:o;3152:2379::-;3453:15;;3312:7;;;;;;;;3503:1;3482:2008;3515:1;3506:5;:10;3482:2008;;3545:20;;-1:-1:-1;3545:20:197;3752:5;3748:185;;-1:-1:-1;;;3748:185:197;;;-1:-1:-1;3913:1:197;3748:185;4100:10;4095:1107;4121:7;4116:2;:12;4095:1107;;;4167:49;4196:8;4205:2;4196:12;;;;;;;;:::i;:::-;;;;;;;4210:5;4167:28;:49::i;:::-;4158:58;;4253:12;4243:6;:22;4239:945;;4418:5;4414:470;;4499:24;:6;4510:12;4499:10;:24::i;:::-;4484:39;;4414:470;;;696:1;4560:5;:34;4556:328;;4641:24;:6;4652:12;4641:10;:24::i;4556:328::-;813:1;4731:5;:36;:48;;;;;4772:7;4771:8;4731:48;4698:186;;;4851:6;4836:21;;4698:186;4919:4;4909:14;;4239:945;;;4956:6;4952:232;;-1:-1:-1;;5089:41:197;;5156:5;;4952:232;4130:4;;4095:1107;;;;5224:7;5219:96;;-1:-1:-1;;;5219:96:197;5339:136;5388:4;5422:1;5414:5;:9;5445:12;5339:27;:136::i;:::-;5332:143;-1:-1:-1;;3518:7:197;;3482:2008;;;-1:-1:-1;5510:4:197;;3152:2379;-1:-1:-1;;;;;;;;3152:2379:197:o;375:493:114:-;494:7;532:329;584:7;686:8;698:4;671:31;810:1;797:8;782:29;;815:4;781:38;837:10;532:34;:329::i;11953:315:0:-;12076:20;12174:4;12165:7;12161:18;12145:34;;12198:63;12217:12;12231:13;12246:7;:14;12198:18;:63::i;1472:1045:1:-;1568:7;1590:14;1608:18;1667:5;-1:-1:-1;;;;;1632:66:1;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1587:113;;;;;;;1726:1;1715:7;:12;1711:73;;1750:23;;-1:-1:-1;;;1750:23:1;;;;;9877:25:282;;;9850:18;;1750:23:1;9731:177:282;1711:73:1;2009:11;1978:28;1996:10;1978:15;:28;:::i;:::-;:42;1974:115;;;2043:35;;-1:-1:-1;;;2043:35:1;;;;;7569:25:282;;;7610:18;;;7603:34;;;7542:18;;2043:35:1;7395:248:282;1974:115:1;2378:132;2445:5;-1:-1:-1;;;;;2423:37:1;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2378:132;;2480:16;2378:19;:7;:17;:19::i;:::-;:27;:132;:27;:132::i;1127:115:281:-;1180:58;1234:2;1196:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1196:41:281;;;;;;;;;;;;;;-1:-1:-1;;;;;1196:41:281;-1:-1:-1;;;1196:41:281;;;1180:15;:58::i;6297:371:118:-;6413:12;;39536:4:119;39446:86;;;39445:95;6437:49:118;-1:-1:-1;6496:139:118;6520:105;38600:4:119;:9;;38563:46;;6437:49:118;6520:66;:105::i;5731:300::-;5824:28;5836:15;;;;;;;;;;;;;-1:-1:-1;;;5836:15:118;;;5824:11;:28::i;:::-;5871:10;5866:107;5892:6;:13;5887:2;:18;5866:107;;;5931:27;5943:2;5947:6;5954:2;5947:10;;;;;;;;:::i;:::-;;;;;;;5931:11;:27::i;:::-;5907:4;;5866:107;;;;5986:28;5998:15;;;;;;;;;;;;;-1:-1:-1;;;5998:15:118;;;5986:11;:28::i;13110:416:0:-;13225:16;13253:25;13295:7;13281:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13281:22:0;-1:-1:-1;13253:50:0;-1:-1:-1;13414:4:0;13400:19;;13438:56;13457:12;13400:19;13486:7;13438:18;:56::i;4371:602:127:-;4498:7;4517:17;4563:10;522:2;4548:25;4544:423;;4596:2;4589:9;;;;;4544:423;4633:10;522:2;4619:24;4615:352;;;-1:-1:-1;522:2:127;4699:24;;;4758:33;4775:15;4699:24;4775:2;:15;:::i;:::-;4758:2;;:16;:33::i;:::-;4751:40;;;;;4615:352;-1:-1:-1;;;4862:24:127;;4921:35;4931:2;4862:24;4946:9;4921;:35::i;9720:190::-;9845:7;9871:32;:2;776:4;9889:2;9893:9;9871;:32::i;9196:190::-;9321:7;9347:32;:2;9357;776:4;9369:9;9347;:32::i;7572:496::-;7694:7;7717:8;:13;;7729:1;7717:13;7713:349;;-1:-1:-1;7753:2:127;7746:9;;7713:349;7787:1;7776:8;:12;;;7772:290;;;7811:39;7828:21;7840:8;7828:2;:21;:::i;:::-;7811:2;;:16;:39::i;:::-;7804:46;;;;7772:290;7943:35;7881:20;7964:13;;;7943:35;8013:38;8023:2;7943:35;8041:9;8013;:38::i;5297:626::-;5428:7;5447:17;522:2;5478:15;:30;5474:443;;5531:2;5524:9;;;;;5474:443;5568:15;522:2;5554:29;5550:367;;;5653:15;522:2;5639:29;5627:41;;5703:35;5713:2;5717:9;5728;5703;:35::i;5550:367::-;-1:-1:-1;;;5809:29:127;;5873:33;5890:15;5809:29;5890:2;:15;:::i;1474:217:279:-;1523:14;1568:1;1599;1642:13;;;1661;;;1679:1;1660:20;1641:40;1636:46;3069:92:275;2188:538:279;2227:14;2272:1;-1:-1:-1;;2284:26:279;;2280:88;;;2329:32;;-1:-1:-1;;;2329:32:279;;;;;9877:25:282;;;9850:18;;2329:32:279;9731:177:282;2280:88:279;-1:-1:-1;;2481:5:279;2474:13;;;2700:16;;;2566:21;;2689:28;2682:36;;2188:538::o;3119:124::-;3168:14;3199:41;3204:35;3218:1;1295:4:276;3236:1:279;3204:6;:35::i;3574:505::-;3612:14;3657:1;3760:22;3751:31;;3747:95;;3801:34;;-1:-1:-1;;;3801:34:279;;;;;9877:25:282;;;9850:18;;3801:34:279;9731:177:282;3747:95:279;540:20:276;3999:15:279;;4033:37;4038:31;1295:4:276;3999:15:279;4043:25;;3156:1:275;3069:92;4038:31:279;4472:14;4517:1;4625:6;4616:15;;4612:80;;4650:35;;-1:-1:-1;;;4650:35:279;;;;;9877:25:282;;;9850:18;;4650:35:279;9731:177:282;4612:80:279;4753:16;4772:21;1295:4:276;4782:2:279;4773:11;;;4772:21;:::i;:::-;4753:40;;4911:23;4916:17;4924:8;4916:7;:17::i;6406:678::-;6454:14;6499:1;6530;6542:10;;;:24;;-1:-1:-1;6556:10:279;;6542:24;6538:58;;;1420:1:276;6578:11:279;;;;;;6538:58;6720:13;;;6728:5;6720;:13;:5;6747:14;;;;:::i;:::-;;:23;6743:94;;6793:33;;-1:-1:-1;;;6793:33:279;;;;;7569:25:282;;;7610:18;;;7603:34;;;7542:18;;6793:33:279;7395:248:282;6743:94:279;7054:21;7059:15;7067:6;7059:7;:15::i;7314:152::-;7352:14;7435:22;7454:1;7440:4;:16;;;;;:::i;7947:315::-;7984:14;8212:41;540:20:276;1295:4;8218:15:279;8225:7;8230:1;8225:4;:7::i;8218:15::-;:23;8217:35;;;;;:::i;8747:7194::-;8787:14;8832:1;1295:4:276;8844:13:279;;8840:79;;;8876:36;;-1:-1:-1;;;8876:36:279;;;;;9877:25:282;;;9850:18;;8876:36:279;9731:177:282;8840:79:279;9105:1;9120;9115:43;;;;9172:2;9167:44;;;;9225:3;9220:45;;;;9279:4;9274:46;;;;9334:5;9329:47;;;;9390:6;9385:48;;;;9447:7;9442:49;;;;9505:8;9500:50;;;;9564:9;9559:51;;;;9624:10;9619:52;;;;9685:11;9680:54;;;;9748:12;9743:55;;;;9812:13;9807:56;;;;9877:14;9872:57;;;;9943:15;9938:58;;;;10010:16;10005:59;;;;10078:17;10073:60;;;;10147:18;10142:61;;;;10217:19;10212:40;;;;10266:20;10261:45;;;;10320:21;10315:54;;;;10383:22;10378:55;;;;10447:23;10442:56;;;;10512:24;10507:57;;;;10578:25;10573:58;;;;10645:26;10640:59;;;;10713:27;10708:60;;;;10782:28;10777:61;;;;10852:29;10847:63;;;;10924:30;10919:64;;;;10997:31;10992:65;;;;11071:32;11066:66;;;;11146:33;11141:67;;;;11222:34;11217:68;;;;11299:35;11294:69;;;;11377:36;11372:70;;;;11456:37;11451:71;;;;11536:38;11531:72;;;;11617:39;11612:73;;;;11699:40;11694:74;;;;11782:41;11777:75;;;;11866:42;11861:76;;;;11951:43;11946:77;;;;12037:44;12032:78;;;;12124:45;12119:79;;;;12212:46;12207:80;;;;12301:47;12296:81;;;;12391:48;12386:82;;;;12482:49;12477:83;;;;12574:50;12569:84;;;;12667:51;12662:85;;;;12761:52;12756:86;;;;12856:53;12851:87;;;;12952:54;12947:88;;;;13049:55;13044:89;;;;13147:56;13142:90;;;;13246:57;13241:91;;;;13346:58;13341:92;;;;13447:59;13442:93;;;;13549:60;13544:94;;;;13652:61;13647:95;;;;13756:62;13751:96;;;;13861:63;13856:97;;;;13967:64;13962:98;;;;14074:65;14069:99;;;;14182:66;14177:100;;;;14291:67;14286:101;;;;14401:68;14396:102;;;;14512:69;14507:103;;;;14624:70;14619:104;;;;14737:71;14732:105;;;;14851:72;14846:106;;;;14966:73;14961:107;;;;15082:74;15077:108;;;;15199:75;15194:109;;;;-1:-1:-1;;;15312:110:279;;;;15436:77;15431:111;;;;15556:78;15551:112;;;;-1:-1:-1;;15694:22:279;;9098:6628;;9115:43;-1:-1:-1;;9134:22:279;-1:-1:-1;9115:43:279;;9167:44;-1:-1:-1;;9187:22:279;-1:-1:-1;9167:44:279;;9220:45;-1:-1:-1;;9241:22:279;-1:-1:-1;9220:45:279;;9274:46;-1:-1:-1;;9296:22:279;-1:-1:-1;9274:46:279;;9329:47;-1:-1:-1;;9352:22:279;-1:-1:-1;9329:47:279;;9385:48;-1:-1:-1;;9409:22:279;-1:-1:-1;9385:48:279;;9442:49;-1:-1:-1;;9467:22:279;-1:-1:-1;9442:49:279;;9500:50;-1:-1:-1;;9526:22:279;-1:-1:-1;9500:50:279;;9559:51;-1:-1:-1;;9586:22:279;-1:-1:-1;9559:51:279;;9619:52;-1:-1:-1;;9647:22:279;-1:-1:-1;9619:52:279;;9680:54;-1:-1:-1;;9709:23:279;-1:-1:-1;9680:54:279;;9743:55;-1:-1:-1;;9773:23:279;-1:-1:-1;9743:55:279;;9807:56;-1:-1:-1;;9838:23:279;-1:-1:-1;9807:56:279;;9872:57;-1:-1:-1;;9904:23:279;-1:-1:-1;9872:57:279;;9938:58;-1:-1:-1;;9971:23:279;-1:-1:-1;9938:58:279;;10005:59;-1:-1:-1;;10039:23:279;-1:-1:-1;10005:59:279;;10073:60;-1:-1:-1;;10108:23:279;-1:-1:-1;10073:60:279;;10142:61;-1:-1:-1;;10178:23:279;-1:-1:-1;10142:61:279;;10212:40;10249:1;10239:11;;10212:40;;10261:45;10299:5;10289:15;;10261:45;;10315:54;10354:13;;-1:-1:-1;10315:54:279;;10378:55;10418:13;;-1:-1:-1;10378:55:279;;10442:56;10483:13;;-1:-1:-1;10442:56:279;;10507:57;10549:13;;-1:-1:-1;10507:57:279;;10573:58;10616:13;;-1:-1:-1;10573:58:279;;10640:59;10684:13;;-1:-1:-1;10640:59:279;;10708:60;10753:13;;-1:-1:-1;10708:60:279;;10777:61;10823:13;;-1:-1:-1;10777:61:279;;10847:63;10894:14;;-1:-1:-1;10847:63:279;;10919:64;10967:14;;-1:-1:-1;10919:64:279;;10992:65;11041:14;;-1:-1:-1;10992:65:279;;11066:66;11116:14;;-1:-1:-1;11066:66:279;;11141:67;11192:14;;-1:-1:-1;11141:67:279;;11217:68;11269:14;;-1:-1:-1;11217:68:279;;11294:69;11347:14;;-1:-1:-1;11294:69:279;;11372:70;11426:14;;-1:-1:-1;11372:70:279;;11451:71;11506:14;;-1:-1:-1;11451:71:279;;11531:72;11587:14;;-1:-1:-1;11531:72:279;;11612:73;11669:14;;-1:-1:-1;11612:73:279;;11694:74;11752:14;;-1:-1:-1;11694:74:279;;11777:75;11836:14;;-1:-1:-1;11777:75:279;;11861:76;11921:14;;-1:-1:-1;11861:76:279;;11946:77;12007:14;;-1:-1:-1;11946:77:279;;12032:78;12094:14;;-1:-1:-1;12032:78:279;;12119:79;12182:14;;-1:-1:-1;12119:79:279;;12207:80;12271:14;;-1:-1:-1;12207:80:279;;12296:81;12361:14;;-1:-1:-1;12296:81:279;;12386:82;12452:14;;-1:-1:-1;12386:82:279;;12477:83;12544:14;;-1:-1:-1;12477:83:279;;12569:84;12637:14;;-1:-1:-1;12569:84:279;;12662:85;12731:14;;-1:-1:-1;12662:85:279;;12756:86;12826:14;;-1:-1:-1;12756:86:279;;12851:87;12922:14;;-1:-1:-1;12851:87:279;;12947:88;13019:14;;-1:-1:-1;12947:88:279;;13044:89;13117:14;;-1:-1:-1;13044:89:279;;13142:90;13216:14;;-1:-1:-1;13142:90:279;;13241:91;13316:14;;-1:-1:-1;13241:91:279;;13341:92;13417:14;;-1:-1:-1;13341:92:279;;13442:93;13519:14;;-1:-1:-1;13442:93:279;;13544:94;13622:14;;-1:-1:-1;13544:94:279;;13647:95;13726:14;;-1:-1:-1;13647:95:279;;13751:96;13831:14;;-1:-1:-1;13751:96:279;;13856:97;13937:14;;-1:-1:-1;13856:97:279;;13962:98;14044:14;;-1:-1:-1;13962:98:279;;14069:99;14152:14;;-1:-1:-1;14069:99:279;;14177:100;14261:14;;-1:-1:-1;14177:100:279;;14286:101;14371:14;;-1:-1:-1;14286:101:279;;14396:102;14482:14;;-1:-1:-1;14396:102:279;;14507:103;14594:14;;-1:-1:-1;14507:103:279;;14619:104;14707:14;;-1:-1:-1;14619:104:279;;14732:105;14821:14;;-1:-1:-1;14732:105:279;;14846:106;14936:14;;-1:-1:-1;14846:106:279;;14961:107;15052:14;;-1:-1:-1;14961:107:279;;15077:108;15169:14;;-1:-1:-1;15077:108:279;;15194:109;15287:14;;-1:-1:-1;15194:109:279;;15312:110;15406:14;;-1:-1:-1;15312:110:279;;15431:111;15526:14;;-1:-1:-1;15431:111:279;;15551:112;15647:14;;-1:-1:-1;9098:6628:279;-1:-1:-1;;;15749:6:279;15742:30;15738:201;;15880:42;400:20:276;1295:4;15886:15:279;15893:7;15898:1;15893:4;:7::i;15880:42::-;15871:51;;15738:201;8803:7138;8747:7194;;;:::o;16523:1380::-;16562:14;16607:1;1295:4:276;16620:13:279;;16616:79;;;16652:36;;-1:-1:-1;;;16652:36:279;;;;;9877:25:282;;;9850:18;;16652:36:279;9731:177:282;16616:79:279;16836:9;16848:18;1295:4:276;16852:5:279;:13;4024:1:260;3049:34;3043:41;;3040:1;3036:49;3099:14;;;3235:18;3229:25;;3226:1;3222:33;3269:14;;;3405:10;3399:17;;3396:1;3392:25;3431:14;;;3567:6;3561:13;;3558:1;3554:21;3589:14;;;3724:4;3718:11;;3715:1;3711:19;;;3744:14;;;3879:3;3873:10;;3870:1;3866:18;3898:14;;;4027:10;;;4020:18;;4052:14;;;4210:10;;;;3302:18;;;;3464;;;;3622;3777;3931;;;;4085;;;;4239;;2914:1351;16848:18:279;16836:30;-1:-1:-1;1295:4:276;17058:9:279;;17127:10;;;-1:-1:-1;;17203:10:279;;17199:64;;-1:-1:-1;17241:10:279;17229:23;-1:-1:-1;;;;16523:1380:279:o;17199:64::-;17467:4;268:6:276;17481:379:279;17514:9;;17481:379;;1295:4:276;17557:5:279;;;17556:15;17552:19;;17648:11;17643:1;:16;17639:211;;17738:19;;;;17834:1;17828:7;;;;;17639:211;17535:1;17525:11;17481:379;;;-1:-1:-1;17883:10:279;;17869:25;-1:-1:-1;;;;;;16523:1380:279:o;18212:119::-;18261:14;18292:36;18297:30;18313:1;18324;18297:8;:30::i;18792:340::-;18841:14;18886:1;18917;18930:10;;;18926:204;;18961:10;;:24;;1420:1:276;18961:24:279;;;1295:4:276;18961:24:279;18952:33;;18926:204;;;1295:4:276;19012:5:279;:14;19008:116;;19051:1;19042:10;;19008:116;;;19092:21;19097:15;19101:7;19106:1;19101:4;:7::i;:::-;19110:1;19097:3;:15::i;19008:116::-;18857:275;;18792:340;;;;:::o;19636:529::-;19686:14;19792:1;19686:14;19825:1;19821:5;;:25;;1295:4:276;19821:25:279;;;19833:5;19821:25;19800:46;;19926:1;19920:7;;;;;19915:217;19929:5;;19915:217;;19963:22;19972:5;19979;19963:8;:22::i;:::-;19955:30;-1:-1:-1;20054:1:279;20050:5;;:9;20046:80;;20088:27;20097:10;20109:5;20088:8;:27::i;:::-;20075:40;;20046:80;19942:1;19936:7;;;;;19915:217;;;20151:10;20146:16;3069:92:275;20555:467:279;20594:14;20639:1;20680:20;20672:28;;20668:98;;;20723:32;;-1:-1:-1;;;20723:32:279;;;;;9877:25:282;;;9850:18;;20723:32:279;9731:177:282;20668:98:279;20985:28;20990:22;1295:4:276;20998:5:279;:13;20990:7;:22::i;2679:458:196:-;2798:7;2782:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;2954:5:::1;2963:1;2954:10:::0;2950:57:::1;;2991:1;2984:8;;;;2950:57;-1:-1:-1::0;;;;3040:9:196;3053:2:::1;3039:16;3099:18;3076:44;;::::0;2679:458::o;4207:406::-;4353:7;4337:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;-1:-1:-1;;4422:2:196::1;4414:10:::0;;;::::1;4574:21:::0;;::::1;392:16:195;4501:44:196::0;;::::1;4492:54;4462:84:::0;;;::::1;4461:135;::::0;4207:406::o;5077:649::-;5264:7;5245:8;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;5307:15:::1;5354:10:::0;5336:346:::1;5371:8;5366:2;:13;5336:346;;;392:16:195;5420:2:196;5415:7:::0;::::1;5543:44:::0;;::::1;5505:108;5471:142:::0;;;::::1;5645:21:::0;;::::1;5470:197;::::0;5415:7;-1:-1:-1;5381:4:196::1;;5336:346;;;-1:-1:-1::0;5702:7:196;;5077:649;-1:-1:-1;;;;;;5077:649:196:o;17198:168:259:-;17254:7;17290:1;17281:5;:10;;17273:55;;;;-1:-1:-1;;;17273:55:259;;16463:2:282;17273:55:259;;;16445:21:282;;;16482:18;;;16475:30;16541:34;16521:18;;;16514:62;16593:18;;17273:55:259;16261:356:282;17273:55:259;-1:-1:-1;17353:5:259;17198:168::o;176:288:281:-;264:14;;129:42;373:2;360:16;;240:21;;264:14;360:16;129:42;400:5;389:68;380:77;;335:126;;176:288;:::o;5072:112::-;5121:59;5176:2;5137:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5137:42:281;;;;;;;;;;;;;;-1:-1:-1;;;;;5137:42:281;-1:-1:-1;;;5137:42:281;;;5121:15;:59::i;5401:131::-;5472:55;;;;;7569:25:282;;;7610:18;;;7603:34;;;5456:72:281;;7542:18:282;;5472:55:281;;;-1:-1:-1;;5472:55:281;;;;;;;;;;;;;;-1:-1:-1;;;;;5472:55:281;-1:-1:-1;;;5472:55:281;;;5456:15;:72::i;:::-;5401:131;;:::o;8503:350:127:-;8634:7;;8666:18;8672:12;8666:2;:18;:::i;:::-;8653:31;-1:-1:-1;8694:15:127;8712:7;8653:31;8712:2;:7;:::i;:::-;8694:25;-1:-1:-1;8746:16:127;8733:9;:29;;;;;;;;:::i;:::-;;:51;;;;-1:-1:-1;8772:12:127;8782:2;8772:7;:12;:::i;:::-;8766:2;:18;;8733:51;8729:94;;;8800:12;8811:1;8800:12;;:::i;5735:337:258:-;5874:7;5893:14;5910:25;5917:1;5920;5923:11;5910:6;:25::i;:::-;5893:42;-1:-1:-1;5961:11:258;5949:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6004:1;5989:11;5976:25;;;;;:::i;:::-;5986:1;5983;5976:25;:29;5945:98;;;6021:11;6031:1;6021:11;;:::i;4790:3691:260:-;4863:14;;;-1:-1:-1;;5340:1:260;5337;5330:20;5375:1;5372;5368:9;5359:18;;5422:5;5418:2;5415:13;5407:5;5403:2;5399:14;5395:34;5386:43;;;5500:5;5509:1;5500:10;5496:93;;5561:11;5553:5;:19;;;;;:::i;:::-;;5546:26;;;;;;5496:93;5688:11;5679:5;:20;5675:92;;5718:42;;-1:-1:-1;;;5718:42:260;;;;;17048:25:282;;;17089:18;;;17082:34;;;17132:18;;;17125:34;;;17021:18;;5718:42:260;16846:319:282;5675:92:260;5982:17;6129:11;6126:1;6123;6116:25;7462:1;6639;6624:12;;:16;;6609:32;;6751:25;;;;7443:1;:15;;7442:21;;7683;;;7679:25;;7668:36;7748:21;;;7744:25;;7733:36;7814:21;;;7810:25;;7799:36;7880:21;;;7876:25;;7865:36;7946:21;;;7942:25;;7931:36;8013:21;;;8009:25;;;7998:36;;;6591:15;7001;;;6997:29;;;6993:37;;;6227:20;;;6216:32;;;7107:15;;;;6266:21;;6847:19;;;;7098:24;;;;8457:15;;;-1:-1:-1;;;;4790:3691:260:o;12663:8768::-;-1:-1:-1;;;13102:18:260;13098:22;;:26;13094:1023;;13148:18;13144:22;;:26;13140:110;;13209:19;13200:28;13233:2;13199:36;13140:110;13271:18;13267:22;;:26;13263:110;;13332:19;13323:28;13356:2;13322:36;13263:110;13394:18;13390:22;;:26;13386:110;;13455:19;13446:28;13479:2;13445:36;13386:110;13517:18;13513:22;;:26;13509:110;;13578:19;13569:28;13602:2;13568:36;13509:110;13640:17;13636:21;;:25;13632:109;;13700:19;13691:28;13724:2;13690:36;13632:109;13762:17;13758:21;;:25;13754:109;;13822:19;13813:28;13846:2;13812:36;13754:109;13884:17;13880:21;;:25;13876:109;;13944:19;13935:28;13968:2;13934:36;13876:109;14006:17;14002:21;;:25;13998:109;;14066:19;14057:28;14090:2;14056:36;13998:109;14135:16;14131:20;;:24;14127:1005;;14179:16;14175:20;;:24;14171:108;;14238:19;14229:28;14262:2;14228:36;14171:108;14300:16;14296:20;;:24;14292:108;;14359:19;14350:28;14383:2;14349:36;14292:108;14421:16;14417:20;;:24;14413:108;;14480:19;14471:28;14504:2;14470:36;14413:108;14542:16;14538:20;;:24;14534:108;;14601:19;14592:28;14625:2;14591:36;14534:108;14663:15;14659:19;;:23;14655:107;;14721:19;14712:28;14745:2;14711:36;14655:107;14783:15;14779:19;;:23;14775:107;;14841:19;14832:28;14865:2;14831:36;14775:107;14903:15;14899:19;;:23;14895:107;;14961:19;14952:28;14985:2;14951:36;14895:107;15023:15;15019:19;;:23;15015:107;;15081:19;15072:28;15105:2;15071:36;15015:107;15150:14;15146:18;;:22;15142:987;;15192:14;15188:18;;:22;15184:106;;15249:19;15240:28;15273:2;15239:36;15184:106;15311:14;15307:18;;:22;15303:106;;15368:19;15359:28;15392:2;15358:36;15303:106;15430:14;15426:18;;:22;15422:106;;15487:19;15478:28;15511:2;15477:36;15422:106;15549:14;15545:18;;:22;15541:106;;15606:19;15597:28;15630:2;15596:36;15541:106;15668:13;15664:17;;:21;15660:105;;15724:19;15715:28;15748:2;15714:36;15660:105;15786:13;15782:17;;:21;15778:105;;15842:19;15833:28;15866:2;15832:36;15778:105;15904:13;15900:17;;:21;15896:105;;15960:19;15951:28;15984:2;15950:36;15896:105;16022:13;16018:17;;:21;16014:105;;16078:19;16069:28;16102:2;16068:36;16014:105;16147:12;16143:16;;:20;16139:969;;16187:12;16183:16;;:20;16179:104;;16242:19;16233:28;16266:2;16232:36;16179:104;16304:12;16300:16;;:20;16296:104;;16359:19;16350:28;16383:2;16349:36;16296:104;16421:12;16417:16;;:20;16413:104;;16476:19;16467:28;16500:2;16466:36;16413:104;16538:12;16534:16;;:20;16530:104;;16593:19;16584:28;16617:2;16583:36;16530:104;16655:11;16651:15;;:19;16647:103;;16709:19;16700:28;16733:2;16699:36;16647:103;16771:11;16767:15;;:19;16763:103;;16825:19;16816:28;16849:2;16815:36;16763:103;16887:11;16883:15;;:19;16879:103;;16941:19;16932:28;16965:2;16931:36;16879:103;17003:11;16999:15;;:19;16995:103;;17057:19;17048:28;17081:2;17047:36;16995:103;17126:12;17122:16;;:20;17118:953;;17166:10;17162:14;;:18;17158:102;;17219:19;17210:28;17243:2;17209:36;17158:102;17281:10;17277:14;;:18;17273:102;;17334:19;17325:28;17358:2;17324:36;17273:102;17396:10;17392:14;;:18;17388:102;;17449:19;17440:28;17473:2;17439:36;17388:102;17511:10;17507:14;;:18;17503:102;;17564:19;17555:28;17588:2;17554:36;17503:102;17626:9;17622:13;;:17;17618:101;;17678:19;17669:28;17702:2;17668:36;17618:101;17740:9;17736:13;;:17;17732:101;;17792:19;17783:28;17816:2;17782:36;17732:101;17854:9;17850:13;;:17;17846:101;;17906:19;17897:28;17930:2;17896:36;17846:101;17968:9;17964:13;;:17;17960:101;;18020:19;18011:28;18044:2;18010:36;17960:101;18089:8;18085:12;;:16;18081:933;;18125:8;18121:12;;:16;18117:100;;18176:19;18167:28;18200:2;18166:36;18117:100;18238:8;18234:12;;:16;18230:100;;18289:19;18280:28;18313:2;18279:36;18230:100;18351:8;18347:12;;:16;18343:100;;18402:19;18393:28;18426:2;18392:36;18343:100;18464:8;18460:12;;:16;18456:100;;18515:19;18506:28;18539:2;18505:36;18456:100;18577:7;18573:11;;:15;18569:99;;18627:19;18618:28;18651:2;18617:36;18569:99;18689:7;18685:11;;:15;18681:99;;18739:19;18730:28;18763:2;18729:36;18681:99;18801:7;18797:11;;:15;18793:99;;18851:19;18842:28;18875:2;18841:36;18793:99;18913:7;18909:11;;:15;18905:99;;18963:19;18954:28;18987:2;18953:36;18905:99;19032:6;19028:10;;:14;19024:915;;19066:6;19062:10;;:14;19058:98;;19115:19;19106:28;19139:2;19105:36;19058:98;19177:6;19173:10;;:14;19169:98;;19226:19;19217:28;19250:2;19216:36;19169:98;19288:6;19284:10;;:14;19280:98;;19337:19;19328:28;19361:2;19327:36;19280:98;19399:6;19395:10;;:14;19391:98;;19448:19;19439:28;19472:2;19438:36;19391:98;19510:5;19506:9;;:13;19502:97;;19558:19;19549:28;19582:2;19548:36;19502:97;19620:5;19616:9;;:13;19612:97;;19668:19;19659:28;19692:2;19658:36;19612:97;19730:5;19726:9;;:13;19722:97;;19778:19;19769:28;19802:2;19768:36;19722:97;19840:5;19836:9;;:13;19832:97;;19888:19;19879:28;19912:2;19878:36;19832:97;19957:4;19953:8;;:12;19949:897;;19989:4;19985:8;;:12;19981:96;;20036:19;20027:28;20060:2;20026:36;19981:96;20098:4;20094:8;;:12;20090:96;;20145:19;20136:28;20169:2;20135:36;20090:96;20207:4;20203:8;;:12;20199:96;;20254:19;20245:28;20278:2;20244:36;20199:96;20316:4;20312:8;;:12;20308:96;;20363:19;20354:28;20387:2;20353:36;20308:96;20425:3;20421:7;;:11;20417:95;;20471:19;20462:28;20495:2;20461:36;20417:95;20533:3;20529:7;;:11;20525:95;;20579:19;20570:28;20603:2;20569:36;20525:95;20641:3;20637:7;;:11;20633:95;;20687:19;20678:28;20711:2;20677:36;20633:95;20749:3;20745:7;;:11;20741:95;;20795:19;20786:28;20819:2;20785:36;20741:95;1525:4;21370:14;21418:2;21413:7;;;;21406:3;:15;21394:28;;12663:8768::o;21912:2318::-;21954:14;21980:1;21985;21980:6;21976:37;;-1:-1:-1;22005:1:260;;21912:2318;-1:-1:-1;21912:2318:260:o;21976:37::-;-1:-1:-1;22774:1:260;22757;-1:-1:-1;;;22785:16:260;;22781:74;;22846:2;22835:13;;;;;22822:3;22813:12;22781:74;22872:7;22864:4;:15;22860:72;;22923:2;22912:13;;;;;22900:2;22891:11;22860:72;22949:7;22941:4;:15;22937:72;;23000:2;22989:13;;;;;22977:2;22968:11;22937:72;23026:7;23018:4;:15;23014:71;;23077:1;23066:12;;;;;23054:2;23045:11;23014:71;23102:6;23094:4;:14;23090:69;;23151:1;23140:12;;;;;23129:1;23120:10;23090:69;23176:6;23168:4;:14;23164:69;;23225:1;23214:12;;;;;23203:1;23194:10;23164:69;23250:6;23242:4;:14;23238:49;;23279:1;23268:12;;;;;23238:49;23740:1;23729:6;23725:1;:10;;;;;:::i;:::-;;23716:6;:19;23715:26;;23706:35;;23785:1;23774:6;23770:1;:10;;;;;:::i;:::-;;23761:6;:19;23760:26;;23751:35;;23830:1;23819:6;23815:1;:10;;;;;:::i;:::-;;23806:6;:19;23805:26;;23796:35;;23875:1;23864:6;23860:1;:10;;;;;:::i;:::-;;23851:6;:19;23850:26;;23841:35;;23920:1;23909:6;23905:1;:10;;;;;:::i;:::-;;23896:6;:19;23895:26;;23886:35;;23965:1;23954:6;23950:1;:10;;;;;:::i;:::-;;23941:6;:19;23940:26;;23931:35;;24010:1;23999:6;23995:1;:10;;;;;:::i;:::-;;23986:6;:19;23985:26;;23976:35;;24090:25;24122:6;24118:1;:10;;;;;:::i;:::-;;24090:38;;24152:17;24142:6;:27;24138:84;;24194:17;24185:26;;24138:84;23686:542;21970:2260;21912:2318;;;:::o;9536:821::-;9590:14;;;-1:-1:-1;;9705:1:260;9702;9695:20;9740:1;9737;9733:9;9724:18;;9787:5;9783:2;9780:13;9772:5;9768:2;9764:14;9760:34;9751:43;;;1525:4;9810:5;:13;9806:74;;9842:31;;-1:-1:-1;;;9842:31:260;;;;;7569:25:282;;;7610:18;;;7603:34;;;7542:18;;9842:31:260;7395:248:282;9806:74:260;9886:17;9970:4;9967:1;9964;9957:18;9944:31;;9991:5;10000:1;9991:10;9987:86;;-1:-1:-1;;1525:4:260;10044:12;;;-1:-1:-1;10037:19:260;;9987:86;10283:10;10165:21;;;10161:38;10232:20;-1:-1:-1;10221:32:260;;-1:-1:-1;;;10217:82:260;10141:172;10327:12;10124:225;;-1:-1:-1;9536:821:260;;;;:::o;1678:3925:258:-;1790:14;;;-1:-1:-1;;2327:1:258;2324;2317:20;2370:1;2367;2363:9;2354:18;;2425:5;2421:2;2418:13;2410:5;2406:2;2402:14;2398:34;2389:43;;;2527:5;2536:1;2527:10;2523:75;;2572:11;2564:5;:19;;;;;:::i;2523:75::-;2722:5;2708:11;:19;2700:28;;;;;-1:-1:-1;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:282:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:282;;209:43;;199:71;;266:1;263;256:12;497:152;-1:-1:-1;;;;;593:31:282;;583:42;;573:70;;639:1;636;629:12;654:127;715:10;710:3;706:20;703:1;696:31;746:4;743:1;736:15;770:4;767:1;760:15;786:275;857:2;851:9;922:2;903:13;;-1:-1:-1;;899:27:282;887:40;;957:18;942:34;;978:22;;;939:62;936:88;;;1004:18;;:::i;:::-;1040:2;1033:22;786:275;;-1:-1:-1;786:275:282:o;1066:193::-;1136:4;1169:18;1161:6;1158:30;1155:56;;;1191:18;;:::i;:::-;-1:-1:-1;1236:1:282;1232:14;1248:4;1228:25;;1066:193::o;1264:2056::-;1502:6;1510;1518;1526;1579:3;1567:9;1558:7;1554:23;1550:33;1547:53;;;1596:1;1593;1586:12;1547:53;1609:70;1668:9;1655:23;1609:70;:::i;:::-;1711:9;1698:23;1688:33;;1768:2;1757:9;1753:18;1740:32;1730:42;;1819:2;1808:9;1804:18;1791:32;1781:42;;1874:2;1863:9;1859:18;1846:32;1897:18;1938:2;1930:6;1927:14;1924:34;;;1954:1;1951;1944:12;1924:34;1992:6;1981:9;1977:22;1967:32;;2037:7;2030:4;2026:2;2022:13;2018:27;2008:55;;2059:1;2056;2049:12;2008:55;2083:84;2099:67;2162:2;2149:16;2099:67;:::i;:::-;2083:84;:::i;:::-;2213:16;;2201:29;;;2255:2;2246:12;;;;2189:3;2297:1;2293:24;2285:33;;2281:42;2335:19;;;2332:39;;;2367:1;2364;2357:12;2332:39;2399:2;2395;2391:11;2411:879;2427:6;2422:3;2419:15;2411:879;;;2506:2;2500:3;2487:17;2484:25;2481:45;;;2522:1;2519;2512:12;2481:45;2570:3;2557:17;2553:2;2549:26;2615:7;2610:2;2606;2602:11;2598:25;2588:53;;2637:1;2634;2627:12;2588:53;2685:2;2681;2677:11;2664:25;2715:70;2731:53;2781:2;2731:53;:::i;2715:70::-;2829:17;;;2927:1;2923:10;;;;2915:19;;2936:2;2911:28;;2879:2;2868:14;;;2955:21;;;2952:41;;;2989:1;2986;2979:12;2952:41;3027:2;3023;3019:11;3006:24;;3043:174;3061:8;3054:5;3051:19;3043:174;;;3143:19;;3129:34;;3200:2;3082:14;;;;3189;;;;3043:174;;;3230:18;;-1:-1:-1;;3277:2:282;3268:12;;;;2444;;;;;-1:-1:-1;2411:879:282;;;2415:3;;3309:5;3299:15;;;;;;1264:2056;;;;;;;:::o;3325:435::-;3378:3;3416:5;3410:12;3443:6;3438:3;3431:19;3469:4;3498:2;3493:3;3489:12;3482:19;;3535:2;3528:5;3524:14;3556:1;3566:169;3580:6;3577:1;3574:13;3566:169;;;3641:13;;3629:26;;3675:12;;;;3710:15;;;;3602:1;3595:9;3566:169;;;-1:-1:-1;3751:3:282;;3325:435;-1:-1:-1;;;;;3325:435:282:o;3765:465::-;4022:2;4011:9;4004:21;3985:4;4048:56;4100:2;4089:9;4085:18;4077:6;4048:56;:::i;:::-;4152:9;4144:6;4140:22;4135:2;4124:9;4120:18;4113:50;4180:44;4217:6;4209;4180:44;:::i;4235:422::-;4276:3;4314:5;4308:12;4341:6;4336:3;4329:19;4366:1;4376:162;4390:6;4387:1;4384:13;4376:162;;;4452:4;4508:13;;;4504:22;;4498:29;4480:11;;;4476:20;;4469:59;4405:12;4376:162;;;4380:3;4583:1;4576:4;4567:6;4562:3;4558:16;4554:27;4547:38;4646:4;4639:2;4635:7;4630:2;4622:6;4618:15;4614:29;4609:3;4605:39;4601:50;4594:57;;;4235:422;;;;:::o;4662:217::-;4809:2;4798:9;4791:21;4772:4;4829:44;4869:2;4858:9;4854:18;4846:6;4829:44;:::i;4884:127::-;4945:10;4940:3;4936:20;4933:1;4926:31;4976:4;4973:1;4966:15;5000:4;4997:1;4990:15;5315:127;5376:10;5371:3;5367:20;5364:1;5357:31;5407:4;5404:1;5397:15;5431:4;5428:1;5421:15;5447:543;5665:13;;5608:3;;5639;;5718:4;5745:15;;;5608:3;5788:175;5802:6;5799:1;5796:13;5788:175;;;5865:13;;5851:28;;5901:14;;;;5938:15;;;;5824:1;5817:9;5788:175;;;-1:-1:-1;5979:5:282;;5447:543;-1:-1:-1;;;;;;5447:543:282:o;5995:127::-;6056:10;6051:3;6047:20;6044:1;6037:31;6087:4;6084:1;6077:15;6111:4;6108:1;6101:15;6127:367;6369:6;6358:9;6351:25;6412:2;6407;6396:9;6392:18;6385:30;6332:4;6432:56;6484:2;6473:9;6469:18;6461:6;6432:56;:::i;6499:891::-;6594:6;6625:2;6668;6656:9;6647:7;6643:23;6639:32;6636:52;;;6684:1;6681;6674:12;6636:52;6717:9;6711:16;6750:18;6742:6;6739:30;6736:50;;;6782:1;6779;6772:12;6736:50;6805:22;;6858:4;6850:13;;6846:27;-1:-1:-1;6836:55:282;;6887:1;6884;6877:12;6836:55;6916:2;6910:9;6939:70;6955:53;7005:2;6955:53;:::i;6939:70::-;7043:15;;;7125:1;7121:10;;;;7113:19;;7109:28;;;7074:12;;;;7149:19;;;7146:39;;;7181:1;7178;7171:12;7146:39;7205:11;;;;7225:135;7241:6;7236:3;7233:15;7225:135;;;7307:10;;7295:23;;7258:12;;;;7338;;;;7225:135;;7648:127;7709:10;7704:3;7700:20;7697:1;7690:31;7740:4;7737:1;7730:15;7764:4;7761:1;7754:15;7780:135;7819:3;7840:17;;;7837:43;;7860:18;;:::i;:::-;-1:-1:-1;7907:1:282;7896:13;;7780:135::o;8218:184::-;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;-1:-1:-1;8380:16:282;;8218:184;-1:-1:-1;8218:184:282:o;8686:832::-;8954:2;8966:21;;;9036:13;;8939:18;;;9058:22;;;8906:4;;9133;;9111:2;9096:18;;;9160:15;;;8906:4;9203:195;9217:6;9214:1;9211:13;9203:195;;;9282:13;;-1:-1:-1;;;;;9278:39:282;9266:52;;9338:12;;;;9373:15;;;;9314:1;9232:9;9203:195;;;9207:3;;;9443:9;9438:3;9434:19;9429:2;9418:9;9414:18;9407:47;9471:41;9508:3;9500:6;9471:41;:::i;9913:272::-;9983:6;10036:2;10024:9;10015:7;10011:23;10007:32;10004:52;;;10052:1;10049;10042:12;10004:52;10084:9;10078:16;10103:52;10149:5;10103:52;:::i;10190:125::-;10255:9;;;10276:10;;;10273:36;;;10289:18;;:::i;10320:120::-;10360:1;10386;10376:35;;10391:18;;:::i;:::-;-1:-1:-1;10425:9:282;;10320:120::o;10445:422::-;10534:1;10577:5;10534:1;10591:270;10612:7;10602:8;10599:21;10591:270;;;10671:4;10667:1;10663:6;10659:17;10653:4;10650:27;10647:53;;;10680:18;;:::i;:::-;10730:7;10720:8;10716:22;10713:55;;;10750:16;;;;10713:55;10829:22;;;;10789:15;;;;10591:270;;;10595:3;10445:422;;;;;:::o;10872:806::-;10921:5;10951:8;10941:80;;-1:-1:-1;10992:1:282;11006:5;;10941:80;11040:4;11030:76;;-1:-1:-1;11077:1:282;11091:5;;11030:76;11122:4;11140:1;11135:59;;;;11208:1;11203:130;;;;11115:218;;11135:59;11165:1;11156:10;;11179:5;;;11203:130;11240:3;11230:8;11227:17;11224:43;;;11247:18;;:::i;:::-;-1:-1:-1;;11303:1:282;11289:16;;11318:5;;11115:218;;11417:2;11407:8;11404:16;11398:3;11392:4;11389:13;11385:36;11379:2;11369:8;11366:16;11361:2;11355:4;11352:12;11348:35;11345:77;11342:159;;;-1:-1:-1;11454:19:282;;;11486:5;;11342:159;11533:34;11558:8;11552:4;11533:34;:::i;:::-;11603:6;11599:1;11595:6;11591:19;11582:7;11579:32;11576:58;;;11614:18;;:::i;:::-;11652:20;;10872:806;-1:-1:-1;;;10872:806:282:o;11683:131::-;11743:5;11772:36;11799:8;11793:4;11772:36;:::i;11819:112::-;11851:1;11877;11867:35;;11882:18;;:::i;:::-;-1:-1:-1;11916:9:282;;11819:112::o;11936:168::-;12009:9;;;12040;;12057:15;;;12051:22;;12037:37;12027:71;;12078:18;;:::i;12109:128::-;12176:9;;;12197:11;;;12194:37;;;12211:18;;:::i;12622:276::-;12708:6;12761:2;12749:9;12740:7;12736:23;12732:32;12729:52;;;12777:1;12774;12767:12;12729:52;12809:9;12803:16;12848:1;12841:5;12838:12;12828:40;;12864:1;12861;12854:12;13341:358;-1:-1:-1;;;;;13548:32:282;;13530:51;;13617:2;13612;13597:18;;13590:30;;;-1:-1:-1;;13637:56:282;;13674:18;;13666:6;13637:56;:::i;13704:429::-;13968:1;13964;13959:3;13955:11;13951:19;13943:6;13939:32;13928:9;13921:51;14008:6;14003:2;13992:9;13988:18;13981:34;14051:2;14046;14035:9;14031:18;14024:30;13902:4;14071:56;14123:2;14112:9;14108:18;14100:6;14071:56;:::i;14138:179::-;14216:13;;14269:22;14258:34;;14248:45;;14238:73;;14307:1;14304;14297:12;14322:473;14425:6;14433;14441;14449;14457;14510:3;14498:9;14489:7;14485:23;14481:33;14478:53;;;14527:1;14524;14517:12;14478:53;14550:39;14579:9;14550:39;:::i;:::-;14540:49;;14629:2;14618:9;14614:18;14608:25;14598:35;;14673:2;14662:9;14658:18;14652:25;14642:35;;14717:2;14706:9;14702:18;14696:25;14686:35;;14740:49;14784:3;14773:9;14769:19;14740:49;:::i;:::-;14730:59;;14322:473;;;;;;;;:::o;14980:273::-;15048:6;15101:2;15089:9;15080:7;15076:23;15072:32;15069:52;;;15117:1;15114;15107:12;15069:52;15149:9;15143:16;15199:4;15192:5;15188:16;15181:5;15178:27;15168:55;;15219:1;15216;15209:12;15258:140;15316:5;15345:47;15386:4;15376:8;15372:19;15366:4;15345:47;:::i;15925:331::-;16127:2;16109:21;;;16166:1;16146:18;;;16139:29;-1:-1:-1;;;16199:2:282;16184:18;;16177:38;16247:2;16232:18;;15925:331::o;17170:127::-;17231:10;17226:3;17222:20;17219:1;17212:31;17262:4;17259:1;17252:15;17286:4;17283:1;17276:15", - "linkReferences": {} - }, - "methodIdentifiers": { - "eval(address,uint256,uint256,uint256[][])": "6715f825", - "functionPointers()": "f933c72f", - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"BadExternResultsLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"MemoryKVPtr\",\"name\":\"ptr\",\"type\":\"uint256\"}],\"name\":\"InvalidPtr\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"}],\"name\":\"NotPosIntPrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Ceil_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp2_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"UD60x18\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Gm_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Log_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Sqrt_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReadError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"staleAfter\",\"type\":\"uint256\"}],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualLength\",\"type\":\"uint256\"}],\"name\":\"UnexpectedResultLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store_\",\"type\":\"address\"},{\"internalType\":\"StateNamespace\",\"name\":\"namespace_\",\"type\":\"uint256\"},{\"internalType\":\"EncodedDispatch\",\"name\":\"dispatch_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[][]\",\"name\":\"context_\",\"type\":\"uint256[][]\"}],\"name\":\"eval\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"functionPointers\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"BadExternResultsLength(uint256,uint256)\":[{\"params\":{\"actual\":\"The length that was returned from the extern.\",\"expected\":\"The length we expected based on the operand.\"}}],\"NotPosIntPrice(int256)\":[{\"params\":{\"price\":\"The price that is not a positive integer.\"}}],\"StalePrice(uint256,uint256)\":[{\"params\":{\"staleAfter\":\"The maximum number of seconds the caller allows between the block timestamp and the updated time.\",\"updatedAt\":\"The latest time the oracle was updated according to the oracle.\"}}]},\"kind\":\"dev\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"params\":{\"context\":\"A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.\",\"dispatch\":\"All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.\",\"namespace\":\"The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.\",\"store\":\"The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`.\"},\"returns\":{\"_0\":\"The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.\",\"_1\":\"A list of pairwise key/value items to be saved in the store.\"}}},\"title\":\"Rainterpreter\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"BadExternResultsLength(uint256,uint256)\":[{\"notice\":\"Thrown when the length of results from an extern don't match what the operand defines. This is bad because it implies our integrity check miscalculated the stack which is undefined behaviour.\"}],\"InvalidPtr(uint256)\":[{\"notice\":\"Thrown when attempting to read a value from the other side of a zero pointer.\"}],\"NotPosIntPrice(int256)\":[{\"notice\":\"Thrown if a price is zero or negative as this is probably not anticipated or useful for most users of a price feed. Of course there are use cases where zero or negative _oracle values_ in general are useful, such as negative temperatures from a thermometer, but these are unlikely to be useful _prices_ for assets. Zero value prices are likely to result in division by zero downstream or giving away assets for free, negative price values could result in even weirder behaviour due to token amounts being `uint256` and the subtleties of signed vs. unsigned integer conversions.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in the fixed-point version of `mulDiv` would overflow uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in `mulDiv` would overflow uint256.\"}],\"PRBMath_UD60x18_Ceil_Overflow(uint256)\":[{\"notice\":\"Emitted when ceiling a number overflows UD60x18.\"}],\"PRBMath_UD60x18_Exp2_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the binary exponent of a base greater than 192.\"}],\"PRBMath_UD60x18_Exp_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the natural exponent of a base greater than 133.084258667509499441.\"}],\"PRBMath_UD60x18_Gm_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when taking the geometric mean of two numbers and multiplying them overflows UD60x18.\"}],\"PRBMath_UD60x18_Log_InputTooSmall(uint256)\":[{\"notice\":\"Emitted when taking the logarithm of a number less than 1.\"}],\"PRBMath_UD60x18_Sqrt_Overflow(uint256)\":[{\"notice\":\"Emitted when calculating the square root overflows UD60x18.\"}],\"ReadError()\":[{\"notice\":\"Thrown if reading a zero length address.\"}],\"StalePrice(uint256,uint256)\":[{\"notice\":\"Thrown when the updatedAt time from the Chainlink oracle is more than staleAfter seconds prior to the current block timestamp. Prevents stale prices from being used within the constraints set by the caller.\"}],\"UnexpectedResultLength(uint256,uint256)\":[{\"notice\":\"Thrown when the length of an array as the result of an applied function does not match expectations.\"}]},\"kind\":\"user\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"notice\":\"The raison d'etre for an interpreter. Given some expression and per-call additional contextual data, produce a stack of results and a set of state changes that the caller MAY OPTIONALLY pass back to be persisted by a call to `IInterpreterStoreV1.set`.\"},\"functionPointers()\":{\"notice\":\"Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \\\"compile\\\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction.\"}},\"notice\":\"Minimal binding of the `IIinterpreterV1` interface to the `LibInterpreterState` library, including every opcode in `AllStandardOps`. This is the default implementation of \\\"an interpreter\\\" but is designed such that other interpreters can easily be developed alongside. Alterpreters can either be built by inheriting and overriding the functions on this contract, or using the relevant libraries to construct an alternative binding to the same interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interpreter/shared/Rainterpreter.sol\":\"Rainterpreter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/\",\":rain.cooldown/=lib/rain.cooldown/src/\",\":rain.math.saturating/=lib/rain.math.saturating/src/\",\":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"contracts/array/LibUint256Array.sol\":{\"keccak256\":\"0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426\",\"dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe\"]},\"contracts/chainlink/LibChainlink.sol\":{\"keccak256\":\"0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9\",\"dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm\"]},\"contracts/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9\",\"dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck\"]},\"contracts/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff\",\"dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh\"]},\"contracts/ierc5313/IERC5313.sol\":{\"keccak256\":\"0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61\",\"dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe\"]},\"contracts/interpreter/caller/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125\",\"dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC\"]},\"contracts/interpreter/deploy/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc\",\"dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw\"]},\"contracts/interpreter/deploy/LibIntegrityCheck.sol\":{\"keccak256\":\"0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a\",\"dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6\"]},\"contracts/interpreter/extern/IInterpreterExternV1.sol\":{\"keccak256\":\"0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99\",\"dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k\"]},\"contracts/interpreter/extern/LibExtern.sol\":{\"keccak256\":\"0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60\",\"dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg\"]},\"contracts/interpreter/ops/AllStandardOps.sol\":{\"keccak256\":\"0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010\",\"dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE\"]},\"contracts/interpreter/ops/bytes32/OpDecode256.sol\":{\"keccak256\":\"0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e\",\"dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b\"]},\"contracts/interpreter/ops/bytes32/OpEncode256.sol\":{\"keccak256\":\"0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54\",\"dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR\"]},\"contracts/interpreter/ops/bytes32/OpExplode32.sol\":{\"keccak256\":\"0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf\",\"dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF\"]},\"contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol\":{\"keccak256\":\"0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d\",\"dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb\"]},\"contracts/interpreter/ops/context/OpContext.sol\":{\"keccak256\":\"0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b\",\"dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ\"]},\"contracts/interpreter/ops/context/OpContextColumnHash.sol\":{\"keccak256\":\"0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda\",\"dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb\"]},\"contracts/interpreter/ops/context/OpContextRow.sol\":{\"keccak256\":\"0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93\",\"dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr\"]},\"contracts/interpreter/ops/context/OpFoldContext.sol\":{\"keccak256\":\"0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050\",\"dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE\"]},\"contracts/interpreter/ops/core/OpCall.sol\":{\"keccak256\":\"0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326\",\"dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj\"]},\"contracts/interpreter/ops/core/OpDebug.sol\":{\"keccak256\":\"0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7\",\"dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp\"]},\"contracts/interpreter/ops/core/OpDoWhile.sol\":{\"keccak256\":\"0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac\",\"dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN\"]},\"contracts/interpreter/ops/core/OpExtern.sol\":{\"keccak256\":\"0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21\",\"dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA\"]},\"contracts/interpreter/ops/core/OpLoopN.sol\":{\"keccak256\":\"0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98\",\"dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g\"]},\"contracts/interpreter/ops/core/OpReadMemory.sol\":{\"keccak256\":\"0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1\",\"dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu\"]},\"contracts/interpreter/ops/crypto/OpHash.sol\":{\"keccak256\":\"0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c\",\"dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol\":{\"keccak256\":\"0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f\",\"dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol\":{\"keccak256\":\"0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943\",\"dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL\"]},\"contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol\":{\"keccak256\":\"0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17\",\"dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj\"]},\"contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol\":{\"keccak256\":\"0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa\",\"dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol\":{\"keccak256\":\"0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6\",\"dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol\":{\"keccak256\":\"0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d\",\"dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU\"]},\"contracts/interpreter/ops/erc5313/OpERC5313Owner.sol\":{\"keccak256\":\"0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d\",\"dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5\"]},\"contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol\":{\"keccak256\":\"0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726\",\"dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw\"]},\"contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol\":{\"keccak256\":\"0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a\",\"dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc\"]},\"contracts/interpreter/ops/error/OpEnsure.sol\":{\"keccak256\":\"0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123\",\"dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL\"]},\"contracts/interpreter/ops/evm/OpBlockNumber.sol\":{\"keccak256\":\"0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166\",\"dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw\"]},\"contracts/interpreter/ops/evm/OpTimestamp.sol\":{\"keccak256\":\"0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3\",\"dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA\"]},\"contracts/interpreter/ops/math/OpAdd.sol\":{\"keccak256\":\"0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722\",\"dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY\"]},\"contracts/interpreter/ops/math/OpDiv.sol\":{\"keccak256\":\"0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df\",\"dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM\"]},\"contracts/interpreter/ops/math/OpExp.sol\":{\"keccak256\":\"0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3\",\"dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW\"]},\"contracts/interpreter/ops/math/OpMax.sol\":{\"keccak256\":\"0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df\",\"dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8\"]},\"contracts/interpreter/ops/math/OpMin.sol\":{\"keccak256\":\"0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455\",\"dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM\"]},\"contracts/interpreter/ops/math/OpMod.sol\":{\"keccak256\":\"0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42\",\"dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V\"]},\"contracts/interpreter/ops/math/OpMul.sol\":{\"keccak256\":\"0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8\",\"dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R\"]},\"contracts/interpreter/ops/math/OpSub.sol\":{\"keccak256\":\"0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1\",\"dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol\":{\"keccak256\":\"0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc\",\"dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol\":{\"keccak256\":\"0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777\",\"dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol\":{\"keccak256\":\"0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937\",\"dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol\":{\"keccak256\":\"0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528\",\"dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol\":{\"keccak256\":\"0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049\",\"dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol\":{\"keccak256\":\"0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa\",\"dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92\"]},\"contracts/interpreter/ops/math/logic/OpAny.sol\":{\"keccak256\":\"0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759\",\"dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV\"]},\"contracts/interpreter/ops/math/logic/OpEagerIf.sol\":{\"keccak256\":\"0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded\",\"dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs\"]},\"contracts/interpreter/ops/math/logic/OpEqualTo.sol\":{\"keccak256\":\"0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574\",\"dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo\"]},\"contracts/interpreter/ops/math/logic/OpEvery.sol\":{\"keccak256\":\"0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63\",\"dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4\"]},\"contracts/interpreter/ops/math/logic/OpGreaterThan.sol\":{\"keccak256\":\"0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005\",\"dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy\"]},\"contracts/interpreter/ops/math/logic/OpIsZero.sol\":{\"keccak256\":\"0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3\",\"dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV\"]},\"contracts/interpreter/ops/math/logic/OpLessThan.sol\":{\"keccak256\":\"0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c\",\"dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP\"]},\"contracts/interpreter/ops/math/prb/OpPRBAvg.sol\":{\"keccak256\":\"0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06\",\"dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp\"]},\"contracts/interpreter/ops/math/prb/OpPRBCeil.sol\":{\"keccak256\":\"0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01\",\"dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD\"]},\"contracts/interpreter/ops/math/prb/OpPRBDiv.sol\":{\"keccak256\":\"0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f\",\"dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp.sol\":{\"keccak256\":\"0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c\",\"dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp2.sol\":{\"keccak256\":\"0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a\",\"dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj\"]},\"contracts/interpreter/ops/math/prb/OpPRBFloor.sol\":{\"keccak256\":\"0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b\",\"dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM\"]},\"contracts/interpreter/ops/math/prb/OpPRBFrac.sol\":{\"keccak256\":\"0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d\",\"dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei\"]},\"contracts/interpreter/ops/math/prb/OpPRBGm.sol\":{\"keccak256\":\"0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e\",\"dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD\"]},\"contracts/interpreter/ops/math/prb/OpPRBInv.sol\":{\"keccak256\":\"0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd\",\"dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d\"]},\"contracts/interpreter/ops/math/prb/OpPRBLn.sol\":{\"keccak256\":\"0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f\",\"dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog10.sol\":{\"keccak256\":\"0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5\",\"dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog2.sol\":{\"keccak256\":\"0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334\",\"dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK\"]},\"contracts/interpreter/ops/math/prb/OpPRBMul.sol\":{\"keccak256\":\"0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79\",\"dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk\"]},\"contracts/interpreter/ops/math/prb/OpPRBPow.sol\":{\"keccak256\":\"0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041\",\"dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P\"]},\"contracts/interpreter/ops/math/prb/OpPRBPowu.sol\":{\"keccak256\":\"0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae\",\"dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb\"]},\"contracts/interpreter/ops/math/prb/OpPRBSqrt.sol\":{\"keccak256\":\"0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538\",\"dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol\":{\"keccak256\":\"0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e\",\"dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol\":{\"keccak256\":\"0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4\",\"dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol\":{\"keccak256\":\"0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c\",\"dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju\"]},\"contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol\":{\"keccak256\":\"0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5\",\"dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol\":{\"keccak256\":\"0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8\",\"dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol\":{\"keccak256\":\"0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8\",\"dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol\":{\"keccak256\":\"0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745\",\"dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol\":{\"keccak256\":\"0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077\",\"dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol\":{\"keccak256\":\"0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3\",\"dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj\"]},\"contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol\":{\"keccak256\":\"0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628\",\"dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW\"]},\"contracts/interpreter/ops/store/OpGet.sol\":{\"keccak256\":\"0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34\",\"dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr\"]},\"contracts/interpreter/ops/store/OpSet.sol\":{\"keccak256\":\"0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489\",\"dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2\"]},\"contracts/interpreter/ops/tier/OpITierV2Report.sol\":{\"keccak256\":\"0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7\",\"dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV\"]},\"contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol\":{\"keccak256\":\"0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9\",\"dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP\"]},\"contracts/interpreter/ops/tier/OpSaturatingDiff.sol\":{\"keccak256\":\"0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463\",\"dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6\"]},\"contracts/interpreter/ops/tier/OpSelectLte.sol\":{\"keccak256\":\"0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026\",\"dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu\"]},\"contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol\":{\"keccak256\":\"0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de\",\"dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy\"]},\"contracts/interpreter/run/IInterpreterV1.sol\":{\"keccak256\":\"0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20\",\"dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY\"]},\"contracts/interpreter/run/LibEncodedDispatch.sol\":{\"keccak256\":\"0xa485b66df77a6f11fb91b4a1cc4f8527384f9fa91fa9f6b4e228a9dc7c5c3744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5e908e90d9f95e1be126c81591069873f92c58d9f7f3fbb8df09290145b2aca5\",\"dweb:/ipfs/QmdQg7mhuWeb9ttq4GEgnfuWaU9K7cVoGJYfZK1NL49Pxy\"]},\"contracts/interpreter/run/LibEvaluable.sol\":{\"keccak256\":\"0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e\",\"dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT\"]},\"contracts/interpreter/run/LibInterpreterState.sol\":{\"keccak256\":\"0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72\",\"dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq\"]},\"contracts/interpreter/run/LibStackPointer.sol\":{\"keccak256\":\"0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e\",\"dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L\"]},\"contracts/interpreter/shared/Rainterpreter.sol\":{\"keccak256\":\"0x73cc4e5cc7b51a4e475e839bb1dd61dbcd43a5e8dd82a08d66c5c3ef8099b1df\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1c1cc6be8afff5f4135853ab9a0fee3d71f41dd75e9889e5c2e477b5b17ca4e0\",\"dweb:/ipfs/QmRYeNTcV4b1kMMrPPfTgbm8QXYsEYJVQYmA2vwcGtLG5S\"]},\"contracts/interpreter/store/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462\",\"dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1\"]},\"contracts/kv/LibMemoryKV.sol\":{\"keccak256\":\"0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7\",\"dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny\"]},\"contracts/math/LibFixedPointMath.sol\":{\"keccak256\":\"0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2\",\"dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4\"]},\"contracts/memory/LibMemorySize.sol\":{\"keccak256\":\"0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451\",\"dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA\"]},\"contracts/orderbook/IOrderBookV1.sol\":{\"keccak256\":\"0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590\",\"dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB\"]},\"contracts/sale/ISaleV2.sol\":{\"keccak256\":\"0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83\",\"dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF\"]},\"contracts/tier/ITierV2.sol\":{\"keccak256\":\"0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c\",\"dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3\"]},\"contracts/tier/libraries/TierConstants.sol\":{\"keccak256\":\"0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2\",\"dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb\"]},\"contracts/tier/libraries/TierReport.sol\":{\"keccak256\":\"0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67\",\"dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt\"]},\"contracts/tier/libraries/TierwiseCombine.sol\":{\"keccak256\":\"0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6\",\"dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK\"]},\"contracts/type/LibCast.sol\":{\"keccak256\":\"0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe\",\"dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo\"]},\"contracts/type/LibConvert.sol\":{\"keccak256\":\"0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75\",\"dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu\"]},\"contracts/verify/IVerifyV1.sol\":{\"keccak256\":\"0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1\",\"dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD\"]},\"lib/rain.math.saturating/src/SaturatingMath.sol\":{\"keccak256\":\"0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b\",\"dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw\"]},\"lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6\",\"dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc\"]},\"lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol\":{\"keccak256\":\"0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8\",\"dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5\"]},\"lib/sol.lib.datacontract/src/LibDataContract.sol\":{\"keccak256\":\"0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a\",\"dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1\"]},\"node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol\":{\"keccak256\":\"0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2\",\"dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093\",\"dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2\",\"dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f\",\"dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195\",\"dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a\",\"dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3\",\"dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol\":{\"keccak256\":\"0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c\",\"dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9\",\"dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade\",\"dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea\",\"dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e\",\"dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416\",\"dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8\",\"dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc\",\"dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537\",\"dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78\",\"dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12\",\"dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35\",\"dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1\",\"dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933\",\"dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70\",\"dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08\",\"dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62\",\"dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d\",\"dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac\",\"dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38\",\"dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3\",\"dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0\",\"dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw\"]},\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d\",\"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.18+commit.87f61d96" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "type": "error", - "name": "BadDynamicLength" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actual", - "type": "uint256" - } - ], - "type": "error", - "name": "BadExternResultsLength" - }, - { - "inputs": [ - { - "internalType": "MemoryKVPtr", - "name": "ptr", - "type": "uint256" - } - ], - "type": "error", - "name": "InvalidPtr" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "price", - "type": "int256" - } - ], - "type": "error", - "name": "NotPosIntPrice" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_MulDiv18_Overflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_MulDiv_Overflow" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Ceil_Overflow" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Exp2_InputTooBig" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Exp_InputTooBig" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - }, - { - "internalType": "UD60x18", - "name": "y", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Gm_Overflow" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Log_InputTooSmall" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Sqrt_Overflow" - }, - { - "inputs": [], - "type": "error", - "name": "ReadError" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "staleAfter", - "type": "uint256" - } - ], - "type": "error", - "name": "StalePrice" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualLength", - "type": "uint256" - } - ], - "type": "error", - "name": "UnexpectedResultLength" - }, - { - "inputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "store_", - "type": "address" - }, - { - "internalType": "StateNamespace", - "name": "namespace_", - "type": "uint256" - }, - { - "internalType": "EncodedDispatch", - "name": "dispatch_", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "context_", - "type": "uint256[][]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "eval", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "functionPointers", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "eval(address,uint256,uint256,uint256[][])": { - "params": { - "context": "A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.", - "dispatch": "All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.", - "namespace": "The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.", - "store": "The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`." - }, - "returns": { - "_0": "The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.", - "_1": "A list of pairwise key/value items to be saved in the store." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "eval(address,uint256,uint256,uint256[][])": { - "notice": "The raison d'etre for an interpreter. Given some expression and per-call additional contextual data, produce a stack of results and a set of state changes that the caller MAY OPTIONALLY pass back to be persisted by a call to `IInterpreterStoreV1.set`." - }, - "functionPointers()": { - "notice": "Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \"compile\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@chainlink/=node_modules/@chainlink/", - ":@eth-optimism/=node_modules/@eth-optimism/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@prb/=node_modules/@prb/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":eth-gas-reporter/=node_modules/eth-gas-reporter/", - ":forge-std/=lib/forge-std/src/", - ":hardhat/=node_modules/hardhat/", - ":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/", - ":rain.cooldown/=lib/rain.cooldown/src/", - ":rain.math.saturating/=lib/rain.math.saturating/src/", - ":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/", - ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", - ":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/", - ":sol.metadata/=lib/sol.metadata/src/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "contracts/interpreter/shared/Rainterpreter.sol": "Rainterpreter" - }, - "libraries": {} - }, - "sources": { - "contracts/array/LibUint256Array.sol": { - "keccak256": "0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84", - "urls": [ - "bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426", - "dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe" - ], - "license": "CAL" - }, - "contracts/chainlink/LibChainlink.sol": { - "keccak256": "0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b", - "urls": [ - "bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9", - "dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm" - ], - "license": "CAL" - }, - "contracts/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e", - "urls": [ - "bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9", - "dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck" - ], - "license": "CC0" - }, - "contracts/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a", - "urls": [ - "bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff", - "dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh" - ], - "license": "CC0" - }, - "contracts/ierc5313/IERC5313.sol": { - "keccak256": "0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d", - "urls": [ - "bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61", - "dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe" - ], - "license": "CC0-1.0" - }, - "contracts/interpreter/caller/IInterpreterCallerV1.sol": { - "keccak256": "0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece", - "urls": [ - "bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125", - "dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC" - ], - "license": "CAL" - }, - "contracts/interpreter/deploy/IExpressionDeployerV1.sol": { - "keccak256": "0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0", - "urls": [ - "bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc", - "dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw" - ], - "license": "CAL" - }, - "contracts/interpreter/deploy/LibIntegrityCheck.sol": { - "keccak256": "0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad", - "urls": [ - "bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a", - "dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6" - ], - "license": "CAL" - }, - "contracts/interpreter/extern/IInterpreterExternV1.sol": { - "keccak256": "0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90", - "urls": [ - "bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99", - "dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k" - ], - "license": "CAL" - }, - "contracts/interpreter/extern/LibExtern.sol": { - "keccak256": "0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c", - "urls": [ - "bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60", - "dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/AllStandardOps.sol": { - "keccak256": "0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37", - "urls": [ - "bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010", - "dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/bytes32/OpDecode256.sol": { - "keccak256": "0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491", - "urls": [ - "bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e", - "dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/bytes32/OpEncode256.sol": { - "keccak256": "0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb", - "urls": [ - "bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54", - "dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/bytes32/OpExplode32.sol": { - "keccak256": "0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe", - "urls": [ - "bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf", - "dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol": { - "keccak256": "0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c", - "urls": [ - "bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d", - "dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpContext.sol": { - "keccak256": "0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf", - "urls": [ - "bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b", - "dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpContextColumnHash.sol": { - "keccak256": "0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71", - "urls": [ - "bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda", - "dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpContextRow.sol": { - "keccak256": "0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513", - "urls": [ - "bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93", - "dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpFoldContext.sol": { - "keccak256": "0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01", - "urls": [ - "bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050", - "dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpCall.sol": { - "keccak256": "0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76", - "urls": [ - "bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326", - "dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpDebug.sol": { - "keccak256": "0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b", - "urls": [ - "bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7", - "dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpDoWhile.sol": { - "keccak256": "0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb", - "urls": [ - "bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac", - "dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpExtern.sol": { - "keccak256": "0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3", - "urls": [ - "bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21", - "dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpLoopN.sol": { - "keccak256": "0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881", - "urls": [ - "bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98", - "dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpReadMemory.sol": { - "keccak256": "0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9", - "urls": [ - "bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1", - "dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/crypto/OpHash.sol": { - "keccak256": "0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f", - "urls": [ - "bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c", - "dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol": { - "keccak256": "0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb", - "urls": [ - "bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f", - "dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol": { - "keccak256": "0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6", - "urls": [ - "bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943", - "dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol": { - "keccak256": "0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79", - "urls": [ - "bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17", - "dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol": { - "keccak256": "0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7", - "urls": [ - "bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa", - "dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol": { - "keccak256": "0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3", - "urls": [ - "bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6", - "dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol": { - "keccak256": "0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611", - "urls": [ - "bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d", - "dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc5313/OpERC5313Owner.sol": { - "keccak256": "0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7", - "urls": [ - "bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d", - "dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol": { - "keccak256": "0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27", - "urls": [ - "bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726", - "dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol": { - "keccak256": "0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003", - "urls": [ - "bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a", - "dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/error/OpEnsure.sol": { - "keccak256": "0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f", - "urls": [ - "bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123", - "dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/evm/OpBlockNumber.sol": { - "keccak256": "0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367", - "urls": [ - "bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166", - "dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/evm/OpTimestamp.sol": { - "keccak256": "0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d", - "urls": [ - "bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3", - "dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpAdd.sol": { - "keccak256": "0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b", - "urls": [ - "bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722", - "dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpDiv.sol": { - "keccak256": "0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d", - "urls": [ - "bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df", - "dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpExp.sol": { - "keccak256": "0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26", - "urls": [ - "bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3", - "dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMax.sol": { - "keccak256": "0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17", - "urls": [ - "bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df", - "dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMin.sol": { - "keccak256": "0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e", - "urls": [ - "bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455", - "dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMod.sol": { - "keccak256": "0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d", - "urls": [ - "bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42", - "dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMul.sol": { - "keccak256": "0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92", - "urls": [ - "bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8", - "dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpSub.sol": { - "keccak256": "0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc", - "urls": [ - "bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1", - "dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol": { - "keccak256": "0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9", - "urls": [ - "bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc", - "dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol": { - "keccak256": "0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5", - "urls": [ - "bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777", - "dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol": { - "keccak256": "0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b", - "urls": [ - "bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937", - "dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol": { - "keccak256": "0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4", - "urls": [ - "bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528", - "dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol": { - "keccak256": "0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9", - "urls": [ - "bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049", - "dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol": { - "keccak256": "0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad", - "urls": [ - "bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa", - "dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpAny.sol": { - "keccak256": "0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b", - "urls": [ - "bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759", - "dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpEagerIf.sol": { - "keccak256": "0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf", - "urls": [ - "bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded", - "dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpEqualTo.sol": { - "keccak256": "0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea", - "urls": [ - "bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574", - "dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpEvery.sol": { - "keccak256": "0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e", - "urls": [ - "bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63", - "dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpGreaterThan.sol": { - "keccak256": "0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd", - "urls": [ - "bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005", - "dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpIsZero.sol": { - "keccak256": "0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318", - "urls": [ - "bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3", - "dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpLessThan.sol": { - "keccak256": "0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36", - "urls": [ - "bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c", - "dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBAvg.sol": { - "keccak256": "0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf", - "urls": [ - "bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06", - "dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBCeil.sol": { - "keccak256": "0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002", - "urls": [ - "bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01", - "dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBDiv.sol": { - "keccak256": "0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9", - "urls": [ - "bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f", - "dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBExp.sol": { - "keccak256": "0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483", - "urls": [ - "bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c", - "dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBExp2.sol": { - "keccak256": "0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3", - "urls": [ - "bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a", - "dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBFloor.sol": { - "keccak256": "0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd", - "urls": [ - "bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b", - "dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBFrac.sol": { - "keccak256": "0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f", - "urls": [ - "bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d", - "dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBGm.sol": { - "keccak256": "0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3", - "urls": [ - "bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e", - "dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBInv.sol": { - "keccak256": "0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5", - "urls": [ - "bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd", - "dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBLn.sol": { - "keccak256": "0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc", - "urls": [ - "bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f", - "dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBLog10.sol": { - "keccak256": "0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6", - "urls": [ - "bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5", - "dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBLog2.sol": { - "keccak256": "0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8", - "urls": [ - "bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334", - "dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBMul.sol": { - "keccak256": "0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9", - "urls": [ - "bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79", - "dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBPow.sol": { - "keccak256": "0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13", - "urls": [ - "bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041", - "dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBPowu.sol": { - "keccak256": "0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978", - "urls": [ - "bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae", - "dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBSqrt.sol": { - "keccak256": "0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62", - "urls": [ - "bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538", - "dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol": { - "keccak256": "0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3", - "urls": [ - "bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e", - "dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol": { - "keccak256": "0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d", - "urls": [ - "bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4", - "dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol": { - "keccak256": "0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13", - "urls": [ - "bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c", - "dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol": { - "keccak256": "0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220", - "urls": [ - "bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5", - "dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol": { - "keccak256": "0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8", - "urls": [ - "bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8", - "dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol": { - "keccak256": "0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5", - "urls": [ - "bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8", - "dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol": { - "keccak256": "0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b", - "urls": [ - "bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745", - "dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol": { - "keccak256": "0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990", - "urls": [ - "bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077", - "dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol": { - "keccak256": "0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590", - "urls": [ - "bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3", - "dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol": { - "keccak256": "0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718", - "urls": [ - "bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628", - "dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/store/OpGet.sol": { - "keccak256": "0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01", - "urls": [ - "bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34", - "dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/store/OpSet.sol": { - "keccak256": "0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c", - "urls": [ - "bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489", - "dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpITierV2Report.sol": { - "keccak256": "0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef", - "urls": [ - "bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7", - "dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol": { - "keccak256": "0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6", - "urls": [ - "bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9", - "dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpSaturatingDiff.sol": { - "keccak256": "0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0", - "urls": [ - "bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463", - "dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpSelectLte.sol": { - "keccak256": "0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3", - "urls": [ - "bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026", - "dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol": { - "keccak256": "0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167", - "urls": [ - "bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de", - "dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy" - ], - "license": "CAL" - }, - "contracts/interpreter/run/IInterpreterV1.sol": { - "keccak256": "0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774", - "urls": [ - "bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20", - "dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibEncodedDispatch.sol": { - "keccak256": "0xa485b66df77a6f11fb91b4a1cc4f8527384f9fa91fa9f6b4e228a9dc7c5c3744", - "urls": [ - "bzz-raw://5e908e90d9f95e1be126c81591069873f92c58d9f7f3fbb8df09290145b2aca5", - "dweb:/ipfs/QmdQg7mhuWeb9ttq4GEgnfuWaU9K7cVoGJYfZK1NL49Pxy" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibEvaluable.sol": { - "keccak256": "0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb", - "urls": [ - "bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e", - "dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibInterpreterState.sol": { - "keccak256": "0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f", - "urls": [ - "bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72", - "dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibStackPointer.sol": { - "keccak256": "0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69", - "urls": [ - "bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e", - "dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L" - ], - "license": "CAL" - }, - "contracts/interpreter/shared/Rainterpreter.sol": { - "keccak256": "0x73cc4e5cc7b51a4e475e839bb1dd61dbcd43a5e8dd82a08d66c5c3ef8099b1df", - "urls": [ - "bzz-raw://1c1cc6be8afff5f4135853ab9a0fee3d71f41dd75e9889e5c2e477b5b17ca4e0", - "dweb:/ipfs/QmRYeNTcV4b1kMMrPPfTgbm8QXYsEYJVQYmA2vwcGtLG5S" - ], - "license": "CAL" - }, - "contracts/interpreter/store/IInterpreterStoreV1.sol": { - "keccak256": "0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1", - "urls": [ - "bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462", - "dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1" - ], - "license": "CAL" - }, - "contracts/kv/LibMemoryKV.sol": { - "keccak256": "0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969", - "urls": [ - "bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7", - "dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny" - ], - "license": "CAL" - }, - "contracts/math/LibFixedPointMath.sol": { - "keccak256": "0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6", - "urls": [ - "bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2", - "dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4" - ], - "license": "CAL" - }, - "contracts/memory/LibMemorySize.sol": { - "keccak256": "0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5", - "urls": [ - "bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451", - "dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA" - ], - "license": "CAL" - }, - "contracts/orderbook/IOrderBookV1.sol": { - "keccak256": "0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f", - "urls": [ - "bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590", - "dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB" - ], - "license": "CAL" - }, - "contracts/sale/ISaleV2.sol": { - "keccak256": "0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87", - "urls": [ - "bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83", - "dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF" - ], - "license": "CAL" - }, - "contracts/tier/ITierV2.sol": { - "keccak256": "0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2", - "urls": [ - "bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c", - "dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3" - ], - "license": "CAL" - }, - "contracts/tier/libraries/TierConstants.sol": { - "keccak256": "0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c", - "urls": [ - "bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2", - "dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb" - ], - "license": "CAL" - }, - "contracts/tier/libraries/TierReport.sol": { - "keccak256": "0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e", - "urls": [ - "bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67", - "dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt" - ], - "license": "CAL" - }, - "contracts/tier/libraries/TierwiseCombine.sol": { - "keccak256": "0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50", - "urls": [ - "bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6", - "dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK" - ], - "license": "CAL" - }, - "contracts/type/LibCast.sol": { - "keccak256": "0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3", - "urls": [ - "bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe", - "dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo" - ], - "license": "CAL" - }, - "contracts/type/LibConvert.sol": { - "keccak256": "0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de", - "urls": [ - "bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75", - "dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu" - ], - "license": "CAL" - }, - "contracts/verify/IVerifyV1.sol": { - "keccak256": "0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98", - "urls": [ - "bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1", - "dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD" - ], - "license": "CAL" - }, - "lib/rain.math.saturating/src/SaturatingMath.sol": { - "keccak256": "0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165", - "urls": [ - "bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b", - "dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw" - ], - "license": "CAL" - }, - "lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d", - "urls": [ - "bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6", - "dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc" - ], - "license": "CAL" - }, - "lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol": { - "keccak256": "0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212", - "urls": [ - "bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8", - "dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5" - ], - "license": "CAL" - }, - "lib/sol.lib.datacontract/src/LibDataContract.sol": { - "keccak256": "0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510", - "urls": [ - "bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a", - "dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1" - ], - "license": "CAL" - }, - "node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { - "keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", - "urls": [ - "bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", - "dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { - "keccak256": "0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271", - "urls": [ - "bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618", - "dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol": { - "keccak256": "0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe", - "urls": [ - "bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2", - "dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol": { - "keccak256": "0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42", - "urls": [ - "bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093", - "dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol": { - "keccak256": "0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff", - "urls": [ - "bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2", - "dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol": { - "keccak256": "0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe", - "urls": [ - "bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f", - "dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol": { - "keccak256": "0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb", - "urls": [ - "bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d", - "dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol": { - "keccak256": "0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229", - "urls": [ - "bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195", - "dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol": { - "keccak256": "0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183", - "urls": [ - "bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06", - "dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol": { - "keccak256": "0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26", - "urls": [ - "bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a", - "dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { - "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", - "urls": [ - "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", - "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol": { - "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", - "urls": [ - "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", - "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol": { - "keccak256": "0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a", - "urls": [ - "bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3", - "dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": { - "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", - "urls": [ - "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", - "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol": { - "keccak256": "0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a", - "urls": [ - "bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4", - "dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol": { - "keccak256": "0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b", - "urls": [ - "bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c", - "dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/Common.sol": { - "keccak256": "0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48", - "urls": [ - "bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9", - "dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/Casting.sol": { - "keccak256": "0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c", - "urls": [ - "bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade", - "dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/Constants.sol": { - "keccak256": "0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652", - "urls": [ - "bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea", - "dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/Errors.sol": { - "keccak256": "0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac", - "urls": [ - "bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e", - "dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/ValueType.sol": { - "keccak256": "0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650", - "urls": [ - "bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416", - "dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Casting.sol": { - "keccak256": "0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899", - "urls": [ - "bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8", - "dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Constants.sol": { - "keccak256": "0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46", - "urls": [ - "bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc", - "dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Errors.sol": { - "keccak256": "0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0", - "urls": [ - "bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537", - "dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Helpers.sol": { - "keccak256": "0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559", - "urls": [ - "bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78", - "dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Math.sol": { - "keccak256": "0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee", - "urls": [ - "bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12", - "dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/ValueType.sol": { - "keccak256": "0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b", - "urls": [ - "bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35", - "dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/Casting.sol": { - "keccak256": "0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d", - "urls": [ - "bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1", - "dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/Constants.sol": { - "keccak256": "0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e", - "urls": [ - "bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933", - "dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/Errors.sol": { - "keccak256": "0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3", - "urls": [ - "bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70", - "dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/ValueType.sol": { - "keccak256": "0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518", - "urls": [ - "bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08", - "dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Casting.sol": { - "keccak256": "0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2", - "urls": [ - "bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62", - "dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Constants.sol": { - "keccak256": "0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11", - "urls": [ - "bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d", - "dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Errors.sol": { - "keccak256": "0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563", - "urls": [ - "bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac", - "dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Helpers.sol": { - "keccak256": "0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf", - "urls": [ - "bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38", - "dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Math.sol": { - "keccak256": "0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d", - "urls": [ - "bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3", - "dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/ValueType.sol": { - "keccak256": "0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215", - "urls": [ - "bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0", - "dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw" - ], - "license": "MIT" - }, - "node_modules/hardhat/console.sol": { - "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", - "urls": [ - "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", - "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "contracts/interpreter/shared/Rainterpreter.sol", - "id": 18321, - "exportedSymbols": { - "ALL_STANDARD_OPS_LENGTH": [ - 7182 - ], - "AllStandardOps": [ - 7954 - ], - "BASE_PREFIX": [ - 39210 - ], - "B_1": [ - 38885 - ], - "B_11": [ - 38893 - ], - "B_111": [ - 38901 - ], - "B_1111": [ - 38909 - ], - "B_11111": [ - 38917 - ], - "B_111111": [ - 38925 - ], - "B_1111111": [ - 38933 - ], - "B_11111111": [ - 38941 - ], - "B_111111111": [ - 38949 - ], - "B_1111111111": [ - 38957 - ], - "B_11111111111": [ - 38965 - ], - "B_111111111111": [ - 38973 - ], - "B_1111111111111": [ - 38981 - ], - "B_11111111111111": [ - 38989 - ], - "B_111111111111111": [ - 38997 - ], - "B_1111111111111111": [ - 39005 - ], - "BadDynamicLength": [ - 7178 - ], - "BadExternResultsLength": [ - 9471 - ], - "ClearConfig": [ - 21087 - ], - "ClearStateChange": [ - 21096 - ], - "DEBUG_DELIMETER": [ - 16065 - ], - "DEFAULT_STATE_NAMESPACE": [ - 15858 - ], - "DataContractMemoryContainer": [ - 39216 - ], - "DebugStyle": [ - 16038 - ], - "DepositConfig": [ - 21003 - ], - "DoWhileMaxInputs": [ - 9290 - ], - "EIP5313": [ - 5670 - ], - "ERC20Snapshot": [ - 43266 - ], - "EncodedDispatch": [ - 15846 - ], - "EncodedExternDispatch": [ - 7028 - ], - "Evaluable": [ - 16003 - ], - "EvaluableConfig": [ - 15994 - ], - "ExternDispatch": [ - 7030 - ], - "FP_DECIMALS": [ - 20528 - ], - "FP_ONE": [ - 20532 - ], - "FullyQualifiedNamespace": [ - 19051 - ], - "IERC1155": [ - 41935 - ], - "IERC165": [ - 47118 - ], - "IERC20": [ - 42854 - ], - "IERC3156FlashBorrower": [ - 5623 - ], - "IERC3156FlashLender": [ - 5660 - ], - "IERC721": [ - 45400 - ], - "IExpressionDeployerV1": [ - 6051 - ], - "IInterpreterCallerV1": [ - 5691 - ], - "IInterpreterExternV1": [ - 7045 - ], - "IInterpreterStoreV1": [ - 19083 - ], - "IInterpreterV1": [ - 15889 - ], - "INITIAL_STACK_BOTTOM": [ - 6104 - ], - "IO": [ - 21017 - ], - "IOrderBookV1": [ - 21274 - ], - "ISaleV2": [ - 24440 - ], - "ITierV2": [ - 36050 - ], - "IVerifyV1": [ - 36969 - ], - "InsufficientLoopOutputs": [ - 9696 - ], - "IntegrityCheckState": [ - 6153 - ], - "InterpreterState": [ - 16061 - ], - "InvalidPtr": [ - 19092 - ], - "LibCast": [ - 36870 - ], - "LibChainlink": [ - 474 - ], - "LibConvert": [ - 36909 - ], - "LibDataContract": [ - 39323 - ], - "LibEncodedDispatch": [ - 15980 - ], - "LibEvaluable": [ - 16020 - ], - "LibExtern": [ - 7085 - ], - "LibFixedPointMath": [ - 20834 - ], - "LibIntegrityCheck": [ - 7024 - ], - "LibInterpreterState": [ - 16746 - ], - "LibMemory": [ - 39197 - ], - "LibMemoryKV": [ - 19231 - ], - "LibMemorySize": [ - 20989 - ], - "LibStackPointer": [ - 18069 - ], - "LibUint256Array": [ - 395 - ], - "MASK_10BIT": [ - 39045 - ], - "MASK_11BIT": [ - 39049 - ], - "MASK_12BIT": [ - 39053 - ], - "MASK_13BIT": [ - 39057 - ], - "MASK_14BIT": [ - 39061 - ], - "MASK_15BIT": [ - 39065 - ], - "MASK_16BIT": [ - 39069 - ], - "MASK_1BIT": [ - 39009 - ], - "MASK_2BIT": [ - 39013 - ], - "MASK_3BIT": [ - 39017 - ], - "MASK_4BIT": [ - 39021 - ], - "MASK_5BIT": [ - 39025 - ], - "MASK_6BIT": [ - 39029 - ], - "MASK_7BIT": [ - 39033 - ], - "MASK_8BIT": [ - 39037 - ], - "MASK_9BIT": [ - 39041 - ], - "Math": [ - 48073 - ], - "MemoryKV": [ - 19094 - ], - "MemoryKVKey": [ - 19096 - ], - "MemoryKVPtr": [ - 19098 - ], - "MemoryKVVal": [ - 19100 - ], - "MinFinalStack": [ - 6121 - ], - "MinStackBottom": [ - 6107 - ], - "NO_STORE": [ - 19060 - ], - "OPERAND_MEMORY_TYPE_CONSTANT": [ - 9908 - ], - "OPERAND_MEMORY_TYPE_STACK": [ - 9904 - ], - "OpAdd": [ - 11238 - ], - "OpAny": [ - 12469 - ], - "OpBlockNumber": [ - 11098 - ], - "OpCall": [ - 9198 - ], - "OpChainlinkOraclePrice": [ - 8468 - ], - "OpContext": [ - 8549 - ], - "OpContextColumnHash": [ - 8619 - ], - "OpContextRow": [ - 8715 - ], - "OpDebug": [ - 9277 - ], - "OpDecode256": [ - 8098 - ], - "OpDiv": [ - 11318 - ], - "OpDoWhile": [ - 9457 - ], - "OpERC1155BalanceOf": [ - 10252 - ], - "OpERC1155BalanceOfBatch": [ - 10357 - ], - "OpERC20BalanceOf": [ - 10446 - ], - "OpERC20SnapshotBalanceOfAt": [ - 10618 - ], - "OpERC20SnapshotTotalSupplyAt": [ - 10701 - ], - "OpERC20TotalSupply": [ - 10526 - ], - "OpERC5313Owner": [ - 10788 - ], - "OpERC721BalanceOf": [ - 10877 - ], - "OpERC721OwnerOf": [ - 10966 - ], - "OpEagerIf": [ - 12563 - ], - "OpEncode256": [ - 8260 - ], - "OpEnsure": [ - 11040 - ], - "OpEqualTo": [ - 12636 - ], - "OpEvery": [ - 12752 - ], - "OpExp": [ - 11398 - ], - "OpExplode32": [ - 8386 - ], - "OpExtern": [ - 9681 - ], - "OpFixedPointScale18": [ - 11897 - ], - "OpFixedPointScale18Div": [ - 11990 - ], - "OpFixedPointScale18Dynamic": [ - 12080 - ], - "OpFixedPointScale18Mul": [ - 12173 - ], - "OpFixedPointScaleBy": [ - 12264 - ], - "OpFixedPointScaleN": [ - 12349 - ], - "OpFoldContext": [ - 8953 - ], - "OpGet": [ - 15222 - ], - "OpGreaterThan": [ - 12825 - ], - "OpHash": [ - 10160 - ], - "OpIOrderBookV1VaultBalance": [ - 14556 - ], - "OpISaleV2RemainingTokenInventory": [ - 14636 - ], - "OpISaleV2Reserve": [ - 14722 - ], - "OpISaleV2SaleStatus": [ - 14805 - ], - "OpISaleV2Token": [ - 14891 - ], - "OpISaleV2TotalReserveReceived": [ - 14971 - ], - "OpITierV2Report": [ - 15442 - ], - "OpITierV2ReportTimeForTier": [ - 15549 - ], - "OpIVerifyV1AccountStatusAtTime": [ - 15066 - ], - "OpIsZero": [ - 12896 - ], - "OpLessThan": [ - 12969 - ], - "OpLoopN": [ - 9876 - ], - "OpMax": [ - 11481 - ], - "OpMin": [ - 11564 - ], - "OpMod": [ - 11644 - ], - "OpMul": [ - 11724 - ], - "OpPRBAvg": [ - 13052 - ], - "OpPRBCeil": [ - 13129 - ], - "OpPRBDiv": [ - 13212 - ], - "OpPRBExp": [ - 13289 - ], - "OpPRBExp2": [ - 13366 - ], - "OpPRBFloor": [ - 13443 - ], - "OpPRBFrac": [ - 13520 - ], - "OpPRBGm": [ - 13603 - ], - "OpPRBInv": [ - 13680 - ], - "OpPRBLn": [ - 13757 - ], - "OpPRBLog10": [ - 13834 - ], - "OpPRBLog2": [ - 13911 - ], - "OpPRBMul": [ - 13994 - ], - "OpPRBPow": [ - 14077 - ], - "OpPRBPowu": [ - 14157 - ], - "OpPRBSqrt": [ - 14234 - ], - "OpReadMemory": [ - 10069 - ], - "OpSaturatingAdd": [ - 14306 - ], - "OpSaturatingDiff": [ - 15609 - ], - "OpSaturatingMul": [ - 14378 - ], - "OpSaturatingSub": [ - 14450 - ], - "OpSelectLte": [ - 15746 - ], - "OpSet": [ - 15338 - ], - "OpSub": [ - 11804 - ], - "OpTimestamp": [ - 11156 - ], - "OpUpdateTimesForTierRange": [ - 15839 - ], - "Operand": [ - 15850 - ], - "Order": [ - 21047 - ], - "OrderConfig": [ - 21031 - ], - "OutOfBoundsConstantsRead": [ - 9900 - ], - "OutOfBoundsStackRead": [ - 9893 - ], - "OutOfBoundsTruncate": [ - 8 - ], - "PREFIX_BYTES_LENGTH": [ - 39214 - ], - "Pointer": [ - 39080 - ], - "Rainterpreter": [ - 18320 - ], - "ReadError": [ - 39206 - ], - "SafeCast": [ - 49614 - ], - "SaleStatus": [ - 24409 - ], - "SaturatingMath": [ - 38875 - ], - "SignedContext": [ - 5680 - ], - "SourceIndex": [ - 15844 - ], - "StackPointer": [ - 16760 - ], - "StackPopUnderflow": [ - 6114 - ], - "StateNamespace": [ - 15848 - ], - "TIERWISE_COMBINE_LOGIC_ANY": [ - 36452 - ], - "TIERWISE_COMBINE_LOGIC_EVERY": [ - 36448 - ], - "TIERWISE_COMBINE_MODE_FIRST": [ - 36464 - ], - "TIERWISE_COMBINE_MODE_MAX": [ - 36460 - ], - "TIERWISE_COMBINE_MODE_MIN": [ - 36456 - ], - "TakeOrderConfig": [ - 21074 - ], - "TakeOrdersConfig": [ - 21062 - ], - "TierConstants": [ - 36155 - ], - "TierReport": [ - 36438 - ], - "TierwiseCombine": [ - 36699 - ], - "TruncateError": [ - 39078 - ], - "TruncatedEncoding": [ - 8111 - ], - "UD60x18": [ - 56036 - ], - "UnexpectedResultLength": [ - 16758 - ], - "VerifyStatus": [ - 36958 - ], - "WithdrawConfig": [ - 21010 - ], - "WriteError": [ - 39203 - ], - "ZeroInputs": [ - 15619 - ], - "avg": [ - 55402 - ], - "ceil": [ - 55429 - ], - "console": [ - 64149 - ], - "div": [ - 55457 - ], - "exp": [ - 55500 - ], - "exp2": [ - 55543 - ], - "floor": [ - 55555 - ], - "frac": [ - 55567 - ], - "gm": [ - 55631 - ], - "inv": [ - 55653 - ], - "ln": [ - 55680 - ], - "log10": [ - 55730 - ], - "log2": [ - 55831 - ], - "mul": [ - 55858 - ], - "pow": [ - 55920 - ], - "powu": [ - 55990 - ], - "sqrt": [ - 56029 - ] - }, - "nodeType": "SourceUnit", - "src": "32:3571:120", - "nodes": [ - { - "id": 18071, - "nodeType": "PragmaDirective", - "src": "32:24:120", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".18" - ] - }, - { - "id": 18072, - "nodeType": "ImportDirective", - "src": "58:50:120", - "nodes": [], - "absolutePath": "lib/sol.lib.datacontract/src/LibDataContract.sol", - "file": "sol.lib.datacontract/LibDataContract.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 39324, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18073, - "nodeType": "ImportDirective", - "src": "110:35:120", - "nodes": [], - "absolutePath": "contracts/interpreter/ops/AllStandardOps.sol", - "file": "../ops/AllStandardOps.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 7955, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18074, - "nodeType": "ImportDirective", - "src": "146:39:120", - "nodes": [], - "absolutePath": "contracts/interpreter/run/LibEncodedDispatch.sol", - "file": "../run/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 15981, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18075, - "nodeType": "ImportDirective", - "src": "186:34:120", - "nodes": [], - "absolutePath": "contracts/kv/LibMemoryKV.sol", - "file": "../../kv/LibMemoryKV.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 19232, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18076, - "nodeType": "ImportDirective", - "src": "221:42:120", - "nodes": [], - "absolutePath": "contracts/interpreter/store/IInterpreterStoreV1.sol", - "file": "../store/IInterpreterStoreV1.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 19084, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18078, - "nodeType": "ImportDirective", - "src": "264:107:120", - "nodes": [], - "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 48074, - "symbolAliases": [ - { - "foreign": { - "id": 18077, - "name": "MathUpgradeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 48073, - "src": "272:15:120", - "typeDescriptions": {} - }, - "local": "Math", - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 18080, - "nodeType": "ImportDirective", - "src": "372:125:120", - "nodes": [], - "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 18321, - "sourceUnit": 47119, - "symbolAliases": [ - { - "foreign": { - "id": 18079, - "name": "IERC165Upgradeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47118, - "src": "380:18:120", - "typeDescriptions": {} - }, - "local": "IERC165", - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 18320, - "nodeType": "ContractDefinition", - "src": "1013:2589:120", - "nodes": [ - { - "id": 18089, - "nodeType": "UsingForDirective", - "src": "1069:39:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18086, - "name": "LibStackPointer", - "nameLocations": [ - "1075:15:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 18069, - "src": "1075:15:120" - }, - "typeName": { - "id": 18088, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18087, - "name": "StackPointer", - "nameLocations": [ - "1095:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "1095:12:120" - }, - "referencedDeclaration": 16760, - "src": "1095:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - } - }, - { - "id": 18092, - "nodeType": "UsingForDirective", - "src": "1113:36:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18090, - "name": "LibInterpreterState", - "nameLocations": [ - "1119:19:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16746, - "src": "1119:19:120" - }, - "typeName": { - "id": 18091, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1143:5:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - { - "id": 18096, - "nodeType": "UsingForDirective", - "src": "1154:47:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18093, - "name": "LibInterpreterState", - "nameLocations": [ - "1160:19:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16746, - "src": "1160:19:120" - }, - "typeName": { - "id": 18095, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18094, - "name": "InterpreterState", - "nameLocations": [ - "1184:16:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16061, - "src": "1184:16:120" - }, - "referencedDeclaration": 16061, - "src": "1184:16:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", - "typeString": "struct InterpreterState" - } - } - }, - { - "id": 18114, - "nodeType": "UsingForDirective", - "src": "1206:121:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18097, - "name": "LibCast", - "nameLocations": [ - "1212:7:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 36870, - "src": "1212:7:120" - }, - "typeName": { - "baseType": { - "id": 18112, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 18107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18100, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18112, - "src": "1233:23:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState" - }, - "typeName": { - "id": 18099, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18098, - "name": "InterpreterState", - "nameLocations": [ - "1233:16:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16061, - "src": "1233:16:120" - }, - "referencedDeclaration": 16061, - "src": "1233:16:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", - "typeString": "struct InterpreterState" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18103, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18112, - "src": "1258:7:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - }, - "typeName": { - "id": 18102, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18101, - "name": "Operand", - "nameLocations": [ - "1258:7:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15850, - "src": "1258:7:120" - }, - "referencedDeclaration": 15850, - "src": "1258:7:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18112, - "src": "1267:12:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18105, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18104, - "name": "StackPointer", - "nameLocations": [ - "1267:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "1267:12:120" - }, - "referencedDeclaration": 16760, - "src": "1267:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "1232:48:120" - }, - "returnParameterTypes": { - "id": 18111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18110, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18112, - "src": "1311:12:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18109, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18108, - "name": "StackPointer", - "nameLocations": [ - "1311:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "1311:12:120" - }, - "referencedDeclaration": 16760, - "src": "1311:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "1310:14:120" - }, - "src": "1224:101:120", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)" - }, - "visibility": "internal" - }, - "id": 18113, - "nodeType": "ArrayTypeName", - "src": "1224:102:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" - } - } - }, - { - "id": 18117, - "nodeType": "UsingForDirective", - "src": "1332:23:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18115, - "name": "Math", - "nameLocations": [ - "1338:4:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 48073, - "src": "1338:4:120" - }, - "typeName": { - "id": 18116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1347:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 18121, - "nodeType": "UsingForDirective", - "src": "1360:31:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18118, - "name": "LibMemoryKV", - "nameLocations": [ - "1366:11:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19231, - "src": "1366:11:120" - }, - "typeName": { - "id": 18120, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18119, - "name": "MemoryKV", - "nameLocations": [ - "1382:8:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19094, - "src": "1382:8:120" - }, - "referencedDeclaration": 19094, - "src": "1382:8:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", - "typeString": "MemoryKV" - } - } - }, - { - "id": 18125, - "nodeType": "UsingForDirective", - "src": "1396:34:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18122, - "name": "LibMemoryKV", - "nameLocations": [ - "1402:11:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19231, - "src": "1402:11:120" - }, - "typeName": { - "id": 18124, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18123, - "name": "MemoryKVPtr", - "nameLocations": [ - "1418:11:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19098, - "src": "1418:11:120" - }, - "referencedDeclaration": 19098, - "src": "1418:11:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_MemoryKVPtr_$19098", - "typeString": "MemoryKVPtr" - } - } - }, - { - "id": 18129, - "nodeType": "UsingForDirective", - "src": "1435:45:120", - "nodes": [], - "global": false, - "libraryName": { - "id": 18126, - "name": "LibInterpreterState", - "nameLocations": [ - "1441:19:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16746, - "src": "1441:19:120" - }, - "typeName": { - "id": 18128, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18127, - "name": "StateNamespace", - "nameLocations": [ - "1465:14:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15848, - "src": "1465:14:120" - }, - "referencedDeclaration": 15848, - "src": "1465:14:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", - "typeString": "StateNamespace" - } - } - }, - { - "id": 18152, - "nodeType": "FunctionDefinition", - "src": "1513:247:120", - "nodes": [], - "body": { - "id": 18151, - "nodeType": "Block", - "src": "1619:141:120", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 18142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18137, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18131, - "src": "1648:12:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 18139, - "name": "IInterpreterV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15889, - "src": "1669:14:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$15889_$", - "typeString": "type(contract IInterpreterV1)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$15889_$", - "typeString": "type(contract IInterpreterV1)" - } - ], - "id": 18138, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1664:4:120", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 18140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1664:20:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterV1_$15889", - "typeString": "type(contract IInterpreterV1)" - } - }, - "id": 18141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1685:11:120", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1664:32:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1648:48:120", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 18148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18143, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18131, - "src": "1712:12:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 18145, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47118, - "src": "1733:7:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", - "typeString": "type(contract IERC165Upgradeable)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", - "typeString": "type(contract IERC165Upgradeable)" - } - ], - "id": 18144, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1728:4:120", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 18146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1728:13:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165Upgradeable_$47118", - "typeString": "type(contract IERC165Upgradeable)" - } - }, - "id": 18147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1742:11:120", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1728:25:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1712:41:120", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1648:105:120", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18136, - "id": 18150, - "nodeType": "Return", - "src": "1629:124:120" - } - ] - }, - "baseFunctions": [ - 47117 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1522:17:120", - "overrides": { - "id": 18133, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1595:8:120" - }, - "parameters": { - "id": 18132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18131, - "mutability": "mutable", - "name": "interfaceId_", - "nameLocation": "1556:12:120", - "nodeType": "VariableDeclaration", - "scope": 18152, - "src": "1549:19:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 18130, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1549:6:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1539:35:120" - }, - "returnParameters": { - "id": 18136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18135, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18152, - "src": "1613:4:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18134, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1613:4:120", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1612:6:120" - }, - "scope": 18320, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 18265, - "nodeType": "FunctionDefinition", - "src": "1801:1172:120", - "nodes": [], - "body": { - "id": 18264, - "nodeType": "Block", - "src": "2023:950:120", - "nodes": [], - "statements": [ - { - "assignments": [ - 18176, - 18179, - 18181 - ], - "declarations": [ - { - "constant": false, - "id": 18176, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "2087:11:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2079:19:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2079:7:120", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18179, - "mutability": "mutable", - "name": "sourceIndex_", - "nameLocation": "2124:12:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2112:24:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 18178, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18177, - "name": "SourceIndex", - "nameLocations": [ - "2112:11:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15844, - "src": "2112:11:120" - }, - "referencedDeclaration": 15844, - "src": "2112:11:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18181, - "mutability": "mutable", - "name": "maxOutputs_", - "nameLocation": "2158:11:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2150:19:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2150:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 18186, - "initialValue": { - "arguments": [ - { - "id": 18184, - "name": "dispatch_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18162, - "src": "2208:9:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", - "typeString": "EncodedDispatch" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", - "typeString": "EncodedDispatch" - } - ], - "expression": { - "id": 18182, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15980, - "src": "2182:18:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$15980_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 18183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2201:6:120", - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": 15979, - "src": "2182:25:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_EncodedDispatch_$15846_$returns$_t_address_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_uint256_$", - "typeString": "function (EncodedDispatch) pure returns (address,SourceIndex,uint256)" - } - }, - "id": 18185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2182:36:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_uint256_$", - "typeString": "tuple(address,SourceIndex,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2065:153:120" - }, - { - "assignments": [ - 18189 - ], - "declarations": [ - { - "constant": false, - "id": 18189, - "mutability": "mutable", - "name": "state_", - "nameLocation": "2321:6:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2297:30:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState" - }, - "typeName": { - "id": 18188, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18187, - "name": "InterpreterState", - "nameLocations": [ - "2297:16:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16061, - "src": "2297:16:120" - }, - "referencedDeclaration": 16061, - "src": "2297:16:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", - "typeString": "struct InterpreterState" - } - }, - "visibility": "internal" - } - ], - "id": 18196, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 18192, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18176, - "src": "2364:11:120", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 18190, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39323, - "src": "2330:15:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$39323_$", - "typeString": "type(library LibDataContract)" - } - }, - "id": 18191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2359:4:120", - "memberName": "read", - "nodeType": "MemberAccess", - "referencedDeclaration": 39291, - "src": "2330:33:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address) view returns (bytes memory)" - } - }, - "id": 18193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2330:46:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 18194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2390:11:120", - "memberName": "deserialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 16636, - "src": "2330:71:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterState_$16061_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (struct InterpreterState memory)" - } - }, - "id": 18195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2330:73:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2297:106:120" - }, - { - "expression": { - "id": 18204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 18197, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2413:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2420:7:120", - "memberName": "stateKV", - "nodeType": "MemberAccess", - "referencedDeclaration": 16047, - "src": "2413:14:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", - "typeString": "MemoryKV" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "30", - "id": 18202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2444:1:120", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 18200, - "name": "MemoryKV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19094, - "src": "2430:8:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_MemoryKV_$19094_$", - "typeString": "type(MemoryKV)" - } - }, - "id": 18201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2439:4:120", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2430:13:120", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_MemoryKV_$19094_$", - "typeString": "function (uint256) pure returns (MemoryKV)" - } - }, - "id": 18203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2430:16:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", - "typeString": "MemoryKV" - } - }, - "src": "2413:33:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", - "typeString": "MemoryKV" - } - }, - "id": 18205, - "nodeType": "ExpressionStatement", - "src": "2413:33:120" - }, - { - "expression": { - "id": 18212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 18206, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2456:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2463:9:120", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 16050, - "src": "2456:16:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", - "typeString": "FullyQualifiedNamespace" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 18209, - "name": "namespace_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18159, - "src": "2475:10:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", - "typeString": "StateNamespace" - } - }, - "id": 18210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2486:16:120", - "memberName": "qualifyNamespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 16745, - "src": "2475:27:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_StateNamespace_$15848_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$19051_$attached_to$_t_userDefinedValueType$_StateNamespace_$15848_$", - "typeString": "function (StateNamespace) view returns (FullyQualifiedNamespace)" - } - }, - "id": 18211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2475:29:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", - "typeString": "FullyQualifiedNamespace" - } - }, - "src": "2456:48:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$19051", - "typeString": "FullyQualifiedNamespace" - } - }, - "id": 18213, - "nodeType": "ExpressionStatement", - "src": "2456:48:120" - }, - { - "expression": { - "id": 18218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 18214, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2514:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2521:5:120", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 16053, - "src": "2514:12:120", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18217, - "name": "store_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18156, - "src": "2529:6:120", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "src": "2514:21:120", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 18219, - "nodeType": "ExpressionStatement", - "src": "2514:21:120" - }, - { - "expression": { - "id": 18224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 18220, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2545:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2552:7:120", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 16057, - "src": "2545:14:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18223, - "name": "context_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18166, - "src": "2562:8:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "src": "2545:25:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 18225, - "nodeType": "ExpressionStatement", - "src": "2545:25:120" - }, - { - "assignments": [ - 18228 - ], - "declarations": [ - { - "constant": false, - "id": 18228, - "mutability": "mutable", - "name": "stackTop_", - "nameLocation": "2676:9:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2663:22:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18226, - "name": "StackPointer", - "nameLocations": [ - "2663:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "2663:12:120" - }, - "referencedDeclaration": 16760, - "src": "2663:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "id": 18235, - "initialValue": { - "arguments": [ - { - "id": 18231, - "name": "sourceIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18179, - "src": "2700:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", - "typeString": "SourceIndex" - } - }, - { - "expression": { - "id": 18232, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2714:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2721:11:120", - "memberName": "stackBottom", - "nodeType": "MemberAccess", - "referencedDeclaration": 16041, - "src": "2714:18:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - ], - "expression": { - "id": 18229, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2688:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18230, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2695:4:120", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 16716, - "src": "2688:11:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$attached_to$_t_struct$_InterpreterState_$16061_memory_ptr_$", - "typeString": "function (struct InterpreterState memory,SourceIndex,StackPointer) view returns (StackPointer)" - } - }, - "id": 18234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2688:45:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2663:70:120" - }, - { - "assignments": [ - 18237 - ], - "declarations": [ - { - "constant": false, - "id": 18237, - "mutability": "mutable", - "name": "stackLength_", - "nameLocation": "2751:12:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2743:20:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2743:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 18243, - "initialValue": { - "arguments": [ - { - "id": 18241, - "name": "stackTop_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18228, - "src": "2793:9:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - ], - "expression": { - "expression": { - "id": 18238, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2766:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2773:11:120", - "memberName": "stackBottom", - "nodeType": "MemberAccess", - "referencedDeclaration": 16041, - "src": "2766:18:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "id": 18240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2785:7:120", - "memberName": "toIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 18068, - "src": "2766:26:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StackPointer_$16760_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (StackPointer,StackPointer) pure returns (uint256)" - } - }, - "id": 18242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2766:37:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2743:60:120" - }, - { - "assignments": [ - null, - 18248 - ], - "declarations": [ - null, - { - "constant": false, - "id": 18248, - "mutability": "mutable", - "name": "tail_", - "nameLocation": "2833:5:120", - "nodeType": "VariableDeclaration", - "scope": 18264, - "src": "2816:22:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2816:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18247, - "nodeType": "ArrayTypeName", - "src": "2816:9:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 18256, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 18253, - "name": "maxOutputs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18181, - "src": "2887:11:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 18251, - "name": "stackLength_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18237, - "src": "2870:12:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2883:3:120", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 47251, - "src": "2870:16:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 18254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2870:29:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 18249, - "name": "stackTop_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18228, - "src": "2842:9:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "id": 18250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2852:4:120", - "memberName": "list", - "nodeType": "MemberAccess", - "referencedDeclaration": 17814, - "src": "2842:14:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StackPointer_$16760_$_t_uint256_$returns$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (StackPointer,uint256) pure returns (uint256,uint256[] memory)" - } - }, - "id": 18255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2842:67:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2813:96:120" - }, - { - "expression": { - "components": [ - { - "id": 18257, - "name": "tail_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18248, - "src": "2927:5:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "expression": { - "id": 18258, - "name": "state_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18189, - "src": "2934:6:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState memory" - } - }, - "id": 18259, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2941:7:120", - "memberName": "stateKV", - "nodeType": "MemberAccess", - "referencedDeclaration": 16047, - "src": "2934:14:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_MemoryKV_$19094", - "typeString": "MemoryKV" - } - }, - "id": 18260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2949:14:120", - "memberName": "toUint256Array", - "nodeType": "MemberAccess", - "referencedDeclaration": 19230, - "src": "2934:29:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_MemoryKV_$19094_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_userDefinedValueType$_MemoryKV_$19094_$", - "typeString": "function (MemoryKV) pure returns (uint256[] memory)" - } - }, - "id": 18261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2934:31:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 18262, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2926:40:120", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 18174, - "id": 18263, - "nodeType": "Return", - "src": "2919:47:120" - } - ] - }, - "baseFunctions": [ - 15888 - ], - "documentation": { - "id": 18153, - "nodeType": "StructuredDocumentation", - "src": "1766:30:120", - "text": "@inheritdoc IInterpreterV1" - }, - "functionSelector": "6715f825", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "eval", - "nameLocation": "1810:4:120", - "parameters": { - "id": 18167, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18156, - "mutability": "mutable", - "name": "store_", - "nameLocation": "1844:6:120", - "nodeType": "VariableDeclaration", - "scope": 18265, - "src": "1824:26:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 18155, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18154, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "1824:19:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19083, - "src": "1824:19:120" - }, - "referencedDeclaration": 19083, - "src": "1824:19:120", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18159, - "mutability": "mutable", - "name": "namespace_", - "nameLocation": "1875:10:120", - "nodeType": "VariableDeclaration", - "scope": 18265, - "src": "1860:25:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 18158, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18157, - "name": "StateNamespace", - "nameLocations": [ - "1860:14:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15848, - "src": "1860:14:120" - }, - "referencedDeclaration": 15848, - "src": "1860:14:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$15848", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18162, - "mutability": "mutable", - "name": "dispatch_", - "nameLocation": "1911:9:120", - "nodeType": "VariableDeclaration", - "scope": 18265, - "src": "1895:25:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 18161, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18160, - "name": "EncodedDispatch", - "nameLocations": [ - "1895:15:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15846, - "src": "1895:15:120" - }, - "referencedDeclaration": 15846, - "src": "1895:15:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$15846", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18166, - "mutability": "mutable", - "name": "context_", - "nameLocation": "1949:8:120", - "nodeType": "VariableDeclaration", - "scope": 18265, - "src": "1930:27:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 18163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1930:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18164, - "nodeType": "ArrayTypeName", - "src": "1930:9:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 18165, - "nodeType": "ArrayTypeName", - "src": "1930:11:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "src": "1814:149:120" - }, - "returnParameters": { - "id": 18174, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18170, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18265, - "src": "1987:16:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1987:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18169, - "nodeType": "ArrayTypeName", - "src": "1987:9:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18173, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18265, - "src": "2005:16:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2005:7:120", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18172, - "nodeType": "ArrayTypeName", - "src": "2005:9:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1986:36:120" - }, - "scope": 18320, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 18319, - "nodeType": "FunctionDefinition", - "src": "3014:586:120", - "nodes": [], - "body": { - "id": 18318, - "nodeType": "Block", - "src": "3087:513:120", - "nodes": [], - "statements": [ - { - "assignments": [ - 18287 - ], - "declarations": [ - { - "constant": false, - "id": 18287, - "mutability": "mutable", - "name": "localPtrs_", - "nameLocation": "3227:10:120", - "nodeType": "VariableDeclaration", - "scope": 18318, - "src": "3097:140:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" - }, - "typeName": { - "baseType": { - "id": 18285, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 18280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18285, - "src": "3106:23:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState" - }, - "typeName": { - "id": 18272, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18271, - "name": "InterpreterState", - "nameLocations": [ - "3106:16:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16061, - "src": "3106:16:120" - }, - "referencedDeclaration": 16061, - "src": "3106:16:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", - "typeString": "struct InterpreterState" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18276, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18285, - "src": "3131:7:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - }, - "typeName": { - "id": 18275, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18274, - "name": "Operand", - "nameLocations": [ - "3131:7:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15850, - "src": "3131:7:120" - }, - "referencedDeclaration": 15850, - "src": "3131:7:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18279, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18285, - "src": "3140:12:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18278, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18277, - "name": "StackPointer", - "nameLocations": [ - "3140:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "3140:12:120" - }, - "referencedDeclaration": 16760, - "src": "3140:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "3105:48:120" - }, - "returnParameterTypes": { - "id": 18284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18283, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18285, - "src": "3192:12:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18282, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18281, - "name": "StackPointer", - "nameLocations": [ - "3192:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "3192:12:120" - }, - "referencedDeclaration": 16760, - "src": "3192:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "3191:14:120" - }, - "src": "3097:109:120", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)" - }, - "visibility": "internal" - }, - "id": 18286, - "nodeType": "ArrayTypeName", - "src": "3097:110:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" - } - }, - "visibility": "internal" - } - ], - "id": 18307, - "initialValue": { - "arguments": [ - { - "hexValue": "30", - "id": 18305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3393:1:120", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 18304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3240:152:120", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" - }, - "typeName": { - "baseType": { - "id": 18302, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 18297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18290, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "3270:23:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_memory_ptr", - "typeString": "struct InterpreterState" - }, - "typeName": { - "id": 18289, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18288, - "name": "InterpreterState", - "nameLocations": [ - "3270:16:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16061, - "src": "3270:16:120" - }, - "referencedDeclaration": 16061, - "src": "3270:16:120", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterState_$16061_storage_ptr", - "typeString": "struct InterpreterState" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18293, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "3311:7:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - }, - "typeName": { - "id": 18292, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18291, - "name": "Operand", - "nameLocations": [ - "3311:7:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15850, - "src": "3311:7:120" - }, - "referencedDeclaration": 15850, - "src": "3311:7:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18296, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "3336:12:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18295, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18294, - "name": "StackPointer", - "nameLocations": [ - "3336:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "3336:12:120" - }, - "referencedDeclaration": 16760, - "src": "3336:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "3252:110:120" - }, - "returnParameterTypes": { - "id": 18301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18300, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18302, - "src": "3377:12:120", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18299, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18298, - "name": "StackPointer", - "nameLocations": [ - "3377:12:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "3377:12:120" - }, - "referencedDeclaration": 16760, - "src": "3377:12:120", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "3376:14:120" - }, - "src": "3244:147:120", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)" - }, - "visibility": "internal" - }, - "id": 18303, - "nodeType": "ArrayTypeName", - "src": "3244:148:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", - "typeString": "function (struct InterpreterState,Operand,StackPointer) view returns (StackPointer)[]" - } - } - }, - "id": 18306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3240:155:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3097:298:120" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 18312, - "name": "localPtrs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18287, - "src": "3530:10:120", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - ], - "expression": { - "id": 18310, - "name": "AllStandardOps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7954, - "src": "3471:14:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AllStandardOps_$7954_$", - "typeString": "type(library AllStandardOps)" - } - }, - "id": 18311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3507:22:120", - "memberName": "opcodeFunctionPointers", - "nodeType": "MemberAccess", - "referencedDeclaration": 7953, - "src": "3471:58:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", - "typeString": "function (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" - } - }, - "id": 18313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3471:70:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - }, - "id": 18314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3563:14:120", - "memberName": "asUint256Array", - "nodeType": "MemberAccess", - "referencedDeclaration": 36831, - "src": "3471:106:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_array$_t_function_internal_view$_t_struct$_InterpreterState_$16061_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", - "typeString": "function (function (struct InterpreterState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (uint256[] memory)" - } - }, - "id": 18315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3471:108:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "id": 18308, - "name": "LibConvert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36909, - "src": "3424:10:120", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibConvert_$36909_$", - "typeString": "type(library LibConvert)" - } - }, - "id": 18309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3435:18:120", - "memberName": "unsafeTo16BitBytes", - "nodeType": "MemberAccess", - "referencedDeclaration": 36908, - "src": "3424:29:120", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256[] memory) pure returns (bytes memory)" - } - }, - "id": 18316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3424:169:120", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 18270, - "id": 18317, - "nodeType": "Return", - "src": "3405:188:120" - } - ] - }, - "baseFunctions": [ - 15865 - ], - "documentation": { - "id": 18266, - "nodeType": "StructuredDocumentation", - "src": "2979:30:120", - "text": "@inheritdoc IInterpreterV1" - }, - "functionSelector": "f933c72f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionPointers", - "nameLocation": "3023:16:120", - "parameters": { - "id": 18267, - "nodeType": "ParameterList", - "parameters": [], - "src": "3039:2:120" - }, - "returnParameters": { - "id": 18270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18269, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18319, - "src": "3073:12:120", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18268, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3073:5:120", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3072:14:120" - }, - "scope": 18320, - "stateMutability": "view", - "virtual": true, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 18082, - "name": "IInterpreterV1", - "nameLocations": [ - "1039:14:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15889, - "src": "1039:14:120" - }, - "id": 18083, - "nodeType": "InheritanceSpecifier", - "src": "1039:14:120" - }, - { - "baseName": { - "id": 18084, - "name": "IERC165", - "nameLocations": [ - "1055:7:120" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 47118, - "src": "1055:7:120" - }, - "id": 18085, - "nodeType": "InheritanceSpecifier", - "src": "1055:7:120" - } - ], - "canonicalName": "Rainterpreter", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 18081, - "nodeType": "StructuredDocumentation", - "src": "499:514:120", - "text": "@title Rainterpreter\n @notice Minimal binding of the `IIinterpreterV1` interface to the\n `LibInterpreterState` library, including every opcode in `AllStandardOps`.\n This is the default implementation of \"an interpreter\" but is designed such\n that other interpreters can easily be developed alongside. Alterpreters can\n either be built by inheriting and overriding the functions on this contract,\n or using the relevant libraries to construct an alternative binding to the\n same interface." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 18320, - 47118, - 15889 - ], - "name": "Rainterpreter", - "nameLocation": "1022:13:120", - "scope": 18321, - "usedErrors": [ - 404, - 411, - 7178, - 9471, - 16758, - 19092, - 39206, - 49623, - 49632, - 54845, - 54856, - 54862, - 54871, - 54907, - 54913 - ] - } - ], - "license": "CAL" - }, - "id": 120 -} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json deleted file mode 100644 index e1eaabfb02..0000000000 --- a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json +++ /dev/null @@ -1,9281 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", - "name": "config_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "name": "BadDynamicLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - } - ], - "name": "DoWhileMaxInputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputs", - "type": "uint256" - } - ], - "name": "InsufficientLoopOutputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minStackOutputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualStackOutputs", - "type": "uint256" - } - ], - "name": "MinFinalStack", - "type": "error" - }, - { - "inputs": [], - "name": "MinStackBottom", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedEntrypoints", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualEntrypoints", - "type": "uint256" - } - ], - "name": "MissingEntrypoint", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "price", - "type": "int256" - } - ], - "name": "NotPosIntPrice", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "constantsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantsRead", - "type": "uint256" - } - ], - "name": "OutOfBoundsConstantsRead", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackRead", - "type": "uint256" - } - ], - "name": "OutOfBoundsStackRead", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv18_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Ceil_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Exp2_InputTooBig", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Exp_InputTooBig", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - }, - { - "internalType": "UD60x18", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Gm_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Log_InputTooSmall", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Sqrt_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackHighwaterIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - } - ], - "name": "StackPopUnderflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "staleAfter", - "type": "uint256" - } - ], - "name": "StalePrice", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "startBit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "name": "TruncatedEncoding", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "name": "UnexpectedInterpreterBytecodeHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualOpMeta", - "type": "bytes32" - } - ], - "name": "UnexpectedOpMetaHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "actualPointers", - "type": "bytes" - } - ], - "name": "UnexpectedPointers", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "name": "UnexpectedStoreBytecodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "WriteError", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroInputs", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "opMeta", - "type": "bytes" - } - ], - "name": "DISpair", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "name": "ExpressionAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "sources", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "name": "NewExpression", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "sources_", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "constants_", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs_", - "type": "uint256[]" - } - ], - "name": "deployExpression", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "interpreter", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b5060405162004c5338038062004c53833981016040819052620000349162000453565b6000816000015190506000816001600160a01b031663f933c72f6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200007e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000a8919081019062000504565b90506040518060e0016040528060a2815260200162004bb160a2913980519060200120818051906020012014620000ff5780604051634c1af20160e11b8152600401620000f6919062000572565b60405180910390fd5b813f7f4f30b99af2f89c83d17ebf25b57e63148560d35bbe92414ecfae8ff0e1c9585581146200014657604051630eec293f60e11b815260048101829052602401620000f6565b6020840151803f7f4f8d49bb4a5da0b67865017e2eff6618b39cd0ecf65c631b9b2a793df2afc7508114620001925760405163cc0415fd60e01b815260048101829052602401620000f6565b604086015180516020909101207fc633bd425d2c692ef398442774a5c7c81427e04268c7169fcd1670f93ada07318114620001e4576040516343d0fe5760e11b815260048101829052602401620000f6565b6001600160a01b03808716608052831660a052865160208801516040808a015190517f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1936200023793339330936200058e565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256310000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002b29160040162000572565b602060405180830381865afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f69190620005d7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200034357600080fd5b505af115801562000358573d6000803e3d6000fd5b5050505050505050505050620005f1565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200039757600080fd5b919050565b60005b83811015620003b95781810151838201526020016200039f565b50506000910152565b600082601f830112620003d457600080fd5b81516001600160401b0380821115620003f157620003f162000369565b604051601f8301601f19908116603f011681019082821181831017156200041c576200041c62000369565b816040528381528660208588010111156200043657600080fd5b620004498460208301602089016200039c565b9695505050505050565b6000602082840312156200046657600080fd5b81516001600160401b03808211156200047e57600080fd5b90830190606082860312156200049357600080fd5b604051606081018181108382111715620004b157620004b162000369565b604052620004bf836200037f565b8152620004cf602084016200037f565b6020820152604083015182811115620004e757600080fd5b620004f587828601620003c2565b60408301525095945050505050565b6000602082840312156200051757600080fd5b81516001600160401b038111156200052e57600080fd5b6200053c84828501620003c2565b949350505050565b600081518084526200055e8160208601602086016200039c565b601f01601f19169290920160200192915050565b60208152600062000587602083018462000544565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005cc9083018462000544565b979650505050505050565b600060208284031215620005ea57600080fd5b5051919050565b60805160a05161458e620006236000396000818160fa0152610355015260008181607e0152610333015261458e6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780633a35cf17146100795780635511cb67146100b8578063975057e7146100f5575b600080fd5b61006461005f366004613d15565b61011c565b60405190151581526020015b60405180910390f35b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610070565b6100cb6100c6366004613e15565b610153565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610070565b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216635511cb6760e01b148061014d57506001600160e01b031982166301ffc9a760e01b145b92915050565b600080600085518451111561018d5783518651604051637d2d70db60e01b8152600481019290925260248201526044015b60405180910390fd5b60006101a1878761019c610386565b6103c8565b604081015160608201519192509060005b875181101561020d5760408401839052606084018290526101fa84826101db6002600019613f8e565b8b85815181106101ed576101ed613fa2565b6020026020010151610465565b508061020581613fb8565b9150506101b2565b50600061022b8460800151856040015161053e90919063ffffffff16565b90507ff66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786338b8b8b604051610262949392919061400c565b60405180910390a16000806102b961027b8d8d86610547565b60408051602c8301601f1916810190915261ffff60e81b600190920160e81b919091166b61000080600c6000396000f360a01b17815290600d820190565b915091506102e2818d8d866040518060e0016040528060a281526020016144b760a291396105c8565b60006102ed8361062d565b604080513381526001600160a01b03831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000009d7f00000000000000000000000000000000000000000000000000000000000000009d50909b509950505050505050505050565b6040805160008082526020820190925260609190816103b6565b613d0b8152602001906001900390816103a05790505b5090506103c281610675565b91505090565b6104016040518060c001604052806060815260200160008152602001600081526020016000815260200160008152602001606081525090565b6040805160c081018252858152845160208201529081016104256002600019613f8e565b815260200161044161043a6002600019613f8e565b601f190190565b81526020016104536002600019613f8e565b815260200183905290505b9392505050565b6000600260001904856040015110156104915760405163271592cf60e01b815260040160405180910390fd5b845160208581029091010151805181015b808210156104fc57600080600484019350835161ffff8116915061ffff8160101c169250506104f38982898c60a0015186815181106104e3576104e3613fa2565b602002602001015163ffffffff16565b965050506104a2565b6040870151602090860304808511156105325760405163f993c6e760e01b81526004810186905260248101829052604401610184565b50939695505050505050565b60209190030490565b6000806105556020826140cb565b9050610565845160209081020190565b61056f90826140cb565b905060005b85518110156105bf576105a186828151811061059257610592613fa2565b60200260200101515160200190565b6105ab90836140cb565b9150806105b781613fb8565b915050610574565b50949350505050565b818552602085016105d98185610957565b9050606060005b8651811015610623578681815181106105fb576105fb613fa2565b6020026020010151915061060f8285610977565b61061983836109b9565b92506001016105e0565b5050505050505050565b6000806000600d9050835160e81c61ffff168101846000f091506001600160a01b03821661066e5760405163046a55db60e11b815260040160405180910390fd5b5092915050565b6060600060405180610a40016040528061068d605190565b67ffffffffffffffff1667ffffffffffffffff1681526020016109d98152602001610a2d8152602001610a778152602001610a8f8152602001610a9e8152602001610a9e8152602001610aaa8152602001610ac38152602001610b178152602001610b8e8152602001610bab8152602001610c028152602001610c648152602001610ce28152602001610d888152602001610d988152602001610da78152602001610db78152602001610dc68152602001610dd58152602001610de48152602001610df38152602001610db78152602001610e028152602001610e118152602001610a9e8152602001610a9e8152602001610e218152602001610e318152602001610e418152602001610e518152602001610e618152602001610e718152602001610e818152602001610e918152602001610ea18152602001610eb08152602001610ebf8152602001610ece8152602001610edd8152602001610eec8152602001610efb8152602001610f0c8152602001610f298152602001610efb8152602001610f388152602001610f478152602001610f568152602001610f658152602001610f748152602001610f838152602001610f928152602001610fa18152602001610fb08152602001610fbf8152602001610fce8152602001610fdd8152602001610fec8152602001610ffb815260200161100a81526020016110198152602001611028815260200161103781526020016110468152602001611055815260200161106581526020016110758152602001611085815260200161109481526020016110a381526020016110b281526020016110c181526020016110d081526020016110df8152602001610aaa81526020016110ee81526020016110fe815260200161110e815260200161111e815260200161112d81526020016111688152509050600061093982611177565b905061094581856111ad565b805b949350505050565b815260200190565b600061045e8261097184518661094f90919063ffffffff16565b906111e3565b815161ffff9061ffff1990840160028481019086015b828110156109b0578051858116600202830151861690851617815260040161098d565b50505050505050565b600061045e826109d384518661094f90919063ffffffff16565b906111fb565b600060ff600884901c81169084166101008183011115610a16576040516316655de160e11b81526004810183905260248101829052604401610184565b610a23868561121561122d565b9695505050505050565b600060ff600884901c81169084166101008183011115610a6a576040516316655de160e11b81526004810183905260248101829052604401610184565b610a238685611243611269565b6000610947610a86858461127a565b85906008611290565b600061094784836112ce611269565b600061094784836112da565b6000613d0b610aba85848361122d565b95945050505050565b6000600f83811690600885811c91821691600c87901c91828401916010600160f81b03169088901b610f0016178117610afd8988866112e9565b9650610b0a898289610b17565b9998505050505050505050565b60408301516060840151600091600f85811692600487901c90911691600887901c91610b448988876112fd565b60408a0152601f19870160608a0152610b5f89848987610465565b50606089018190526040890151610b78908a9086611290565b6040999099019190915250959695505050505050565b6000826003811115610ba257610ba26140de565b50909392505050565b600060ff8316600f8110610bd55760405163316e6a3760e01b815260048101829052602401610184565b60018101600481901b8517610bf7610bee888388610b17565b88906001611317565b979650505050505050565b6020830151600090601f84811691600586901c90911690600a86901c908110610c4e576020870151604051634485473560e11b8152600481019190915260248101829052604401610184565b610bf7610c5c8887866112fd565b889084611290565b6000600c83901c600f80851690600486901c1681811015610ca25760405163508a8d2f60e01b81526004810183905260248101829052604401610184565b6060870151610fff87169060005b85811015610cd45760608a01829052610cca8a848a610b17565b9750600101610cb0565b509598975050505050505050565b600060018381169084901c81610d4a576040860151602090850304808210610d2757604051630e5b9e0b60e11b81526004810182905260248101839052604401610184565b60408701516060880151610d3f916020850201611324565b606088015250610d7e565b85602001518110610d7e576020860151604051634485473560e11b8152600481019190915260248101829052604401610184565b610a2386856112da565b6000610947848361133a8661136b565b6000610947848361137b6113ef565b6000610947848361140086611476565b60006109478483611494611269565b6000610947848361150361122d565b600061094784836115676113ef565b600061094784836115a0611269565b600061094784836115d061122d565b60006109478483611643611269565b600061094784836116bf866116cc565b600061094784836116d98661136b565b600061094784836116e58661136b565b600061094784836116f18661136b565b600061094784836113248661136b565b600061094784836116fd8661136b565b6000610947848361170c8661136b565b600061094784836117188661136b565b600061094784836117248661136b565b6000610947848361173061122d565b60006109478483611757611269565b60006109478483611770611269565b6000610947848361178b611269565b600061094784836117a461122d565b600061094784836117b161122d565b6000613d0b610aba8584838761136b565b6000610947826117be610f208660016140cb565b87929190611476565b600061094784836117ce611269565b600061094784836117d2611269565b600061094784836117d661122d565b600061094784836117da611269565b600061094784836117de611269565b600061094784836117ea61122d565b600061094784836117f5611269565b6000610947848361180161122d565b6000610947848361180c61122d565b6000610947848361181761122d565b6000610947848361182f61122d565b60006109478483611841611269565b6000610947848361184d61122d565b6000610947848361185861122d565b6000610947848361186361122d565b6000610947848361186e61122d565b60006109478483611879611269565b60006109478483611885611269565b60006109478483611891611269565b6000610947848361189d61122d565b600061094784836118a88661136b565b600061094784836118c58661136b565b600061094784836118f68661136b565b6000610947848361190c61199b565b600061094784836119ac61122d565b600061094784836119ec61122d565b60006109478483611a2c61122d565b60006109478483611aa161122d565b60006109478483611ae161122d565b60006109478483611b216113ef565b6000613d0b610aba858483611b5a565b60006109478483611b6886611b99565b60006109478483611bac86611c20565b60006109478483611c33611269565b600060ff83168082036111535760405163904c1f6d60e01b815260040160405180910390fd5b610aba6111618685846112fd565b86906112da565b60006109478483611c92611269565b805181906051146111a857805160405163c8b5690160e01b8152600481019190915260516024820152604401610184565b919050565b6040518251825160208083028601018311156111c857600080fd5b6020810283016040520183526111de8282611caa565b505050565b60006111ef8284611caa565b8151602002830161045e565b600061120c60208301848451611cbe565b8151830161045e565b60ff80831660020a6000190160089390931c161c1690565b600061094761123c858561127a565b85906112da565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b600061094761123c858560026112fd565b601f1901600061128a8383611cfe565b50919050565b6000602082028301925060018211156112bc576112b6601f198401606086015190611324565b60608501525b6112c68484611d49565b509092915050565b600061045e8383611d5e565b602001600061128a8383611d49565b600060208202830192506112c68484611d49565b600081156112c65760208202830392506112c68484611cfe565b6000602082028303610947565b6000818311611333578161045e565b5090919050565b60008160405160200161134d91906140f4565b60408051601f19818403018152919052805160209091012092915050565b6000610aba6111618686856112fd565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610947919061412a565b600061094761123c858560036112fd565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906114319086908690600401614143565b600060405180830381865afa15801561144e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190614199565b6000610aba61148c8686600160028702016112fd565b869084611290565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156114df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045e919061412a565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d919061412a565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e906044016113ae565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d0906024016114c2565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611634919061421f565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa15801561168b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116af919061421f565b6001600160a01b03169392505050565b806116c957600080fd5b50565b6000610aba8585846112fd565b600061045e82846140cb565b600061045e8284613f8e565b600061045e828461432c565b6000818310611333578161045e565b600061045e8284614338565b600061045e828461434c565b600061045e8284614363565b600061045e600184901c60018516600281111561174f5761174f6140de565b849190611e9a565b60006109478282611769868883611e9a565b9190611eeb565b60006109478360018616600281111561174f5761174f6140de565b6000610947828261179d868883611e9a565b9190611f01565b600061045e828483611f17565b600061045e828483611f66565b6060600084116112c65781610947565b1490565b1090565b1590565b1190565b600061045e8383611fa8565b600061014d82611fbb565b600061045e8383612003565b600061014d8261201e565b600061014d8261206d565b6000670de0b6b3a7640000820680151502820361014d565b6000670de0b6b3a7640000820661014d565b600061045e83836120c2565b600061014d82612129565b600061014d8261214c565b600061014d8261217d565b600061014d82612e0f565b600061045e8383612f42565b600061045e8383612f51565b600061045e8383612fae565b600061014d8261300e565b60008282018381106118ba5780610947565b600019949350505050565b6000826000036118d75750600061014d565b828202828482816118ea576118ea613f62565b04036118ba5780610947565b600081831161190657600061045e565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611989919061412a565b6001600160a01b031695945050505050565b600061094761123c858560046112fd565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a909190614376565b600381111561014d5761014d6140de565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc906044016113ae565b6000610947848460026112fd565b604051632235a18160e21b81526000906001600160a01b038516906388d68604906113ae9086908690600401614397565b6000610aba6111618686600286016112fd565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b90611bdf908790879087906004016143bb565b602060405180830381865afa158015611bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba919061412a565b6000610aba6111618686600386016112fd565b60008060015b60088111611c8a576000611c4d8683613064565b90506000611c5b8684613064565b90506000611c6983836118f6565b9050611c798560018603836130ac565b94505060019092019150611c399050565b509392505050565b60006109478385600f16600487901c600f16856130ec565b60006020830190506111de81838551613148565b5b60208110611cde578251825260209283019290910190601f1901611cbf565b80156111de57600019600882021c80835116811985511617835250505050565b81606001518111611d455760608201516040830151602091030460408301516020908303046040516318978cb960e21b815260048101929092526024820152604401610184565b5050565b8160800151811115611d455760809190910152565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc591906143fc565b5093505092505060008213611df057604051633351e26f60e01b815260048101839052602401610184565b83611dfb8242614363565b1115611e24576040516304e61d6960e31b81526004810182905260248101859052604401610184565b610aba856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e89919061444c565b60ff166001611e9785613170565b91905b60008083601203611eae578491505061045e565b8360121115611eda57506012839003611ed2611ecb82600a61432c565b86906118c5565b91505061045e565b506011198301611ed28582856131c6565b600061094784670de0b6b3a7640000858561321e565b60006109478484670de0b6b3a76400008561321e565b60008260000b600003611f2b57508261045e565b60008360000b1315611f5357611f4c611f4584600a61446f565b85906118c5565b905061045e565b60ff600084900316611ed28582856131c6565b60008060128403611f7a578491505061045e565b8360121115611f9457836012039050611ed28582856131c6565b506011198301611ed2611ecb82600a61432c565b6000828280821681831860011c01610aba565b60008167081ad01a501bffff19811115611feb57604051636149f6b960e01b815260048101849052602401610184565b5050670de0b6b3a76400008082068015159103020190565b600061045e61201b84670de0b6b3a76400008561326e565b90565b600081680736ea4425c11ac631811061204d57604051630d7b1d6560e11b815260048101849052602401610184565b6714057b7ef767814f810261094761206d670de0b6b3a7640000835b0490565b600081680a688906bd8b000000811061209c5760405163b3b6ba1f60e01b815260048101849052602401610184565b60006120b4670de0b6b3a7640000604084901b613f8e565b905061094761201b82613342565b600082828115806120d1575080155b156120e15760009250505061014d565b818102818382816120f4576120f4613f62565b041461211d5760405163ae7f3b3760e01b81526004810187905260248101869052604401610184565b610a2361201b82613aa3565b600061014d826ec097ce7bc90715b34b9f10000000008161206957612069613f62565b600061014d6714057b7ef767814f670de0b6b3a764000061216f61201b86612e0f565b028161206957612069613f62565b600081670de0b6b3a76400008110156121ac5760405163036d32ef60e41b815260048101849052602401610184565b82600181146128d857600a81146128e957606481146128fa576103e8811461290b57612710811461291c57620186a0811461292d57620f4240811461293e5762989680811461294f576305f5e100811461296057633b9aca008114612971576402540be40081146129825764174876e80081146129935764e8d4a5100081146129a4576509184e72a00081146129b557655af3107a400081146129c65766038d7ea4c6800081146129d757662386f26fc1000081146129e85767016345785d8a000081146129f957670de0b6b3a76400008114612a0a57678ac7230489e800008114612a135768056bc75e2d631000008114612a2357683635c9adc5dea000008114612a335769021e19e0c9bab24000008114612a435769152d02c7e14af68000008114612a535769d3c21bcecceda10000008114612a63576a084595161401484a0000008114612a73576a52b7d2dcc80cd2e40000008114612a83576b033b2e3c9fd0803ce80000008114612a93576b204fce5e3e250261100000008114612aa3576c01431e0fae6d7217caa00000008114612ab3576c0c9f2c9cd04674edea400000008114612ac3576c7e37be2022c0914b26800000008114612ad3576d04ee2d6d415b85acef81000000008114612ae3576d314dc6448d9338c15b0a000000008114612af3576e01ed09bead87c0378d8e64000000008114612b03576e13426172c74d822b878fe8000000008114612b13576ec097ce7bc90715b34b9f10000000008114612b23576f0785ee10d5da46d900f436a0000000008114612b33576f4b3b4ca85a86c47a098a2240000000008114612b44577002f050fe938943acc45f655680000000008114612b5557701d6329f1c35ca4bfabb9f56100000000008114612b6657710125dfa371a19e6f7cb54395ca00000000008114612b7757710b7abc627050305adf14a3d9e400000000008114612b88577172cb5bd86321e38cb6ce6682e800000000008114612b995772047bf19673df52e37f2410011d1000000000008114612baa57722cd76fe086b93ce2f768a00b22a000000000008114612bbb577301c06a5ec5433c60ddaa16406f5a4000000000008114612bcc5773118427b3b4a05bc8a8a4de8459868000000000008114612bdd5773af298d050e4395d69670b12b7f410000000000008114612bee577406d79f82328ea3da61e066ebb2f88a0000000000008114612bff5774446c3b15f9926687d2c40534fdb5640000000000008114612c10577502ac3a4edbbfb8014e3ba83411e915e80000000000008114612c2157751aba4714957d300d0e549208b31adb100000000000008114612c325776010b46c6cdd6e3e0828f4db456ff0c8ea00000000000008114612c4357760a70c3c40a64e6c51999090b65f67d92400000000000008114612c5457766867a5a867f103b2fffa5a71fba0e7b6800000000000008114612c65577704140c78940f6a24fdffc78873d4490d21000000000000008114612c76577728c87cb5c89a2571ebfdcb54864ada834a000000000000008114612c8757780197d4df19d605767337e9f14d3eec8920e4000000000000008114612c9857780fee50b7025c36a0802f236d04753d5b48e8000000000000008114612ca957789f4f2726179a224501d762422c946590d910000000000000008114612cba5779063917877cec0556b21269d695bdcbf7a87aa0000000000000008114612ccb57793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114612cdc577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114612ced577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008114612cfe577af316271c7fc3908a8bef464e3945ef7a25360a00000000000000008114612d0f577b097edd871cfda3a5697758bf0e3cbb5ac5741c6400000000000000008114612d20577b5ef4a74721e864761ea977768e5f518bb6891be800000000000000008114612d31577c03b58e88c75313ec9d329eaaa18fb92f75215b171000000000000000008114612d42577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a000000000000000008114612d53577d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000008114612d64577d0e7d34c64a9c85d4460dbbca87196b61618a4bd2168000000000000000008114612d75577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e10000000000000000008114612d86577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca0000000000000000008114612d97577e3899162693736ac531a5a58f1fbb4b746504382ca7e40000000000000000008114612da8577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114612db9577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114612dca577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114612ddb576000199250612de8565b67f9ccd8a1c507ffff199250612de8565b67ebec21ee1da3ffff199250612de8565b67de0b6b3a763fffff199250612de8565b67d02ab486cedbffff199250612de8565b67c249fdd32777ffff199250612de8565b67b469471f8013ffff199250612de8565b67a688906bd8afffff199250612de8565b6798a7d9b8314bffff199250612de8565b678ac7230489e7ffff199250612de8565b677ce66c50e283ffff199250612de8565b676f05b59d3b1fffff199250612de8565b676124fee993bbffff199250612de8565b6753444835ec57ffff199250612de8565b674563918244f3ffff199250612de8565b673782dace9d8fffff199250612de8565b6729a2241af62bffff199250612de8565b671bc16d674ec7ffff199250612de8565b670de0b6b3a763ffff199250612de8565b60009250612de8565b670de0b6b3a76400009250612de8565b671bc16d674ec800009250612de8565b6729a2241af62c00009250612de8565b673782dace9d9000009250612de8565b674563918244f400009250612de8565b6753444835ec5800009250612de8565b676124fee993bc00009250612de8565b676f05b59d3b2000009250612de8565b677ce66c50e28400009250612de8565b678ac7230489e800009250612de8565b6798a7d9b8314c00009250612de8565b67a688906bd8b000009250612de8565b67b469471f801400009250612de8565b67c249fdd3277800009250612de8565b67d02ab486cedc00009250612de8565b67de0b6b3a764000009250612de8565b67ebec21ee1da400009250612de8565b67f9ccd8a1c50800009250612de8565b680107ad8f556c6c00009250612de8565b6801158e460913d000009250612de8565b6801236efcbcbb3400009250612de8565b6801314fb370629800009250612de8565b68013f306a2409fc00009250612de8565b68014d1120d7b16000009250612de8565b68015af1d78b58c400009250612de8565b680168d28e3f002800009250612de8565b680176b344f2a78c00009250612de8565b68018493fba64ef000009250612de8565b68019274b259f65400009250612de8565b6801a055690d9db800009250612de8565b6801ae361fc1451c00009250612de8565b6801bc16d674ec8000009250612de8565b6801c9f78d2893e400009250612de8565b6801d7d843dc3b4800009250612de8565b6801e5b8fa8fe2ac00009250612de8565b6801f399b1438a1000009250612de8565b6802017a67f7317400009250612de8565b68020f5b1eaad8d800009250612de8565b68021d3bd55e803c00009250612de8565b68022b1c8c1227a000009250612de8565b680238fd42c5cf0400009250612de8565b680246ddf979766800009250612de8565b680254beb02d1dcc00009250612de8565b6802629f66e0c53000009250612de8565b680270801d946c9400009250612de8565b68027e60d44813f800009250612de8565b68028c418afbbb5c00009250612de8565b68029a2241af62c000009250612de8565b6802a802f8630a2400009250612de8565b6802b5e3af16b18800009250612de8565b6802c3c465ca58ec00009250612de8565b6802d1a51c7e005000009250612de8565b6802df85d331a7b400009250612de8565b6802ed6689e54f1800009250612de8565b6802fb474098f67c00009250612de8565b68030927f74c9de000009250612de8565b68031708ae00454400009250612de8565b680324e964b3eca800009250612de8565b680332ca1b67940c000092505b50600019820361128a5761045e672e19dc008126bf2b670de0b6b3a764000061216f61201b875b600081670de0b6b3a7640000811015612e3e5760405163036d32ef60e41b815260048101849052602401610184565b6000612eca670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff198101612ef35750949350505050565b671bc16d674ec800006706f05b59d3b200005b8015612f3657670de0b6b3a7640000838002049250818310612f2e579283019260019290921c915b60011c612f06565b50919695505050505050565b600061045e61201b8484613c1b565b60008282818303612f7a578015612f69576000612f73565b670de0b6b3a76400005b9250612fa6565b670de0b6b3a76400008103612f9157849250612fa6565b610aba61206d612fa087612e0f565b86612f42565b505092915050565b6000828160018416612fc857670de0b6b3a7640000612fca565b815b9050600184901c93505b831561300857612fe48283613c1b565b91506001841615612ffc57612ff98183613c1b565b90505b600184901c9350612fd4565b80610aba565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f2181111561304e5760405163edc236ad60e01b815260048101849052602401610184565b61045e61201b670de0b6b3a76400008302613aa3565b60008160088111156130885760405162461bcd60e51b81526004016101849061447e565b82600003613099576000915061066e565b5050600019016020021c63ffffffff1690565b60008260088111156130d05760405162461bcd60e51b81526004016101849061447e565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156131105760405162461bcd60e51b81526004016101849061447e565b6000855b8581101561313c5763ffffffff6020820290811b199890981685891b17979150600101613114565b50959695505050505050565b8060200283015b8084101561316a57835183526020938401939092019161314f565b50505050565b6000808212156131c25760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610184565b5090565b6000806131d484600a61432c565b905060006131e28287613f8e565b905060018460028111156131f8576131f86140de565b14801561320e575061320a828261434c565b8614155b15610aba57610a236001826140cb565b60008061322c868686613ccf565b90506001836002811115613242576132426140de565b14801561320e57506000848061325a5761325a613f62565b8688091115610aba57610a236001826140cb565b60008080600019858709858702925082811083820303915050806000036132a85783828161329e5761329e613f62565b049250505061045e565b8381106132d957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610184565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff0000000000000082161561344f576780000000000000008216156133765768016a09e667f3bcc9090260401c5b674000000000000000821615613395576801306fe0a31b7152df0260401c5b6720000000000000008216156133b4576801172b83c7d517adce0260401c5b6710000000000000008216156133d35768010b5586cf9890f62a0260401c5b6708000000000000008216156133f2576801059b0d31585743ae0260401c5b67040000000000000082161561341157680102c9a3e778060ee70260401c5b6702000000000000008216156134305768010163da9fb33356d80260401c5b67010000000000000082161561344f57680100b1afa5abcbed610260401c5b66ff00000000000082161561354e57668000000000000082161561347c5768010058c86da1c09ea20260401c5b664000000000000082161561349a576801002c605e2e8cec500260401c5b66200000000000008216156134b857680100162f3904051fa10260401c5b66100000000000008216156134d6576801000b175effdc76ba0260401c5b66080000000000008216156134f457680100058ba01fb9f96d0260401c5b66040000000000008216156135125768010002c5cc37da94920260401c5b6602000000000000821615613530576801000162e525ee05470260401c5b660100000000000082161561354e5768010000b17255775c040260401c5b65ff00000000008216156136445765800000000000821615613579576801000058b91b5bc9ae0260401c5b6540000000000082161561359657680100002c5c89d5ec6d0260401c5b652000000000008216156135b35768010000162e43f4f8310260401c5b651000000000008216156135d057680100000b1721bcfc9a0260401c5b650800000000008216156135ed5768010000058b90cf1e6e0260401c5b6504000000000082161561360a576801000002c5c863b73f0260401c5b6502000000000082161561362757680100000162e430e5a20260401c5b65010000000000821615613644576801000000b1721835510260401c5b64ff000000008216156137315764800000000082161561366d57680100000058b90c0b490260401c5b6440000000008216156136895768010000002c5c8601cc0260401c5b6420000000008216156136a5576801000000162e42fff00260401c5b6410000000008216156136c15768010000000b17217fbb0260401c5b6408000000008216156136dd576801000000058b90bfce0260401c5b6404000000008216156136f957680100000002c5c85fe30260401c5b6402000000008216156137155768010000000162e42ff10260401c5b64010000000082161561373157680100000000b17217f80260401c5b64ff000000008216156138165763800000008216156137595768010000000058b90bfc0260401c5b6340000000821615613774576801000000002c5c85fe0260401c5b632000000082161561378f57680100000000162e42ff0260401c5b63100000008216156137aa576801000000000b17217f0260401c5b63080000008216156137c557680100000000058b90c00260401c5b63040000008216156137e05768010000000002c5c8600260401c5b63020000008216156137fb576801000000000162e4300260401c5b63010000008216156138165768010000000000b172180260401c5b62ff00008216156138f1576280000082161561383b576801000000000058b90c0260401c5b6240000082161561385557680100000000002c5c860260401c5b6220000082161561386f5768010000000000162e430260401c5b6210000082161561388957680100000000000b17210260401c5b620800008216156138a35768010000000000058b910260401c5b620400008216156138bd576801000000000002c5c80260401c5b620200008216156138d757680100000000000162e40260401c5b620100008216156138f1576801000000000000b1720260401c5b61ff008216156139c35761800082161561391457680100000000000058b90260401c5b61400082161561392d5768010000000000002c5d0260401c5b612000821615613946576801000000000000162e0260401c5b61100082161561395f5768010000000000000b170260401c5b610800821615613978576801000000000000058c0260401c5b61040082161561399157680100000000000002c60260401c5b6102008216156139aa57680100000000000001630260401c5b6101008216156139c357680100000000000000b10260401c5b60ff821615613a8c5760808216156139e457680100000000000000590260401c5b60408216156139fc576801000000000000002c0260401c5b6020821615613a1457680100000000000000160260401c5b6010821615613a2c576801000000000000000b0260401c5b6008821615613a4457680100000000000000060260401c5b6004821615613a5c57680100000000000000030260401c5b6002821615613a7457680100000000000000010260401c5b6001821615613a8c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b600081600003613ab557506000919050565b50600181600160801b8110613acf5760409190911b9060801c5b680100000000000000008110613aea5760209190911b9060401c5b6401000000008110613b015760109190911b9060201c5b620100008110613b165760089190911b9060101c5b6101008110613b2a5760049190911b9060081c5b60108110613b3d5760029190911b9060041c5b60048110613b4d57600182901b91505b6001828481613b5e57613b5e613f62565b048301901c91506001828481613b7657613b76613f62565b048301901c91506001828481613b8e57613b8e613f62565b048301901c91506001828481613ba657613ba6613f62565b048301901c91506001828481613bbe57613bbe613f62565b048301901c91506001828481613bd657613bd6613f62565b048301901c91506001828481613bee57613bee613f62565b048301901c91506000828481613c0657613c06613f62565b049050808310613c14578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a76400008110613c6657604051635173648d60e01b81526004810186905260248101859052604401610184565b6000670de0b6b3a7640000858709905081600003613c92575050670de0b6b3a76400009004905061014d565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b6000808060001985870985870292508281108382030391505080600003613cff5783828161329e5761329e613f62565b8084116132d957600080fd5b613d136144a0565b565b600060208284031215613d2757600080fd5b81356001600160e01b03198116811461045e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613d7e57613d7e613d3f565b604052919050565b600067ffffffffffffffff821115613da057613da0613d3f565b5060051b60200190565b600082601f830112613dbb57600080fd5b81356020613dd0613dcb83613d86565b613d55565b82815260059290921b84018101918181019086841115613def57600080fd5b8286015b84811015613e0a5780358352918301918301613df3565b509695505050505050565b600080600060608486031215613e2a57600080fd5b833567ffffffffffffffff80821115613e4257600080fd5b818601915086601f830112613e5657600080fd5b81356020613e66613dcb83613d86565b82815260059290921b8401810191818101908a841115613e8557600080fd5b8286015b84811015613f1257803586811115613ea15760008081fd5b8701603f81018d13613eb35760008081fd5b84810135604088821115613ec957613ec9613d3f565b613edb601f8301601f19168801613d55565b8281528f82848601011115613ef05760008081fd5b8282850189830137600092810188019290925250845250918301918301613e89565b5097505087013592505080821115613f2957600080fd5b613f3587838801613daa565b93506040860135915080821115613f4b57600080fd5b50613f5886828701613daa565b9150509250925092565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082613f9d57613f9d613f62565b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201613fca57613fca613f78565b5060010190565b600081518084526020808501945080840160005b8381101561400157815187529582019590820190600101613fe5565b509495945050505050565b60006080820160018060a01b0387168352602060808185015281875180845260a08601915060a08160051b87010193508289016000805b8381101561409f57888703609f1901855282518051808952835b81811015614078578281018901518a82018a0152880161405d565b508881018801849052601f01601f1916909701860196509385019391850191600101614043565b50505050505082810360408401526140b78186613fd1565b90508281036060840152610bf78185613fd1565b8082018082111561014d5761014d613f78565b634e487b7160e01b600052602160045260246000fd5b815160009082906020808601845b8381101561411e57815185529382019390820190600101614102565b50929695505050505050565b60006020828403121561413c57600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b828110156141855781516001600160a01b031684529284019290840190600101614160565b50505083810382850152610a238186613fd1565b600060208083850312156141ac57600080fd5b825167ffffffffffffffff8111156141c357600080fd5b8301601f810185136141d457600080fd5b80516141e2613dcb82613d86565b81815260059190911b8201830190838101908783111561420157600080fd5b928401925b82841015610bf757835182529284019290840190614206565b60006020828403121561423157600080fd5b81516001600160a01b038116811461045e57600080fd5b600181815b8085111561428357816000190482111561426957614269613f78565b8085161561427657918102915b93841c939080029061424d565b509250929050565b60008261429a5750600161014d565b816142a75750600061014d565b81600181146142bd57600281146142c7576142e3565b600191505061014d565b60ff8411156142d8576142d8613f78565b50506001821b61014d565b5060208310610133831016604e8410600b8410161715614306575081810a61014d565b6143108383614248565b806000190482111561432457614324613f78565b029392505050565b600061045e838361428b565b60008261434757614347613f62565b500690565b808202811582820484141761014d5761014d613f78565b8181038181111561014d5761014d613f78565b60006020828403121561438857600080fd5b81516004811061045e57600080fd5b6001600160a01b038316815260406020820181905260009061094790830184613fd1565b60018060a01b0384168152826020820152606060408201526000610aba6060830184613fd1565b805169ffffffffffffffffffff811681146111a857600080fd5b600080600080600060a0868803121561441457600080fd5b61441d866143e2565b9450602086015193506040860151925060608601519150614440608087016143e2565b90509295509295909350565b60006020828403121561445e57600080fd5b815160ff8116811461045e57600080fd5b600061045e60ff84168361428b565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfe0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687a264697066735822122005fc8004cc18fb8fb6b9eb7e3de204c7e425c2418148587803f2376f3584ca4664736f6c634300081200330ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687", - "sourceMap": "3472:8711:121:-:0;;;4762:2358;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4864:27;4909:7;:19;;;4864:65;;5085:30;5118:12;-1:-1:-1;;;;;5118:29:121;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5118:31:121;;;;;;;;;;;;:::i;:::-;5085:64;;5218:24;;;;;;;;;;;;;;;;;5208:35;;;;;;5186:17;5176:28;;;;;;:67;5159:164;;5294:17;5275:37;;-1:-1:-1;;;5275:37:121;;;;;;;;:::i;:::-;;;;;;;;5159:164;5488:25;;2495:66;5536:45;;5532:249;;5719:51;;-1:-1:-1;;;5719:51:121;;;;;3231:25:282;;;3204:18;;5719:51:121;3085:177:282;5532:249:121;5897:13;;;;6002:19;;2661:66;6044:33;;6040:225;;6215:39;;-1:-1:-1;;;6215:39:121;;;;;3231:25:282;;;3204:18;;6215:39:121;3085:177:282;6040:225:121;6532:12;;;;6522:23;;;;;;;2813:66;6559:27;;6555:98;;6609:33;;-1:-1:-1;;;6609:33:121;;;;;3231:25:282;;;3204:18;;6609:33:121;3085:177:282;6555:98:121;-1:-1:-1;;;;;6663:26:121;;;;;6699:14;;;;6801:19;;6834:13;;;;6861:12;;;;;6729:154;;;;;;6750:10;;6782:4;;6729:154;:::i;:::-;;;;;;;;7025:37;;;;;;;;;;;;;;;;6976:100;;-1:-1:-1;;;6976:100:121;;368:42:21;;6894:41:121;;6957:4;;368:42:21;;6976:31:121;;:100;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6894:219;;-1:-1:-1;;;;;;6894:219:121;;;;;;;-1:-1:-1;;;;;4521:15:282;;;6894:219:121;;;4503:34:282;4553:18;;;4546:34;7098:4:121;4596:18:282;;;4589:43;4438:18;;6894:219:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4854:2266;;;;;;4762:2358;3472:8711;;14:127:282;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:282;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:250::-;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:282;552:16;;545:27;328:250::o;583:698::-;636:5;689:3;682:4;674:6;670:17;666:27;656:55;;707:1;704;697:12;656:55;730:13;;-1:-1:-1;;;;;792:10:282;;;789:36;;;805:18;;:::i;:::-;880:2;874:9;848:2;934:13;;-1:-1:-1;;930:22:282;;;954:2;926:31;922:40;910:53;;;978:18;;;998:22;;;975:46;972:72;;;1024:18;;:::i;:::-;1064:10;1060:2;1053:22;1099:2;1091:6;1084:18;1145:3;1138:4;1133:2;1125:6;1121:15;1117:26;1114:35;1111:55;;;1162:1;1159;1152:12;1111:55;1175:76;1248:2;1241:4;1233:6;1229:17;1222:4;1214:6;1210:17;1175:76;:::i;:::-;1269:6;583:698;-1:-1:-1;;;;;;583:698:282:o;1286:957::-;1424:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:52;;;1493:1;1490;1483:12;1445:52;1520:16;;-1:-1:-1;;;;;1585:14:282;;;1582:34;;;1612:1;1609;1602:12;1582:34;1635:22;;;;1691:4;1673:16;;;1669:27;1666:47;;;1709:1;1706;1699:12;1666:47;1742:2;1736:9;1784:4;1776:6;1772:17;1839:6;1827:10;1824:22;1819:2;1807:10;1804:18;1801:46;1798:72;;;1850:18;;:::i;:::-;1886:2;1879:22;1925:33;1955:2;1925:33;:::i;:::-;1917:6;1910:49;1992:42;2030:2;2026;2022:11;1992:42;:::i;:::-;1987:2;1979:6;1975:15;1968:67;2074:2;2070;2066:11;2060:18;2103:2;2093:8;2090:16;2087:36;;;2119:1;2116;2109:12;2087:36;2156:55;2203:7;2192:8;2188:2;2184:17;2156:55;:::i;:::-;2151:2;2139:15;;2132:80;-1:-1:-1;2143:6:282;1286:957;-1:-1:-1;;;;;1286:957:282:o;2248:335::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2423:16;;-1:-1:-1;;;;;2451:30:282;;2448:50;;;2494:1;2491;2484:12;2448:50;2517:60;2569:7;2560:6;2549:9;2545:22;2517:60;:::i;:::-;2507:70;2248:335;-1:-1:-1;;;;2248:335:282:o;2588:270::-;2629:3;2667:5;2661:12;2694:6;2689:3;2682:19;2710:76;2779:6;2772:4;2767:3;2763:14;2756:4;2749:5;2745:16;2710:76;:::i;:::-;2840:2;2819:15;-1:-1:-1;;2815:29:282;2806:39;;;;2847:4;2802:50;;2588:270;-1:-1:-1;;2588:270:282:o;2863:217::-;3010:2;2999:9;2992:21;2973:4;3030:44;3070:2;3059:9;3055:18;3047:6;3030:44;:::i;:::-;3022:52;2863:217;-1:-1:-1;;;2863:217:282:o;3267:578::-;-1:-1:-1;;;;;3564:15:282;;;3546:34;;3616:15;;;3611:2;3596:18;;3589:43;3668:15;;;3663:2;3648:18;;3641:43;3720:15;;3715:2;3700:18;;3693:43;3526:3;3767;3752:19;;3745:32;;;3489:4;;3794:45;;3819:19;;3811:6;3794:45;:::i;:::-;3786:53;3267:578;-1:-1:-1;;;;;;;3267:578:282:o;4074:184::-;4144:6;4197:2;4185:9;4176:7;4172:23;4168:32;4165:52;;;4213:1;4210;4203:12;4165:52;-1:-1:-1;4236:16:282;;4074:184;-1:-1:-1;4074:184:282:o;4263:375::-;3472:8711:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780633a35cf17146100795780635511cb67146100b8578063975057e7146100f5575b600080fd5b61006461005f366004613d15565b61011c565b60405190151581526020015b60405180910390f35b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610070565b6100cb6100c6366004613e15565b610153565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610070565b6100a07f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216635511cb6760e01b148061014d57506001600160e01b031982166301ffc9a760e01b145b92915050565b600080600085518451111561018d5783518651604051637d2d70db60e01b8152600481019290925260248201526044015b60405180910390fd5b60006101a1878761019c610386565b6103c8565b604081015160608201519192509060005b875181101561020d5760408401839052606084018290526101fa84826101db6002600019613f8e565b8b85815181106101ed576101ed613fa2565b6020026020010151610465565b508061020581613fb8565b9150506101b2565b50600061022b8460800151856040015161053e90919063ffffffff16565b90507ff66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786338b8b8b604051610262949392919061400c565b60405180910390a16000806102b961027b8d8d86610547565b60408051602c8301601f1916810190915261ffff60e81b600190920160e81b919091166b61000080600c6000396000f360a01b17815290600d820190565b915091506102e2818d8d866040518060e0016040528060a281526020016144b760a291396105c8565b60006102ed8361062d565b604080513381526001600160a01b03831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000009d7f00000000000000000000000000000000000000000000000000000000000000009d50909b509950505050505050505050565b6040805160008082526020820190925260609190816103b6565b613d0b8152602001906001900390816103a05790505b5090506103c281610675565b91505090565b6104016040518060c001604052806060815260200160008152602001600081526020016000815260200160008152602001606081525090565b6040805160c081018252858152845160208201529081016104256002600019613f8e565b815260200161044161043a6002600019613f8e565b601f190190565b81526020016104536002600019613f8e565b815260200183905290505b9392505050565b6000600260001904856040015110156104915760405163271592cf60e01b815260040160405180910390fd5b845160208581029091010151805181015b808210156104fc57600080600484019350835161ffff8116915061ffff8160101c169250506104f38982898c60a0015186815181106104e3576104e3613fa2565b602002602001015163ffffffff16565b965050506104a2565b6040870151602090860304808511156105325760405163f993c6e760e01b81526004810186905260248101829052604401610184565b50939695505050505050565b60209190030490565b6000806105556020826140cb565b9050610565845160209081020190565b61056f90826140cb565b905060005b85518110156105bf576105a186828151811061059257610592613fa2565b60200260200101515160200190565b6105ab90836140cb565b9150806105b781613fb8565b915050610574565b50949350505050565b818552602085016105d98185610957565b9050606060005b8651811015610623578681815181106105fb576105fb613fa2565b6020026020010151915061060f8285610977565b61061983836109b9565b92506001016105e0565b5050505050505050565b6000806000600d9050835160e81c61ffff168101846000f091506001600160a01b03821661066e5760405163046a55db60e11b815260040160405180910390fd5b5092915050565b6060600060405180610a40016040528061068d605190565b67ffffffffffffffff1667ffffffffffffffff1681526020016109d98152602001610a2d8152602001610a778152602001610a8f8152602001610a9e8152602001610a9e8152602001610aaa8152602001610ac38152602001610b178152602001610b8e8152602001610bab8152602001610c028152602001610c648152602001610ce28152602001610d888152602001610d988152602001610da78152602001610db78152602001610dc68152602001610dd58152602001610de48152602001610df38152602001610db78152602001610e028152602001610e118152602001610a9e8152602001610a9e8152602001610e218152602001610e318152602001610e418152602001610e518152602001610e618152602001610e718152602001610e818152602001610e918152602001610ea18152602001610eb08152602001610ebf8152602001610ece8152602001610edd8152602001610eec8152602001610efb8152602001610f0c8152602001610f298152602001610efb8152602001610f388152602001610f478152602001610f568152602001610f658152602001610f748152602001610f838152602001610f928152602001610fa18152602001610fb08152602001610fbf8152602001610fce8152602001610fdd8152602001610fec8152602001610ffb815260200161100a81526020016110198152602001611028815260200161103781526020016110468152602001611055815260200161106581526020016110758152602001611085815260200161109481526020016110a381526020016110b281526020016110c181526020016110d081526020016110df8152602001610aaa81526020016110ee81526020016110fe815260200161110e815260200161111e815260200161112d81526020016111688152509050600061093982611177565b905061094581856111ad565b805b949350505050565b815260200190565b600061045e8261097184518661094f90919063ffffffff16565b906111e3565b815161ffff9061ffff1990840160028481019086015b828110156109b0578051858116600202830151861690851617815260040161098d565b50505050505050565b600061045e826109d384518661094f90919063ffffffff16565b906111fb565b600060ff600884901c81169084166101008183011115610a16576040516316655de160e11b81526004810183905260248101829052604401610184565b610a23868561121561122d565b9695505050505050565b600060ff600884901c81169084166101008183011115610a6a576040516316655de160e11b81526004810183905260248101829052604401610184565b610a238685611243611269565b6000610947610a86858461127a565b85906008611290565b600061094784836112ce611269565b600061094784836112da565b6000613d0b610aba85848361122d565b95945050505050565b6000600f83811690600885811c91821691600c87901c91828401916010600160f81b03169088901b610f0016178117610afd8988866112e9565b9650610b0a898289610b17565b9998505050505050505050565b60408301516060840151600091600f85811692600487901c90911691600887901c91610b448988876112fd565b60408a0152601f19870160608a0152610b5f89848987610465565b50606089018190526040890151610b78908a9086611290565b6040999099019190915250959695505050505050565b6000826003811115610ba257610ba26140de565b50909392505050565b600060ff8316600f8110610bd55760405163316e6a3760e01b815260048101829052602401610184565b60018101600481901b8517610bf7610bee888388610b17565b88906001611317565b979650505050505050565b6020830151600090601f84811691600586901c90911690600a86901c908110610c4e576020870151604051634485473560e11b8152600481019190915260248101829052604401610184565b610bf7610c5c8887866112fd565b889084611290565b6000600c83901c600f80851690600486901c1681811015610ca25760405163508a8d2f60e01b81526004810183905260248101829052604401610184565b6060870151610fff87169060005b85811015610cd45760608a01829052610cca8a848a610b17565b9750600101610cb0565b509598975050505050505050565b600060018381169084901c81610d4a576040860151602090850304808210610d2757604051630e5b9e0b60e11b81526004810182905260248101839052604401610184565b60408701516060880151610d3f916020850201611324565b606088015250610d7e565b85602001518110610d7e576020860151604051634485473560e11b8152600481019190915260248101829052604401610184565b610a2386856112da565b6000610947848361133a8661136b565b6000610947848361137b6113ef565b6000610947848361140086611476565b60006109478483611494611269565b6000610947848361150361122d565b600061094784836115676113ef565b600061094784836115a0611269565b600061094784836115d061122d565b60006109478483611643611269565b600061094784836116bf866116cc565b600061094784836116d98661136b565b600061094784836116e58661136b565b600061094784836116f18661136b565b600061094784836113248661136b565b600061094784836116fd8661136b565b6000610947848361170c8661136b565b600061094784836117188661136b565b600061094784836117248661136b565b6000610947848361173061122d565b60006109478483611757611269565b60006109478483611770611269565b6000610947848361178b611269565b600061094784836117a461122d565b600061094784836117b161122d565b6000613d0b610aba8584838761136b565b6000610947826117be610f208660016140cb565b87929190611476565b600061094784836117ce611269565b600061094784836117d2611269565b600061094784836117d661122d565b600061094784836117da611269565b600061094784836117de611269565b600061094784836117ea61122d565b600061094784836117f5611269565b6000610947848361180161122d565b6000610947848361180c61122d565b6000610947848361181761122d565b6000610947848361182f61122d565b60006109478483611841611269565b6000610947848361184d61122d565b6000610947848361185861122d565b6000610947848361186361122d565b6000610947848361186e61122d565b60006109478483611879611269565b60006109478483611885611269565b60006109478483611891611269565b6000610947848361189d61122d565b600061094784836118a88661136b565b600061094784836118c58661136b565b600061094784836118f68661136b565b6000610947848361190c61199b565b600061094784836119ac61122d565b600061094784836119ec61122d565b60006109478483611a2c61122d565b60006109478483611aa161122d565b60006109478483611ae161122d565b60006109478483611b216113ef565b6000613d0b610aba858483611b5a565b60006109478483611b6886611b99565b60006109478483611bac86611c20565b60006109478483611c33611269565b600060ff83168082036111535760405163904c1f6d60e01b815260040160405180910390fd5b610aba6111618685846112fd565b86906112da565b60006109478483611c92611269565b805181906051146111a857805160405163c8b5690160e01b8152600481019190915260516024820152604401610184565b919050565b6040518251825160208083028601018311156111c857600080fd5b6020810283016040520183526111de8282611caa565b505050565b60006111ef8284611caa565b8151602002830161045e565b600061120c60208301848451611cbe565b8151830161045e565b60ff80831660020a6000190160089390931c161c1690565b600061094761123c858561127a565b85906112da565b60ff83811660020a6000190192831660089490941c1692831b9190921b19919091161790565b600061094761123c858560026112fd565b601f1901600061128a8383611cfe565b50919050565b6000602082028301925060018211156112bc576112b6601f198401606086015190611324565b60608501525b6112c68484611d49565b509092915050565b600061045e8383611d5e565b602001600061128a8383611d49565b600060208202830192506112c68484611d49565b600081156112c65760208202830392506112c68484611cfe565b6000602082028303610947565b6000818311611333578161045e565b5090919050565b60008160405160200161134d91906140f4565b60408051601f19818403018152919052805160209091012092915050565b6000610aba6111618686856112fd565b604051627eeac760e11b81526001600160a01b038381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610947919061412a565b600061094761123c858560036112fd565b6040516313849cfd60e21b81526060906001600160a01b03851690634e1273f4906114319086908690600401614143565b600060405180830381865afa15801561144e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190614199565b6000610aba61148c8686600160028702016112fd565b869084611290565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a08231906024015b602060405180830381865afa1580156114df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045e919061412a565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d919061412a565b60405163277166bf60e11b81526001600160a01b0383811660048301526024820183905260009190851690634ee2cd7e906044016113ae565b604051630981b24d60e41b8152600481018290526000906001600160a01b0384169063981b24d0906024016114c2565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611634919061421f565b6001600160a01b031692915050565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa15801561168b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116af919061421f565b6001600160a01b03169392505050565b806116c957600080fd5b50565b6000610aba8585846112fd565b600061045e82846140cb565b600061045e8284613f8e565b600061045e828461432c565b6000818310611333578161045e565b600061045e8284614338565b600061045e828461434c565b600061045e8284614363565b600061045e600184901c60018516600281111561174f5761174f6140de565b849190611e9a565b60006109478282611769868883611e9a565b9190611eeb565b60006109478360018616600281111561174f5761174f6140de565b6000610947828261179d868883611e9a565b9190611f01565b600061045e828483611f17565b600061045e828483611f66565b6060600084116112c65781610947565b1490565b1090565b1590565b1190565b600061045e8383611fa8565b600061014d82611fbb565b600061045e8383612003565b600061014d8261201e565b600061014d8261206d565b6000670de0b6b3a7640000820680151502820361014d565b6000670de0b6b3a7640000820661014d565b600061045e83836120c2565b600061014d82612129565b600061014d8261214c565b600061014d8261217d565b600061014d82612e0f565b600061045e8383612f42565b600061045e8383612f51565b600061045e8383612fae565b600061014d8261300e565b60008282018381106118ba5780610947565b600019949350505050565b6000826000036118d75750600061014d565b828202828482816118ea576118ea613f62565b04036118ba5780610947565b600081831161190657600061045e565b50900390565b604051631b2f65c960e31b81526001600160a01b0384811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611989919061412a565b6001600160a01b031695945050505050565b600061094761123c858560046112fd565b6000816001600160a01b031663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6000816001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b031663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a909190614376565b600381111561014d5761014d6140de565b6000816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611610573d6000803e3d6000fd5b6000816001600160a01b03166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b6040516336e1553f60e21b81526001600160a01b038381166004830152602482018390526000919085169063db8554fc906044016113ae565b6000610947848460026112fd565b604051632235a18160e21b81526000906001600160a01b038516906388d68604906113ae9086908690600401614397565b6000610aba6111618686600286016112fd565b60405163caa0eb3b60e01b81526000906001600160a01b0386169063caa0eb3b90611bdf908790879087906004016143bb565b602060405180830381865afa158015611bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba919061412a565b6000610aba6111618686600386016112fd565b60008060015b60088111611c8a576000611c4d8683613064565b90506000611c5b8684613064565b90506000611c6983836118f6565b9050611c798560018603836130ac565b94505060019092019150611c399050565b509392505050565b60006109478385600f16600487901c600f16856130ec565b60006020830190506111de81838551613148565b5b60208110611cde578251825260209283019290910190601f1901611cbf565b80156111de57600019600882021c80835116811985511617835250505050565b81606001518111611d455760608201516040830151602091030460408301516020908303046040516318978cb960e21b815260048101929092526024820152604401610184565b5050565b8160800151811115611d455760809190910152565b6000806000846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611da1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc591906143fc565b5093505092505060008213611df057604051633351e26f60e01b815260048101839052602401610184565b83611dfb8242614363565b1115611e24576040516304e61d6960e31b81526004810182905260248101859052604401610184565b610aba856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e89919061444c565b60ff166001611e9785613170565b91905b60008083601203611eae578491505061045e565b8360121115611eda57506012839003611ed2611ecb82600a61432c565b86906118c5565b91505061045e565b506011198301611ed28582856131c6565b600061094784670de0b6b3a7640000858561321e565b60006109478484670de0b6b3a76400008561321e565b60008260000b600003611f2b57508261045e565b60008360000b1315611f5357611f4c611f4584600a61446f565b85906118c5565b905061045e565b60ff600084900316611ed28582856131c6565b60008060128403611f7a578491505061045e565b8360121115611f9457836012039050611ed28582856131c6565b506011198301611ed2611ecb82600a61432c565b6000828280821681831860011c01610aba565b60008167081ad01a501bffff19811115611feb57604051636149f6b960e01b815260048101849052602401610184565b5050670de0b6b3a76400008082068015159103020190565b600061045e61201b84670de0b6b3a76400008561326e565b90565b600081680736ea4425c11ac631811061204d57604051630d7b1d6560e11b815260048101849052602401610184565b6714057b7ef767814f810261094761206d670de0b6b3a7640000835b0490565b600081680a688906bd8b000000811061209c5760405163b3b6ba1f60e01b815260048101849052602401610184565b60006120b4670de0b6b3a7640000604084901b613f8e565b905061094761201b82613342565b600082828115806120d1575080155b156120e15760009250505061014d565b818102818382816120f4576120f4613f62565b041461211d5760405163ae7f3b3760e01b81526004810187905260248101869052604401610184565b610a2361201b82613aa3565b600061014d826ec097ce7bc90715b34b9f10000000008161206957612069613f62565b600061014d6714057b7ef767814f670de0b6b3a764000061216f61201b86612e0f565b028161206957612069613f62565b600081670de0b6b3a76400008110156121ac5760405163036d32ef60e41b815260048101849052602401610184565b82600181146128d857600a81146128e957606481146128fa576103e8811461290b57612710811461291c57620186a0811461292d57620f4240811461293e5762989680811461294f576305f5e100811461296057633b9aca008114612971576402540be40081146129825764174876e80081146129935764e8d4a5100081146129a4576509184e72a00081146129b557655af3107a400081146129c65766038d7ea4c6800081146129d757662386f26fc1000081146129e85767016345785d8a000081146129f957670de0b6b3a76400008114612a0a57678ac7230489e800008114612a135768056bc75e2d631000008114612a2357683635c9adc5dea000008114612a335769021e19e0c9bab24000008114612a435769152d02c7e14af68000008114612a535769d3c21bcecceda10000008114612a63576a084595161401484a0000008114612a73576a52b7d2dcc80cd2e40000008114612a83576b033b2e3c9fd0803ce80000008114612a93576b204fce5e3e250261100000008114612aa3576c01431e0fae6d7217caa00000008114612ab3576c0c9f2c9cd04674edea400000008114612ac3576c7e37be2022c0914b26800000008114612ad3576d04ee2d6d415b85acef81000000008114612ae3576d314dc6448d9338c15b0a000000008114612af3576e01ed09bead87c0378d8e64000000008114612b03576e13426172c74d822b878fe8000000008114612b13576ec097ce7bc90715b34b9f10000000008114612b23576f0785ee10d5da46d900f436a0000000008114612b33576f4b3b4ca85a86c47a098a2240000000008114612b44577002f050fe938943acc45f655680000000008114612b5557701d6329f1c35ca4bfabb9f56100000000008114612b6657710125dfa371a19e6f7cb54395ca00000000008114612b7757710b7abc627050305adf14a3d9e400000000008114612b88577172cb5bd86321e38cb6ce6682e800000000008114612b995772047bf19673df52e37f2410011d1000000000008114612baa57722cd76fe086b93ce2f768a00b22a000000000008114612bbb577301c06a5ec5433c60ddaa16406f5a4000000000008114612bcc5773118427b3b4a05bc8a8a4de8459868000000000008114612bdd5773af298d050e4395d69670b12b7f410000000000008114612bee577406d79f82328ea3da61e066ebb2f88a0000000000008114612bff5774446c3b15f9926687d2c40534fdb5640000000000008114612c10577502ac3a4edbbfb8014e3ba83411e915e80000000000008114612c2157751aba4714957d300d0e549208b31adb100000000000008114612c325776010b46c6cdd6e3e0828f4db456ff0c8ea00000000000008114612c4357760a70c3c40a64e6c51999090b65f67d92400000000000008114612c5457766867a5a867f103b2fffa5a71fba0e7b6800000000000008114612c65577704140c78940f6a24fdffc78873d4490d21000000000000008114612c76577728c87cb5c89a2571ebfdcb54864ada834a000000000000008114612c8757780197d4df19d605767337e9f14d3eec8920e4000000000000008114612c9857780fee50b7025c36a0802f236d04753d5b48e8000000000000008114612ca957789f4f2726179a224501d762422c946590d910000000000000008114612cba5779063917877cec0556b21269d695bdcbf7a87aa0000000000000008114612ccb57793e3aeb4ae1383562f4b82261d969f7ac94ca40000000000000008114612cdc577a026e4d30eccc3215dd8f3157d27e23acbdcfe680000000000000008114612ced577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008114612cfe577af316271c7fc3908a8bef464e3945ef7a25360a00000000000000008114612d0f577b097edd871cfda3a5697758bf0e3cbb5ac5741c6400000000000000008114612d20577b5ef4a74721e864761ea977768e5f518bb6891be800000000000000008114612d31577c03b58e88c75313ec9d329eaaa18fb92f75215b171000000000000000008114612d42577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a000000000000000008114612d53577d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000008114612d64577d0e7d34c64a9c85d4460dbbca87196b61618a4bd2168000000000000000008114612d75577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e10000000000000000008114612d86577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca0000000000000000008114612d97577e3899162693736ac531a5a58f1fbb4b746504382ca7e40000000000000000008114612da8577546bf5bb0385045767e0f0ef2e7aa1e517e454637d1dd604b1b8114612db9577f161bcca7119915b50764b4abe86529797775a5f17195100000000000000000008114612dca577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a00000000000000000008114612ddb576000199250612de8565b67f9ccd8a1c507ffff199250612de8565b67ebec21ee1da3ffff199250612de8565b67de0b6b3a763fffff199250612de8565b67d02ab486cedbffff199250612de8565b67c249fdd32777ffff199250612de8565b67b469471f8013ffff199250612de8565b67a688906bd8afffff199250612de8565b6798a7d9b8314bffff199250612de8565b678ac7230489e7ffff199250612de8565b677ce66c50e283ffff199250612de8565b676f05b59d3b1fffff199250612de8565b676124fee993bbffff199250612de8565b6753444835ec57ffff199250612de8565b674563918244f3ffff199250612de8565b673782dace9d8fffff199250612de8565b6729a2241af62bffff199250612de8565b671bc16d674ec7ffff199250612de8565b670de0b6b3a763ffff199250612de8565b60009250612de8565b670de0b6b3a76400009250612de8565b671bc16d674ec800009250612de8565b6729a2241af62c00009250612de8565b673782dace9d9000009250612de8565b674563918244f400009250612de8565b6753444835ec5800009250612de8565b676124fee993bc00009250612de8565b676f05b59d3b2000009250612de8565b677ce66c50e28400009250612de8565b678ac7230489e800009250612de8565b6798a7d9b8314c00009250612de8565b67a688906bd8b000009250612de8565b67b469471f801400009250612de8565b67c249fdd3277800009250612de8565b67d02ab486cedc00009250612de8565b67de0b6b3a764000009250612de8565b67ebec21ee1da400009250612de8565b67f9ccd8a1c50800009250612de8565b680107ad8f556c6c00009250612de8565b6801158e460913d000009250612de8565b6801236efcbcbb3400009250612de8565b6801314fb370629800009250612de8565b68013f306a2409fc00009250612de8565b68014d1120d7b16000009250612de8565b68015af1d78b58c400009250612de8565b680168d28e3f002800009250612de8565b680176b344f2a78c00009250612de8565b68018493fba64ef000009250612de8565b68019274b259f65400009250612de8565b6801a055690d9db800009250612de8565b6801ae361fc1451c00009250612de8565b6801bc16d674ec8000009250612de8565b6801c9f78d2893e400009250612de8565b6801d7d843dc3b4800009250612de8565b6801e5b8fa8fe2ac00009250612de8565b6801f399b1438a1000009250612de8565b6802017a67f7317400009250612de8565b68020f5b1eaad8d800009250612de8565b68021d3bd55e803c00009250612de8565b68022b1c8c1227a000009250612de8565b680238fd42c5cf0400009250612de8565b680246ddf979766800009250612de8565b680254beb02d1dcc00009250612de8565b6802629f66e0c53000009250612de8565b680270801d946c9400009250612de8565b68027e60d44813f800009250612de8565b68028c418afbbb5c00009250612de8565b68029a2241af62c000009250612de8565b6802a802f8630a2400009250612de8565b6802b5e3af16b18800009250612de8565b6802c3c465ca58ec00009250612de8565b6802d1a51c7e005000009250612de8565b6802df85d331a7b400009250612de8565b6802ed6689e54f1800009250612de8565b6802fb474098f67c00009250612de8565b68030927f74c9de000009250612de8565b68031708ae00454400009250612de8565b680324e964b3eca800009250612de8565b680332ca1b67940c000092505b50600019820361128a5761045e672e19dc008126bf2b670de0b6b3a764000061216f61201b875b600081670de0b6b3a7640000811015612e3e5760405163036d32ef60e41b815260048101849052602401610184565b6000612eca670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c670de0b6b3a763ffff198101612ef35750949350505050565b671bc16d674ec800006706f05b59d3b200005b8015612f3657670de0b6b3a7640000838002049250818310612f2e579283019260019290921c915b60011c612f06565b50919695505050505050565b600061045e61201b8484613c1b565b60008282818303612f7a578015612f69576000612f73565b670de0b6b3a76400005b9250612fa6565b670de0b6b3a76400008103612f9157849250612fa6565b610aba61206d612fa087612e0f565b86612f42565b505092915050565b6000828160018416612fc857670de0b6b3a7640000612fca565b815b9050600184901c93505b831561300857612fe48283613c1b565b91506001841615612ffc57612ff98183613c1b565b90505b600184901c9350612fd4565b80610aba565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f2181111561304e5760405163edc236ad60e01b815260048101849052602401610184565b61045e61201b670de0b6b3a76400008302613aa3565b60008160088111156130885760405162461bcd60e51b81526004016101849061447e565b82600003613099576000915061066e565b5050600019016020021c63ffffffff1690565b60008260088111156130d05760405162461bcd60e51b81526004016101849061447e565b505060209190910290811b63ffffffff90911b19919091161790565b60008260088111156131105760405162461bcd60e51b81526004016101849061447e565b6000855b8581101561313c5763ffffffff6020820290811b199890981685891b17979150600101613114565b50959695505050505050565b8060200283015b8084101561316a57835183526020938401939092019161314f565b50505050565b6000808212156131c25760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610184565b5090565b6000806131d484600a61432c565b905060006131e28287613f8e565b905060018460028111156131f8576131f86140de565b14801561320e575061320a828261434c565b8614155b15610aba57610a236001826140cb565b60008061322c868686613ccf565b90506001836002811115613242576132426140de565b14801561320e57506000848061325a5761325a613f62565b8688091115610aba57610a236001826140cb565b60008080600019858709858702925082811083820303915050806000036132a85783828161329e5761329e613f62565b049250505061045e565b8381106132d957604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610184565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600160bf1b67ff0000000000000082161561344f576780000000000000008216156133765768016a09e667f3bcc9090260401c5b674000000000000000821615613395576801306fe0a31b7152df0260401c5b6720000000000000008216156133b4576801172b83c7d517adce0260401c5b6710000000000000008216156133d35768010b5586cf9890f62a0260401c5b6708000000000000008216156133f2576801059b0d31585743ae0260401c5b67040000000000000082161561341157680102c9a3e778060ee70260401c5b6702000000000000008216156134305768010163da9fb33356d80260401c5b67010000000000000082161561344f57680100b1afa5abcbed610260401c5b66ff00000000000082161561354e57668000000000000082161561347c5768010058c86da1c09ea20260401c5b664000000000000082161561349a576801002c605e2e8cec500260401c5b66200000000000008216156134b857680100162f3904051fa10260401c5b66100000000000008216156134d6576801000b175effdc76ba0260401c5b66080000000000008216156134f457680100058ba01fb9f96d0260401c5b66040000000000008216156135125768010002c5cc37da94920260401c5b6602000000000000821615613530576801000162e525ee05470260401c5b660100000000000082161561354e5768010000b17255775c040260401c5b65ff00000000008216156136445765800000000000821615613579576801000058b91b5bc9ae0260401c5b6540000000000082161561359657680100002c5c89d5ec6d0260401c5b652000000000008216156135b35768010000162e43f4f8310260401c5b651000000000008216156135d057680100000b1721bcfc9a0260401c5b650800000000008216156135ed5768010000058b90cf1e6e0260401c5b6504000000000082161561360a576801000002c5c863b73f0260401c5b6502000000000082161561362757680100000162e430e5a20260401c5b65010000000000821615613644576801000000b1721835510260401c5b64ff000000008216156137315764800000000082161561366d57680100000058b90c0b490260401c5b6440000000008216156136895768010000002c5c8601cc0260401c5b6420000000008216156136a5576801000000162e42fff00260401c5b6410000000008216156136c15768010000000b17217fbb0260401c5b6408000000008216156136dd576801000000058b90bfce0260401c5b6404000000008216156136f957680100000002c5c85fe30260401c5b6402000000008216156137155768010000000162e42ff10260401c5b64010000000082161561373157680100000000b17217f80260401c5b64ff000000008216156138165763800000008216156137595768010000000058b90bfc0260401c5b6340000000821615613774576801000000002c5c85fe0260401c5b632000000082161561378f57680100000000162e42ff0260401c5b63100000008216156137aa576801000000000b17217f0260401c5b63080000008216156137c557680100000000058b90c00260401c5b63040000008216156137e05768010000000002c5c8600260401c5b63020000008216156137fb576801000000000162e4300260401c5b63010000008216156138165768010000000000b172180260401c5b62ff00008216156138f1576280000082161561383b576801000000000058b90c0260401c5b6240000082161561385557680100000000002c5c860260401c5b6220000082161561386f5768010000000000162e430260401c5b6210000082161561388957680100000000000b17210260401c5b620800008216156138a35768010000000000058b910260401c5b620400008216156138bd576801000000000002c5c80260401c5b620200008216156138d757680100000000000162e40260401c5b620100008216156138f1576801000000000000b1720260401c5b61ff008216156139c35761800082161561391457680100000000000058b90260401c5b61400082161561392d5768010000000000002c5d0260401c5b612000821615613946576801000000000000162e0260401c5b61100082161561395f5768010000000000000b170260401c5b610800821615613978576801000000000000058c0260401c5b61040082161561399157680100000000000002c60260401c5b6102008216156139aa57680100000000000001630260401c5b6101008216156139c357680100000000000000b10260401c5b60ff821615613a8c5760808216156139e457680100000000000000590260401c5b60408216156139fc576801000000000000002c0260401c5b6020821615613a1457680100000000000000160260401c5b6010821615613a2c576801000000000000000b0260401c5b6008821615613a4457680100000000000000060260401c5b6004821615613a5c57680100000000000000030260401c5b6002821615613a7457680100000000000000010260401c5b6001821615613a8c57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b600081600003613ab557506000919050565b50600181600160801b8110613acf5760409190911b9060801c5b680100000000000000008110613aea5760209190911b9060401c5b6401000000008110613b015760109190911b9060201c5b620100008110613b165760089190911b9060101c5b6101008110613b2a5760049190911b9060081c5b60108110613b3d5760029190911b9060041c5b60048110613b4d57600182901b91505b6001828481613b5e57613b5e613f62565b048301901c91506001828481613b7657613b76613f62565b048301901c91506001828481613b8e57613b8e613f62565b048301901c91506001828481613ba657613ba6613f62565b048301901c91506001828481613bbe57613bbe613f62565b048301901c91506001828481613bd657613bd6613f62565b048301901c91506001828481613bee57613bee613f62565b048301901c91506000828481613c0657613c06613f62565b049050808310613c14578092505b5050919050565b60008080600019848609848602925082811083820303915050670de0b6b3a76400008110613c6657604051635173648d60e01b81526004810186905260248101859052604401610184565b6000670de0b6b3a7640000858709905081600003613c92575050670de0b6b3a76400009004905061014d565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b6000808060001985870985870292508281108382030391505080600003613cff5783828161329e5761329e613f62565b8084116132d957600080fd5b613d136144a0565b565b600060208284031215613d2757600080fd5b81356001600160e01b03198116811461045e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613d7e57613d7e613d3f565b604052919050565b600067ffffffffffffffff821115613da057613da0613d3f565b5060051b60200190565b600082601f830112613dbb57600080fd5b81356020613dd0613dcb83613d86565b613d55565b82815260059290921b84018101918181019086841115613def57600080fd5b8286015b84811015613e0a5780358352918301918301613df3565b509695505050505050565b600080600060608486031215613e2a57600080fd5b833567ffffffffffffffff80821115613e4257600080fd5b818601915086601f830112613e5657600080fd5b81356020613e66613dcb83613d86565b82815260059290921b8401810191818101908a841115613e8557600080fd5b8286015b84811015613f1257803586811115613ea15760008081fd5b8701603f81018d13613eb35760008081fd5b84810135604088821115613ec957613ec9613d3f565b613edb601f8301601f19168801613d55565b8281528f82848601011115613ef05760008081fd5b8282850189830137600092810188019290925250845250918301918301613e89565b5097505087013592505080821115613f2957600080fd5b613f3587838801613daa565b93506040860135915080821115613f4b57600080fd5b50613f5886828701613daa565b9150509250925092565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082613f9d57613f9d613f62565b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201613fca57613fca613f78565b5060010190565b600081518084526020808501945080840160005b8381101561400157815187529582019590820190600101613fe5565b509495945050505050565b60006080820160018060a01b0387168352602060808185015281875180845260a08601915060a08160051b87010193508289016000805b8381101561409f57888703609f1901855282518051808952835b81811015614078578281018901518a82018a0152880161405d565b508881018801849052601f01601f1916909701860196509385019391850191600101614043565b50505050505082810360408401526140b78186613fd1565b90508281036060840152610bf78185613fd1565b8082018082111561014d5761014d613f78565b634e487b7160e01b600052602160045260246000fd5b815160009082906020808601845b8381101561411e57815185529382019390820190600101614102565b50929695505050505050565b60006020828403121561413c57600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b828110156141855781516001600160a01b031684529284019290840190600101614160565b50505083810382850152610a238186613fd1565b600060208083850312156141ac57600080fd5b825167ffffffffffffffff8111156141c357600080fd5b8301601f810185136141d457600080fd5b80516141e2613dcb82613d86565b81815260059190911b8201830190838101908783111561420157600080fd5b928401925b82841015610bf757835182529284019290840190614206565b60006020828403121561423157600080fd5b81516001600160a01b038116811461045e57600080fd5b600181815b8085111561428357816000190482111561426957614269613f78565b8085161561427657918102915b93841c939080029061424d565b509250929050565b60008261429a5750600161014d565b816142a75750600061014d565b81600181146142bd57600281146142c7576142e3565b600191505061014d565b60ff8411156142d8576142d8613f78565b50506001821b61014d565b5060208310610133831016604e8410600b8410161715614306575081810a61014d565b6143108383614248565b806000190482111561432457614324613f78565b029392505050565b600061045e838361428b565b60008261434757614347613f62565b500690565b808202811582820484141761014d5761014d613f78565b8181038181111561014d5761014d613f78565b60006020828403121561438857600080fd5b81516004811061045e57600080fd5b6001600160a01b038316815260406020820181905260009061094790830184613fd1565b60018060a01b0384168152826020820152606060408201526000610aba6060830184613fd1565b805169ffffffffffffffffffff811681146111a857600080fd5b600080600080600060a0868803121561441457600080fd5b61441d866143e2565b9450602086015193506040860151925060608601519150614440608087016143e2565b90509295509295909350565b60006020828403121561445e57600080fd5b815160ff8116811461045e57600080fd5b600061045e60ff84168361428b565b60208082526008908201526726a0ac2faa24a2a960c11b604082015260600190565b634e487b7160e01b600052605160045260246000fdfe0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687a264697066735822122005fc8004cc18fb8fb6b9eb7e3de204c7e425c2418148587803f2376f3584ca4664736f6c63430008120033", - "sourceMap": "3472:8711:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7153:254;;;;;;:::i;:::-;;:::i;:::-;;;470:14:282;;463:22;445:41;;433:2;418:18;7153:254:121;;;;;;;;4475:43;;;;;;;;-1:-1:-1;;;;;685:32:282;;;667:51;;655:2;640:18;4475:43:121;497:227:282;8887:3294:121;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4494:15:282;;;4476:34;;4546:15;;;4541:2;4526:18;;4519:43;4598:15;;4578:18;;;4571:43;;;;4426:2;4411:18;8887:3294:121;4183:437:282;4524:42:121;;;;;7153:254;7253:4;-1:-1:-1;;;;;;7288:55:121;;-1:-1:-1;;;7288:55:121;;:112;;-1:-1:-1;;;;;;;7359:41:121;;-1:-1:-1;;;7359:41:121;7288:112;7269:131;7153:254;-1:-1:-1;;7153:254:121:o;8887:3294::-;9045:14;9061:19;9082:7;9229:8;:15;9208:11;:18;:36;9204:128;;;9285:18;;9305:15;;9267:54;;-1:-1:-1;;;9267:54:121;;;;;5036:25:282;;;;5077:18;;;5070:34;5009:18;;9267:54:121;;;;;;;;9204:128;9401:47;9451:90;9491:8;9501:10;9513:27;:25;:27::i;:::-;9451:39;:90::i;:::-;9941:32;;;;10021:48;;;;9401:140;;-1:-1:-1;9941:32:121;9906;10079:745;10105:11;:18;10100:2;:23;10079:745;;;10477:32;;;:54;;;10545:35;;;:60;;;10619:194;10477:20;10725:2;747:21:30;767:1;-1:-1:-1;;747:21:30;:::i;:::-;10784:11:121;10796:2;10784:15;;;;;;;;:::i;:::-;;;;;;;10619:33;:194::i;:::-;-1:-1:-1;10125:4:121;;;;:::i;:::-;;;;10079:745;;;;10833:20;10856:96;10910:20;:32;;;10856:20;:32;;;:40;;:96;;;;:::i;:::-;10833:119;;11127:60;11141:10;11153:8;11163:10;11175:11;11127:60;;;;;;;;;:::i;:::-;;;;;;;;11212:38;11264:16;11293:207;11339:147;11394:8;11424:10;11456:12;11339:33;:147::i;:::-;4200:4:212;4194:11;;4309:43;;;-1:-1:-1;;4305:59:212;4289:76;;4276:90;;;-1:-1:-1;;;4970:1:212;4957:15;;;4785:3;4685:343;;;;;-1:-1:-1;;;4620:430:212;5067:27;;4194:11;1726:2;4461:35;;;3700:1424;11293:207:121;11198:302;;;;11708:171;11751:8;11773;11795:10;11819:12;11845:24;;;;;;;;;;;;;;;;;11708:29;:171::i;:::-;11943:19;11965:33;11987:10;11965:21;:33::i;:::-;12081:42;;;12099:10;8115:34:282;;-1:-1:-1;;;;;8185:15:282;;8180:2;8165:18;;8158:43;11943:55:121;;-1:-1:-1;12081:42:121;;8050:18:282;12081:42:121;;;;;;;12142:11;;12155:5;;-1:-1:-1;12162:11:121;;-1:-1:-1;8887:3294:121;-1:-1:-1;;;;;;;;;;8887:3294:121:o;8173:666::-;8603:158;;;8455:145;8603:158;;;;;;;;;8286:144;;8455:145;;8603:158;;;;;;;;;;;;;;;;;;;;8455:306;;8778:54;8819:12;8778:40;:54::i;:::-;8771:61;;;8173:666;:::o;5919:715:30:-;6192:26;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6192:26:30;6249:378;;;;;;;;;;;6312:17;;6249:378;;;;;;;747:21;767:1;-1:-1:-1;;747:21:30;:::i;:::-;6249:378;;;;6517:27;747:21;767:1;-1:-1:-1;;747:21:30;:::i;:::-;-1:-1:-1;;37974:41:119;;37822:211;6517:27:30;6249:378;;;;747:21;767:1;-1:-1:-1;;747:21:30;:::i;:::-;6249:378;;;;;;;6230:397;-1:-1:-1;5919:715:30;;;;;;:::o;9046:2173::-;9257:12;767:1;-1:-1:-1;;747:21:30;9565:20;:32;;;9545:113;9524:205;;;9698:16;;-1:-1:-1;;;9698:16:30;;;;;;;;;;;9524:205;9907:27;;9974:4;9970:23;;;9878:138;;;;9851:183;10072:14;;10059:28;;10151:747;10168:4;10158:7;:14;10151:747;;;10192:15;10225:16;10270:1;10259:12;;;;10353:7;10347:14;10403:6;10398:3;10394:16;10382:28;;10460:6;10454:3;10450:2;10446:12;10442:25;10431:36;;;10747:136;10841:20;10863:8;10873:9;10747:20;:46;;;10815:7;10747:93;;;;;;;;:::i;:::-;;;;;;;:136;;:::i;:::-;10735:148;;10174:724;;10151:747;;;10940:49;;;;39536:4:119;39446:86;;;39445:95;11043:37:30;;;11039:134;;;11107:51;;-1:-1:-1;;;11107:51:30;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;11107:51:30;4862:248:282;11039:134:30;-1:-1:-1;11193:9:30;;9046:2173;-1:-1:-1;;;;;;9046:2173:30:o;39266:291:119:-;39536:4;39446:86;;;39445:95;;39266:291::o;8152:402:118:-;8304:7;;8350:28;634:4:129;8304:7:118;8350:28;:::i;:::-;;;8397:17;:10;1018:13:129;1034:4;1018:20;;;1010:29;;898:158;8397:17:118;8388:26;;;;:::i;:::-;;;8429:10;8424:102;8450:8;:15;8445:2;:20;8424:102;;;8496:19;:8;8505:2;8496:12;;;;;;;;:::i;:::-;;;;;;;1390:13:129;1383:4;:20;;1275:145;8496:19:118;8487:28;;;;:::i;:::-;;-1:-1:-1;8467:4:118;;;;:::i;:::-;;;;8424:102;;;-1:-1:-1;8542:5:118;8152:402;-1:-1:-1;;;;8152:402:118:o;9645:861::-;12065:25:119;;;12139:4;12120:24;;10140:35:118;12120:24:119;10164:10:118;10140:23;:35::i;:::-;10129:46;;10223:20;10262:10;10257:233;10283:8;:15;10278:2;:20;10257:233;;;10334:8;10343:2;10334:12;;;;;;;;:::i;:::-;;;;;;;10324:22;;10364:41;10372:7;10381:23;10364:7;:41::i;:::-;10434;:8;10467:7;10434:32;:41::i;:::-;10423:52;-1:-1:-1;10300:4:118;;10257:233;;;;9869:631;;9645:861;;;;;:::o;5487:666:212:-;5560:7;5579:16;5605:21;1726:2;5605:43;;5957:10;5951:17;5946:3;5942:27;5934:6;5930:40;5837:13;5808:184;5776:10;5753:1;5725:285;5697:313;-1:-1:-1;;;;;;6078:22:212;;6074:47;;6109:12;;-1:-1:-1;;;6109:12:212;;;;;;;;;;;6074:47;-1:-1:-1;6138:8:212;5487:666;-1:-1:-1;;5487:666:212:o;8045:4592:33:-;8296:144;8489:186;:3949;;;;;;;;8700:52;3669:2;2646::198;2305:359;8700:52:33;8489:3949;;;;;;;;8774:21;8489:3949;;;;8817:21;8489:3949;;;;8860:21;8489:3949;;;;8903:32;8489:3949;;;;8957:19;8489:3949;;;;8998:29;8489:3949;;;;9049:22;8489:3949;;;;9093:23;8489:3949;;;;9138:16;8489:3949;;;;9176:17;8489:3949;;;;9215:19;8489:3949;;;;9256:18;8489:3949;;;;9296:17;8489:3949;;;;9335:22;8489:3949;;;;9379:16;8489:3949;;;;9417:28;8489:3949;;;;9467:33;8489:3949;;;;9522:26;8489:3949;;;;9570:28;8489:3949;;;;9620:36;8489:3949;;;;9678:38;8489:3949;;;;9738:24;8489:3949;;;;9784:27;8489:3949;;;;9833:25;8489:3949;;;;9880:18;8489:3949;;;;9920:23;8489:3949;;;;9965:21;8489:3949;;;;10008:15;8489:3949;;;;10045:15;8489:3949;;;;10082:15;8489:3949;;;;10119:15;8489:3949;;;;10156:15;8489:3949;;;;10193:15;8489:3949;;;;10230:15;8489:3949;;;;10267:15;8489:3949;;;;10304:29;8489:3949;;;;10355:32;8489:3949;;;;10409:36;8489:3949;;;;10467:32;8489:3949;;;;10521:29;8489:3949;;;;10572:28;8489:3949;;;;10622:15;8489:3949;;;;10659:19;8489:3949;;;;10700:19;8489:3949;;;;10741:17;8489:3949;;;;10780:23;8489:3949;;;;10825:18;8489:3949;;;;10865:20;8489:3949;;;;10907:18;8489:3949;;;;10947:19;8489:3949;;;;10988:18;8489:3949;;;;11028:18;8489:3949;;;;11068:19;8489:3949;;;;11109:20;8489:3949;;;;11151:19;8489:3949;;;;11192:17;8489:3949;;;;11231:18;8489:3949;;;;11271:17;8489:3949;;;;11310:20;8489:3949;;;;11352:19;8489:3949;;;;11393:18;8489:3949;;;;11433:18;8489:3949;;;;11473:19;8489:3949;;;;11514:19;8489:3949;;;;11555:25;8489:3949;;;;11602:25;8489:3949;;;;11649:25;8489:3949;;;;11696:36;8489:3949;;;;11754:42;8489:3949;;;;11818:26;8489:3949;;;;11866:29;8489:3949;;;;11917:24;8489:3949;;;;11963:39;8489:3949;;;;12024:40;8489:3949;;;;12115:15;8489:3949;;;;12152:15;8489:3949;;;;12189:25;8489:3949;;;;12236:36;8489:3949;;;;12294:26;8489:3949;;;;12342:21;8489:3949;;;;12385:35;8489:3949;;;;;12452:26;12481:31;:14;:29;:31::i;:::-;12452:60;-1:-1:-1;12526:42:33;12452:60;12543:7;12526:16;:42::i;:::-;12589:9;:31;12582:38;8045:4592;-1:-1:-1;;;;8045:4592:33:o;11903:287:119:-;12065:25;;12139:4;12120:24;;11903:287::o;13611:206::-;13733:12;13764:46;13803:6;13764:33;13783:6;:13;13764;:18;;:33;;;;:::i;:::-;:38;;:46::i;14590:920:118:-;14879:14;;14780:6;;-1:-1:-1;;14824:17:118;15026:27;;14948:1;14933:17;;;;14982:15;;14738:756;15080:4;15071:7;15068:17;14738:756;;;15176:14;;15341:24;;;15338:1;15334:32;15313:54;;15282:107;15223:184;;15443:25;;;15440:39;15424:56;;15128:1;15115:15;14738:756;;;14742:325;;;;;14590:920;;:::o;15378:220:119:-;15505:12;15536:55;15584:6;15536:33;15555:6;:13;15536;:18;;:33;;;;:::i;:::-;:47;;:55::i;1120:544:34:-;1283:12;534:10:210;1380:1:34;1352:29;;;1351:43;;;1426:36;;1503:3;1481:19;;;:25;1477:108;;;1533:37;;-1:-1:-1;;;1533:37:34;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1533:37:34;4862:248:282;1477:108:34;1605:42;:20;1634:9;1645:1;1605:28;:42::i;:::-;1598:49;1120:544;-1:-1:-1;;;;;;1120:544:34:o;1532:543:35:-;1695:12;534:10:210;1792:1:35;1764:29;;;1763:43;;;1838:36;;1914:3;1892:19;;;:25;1888:108;;;1944:37;;-1:-1:-1;;;1944:37:35;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1944:37:35;4862:248:282;1888:108:35;2016:42;:20;2045:9;2056:1;2016:28;:42::i;451:269:36:-;605:12;648:65;674:35;:20;699:9;674:24;:35::i;:::-;648:20;;711:1;648:25;:65::i;658:234:37:-;812:12;843:42;:20;872:9;883:1;843:28;:42::i;920:355:38:-;1074:12;1232:36;:20;1258:9;1232:25;:36::i;1177:426:40:-;1331:12;1482:53;1552:44;:20;1581:9;1482:53;1552:28;:44::i;:::-;1545:51;1177:426;-1:-1:-1;;;;;1177:426:40:o;1233:1445:41:-;1396:12;274:10:210;1467:36:41;;;;1717:1;1689:29;;;1688:43;;;;1791:2;1763:30;;;;1829:16;;;;-1:-1:-1;;;;;1995:12:41;1973:17;;;;;;1972:36;:50;;2305:105;:20;2363:9;1688:43;2305:40;:105::i;:::-;2293:117;;2598:63;2615:20;2637:12;2651:9;2598:16;:63::i;:::-;2575:86;1233:1445;-1:-1:-1;;;;;;;;;1233:1445:41:o;2398:2053:42:-;2987:32;;;;3060:35;;;;2561:12;;274:10:210;2672:36:42;;;;2766:1;2738:29;;;2737:43;;;;2879:1;2851:29;;;;3276:78;2987:20;3314:9;2672:36;3276:24;:78::i;:::-;3241:32;;;:113;-1:-1:-1;;37974:41:119;;3364:35:42;;;:54;3629:121;3364:20;3679:16;3709:9;3732:8;3629:36;:121::i;:::-;-1:-1:-1;3913:35:42;;;:53;;;4250:32;;;;4211:103;;3913:20;;4296:8;4211:25;:103::i;:::-;4370:32;;;;;:47;;;;-1:-1:-1;4370:47:42;;2398:2053;-1:-1:-1;;;;;;2398:2053:42:o;629:343:43:-;771:12;929:8;903:36;;;;;;;;:::i;:::-;-1:-1:-1;956:9:43;;629:343;-1:-1:-1;;;629:343:43:o;1744:1577:44:-;1907:12;534:10:210;1973:36:44;;274:10:210;2216:20:44;;2212:91;;2263:25;;-1:-1:-1;;;2263:25:44;;;;;8620::282;;;8593:18;;2263:25:44;8474:177:282;2212:91:44;2345:1;2335:11;;2453:1;2441:13;;;2413:42;;3045:259;3106:157;3148:20;2413:42;3232:9;3106:16;:157::i;:::-;3045:20;;3285:1;3045:39;:259::i;:::-;3022:282;1744:1577;-1:-1:-1;;;;;;;1744:1577:44:o;770:747:45:-;1167:36;;;;933:12;;336:10:210;975:36:45;;;;1069:1;1041:29;;;1040:43;;;;1139:2;1111:30;;;;1156:47;;1152:202;;1268:36;;;;1226:117;;-1:-1:-1;;;1226:117:45;;;;;5036:25:282;;;;5077:18;;;5070:34;;;5009:18;;1226:117:45;4862:248:282;1152:202:45;1383:127;1426:44;:20;1451:9;1462:7;1426:24;:44::i;:::-;1383:20;;1488:8;1383:25;:127::i;1223:1201:46:-;1386:12;1475:2;1447:30;;;274:10:210;1509:36:46;;;;1607:1;1579:29;;;1578:43;1639:18;;;1635:106;;;1684:42;;-1:-1:-1;;;1684:42:46;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1684:42:46;4862:248:282;1635:106:46;1898:35;;;;828:11:210;1807:37:46;;;1754:20;1947:430;1973:2;1968;:7;1947:430;;;2143:35;;;:48;;;2221:141;2143:20;2301:12;2335:9;2221:16;:141::i;:::-;2209:153;-1:-1:-1;1977:4:46;;1947:430;;;-1:-1:-1;2398:9:46;;1223:1201;-1:-1:-1;;;;;;;;1223:1201:46:o;1329:1372:47:-;1492:12;100:10:210;1532:36:47;;;;1596:29;;;1532:36;1635:1007;;1714:32;;;;39536:4:119;39446:86;;;39445:95;1813:25:47;;;1809:116;;1865:45;;-1:-1:-1;;;1865:45:47;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;1865:45:47;4862:248:282;1809:116:47;2281:32;;;;2174:35;;;;2154:211;;36767:4:119;:9;;36730:46;2154:60:47;:211::i;:::-;2081:35;;;:298;-1:-1:-1;1635:1007:47;;;2425:20;:36;;;2414:7;:47;2410:222;;2534:36;;;;2488:129;;-1:-1:-1;;;2488:129:47;;;;;5036:25:282;;;;5077:18;;;5070:34;;;5009:18;;2488:129:47;4862:248:282;2410:222:47;2658:36;:20;2684:9;2658:25;:36::i;632:343:48:-;795:12;838:130;:20;884:9;911:1;945:8;838:28;:130::i;831:234:49:-;985:12;1016:42;:20;1045:9;1056:1;1016:28;:42::i;994:343:50:-;1157:12;1200:130;:20;1246:9;1273:1;1307:8;1200:28;:130::i;743:234:51:-;897:12;928:42;:20;957:9;968:1;928:28;:42::i;643:234:52:-;797:12;828:42;:20;857:9;868:1;828:28;:42::i;973:234:53:-;1127:12;1158:42;:20;1187:9;1198:1;1158:28;:42::i;881:234:54:-;1035:12;1066:42;:20;1095:9;1106:1;1066:28;:42::i;587:234:55:-;741:12;772:42;:20;801:9;812:1;772:28;:42::i;699:234:57:-;853:12;884:42;:20;913:9;924:1;884:28;:42::i;593:344:58:-;756:12;799:131;:20;846:9;873:1;907:8;799:29;:131::i;616:344:61:-;779:12;822:131;:20;869:9;896:1;930:8;822:29;:131::i;470:344:62:-;633:12;676:131;:20;723:9;750:1;784:8;676:29;:131::i;474:344:63:-;637:12;680:131;:20;727:9;754:1;788:8;680:29;:131::i;491:344:64:-;654:12;697:131;:20;744:9;771:1;805:8;697:29;:131::i;491:344:65:-;654:12;697:131;:20;744:9;771:1;805:8;697:29;:131::i;464:344:66:-;627:12;670:131;:20;717:9;744:1;778:8;670:29;:131::i;473:344:67:-;636:12;679:131;:20;726:9;753:1;787:8;679:29;:131::i;473:344:68:-;636:12;679:131;:20;726:9;753:1;787:8;679:29;:131::i;772:234:69:-;926:12;957:42;:20;986:9;997:1;957:28;:42::i;806:234:70:-;960:12;991:42;:20;1020:9;1031:1;991:28;:42::i;920:234:71:-;1074:12;1105:42;:20;1134:9;1145:1;1105:28;:42::i;812:234:72:-;966:12;997:42;:20;1026:9;1037:1;997:28;:42::i;734:234:73:-;888:12;919:42;:20;948:9;959:1;919:28;:42::i;664:234:74:-;818:12;849:42;:20;878:9;889:1;849:28;:42::i;385:417:75:-;548:12;572:62;663:132;:20;709:9;572:62;772:8;663:28;:132::i;588:347:76:-;751:12;794:134;840:9;867:1;886:28;901:8;913:1;886:28;:::i;:::-;794:20;;:134;;:28;:134::i;745:234:77:-;899:12;930:42;:20;959:9;970:1;930:28;:42::i;627:234:79:-;781:12;812:42;:20;841:9;852:1;812:28;:42::i;607:234:80:-;761:12;792:42;:20;821:9;832:1;792:28;:42::i;621:234:81:-;775:12;806:42;:20;835:9;846:1;806:28;:42::i;488:234:82:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;461:234:83:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;488:234:84:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;458:234:85:-;612:12;643:42;:20;672:9;683:1;643:28;:42::i;461:234:86:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;464:234:87:-;618:12;649:42;:20;678:9;689:1;649:28;:42::i;461:234:88:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;485:234:89:-;639:12;670:42;:20;699:9;710:1;670:28;:42::i;458:234:90:-;612:12;643:42;:20;672:9;683:1;643:28;:42::i;455:234:91:-;609:12;640:42;:20;669:9;680:1;640:28;:42::i;464:234:92:-;618:12;649:42;:20;678:9;689:1;649:28;:42::i;461:234:93:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;488:234:94:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;488:234:95:-;642:12;673:42;:20;702:9;713:1;673:28;:42::i;477:234:96:-;631:12;662:42;:20;691:9;702:1;662:28;:42::i;461:234:97:-;615:12;646:42;:20;675:9;686:1;646:28;:42::i;506:371:98:-;669:12;712:158;:20;759:9;786:28;847:8;712:29;:158::i;517:371:99:-;680:12;723:158;:20;770:9;797:28;858:8;723:29;:158::i;514:371:100:-;677:12;720:158;:20;767:9;794:28;855:8;720:29;:158::i;955:234:101:-;1109:12;1140:42;:20;1169:9;1180:1;1140:28;:42::i;629:234:102:-;783:12;814:42;:20;843:9;854:1;814:28;:42::i;583:234:103:-;737:12;768:42;:20;797:9;808:1;768:28;:42::i;583:234:104:-;737:12;768:42;:20;797:9;808:1;768:28;:42::i;575:234:105:-;729:12;760:42;:20;789:9;800:1;760:28;:42::i;617:234:106:-;771:12;802:42;:20;831:9;842:1;802:28;:42::i;860:234:107:-;1014:12;1045:42;:20;1074:9;1085:1;1045:28;:42::i;637:328:109:-;791:12;839:44;904;:20;933:9;839:44;904:28;:44::i;785:343:110:-;948:12;991:130;:20;1037:9;1064:1;1098:8;991:28;:130::i;864:343:111:-;1027:12;1070:130;:20;1116:9;1143:1;1177:8;1070:28;:130::i;371:320:112:-;525:12;568:116;:20;614:9;641:29;568:28;:116::i;602:512:113:-;765:12;534:10:210;831:36:113;;885:12;;;881:70;;924:12;;-1:-1:-1;;;924:12:113;;;;;;;;;;;881:70;988:109;1035:44;:20;1060:9;1071:7;1035:24;:44::i;:::-;988:20;;:25;:109::i;874:234:114:-;1028:12;1059:42;:20;1088:9;1099:1;1059:28;:42::i;6248:486:33:-;6594:15;;6565:6;;3669:2;6594:42;6590:138;;6676:15;;6659:58;;-1:-1:-1;;;6659:58:33;;;;;5036:25:282;;;;3669:2:33;5077:18:282;;;5070:34;5009:18;;6659:58:33;4862:248:282;6590:138:33;6248:486;;;:::o;9821:1296:0:-;10095:4;10089:11;10132:12;;10178:14;;10593:4;10589:22;;;10568:45;;;10512:115;;10509:163;;;10656:1;10653;10646:12;10509:163;10887:4;10883:24;;10859:49;;10853:4;10846:63;11011:31;10997:46;;11063:47;11082:7;10863:18;11063;:47::i;:::-;9923:1194;9821:1296;;:::o;13010:252:119:-;13122:12;13146:61;:6;13192:13;13146:25;:61::i;:::-;13241:13;;36767:4;:9;36730:46;;13224:31;36523:288;14386:404;14503:12;14527:203;36165:4;36128:41;;14678:13;14707:6;:13;14527:27;:203::i;:::-;14769:13;;37524:39;;14747:36;37349:232;508:606:34;534:10:210;737:36:34;;;1028:1;:12;-1:-1:-1;;1028:16:34;691:1;663:29;;;;662:43;1068:20;1067:30;;508:606::o;26505:303:30:-;26708:12;26739:62;26765:35;:20;26790:9;26765:24;:35::i;:::-;26739:20;;:25;:62::i;707:819:35:-;534:10:210;961:36:35;;;1252:1;:12;-1:-1:-1;;1252:16:35;1479:15;;;915:1;887:29;;;;886:43;1478:30;;;1374:18;;;;1372:21;1362:31;;;;1361:148;;707:819::o;27357:327:30:-;27569:12;27612:65;27638:38;:20;27663:9;27674:1;27638:24;:38::i;14020:275::-;-1:-1:-1;;37974:41:119;14151:12:30;14213:49;:20;37974:41:119;14213:38:30;:49::i;:::-;-1:-1:-1;14279:9:30;14020:275;-1:-1:-1;14020:275:30:o;12209:710::-;12361:12;36767:4:119;:9;;36730:46;;12385:28:30;;12578:1;12573:2;:6;12569:261;;;12668:137;-1:-1:-1;;37974:41:119;;12688:35:30;;;;;12668:60;:137::i;:::-;12595:35;;;:224;12569:261;12839:47;:20;12876:9;12839:36;:47::i;:::-;-1:-1:-1;12903:9:30;;12209:710;-1:-1:-1;;12209:710:30:o;471:181:37:-;563:7;589:56;624:5;633:11;589:18;:56::i;11636:272:30:-;36165:4:119;36128:41;11768:12:30;11828:47;:20;36128:41:119;11828:36:30;:47::i;13184:309::-;13351:12;36767:4:119;:9;;36730:46;;13375:28:30;-1:-1:-1;13413:47:30;:20;13375:28;13413:36;:47::i;14591:337::-;14742:12;14770:6;;14766:130;;38600:4:119;:9;;38563:46;;14792:30:30;-1:-1:-1;14836:49:30;:20;14792:30;14836:38;:49::i;15149:201::-;15294:12;38600:4:119;:9;;38563:46;;15325:18:30;38354:290:119;424:104:258;482:7;512:1;508;:5;:13;;520:1;508:13;;;-1:-1:-1;516:1:258;;424:104;-1:-1:-1;424:104:258:o;488:138:48:-;548:7;609;592:25;;;;;;;;:::i;:::-;;;;-1:-1:-1;;592:25:48;;;;;;;;;582:36;;592:25;582:36;;;;;488:138;-1:-1:-1;;488:138:48:o;22159:379:30:-;22387:12;22430:101;22473:44;:20;22498:9;22509:7;22473:24;:44::i;546:279:49:-;695:123;;-1:-1:-1;;;695:123:49;;-1:-1:-1;;;;;9396:32:282;;;695:123:49;;;9378:51:282;9445:18;;;9438:34;;;657:7:49;;695:44;;;;;;9351:18:282;;695:123:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20414:327:30:-;20626:12;20669:65;20695:38;:20;20720:9;20731:1;20695:24;:38::i;677:311:50:-;855:126;;-1:-1:-1;;;855:126:50;;808:16;;-1:-1:-1;;;;;855:49:50;;;;;:126;;922:9;;963:4;;855:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;855:126:50;;;;;;;;;;;;:::i;25439:534:30:-;25739:12;25810:146;25857:52;:20;25882:9;25907:1;25903;25893:11;;:15;25857:24;:52::i;:::-;25810:20;;25931:7;25810:25;:146::i;502:235:51:-;630:100;;-1:-1:-1;;;630:100:51;;-1:-1:-1;;;;;685:32:282;;;630:100:51;;;667:51:282;592:7:51;;630:42;;;;;;640:18:282;;630:100:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;508:129:52:-;558:7;607:6;-1:-1:-1;;;;;584:44:52;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;665:302:53:-;822:138;;-1:-1:-1;;;822:138:53;;-1:-1:-1;;;;;9396:32:282;;;822:138:53;;;9378:51:282;9445:18;;;9438:34;;;784:7:53;;822:51;;;;;;9351:18:282;;822:138:53;9204:274:282;671:204:54;802:66;;-1:-1:-1;;;802:66:54;;;;;8620:25:282;;;764:7:54;;-1:-1:-1;;;;;802:53:54;;;;;8593:18:282;;802:66:54;8474:177:282;382:199:55;435:7;538:9;-1:-1:-1;;;;;514:42:55;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;473:101:55;;382:199;-1:-1:-1;;382:199:55:o;533:160:57:-;638:46;;-1:-1:-1;;;638:46:57;;;;;8620:25:282;;;596:7:57;;-1:-1:-1;;;;;638:41:57;;;;;8593:18:282;;638:46:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;622:64:57;;533:160;-1:-1:-1;;;533:160:57:o;427::58:-;523:2;513:58;;555:1;552;545:12;513:58;427:160;:::o;17625:274:30:-;17822:12;17853:39;:20;17878:9;17889:2;17853:24;:39::i;512:98:61:-;570:7;596;601:2;596;:7;:::i;366:98:62:-;424:7;450;455:2;450;:7;:::i;369:99:63:-;427:7;453:8;459:2;453;:8;:::i;377:108:65:-;435:7;466:2;461;:7;:17;;476:2;461:17;;360:98:66;418:7;444;449:2;444;:7;:::i;369:98:67:-;427:7;453;458:2;453;:7;:::i;369:98:68:-;427:7;453;458:2;453;:7;:::i;517:249:69:-;581:7;619:140;675:1;662:8;647:29;;100:10:210;723:8:69;708:36;694:51;;;;;;;;:::i;:::-;619:2;;:140;:10;:140::i;521:279:70:-;627:7;665:128;770:2;627:7;665:73;:2;708:8;627:7;665:27;:73::i;:::-;:104;:128;:104;:128::i;642:272:71:-;752:7;790:117;818:6;100:10:210;871:8:71;856:36;842:51;;;;;;;;:::i;527:279:72:-;633:7;671:128;776:2;633:7;671:73;:2;714:8;633:7;671:27;:73::i;:::-;:104;:128;:104;:128::i;504:224:73:-;568:7;606:115;:2;660:8;568:7;606:10;:115::i;506:152:74:-;570:7;596:55;:2;621:8;570:7;596:9;:55::i;402:180:76:-;522:16;562:1;557:2;:6;:18;;572:3;557:18;;462:277:77;713:10;;462:277::o;470:151:79:-;-1:-1:-1;595:10:79;470:151::o;462:139:80:-;575:10;;462:139::o;464:151:81:-;-1:-1:-1;589:10:81;464:151::o;336:146:82:-;394:7;435:39;452:2;470;435:3;:39::i;338:117:83:-;384:7;425:22;443:2;425:4;:22::i;336:146:84:-;394:7;435:39;452:2;470;435:3;:39::i;336:116:85:-;382:7;423:21;440:2;423:3;:21::i;338:117:86:-;384:7;425:22;443:2;425:4;:22::i;340:118:87:-;386:7;5505:5:279;5498:13;;5632:16;;;5617:32;5610:40;;427:23:87;5336:322:279;338:117:88;384:7;6047:5:279;6040:13;;425:22:88;5934:127:279;334:145:89;392:7;433:38;449:2;467;433;:38::i;336:116:90:-;382:7;423:21;440:2;423:3;:21::i;334:115:91:-;380:7;421:20;437:2;421;:20::i;340:118:92:-;386:7;427:23;446:2;427:5;:23::i;338:117:93:-;384:7;425:22;443:2;425:4;:22::i;336:146:94:-;394:7;435:39;452:2;470;435:3;:39::i;336:146:95:-;394:7;435:39;452:2;470;435:3;:39::i;338:133:96:-;396:7;437:26;455:2;460;437:4;:26::i;338:117:97:-;384:7;425:22;443:2;425:4;:22::i;956:203:209:-;1026:7;1082;;;1110;;;:32;;1140:2;1110:32;;;-1:-1:-1;;1103:39:209;956:203;-1:-1:-1;;;;956:203:209:o;1608:469::-;1678:7;1950:2;1956:1;1950:7;1946:21;;-1:-1:-1;1966:1:209;1959:8;;1946:21;1994:7;;;1999:2;1994;:7;:2;2022:7;;;;:::i;:::-;;:13;:38;;2058:2;2022:38;;1296:158;1366:7;1421:2;1416;:7;:21;;1436:1;1416:21;;;-1:-1:-1;1426:7:209;;;1296:158::o;475:474:101:-;704:206;;-1:-1:-1;;;704:206:101;;-1:-1:-1;;;;;13951:15:282;;;704:206:101;;;13933:34:282;14003:15;;;13983:18;;;13976:43;14035:18;;;14028:34;;;612:7:101;;704:55;;;;;;13868:18:282;;704:206:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;650:292:101;;475:474;-1:-1:-1;;;;;475:474:101:o;21238:372:30:-;21495:12;21538:65;21564:38;:20;21589:9;21600:1;21564:24;:38::i;483:140:102:-;532:7;582:5;-1:-1:-1;;;;;558:56:102;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:142:103;484:7;550:5;-1:-1:-1;;;;;526:40:103;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:133:104;493:7;548:5;-1:-1:-1;;;;;524:43:104;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;519:51;;;;;;;;:::i;429:140:105:-;478:7;544:5;-1:-1:-1;;;;;520:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:137:106;523:7;573:5;-1:-1:-1;;;;;549:53:106;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;481:373:107;677:156;;-1:-1:-1;;;677:156:107;;-1:-1:-1;;;;;9396:32:282;;;677:156:107;;;9378:51:282;9445:18;;;9438:34;;;602:7:107;;677:58;;;;;;9351:18:282;;677:156:107;9204:274:282;18992:261:30;19177:12;19208:38;:20;19233:9;19244:1;19208:24;:38::i;471:308:110:-;641:131;;-1:-1:-1;;;641:131:110;;603:7;;-1:-1:-1;;;;;641:47:110;;;;;:131;;722:8;;750;;641:131;;;:::i;23171:483:30:-;23453:12;23524:113;23571:48;:20;23596:9;23617:1;23607:11;;23571:24;:48::i;493:365:111:-;686:165;;-1:-1:-1;;;686:165:111;;648:7;;-1:-1:-1;;;;;686:58:111;;;;;:165;;778:8;;806:5;;829:8;;686:165;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;24296:492:30:-;24587:12;24658:113;24705:48;:20;24730:9;24751:1;24741:11;;24705:24;:48::i;1379:724:197:-;1491:7;;1581:1;1560:502;1593:1;1584:5;:10;1560:502;;1623:19;1645:107;1695:12;1729:5;1645:28;:107::i;:::-;1623:129;;1770:19;1792:107;1842:12;1876:5;1792:28;:107::i;:::-;1770:129;-1:-1:-1;1917:13:197;1933:38;:11;1770:129;1933:25;:38::i;:::-;1917:54;;1996:51;2024:4;2038:1;2030:5;:9;2041:5;1996:27;:51::i;:::-;1989:58;-1:-1:-1;;1596:7:197;;;;;-1:-1:-1;1560:502:197;;-1:-1:-1;1560:502:197;;-1:-1:-1;2082:4:197;1379:724;-1:-1:-1;;;1379:724:197:o;375:493:114:-;494:7;532:329;584:7;686:8;698:4;671:31;810:1;797:8;782:29;;815:4;781:38;837:10;532:34;:329::i;11953:315:0:-;12076:20;12174:4;12165:7;12161:18;12145:34;;12198:63;12217:12;12231:13;12246:7;:14;12198:18;:63::i;1401:914:211:-;1542:222;1568:4;1559:7;1556:17;1542:222;;1747:14;;1731:31;;1617:4;1650:18;;;;1696;;;;-1:-1:-1;;1604:18:211;1542:222;;;1795:7;1788:15;1778:521;;-1:-1:-1;;1913:1:211;1904:7;1900:15;1896:88;2239:5;2229:7;2223:14;2219:26;2186:5;2182:10;2172:7;2166:14;2162:31;2101:166;2072:7;2044:241;;1401:914;;;:::o;15753:547:30:-;15982:20;:35;;;15936:9;15916:102;15899:395;;16147:35;;;;16085:32;;;;39536:4:119;39446:86;;39445:95;16218:32:30;;;;39536:4:119;39446:86;;;39445:95;16050:233:30;;-1:-1:-1;;;16050:233:30;;;;;5036:25:282;;;;5077:18;;;5070:34;5009:18;;16050:233:30;4862:248:282;15899:395:30;15753:547;;:::o;7169:357::-;7403:20;:32;;;7354:13;7334:102;7317:203;;;7461:32;;;;;:48;7169:357::o;1472:1045:1:-;1568:7;1590:14;1608:18;1667:5;-1:-1:-1;;;;;1632:66:1;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1587:113;;;;;;;1726:1;1715:7;:12;1711:73;;1750:23;;-1:-1:-1;;;1750:23:1;;;;;8620:25:282;;;8593:18;;1750:23:1;8474:177:282;1711:73:1;2009:11;1978:28;1996:10;1978:15;:28;:::i;:::-;:42;1974:115;;;2043:35;;-1:-1:-1;;;2043:35:1;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;2043:35:1;4862:248:282;1974:115:1;2378:132;2445:5;-1:-1:-1;;;;;2423:37:1;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2378:132;;2480:16;2378:19;:7;:17;:19::i;:::-;:27;:132;4371:602:127;4498:7;4517:17;4563:10;522:2;4548:25;4544:423;;4596:2;4589:9;;;;;4544:423;4633:10;522:2;4619:24;4615:352;;;-1:-1:-1;522:2:127;4699:24;;;4758:33;4775:15;4699:24;4775:2;:15;:::i;:::-;4758:2;;:16;:33::i;:::-;4751:40;;;;;4615:352;-1:-1:-1;;;4862:24:127;;4921:35;4931:2;4862:24;4946:9;4921;:35::i;9720:190::-;9845:7;9871:32;:2;776:4;9889:2;9893:9;9871;:32::i;9196:190::-;9321:7;9347:32;:2;9357;776:4;9369:9;9347;:32::i;7572:496::-;7694:7;7717:8;:13;;7729:1;7717:13;7713:349;;-1:-1:-1;7753:2:127;7746:9;;7713:349;7787:1;7776:8;:12;;;7772:290;;;7811:39;7828:21;7840:8;7828:2;:21;:::i;:::-;7811:2;;:16;:39::i;:::-;7804:46;;;;7772:290;7943:35;7881:20;7964:13;;;7943:35;8013:38;8023:2;7943:35;8041:9;8013;:38::i;5297:626::-;5428:7;5447:17;522:2;5478:15;:30;5474:443;;5531:2;5524:9;;;;;5474:443;5568:15;522:2;5554:29;5550:367;;;5653:15;522:2;5639:29;5627:41;;5703:35;5713:2;5717:9;5728;5703;:35::i;5550:367::-;-1:-1:-1;;;5809:29:127;;5873:33;5890:15;5809:29;5890:2;:15;:::i;1474:217:279:-;1523:14;1568:1;1599;1642:13;;;1661;;;1679:1;1660:20;1641:40;1636:46;3069:92:275;2188:538:279;2227:14;2272:1;-1:-1:-1;;2284:26:279;;2280:88;;;2329:32;;-1:-1:-1;;;2329:32:279;;;;;8620:25:282;;;8593:18;;2329:32:279;8474:177:282;2280:88:279;-1:-1:-1;;2481:5:279;2474:13;;;2700:16;;;2566:21;;2689:28;2682:36;;2188:538::o;3119:124::-;3168:14;3199:41;3204:35;3218:1;1295:4:276;3236:1:279;3204:6;:35::i;:::-;3156:1:275;3069:92;3574:505:279;3612:14;3657:1;3760:22;3751:31;;3747:95;;3801:34;;-1:-1:-1;;;3801:34:279;;;;;8620:25:282;;;8593:18;;3801:34:279;8474:177:282;3747:95:279;540:20:276;3999:15:279;;4033:37;4038:31;1295:4:276;3999:15:279;4043:25;;3156:1:275;3069:92;4038:31:279;4472:14;4517:1;4625:6;4616:15;;4612:80;;4650:35;;-1:-1:-1;;;4650:35:279;;;;;8620:25:282;;;8593:18;;4650:35:279;8474:177:282;4612:80:279;4753:16;4772:21;1295:4:276;4782:2:279;4773:11;;;4772:21;:::i;:::-;4753:40;;4911:23;4916:17;4924:8;4916:7;:17::i;6406:678::-;6454:14;6499:1;6530;6542:10;;;:24;;-1:-1:-1;6556:10:279;;6542:24;6538:58;;;1420:1:276;6578:11:279;;;;;;6538:58;6720:13;;;6728:5;6720;:13;:5;6747:14;;;;:::i;:::-;;:23;6743:94;;6793:33;;-1:-1:-1;;;6793:33:279;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;6793:33:279;4862:248:282;6743:94:279;7054:21;7059:15;7067:6;7059:7;:15::i;7314:152::-;7352:14;7435:22;7454:1;7440:4;:16;;;;;:::i;7947:315::-;7984:14;8212:41;540:20:276;1295:4;8218:15:279;8225:7;8230:1;8225:4;:7::i;8218:15::-;:23;8217:35;;;;;:::i;8747:7194::-;8787:14;8832:1;1295:4:276;8844:13:279;;8840:79;;;8876:36;;-1:-1:-1;;;8876:36:279;;;;;8620:25:282;;;8593:18;;8876:36:279;8474:177:282;8840:79:279;9105:1;9120;9115:43;;;;9172:2;9167:44;;;;9225:3;9220:45;;;;9279:4;9274:46;;;;9334:5;9329:47;;;;9390:6;9385:48;;;;9447:7;9442:49;;;;9505:8;9500:50;;;;9564:9;9559:51;;;;9624:10;9619:52;;;;9685:11;9680:54;;;;9748:12;9743:55;;;;9812:13;9807:56;;;;9877:14;9872:57;;;;9943:15;9938:58;;;;10010:16;10005:59;;;;10078:17;10073:60;;;;10147:18;10142:61;;;;10217:19;10212:40;;;;10266:20;10261:45;;;;10320:21;10315:54;;;;10383:22;10378:55;;;;10447:23;10442:56;;;;10512:24;10507:57;;;;10578:25;10573:58;;;;10645:26;10640:59;;;;10713:27;10708:60;;;;10782:28;10777:61;;;;10852:29;10847:63;;;;10924:30;10919:64;;;;10997:31;10992:65;;;;11071:32;11066:66;;;;11146:33;11141:67;;;;11222:34;11217:68;;;;11299:35;11294:69;;;;11377:36;11372:70;;;;11456:37;11451:71;;;;11536:38;11531:72;;;;11617:39;11612:73;;;;11699:40;11694:74;;;;11782:41;11777:75;;;;11866:42;11861:76;;;;11951:43;11946:77;;;;12037:44;12032:78;;;;12124:45;12119:79;;;;12212:46;12207:80;;;;12301:47;12296:81;;;;12391:48;12386:82;;;;12482:49;12477:83;;;;12574:50;12569:84;;;;12667:51;12662:85;;;;12761:52;12756:86;;;;12856:53;12851:87;;;;12952:54;12947:88;;;;13049:55;13044:89;;;;13147:56;13142:90;;;;13246:57;13241:91;;;;13346:58;13341:92;;;;13447:59;13442:93;;;;13549:60;13544:94;;;;13652:61;13647:95;;;;13756:62;13751:96;;;;13861:63;13856:97;;;;13967:64;13962:98;;;;14074:65;14069:99;;;;14182:66;14177:100;;;;14291:67;14286:101;;;;14401:68;14396:102;;;;14512:69;14507:103;;;;14624:70;14619:104;;;;14737:71;14732:105;;;;14851:72;14846:106;;;;14966:73;14961:107;;;;15082:74;15077:108;;;;15199:75;15194:109;;;;-1:-1:-1;;;15312:110:279;;;;15436:77;15431:111;;;;15556:78;15551:112;;;;-1:-1:-1;;15694:22:279;;9098:6628;;9115:43;-1:-1:-1;;9134:22:279;-1:-1:-1;9115:43:279;;9167:44;-1:-1:-1;;9187:22:279;-1:-1:-1;9167:44:279;;9220:45;-1:-1:-1;;9241:22:279;-1:-1:-1;9220:45:279;;9274:46;-1:-1:-1;;9296:22:279;-1:-1:-1;9274:46:279;;9329:47;-1:-1:-1;;9352:22:279;-1:-1:-1;9329:47:279;;9385:48;-1:-1:-1;;9409:22:279;-1:-1:-1;9385:48:279;;9442:49;-1:-1:-1;;9467:22:279;-1:-1:-1;9442:49:279;;9500:50;-1:-1:-1;;9526:22:279;-1:-1:-1;9500:50:279;;9559:51;-1:-1:-1;;9586:22:279;-1:-1:-1;9559:51:279;;9619:52;-1:-1:-1;;9647:22:279;-1:-1:-1;9619:52:279;;9680:54;-1:-1:-1;;9709:23:279;-1:-1:-1;9680:54:279;;9743:55;-1:-1:-1;;9773:23:279;-1:-1:-1;9743:55:279;;9807:56;-1:-1:-1;;9838:23:279;-1:-1:-1;9807:56:279;;9872:57;-1:-1:-1;;9904:23:279;-1:-1:-1;9872:57:279;;9938:58;-1:-1:-1;;9971:23:279;-1:-1:-1;9938:58:279;;10005:59;-1:-1:-1;;10039:23:279;-1:-1:-1;10005:59:279;;10073:60;-1:-1:-1;;10108:23:279;-1:-1:-1;10073:60:279;;10142:61;-1:-1:-1;;10178:23:279;-1:-1:-1;10142:61:279;;10212:40;10249:1;10239:11;;10212:40;;10261:45;10299:5;10289:15;;10261:45;;10315:54;10354:13;;-1:-1:-1;10315:54:279;;10378:55;10418:13;;-1:-1:-1;10378:55:279;;10442:56;10483:13;;-1:-1:-1;10442:56:279;;10507:57;10549:13;;-1:-1:-1;10507:57:279;;10573:58;10616:13;;-1:-1:-1;10573:58:279;;10640:59;10684:13;;-1:-1:-1;10640:59:279;;10708:60;10753:13;;-1:-1:-1;10708:60:279;;10777:61;10823:13;;-1:-1:-1;10777:61:279;;10847:63;10894:14;;-1:-1:-1;10847:63:279;;10919:64;10967:14;;-1:-1:-1;10919:64:279;;10992:65;11041:14;;-1:-1:-1;10992:65:279;;11066:66;11116:14;;-1:-1:-1;11066:66:279;;11141:67;11192:14;;-1:-1:-1;11141:67:279;;11217:68;11269:14;;-1:-1:-1;11217:68:279;;11294:69;11347:14;;-1:-1:-1;11294:69:279;;11372:70;11426:14;;-1:-1:-1;11372:70:279;;11451:71;11506:14;;-1:-1:-1;11451:71:279;;11531:72;11587:14;;-1:-1:-1;11531:72:279;;11612:73;11669:14;;-1:-1:-1;11612:73:279;;11694:74;11752:14;;-1:-1:-1;11694:74:279;;11777:75;11836:14;;-1:-1:-1;11777:75:279;;11861:76;11921:14;;-1:-1:-1;11861:76:279;;11946:77;12007:14;;-1:-1:-1;11946:77:279;;12032:78;12094:14;;-1:-1:-1;12032:78:279;;12119:79;12182:14;;-1:-1:-1;12119:79:279;;12207:80;12271:14;;-1:-1:-1;12207:80:279;;12296:81;12361:14;;-1:-1:-1;12296:81:279;;12386:82;12452:14;;-1:-1:-1;12386:82:279;;12477:83;12544:14;;-1:-1:-1;12477:83:279;;12569:84;12637:14;;-1:-1:-1;12569:84:279;;12662:85;12731:14;;-1:-1:-1;12662:85:279;;12756:86;12826:14;;-1:-1:-1;12756:86:279;;12851:87;12922:14;;-1:-1:-1;12851:87:279;;12947:88;13019:14;;-1:-1:-1;12947:88:279;;13044:89;13117:14;;-1:-1:-1;13044:89:279;;13142:90;13216:14;;-1:-1:-1;13142:90:279;;13241:91;13316:14;;-1:-1:-1;13241:91:279;;13341:92;13417:14;;-1:-1:-1;13341:92:279;;13442:93;13519:14;;-1:-1:-1;13442:93:279;;13544:94;13622:14;;-1:-1:-1;13544:94:279;;13647:95;13726:14;;-1:-1:-1;13647:95:279;;13751:96;13831:14;;-1:-1:-1;13751:96:279;;13856:97;13937:14;;-1:-1:-1;13856:97:279;;13962:98;14044:14;;-1:-1:-1;13962:98:279;;14069:99;14152:14;;-1:-1:-1;14069:99:279;;14177:100;14261:14;;-1:-1:-1;14177:100:279;;14286:101;14371:14;;-1:-1:-1;14286:101:279;;14396:102;14482:14;;-1:-1:-1;14396:102:279;;14507:103;14594:14;;-1:-1:-1;14507:103:279;;14619:104;14707:14;;-1:-1:-1;14619:104:279;;14732:105;14821:14;;-1:-1:-1;14732:105:279;;14846:106;14936:14;;-1:-1:-1;14846:106:279;;14961:107;15052:14;;-1:-1:-1;14961:107:279;;15077:108;15169:14;;-1:-1:-1;15077:108:279;;15194:109;15287:14;;-1:-1:-1;15194:109:279;;15312:110;15406:14;;-1:-1:-1;15312:110:279;;15431:111;15526:14;;-1:-1:-1;15431:111:279;;15551:112;15647:14;;-1:-1:-1;9098:6628:279;-1:-1:-1;;;15749:6:279;15742:30;15738:201;;15880:42;400:20:276;1295:4;15886:15:279;15893:7;15898:1;16523:1380;16562:14;16607:1;1295:4:276;16620:13:279;;16616:79;;;16652:36;;-1:-1:-1;;;16652:36:279;;;;;8620:25:282;;;8593:18;;16652:36:279;8474:177:282;16616:79:279;16836:9;16848:18;1295:4:276;16852:5:279;:13;4024:1:260;3049:34;3043:41;;3040:1;3036:49;3099:14;;;3235:18;3229:25;;3226:1;3222:33;3269:14;;;3405:10;3399:17;;3396:1;3392:25;3431:14;;;3567:6;3561:13;;3558:1;3554:21;3589:14;;;3724:4;3718:11;;3715:1;3711:19;;;3744:14;;;3879:3;3873:10;;3870:1;3866:18;3898:14;;;4027:10;;;4020:18;;4052:14;;;4210:10;;;;3302:18;;;;3464;;;;3622;3777;3931;;;;4085;;;;4239;;2914:1351;16848:18:279;16836:30;-1:-1:-1;1295:4:276;17058:9:279;;17127:10;;;-1:-1:-1;;17203:10:279;;17199:64;;-1:-1:-1;17241:10:279;17229:23;-1:-1:-1;;;;16523:1380:279:o;17199:64::-;17467:4;268:6:276;17481:379:279;17514:9;;17481:379;;1295:4:276;17557:5:279;;;17556:15;17552:19;;17648:11;17643:1;:16;17639:211;;17738:19;;;;17834:1;17828:7;;;;;17639:211;17535:1;17525:11;17481:379;;;-1:-1:-1;17883:10:279;;17869:25;-1:-1:-1;;;;;;16523:1380:279:o;18212:119::-;18261:14;18292:36;18297:30;18313:1;18324;18297:8;:30::i;18792:340::-;18841:14;18886:1;18917;18930:10;;;18926:204;;18961:10;;:24;;1420:1:276;18961:24:279;;;1295:4:276;18961:24:279;18952:33;;18926:204;;;1295:4:276;19012:5:279;:14;19008:116;;19051:1;19042:10;;19008:116;;;19092:21;19097:15;19101:7;19106:1;19101:4;:7::i;:::-;19110:1;19097:3;:15::i;19008:116::-;18857:275;;18792:340;;;;:::o;19636:529::-;19686:14;19792:1;19686:14;19825:1;19821:5;;:25;;1295:4:276;19821:25:279;;;19833:5;19821:25;19800:46;;19926:1;19920:7;;;;;19915:217;19929:5;;19915:217;;19963:22;19972:5;19979;19963:8;:22::i;:::-;19955:30;-1:-1:-1;20054:1:279;20050:5;;:9;20046:80;;20088:27;20097:10;20109:5;20088:8;:27::i;:::-;20075:40;;20046:80;19942:1;19936:7;;;;;19915:217;;;20151:10;20146:16;3069:92:275;20555:467:279;20594:14;20639:1;20680:20;20672:28;;20668:98;;;20723:32;;-1:-1:-1;;;20723:32:279;;;;;8620:25:282;;;8593:18;;20723:32:279;8474:177:282;20668:98:279;20985:28;20990:22;1295:4:276;20998:5:279;:13;20990:7;:22::i;2679:458:196:-;2798:7;2782:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;2954:5:::1;2963:1;2954:10:::0;2950:57:::1;;2991:1;2984:8;;;;2950:57;-1:-1:-1::0;;;;3040:9:196;3053:2:::1;3039:16;3099:18;3076:44;;::::0;2679:458::o;4207:406::-;4353:7;4337:5;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;-1:-1:-1;;4422:2:196::1;4414:10:::0;;;::::1;4574:21:::0;;::::1;392:16:195;4501:44:196::0;;::::1;4492:54;4462:84:::0;;;::::1;4461:135;::::0;4207:406::o;5077:649::-;5264:7;5245:8;1353:1:195;1128:5:196;:31;;1120:52;;;;-1:-1:-1;;;1120:52:196;;;;;;;:::i;:::-;5307:15:::1;5354:10:::0;5336:346:::1;5371:8;5366:2;:13;5336:346;;;392:16:195;5420:2:196;5415:7:::0;::::1;5543:44:::0;;::::1;5505:108;5471:142:::0;;;::::1;5645:21:::0;;::::1;5470:197;::::0;5415:7;-1:-1:-1;5381:4:196::1;;5336:346;;;-1:-1:-1::0;5702:7:196;;5077:649;-1:-1:-1;;;;;;5077:649:196:o;14349:512:0:-;14594:7;14588:4;14584:18;14570:12;14566:37;14532:313;14635:4;14621:12;14618:22;14532:313;;;14811:19;;14789:42;;14693:4;14675:23;;;;14732:24;;;;14532:313;;;14536:81;14349:512;;;:::o;17198:168:259:-;17254:7;17290:1;17281:5;:10;;17273:55;;;;-1:-1:-1;;;17273:55:259;;17699:2:282;17273:55:259;;;17681:21:282;;;17718:18;;;17711:30;17777:34;17757:18;;;17750:62;17829:18;;17273:55:259;17497:356:282;17273:55:259;-1:-1:-1;17353:5:259;17198:168::o;8503:350:127:-;8634:7;;8666:18;8672:12;8666:2;:18;:::i;:::-;8653:31;-1:-1:-1;8694:15:127;8712:7;8653:31;8712:2;:7;:::i;:::-;8694:25;-1:-1:-1;8746:16:127;8733:9;:29;;;;;;;;:::i;:::-;;:51;;;;-1:-1:-1;8772:12:127;8782:2;8772:7;:12;:::i;:::-;8766:2;:18;;8733:51;8729:94;;;8800:12;8811:1;8800:12;;:::i;5735:337:258:-;5874:7;5893:14;5910:25;5917:1;5920;5923:11;5910:6;:25::i;:::-;5893:42;-1:-1:-1;5961:11:258;5949:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6004:1;5989:11;5976:25;;;;;:::i;:::-;5986:1;5983;5976:25;:29;5945:98;;;6021:11;6031:1;6021:11;;:::i;4790:3691:260:-;4863:14;;;-1:-1:-1;;5340:1:260;5337;5330:20;5375:1;5372;5368:9;5359:18;;5422:5;5418:2;5415:13;5407:5;5403:2;5399:14;5395:34;5386:43;;;5500:5;5509:1;5500:10;5496:93;;5561:11;5553:5;:19;;;;;:::i;:::-;;5546:26;;;;;;5496:93;5688:11;5679:5;:20;5675:92;;5718:42;;-1:-1:-1;;;5718:42:260;;;;;18060:25:282;;;18101:18;;;18094:34;;;18144:18;;;18137:34;;;18033:18;;5718:42:260;17858:319:282;5675:92:260;5982:17;6129:11;6126:1;6123;6116:25;7462:1;6639;6624:12;;:16;;6609:32;;6751:25;;;;7443:1;:15;;7442:21;;7683;;;7679:25;;7668:36;7748:21;;;7744:25;;7733:36;7814:21;;;7810:25;;7799:36;7880:21;;;7876:25;;7865:36;7946:21;;;7942:25;;7931:36;8013:21;;;8009:25;;;7998:36;;;6591:15;7001;;;6997:29;;;6993:37;;;6227:20;;;6216:32;;;7107:15;;;;6266:21;;6847:19;;;;7098:24;;;;8457:15;;;-1:-1:-1;;;;4790:3691:260:o;12663:8768::-;-1:-1:-1;;;13102:18:260;13098:22;;:26;13094:1023;;13148:18;13144:22;;:26;13140:110;;13209:19;13200:28;13233:2;13199:36;13140:110;13271:18;13267:22;;:26;13263:110;;13332:19;13323:28;13356:2;13322:36;13263:110;13394:18;13390:22;;:26;13386:110;;13455:19;13446:28;13479:2;13445:36;13386:110;13517:18;13513:22;;:26;13509:110;;13578:19;13569:28;13602:2;13568:36;13509:110;13640:17;13636:21;;:25;13632:109;;13700:19;13691:28;13724:2;13690:36;13632:109;13762:17;13758:21;;:25;13754:109;;13822:19;13813:28;13846:2;13812:36;13754:109;13884:17;13880:21;;:25;13876:109;;13944:19;13935:28;13968:2;13934:36;13876:109;14006:17;14002:21;;:25;13998:109;;14066:19;14057:28;14090:2;14056:36;13998:109;14135:16;14131:20;;:24;14127:1005;;14179:16;14175:20;;:24;14171:108;;14238:19;14229:28;14262:2;14228:36;14171:108;14300:16;14296:20;;:24;14292:108;;14359:19;14350:28;14383:2;14349:36;14292:108;14421:16;14417:20;;:24;14413:108;;14480:19;14471:28;14504:2;14470:36;14413:108;14542:16;14538:20;;:24;14534:108;;14601:19;14592:28;14625:2;14591:36;14534:108;14663:15;14659:19;;:23;14655:107;;14721:19;14712:28;14745:2;14711:36;14655:107;14783:15;14779:19;;:23;14775:107;;14841:19;14832:28;14865:2;14831:36;14775:107;14903:15;14899:19;;:23;14895:107;;14961:19;14952:28;14985:2;14951:36;14895:107;15023:15;15019:19;;:23;15015:107;;15081:19;15072:28;15105:2;15071:36;15015:107;15150:14;15146:18;;:22;15142:987;;15192:14;15188:18;;:22;15184:106;;15249:19;15240:28;15273:2;15239:36;15184:106;15311:14;15307:18;;:22;15303:106;;15368:19;15359:28;15392:2;15358:36;15303:106;15430:14;15426:18;;:22;15422:106;;15487:19;15478:28;15511:2;15477:36;15422:106;15549:14;15545:18;;:22;15541:106;;15606:19;15597:28;15630:2;15596:36;15541:106;15668:13;15664:17;;:21;15660:105;;15724:19;15715:28;15748:2;15714:36;15660:105;15786:13;15782:17;;:21;15778:105;;15842:19;15833:28;15866:2;15832:36;15778:105;15904:13;15900:17;;:21;15896:105;;15960:19;15951:28;15984:2;15950:36;15896:105;16022:13;16018:17;;:21;16014:105;;16078:19;16069:28;16102:2;16068:36;16014:105;16147:12;16143:16;;:20;16139:969;;16187:12;16183:16;;:20;16179:104;;16242:19;16233:28;16266:2;16232:36;16179:104;16304:12;16300:16;;:20;16296:104;;16359:19;16350:28;16383:2;16349:36;16296:104;16421:12;16417:16;;:20;16413:104;;16476:19;16467:28;16500:2;16466:36;16413:104;16538:12;16534:16;;:20;16530:104;;16593:19;16584:28;16617:2;16583:36;16530:104;16655:11;16651:15;;:19;16647:103;;16709:19;16700:28;16733:2;16699:36;16647:103;16771:11;16767:15;;:19;16763:103;;16825:19;16816:28;16849:2;16815:36;16763:103;16887:11;16883:15;;:19;16879:103;;16941:19;16932:28;16965:2;16931:36;16879:103;17003:11;16999:15;;:19;16995:103;;17057:19;17048:28;17081:2;17047:36;16995:103;17126:12;17122:16;;:20;17118:953;;17166:10;17162:14;;:18;17158:102;;17219:19;17210:28;17243:2;17209:36;17158:102;17281:10;17277:14;;:18;17273:102;;17334:19;17325:28;17358:2;17324:36;17273:102;17396:10;17392:14;;:18;17388:102;;17449:19;17440:28;17473:2;17439:36;17388:102;17511:10;17507:14;;:18;17503:102;;17564:19;17555:28;17588:2;17554:36;17503:102;17626:9;17622:13;;:17;17618:101;;17678:19;17669:28;17702:2;17668:36;17618:101;17740:9;17736:13;;:17;17732:101;;17792:19;17783:28;17816:2;17782:36;17732:101;17854:9;17850:13;;:17;17846:101;;17906:19;17897:28;17930:2;17896:36;17846:101;17968:9;17964:13;;:17;17960:101;;18020:19;18011:28;18044:2;18010:36;17960:101;18089:8;18085:12;;:16;18081:933;;18125:8;18121:12;;:16;18117:100;;18176:19;18167:28;18200:2;18166:36;18117:100;18238:8;18234:12;;:16;18230:100;;18289:19;18280:28;18313:2;18279:36;18230:100;18351:8;18347:12;;:16;18343:100;;18402:19;18393:28;18426:2;18392:36;18343:100;18464:8;18460:12;;:16;18456:100;;18515:19;18506:28;18539:2;18505:36;18456:100;18577:7;18573:11;;:15;18569:99;;18627:19;18618:28;18651:2;18617:36;18569:99;18689:7;18685:11;;:15;18681:99;;18739:19;18730:28;18763:2;18729:36;18681:99;18801:7;18797:11;;:15;18793:99;;18851:19;18842:28;18875:2;18841:36;18793:99;18913:7;18909:11;;:15;18905:99;;18963:19;18954:28;18987:2;18953:36;18905:99;19032:6;19028:10;;:14;19024:915;;19066:6;19062:10;;:14;19058:98;;19115:19;19106:28;19139:2;19105:36;19058:98;19177:6;19173:10;;:14;19169:98;;19226:19;19217:28;19250:2;19216:36;19169:98;19288:6;19284:10;;:14;19280:98;;19337:19;19328:28;19361:2;19327:36;19280:98;19399:6;19395:10;;:14;19391:98;;19448:19;19439:28;19472:2;19438:36;19391:98;19510:5;19506:9;;:13;19502:97;;19558:19;19549:28;19582:2;19548:36;19502:97;19620:5;19616:9;;:13;19612:97;;19668:19;19659:28;19692:2;19658:36;19612:97;19730:5;19726:9;;:13;19722:97;;19778:19;19769:28;19802:2;19768:36;19722:97;19840:5;19836:9;;:13;19832:97;;19888:19;19879:28;19912:2;19878:36;19832:97;19957:4;19953:8;;:12;19949:897;;19989:4;19985:8;;:12;19981:96;;20036:19;20027:28;20060:2;20026:36;19981:96;20098:4;20094:8;;:12;20090:96;;20145:19;20136:28;20169:2;20135:36;20090:96;20207:4;20203:8;;:12;20199:96;;20254:19;20245:28;20278:2;20244:36;20199:96;20316:4;20312:8;;:12;20308:96;;20363:19;20354:28;20387:2;20353:36;20308:96;20425:3;20421:7;;:11;20417:95;;20471:19;20462:28;20495:2;20461:36;20417:95;20533:3;20529:7;;:11;20525:95;;20579:19;20570:28;20603:2;20569:36;20525:95;20641:3;20637:7;;:11;20633:95;;20687:19;20678:28;20711:2;20677:36;20633:95;20749:3;20745:7;;:11;20741:95;;20795:19;20786:28;20819:2;20785:36;20741:95;1525:4;21370:14;21418:2;21413:7;;;;21406:3;:15;21394:28;;12663:8768::o;21912:2318::-;21954:14;21980:1;21985;21980:6;21976:37;;-1:-1:-1;22005:1:260;;21912:2318;-1:-1:-1;21912:2318:260:o;21976:37::-;-1:-1:-1;22774:1:260;22757;-1:-1:-1;;;22785:16:260;;22781:74;;22846:2;22835:13;;;;;22822:3;22813:12;22781:74;22872:7;22864:4;:15;22860:72;;22923:2;22912:13;;;;;22900:2;22891:11;22860:72;22949:7;22941:4;:15;22937:72;;23000:2;22989:13;;;;;22977:2;22968:11;22937:72;23026:7;23018:4;:15;23014:71;;23077:1;23066:12;;;;;23054:2;23045:11;23014:71;23102:6;23094:4;:14;23090:69;;23151:1;23140:12;;;;;23129:1;23120:10;23090:69;23176:6;23168:4;:14;23164:69;;23225:1;23214:12;;;;;23203:1;23194:10;23164:69;23250:6;23242:4;:14;23238:49;;23279:1;23268:12;;;;;23238:49;23740:1;23729:6;23725:1;:10;;;;;:::i;:::-;;23716:6;:19;23715:26;;23706:35;;23785:1;23774:6;23770:1;:10;;;;;:::i;:::-;;23761:6;:19;23760:26;;23751:35;;23830:1;23819:6;23815:1;:10;;;;;:::i;:::-;;23806:6;:19;23805:26;;23796:35;;23875:1;23864:6;23860:1;:10;;;;;:::i;:::-;;23851:6;:19;23850:26;;23841:35;;23920:1;23909:6;23905:1;:10;;;;;:::i;:::-;;23896:6;:19;23895:26;;23886:35;;23965:1;23954:6;23950:1;:10;;;;;:::i;:::-;;23941:6;:19;23940:26;;23931:35;;24010:1;23999:6;23995:1;:10;;;;;:::i;:::-;;23986:6;:19;23985:26;;23976:35;;24090:25;24122:6;24118:1;:10;;;;;:::i;:::-;;24090:38;;24152:17;24142:6;:27;24138:84;;24194:17;24185:26;;24138:84;23686:542;21970:2260;21912:2318;;;:::o;9536:821::-;9590:14;;;-1:-1:-1;;9705:1:260;9702;9695:20;9740:1;9737;9733:9;9724:18;;9787:5;9783:2;9780:13;9772:5;9768:2;9764:14;9760:34;9751:43;;;1525:4;9810:5;:13;9806:74;;9842:31;;-1:-1:-1;;;9842:31:260;;;;;5036:25:282;;;5077:18;;;5070:34;;;5009:18;;9842:31:260;4862:248:282;9806:74:260;9886:17;9970:4;9967:1;9964;9957:18;9944:31;;9991:5;10000:1;9991:10;9987:86;;-1:-1:-1;;1525:4:260;10044:12;;;-1:-1:-1;10037:19:260;;9987:86;10283:10;10165:21;;;10161:38;10232:20;-1:-1:-1;10221:32:260;;-1:-1:-1;;;10217:82:260;10141:172;10327:12;10124:225;;-1:-1:-1;9536:821:260;;;;:::o;1678:3925:258:-;1790:14;;;-1:-1:-1;;2327:1:258;2324;2317:20;2370:1;2367;2363:9;2354:18;;2425:5;2421:2;2418:13;2410:5;2406:2;2402:14;2398:34;2389:43;;;2527:5;2536:1;2527:10;2523:75;;2572:11;2564:5;:19;;;;;:::i;2523:75::-;2722:5;2708:11;:19;2700:28;;;;;-1:-1:-1;;;:::i;:::-;:::o;14:286:282:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:282;;209:43;;199:71;;266:1;263;256:12;729:127;790:10;785:3;781:20;778:1;771:31;821:4;818:1;811:15;845:4;842:1;835:15;861:275;932:2;926:9;997:2;978:13;;-1:-1:-1;;974:27:282;962:40;;1032:18;1017:34;;1053:22;;;1014:62;1011:88;;;1079:18;;:::i;:::-;1115:2;1108:22;861:275;;-1:-1:-1;861:275:282:o;1141:181::-;1199:4;1232:18;1224:6;1221:30;1218:56;;;1254:18;;:::i;:::-;-1:-1:-1;1299:1:282;1295:14;1311:4;1291:25;;1141:181::o;1327:660::-;1381:5;1434:3;1427:4;1419:6;1415:17;1411:27;1401:55;;1452:1;1449;1442:12;1401:55;1488:6;1475:20;1514:4;1538:58;1554:41;1592:2;1554:41;:::i;:::-;1538:58;:::i;:::-;1630:15;;;1716:1;1712:10;;;;1700:23;;1696:32;;;1661:12;;;;1740:15;;;1737:35;;;1768:1;1765;1758:12;1737:35;1804:2;1796:6;1792:15;1816:142;1832:6;1827:3;1824:15;1816:142;;;1898:17;;1886:30;;1936:12;;;;1849;;1816:142;;;-1:-1:-1;1976:5:282;1327:660;-1:-1:-1;;;;;;1327:660:282:o;1992:2186::-;2153:6;2161;2169;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2278:9;2265:23;2307:18;2348:2;2340:6;2337:14;2334:34;;;2364:1;2361;2354:12;2334:34;2402:6;2391:9;2387:22;2377:32;;2447:7;2440:4;2436:2;2432:13;2428:27;2418:55;;2469:1;2466;2459:12;2418:55;2505:2;2492:16;2527:4;2551:58;2567:41;2605:2;2567:41;:::i;2551:58::-;2643:15;;;2725:1;2721:10;;;;2713:19;;2709:28;;;2674:12;;;;2749:19;;;2746:39;;;2781:1;2778;2771:12;2746:39;2813:2;2809;2805:11;2825:955;2841:6;2836:3;2833:15;2825:955;;;2927:3;2914:17;2963:2;2950:11;2947:19;2944:109;;;3007:1;3036:2;3032;3025:14;2944:109;3076:20;;3131:2;3123:11;;3119:25;-1:-1:-1;3109:123:282;;3186:1;3215:2;3211;3204:14;3109:123;3276:2;3272;3268:11;3255:25;3303:2;3328;3324;3321:10;3318:36;;;3334:18;;:::i;:::-;3380:53;3423:2;3404:13;;-1:-1:-1;;3400:27:282;3396:36;;3380:53;:::i;:::-;3460:2;3453:5;3446:17;3504:7;3499:2;3494;3490;3486:11;3482:20;3479:33;3476:126;;;3554:1;3584:3;3579;3572:16;3476:126;3657:2;3652;3648;3644:11;3639:2;3632:5;3628:14;3615:45;3705:1;3684:14;;;3680:23;;3673:34;;;;-1:-1:-1;3720:18:282;;-1:-1:-1;3758:12:282;;;;2858;;2825:955;;;-1:-1:-1;3799:5:282;-1:-1:-1;;3842:18:282;;3829:32;;-1:-1:-1;;3873:16:282;;;3870:36;;;3902:1;3899;3892:12;3870:36;3925:63;3980:7;3969:8;3958:9;3954:24;3925:63;:::i;:::-;3915:73;;4041:2;4030:9;4026:18;4013:32;3997:48;;4070:2;4060:8;4057:16;4054:36;;;4086:1;4083;4076:12;4054:36;;4109:63;4164:7;4153:8;4142:9;4138:24;4109:63;:::i;:::-;4099:73;;;1992:2186;;;;;:::o;5115:127::-;5176:10;5171:3;5167:20;5164:1;5157:31;5207:4;5204:1;5197:15;5231:4;5228:1;5221:15;5247:127;5308:10;5303:3;5299:20;5296:1;5289:31;5339:4;5336:1;5329:15;5363:4;5360:1;5353:15;5379:120;5419:1;5445;5435:35;;5450:18;;:::i;:::-;-1:-1:-1;5484:9:282;;5379:120::o;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:135;5675:3;5696:17;;;5693:43;;5716:18;;:::i;:::-;-1:-1:-1;5763:1:282;5752:13;;5636:135::o;5776:435::-;5829:3;5867:5;5861:12;5894:6;5889:3;5882:19;5920:4;5949:2;5944:3;5940:12;5933:19;;5986:2;5979:5;5975:14;6007:1;6017:169;6031:6;6028:1;6025:13;6017:169;;;6092:13;;6080:26;;6126:12;;;;6161:15;;;;6053:1;6046:9;6017:169;;;-1:-1:-1;6202:3:282;;5776:435;-1:-1:-1;;;;;5776:435:282:o;6216:1682::-;6560:4;6608:3;6597:9;6593:19;6668:1;6664;6659:3;6655:11;6651:19;6643:6;6639:32;6628:9;6621:51;6691:2;6729:3;6724:2;6713:9;6709:18;6702:31;6753:6;6788;6782:13;6819:6;6811;6804:22;6857:3;6846:9;6842:19;6835:26;;6920:3;6910:6;6907:1;6903:14;6892:9;6888:30;6884:40;6870:54;;6959:2;6951:6;6947:15;6980:1;7001;7011:635;7027:6;7022:3;7019:15;7011:635;;;7096:22;;;-1:-1:-1;;7092:37:282;7080:50;;7153:13;;7195:9;;7217:24;;;7265:1;7279:157;7295:8;7290:3;7287:17;7279:157;;;7403:12;;;7399:21;;7393:28;7370:16;;;7366:25;;7359:63;7314:12;;7279:157;;;-1:-1:-1;7460:21:282;;;7456:30;;7449:41;;;7556:2;7533:17;-1:-1:-1;;7529:31:282;7517:44;;;7513:53;;;-1:-1:-1;7624:12:282;;;;7589:15;;;;7053:1;7044:11;7011:635;;;7015:3;;;;;;7694:9;7686:6;7682:22;7677:2;7666:9;7662:18;7655:50;7728:44;7765:6;7757;7728:44;:::i;:::-;7714:58;;7820:9;7812:6;7808:22;7803:2;7792:9;7788:18;7781:50;7848:44;7885:6;7877;7848:44;:::i;8212:125::-;8277:9;;;8298:10;;;8295:36;;;8311:18;;:::i;8342:127::-;8403:10;8398:3;8394:20;8391:1;8384:31;8434:4;8431:1;8424:15;8458:4;8455:1;8448:15;8656:543;8874:13;;8817:3;;8848;;8927:4;8954:15;;;8817:3;8997:175;9011:6;9008:1;9005:13;8997:175;;;9074:13;;9060:28;;9110:14;;;;9147:15;;;;9033:1;9026:9;8997:175;;;-1:-1:-1;9188:5:282;;8656:543;-1:-1:-1;;;;;;8656:543:282:o;9483:184::-;9553:6;9606:2;9594:9;9585:7;9581:23;9577:32;9574:52;;;9622:1;9619;9612:12;9574:52;-1:-1:-1;9645:16:282;;9483:184;-1:-1:-1;9483:184:282:o;9672:832::-;9940:2;9952:21;;;10022:13;;9925:18;;;10044:22;;;9892:4;;10119;;10097:2;10082:18;;;10146:15;;;9892:4;10189:195;10203:6;10200:1;10197:13;10189:195;;;10268:13;;-1:-1:-1;;;;;10264:39:282;10252:52;;10324:12;;;;10359:15;;;;10300:1;10218:9;10189:195;;;10193:3;;;10429:9;10424:3;10420:19;10415:2;10404:9;10400:18;10393:47;10457:41;10494:3;10486:6;10457:41;:::i;10509:879::-;10604:6;10635:2;10678;10666:9;10657:7;10653:23;10649:32;10646:52;;;10694:1;10691;10684:12;10646:52;10727:9;10721:16;10760:18;10752:6;10749:30;10746:50;;;10792:1;10789;10782:12;10746:50;10815:22;;10868:4;10860:13;;10856:27;-1:-1:-1;10846:55:282;;10897:1;10894;10887:12;10846:55;10926:2;10920:9;10949:58;10965:41;11003:2;10965:41;:::i;10949:58::-;11041:15;;;11123:1;11119:10;;;;11111:19;;11107:28;;;11072:12;;;;11147:19;;;11144:39;;;11179:1;11176;11169:12;11144:39;11203:11;;;;11223:135;11239:6;11234:3;11231:15;11223:135;;;11305:10;;11293:23;;11256:12;;;;11336;;;;11223:135;;11601:290;11671:6;11724:2;11712:9;11703:7;11699:23;11695:32;11692:52;;;11740:1;11737;11730:12;11692:52;11766:16;;-1:-1:-1;;;;;11811:31:282;;11801:42;;11791:70;;11857:1;11854;11847:12;11896:422;11985:1;12028:5;11985:1;12042:270;12063:7;12053:8;12050:21;12042:270;;;12122:4;12118:1;12114:6;12110:17;12104:4;12101:27;12098:53;;;12131:18;;:::i;:::-;12181:7;12171:8;12167:22;12164:55;;;12201:16;;;;12164:55;12280:22;;;;12240:15;;;;12042:270;;;12046:3;11896:422;;;;;:::o;12323:806::-;12372:5;12402:8;12392:80;;-1:-1:-1;12443:1:282;12457:5;;12392:80;12491:4;12481:76;;-1:-1:-1;12528:1:282;12542:5;;12481:76;12573:4;12591:1;12586:59;;;;12659:1;12654:130;;;;12566:218;;12586:59;12616:1;12607:10;;12630:5;;;12654:130;12691:3;12681:8;12678:17;12675:43;;;12698:18;;:::i;:::-;-1:-1:-1;;12754:1:282;12740:16;;12769:5;;12566:218;;12868:2;12858:8;12855:16;12849:3;12843:4;12840:13;12836:36;12830:2;12820:8;12817:16;12812:2;12806:4;12803:12;12799:35;12796:77;12793:159;;;-1:-1:-1;12905:19:282;;;12937:5;;12793:159;12984:34;13009:8;13003:4;12984:34;:::i;:::-;13054:6;13050:1;13046:6;13042:19;13033:7;13030:32;13027:58;;;13065:18;;:::i;:::-;13103:20;;12323:806;-1:-1:-1;;;12323:806:282:o;13134:131::-;13194:5;13223:36;13250:8;13244:4;13223:36;:::i;13270:112::-;13302:1;13328;13318:35;;13333:18;;:::i;:::-;-1:-1:-1;13367:9:282;;13270:112::o;13387:168::-;13460:9;;;13491;;13508:15;;;13502:22;;13488:37;13478:71;;13529:18;;:::i;13560:128::-;13627:9;;;13648:11;;;13645:37;;;13662:18;;:::i;14073:276::-;14159:6;14212:2;14200:9;14191:7;14187:23;14183:32;14180:52;;;14228:1;14225;14218:12;14180:52;14260:9;14254:16;14299:1;14292:5;14289:12;14279:40;;14315:1;14312;14305:12;14577:358;-1:-1:-1;;;;;14784:32:282;;14766:51;;14853:2;14848;14833:18;;14826:30;;;-1:-1:-1;;14873:56:282;;14910:18;;14902:6;14873:56;:::i;14940:429::-;15204:1;15200;15195:3;15191:11;15187:19;15179:6;15175:32;15164:9;15157:51;15244:6;15239:2;15228:9;15224:18;15217:34;15287:2;15282;15271:9;15267:18;15260:30;15138:4;15307:56;15359:2;15348:9;15344:18;15336:6;15307:56;:::i;15374:179::-;15452:13;;15505:22;15494:34;;15484:45;;15474:73;;15543:1;15540;15533:12;15558:473;15661:6;15669;15677;15685;15693;15746:3;15734:9;15725:7;15721:23;15717:33;15714:53;;;15763:1;15760;15753:12;15714:53;15786:39;15815:9;15786:39;:::i;:::-;15776:49;;15865:2;15854:9;15850:18;15844:25;15834:35;;15909:2;15898:9;15894:18;15888:25;15878:35;;15953:2;15942:9;15938:18;15932:25;15922:35;;15976:49;16020:3;16009:9;16005:19;15976:49;:::i;:::-;15966:59;;15558:473;;;;;;;;:::o;16216:273::-;16284:6;16337:2;16325:9;16316:7;16312:23;16308:32;16305:52;;;16353:1;16350;16343:12;16305:52;16385:9;16379:16;16435:4;16428:5;16424:16;16417:5;16414:27;16404:55;;16455:1;16452;16445:12;16494:140;16552:5;16581:47;16622:4;16612:8;16608:19;16602:4;16581:47;:::i;17161:331::-;17363:2;17345:21;;;17402:1;17382:18;;;17375:29;-1:-1:-1;;;17435:2:282;17420:18;;17413:38;17483:2;17468:18;;17161:331::o;18182:127::-;18243:10;18238:3;18234:20;18231:1;18224:31;18274:4;18271:1;18264:15;18298:4;18295:1;18288:15", - "linkReferences": {}, - "immutableReferences": { - "18420": [ - { - "start": 126, - "length": 32 - }, - { - "start": 819, - "length": 32 - } - ], - "18423": [ - { - "start": 250, - "length": 32 - }, - { - "start": 853, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deployExpression(bytes[],uint256[],uint256[])": "5511cb67", - "interpreter()": "3a35cf17", - "store()": "975057e7", - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct RainterpreterExpressionDeployerConstructionConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"}],\"name\":\"DoWhileMaxInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputs\",\"type\":\"uint256\"}],\"name\":\"InsufficientLoopOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minStackOutputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualStackOutputs\",\"type\":\"uint256\"}],\"name\":\"MinFinalStack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MinStackBottom\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedEntrypoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualEntrypoints\",\"type\":\"uint256\"}],\"name\":\"MissingEntrypoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"}],\"name\":\"NotPosIntPrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"constantsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"constantsRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsConstantsRead\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackTopIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsStackRead\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Ceil_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp2_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Exp_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"UD60x18\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Gm_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Log_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_Sqrt_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackHighwaterIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackTopIndex\",\"type\":\"uint256\"}],\"name\":\"StackPopUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"staleAfter\",\"type\":\"uint256\"}],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"startBit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"TruncatedEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedInterpreterBytecodeHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualOpMeta\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedOpMetaHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"actualPointers\",\"type\":\"bytes\"}],\"name\":\"UnexpectedPointers\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedStoreBytecodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WriteError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroInputs\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"opMeta\",\"type\":\"bytes\"}],\"name\":\"DISpair\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"name\":\"ExpressionAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"sources\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"NewExpression\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"sources_\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256[]\",\"name\":\"constants_\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minOutputs_\",\"type\":\"uint256[]\"}],\"name\":\"deployExpression\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interpreter\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"store\",\"outputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"MinFinalStack(uint256,uint256)\":[{\"params\":{\"actualStackOutputs\":\"The final stack height after evaluating a source. Will be less than the min stack outputs if this error is thrown.\",\"minStackOutputs\":\"The required minimum stack height.\"}}],\"MissingEntrypoint(uint256,uint256)\":[{\"details\":\"There are more entrypoints defined by the minimum stack outputs than there are provided sources. This means the calling contract WILL attempt to eval a dangling reference to a non-existent source at some point, so this MUST REVERT.\"}],\"NotPosIntPrice(int256)\":[{\"params\":{\"price\":\"The price that is not a positive integer.\"}}],\"StackPopUnderflow(uint256,uint256)\":[{\"params\":{\"stackHighwaterIndex\":\"Index of the stack highwater at the moment of underflow.\",\"stackTopIndex\":\"Index of the stack top at the moment of underflow.\"}}],\"StalePrice(uint256,uint256)\":[{\"params\":{\"staleAfter\":\"The maximum number of seconds the caller allows between the block timestamp and the updated time.\",\"updatedAt\":\"The latest time the oracle was updated according to the oracle.\"}}],\"TruncatedEncoding(uint256,uint256)\":[{\"params\":{\"length\":\"The length of the OOB encoding.\",\"startBit\":\"The start of the OOB encoding.\"}}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the interpreter address upon construction.\"}}],\"UnexpectedPointers(bytes)\":[{\"details\":\"Thrown when the pointers known to the expression deployer DO NOT match the interpreter it is constructed for. This WILL cause undefined expression behaviour so MUST REVERT.\",\"params\":{\"actualPointers\":\"The actual function pointers found at the interpreter address upon construction.\"}}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the store address upon construction.\"}}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"params\":{\"opMeta\":\"The raw binary data of the op meta. Maybe compressed data etc. and is intended for offchain consumption.\",\"sender\":\"The `msg.sender` providing the op meta.\"}},\"ExpressionAddress(address,address)\":{\"params\":{\"expression\":\"The address of the deployed expression.\",\"sender\":\"The caller of `deployExpression`.\"}},\"NewExpression(address,bytes[],uint256[],uint256[])\":{\"params\":{\"constants\":\"As per `IExpressionDeployerV1`.\",\"minOutputs\":\"As per `IExpressionDeployerV1`.\",\"sender\":\"The caller of `deployExpression`.\",\"sources\":\"As per `IExpressionDeployerV1`.\"}}},\"kind\":\"dev\",\"methods\":{\"deployExpression(bytes[],uint256[],uint256[])\":{\"params\":{\"constants\":\"Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.\",\"minOutputs\":\"The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified.\",\"sources\":\"Sources verbatim. These sources MUST be provided in their sequential/index opcode form as the deployment process will need to index into BOTH the integrity check and the final runtime function pointers. This will be emitted in an event for offchain processing to use the indexed opcode sources. The first N sources are considered entrypoints and will be integrity checked by the expression deployer against a starting stack height of 0. Non-entrypoint sources MAY be provided for internal use such as the `call` opcode but will NOT be integrity checked UNLESS entered by an opcode in an entrypoint.\"},\"returns\":{\"_0\":\"The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.\",\"_1\":\"The interpreter store the deployer believes is compatible with the interpreter.\",\"_2\":\"The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of.\"}}},\"title\":\"RainterpreterExpressionDeployer\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"DoWhileMaxInputs(uint256)\":[{\"notice\":\"More inputs were encoded in the operand than can be dispatched internally by a do-while loop.\"}],\"InsufficientLoopOutputs(uint256,uint256)\":[{\"notice\":\"Thrown if there are fewer outputs than inputs which is currently unsupported.\"}],\"MinFinalStack(uint256,uint256)\":[{\"notice\":\"The final stack produced by some source did not hit the minimum required for its calling context.\"}],\"MinStackBottom()\":[{\"notice\":\"It is a misconfiguration to set the initial stack bottom to zero or some small value as this trivially exposes the integrity check to potential underflow issues that are gas intensive to repeatedly guard against on every pop. The initial stack bottom for an `IntegrityCheckState` should be `INITIAL_STACK_BOTTOM` to safely avoid the need for underflow checks due to pops and pushes.\"}],\"NotPosIntPrice(int256)\":[{\"notice\":\"Thrown if a price is zero or negative as this is probably not anticipated or useful for most users of a price feed. Of course there are use cases where zero or negative _oracle values_ in general are useful, such as negative temperatures from a thermometer, but these are unlikely to be useful _prices_ for assets. Zero value prices are likely to result in division by zero downstream or giving away assets for free, negative price values could result in even weirder behaviour due to token amounts being `uint256` and the subtleties of signed vs. unsigned integer conversions.\"}],\"OutOfBoundsConstantsRead(uint256,uint256)\":[{\"notice\":\"Thrown when a constant read index is outside the constants array.\"}],\"OutOfBoundsStackRead(uint256,uint256)\":[{\"notice\":\"Thrown when a stack read index is outside the current stack top.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in the fixed-point version of `mulDiv` would overflow uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Emitted when the ending result in `mulDiv` would overflow uint256.\"}],\"PRBMath_UD60x18_Ceil_Overflow(uint256)\":[{\"notice\":\"Emitted when ceiling a number overflows UD60x18.\"}],\"PRBMath_UD60x18_Exp2_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the binary exponent of a base greater than 192.\"}],\"PRBMath_UD60x18_Exp_InputTooBig(uint256)\":[{\"notice\":\"Emitted when taking the natural exponent of a base greater than 133.084258667509499441.\"}],\"PRBMath_UD60x18_Gm_Overflow(uint256,uint256)\":[{\"notice\":\"Emitted when taking the geometric mean of two numbers and multiplying them overflows UD60x18.\"}],\"PRBMath_UD60x18_Log_InputTooSmall(uint256)\":[{\"notice\":\"Emitted when taking the logarithm of a number less than 1.\"}],\"PRBMath_UD60x18_Sqrt_Overflow(uint256)\":[{\"notice\":\"Emitted when calculating the square root overflows UD60x18.\"}],\"StackPopUnderflow(uint256,uint256)\":[{\"notice\":\"The virtual stack top has underflowed the stack highwater (or zero) during an integrity check. The highwater will initially be the stack bottom but MAY move higher due to certain operations such as placing multiple outputs on the stack or copying from a stack position. The highwater prevents subsequent popping of values that are considered immutable.\"}],\"StalePrice(uint256,uint256)\":[{\"notice\":\"Thrown when the updatedAt time from the Chainlink oracle is more than staleAfter seconds prior to the current block timestamp. Prevents stale prices from being used within the constraints set by the caller.\"}],\"TruncatedEncoding(uint256,uint256)\":[{\"notice\":\"Thrown during integrity check when the encoding is truncated due to the end bit being over 256.\"}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown interpreter bytecode.\"}],\"UnexpectedOpMetaHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown opMeta.\"}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\"}],\"WriteError()\":[{\"notice\":\"Thrown if writing the data by creating the contract fails somehow.\"}],\"ZeroInputs()\":[{\"notice\":\"Zero inputs to select lte is NOT supported.\"}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"notice\":\"This is the literal InterpreterOpMeta bytes to be used offchain to make sense of the opcodes in this interpreter deployment, as a human. For formats like json that make heavy use of boilerplate, repetition and whitespace, some kind of compression is recommended.\"},\"ExpressionAddress(address,address)\":{\"notice\":\"The address of the deployed expression. Will only be emitted once the expression can be loaded and deserialized into an evaluable interpreter state.\"},\"NewExpression(address,bytes[],uint256[],uint256[])\":{\"notice\":\"The config of the deployed expression including uncompiled sources. Will only be emitted after the config passes the integrity check.\"}},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT HONEST MISTAKES. IT CANNOT PREVENT EITHER A MALICIOUS INTERPRETER OR DEPLOYER FROM BEING EXECUTED.\"},\"deployExpression(bytes[],uint256[],uint256[])\":{\"notice\":\"Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter.\"}},\"notice\":\"Minimal binding of the `IExpressionDeployerV1` interface to the `LibIntegrityCheck.ensureIntegrity` loop and `AllStandardOps`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interpreter/shared/RainterpreterExpressionDeployer.sol\":\"RainterpreterExpressionDeployer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/\",\":rain.cooldown/=lib/rain.cooldown/src/\",\":rain.math.saturating/=lib/rain.math.saturating/src/\",\":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"contracts/array/LibUint256Array.sol\":{\"keccak256\":\"0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426\",\"dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe\"]},\"contracts/chainlink/LibChainlink.sol\":{\"keccak256\":\"0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9\",\"dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm\"]},\"contracts/ierc1820/LibIERC1820.sol\":{\"keccak256\":\"0xe7b1b0ee53838cd5e706bbce5efa930908c110ba52190ab81cede469974c0c5d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3eb71b0797d9b498333ce749bca2c2a42b58644756e906ef0dedfa9d38fa49a\",\"dweb:/ipfs/QmbpHiZZgc26Rzbpe6Q4n5Z4EUQ4f4x4UqmuJAv7UqB4pT\"]},\"contracts/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9\",\"dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck\"]},\"contracts/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff\",\"dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh\"]},\"contracts/ierc5313/IERC5313.sol\":{\"keccak256\":\"0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61\",\"dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe\"]},\"contracts/interpreter/caller/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125\",\"dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC\"]},\"contracts/interpreter/deploy/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc\",\"dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw\"]},\"contracts/interpreter/deploy/LibIntegrityCheck.sol\":{\"keccak256\":\"0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a\",\"dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6\"]},\"contracts/interpreter/extern/IInterpreterExternV1.sol\":{\"keccak256\":\"0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99\",\"dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k\"]},\"contracts/interpreter/extern/LibExtern.sol\":{\"keccak256\":\"0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60\",\"dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg\"]},\"contracts/interpreter/ops/AllStandardOps.sol\":{\"keccak256\":\"0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010\",\"dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE\"]},\"contracts/interpreter/ops/bytes32/OpDecode256.sol\":{\"keccak256\":\"0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e\",\"dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b\"]},\"contracts/interpreter/ops/bytes32/OpEncode256.sol\":{\"keccak256\":\"0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54\",\"dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR\"]},\"contracts/interpreter/ops/bytes32/OpExplode32.sol\":{\"keccak256\":\"0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf\",\"dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF\"]},\"contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol\":{\"keccak256\":\"0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d\",\"dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb\"]},\"contracts/interpreter/ops/context/OpContext.sol\":{\"keccak256\":\"0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b\",\"dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ\"]},\"contracts/interpreter/ops/context/OpContextColumnHash.sol\":{\"keccak256\":\"0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda\",\"dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb\"]},\"contracts/interpreter/ops/context/OpContextRow.sol\":{\"keccak256\":\"0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93\",\"dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr\"]},\"contracts/interpreter/ops/context/OpFoldContext.sol\":{\"keccak256\":\"0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050\",\"dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE\"]},\"contracts/interpreter/ops/core/OpCall.sol\":{\"keccak256\":\"0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326\",\"dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj\"]},\"contracts/interpreter/ops/core/OpDebug.sol\":{\"keccak256\":\"0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7\",\"dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp\"]},\"contracts/interpreter/ops/core/OpDoWhile.sol\":{\"keccak256\":\"0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac\",\"dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN\"]},\"contracts/interpreter/ops/core/OpExtern.sol\":{\"keccak256\":\"0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21\",\"dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA\"]},\"contracts/interpreter/ops/core/OpLoopN.sol\":{\"keccak256\":\"0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98\",\"dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g\"]},\"contracts/interpreter/ops/core/OpReadMemory.sol\":{\"keccak256\":\"0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1\",\"dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu\"]},\"contracts/interpreter/ops/crypto/OpHash.sol\":{\"keccak256\":\"0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c\",\"dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol\":{\"keccak256\":\"0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f\",\"dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo\"]},\"contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol\":{\"keccak256\":\"0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943\",\"dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL\"]},\"contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol\":{\"keccak256\":\"0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17\",\"dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj\"]},\"contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol\":{\"keccak256\":\"0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa\",\"dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol\":{\"keccak256\":\"0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6\",\"dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt\"]},\"contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol\":{\"keccak256\":\"0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d\",\"dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU\"]},\"contracts/interpreter/ops/erc5313/OpERC5313Owner.sol\":{\"keccak256\":\"0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d\",\"dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5\"]},\"contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol\":{\"keccak256\":\"0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726\",\"dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw\"]},\"contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol\":{\"keccak256\":\"0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a\",\"dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc\"]},\"contracts/interpreter/ops/error/OpEnsure.sol\":{\"keccak256\":\"0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123\",\"dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL\"]},\"contracts/interpreter/ops/evm/OpBlockNumber.sol\":{\"keccak256\":\"0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166\",\"dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw\"]},\"contracts/interpreter/ops/evm/OpTimestamp.sol\":{\"keccak256\":\"0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3\",\"dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA\"]},\"contracts/interpreter/ops/math/OpAdd.sol\":{\"keccak256\":\"0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722\",\"dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY\"]},\"contracts/interpreter/ops/math/OpDiv.sol\":{\"keccak256\":\"0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df\",\"dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM\"]},\"contracts/interpreter/ops/math/OpExp.sol\":{\"keccak256\":\"0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3\",\"dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW\"]},\"contracts/interpreter/ops/math/OpMax.sol\":{\"keccak256\":\"0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df\",\"dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8\"]},\"contracts/interpreter/ops/math/OpMin.sol\":{\"keccak256\":\"0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455\",\"dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM\"]},\"contracts/interpreter/ops/math/OpMod.sol\":{\"keccak256\":\"0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42\",\"dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V\"]},\"contracts/interpreter/ops/math/OpMul.sol\":{\"keccak256\":\"0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8\",\"dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R\"]},\"contracts/interpreter/ops/math/OpSub.sol\":{\"keccak256\":\"0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1\",\"dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol\":{\"keccak256\":\"0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc\",\"dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol\":{\"keccak256\":\"0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777\",\"dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol\":{\"keccak256\":\"0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937\",\"dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol\":{\"keccak256\":\"0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528\",\"dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol\":{\"keccak256\":\"0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049\",\"dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5\"]},\"contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol\":{\"keccak256\":\"0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa\",\"dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92\"]},\"contracts/interpreter/ops/math/logic/OpAny.sol\":{\"keccak256\":\"0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759\",\"dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV\"]},\"contracts/interpreter/ops/math/logic/OpEagerIf.sol\":{\"keccak256\":\"0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded\",\"dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs\"]},\"contracts/interpreter/ops/math/logic/OpEqualTo.sol\":{\"keccak256\":\"0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574\",\"dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo\"]},\"contracts/interpreter/ops/math/logic/OpEvery.sol\":{\"keccak256\":\"0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63\",\"dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4\"]},\"contracts/interpreter/ops/math/logic/OpGreaterThan.sol\":{\"keccak256\":\"0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005\",\"dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy\"]},\"contracts/interpreter/ops/math/logic/OpIsZero.sol\":{\"keccak256\":\"0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3\",\"dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV\"]},\"contracts/interpreter/ops/math/logic/OpLessThan.sol\":{\"keccak256\":\"0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c\",\"dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP\"]},\"contracts/interpreter/ops/math/prb/OpPRBAvg.sol\":{\"keccak256\":\"0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06\",\"dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp\"]},\"contracts/interpreter/ops/math/prb/OpPRBCeil.sol\":{\"keccak256\":\"0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01\",\"dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD\"]},\"contracts/interpreter/ops/math/prb/OpPRBDiv.sol\":{\"keccak256\":\"0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f\",\"dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp.sol\":{\"keccak256\":\"0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c\",\"dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w\"]},\"contracts/interpreter/ops/math/prb/OpPRBExp2.sol\":{\"keccak256\":\"0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a\",\"dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj\"]},\"contracts/interpreter/ops/math/prb/OpPRBFloor.sol\":{\"keccak256\":\"0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b\",\"dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM\"]},\"contracts/interpreter/ops/math/prb/OpPRBFrac.sol\":{\"keccak256\":\"0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d\",\"dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei\"]},\"contracts/interpreter/ops/math/prb/OpPRBGm.sol\":{\"keccak256\":\"0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e\",\"dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD\"]},\"contracts/interpreter/ops/math/prb/OpPRBInv.sol\":{\"keccak256\":\"0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd\",\"dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d\"]},\"contracts/interpreter/ops/math/prb/OpPRBLn.sol\":{\"keccak256\":\"0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f\",\"dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog10.sol\":{\"keccak256\":\"0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5\",\"dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w\"]},\"contracts/interpreter/ops/math/prb/OpPRBLog2.sol\":{\"keccak256\":\"0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334\",\"dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK\"]},\"contracts/interpreter/ops/math/prb/OpPRBMul.sol\":{\"keccak256\":\"0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79\",\"dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk\"]},\"contracts/interpreter/ops/math/prb/OpPRBPow.sol\":{\"keccak256\":\"0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041\",\"dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P\"]},\"contracts/interpreter/ops/math/prb/OpPRBPowu.sol\":{\"keccak256\":\"0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae\",\"dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb\"]},\"contracts/interpreter/ops/math/prb/OpPRBSqrt.sol\":{\"keccak256\":\"0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538\",\"dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol\":{\"keccak256\":\"0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e\",\"dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol\":{\"keccak256\":\"0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4\",\"dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT\"]},\"contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol\":{\"keccak256\":\"0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c\",\"dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju\"]},\"contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol\":{\"keccak256\":\"0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5\",\"dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol\":{\"keccak256\":\"0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8\",\"dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol\":{\"keccak256\":\"0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8\",\"dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol\":{\"keccak256\":\"0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745\",\"dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol\":{\"keccak256\":\"0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077\",\"dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY\"]},\"contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol\":{\"keccak256\":\"0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3\",\"dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj\"]},\"contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol\":{\"keccak256\":\"0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628\",\"dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW\"]},\"contracts/interpreter/ops/store/OpGet.sol\":{\"keccak256\":\"0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34\",\"dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr\"]},\"contracts/interpreter/ops/store/OpSet.sol\":{\"keccak256\":\"0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489\",\"dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2\"]},\"contracts/interpreter/ops/tier/OpITierV2Report.sol\":{\"keccak256\":\"0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7\",\"dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV\"]},\"contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol\":{\"keccak256\":\"0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9\",\"dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP\"]},\"contracts/interpreter/ops/tier/OpSaturatingDiff.sol\":{\"keccak256\":\"0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463\",\"dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6\"]},\"contracts/interpreter/ops/tier/OpSelectLte.sol\":{\"keccak256\":\"0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026\",\"dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu\"]},\"contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol\":{\"keccak256\":\"0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de\",\"dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy\"]},\"contracts/interpreter/run/IInterpreterV1.sol\":{\"keccak256\":\"0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20\",\"dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY\"]},\"contracts/interpreter/run/LibEvaluable.sol\":{\"keccak256\":\"0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e\",\"dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT\"]},\"contracts/interpreter/run/LibInterpreterState.sol\":{\"keccak256\":\"0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72\",\"dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq\"]},\"contracts/interpreter/run/LibStackPointer.sol\":{\"keccak256\":\"0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e\",\"dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L\"]},\"contracts/interpreter/shared/RainterpreterExpressionDeployer.sol\":{\"keccak256\":\"0x33cacedb8e93211f9b803a84f7ca337a0010f8cafe18199c2f20d452943b206c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf24af8ddb9f0e69252849bb84a875921da12f18c228b34eb2723564dc22eb66\",\"dweb:/ipfs/QmRdu3uTrhpQ65LA7nQCUrcVaUFuCiKpiauHEws7y85v2Z\"]},\"contracts/interpreter/store/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462\",\"dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1\"]},\"contracts/kv/LibMemoryKV.sol\":{\"keccak256\":\"0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7\",\"dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny\"]},\"contracts/math/LibFixedPointMath.sol\":{\"keccak256\":\"0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2\",\"dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4\"]},\"contracts/memory/LibMemorySize.sol\":{\"keccak256\":\"0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451\",\"dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA\"]},\"contracts/orderbook/IOrderBookV1.sol\":{\"keccak256\":\"0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590\",\"dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB\"]},\"contracts/sale/ISaleV2.sol\":{\"keccak256\":\"0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83\",\"dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF\"]},\"contracts/tier/ITierV2.sol\":{\"keccak256\":\"0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c\",\"dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3\"]},\"contracts/tier/libraries/TierConstants.sol\":{\"keccak256\":\"0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2\",\"dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb\"]},\"contracts/tier/libraries/TierReport.sol\":{\"keccak256\":\"0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67\",\"dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt\"]},\"contracts/tier/libraries/TierwiseCombine.sol\":{\"keccak256\":\"0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6\",\"dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK\"]},\"contracts/type/LibCast.sol\":{\"keccak256\":\"0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe\",\"dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo\"]},\"contracts/type/LibConvert.sol\":{\"keccak256\":\"0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75\",\"dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu\"]},\"contracts/verify/IVerifyV1.sol\":{\"keccak256\":\"0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1\",\"dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD\"]},\"lib/rain.math.saturating/src/SaturatingMath.sol\":{\"keccak256\":\"0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b\",\"dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw\"]},\"lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6\",\"dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc\"]},\"lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol\":{\"keccak256\":\"0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8\",\"dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5\"]},\"lib/sol.lib.datacontract/src/LibDataContract.sol\":{\"keccak256\":\"0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a\",\"dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1\"]},\"node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol\":{\"keccak256\":\"0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2\",\"dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093\",\"dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2\",\"dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f\",\"dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195\",\"dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a\",\"dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3\",\"dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC1820RegistryUpgradeable.sol\":{\"keccak256\":\"0x98156a8359df02baf3ca7b902dd41c5a0f98c57597b6642a0c7695d43607288c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed23eb85df040bb50b7c2dc1a51ef2b514a0338edb7928b3cfa50095188292cf\",\"dweb:/ipfs/QmYz5XF82QLx7JiaJRTiTeqgiLzbn93X4CmSbmpmtHZ2UQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol\":{\"keccak256\":\"0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c\",\"dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9\",\"dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade\",\"dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea\",\"dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e\",\"dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416\",\"dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8\",\"dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc\",\"dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537\",\"dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78\",\"dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12\",\"dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35\",\"dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1\",\"dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933\",\"dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70\",\"dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08\",\"dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62\",\"dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d\",\"dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac\",\"dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38\",\"dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3\",\"dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0\",\"dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw\"]},\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d\",\"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.18+commit.87f61d96" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", - "name": "config_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "type": "error", - "name": "BadDynamicLength" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - } - ], - "type": "error", - "name": "DoWhileMaxInputs" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputs", - "type": "uint256" - } - ], - "type": "error", - "name": "InsufficientLoopOutputs" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minStackOutputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualStackOutputs", - "type": "uint256" - } - ], - "type": "error", - "name": "MinFinalStack" - }, - { - "inputs": [], - "type": "error", - "name": "MinStackBottom" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedEntrypoints", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualEntrypoints", - "type": "uint256" - } - ], - "type": "error", - "name": "MissingEntrypoint" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "price", - "type": "int256" - } - ], - "type": "error", - "name": "NotPosIntPrice" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "constantsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantsRead", - "type": "uint256" - } - ], - "type": "error", - "name": "OutOfBoundsConstantsRead" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackRead", - "type": "uint256" - } - ], - "type": "error", - "name": "OutOfBoundsStackRead" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_MulDiv18_Overflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_MulDiv_Overflow" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Ceil_Overflow" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Exp2_InputTooBig" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Exp_InputTooBig" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - }, - { - "internalType": "UD60x18", - "name": "y", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Gm_Overflow" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Log_InputTooSmall" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_UD60x18_Sqrt_Overflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackHighwaterIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "StackPopUnderflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "staleAfter", - "type": "uint256" - } - ], - "type": "error", - "name": "StalePrice" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "startBit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "type": "error", - "name": "TruncatedEncoding" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedInterpreterBytecodeHash" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualOpMeta", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedOpMetaHash" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "actualPointers", - "type": "bytes" - } - ], - "type": "error", - "name": "UnexpectedPointers" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedStoreBytecodeHash" - }, - { - "inputs": [], - "type": "error", - "name": "WriteError" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroInputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "deployer", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "interpreter", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "store", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "opMeta", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "DISpair", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "expression", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ExpressionAddress", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes[]", - "name": "sources", - "type": "bytes[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "NewExpression", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "sources_", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "constants_", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployExpression", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "interpreter", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "store", - "outputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deployExpression(bytes[],uint256[],uint256[])": { - "params": { - "constants": "Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.", - "minOutputs": "The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified.", - "sources": "Sources verbatim. These sources MUST be provided in their sequential/index opcode form as the deployment process will need to index into BOTH the integrity check and the final runtime function pointers. This will be emitted in an event for offchain processing to use the indexed opcode sources. The first N sources are considered entrypoints and will be integrity checked by the expression deployer against a starting stack height of 0. Non-entrypoint sources MAY be provided for internal use such as the `call` opcode but will NOT be integrity checked UNLESS entered by an opcode in an entrypoint." - }, - "returns": { - "_0": "The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.", - "_1": "The interpreter store the deployer believes is compatible with the interpreter.", - "_2": "The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "constructor": { - "notice": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT HONEST MISTAKES. IT CANNOT PREVENT EITHER A MALICIOUS INTERPRETER OR DEPLOYER FROM BEING EXECUTED." - }, - "deployExpression(bytes[],uint256[],uint256[])": { - "notice": "Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@chainlink/=node_modules/@chainlink/", - ":@eth-optimism/=node_modules/@eth-optimism/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@prb/=node_modules/@prb/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":eth-gas-reporter/=node_modules/eth-gas-reporter/", - ":forge-std/=lib/forge-std/src/", - ":hardhat/=node_modules/hardhat/", - ":qakit.foundry/=lib/sol.lib.datacontract/lib/qakit.foundry/src/", - ":rain.cooldown/=lib/rain.cooldown/src/", - ":rain.math.saturating/=lib/rain.math.saturating/src/", - ":sol.lib.binmaskflag/=lib/sol.lib.binmaskflag/src/", - ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", - ":sol.lib.memory/=lib/sol.lib.datacontract/lib/sol.lib.memory/src/", - ":sol.metadata/=lib/sol.metadata/src/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "contracts/interpreter/shared/RainterpreterExpressionDeployer.sol": "RainterpreterExpressionDeployer" - }, - "libraries": {} - }, - "sources": { - "contracts/array/LibUint256Array.sol": { - "keccak256": "0x118cb5bba9671ac311c8e196984e6213390334712f53dea901284fa4ba208b84", - "urls": [ - "bzz-raw://67ef417ce9fd91512da40e7096c03aed2ab730fa22b759f68efeacde8f9bd426", - "dweb:/ipfs/QmcrGWfUy8WG1voezrw8hfF4hNNRErkmAiut4yoEchJeKe" - ], - "license": "CAL" - }, - "contracts/chainlink/LibChainlink.sol": { - "keccak256": "0x26480e6c67091c294bf83721183f37cf6d567769b5bddf98725d81204d92746b", - "urls": [ - "bzz-raw://5ab865647b1ed28f2cd3629cc5f64998287d38aa2752119cae0bfb1828c7fcd9", - "dweb:/ipfs/QmauCyo2aATsJcDeKzVpvNEJXff3HcbcKuFH9SeVz9Asdm" - ], - "license": "CAL" - }, - "contracts/ierc1820/LibIERC1820.sol": { - "keccak256": "0xe7b1b0ee53838cd5e706bbce5efa930908c110ba52190ab81cede469974c0c5d", - "urls": [ - "bzz-raw://b3eb71b0797d9b498333ce749bca2c2a42b58644756e906ef0dedfa9d38fa49a", - "dweb:/ipfs/QmbpHiZZgc26Rzbpe6Q4n5Z4EUQ4f4x4UqmuJAv7UqB4pT" - ], - "license": "CAL" - }, - "contracts/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x985bfb6e86a8f2df5d00e6033e51bc3518681c7faaca125a0b528b9fc7781a2e", - "urls": [ - "bzz-raw://5a985c271b70397d537f65bbd6e8c0116145957a2de402e896ffb0b8caa4daf9", - "dweb:/ipfs/QmZnfGUzkVNjmYMzL5hhujb4E4RWncNH7K9nkrCSTHr7ck" - ], - "license": "CC0" - }, - "contracts/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x115287f5eea93c32a650b572fb9eaf62b6cb724cbc39b6b7cb70ed0df8197a2a", - "urls": [ - "bzz-raw://e5b7db82b686c78124cc1691bdb67a8be6699fc702ac98f93e6f0a9c599690ff", - "dweb:/ipfs/Qmaoffm6qDvJt7dMydJoPas33FPQD8UiFvMYNe1ELdS5hh" - ], - "license": "CC0" - }, - "contracts/ierc5313/IERC5313.sol": { - "keccak256": "0x5a5be30c86060c04dc425077ce5941be350a6ab59a981a9018cb0f015406f14d", - "urls": [ - "bzz-raw://b3d689078028aa68d062116e32c92bad6a5638d0dd803504f866bc11235b1b61", - "dweb:/ipfs/QmTjPhD1YXgNcWAmZwYz4fkp1t3DfKytLEoWukx7c8jbwe" - ], - "license": "CC0-1.0" - }, - "contracts/interpreter/caller/IInterpreterCallerV1.sol": { - "keccak256": "0xf299b40a17d5feb06b290261dd57a7a123cc182e6e796449437fc61f30ba2ece", - "urls": [ - "bzz-raw://73d2a75474df714bfe887e1025fafa846cea310989a47c7443c1a8cd8b539125", - "dweb:/ipfs/QmWSfmaNFZEN59toKXWm3wwMSpdqxsbbo4H3DtaLPzbEzC" - ], - "license": "CAL" - }, - "contracts/interpreter/deploy/IExpressionDeployerV1.sol": { - "keccak256": "0xff5936896c2c747502961a591f09926b2bc45c45e2a60cab8523144fdffb55f0", - "urls": [ - "bzz-raw://1eab2538122e170fcd3debff250462c7e75b022bb817316c4569a92695be58dc", - "dweb:/ipfs/QmTF1eKic8qVNgtQJxPJzTrLAYd9pXemaWbfCUg8TyRWrw" - ], - "license": "CAL" - }, - "contracts/interpreter/deploy/LibIntegrityCheck.sol": { - "keccak256": "0x9181cc6b3d0d6e5b5b27847b4ac304c8a26b2ef6d6e13f06dfce11da814c64ad", - "urls": [ - "bzz-raw://4fc764fe17673b41d0c812450f35a3d22e5af32e8bb577ed5d7dd5dfb125853a", - "dweb:/ipfs/QmeqGqj6w6Zf31vMyUzhA3Vqntp5L7DJTJoghL6bhLBVi6" - ], - "license": "CAL" - }, - "contracts/interpreter/extern/IInterpreterExternV1.sol": { - "keccak256": "0x71293bc7803ca9a1098b52a6f202d564f55e28089db848ae82d3822f9dfb0e90", - "urls": [ - "bzz-raw://7223ac0d45c9e908954199aed20412212008abf12c53cdd32c4eaa8fe9406b99", - "dweb:/ipfs/QmfE629ytcDv8WtGf7fFw2ZyCa9mmqoiBzGCJdw8kwHY3k" - ], - "license": "CAL" - }, - "contracts/interpreter/extern/LibExtern.sol": { - "keccak256": "0x4e80ac2e92b26d0c6e3d17f5f85b8e679b30ba8332064cb12565dda245e9f04c", - "urls": [ - "bzz-raw://e47be4c5307e7486449ca6d032014adbfe0521a920d3eac3f0d569a1624e8c60", - "dweb:/ipfs/QmdpUDKSRUbJceDhxWWCLPHVbGejPv7tVDRk5qMvrvgMtg" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/AllStandardOps.sol": { - "keccak256": "0x7109d695000c83b36be6089e663c14fd1de273e0c1bd16fc7f864dba355a5c37", - "urls": [ - "bzz-raw://ea5c33cf3dde8f20bf4969083538b85c975b73a9384547709b5e6ad6d5a85010", - "dweb:/ipfs/QmYkJdyUwQJ1vAnKGbWvm1KLvYjSgRrfQtKFDNx39Y6trE" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/bytes32/OpDecode256.sol": { - "keccak256": "0xae9088c76d5127e880fd3cb9cb4f5888e9e4792cfec7812da1b569966b1e8491", - "urls": [ - "bzz-raw://68f93845e00430026c0cc5d5b2dd7d71866c805be0c80ca7ebc9e990f37c129e", - "dweb:/ipfs/QmZTsAXTNWdquCEJQ6xTRcWj2DtR8qzXRxWc8uyT3jAF2b" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/bytes32/OpEncode256.sol": { - "keccak256": "0x19d83a889666f5d84058432ad2f4aa93d87c1493f24b0c2ee755ccf232740cfb", - "urls": [ - "bzz-raw://6d8a0f7ce0b9331307e63392e96c038d5e2a510cc0a8e3f5cbef1451c90d3f54", - "dweb:/ipfs/QmPdc4WQ6sxfqKUcPZrYT1zCwHG3o6kVkqaFFjwVnZ6hLR" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/bytes32/OpExplode32.sol": { - "keccak256": "0x18e330ee3baaead26773951e8c552f091bd3d098380d6910459e3edaf01c4cbe", - "urls": [ - "bzz-raw://3d608fded61bbbb563b56d696180e05c3fd29222cf37b7cc9a0ec302db648ecf", - "dweb:/ipfs/QmVyXBzFj7bMUT7Vf9rN8rdPsKRXPTUpLDCwZCbrHuhGMF" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/chainlink/OpChainlinkOraclePrice.sol": { - "keccak256": "0xe7d205c96af3c8542fb001e35b1f1ac4c337f40ca938ecd2742120547fca027c", - "urls": [ - "bzz-raw://6beb4c6c8aec0debe138808842ad1853e85e3994ff472089e8606be7a22d618d", - "dweb:/ipfs/QmeCxxux9ZQFUGb5tmYx2AuFwd5UtgrC4EadgUYNH8Urfb" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpContext.sol": { - "keccak256": "0xcb306f8d4c773efcc8a2e6675d98b654cdc0ba0b3535401f9e39da6d146be1cf", - "urls": [ - "bzz-raw://bbde4c3e94fecad19e78d3610176d85d0b676d59aa5cda8cb172afd5e5621f7b", - "dweb:/ipfs/QmYodiC7gRGbwARUFeUsnuSv6J4bjGkezpYhW8DEXQDKxQ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpContextColumnHash.sol": { - "keccak256": "0xa4520dafb3337fafe871a02bef8a05c16ede7f1326d7f670f75480d894395f71", - "urls": [ - "bzz-raw://6dbac057208a7bb773b42e3bad2e07a37ae4e63c05b15d2ccf06a5b42d341cda", - "dweb:/ipfs/QmPgB4CdPjTEH68Pz8ShFjahsaS1R7DKgjQZqAAr4moeeb" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpContextRow.sol": { - "keccak256": "0xf33e41db0987af2e8be6754ef99d47a5ba5e226498571401c7949052a4367513", - "urls": [ - "bzz-raw://f7e50cbb401d3f772af8fa9963909282f584d533936e6c67a8642544ea909a93", - "dweb:/ipfs/QmaFq39HGoEbCMwFe766mwsuQEXVeTJjnrS9vZ9sWK55Yr" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/context/OpFoldContext.sol": { - "keccak256": "0x1070177223d279e0209465d2f6155d10e4f22b0b8a9c1f257ddbc3e18c604b01", - "urls": [ - "bzz-raw://758a19e6016d92b025f1e31fd91b54e85e899926858633a4fcb37c12f587c050", - "dweb:/ipfs/Qmatgd5bW69LUyK26DrRPxxJqLg8DxBYw2L9GWcCJZ2DxE" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpCall.sol": { - "keccak256": "0xb1bea53d890c548bc9008bdb016463496362b7df511e7e00bd7ed2cdcc993c76", - "urls": [ - "bzz-raw://8f8df82086a0c68c2fe5063372922eba509ef08a588ec107d91e2ee1618b2326", - "dweb:/ipfs/QmRRvRHDkeZ6AXifoxQPhaJZ91vK2TfT7E5HGD19gqLzcj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpDebug.sol": { - "keccak256": "0x8ef90e2af0804dec600a0313e011a8c90be626a99fafac388494271d6232d89b", - "urls": [ - "bzz-raw://485295bdad5605c28d2ffb50b93d4509d4372cb903a79566dc9b306593ae1ee7", - "dweb:/ipfs/QmcSLBBY81kZ1LAnrKMyK9JiVgSduWhfxbPzK7NA5kwYdp" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpDoWhile.sol": { - "keccak256": "0x8ec20c034c02bac30405bd56b8f111f237fec4d3ff179d33240f0e5cedd975bb", - "urls": [ - "bzz-raw://068823667c929330c1262e3c2a055e8879c44129dc7faec1326931c5cbec67ac", - "dweb:/ipfs/QmUeTaLLf7X937pYSwo7wwhspUvNyMCV5b59fMZnhbV5RN" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpExtern.sol": { - "keccak256": "0x186abf0f8fe009ed9589ce11a80180ba45a87ad5f8b14888d4cef4f696f260d3", - "urls": [ - "bzz-raw://8e35abef45b012e03fff5c8ea60b322ed811349f9f6a8e5683b14d1c32c2ee21", - "dweb:/ipfs/QmWX2G4RVVf9zgEuLidDQFoeNMmR6jq5afKeLCDSLfM4QA" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpLoopN.sol": { - "keccak256": "0xf9490db334f8e8c7f6881dd7a7fa604e06852b623e5079bfac28e7a3a891c881", - "urls": [ - "bzz-raw://bf22ea9eda8a8bf4e6194c68b0dc9c6b9c111920a201a06abd3d5d0ccdedab98", - "dweb:/ipfs/QmNW7wjEnEBvEvn5GqCEURVfYoXp778Ehyv3XegdNPgz4g" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/core/OpReadMemory.sol": { - "keccak256": "0xf6fc2f1bde6e91b51f869ec9ebc18c59164b3d5e16c4c55a2763cda402409eb9", - "urls": [ - "bzz-raw://8c5bc23b22567048982766b896053c1bfd610cd211a5d1e11d971e3c3185b8c1", - "dweb:/ipfs/QmPLm4LSRV9JAD22yr1NwraNNHNcHxu45ghkR8LXUGJbJu" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/crypto/OpHash.sol": { - "keccak256": "0x6ad9dcefc52f64e94cf7f933f0cab385c87187d09535c8841b021c4bff26f56f", - "urls": [ - "bzz-raw://d6d311c8e53191c591809a3e6b02c1729e792e945b9793c68fe381e9e92f3a4c", - "dweb:/ipfs/QmUWCRSP3wX15nEuZq2PrEtNqyFAi4ZoxnjePKaBn8Ammt" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc1155/OpERC1155BalanceOf.sol": { - "keccak256": "0xfbb66a7562714abf47ddfec9ced4b5e56d1eba092d2a108e819fef9acc7a37cb", - "urls": [ - "bzz-raw://cacf911590896e98fb1d385809c10f63eb2225cc1888616a9e69941ff206801f", - "dweb:/ipfs/Qmc2HtUnJ1419QqTQPagMLLMY2gVqYWYeFXsV6XsLGnRXo" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc1155/OpERC1155BalanceOfBatch.sol": { - "keccak256": "0xf8503e018627e8f31361016d6bf388e13f1fb43894620a587cacfccff74a4bf6", - "urls": [ - "bzz-raw://e99c1f814d7b6c53859a8a6ab4a349f042fdb6af7a98dceef0515e66ffb15943", - "dweb:/ipfs/QmQMJfn6tNkKjsJeziqQJxf81wXacBDr5oBGBmofug8TGL" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/OpERC20BalanceOf.sol": { - "keccak256": "0x3ae5174c9dcf9e99902e730d4d9885f75b14860aa3db8e28eb9e80649f2e7f79", - "urls": [ - "bzz-raw://b61747f2611fc6fea9316291c77ae11460a59443a71eda1a7abd9ea3d71f7d17", - "dweb:/ipfs/Qmdb2JUV8kRfs4xaSGNgU7yVhSoynVj6bmqw6wCouePuvj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/OpERC20TotalSupply.sol": { - "keccak256": "0x5158c0ac62019a14c5d06a29d49839450567dbae6b8a2f11966a9dc9187cf5b7", - "urls": [ - "bzz-raw://1a6709a702bf82fffdd471dd2683876595c95018fa18f2107d5293fe3c9160fa", - "dweb:/ipfs/QmULQZvxTUZES3fR4fWWWRspNFQvxTEKdsRWVYiN7JDsfJ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotBalanceOfAt.sol": { - "keccak256": "0x7872ec21886e2a4180ad51820cd9d478a93ef19a39581ca693481144969b55a3", - "urls": [ - "bzz-raw://53873fdacb320847fa324ca865249562d5b51e06b430d1f07cdb9f681529b1c6", - "dweb:/ipfs/Qmck6apQ9driGZ8YUYTyQ76oqnyTatEDEoEBpKDtP3osgt" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc20/snapshot/OpERC20SnapshotTotalSupplyAt.sol": { - "keccak256": "0x73841f956236b69c40638476915553c349674704846dfab28a3d2e68b3548611", - "urls": [ - "bzz-raw://0e916d816fba80bf5bf4c061d185a22cbc15dfc250779248b8f973703ba4ce8d", - "dweb:/ipfs/QmV7NSAy1MLGtqjM52MA1ME5J7wnjyMRRLfcHahQnJBhiU" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc5313/OpERC5313Owner.sol": { - "keccak256": "0x9b732ee784888fe0b2652fd7d84fd5ec53b0bd545e0af6fff57112e3868c76e7", - "urls": [ - "bzz-raw://959f201836da19e79144292a284543fe69093c9c21eb28e486f978da0c44ca8d", - "dweb:/ipfs/QmRUrEAbR8LDTWcCerJ6M4hc6BnUM6BqyrVJGM395eUgd5" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc721/OpERC721BalanceOf.sol": { - "keccak256": "0x21388a1215f25fa8a561b059089ba9ff51489752f5dbdd426a2bdc46b2854e27", - "urls": [ - "bzz-raw://ca187ddea34274a72408cd5b153818df427c10459f38aed25e91eace24668726", - "dweb:/ipfs/QmVPajYRujYMeXTCUmzb89xYYW6Gjrey6F18aXAzBd8rHw" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/erc721/OpERC721OwnerOf.sol": { - "keccak256": "0x22ce5a96437e082e929682061ed0456981a54d467a1f37310f0e25f2b90b6003", - "urls": [ - "bzz-raw://b620e031201a578021a62ff9caa52c2f0a1826aed45a54d34ae380b3d132b35a", - "dweb:/ipfs/QmX1rM5QkKVjZRn3AVs1Ai3vVYPNmt47RT7kJz5oUb73Vc" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/error/OpEnsure.sol": { - "keccak256": "0xeed4b01642db97e6d3d5ce036d4643a5b687af29d54b24c0b92e5501c57d3f2f", - "urls": [ - "bzz-raw://9400f0d38da15386c7e2b0c6156f02b7a27b1729afda46e08f19bdb0a62ed123", - "dweb:/ipfs/QmPRq545biN54mou8NH97T24RhuziVd5wYQ7AJS543CgyL" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/evm/OpBlockNumber.sol": { - "keccak256": "0xb85e4f44310c0c1c19a39df2b6effef527d31f643895a5ccffd460432e6a4367", - "urls": [ - "bzz-raw://b1a013ff2f75ee39c1644522c52d08237e82801d21b5d5554b903eab8943c166", - "dweb:/ipfs/QmQh1ivqFW6wdegfAczqE6G1BCdTHzcBYp9YLufNmganGw" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/evm/OpTimestamp.sol": { - "keccak256": "0xc74e68245cd8a07e3fcf7cb8845e00bdea2301b5679065a5fa14c119b9092b6d", - "urls": [ - "bzz-raw://a6d65521876db6da435f3f8b00080c3cedddbc0a876c4360cc3383f6ddaf26f3", - "dweb:/ipfs/QmQ8cnhgvPJYzkAKjoFZhScQYKMSTo4Tc9eybFtYMvcgVA" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpAdd.sol": { - "keccak256": "0xae56bb2f0ba58d21004e51d4af40b6d40bd24925fef1092dc52fbc2ef1f4295b", - "urls": [ - "bzz-raw://c15454f45a7a3b623e7353625ba5605ac367de58c08dfad6bb0534521d1b4722", - "dweb:/ipfs/QmazNiZc5VnpkjziBn8R6FvKaAbPbeMMHJdjk2NTGafuvY" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpDiv.sol": { - "keccak256": "0x6c1f70bd2bb0962a8d28518b77325149eb587455a8d6043c7f4f0594fc7ddf4d", - "urls": [ - "bzz-raw://6a0808fdba3fb152ba98a89bc9c5e503e552de9426ad118443ad3d547739c7df", - "dweb:/ipfs/QmeyBEWP3GaCfirYPxi2DWm2W9EutbnQ4DB7NPoraGGnWM" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpExp.sol": { - "keccak256": "0xeec1697b46216c454dc973c157b6e7c02bdbed31a4c9ca779e94159b5ad8bc26", - "urls": [ - "bzz-raw://1b5cd4e1c8a40d6460f60df68c373699b65e27a4b405f1e3b89d5b4c110195b3", - "dweb:/ipfs/Qmf62qAwTqZim443bVCQFqLV55U9L3RWQ3wJaASUUkz4kW" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMax.sol": { - "keccak256": "0x9d142ff2c0255b371246411e7085d6b7a2e650d3451989cd92106c5334c3de17", - "urls": [ - "bzz-raw://0069f50e2e1b138575e64b752a6ab9434b9767d841bf27518691b5e345fb12df", - "dweb:/ipfs/QmNrLdzPZ7AtcoECLSrFzLt2k8v7ZZLYcRgeKwqPu2wxA8" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMin.sol": { - "keccak256": "0x47fc731d964231f43e1b59c8d43b4bb74f48d14a1320098a49a98b1eeff5298e", - "urls": [ - "bzz-raw://b259a3cbac26c2bccd103c6e6027808e32f7d009793af2c827b6f7389e29b455", - "dweb:/ipfs/QmeRCmFw9WJe3FiuiFJStsNFHyxcLXngZawbAsj2mmotBM" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMod.sol": { - "keccak256": "0xf46f5a0d4fa27bd1582cd16c8474f115086a823004ab37f3c62983464a0b1c5d", - "urls": [ - "bzz-raw://7798eee8b4d0343be8da42ef8434eb2899787571f45667e95b16335f97ea9e42", - "dweb:/ipfs/QmQ15KCoSg2qkwx9fw7HXAKcGFAAZeXas9CtHQdrib5G6V" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpMul.sol": { - "keccak256": "0xabc46879d3ab0554899b56e9f5bbb498e9a8693157ebbc0e500c48ece6c5ac92", - "urls": [ - "bzz-raw://6a139335edc83d24a46d8d17e3916b8847dfeb9686fb4287006bcbdc8540f2d8", - "dweb:/ipfs/QmYRL2SajZRzFmM4khnR9uvKx8QHVTD8kKuEbFML8j6u9R" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/OpSub.sol": { - "keccak256": "0x16b30dccabcd2df4571c36c0c6df65646acb2053404dec1eedf0ec24c1f9ffdc", - "urls": [ - "bzz-raw://de2e31aff5a4304d1ff9ffab5527690f050be4beae96a9e1283fde40f6f827a1", - "dweb:/ipfs/QmQjMm82bTq6SJR24gCGi1wDQj1ft1RK5cgs9Ha7xdurFq" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18.sol": { - "keccak256": "0x69cf1360ecc695fe6edea44cff519caa6f9b1d1b4f61de4c58da1ea710578db9", - "urls": [ - "bzz-raw://08a28e5ae6af4e4162fa902b7dde59cf085fc5e4ceafa46baf5ee70cb76377dc", - "dweb:/ipfs/QmP7JgSMzGYwfgHh7B1eHW1RySBNgijadNeLnXeeDWAtGd" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Div.sol": { - "keccak256": "0x64a124576c821b0148eb6e1c93666acaacf9f1f00a42848d9c378d6cbfc15df5", - "urls": [ - "bzz-raw://459a2895cd75682dd2c2cd7e076c6825909fcccd3c5c85cd3ae4833291fad777", - "dweb:/ipfs/QmcSTyme7vny2oNwBX7MVjkyRF2qaPWRcemPvouzrzBDTx" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Dynamic.sol": { - "keccak256": "0x4852f92304960cc3a5a5e54b1a1964bcd3bf9c7652d40cd9051a27c40345325b", - "urls": [ - "bzz-raw://03ca690dfdc41bfc089776bbcaa3a28a84594b3d1ee2d4a40f68ea0175d6e937", - "dweb:/ipfs/QmTy6MPGasbQdS1CK8drhDRjSp87RBEZoBr5MEep228XgP" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScale18Mul.sol": { - "keccak256": "0x269ed6b8f8b5930a3ec0029c72e835d51befd0b5a293f679a6bf67786b9fbed4", - "urls": [ - "bzz-raw://a2ad9bc991b2a9cac7abc65987314776225eec2d849cb4ab60152e2daf830528", - "dweb:/ipfs/QmNuzF6FPcymnN1kXvD5cmbzexkXEBYJf9FuuRdcdh2b1v" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleBy.sol": { - "keccak256": "0x1e1a69098a47c322d93d094d5089628fbaf66ea0dc292572ef35bc6d3337e2e9", - "urls": [ - "bzz-raw://1bf56f0e1679493c33dd18f481aa2c3bb1819ecd7106e2761ac3fa0020dce049", - "dweb:/ipfs/QmYUhUtM6AwhY7cyiW6W54HPrJakLWnRmjkDDC8vYkTgp5" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/fixedPoint/OpFixedPointScaleN.sol": { - "keccak256": "0xb6106a37db47316d12e4fd08f706b138a4dcc38ca961e0281127737b17ad61ad", - "urls": [ - "bzz-raw://16a625ee2108714e0b6d42c35c1f1a094e75115a03ba9b77983200836e2a13aa", - "dweb:/ipfs/QmWSSFSAA8QPxnyYQpRhJaeH4SvSeHsDZ9JpDLVvRfeq92" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpAny.sol": { - "keccak256": "0xc8bfa37256f40d5bc72eb1ca83cf6b35dd2d39a465942301b2fbf5733acd817b", - "urls": [ - "bzz-raw://797b2d1a21ae865969124c1b56075d188411dbdb84792be289fa346330f18759", - "dweb:/ipfs/QmTRvKEKe7Sn82m53bBke4qvcjKgLokkmVEgF3imr1UKuV" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpEagerIf.sol": { - "keccak256": "0x29c7eceefe416e857d1a82cc405843778c9816ed2cd437ac6fe99e03518f2baf", - "urls": [ - "bzz-raw://8202b45cb32ae87a025cc7eb26d2bce25ed59a92da9aeb76e02bf95bd9faeded", - "dweb:/ipfs/QmQaW9h4woF78rBKEhXWo6ptibprx24b8mSjHcQPNYDTDs" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpEqualTo.sol": { - "keccak256": "0xea2e29d2c2cbd91616b293516d93f187425bc559814ff7ae3d2d96f2972edfea", - "urls": [ - "bzz-raw://f1e84a066eb9a72404e9bcacb5c8baa30c95bab9c2d8c5103c00900a0b790574", - "dweb:/ipfs/QmXoJXYdvrs7TBh64nA1zJsAQK75zWqRLUGZuf2j5oGFjo" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpEvery.sol": { - "keccak256": "0x3943e2b195f7e84186d7463186d478d91187a5d78bc5b62e71f1171f6b7f3e5e", - "urls": [ - "bzz-raw://4d5a6041f9455bbdbdbe1220bbcb39d1d865beae9ca041fae9bbb1517b1f6a63", - "dweb:/ipfs/QmVB1jkG7fRVhcNqp4QJK4bEwcgr7StNrTmei1Z5fe8JX4" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpGreaterThan.sol": { - "keccak256": "0x95e8481990801fedc60d174fc39571ba0f4c4633b6cb21129f20aabad0638fdd", - "urls": [ - "bzz-raw://c2ac008e11677d6df7c31e7d3ea7b80b1fd816cf01ed3d0252696237c79be005", - "dweb:/ipfs/QmPGUHtuYiyDJAFA34odDXyfT47sBgV4bqz4EHcNiEpMoy" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpIsZero.sol": { - "keccak256": "0xb99aed41a331f9d4401cd6c83bc5917772e1d90f2e1e2df7e84fbb8bc4b25318", - "urls": [ - "bzz-raw://1ecb923ecb8bfd4d0ee30e4c12fb9c96cf0745b504619b4e1f1c50ce9fcfb5e3", - "dweb:/ipfs/Qme44PAZVniCyuWzo18quCvx2j7it9qVJvg3LwVnLcWpuV" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/logic/OpLessThan.sol": { - "keccak256": "0x7be6cbcb99daedad85d99fac1165ea4475b86d6f3378484db3186de907aaae36", - "urls": [ - "bzz-raw://ad9c8b74bc64cad65e6043508b63377458d310c93e6b085a9b9bdc5ab449fc8c", - "dweb:/ipfs/Qmd6hsCFnGMAfpWuDu6HttCz16H8D5347rV41BibDUynFP" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBAvg.sol": { - "keccak256": "0x311155de3d13b84627903760295e0b488acc2f04eee6dbc09c58d8448f200fcf", - "urls": [ - "bzz-raw://4315d16c6754dd87af06c3e2872bc9cda3f171b11a1ae18e62a69840867bae06", - "dweb:/ipfs/QmTQ8apzRWNr8kCg8Mo6ar5uxqXgo9o85JSyXut7K4ysPp" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBCeil.sol": { - "keccak256": "0x1a219a6b2574a8f62e1277b74f6bbf98deba55102e2011ad51526034fa0bb002", - "urls": [ - "bzz-raw://2b3ca21490ac577cf40e1bc8005761cf741eb2a70ad50584fe91fc3a5459fa01", - "dweb:/ipfs/QmPKW4MqxTftwJEeEL1VutQopyfZ4oGy5T1n5z79Mtz4wD" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBDiv.sol": { - "keccak256": "0x524f4f0ea396345d93303545961acf2828020c576afc89ca985289d787308ec9", - "urls": [ - "bzz-raw://918a4ea6e70a7cc7d99f139b9ff0144afdea2ee7a4dc78b12b98740c412d5b0f", - "dweb:/ipfs/QmXrcKeCJsRuxU7nBFrxWdk9srHiDfGM8Pwq43WDzcvcjJ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBExp.sol": { - "keccak256": "0xf763cffcca76f26db74f237863674cbdddf820386b0769c4e07d8b21615c2483", - "urls": [ - "bzz-raw://67f2a4c4b96303e323e24ebe7f5602e3255334d809546dbe20ef61b4842dde9c", - "dweb:/ipfs/QmcXDYuL5q24t7PASXdR1YkuZsTe8o3swFETL6h3MoFw1w" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBExp2.sol": { - "keccak256": "0xad29e2f2e936bb4bb4753835a925715d1a7b91efef943b87ccca87924b4989e3", - "urls": [ - "bzz-raw://608fa26d83a503ef920a7a0efa3997abf5f5f6e0cb13030f55df51a006eeff9a", - "dweb:/ipfs/QmPhdCztBo7z38KqixnDFCD25Z8urFQFGceB6JWdaoetCj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBFloor.sol": { - "keccak256": "0x3cbaab3c232861d7d241d00c4a787c19ab56088c33584992b735acc927495fdd", - "urls": [ - "bzz-raw://2555e6cd5125b43004f733b5df944dce489c6d9b8bdbdf21223f29b8c9e68e9b", - "dweb:/ipfs/QmcGBVy62VGYzNNjsY1HvzXnUGN9D11JoRi2xApzWPHRkM" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBFrac.sol": { - "keccak256": "0xfafea605deeb6ec6ba8a61dfae49586ca7730d505b8a60f4c164c4c739fc0f7f", - "urls": [ - "bzz-raw://452d906e68a1f7d6945de092a4a25098dc52b3bd52c5b0d2d629e84700995b5d", - "dweb:/ipfs/QmXzzqKJgFQ7BfkeJV6dcLeckYZjoiosiYu693UR66rGei" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBGm.sol": { - "keccak256": "0x10d19849441ee7bf2df7043123253adbbbe0c55013715b5fc4d73c1c2993b9c3", - "urls": [ - "bzz-raw://bd07c2abef8cb6c0efb21e3aa77ab8b324e6432ddb94a1c817b55859079fba8e", - "dweb:/ipfs/QmT1jet34YWLaFWgHE7DsnvSm3jUihRYsfkHKsbXpRCscD" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBInv.sol": { - "keccak256": "0xff8c357a7f855681b4a265e60427a148cd24b1b1a6ce36c9852e9a8425076bd5", - "urls": [ - "bzz-raw://5543663e8829fbc299789ef92f09b223257100cd1bd773b2a2cdf1cff5d77dcd", - "dweb:/ipfs/QmNYkKvwUKcipZ5XFXUiR9NqDYSogYHAts5FqpMe8Hd65d" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBLn.sol": { - "keccak256": "0xd4d61da6ea7ccb802b4e4454e4d5f38f0c79301273baae94904bbe7aefc961bc", - "urls": [ - "bzz-raw://6ff5155fdcef536886095101c640b3f2d17d46603f388c2b061b40fc08d57f3f", - "dweb:/ipfs/QmTe4abdMPqJzHzxV3x4aqpiBpQDsjCK12RY9TX9b8cnXB" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBLog10.sol": { - "keccak256": "0xb18c2336120cf8956897b7da3826eb88029a482a37f58cb0f091f342696665b6", - "urls": [ - "bzz-raw://46df2a9d504835cc9092d000fefe8b0387e8b5459f3438344fa05f1c1a7ec1f5", - "dweb:/ipfs/QmVbzh4RmMdNcEtt8u9UazEfvFKmXxL4g6GdcfU8vKbh8w" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBLog2.sol": { - "keccak256": "0x480862d6080f57c9e053ada47c31eece23c75863aaae3116cda4999f25c700c8", - "urls": [ - "bzz-raw://48deb1339c47dff805a76dd0428855236ff112c1f9e537599d619c2222777334", - "dweb:/ipfs/QmXfCQsLHAtrmTHZHBUwa9AsCJVJk5VVS4pJWVSgqii7fK" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBMul.sol": { - "keccak256": "0xca95fac9418c9e00e53db88c4a0e5e3c6d42b718806abffecb97fa6dc2b331b9", - "urls": [ - "bzz-raw://0528f64dcc0f53694b2caa6e93cd5918e7611912a266fcd44bc4e2acbac1ea79", - "dweb:/ipfs/QmeEhHevZe1KBuEvBdhQGsXDmxy17ZTnoCTbyGV9H9q5dk" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBPow.sol": { - "keccak256": "0xd3d8df36d2cd02be31aff938d9c15ae51ebeece32d52653d0ae8ad3a7b344d13", - "urls": [ - "bzz-raw://d849f66c4883e1a3cd41c7c668071b32dc1ab118eea4b04cc0a557978bec3041", - "dweb:/ipfs/QmcRYyqhPWRoNGvHYzaWDbPxUh6PoQwqdRTZK3zBKy3x2P" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBPowu.sol": { - "keccak256": "0x7cd30f494bf6c8d82f1a863f7b9f942715b203182eaf61c018d511137873b978", - "urls": [ - "bzz-raw://6e2cb898bc3deafea26c4c12809628bdbf201762f42dc3891272839c4b216fae", - "dweb:/ipfs/QmV6twETfD9Wjmqi64fKt1VojPfiLR2QLk1bvu54FFyyvb" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/prb/OpPRBSqrt.sol": { - "keccak256": "0xe5c7c19f4e297f82103f7c126ec83b845e4189ce552a84ef24163804f44cda62", - "urls": [ - "bzz-raw://64eaa22493c63efca3c3aaeace7ebca87961c08652f33a82efd1f7070351c538", - "dweb:/ipfs/QmUN2gqQUh9Ai9AqpnMMd4dcqgWMQkSeJzPaLibV775P45" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/saturating/OpSaturatingAdd.sol": { - "keccak256": "0xfabd4190844e553dc4e9e5943376872d90a6ad39c387fa00e0886388db640ba3", - "urls": [ - "bzz-raw://bfa85d156df2aeb6f8793afe9f6984b191869af9903babbc51f85baddd53442e", - "dweb:/ipfs/QmfKh4jjWEc8Feu8Y5f3oqYyA3dXY3cjkLUEMVH3adquKJ" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/saturating/OpSaturatingMul.sol": { - "keccak256": "0xa257c905ec693f87a43efd4162a5178bbab3e55f2442dc7b0653eccf7b92022d", - "urls": [ - "bzz-raw://6931e0cca6ed2dae8dbd7c40efb8f3b1922cac1d9b361bfcc51a364df452b0d4", - "dweb:/ipfs/QmcwrkJMJwC5dTceukWxUenDVCTFGiNAva2cG5CU9TSMwT" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/math/saturating/OpSaturatingSub.sol": { - "keccak256": "0x491364dc36320287248fc74718bf6adbac9343c9ab6f325db8dc366b9ddbeb13", - "urls": [ - "bzz-raw://e61c74f972ef8d3c9bcb3ea51a170ac9574e44392305d44a4646f2568f9c605c", - "dweb:/ipfs/QmbJG2yq8sAXVwgtd1RvqeBac75H9a9rfoM1KYSwbxdCju" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/IOrderBookV1/OpIOrderBookV1VaultBalance.sol": { - "keccak256": "0xd29ac8c62ff71f91a161892f23520a8d32b093406f9f1a4cb16a1d1a7f68e220", - "urls": [ - "bzz-raw://dc97e2f224109508149fa38c034905fa1402a63c83de613c00be39b5a2c62cc5", - "dweb:/ipfs/QmWfgpNqcEPfP3yR75AKSzgtSnoUaULe9Ec54XqCCanPvD" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2RemainingTokenInventory.sol": { - "keccak256": "0x8f6f985a550cac1a1e7232b67c236d2685b258d92e1d2525cfa04191a209fbf8", - "urls": [ - "bzz-raw://8a9d505c5f5e439927737e528071b7d534830da7c62dc3510c323ca7fece85b8", - "dweb:/ipfs/QmVD3crZszdfy3fFLadNQoYwPsaSRxGpVmAjef6uaKW786" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Reserve.sol": { - "keccak256": "0x456cdb61721863c5e76a52e60c1a6ca4aa94ef7cbc2f5291dcbd27032664e0c5", - "urls": [ - "bzz-raw://8c68bafa6717c2b5729b53f850c9f71c3d44308d07a283974358584005c175c8", - "dweb:/ipfs/QmWgkv1hiKxGChQGYTNDd3Jw3dz8nDHjz36wUuNmwmnZ2P" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2SaleStatus.sol": { - "keccak256": "0x3a473d56723d091de3b4d4da896485f2d914b0a5c03dd9fc11c7e9a35f1dc32b", - "urls": [ - "bzz-raw://06324786baeabcad01f7b95cad36750d752726810a1db8959c6ea5f805f0c745", - "dweb:/ipfs/QmbeENVfu4qckGvMyQUVtau4ZkV3sc3hboUmFhjDndXgUr" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2Token.sol": { - "keccak256": "0xbb2e6a30344be9c29e302f6c58bb756c8e555dc87effaad2535f7c3bf4dee990", - "urls": [ - "bzz-raw://58cfcc12009f5105156eca62e6ee52d20de9c1dc097c6deccc3fe62233179077", - "dweb:/ipfs/QmSU6LSqKUMfLGdUKbRK8exrQQt58S8LH6h4BGPAiDifAY" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/ISaleV2/OpISaleV2TotalReserveReceived.sol": { - "keccak256": "0xc42c0bfb496a339bf6c5d2cb930969f247f7011715526d454be9406f54be3590", - "urls": [ - "bzz-raw://c897f060cfd0254702aa69d609118d985b854f9c4487c3f40fb5a50071fd51d3", - "dweb:/ipfs/QmbZ2YiM9p414py5392ieuYicHuMtdpty2ruNX65aXQryj" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/rain/IVerifyV1/OpIVerifyV1AccountStatusAtTime.sol": { - "keccak256": "0x5918652ee20075a89dccda7f62e6c24eb16a7c1c38312478b9a7ff659c369718", - "urls": [ - "bzz-raw://02fc6e189e6aded35895275a120c74dc8cb7003a073dbff7c893969ab2cbb628", - "dweb:/ipfs/Qmc6cCqTQkRFUKhzQqdGLQRfVf5DxsYhw4urjvQbZHd4mW" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/store/OpGet.sol": { - "keccak256": "0x733d1f0936d8d189f251b8cb0daa486d427ee75f9502ddd13b950ac196426e01", - "urls": [ - "bzz-raw://f33b3ed8848d796dce9c48441b956a82ec5329cadd97c1e8e392eda578bade34", - "dweb:/ipfs/QmV6WY6EqbKLePUeXRHuod3LRT8qPK522QKndWL5ynuhDr" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/store/OpSet.sol": { - "keccak256": "0xb26fce680b97ac48751c1cc529e0ca21ed2156fd795131668d559d02aacdc94c", - "urls": [ - "bzz-raw://98fad2d934380ecb66ae69f3760d7fc81439e801dc0dd473f799ca9d68265489", - "dweb:/ipfs/QmcoiZRVqTTqqSK7dFPVdd1vpDrZvcmCS9Fmgxj4v9gBu2" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpITierV2Report.sol": { - "keccak256": "0xe3c1fb9f69cee574a7d0d9f4e23bffaa1ce33a0eed1ca228b78ee952550607ef", - "urls": [ - "bzz-raw://bd61309612168db0d536012eeb71170423b05d2cb6acb0d1185add4823e6abf7", - "dweb:/ipfs/QmQhp2wE6W2xmB8PyhURBDhSNMPPeuNufGZ7t3DRePe3HV" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpITierV2ReportTimeForTier.sol": { - "keccak256": "0x9179133f049db8f4bb146b423cf880ec9cc11898fef2fd67762f670d0f06d4c6", - "urls": [ - "bzz-raw://27586b815fd5ebe8d25d65eb8872e88a12744f4045bbbf7ad24909922d73bfc9", - "dweb:/ipfs/QmTTX67dKED55fjti1riBAUCVtzfy7bmW8k5RWR1fianiP" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpSaturatingDiff.sol": { - "keccak256": "0x36cf86e0f6a5756c4cc7d7935ee4ca3b82bb9fb0e05a2e2108153f5c1e0649e0", - "urls": [ - "bzz-raw://1d0c3d4505adff04405816c9dec141b1e318126774ba5363589c4f458dbe7463", - "dweb:/ipfs/QmaX5GKSMPiomzkY3Zz5LFbSCTYcNtfY84oG6aq9RbtwX6" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpSelectLte.sol": { - "keccak256": "0xbd17ccca86ec14b97a144f9d9598debc2464a8bb3926d905126378513db6afd3", - "urls": [ - "bzz-raw://a3a5a16d5e437f68aa16ddb583c70217258436f4a93c13193540bce24935a026", - "dweb:/ipfs/QmSXUtY5oBnmmW22MMLdJ8gbD7SLSgJ7n4BEjgDCTD4xJu" - ], - "license": "CAL" - }, - "contracts/interpreter/ops/tier/OpUpdateTimesForTierRange.sol": { - "keccak256": "0x56fdf68d84bcda1611aaf7c33f2b4590f8d02362ca43d7e53f629bd7278dd167", - "urls": [ - "bzz-raw://e089a15be6b830592de6b7542ffd2dd54b40dabb51aabce625bcfa01107077de", - "dweb:/ipfs/QmcTCW3x64598YGjj1KNM46Z4hSpAXaPicNAkeTEpqkQRy" - ], - "license": "CAL" - }, - "contracts/interpreter/run/IInterpreterV1.sol": { - "keccak256": "0x5903cc75d4c1b6882745746f8e414d6e79b85f547428e113d1b096ca09572774", - "urls": [ - "bzz-raw://1b4dae5e137f0775e7cca8604b0f9cf15fe9a5d1cbd7ecbd3a4794d984f25b20", - "dweb:/ipfs/QmfTLHuLyBziawBB8LT1sAVLWo49ZNxrV6xS6Ec6quZCtY" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibEvaluable.sol": { - "keccak256": "0xf73522f0e187c2c6a7247f184c106d3951c526cb2371f19ebecdfdb43f124adb", - "urls": [ - "bzz-raw://3104bfbb48a1bbe8e477376e95c75598137434d8dbc67b2aa7f88f24c3a7033e", - "dweb:/ipfs/QmYyBn7UXyYf9RXEuakKusaKjzkhbmQzGJ9kzG1mLvzAcT" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibInterpreterState.sol": { - "keccak256": "0xc00a204efd3b5d46c28b73920311d21153e043eddc93b23fc1d7451078a6df1f", - "urls": [ - "bzz-raw://6de332fec19ca9dee0188790953d2a3081ae5a3edf77d5cd7c91e3eb88e8cd72", - "dweb:/ipfs/QmWSwAfB538NmcnJAxPXEhKZmSWuvFmouyegBeB86G14mq" - ], - "license": "CAL" - }, - "contracts/interpreter/run/LibStackPointer.sol": { - "keccak256": "0xec6a07f85d2ac8c6e0dad42b6e37061d21588e9b18f1dddff3fe815e162c4b69", - "urls": [ - "bzz-raw://7d7bcf237b7a255c06bc4ba9dcc542e7eb3910fca635dd4bf5c9b0599054a42e", - "dweb:/ipfs/QmYU5bTWz2fp4zK4JXGmJUXN6UGFvpkMCixzQfw2w95w7L" - ], - "license": "CAL" - }, - "contracts/interpreter/shared/RainterpreterExpressionDeployer.sol": { - "keccak256": "0x33cacedb8e93211f9b803a84f7ca337a0010f8cafe18199c2f20d452943b206c", - "urls": [ - "bzz-raw://bf24af8ddb9f0e69252849bb84a875921da12f18c228b34eb2723564dc22eb66", - "dweb:/ipfs/QmRdu3uTrhpQ65LA7nQCUrcVaUFuCiKpiauHEws7y85v2Z" - ], - "license": "CAL" - }, - "contracts/interpreter/store/IInterpreterStoreV1.sol": { - "keccak256": "0x703fd8f1e8af2f7f460e828992432cb4181efedb3d7ef2278915ad58a352e7e1", - "urls": [ - "bzz-raw://5a32754c2428a20caff36ee032bce5de5b41fad5eb97230918f7f90ef9c30462", - "dweb:/ipfs/QmSD2HBUtwpnmGkN89vVNACQSgnRig6meKjL2yzMugXYo1" - ], - "license": "CAL" - }, - "contracts/kv/LibMemoryKV.sol": { - "keccak256": "0x01213c10574fb970b10f4a77245ce603b5ef04be29d6775cbe6055eb6f2a8969", - "urls": [ - "bzz-raw://4e77a00874540c7800064f8a465db72dcf4843e635c4e15ec5ca982cbd72c3c7", - "dweb:/ipfs/QmbK7nhSKrq6i3sijpvCVBg4ZJbZwmbhGTrLhCDWkwNVny" - ], - "license": "CAL" - }, - "contracts/math/LibFixedPointMath.sol": { - "keccak256": "0x6310eddfffa9561a31c7909dee49f181ec3fd3f714fe02f130ad5462f2d945c6", - "urls": [ - "bzz-raw://68797a47e9e2f7a82c7515c5236e50a7f7e60d140cc6ec5a8b36d5bfeea73eb2", - "dweb:/ipfs/QmVjKVuWqrLo7EDE6jMWMJxjMYNWeJnQdkmNwuYysT1bs4" - ], - "license": "CAL" - }, - "contracts/memory/LibMemorySize.sol": { - "keccak256": "0x8d83afcdf42bce8f16b93f7c00f7059e02d86234e78f97ed9d2e19651da616d5", - "urls": [ - "bzz-raw://bcfc5ed1da10a621250ad9dc73418409c28c6db08f01d525c79db85c04498451", - "dweb:/ipfs/Qmb8oLBrczGvUCrJJywCjBEh5iJC5wQN6RzcbLreyQqPcA" - ], - "license": "CAL" - }, - "contracts/orderbook/IOrderBookV1.sol": { - "keccak256": "0xf716067cc503054594d29122c1f96da5338da9ad1c92225d01ee2b60d1ecb09f", - "urls": [ - "bzz-raw://5e93e2fd84a88a0f02ca394f27e3dc65fbb3c750fbdb6a2bbee6756ed5f28590", - "dweb:/ipfs/QmYgFCcBojQezGX3BVZaXniyCZXCwFz5jvUKZcZ7KiTtrB" - ], - "license": "CAL" - }, - "contracts/sale/ISaleV2.sol": { - "keccak256": "0x4c55a0e1679ee3d00d3d80a76dad6d6eb149a959ed77e6af5b8e914830f7aa87", - "urls": [ - "bzz-raw://0d618945638ad8ce5162e45032f9744daaf3e4ce7c7342252db09b30db431e83", - "dweb:/ipfs/QmYs7MNNjzyJEa8YBaQcyuW3W9EsbdiTmC4j8aGnas9pXF" - ], - "license": "CAL" - }, - "contracts/tier/ITierV2.sol": { - "keccak256": "0x82fc40b5b470ad949a3bf058af476b71e77c8cf73f2863463709c61d9632dfc2", - "urls": [ - "bzz-raw://fcae98f907bd9748d2e2481aa04eabd42ba07415482ac3686327f15ba8886e1c", - "dweb:/ipfs/QmX9BvkyYMZnRzWwv1pS4tuAf62Rd42pQP9K31VaGeiGC3" - ], - "license": "CAL" - }, - "contracts/tier/libraries/TierConstants.sol": { - "keccak256": "0x8b28d4e524cdc6e728bd1c133e5e5bb14c80ddc4f75a04a1351d9f470c98fc0c", - "urls": [ - "bzz-raw://df5da4f6425ea8b70bb698c8dbd009ac6e0d8698854208e70461ebd8bac4adc2", - "dweb:/ipfs/QmXZweEYeWRAGUHs8sJ4MWhUU156PWFwnzJ1FEfeYWLNnb" - ], - "license": "CAL" - }, - "contracts/tier/libraries/TierReport.sol": { - "keccak256": "0x05fb1319c05c5e40468fe07dc0b322598b721222a8c09cc3a3d0e64b17d1729e", - "urls": [ - "bzz-raw://9efb9d55e063403e941130243785a497e10a5ee5442128bf6655b76acd1feb67", - "dweb:/ipfs/QmbJm7ocwaptL7Gy2dzR747CiULv3sFicHm9LvEdge7Xjt" - ], - "license": "CAL" - }, - "contracts/tier/libraries/TierwiseCombine.sol": { - "keccak256": "0x310cfcd51385da28a1a61cb63a295685a0fa8bcbd6f8ed9b4995bf1693d84b50", - "urls": [ - "bzz-raw://b78d23a7dc16d4d0d2d1c6e0ca01adefa8a12b5027c7e00c2f5d0d19c6c018c6", - "dweb:/ipfs/QmNyXr87BqesfhHk4W1vMknxgFwYy1dNcCDSttHMcG8nyK" - ], - "license": "CAL" - }, - "contracts/type/LibCast.sol": { - "keccak256": "0x9650d8d1876bd61c5a326f1fb5c04dc0f6407e65abcc92fdc29b8f050f5e02d3", - "urls": [ - "bzz-raw://5493d4df1efe66e2454f7eef6e05a9f5c1ec59bf94c7797a17304835313e1ebe", - "dweb:/ipfs/Qma55Ae1rD9J9t87waNSoaQz3VZi1YmWYcPGwfDPMpiSQo" - ], - "license": "CAL" - }, - "contracts/type/LibConvert.sol": { - "keccak256": "0xd9e2df8b8ad347ec018df890eb4461df536de485407026f3761545753e9191de", - "urls": [ - "bzz-raw://c04b17cca9495dd1e4bcc11043d9074e742fc2872e039a604acbfb58972d1f75", - "dweb:/ipfs/Qmf1VgbH6gZQnkyfzbTpbSkxiEiEtHc49vfqaBdBkKuMCu" - ], - "license": "CAL" - }, - "contracts/verify/IVerifyV1.sol": { - "keccak256": "0xb04c15c0c71544132752b8589ae590ff4bad61c027990c550bf3ba09659c0e98", - "urls": [ - "bzz-raw://cdf9997bde15f7de3f59bc4e1aead72465f2d1e9a290f420e5f7bb4326b5abf1", - "dweb:/ipfs/QmNjPAKpNQQS1F6NKRXwnwXv7WEsCDsUKb1eGYR1m9YzQD" - ], - "license": "CAL" - }, - "lib/rain.math.saturating/src/SaturatingMath.sol": { - "keccak256": "0x9754d790a4f719acc89bc240b796c7996c1c63f7797c940a8935ae5275240165", - "urls": [ - "bzz-raw://ce82534c885578c6b1a93faa5bd041c0aeb40f9baca2542ba2c3e1be6781022b", - "dweb:/ipfs/Qmf8fqFoLi2hvVcZ7J93arNPuHUsb28N2WVD5jiAynAGrw" - ], - "license": "CAL" - }, - "lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0x8f0dfd2a1c6faa9baf625641f9b11b6286fa3a71076ff5df75067414b711ce0d", - "urls": [ - "bzz-raw://5c96741d0e0d13c9cfd46e049ed3be241c4554f90136edb8b4ac182168e4abd6", - "dweb:/ipfs/Qmb87Kh1ebFh9Ej9rvK8hFTV9QnV7xwwJFi7iKn4J2Lewc" - ], - "license": "CAL" - }, - "lib/sol.lib.datacontract/lib/sol.lib.memory/src/LibMemory.sol": { - "keccak256": "0xdfd2c6492d8e215cbc7e94f0c2a4d701d67719a5b27793ab5dca1f62d7c3f212", - "urls": [ - "bzz-raw://51b7314f7f89ee9f953d6427d03bd1b2e3a13b49c85781db62fea07106f6cef8", - "dweb:/ipfs/QmesicCBKafJaWkhhyyjGBpbcQSC8BZBtNvstHPmAM46C5" - ], - "license": "CAL" - }, - "lib/sol.lib.datacontract/src/LibDataContract.sol": { - "keccak256": "0xed298041ea7e4e64ef7acb8810b97cfedba885b5862c3d294f6b1aba2582e510", - "urls": [ - "bzz-raw://5f676023995e824b6e5b1dfc4dcaf89aa1ece84a0a0dd1eefd81553a1c27216a", - "dweb:/ipfs/QmdjyHNtweqfv9LrNegwohounDL1xWJzMVRFYM5VGHomU1" - ], - "license": "CAL" - }, - "node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { - "keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", - "urls": [ - "bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", - "dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { - "keccak256": "0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271", - "urls": [ - "bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618", - "dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol": { - "keccak256": "0x091a49ef99a2be002680781a10cc9dd74c0f348301ede5482c4ea625f79a8ffe", - "urls": [ - "bzz-raw://e037192cadfd20ad0f1b0c54a0c770a1ba551e7d0fcb6d3708e5ba352f88ded2", - "dweb:/ipfs/QmTXwY6odV1ToDZAYxbbLKThe9M5PUWTmWBjwT776hH4qm" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol": { - "keccak256": "0xb1d9e69cf8073efa574b31b1f840e20709139c19bfb27e60b16393d6073f3d42", - "urls": [ - "bzz-raw://7c39b800e55781c0f7a644ec9cc615664dbe2f009198e537e6acaad3086ba093", - "dweb:/ipfs/Qmaugq2wsB1ASX8Kv29NwXqYhZY8HRNqcdvmBe9UUNEq2V" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol": { - "keccak256": "0x4e733d3164f73f461eaf9d8087a7ad1ea180bdc8ba0d3d61b0e1ae16d8e63dff", - "urls": [ - "bzz-raw://75b47c3aeca7b66ea6752f8be020ec5c1c502de6ec9065272dae23d3a52196e2", - "dweb:/ipfs/QmUebPMHv16tYKFh5BmBQkMfRFb5b8UZ2RgVwdjxCeufVF" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol": { - "keccak256": "0x42da8099f59958af496f6c8f0d9c1ce0a929151e02f877e4be23aca4cc440cbe", - "urls": [ - "bzz-raw://781b129c8102160319aeaf01b4760e50291bbe1e4ae12b97fbdb79bda38c0d3f", - "dweb:/ipfs/QmNPDyvAPLaVBE5mS6fZJbqW4zZ93osaYdZEz2CPYRYtPU" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol": { - "keccak256": "0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb", - "urls": [ - "bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d", - "dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol": { - "keccak256": "0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229", - "urls": [ - "bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195", - "dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol": { - "keccak256": "0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183", - "urls": [ - "bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06", - "dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol": { - "keccak256": "0xc3821e9d41b2b19b612238b308dcc8f4ab46afcd0f6b3bd174e89789bbf59e26", - "urls": [ - "bzz-raw://e31dc401f4ddf373f106ddbab972d14eee74305c8fe358a4a6eedac7b934569a", - "dweb:/ipfs/QmQ8zCXY1UkGLkRnA346kjSqAnfj1iWWH2Q4pE4qivqW3p" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { - "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", - "urls": [ - "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", - "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol": { - "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", - "urls": [ - "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", - "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol": { - "keccak256": "0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a", - "urls": [ - "bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3", - "dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": { - "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", - "urls": [ - "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", - "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC1820RegistryUpgradeable.sol": { - "keccak256": "0x98156a8359df02baf3ca7b902dd41c5a0f98c57597b6642a0c7695d43607288c", - "urls": [ - "bzz-raw://ed23eb85df040bb50b7c2dc1a51ef2b514a0338edb7928b3cfa50095188292cf", - "dweb:/ipfs/QmYz5XF82QLx7JiaJRTiTeqgiLzbn93X4CmSbmpmtHZ2UQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol": { - "keccak256": "0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a", - "urls": [ - "bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4", - "dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol": { - "keccak256": "0xcef50f95b43b038aa40aed25b62fc45906c681a5c1d504a4fdcf3bc6330a8d4b", - "urls": [ - "bzz-raw://ef883699a00970d5469e502514e2854704cd53d7a49825078aa807a2f056315c", - "dweb:/ipfs/QmRjpN9oxgw6zHCVjfWNB9MzaYpNPPgqu7Rrwqwabmhpis" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/Common.sol": { - "keccak256": "0xefc709ba11b21b74b65cb7a557a40312c54474eac46fad40a07caa89c8183a48", - "urls": [ - "bzz-raw://300b11c4a64ae2067b458542e1bcede87925b2345ddcbfb9dabea19984c4d6a9", - "dweb:/ipfs/QmcVuaPw7eam1bdXPzKFn1LbTzwzxkCeKJWBcq46HEHo6x" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/Casting.sol": { - "keccak256": "0x7b485077c49e3df2e73b0872a39415344ffcd272e73d1ba3fe718c3c43cf916c", - "urls": [ - "bzz-raw://3c6267eb5117b5650b3787f62c21562ffae1ce16d44623843d0d974a37260ade", - "dweb:/ipfs/Qma3ZJ7FvgdwUxsHe8TQA19vbG3qvR8qTtDDFnUfYnoror" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/Constants.sol": { - "keccak256": "0x121705b66013b696f78b1ff5dcd17fe55495dea1dfed6e12b0614a00102a8652", - "urls": [ - "bzz-raw://4162cfa47270de652e77c6a0a187ad76a656b9ab11dea004ab73c46a46a17cea", - "dweb:/ipfs/QmRep5utcAuo5khyviDeRwFGgTVvUrAdXxzmLTCxn3sHPp" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/Errors.sol": { - "keccak256": "0xcfd63d287ba9142f22baac8fc1995efe1191a74608baa6e0348a0806746bbeac", - "urls": [ - "bzz-raw://b39f04778dcbeb277bc586dae4c90364ddee5b579f611cc3a799e1d34a256a0e", - "dweb:/ipfs/QmZePtjdCP8xoW73fpKeHV74iJHmryRewcyTW734TqYGcZ" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd1x18/ValueType.sol": { - "keccak256": "0x0c16e9c0db402680bdc8f07823adf7c1c86f81686d35dec13cb9293fdd229650", - "urls": [ - "bzz-raw://8d5ad841c5644b3ba4b1105e76d54728f3cfcac4162d3d539b39c2b66b76e416", - "dweb:/ipfs/QmWTTpXfmNJ32nbFHTdPNnR54NkuiXKUJaQrgzC91DHi3B" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Casting.sol": { - "keccak256": "0x24d5f94706d25f063507c61e44fa6cdfddf38c188027ffb09f6462586677b899", - "urls": [ - "bzz-raw://794940968dcdab7618104d948fc84cd916fe713e3970074b77b76011a59123d8", - "dweb:/ipfs/QmNMdQTtkEKd1SsxMJhWhHevXuFPx83ZGiQ4o9qMimxJB5" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Constants.sol": { - "keccak256": "0x4912d2d34cea3188096f602075ef9898f18c88c04843209933a827a176767f46", - "urls": [ - "bzz-raw://435a066b6fadee5b8cf25b5a3b11e9d56790bd777d5c28e6e5cd2037abaff5dc", - "dweb:/ipfs/QmcH9GUEVEsLqF6Mg64sN4b7LAp2Bae8k8GwTdbsaky9nk" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Errors.sol": { - "keccak256": "0x862040d347e8bf68571725b571226097cbadbc6ceec37872bb74f946f8f393d0", - "urls": [ - "bzz-raw://0e35d7f8c337d3a4df0bd8a962506dc3abf456af19ff3fa39f9e253000f01537", - "dweb:/ipfs/QmWmcRDyjUgw941BDJZ2M25VQiPpvC2TY25SB9PX7tSJ2g" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Helpers.sol": { - "keccak256": "0xc9a9da4f1876b224799bd4968e23520e65c3b7f75aba25524307b08e4fcfc559", - "urls": [ - "bzz-raw://c72bed51208cfda103f93622c770b7d24195965bbc9358d497296f30f2f9fa78", - "dweb:/ipfs/QmVJXxwKaFvJw5LF2Syc9a4bA7YDbmJmLBYpKTxd7djKp9" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/Math.sol": { - "keccak256": "0xca19e644c0ff59d88659ee5f1f7695f11c6b9ba05d98e437656bd23b01c563ee", - "urls": [ - "bzz-raw://5b6d164bdcd28af2369409a6495d67137f6b44f2f28c8a5c8b5e6fd137210d12", - "dweb:/ipfs/QmQ8wi8Ehrf3y7JgZMJfg3iDZKx7aHw1jeJEVhmknBExLa" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/sd59x18/ValueType.sol": { - "keccak256": "0x013a6fd0d424397aadd149637d5dbf371307817291d23b36c8a3c549d65f814b", - "urls": [ - "bzz-raw://1b1c1b6c6f7e6467b0f318154a8ffb70dedf9138e6fa03e8784c53ffdf2cbe35", - "dweb:/ipfs/QmWPTwgNBUuSU5fm2FPBt4e3pJY8jRFMaPryRmhPDEoiYS" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/Casting.sol": { - "keccak256": "0xf5f554c8088a664ec0efad8d89a7a45e930594855b5f6ddeb6fdc4846196757d", - "urls": [ - "bzz-raw://15d3cea3073b9f923211a06b99a6c21920faf8c24294da5b34624eb8e0dd96c1", - "dweb:/ipfs/QmQEqJqaGJtgtXewmNuFYbxHBFs3yvmVJu5vaPYvyT5oBC" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/Constants.sol": { - "keccak256": "0x44102d3eb6cd247d1bcbd8620203fb886dd2f48e29ad04a3e76e4ef5a9bbc70e", - "urls": [ - "bzz-raw://a3b3423386cf741f60a8f47429c3507e308971ca43bd4f3ac092929c7f375933", - "dweb:/ipfs/QmNgtXjt7maNP8yZTKmWuYJrtBGfmv5LcbBpoPRf7icUdX" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/Errors.sol": { - "keccak256": "0x68e163b4c71b87d14a14a34fdb6c1ab550ac836e1c1c6638ffb4eb75134b52e3", - "urls": [ - "bzz-raw://5715c8c72eb656286c1348ae50da3ce9b4f3c00bac0554367bace3fca3897e70", - "dweb:/ipfs/QmeLQsdymBynmCNVP6hSq7Pngb27ZsNGj9pkXkt1Y6nj6w" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud2x18/ValueType.sol": { - "keccak256": "0x9ed6fd4ee779180df84145e6e0edabbf98277d172849a5a70b27404814a5e518", - "urls": [ - "bzz-raw://b220360c5dcdbd4c6bfdbad7a62cc431b2f4877aa1248c6a4f160a41ff987c08", - "dweb:/ipfs/QmahKWkfv8EGge8LGJimVffuP46Y4TvwXeHg2SAWE2K9hH" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Casting.sol": { - "keccak256": "0xf095922e8f428347d9f005fc50791fe23594219973d41b761dce765cb5f32ca2", - "urls": [ - "bzz-raw://d5615b2e8d414b1c652f8d9d4ac2c7365278fc75ddb94b50284ea29f3f0dcf62", - "dweb:/ipfs/QmZhQ4aBbtTE6ypaL8S959zfJVrAdqFfd9FtmM1jvjdC8g" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Constants.sol": { - "keccak256": "0xffdd2b10025eff48e4090809a374e5bfa45def6b268cf811119b33bc0f133c11", - "urls": [ - "bzz-raw://5be4294d42e27fae6a4a664b6a31b25099d0209edd669cfada28d41ca72dfd9d", - "dweb:/ipfs/QmdY3HdzqsmcWgkRsNLJrqktm7EHM3SHyMrTctzca95zjM" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Errors.sol": { - "keccak256": "0x589eac14cd9ffd81791b62f088928f9b316104d3256c8e2c2ff706002a725563", - "urls": [ - "bzz-raw://49e3838698687aa3d7d40fdc77c91b14f8175c817e91082822e3f32dca3536ac", - "dweb:/ipfs/QmX8KrsZZHg3GtmSe9j95KvSwNi8egQ87zqcj5XjRCsx51" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Helpers.sol": { - "keccak256": "0x97b238645ffc788d4580499ce1aa5cc74a1b664c23609170433fb57fa189fabf", - "urls": [ - "bzz-raw://c0a212802a0d9039c56ea14772e3a808460336b7a9c645edf303962752cabb38", - "dweb:/ipfs/QmWUFyHbGfH5Y7BTEPkTyMgDpAApLpRBjbcQDtYw6APPZK" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/Math.sol": { - "keccak256": "0x0a944ba9ac0544c3da866c933b3c055e1d80c9195e0d346ab9d0ecd1daefac2d", - "urls": [ - "bzz-raw://a3c3de0b32471c3ff5d38e8acda629df2d8ea1155fbab4ae103d914a2ee135a3", - "dweb:/ipfs/QmNbdm3Gg96vN6H2JX2wSzpRuuaFwDJnSFHcerneFMfGdH" - ], - "license": "MIT" - }, - "node_modules/@prb/math/src/ud60x18/ValueType.sol": { - "keccak256": "0x665e975c3d380725da2cb62bd251cd1dbeadbe44d18fc46adcf706028e523215", - "urls": [ - "bzz-raw://f3a928dd6aecfaae97f1b49bc329a19a1ca75cad93dd65a3aa9ebb87184500c0", - "dweb:/ipfs/QmeQvAjQTRcamtxqmiwY28eywZv5toetUjRnqXcehB2Kjw" - ], - "license": "MIT" - }, - "node_modules/hardhat/console.sol": { - "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", - "urls": [ - "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", - "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "contracts/interpreter/shared/RainterpreterExpressionDeployer.sol", - "id": 18797, - "exportedSymbols": { - "ALL_STANDARD_OPS_LENGTH": [ - 7182 - ], - "AllStandardOps": [ - 7954 - ], - "BASE_PREFIX": [ - 39210 - ], - "B_1": [ - 38885 - ], - "B_11": [ - 38893 - ], - "B_111": [ - 38901 - ], - "B_1111": [ - 38909 - ], - "B_11111": [ - 38917 - ], - "B_111111": [ - 38925 - ], - "B_1111111": [ - 38933 - ], - "B_11111111": [ - 38941 - ], - "B_111111111": [ - 38949 - ], - "B_1111111111": [ - 38957 - ], - "B_11111111111": [ - 38965 - ], - "B_111111111111": [ - 38973 - ], - "B_1111111111111": [ - 38981 - ], - "B_11111111111111": [ - 38989 - ], - "B_111111111111111": [ - 38997 - ], - "B_1111111111111111": [ - 39005 - ], - "BadDynamicLength": [ - 7178 - ], - "BadExternResultsLength": [ - 9471 - ], - "ClearConfig": [ - 21087 - ], - "ClearStateChange": [ - 21096 - ], - "DEBUG_DELIMETER": [ - 16065 - ], - "DEFAULT_STATE_NAMESPACE": [ - 15858 - ], - "DataContractMemoryContainer": [ - 39216 - ], - "DebugStyle": [ - 16038 - ], - "DepositConfig": [ - 21003 - ], - "DoWhileMaxInputs": [ - 9290 - ], - "EIP5313": [ - 5670 - ], - "ERC20Snapshot": [ - 43266 - ], - "EncodedDispatch": [ - 15846 - ], - "EncodedExternDispatch": [ - 7028 - ], - "Evaluable": [ - 16003 - ], - "EvaluableConfig": [ - 15994 - ], - "ExternDispatch": [ - 7030 - ], - "FP_DECIMALS": [ - 20528 - ], - "FP_ONE": [ - 20532 - ], - "FullyQualifiedNamespace": [ - 19051 - ], - "IERC1155": [ - 41935 - ], - "IERC165": [ - 47118 - ], - "IERC1820Registry": [ - 47208 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ - 5604 - ], - "IERC1820_REGISTRY": [ - 5601 - ], - "IERC20": [ - 42854 - ], - "IERC3156FlashBorrower": [ - 5623 - ], - "IERC3156FlashLender": [ - 5660 - ], - "IERC721": [ - 45400 - ], - "IExpressionDeployerV1": [ - 6051 - ], - "IInterpreterCallerV1": [ - 5691 - ], - "IInterpreterExternV1": [ - 7045 - ], - "IInterpreterStoreV1": [ - 19083 - ], - "IInterpreterV1": [ - 15889 - ], - "INITIAL_STACK_BOTTOM": [ - 6104 - ], - "INTERPRETER_BYTECODE_HASH": [ - 18366 - ], - "IO": [ - 21017 - ], - "IOrderBookV1": [ - 21274 - ], - "ISaleV2": [ - 24440 - ], - "ITierV2": [ - 36050 - ], - "IVerifyV1": [ - 36969 - ], - "InsufficientLoopOutputs": [ - 9696 - ], - "IntegrityCheckState": [ - 6153 - ], - "InterpreterState": [ - 16061 - ], - "InvalidPtr": [ - 19092 - ], - "LibCast": [ - 36870 - ], - "LibChainlink": [ - 474 - ], - "LibConvert": [ - 36909 - ], - "LibDataContract": [ - 39323 - ], - "LibEvaluable": [ - 16020 - ], - "LibExtern": [ - 7085 - ], - "LibFixedPointMath": [ - 20834 - ], - "LibIntegrityCheck": [ - 7024 - ], - "LibInterpreterState": [ - 16746 - ], - "LibMemory": [ - 39197 - ], - "LibMemoryKV": [ - 19231 - ], - "LibMemorySize": [ - 20989 - ], - "LibStackPointer": [ - 18069 - ], - "LibUint256Array": [ - 395 - ], - "MASK_10BIT": [ - 39045 - ], - "MASK_11BIT": [ - 39049 - ], - "MASK_12BIT": [ - 39053 - ], - "MASK_13BIT": [ - 39057 - ], - "MASK_14BIT": [ - 39061 - ], - "MASK_15BIT": [ - 39065 - ], - "MASK_16BIT": [ - 39069 - ], - "MASK_1BIT": [ - 39009 - ], - "MASK_2BIT": [ - 39013 - ], - "MASK_3BIT": [ - 39017 - ], - "MASK_4BIT": [ - 39021 - ], - "MASK_5BIT": [ - 39025 - ], - "MASK_6BIT": [ - 39029 - ], - "MASK_7BIT": [ - 39033 - ], - "MASK_8BIT": [ - 39037 - ], - "MASK_9BIT": [ - 39041 - ], - "Math": [ - 48073 - ], - "MemoryKV": [ - 19094 - ], - "MemoryKVKey": [ - 19096 - ], - "MemoryKVPtr": [ - 19098 - ], - "MemoryKVVal": [ - 19100 - ], - "MinFinalStack": [ - 6121 - ], - "MinStackBottom": [ - 6107 - ], - "MissingEntrypoint": [ - 18345 - ], - "NO_STORE": [ - 19060 - ], - "OPCODE_FUNCTION_POINTERS": [ - 18359 - ], - "OPERAND_MEMORY_TYPE_CONSTANT": [ - 9908 - ], - "OPERAND_MEMORY_TYPE_STACK": [ - 9904 - ], - "OP_META_HASH": [ - 18380 - ], - "OpAdd": [ - 11238 - ], - "OpAny": [ - 12469 - ], - "OpBlockNumber": [ - 11098 - ], - "OpCall": [ - 9198 - ], - "OpChainlinkOraclePrice": [ - 8468 - ], - "OpContext": [ - 8549 - ], - "OpContextColumnHash": [ - 8619 - ], - "OpContextRow": [ - 8715 - ], - "OpDebug": [ - 9277 - ], - "OpDecode256": [ - 8098 - ], - "OpDiv": [ - 11318 - ], - "OpDoWhile": [ - 9457 - ], - "OpERC1155BalanceOf": [ - 10252 - ], - "OpERC1155BalanceOfBatch": [ - 10357 - ], - "OpERC20BalanceOf": [ - 10446 - ], - "OpERC20SnapshotBalanceOfAt": [ - 10618 - ], - "OpERC20SnapshotTotalSupplyAt": [ - 10701 - ], - "OpERC20TotalSupply": [ - 10526 - ], - "OpERC5313Owner": [ - 10788 - ], - "OpERC721BalanceOf": [ - 10877 - ], - "OpERC721OwnerOf": [ - 10966 - ], - "OpEagerIf": [ - 12563 - ], - "OpEncode256": [ - 8260 - ], - "OpEnsure": [ - 11040 - ], - "OpEqualTo": [ - 12636 - ], - "OpEvery": [ - 12752 - ], - "OpExp": [ - 11398 - ], - "OpExplode32": [ - 8386 - ], - "OpExtern": [ - 9681 - ], - "OpFixedPointScale18": [ - 11897 - ], - "OpFixedPointScale18Div": [ - 11990 - ], - "OpFixedPointScale18Dynamic": [ - 12080 - ], - "OpFixedPointScale18Mul": [ - 12173 - ], - "OpFixedPointScaleBy": [ - 12264 - ], - "OpFixedPointScaleN": [ - 12349 - ], - "OpFoldContext": [ - 8953 - ], - "OpGet": [ - 15222 - ], - "OpGreaterThan": [ - 12825 - ], - "OpHash": [ - 10160 - ], - "OpIOrderBookV1VaultBalance": [ - 14556 - ], - "OpISaleV2RemainingTokenInventory": [ - 14636 - ], - "OpISaleV2Reserve": [ - 14722 - ], - "OpISaleV2SaleStatus": [ - 14805 - ], - "OpISaleV2Token": [ - 14891 - ], - "OpISaleV2TotalReserveReceived": [ - 14971 - ], - "OpITierV2Report": [ - 15442 - ], - "OpITierV2ReportTimeForTier": [ - 15549 - ], - "OpIVerifyV1AccountStatusAtTime": [ - 15066 - ], - "OpIsZero": [ - 12896 - ], - "OpLessThan": [ - 12969 - ], - "OpLoopN": [ - 9876 - ], - "OpMax": [ - 11481 - ], - "OpMin": [ - 11564 - ], - "OpMod": [ - 11644 - ], - "OpMul": [ - 11724 - ], - "OpPRBAvg": [ - 13052 - ], - "OpPRBCeil": [ - 13129 - ], - "OpPRBDiv": [ - 13212 - ], - "OpPRBExp": [ - 13289 - ], - "OpPRBExp2": [ - 13366 - ], - "OpPRBFloor": [ - 13443 - ], - "OpPRBFrac": [ - 13520 - ], - "OpPRBGm": [ - 13603 - ], - "OpPRBInv": [ - 13680 - ], - "OpPRBLn": [ - 13757 - ], - "OpPRBLog10": [ - 13834 - ], - "OpPRBLog2": [ - 13911 - ], - "OpPRBMul": [ - 13994 - ], - "OpPRBPow": [ - 14077 - ], - "OpPRBPowu": [ - 14157 - ], - "OpPRBSqrt": [ - 14234 - ], - "OpReadMemory": [ - 10069 - ], - "OpSaturatingAdd": [ - 14306 - ], - "OpSaturatingDiff": [ - 15609 - ], - "OpSaturatingMul": [ - 14378 - ], - "OpSaturatingSub": [ - 14450 - ], - "OpSelectLte": [ - 15746 - ], - "OpSet": [ - 15338 - ], - "OpSub": [ - 11804 - ], - "OpTimestamp": [ - 11156 - ], - "OpUpdateTimesForTierRange": [ - 15839 - ], - "Operand": [ - 15850 - ], - "Order": [ - 21047 - ], - "OrderConfig": [ - 21031 - ], - "OutOfBoundsConstantsRead": [ - 9900 - ], - "OutOfBoundsStackRead": [ - 9893 - ], - "OutOfBoundsTruncate": [ - 8 - ], - "PREFIX_BYTES_LENGTH": [ - 39214 - ], - "Pointer": [ - 39080 - ], - "RainterpreterExpressionDeployer": [ - 18796 - ], - "RainterpreterExpressionDeployerConstructionConfig": [ - 18387 - ], - "ReadError": [ - 39206 - ], - "STORE_BYTECODE_HASH": [ - 18373 - ], - "SafeCast": [ - 49614 - ], - "SaleStatus": [ - 24409 - ], - "SaturatingMath": [ - 38875 - ], - "SignedContext": [ - 5680 - ], - "SourceIndex": [ - 15844 - ], - "StackPointer": [ - 16760 - ], - "StackPopUnderflow": [ - 6114 - ], - "StateNamespace": [ - 15848 - ], - "TIERWISE_COMBINE_LOGIC_ANY": [ - 36452 - ], - "TIERWISE_COMBINE_LOGIC_EVERY": [ - 36448 - ], - "TIERWISE_COMBINE_MODE_FIRST": [ - 36464 - ], - "TIERWISE_COMBINE_MODE_MAX": [ - 36460 - ], - "TIERWISE_COMBINE_MODE_MIN": [ - 36456 - ], - "TakeOrderConfig": [ - 21074 - ], - "TakeOrdersConfig": [ - 21062 - ], - "TierConstants": [ - 36155 - ], - "TierReport": [ - 36438 - ], - "TierwiseCombine": [ - 36699 - ], - "TruncateError": [ - 39078 - ], - "TruncatedEncoding": [ - 8111 - ], - "UD60x18": [ - 56036 - ], - "UnexpectedInterpreterBytecodeHash": [ - 18338 - ], - "UnexpectedOpMetaHash": [ - 18355 - ], - "UnexpectedPointers": [ - 18333 - ], - "UnexpectedResultLength": [ - 16758 - ], - "UnexpectedStoreBytecodeHash": [ - 18350 - ], - "VerifyStatus": [ - 36958 - ], - "WithdrawConfig": [ - 21010 - ], - "WriteError": [ - 39203 - ], - "ZeroInputs": [ - 15619 - ], - "avg": [ - 55402 - ], - "ceil": [ - 55429 - ], - "console": [ - 64149 - ], - "div": [ - 55457 - ], - "exp": [ - 55500 - ], - "exp2": [ - 55543 - ], - "floor": [ - 55555 - ], - "frac": [ - 55567 - ], - "gm": [ - 55631 - ], - "inv": [ - 55653 - ], - "ln": [ - 55680 - ], - "log10": [ - 55730 - ], - "log2": [ - 55831 - ], - "mul": [ - 55858 - ], - "pow": [ - 55920 - ], - "powu": [ - 55990 - ], - "sqrt": [ - 56029 - ] - }, - "nodeType": "SourceUnit", - "src": "32:12152:121", - "nodes": [ - { - "id": 18322, - "nodeType": "PragmaDirective", - "src": "32:24:121", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".18" - ] - }, - { - "id": 18323, - "nodeType": "ImportDirective", - "src": "58:50:121", - "nodes": [], - "absolutePath": "lib/sol.lib.datacontract/src/LibDataContract.sol", - "file": "sol.lib.datacontract/LibDataContract.sol", - "nameLocation": "-1:-1:-1", - "scope": 18797, - "sourceUnit": 39324, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18324, - "nodeType": "ImportDirective", - "src": "110:45:121", - "nodes": [], - "absolutePath": "contracts/interpreter/deploy/IExpressionDeployerV1.sol", - "file": "../deploy/IExpressionDeployerV1.sol", - "nameLocation": "-1:-1:-1", - "scope": 18797, - "sourceUnit": 6052, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18325, - "nodeType": "ImportDirective", - "src": "156:35:121", - "nodes": [], - "absolutePath": "contracts/interpreter/ops/AllStandardOps.sol", - "file": "../ops/AllStandardOps.sol", - "nameLocation": "-1:-1:-1", - "scope": 18797, - "sourceUnit": 7955, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18326, - "nodeType": "ImportDirective", - "src": "192:40:121", - "nodes": [], - "absolutePath": "contracts/ierc1820/LibIERC1820.sol", - "file": "../../ierc1820/LibIERC1820.sol", - "nameLocation": "-1:-1:-1", - "scope": 18797, - "sourceUnit": 5605, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 18328, - "nodeType": "ImportDirective", - "src": "233:125:121", - "nodes": [], - "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", - "file": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 18797, - "sourceUnit": 47119, - "symbolAliases": [ - { - "foreign": { - "id": 18327, - "name": "IERC165Upgradeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47118, - "src": "241:18:121", - "typeDescriptions": {} - }, - "local": "IERC165", - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 18333, - "nodeType": "ErrorDefinition", - "src": "661:47:121", - "nodes": [], - "documentation": { - "id": 18329, - "nodeType": "StructuredDocumentation", - "src": "360:301:121", - "text": "@dev Thrown when the pointers known to the expression deployer DO NOT match\n the interpreter it is constructed for. This WILL cause undefined expression\n behaviour so MUST REVERT.\n @param actualPointers The actual function pointers found at the interpreter\n address upon construction." - }, - "errorSelector": "9835e402", - "name": "UnexpectedPointers", - "nameLocation": "667:18:121", - "parameters": { - "id": 18332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18331, - "mutability": "mutable", - "name": "actualPointers", - "nameLocation": "692:14:121", - "nodeType": "VariableDeclaration", - "scope": 18333, - "src": "686:20:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18330, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "686:5:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "685:22:121" - } - }, - { - "id": 18338, - "nodeType": "ErrorDefinition", - "src": "931:68:121", - "nodes": [], - "documentation": { - "id": 18334, - "nodeType": "StructuredDocumentation", - "src": "710:221:121", - "text": "Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown\n interpreter bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the interpreter\n address upon construction." - }, - "errorSelector": "1dd8527e", - "name": "UnexpectedInterpreterBytecodeHash", - "nameLocation": "937:33:121", - "parameters": { - "id": 18337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18336, - "mutability": "mutable", - "name": "actualBytecodeHash", - "nameLocation": "979:18:121", - "nodeType": "VariableDeclaration", - "scope": 18338, - "src": "971:26:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18335, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "971:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "970:28:121" - } - }, - { - "id": 18345, - "nodeType": "ErrorDefinition", - "src": "1254:80:121", - "nodes": [], - "documentation": { - "id": 18339, - "nodeType": "StructuredDocumentation", - "src": "1001:253:121", - "text": "@dev There are more entrypoints defined by the minimum stack outputs than\n there are provided sources. This means the calling contract WILL attempt to\n eval a dangling reference to a non-existent source at some point, so this\n MUST REVERT." - }, - "errorSelector": "7d2d70db", - "name": "MissingEntrypoint", - "nameLocation": "1260:17:121", - "parameters": { - "id": 18344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18341, - "mutability": "mutable", - "name": "expectedEntrypoints", - "nameLocation": "1286:19:121", - "nodeType": "VariableDeclaration", - "scope": 18345, - "src": "1278:27:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1278:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18343, - "mutability": "mutable", - "name": "actualEntrypoints", - "nameLocation": "1315:17:121", - "nodeType": "VariableDeclaration", - "scope": 18345, - "src": "1307:25:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1307:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1277:56:121" - } - }, - { - "id": 18350, - "nodeType": "ErrorDefinition", - "src": "1523:62:121", - "nodes": [], - "documentation": { - "id": 18346, - "nodeType": "StructuredDocumentation", - "src": "1336:187:121", - "text": "Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the store\n address upon construction." - }, - "errorSelector": "cc0415fd", - "name": "UnexpectedStoreBytecodeHash", - "nameLocation": "1529:27:121", - "parameters": { - "id": 18349, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18348, - "mutability": "mutable", - "name": "actualBytecodeHash", - "nameLocation": "1565:18:121", - "nodeType": "VariableDeclaration", - "scope": 18350, - "src": "1557:26:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18347, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1557:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1556:28:121" - } - }, - { - "id": 18355, - "nodeType": "ErrorDefinition", - "src": "1659:49:121", - "nodes": [], - "documentation": { - "id": 18351, - "nodeType": "StructuredDocumentation", - "src": "1587:72:121", - "text": "Thrown when the `Rainterpreter` is constructed with unknown opMeta." - }, - "errorSelector": "87a1fcae", - "name": "UnexpectedOpMetaHash", - "nameLocation": "1665:20:121", - "parameters": { - "id": 18354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18353, - "mutability": "mutable", - "name": "actualOpMeta", - "nameLocation": "1694:12:121", - "nodeType": "VariableDeclaration", - "scope": 18355, - "src": "1686:20:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18352, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1686:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1685:22:121" - } - }, - { - "id": 18359, - "nodeType": "VariableDeclaration", - "src": "2014:371:121", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "OPCODE_FUNCTION_POINTERS", - "nameLocation": "2029:24:121", - "scope": 18797, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18357, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2014:5:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": { - "hexValue": "0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687", - "id": 18358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "hexString", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2056:329:121", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d65fd939c8c098c17bd87e77d8c750143e1f0fc009c94affcefa0aa201e0a15d", - "typeString": "literal_string hex\"0ac70ad60ae50b680b760bc80c380cb60d800dd60e020e9b102f106410821091109f10ae10bc10ca10d810e610ae10f411021111111f112d113c114b115a116911781187119611a511b411c311d211e111f011ff1248125a1268129a12a812b612c412d212e012ee12fc130a13181326133413421350135e136c137a1388139613a413b313c213d113df13ed13fb1409141714251433156115e915f8160716151687\"" - } - }, - "visibility": "internal" - }, - { - "id": 18366, - "nodeType": "VariableDeclaration", - "src": "2437:126:121", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "INTERPRETER_BYTECODE_HASH", - "nameLocation": "2454:25:121", - "scope": 18797, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18361, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2437:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307834663330623939616632663839633833643137656266323562353765363331343835363064333562626539323431346563666165386666306531633935383535", - "id": 18364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2495:66:121", - "typeDescriptions": { - "typeIdentifier": "t_rational_35818804697681197500928601444998840785623956135214039800908632596276585257045_by_1", - "typeString": "int_const 3581...(69 digits omitted)...7045" - }, - "value": "0x4f30b99af2f89c83d17ebf25b57e63148560d35bbe92414ecfae8ff0e1c95855" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_35818804697681197500928601444998840785623956135214039800908632596276585257045_by_1", - "typeString": "int_const 3581...(69 digits omitted)...7045" - } - ], - "id": 18363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2482:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 18362, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2482:7:121", - "typeDescriptions": {} - } - }, - "id": 18365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2482:81:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 18373, - "nodeType": "VariableDeclaration", - "src": "2609:120:121", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "STORE_BYTECODE_HASH", - "nameLocation": "2626:19:121", - "scope": 18797, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18368, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2609:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307834663864343962623461356461306236373836353031376532656666363631386233396364306563663635633633316239623261373933646632616663373530", - "id": 18371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2661:66:121", - "typeDescriptions": { - "typeIdentifier": "t_rational_35982349351036765160192590952611483035703732392903036138151704695286864529232_by_1", - "typeString": "int_const 3598...(69 digits omitted)...9232" - }, - "value": "0x4f8d49bb4a5da0b67865017e2eff6618b39cd0ecf65c631b9b2a793df2afc750" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_35982349351036765160192590952611483035703732392903036138151704695286864529232_by_1", - "typeString": "int_const 3598...(69 digits omitted)...9232" - } - ], - "id": 18370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2648:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 18369, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2648:7:121", - "typeDescriptions": {} - } - }, - "id": 18372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2648:81:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 18380, - "nodeType": "VariableDeclaration", - "src": "2768:113:121", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "OP_META_HASH", - "nameLocation": "2785:12:121", - "scope": 18797, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18375, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2768:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307863363333626434323564326336393265663339383434323737346135633763383134323765303432363863373136396663643136373066393361646130373331", - "id": 18378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2813:66:121", - "typeDescriptions": { - "typeIdentifier": "t_rational_89649359439018778645745589028222045247248693302185474487729582088661805696817_by_1", - "typeString": "int_const 8964...(69 digits omitted)...6817" - }, - "value": "0xc633bd425d2c692ef398442774a5c7c81427e04268c7169fcd1670f93ada0731" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_89649359439018778645745589028222045247248693302185474487729582088661805696817_by_1", - "typeString": "int_const 8964...(69 digits omitted)...6817" - } - ], - "id": 18377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2800:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 18376, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2800:7:121", - "typeDescriptions": {} - } - }, - "id": 18379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2800:81:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 18387, - "nodeType": "StructDefinition", - "src": "3164:120:121", - "nodes": [], - "canonicalName": "RainterpreterExpressionDeployerConstructionConfig", - "members": [ - { - "constant": false, - "id": 18382, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "3235:11:121", - "nodeType": "VariableDeclaration", - "scope": 18387, - "src": "3227:19:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3227:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18384, - "mutability": "mutable", - "name": "store", - "nameLocation": "3260:5:121", - "nodeType": "VariableDeclaration", - "scope": 18387, - "src": "3252:13:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3252:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18386, - "mutability": "mutable", - "name": "meta", - "nameLocation": "3277:4:121", - "nodeType": "VariableDeclaration", - "scope": 18387, - "src": "3271:10:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18385, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3271:5:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "name": "RainterpreterExpressionDeployerConstructionConfig", - "nameLocation": "3171:49:121", - "scope": 18797, - "visibility": "public" - }, - { - "id": 18796, - "nodeType": "ContractDefinition", - "src": "3472:8711:121", - "nodes": [ - { - "id": 18396, - "nodeType": "UsingForDirective", - "src": "3553:39:121", - "nodes": [], - "global": false, - "libraryName": { - "id": 18393, - "name": "LibStackPointer", - "nameLocations": [ - "3559:15:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 18069, - "src": "3559:15:121" - }, - "typeName": { - "id": 18395, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18394, - "name": "StackPointer", - "nameLocations": [ - "3579:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "3579:12:121" - }, - "referencedDeclaration": 16760, - "src": "3579:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - } - }, - { - "id": 18410, - "nodeType": "EventDefinition", - "src": "3974:134:121", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 18397, - "nodeType": "StructuredDocumentation", - "src": "3598:371:121", - "text": "The config of the deployed expression including uncompiled sources. Will\n only be emitted after the config passes the integrity check.\n @param sender The caller of `deployExpression`.\n @param sources As per `IExpressionDeployerV1`.\n @param constants As per `IExpressionDeployerV1`.\n @param minOutputs As per `IExpressionDeployerV1`." - }, - "eventSelector": "f66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786", - "name": "NewExpression", - "nameLocation": "3980:13:121", - "parameters": { - "id": 18409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18399, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "4011:6:121", - "nodeType": "VariableDeclaration", - "scope": 18410, - "src": "4003:14:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4003:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18402, - "indexed": false, - "mutability": "mutable", - "name": "sources", - "nameLocation": "4035:7:121", - "nodeType": "VariableDeclaration", - "scope": 18410, - "src": "4027:15:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 18400, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4027:5:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 18401, - "nodeType": "ArrayTypeName", - "src": "4027:7:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18405, - "indexed": false, - "mutability": "mutable", - "name": "constants", - "nameLocation": "4062:9:121", - "nodeType": "VariableDeclaration", - "scope": 18410, - "src": "4052:19:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4052:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18404, - "nodeType": "ArrayTypeName", - "src": "4052:9:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18408, - "indexed": false, - "mutability": "mutable", - "name": "minOutputs", - "nameLocation": "4091:10:121", - "nodeType": "VariableDeclaration", - "scope": 18410, - "src": "4081:20:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4081:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18407, - "nodeType": "ArrayTypeName", - "src": "4081:9:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "3993:114:121" - } - }, - { - "id": 18417, - "nodeType": "EventDefinition", - "src": "4409:60:121", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 18411, - "nodeType": "StructuredDocumentation", - "src": "4114:290:121", - "text": "The address of the deployed expression. Will only be emitted once the\n expression can be loaded and deserialized into an evaluable interpreter\n state.\n @param sender The caller of `deployExpression`.\n @param expression The address of the deployed expression." - }, - "eventSelector": "ce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1", - "name": "ExpressionAddress", - "nameLocation": "4415:17:121", - "parameters": { - "id": 18416, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18413, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "4441:6:121", - "nodeType": "VariableDeclaration", - "scope": 18417, - "src": "4433:14:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4433:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18415, - "indexed": false, - "mutability": "mutable", - "name": "expression", - "nameLocation": "4457:10:121", - "nodeType": "VariableDeclaration", - "scope": 18417, - "src": "4449:18:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4449:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4432:36:121" - } - }, - { - "id": 18420, - "nodeType": "VariableDeclaration", - "src": "4475:43:121", - "nodes": [], - "constant": false, - "functionSelector": "3a35cf17", - "mutability": "immutable", - "name": "interpreter", - "nameLocation": "4507:11:121", - "scope": 18796, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 18419, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18418, - "name": "IInterpreterV1", - "nameLocations": [ - "4475:14:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15889, - "src": "4475:14:121" - }, - "referencedDeclaration": 15889, - "src": "4475:14:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "public" - }, - { - "id": 18423, - "nodeType": "VariableDeclaration", - "src": "4524:42:121", - "nodes": [], - "constant": false, - "functionSelector": "975057e7", - "mutability": "immutable", - "name": "store", - "nameLocation": "4561:5:121", - "scope": 18796, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 18422, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18421, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "4524:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19083, - "src": "4524:19:121" - }, - "referencedDeclaration": 19083, - "src": "4524:19:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "public" - }, - { - "id": 18549, - "nodeType": "FunctionDefinition", - "src": "4762:2358:121", - "nodes": [], - "body": { - "id": 18548, - "nodeType": "Block", - "src": "4854:2266:121", - "nodes": [], - "statements": [ - { - "assignments": [ - 18432 - ], - "declarations": [ - { - "constant": false, - "id": 18432, - "mutability": "mutable", - "name": "interpreter_", - "nameLocation": "4879:12:121", - "nodeType": "VariableDeclaration", - "scope": 18548, - "src": "4864:27:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 18431, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18430, - "name": "IInterpreterV1", - "nameLocations": [ - "4864:14:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15889, - "src": "4864:14:121" - }, - "referencedDeclaration": 15889, - "src": "4864:14:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - } - ], - "id": 18437, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 18434, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18427, - "src": "4909:7:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 18435, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4917:11:121", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 18382, - "src": "4909:19:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 18433, - "name": "IInterpreterV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15889, - "src": "4894:14:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$15889_$", - "typeString": "type(contract IInterpreterV1)" - } - }, - "id": 18436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4894:35:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4864:65:121" - }, - { - "assignments": [ - 18439 - ], - "declarations": [ - { - "constant": false, - "id": 18439, - "mutability": "mutable", - "name": "functionPointers_", - "nameLocation": "5098:17:121", - "nodeType": "VariableDeclaration", - "scope": 18548, - "src": "5085:30:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 18438, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5085:5:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 18443, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 18440, - "name": "interpreter_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18432, - "src": "5118:12:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "id": 18441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5131:16:121", - "memberName": "functionPointers", - "nodeType": "MemberAccess", - "referencedDeclaration": 15865, - "src": "5118:29:121", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () view external returns (bytes memory)" - } - }, - "id": 18442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5118:31:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5085:64:121" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 18450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 18445, - "name": "functionPointers_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18439, - "src": "5186:17:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18444, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "5176:9:121", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 18446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5176:28:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 18448, - "name": "OPCODE_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18359, - "src": "5218:24:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18447, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "5208:9:121", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 18449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5208:35:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "5176:67:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18456, - "nodeType": "IfStatement", - "src": "5159:164:121", - "trueBody": { - "id": 18455, - "nodeType": "Block", - "src": "5254:69:121", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 18452, - "name": "functionPointers_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18439, - "src": "5294:17:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18451, - "name": "UnexpectedPointers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18333, - "src": "5275:18:121", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 18453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5275:37:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18454, - "nodeType": "RevertStatement", - "src": "5268:44:121" - } - ] - } - }, - { - "assignments": [ - 18458 - ], - "declarations": [ - { - "constant": false, - "id": 18458, - "mutability": "mutable", - "name": "interpreterHash_", - "nameLocation": "5403:16:121", - "nodeType": "VariableDeclaration", - "scope": 18548, - "src": "5395:24:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18457, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5395:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 18459, - "nodeType": "VariableDeclarationStatement", - "src": "5395:24:121" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "5454:69:121", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5468:45:121", - "value": { - "arguments": [ - { - "name": "interpreter_", - "nodeType": "YulIdentifier", - "src": "5500:12:121" - } - ], - "functionName": { - "name": "extcodehash", - "nodeType": "YulIdentifier", - "src": "5488:11:121" - }, - "nodeType": "YulFunctionCall", - "src": "5488:25:121" - }, - "variableNames": [ - { - "name": "interpreterHash_", - "nodeType": "YulIdentifier", - "src": "5468:16:121" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 18458, - "isOffset": false, - "isSlot": false, - "src": "5468:16:121", - "valueSize": 1 - }, - { - "declaration": 18432, - "isOffset": false, - "isSlot": false, - "src": "5500:12:121", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 18460, - "nodeType": "InlineAssembly", - "src": "5429:94:121" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 18463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18461, - "name": "interpreterHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18458, - "src": "5536:16:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 18462, - "name": "INTERPRETER_BYTECODE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18366, - "src": "5556:25:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "5536:45:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18469, - "nodeType": "IfStatement", - "src": "5532:249:121", - "trueBody": { - "id": 18468, - "nodeType": "Block", - "src": "5583:198:121", - "statements": [ - { - "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", - "errorCall": { - "arguments": [ - { - "id": 18465, - "name": "interpreterHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18458, - "src": "5753:16:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 18464, - "name": "UnexpectedInterpreterBytecodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18338, - "src": "5719:33:121", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) pure" - } - }, - "id": 18466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5719:51:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18467, - "nodeType": "RevertStatement", - "src": "5712:58:121" - } - ] - } - }, - { - "assignments": [ - 18472 - ], - "declarations": [ - { - "constant": false, - "id": 18472, - "mutability": "mutable", - "name": "store_", - "nameLocation": "5868:6:121", - "nodeType": "VariableDeclaration", - "scope": 18548, - "src": "5848:26:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 18471, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18470, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "5848:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19083, - "src": "5848:19:121" - }, - "referencedDeclaration": 19083, - "src": "5848:19:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - } - ], - "id": 18477, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 18474, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18427, - "src": "5897:7:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 18475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5905:5:121", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 18384, - "src": "5897:13:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 18473, - "name": "IInterpreterStoreV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19083, - "src": "5877:19:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$19083_$", - "typeString": "type(contract IInterpreterStoreV1)" - } - }, - "id": 18476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5877:34:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5848:63:121" - }, - { - "assignments": [ - 18479 - ], - "declarations": [ - { - "constant": false, - "id": 18479, - "mutability": "mutable", - "name": "storeHash_", - "nameLocation": "5929:10:121", - "nodeType": "VariableDeclaration", - "scope": 18548, - "src": "5921:18:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18478, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5921:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 18480, - "nodeType": "VariableDeclarationStatement", - "src": "5921:18:121" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "5974:57:121", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5988:33:121", - "value": { - "arguments": [ - { - "name": "store_", - "nodeType": "YulIdentifier", - "src": "6014:6:121" - } - ], - "functionName": { - "name": "extcodehash", - "nodeType": "YulIdentifier", - "src": "6002:11:121" - }, - "nodeType": "YulFunctionCall", - "src": "6002:19:121" - }, - "variableNames": [ - { - "name": "storeHash_", - "nodeType": "YulIdentifier", - "src": "5988:10:121" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 18479, - "isOffset": false, - "isSlot": false, - "src": "5988:10:121", - "valueSize": 1 - }, - { - "declaration": 18472, - "isOffset": false, - "isSlot": false, - "src": "6014:6:121", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 18481, - "nodeType": "InlineAssembly", - "src": "5949:82:121" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 18484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18482, - "name": "storeHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18479, - "src": "6044:10:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 18483, - "name": "STORE_BYTECODE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18373, - "src": "6058:19:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "6044:33:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18490, - "nodeType": "IfStatement", - "src": "6040:225:121", - "trueBody": { - "id": 18489, - "nodeType": "Block", - "src": "6079:186:121", - "statements": [ - { - "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", - "errorCall": { - "arguments": [ - { - "id": 18486, - "name": "storeHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18479, - "src": "6243:10:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 18485, - "name": "UnexpectedStoreBytecodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18350, - "src": "6215:27:121", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) pure" - } - }, - "id": 18487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6215:39:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18488, - "nodeType": "RevertStatement", - "src": "6208:46:121" - } - ] - } - }, - { - "assignments": [ - 18493 - ], - "declarations": [ - { - "constant": false, - "id": 18493, - "mutability": "mutable", - "name": "opMetaHash_", - "nameLocation": "6508:11:121", - "nodeType": "VariableDeclaration", - "scope": 18548, - "src": "6500:19:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6500:7:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "documentation": "This IS a security check. This prevents someone making an exact\n bytecode copy of the interpreter and shipping different meta for\n the copy to lie about what each op does in the interpreter.", - "id": 18498, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 18495, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18427, - "src": "6532:7:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 18496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6540:4:121", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 18386, - "src": "6532:12:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18494, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "6522:9:121", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 18497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6522:23:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6500:45:121" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 18501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18499, - "name": "opMetaHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18493, - "src": "6559:11:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 18500, - "name": "OP_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18380, - "src": "6574:12:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "6559:27:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18507, - "nodeType": "IfStatement", - "src": "6555:98:121", - "trueBody": { - "id": 18506, - "nodeType": "Block", - "src": "6588:65:121", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 18503, - "name": "opMetaHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18493, - "src": "6630:11:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 18502, - "name": "UnexpectedOpMetaHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18355, - "src": "6609:20:121", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) pure" - } - }, - "id": 18504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6609:33:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18505, - "nodeType": "RevertStatement", - "src": "6602:40:121" - } - ] - } - }, - { - "expression": { - "id": 18510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 18508, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18420, - "src": "6663:11:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18509, - "name": "interpreter_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18432, - "src": "6677:12:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "src": "6663:26:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "id": 18511, - "nodeType": "ExpressionStatement", - "src": "6663:26:121" - }, - { - "expression": { - "id": 18514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 18512, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18423, - "src": "6699:5:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18513, - "name": "store_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18472, - "src": "6707:6:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "src": "6699:14:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 18515, - "nodeType": "ExpressionStatement", - "src": "6699:14:121" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 18517, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6750:3:121", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6754:6:121", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6750:10:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 18521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6782:4:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", - "typeString": "contract RainterpreterExpressionDeployer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", - "typeString": "contract RainterpreterExpressionDeployer" - } - ], - "id": 18520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6774:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 18519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6774:7:121", - "typeDescriptions": {} - } - }, - "id": 18522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6774:13:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 18523, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18427, - "src": "6801:7:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 18524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6809:11:121", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 18382, - "src": "6801:19:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 18525, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18427, - "src": "6834:7:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 18526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6842:5:121", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 18384, - "src": "6834:13:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 18527, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18427, - "src": "6861:7:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 18528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6869:4:121", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 18386, - "src": "6861:12:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 18516, - "name": "DISpair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6029, - "src": "6729:7:121", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,address,bytes memory)" - } - }, - "id": 18529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6729:154:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18530, - "nodeType": "EmitStatement", - "src": "6724:159:121" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 18536, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6957:4:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", - "typeString": "contract RainterpreterExpressionDeployer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", - "typeString": "contract RainterpreterExpressionDeployer" - } - ], - "id": 18535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6949:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 18534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6949:7:121", - "typeDescriptions": {} - } - }, - "id": 18537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6949:13:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 18540, - "name": "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5604, - "src": "7025:37:121", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 18538, - "name": "IERC1820_REGISTRY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5601, - "src": "6976:17:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1820RegistryUpgradeable_$47208", - "typeString": "contract IERC1820RegistryUpgradeable" - } - }, - "id": 18539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6994:13:121", - "memberName": "interfaceHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 47179, - "src": "6976:31:121", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure external returns (bytes32)" - } - }, - "id": 18541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6976:100:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 18544, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7098:4:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", - "typeString": "contract RainterpreterExpressionDeployer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployer_$18796", - "typeString": "contract RainterpreterExpressionDeployer" - } - ], - "id": 18543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7090:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 18542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7090:7:121", - "typeDescriptions": {} - } - }, - "id": 18545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7090:13:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 18531, - "name": "IERC1820_REGISTRY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5601, - "src": "6894:17:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1820RegistryUpgradeable_$47208", - "typeString": "contract IERC1820RegistryUpgradeable" - } - }, - "id": 18533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6912:23:121", - "memberName": "setInterfaceImplementer", - "nodeType": "MemberAccess", - "referencedDeclaration": 47161, - "src": "6894:41:121", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 18546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6894:219:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18547, - "nodeType": "ExpressionStatement", - "src": "6894:219:121" - } - ] - }, - "documentation": { - "id": 18424, - "nodeType": "StructuredDocumentation", - "src": "4573:184:121", - "text": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT HONEST\n MISTAKES. IT CANNOT PREVENT EITHER A MALICIOUS INTERPRETER OR DEPLOYER\n FROM BEING EXECUTED." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 18428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18427, - "mutability": "mutable", - "name": "config_", - "nameLocation": "4840:7:121", - "nodeType": "VariableDeclaration", - "scope": 18549, - "src": "4783:64:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" - }, - "typeName": { - "id": 18426, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18425, - "name": "RainterpreterExpressionDeployerConstructionConfig", - "nameLocations": [ - "4783:49:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 18387, - "src": "4783:49:121" - }, - "referencedDeclaration": 18387, - "src": "4783:49:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$18387_storage_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "4773:80:121" - }, - "returnParameters": { - "id": 18429, - "nodeType": "ParameterList", - "parameters": [], - "src": "4854:0:121" - }, - "scope": 18796, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 18572, - "nodeType": "FunctionDefinition", - "src": "7153:254:121", - "nodes": [], - "body": { - "id": 18571, - "nodeType": "Block", - "src": "7259:148:121", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 18569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 18562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18557, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18551, - "src": "7288:12:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 18559, - "name": "IExpressionDeployerV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6051, - "src": "7309:21:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV1_$6051_$", - "typeString": "type(contract IExpressionDeployerV1)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV1_$6051_$", - "typeString": "type(contract IExpressionDeployerV1)" - } - ], - "id": 18558, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "7304:4:121", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 18560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7304:27:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IExpressionDeployerV1_$6051", - "typeString": "type(contract IExpressionDeployerV1)" - } - }, - "id": 18561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7332:11:121", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "7304:39:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "7288:55:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 18568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18563, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18551, - "src": "7359:12:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 18565, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47118, - "src": "7380:7:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", - "typeString": "type(contract IERC165Upgradeable)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165Upgradeable_$47118_$", - "typeString": "type(contract IERC165Upgradeable)" - } - ], - "id": 18564, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "7375:4:121", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 18566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7375:13:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165Upgradeable_$47118", - "typeString": "type(contract IERC165Upgradeable)" - } - }, - "id": 18567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7389:11:121", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "7375:25:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "7359:41:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7288:112:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 18556, - "id": 18570, - "nodeType": "Return", - "src": "7269:131:121" - } - ] - }, - "baseFunctions": [ - 47117 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "7162:17:121", - "overrides": { - "id": 18553, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7235:8:121" - }, - "parameters": { - "id": 18552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18551, - "mutability": "mutable", - "name": "interfaceId_", - "nameLocation": "7196:12:121", - "nodeType": "VariableDeclaration", - "scope": 18572, - "src": "7189:19:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 18550, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "7189:6:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "7179:35:121" - }, - "returnParameters": { - "id": 18556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18555, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18572, - "src": "7253:4:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 18554, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7253:4:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7252:6:121" - }, - "scope": 18796, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 18636, - "nodeType": "FunctionDefinition", - "src": "8173:666:121", - "nodes": [], - "body": { - "id": 18635, - "nodeType": "Block", - "src": "8445:394:121", - "nodes": [], - "statements": [ - { - "assignments": [ - 18609 - ], - "declarations": [ - { - "constant": false, - "id": 18609, - "mutability": "mutable", - "name": "localFnPtrs_", - "nameLocation": "8588:12:121", - "nodeType": "VariableDeclaration", - "scope": 18635, - "src": "8455:145:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" - }, - "typeName": { - "baseType": { - "id": 18607, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 18602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18595, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18607, - "src": "8464:26:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState" - }, - "typeName": { - "id": 18594, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18593, - "name": "IntegrityCheckState", - "nameLocations": [ - "8464:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6153, - "src": "8464:19:121" - }, - "referencedDeclaration": 6153, - "src": "8464:19:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", - "typeString": "struct IntegrityCheckState" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18598, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18607, - "src": "8492:7:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - }, - "typeName": { - "id": 18597, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18596, - "name": "Operand", - "nameLocations": [ - "8492:7:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15850, - "src": "8492:7:121" - }, - "referencedDeclaration": 15850, - "src": "8492:7:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18601, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18607, - "src": "8501:12:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18600, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18599, - "name": "StackPointer", - "nameLocations": [ - "8501:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "8501:12:121" - }, - "referencedDeclaration": 16760, - "src": "8501:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "8463:51:121" - }, - "returnParameterTypes": { - "id": 18606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18605, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18607, - "src": "8553:12:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18604, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18603, - "name": "StackPointer", - "nameLocations": [ - "8553:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "8553:12:121" - }, - "referencedDeclaration": 16760, - "src": "8553:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "8552:14:121" - }, - "src": "8455:112:121", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)" - }, - "visibility": "internal" - }, - "id": 18608, - "nodeType": "ArrayTypeName", - "src": "8455:113:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" - } - }, - "visibility": "internal" - } - ], - "id": 18629, - "initialValue": { - "arguments": [ - { - "hexValue": "30", - "id": 18627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8759:1:121", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 18626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "8603:155:121", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" - }, - "typeName": { - "baseType": { - "id": 18624, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 18619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18612, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18624, - "src": "8633:26:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState" - }, - "typeName": { - "id": 18611, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18610, - "name": "IntegrityCheckState", - "nameLocations": [ - "8633:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6153, - "src": "8633:19:121" - }, - "referencedDeclaration": 6153, - "src": "8633:19:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", - "typeString": "struct IntegrityCheckState" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18615, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18624, - "src": "8677:7:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - }, - "typeName": { - "id": 18614, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18613, - "name": "Operand", - "nameLocations": [ - "8677:7:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15850, - "src": "8677:7:121" - }, - "referencedDeclaration": 15850, - "src": "8677:7:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18618, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18624, - "src": "8702:12:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18617, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18616, - "name": "StackPointer", - "nameLocations": [ - "8702:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "8702:12:121" - }, - "referencedDeclaration": 16760, - "src": "8702:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "8615:113:121" - }, - "returnParameterTypes": { - "id": 18623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18622, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18624, - "src": "8743:12:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18621, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18620, - "name": "StackPointer", - "nameLocations": [ - "8743:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "8743:12:121" - }, - "referencedDeclaration": 16760, - "src": "8743:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "8742:14:121" - }, - "src": "8607:150:121", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)" - }, - "visibility": "internal" - }, - "id": 18625, - "nodeType": "ArrayTypeName", - "src": "8607:151:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" - } - } - }, - "id": 18628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8603:158:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8455:306:121" - }, - { - "expression": { - "arguments": [ - { - "id": 18632, - "name": "localFnPtrs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18609, - "src": "8819:12:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - ], - "expression": { - "id": 18630, - "name": "AllStandardOps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7954, - "src": "8778:14:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AllStandardOps_$7954_$", - "typeString": "type(library AllStandardOps)" - } - }, - "id": 18631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8793:25:121", - "memberName": "integrityFunctionPointers", - "nodeType": "MemberAccess", - "referencedDeclaration": 7704, - "src": "8778:40:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", - "typeString": "function (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" - } - }, - "id": 18633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8778:54:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - }, - "functionReturnParameters": 18592, - "id": 18634, - "nodeType": "Return", - "src": "8771:61:121" - } - ] - }, - "documentation": { - "id": 18573, - "nodeType": "StructuredDocumentation", - "src": "7413:755:121", - "text": "Defines all the function pointers to integrity checks. This is the\n expression deployer's equivalent of the opcode function pointers and\n follows a near identical dispatch process. These are never compiled into\n source and are instead indexed into directly by the integrity check. The\n indexing into integrity pointers (which has an out of bounds check) is a\n proxy for enforcing that all opcode pointers exist at runtime, so the\n length of the integrity pointers MUST match the length of opcode function\n pointers. This function is `virtual` so that it can be overridden\n pairwise with overrides to `functionPointers` on `Rainterpreter`.\n @return The list of integrity function pointers." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "integrityFunctionPointers", - "nameLocation": "8182:25:121", - "parameters": { - "id": 18574, - "nodeType": "ParameterList", - "parameters": [], - "src": "8207:2:121" - }, - "returnParameters": { - "id": 18592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18591, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18636, - "src": "8286:144:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" - }, - "typeName": { - "baseType": { - "id": 18589, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 18584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18577, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18589, - "src": "8295:26:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState" - }, - "typeName": { - "id": 18576, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18575, - "name": "IntegrityCheckState", - "nameLocations": [ - "8295:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6153, - "src": "8295:19:121" - }, - "referencedDeclaration": 6153, - "src": "8295:19:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", - "typeString": "struct IntegrityCheckState" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18580, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18589, - "src": "8323:7:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - }, - "typeName": { - "id": 18579, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18578, - "name": "Operand", - "nameLocations": [ - "8323:7:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15850, - "src": "8323:7:121" - }, - "referencedDeclaration": 15850, - "src": "8323:7:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Operand_$15850", - "typeString": "Operand" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18583, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18589, - "src": "8332:12:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18582, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18581, - "name": "StackPointer", - "nameLocations": [ - "8332:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "8332:12:121" - }, - "referencedDeclaration": 16760, - "src": "8332:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "8294:51:121" - }, - "returnParameterTypes": { - "id": 18588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18587, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18589, - "src": "8392:12:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18586, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18585, - "name": "StackPointer", - "nameLocations": [ - "8392:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "8392:12:121" - }, - "referencedDeclaration": 16760, - "src": "8392:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "src": "8391:14:121" - }, - "src": "8286:120:121", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)" - }, - "visibility": "internal" - }, - "id": 18590, - "nodeType": "ArrayTypeName", - "src": "8286:121:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_storage_ptr", - "typeString": "function (struct IntegrityCheckState,Operand,StackPointer) view returns (StackPointer)[]" - } - }, - "visibility": "internal" - } - ], - "src": "8272:168:121" - }, - "scope": 18796, - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "id": 18795, - "nodeType": "FunctionDefinition", - "src": "8887:3294:121", - "nodes": [], - "body": { - "id": 18794, - "nodeType": "Block", - "src": "9091:3090:121", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 18657, - "name": "minOutputs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18646, - "src": "9208:11:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9220:6:121", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9208:18:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 18659, - "name": "sources_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "9229:8:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 18660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9238:6:121", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9229:15:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9208:36:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18670, - "nodeType": "IfStatement", - "src": "9204:128:121", - "trueBody": { - "id": 18669, - "nodeType": "Block", - "src": "9246:86:121", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 18663, - "name": "minOutputs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18646, - "src": "9285:11:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9297:6:121", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9285:18:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 18665, - "name": "sources_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "9305:8:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 18666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9314:6:121", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9305:15:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 18662, - "name": "MissingEntrypoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18345, - "src": "9267:17:121", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 18667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9267:54:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18668, - "nodeType": "RevertStatement", - "src": "9260:61:121" - } - ] - } - }, - { - "assignments": [ - 18673 - ], - "declarations": [ - { - "constant": false, - "id": 18673, - "mutability": "mutable", - "name": "integrityCheckState_", - "nameLocation": "9428:20:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "9401:47:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState" - }, - "typeName": { - "id": 18672, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18671, - "name": "IntegrityCheckState", - "nameLocations": [ - "9401:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6153, - "src": "9401:19:121" - }, - "referencedDeclaration": 6153, - "src": "9401:19:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_storage_ptr", - "typeString": "struct IntegrityCheckState" - } - }, - "visibility": "internal" - } - ], - "id": 18681, - "initialValue": { - "arguments": [ - { - "id": 18676, - "name": "sources_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "9491:8:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 18677, - "name": "constants_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18643, - "src": "9501:10:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18678, - "name": "integrityFunctionPointers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18636, - "src": "9513:25:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$", - "typeString": "function () view returns (function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory)" - } - }, - "id": 18679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9513:27:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr", - "typeString": "function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory" - } - ], - "expression": { - "id": 18674, - "name": "LibIntegrityCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7024, - "src": "9451:17:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheck_$7024_$", - "typeString": "type(library LibIntegrityCheck)" - } - }, - "id": 18675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9482:8:121", - "memberName": "newState", - "nodeType": "MemberAccess", - "referencedDeclaration": 6207, - "src": "9451:39:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_Operand_$15850_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_userDefinedValueType$_StackPointer_$16760_$_$dyn_memory_ptr_$returns$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$", - "typeString": "function (bytes memory[] memory,uint256[] memory,function (struct IntegrityCheckState memory,Operand,StackPointer) view returns (StackPointer)[] memory) pure returns (struct IntegrityCheckState memory)" - } - }, - "id": 18680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9451:90:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9401:140:121" - }, - { - "assignments": [ - 18684 - ], - "declarations": [ - { - "constant": false, - "id": 18684, - "mutability": "mutable", - "name": "initialStackBottom_", - "nameLocation": "9919:19:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "9906:32:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18683, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18682, - "name": "StackPointer", - "nameLocations": [ - "9906:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "9906:12:121" - }, - "referencedDeclaration": 16760, - "src": "9906:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "id": 18687, - "initialValue": { - "expression": { - "id": 18685, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "9941:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "id": 18686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9962:11:121", - "memberName": "stackBottom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6129, - "src": "9941:32:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9906:67:121" - }, - { - "assignments": [ - 18690 - ], - "declarations": [ - { - "constant": false, - "id": 18690, - "mutability": "mutable", - "name": "initialStackHighwater_", - "nameLocation": "9996:22:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "9983:35:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - "typeName": { - "id": 18689, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18688, - "name": "StackPointer", - "nameLocations": [ - "9983:12:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 16760, - "src": "9983:12:121" - }, - "referencedDeclaration": 16760, - "src": "9983:12:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "visibility": "internal" - } - ], - "id": 18693, - "initialValue": { - "expression": { - "id": 18691, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "10021:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "id": 18692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10055:14:121", - "memberName": "stackHighwater", - "nodeType": "MemberAccess", - "referencedDeclaration": 6132, - "src": "10021:48:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9983:86:121" - }, - { - "body": { - "id": 18731, - "nodeType": "Block", - "src": "10131:693:121", - "statements": [ - { - "expression": { - "id": 18709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 18705, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "10477:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "id": 18707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10498:11:121", - "memberName": "stackBottom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6129, - "src": "10477:32:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18708, - "name": "initialStackBottom_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18684, - "src": "10512:19:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "src": "10477:54:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "id": 18710, - "nodeType": "ExpressionStatement", - "src": "10477:54:121" - }, - { - "expression": { - "id": 18715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 18711, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "10545:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "id": 18713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10566:14:121", - "memberName": "stackHighwater", - "nodeType": "MemberAccess", - "referencedDeclaration": 6132, - "src": "10545:35:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18714, - "name": "initialStackHighwater_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18690, - "src": "10583:22:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "src": "10545:60:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "id": 18716, - "nodeType": "ExpressionStatement", - "src": "10545:60:121" - }, - { - "expression": { - "arguments": [ - { - "id": 18720, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "10670:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - { - "arguments": [ - { - "id": 18723, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18695, - "src": "10725:2:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 18721, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15844, - "src": "10708:11:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$15844_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 18722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10720:4:121", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "10708:16:121", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_SourceIndex_$15844_$", - "typeString": "function (uint256) pure returns (SourceIndex)" - } - }, - "id": 18724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10708:20:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", - "typeString": "SourceIndex" - } - }, - { - "id": 18725, - "name": "INITIAL_STACK_BOTTOM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6104, - "src": "10746:20:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - { - "baseExpression": { - "id": 18726, - "name": "minOutputs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18646, - "src": "10784:11:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18728, - "indexExpression": { - "id": 18727, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18695, - "src": "10796:2:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10784:15:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$15844", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 18717, - "name": "LibIntegrityCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7024, - "src": "10619:17:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheck_$7024_$", - "typeString": "type(library LibIntegrityCheck)" - } - }, - "id": 18719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10637:15:121", - "memberName": "ensureIntegrity", - "nodeType": "MemberAccess", - "referencedDeclaration": 6326, - "src": "10619:33:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_IntegrityCheckState_$6153_memory_ptr_$_t_userDefinedValueType$_SourceIndex_$15844_$_t_userDefinedValueType$_StackPointer_$16760_$_t_uint256_$returns$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (struct IntegrityCheckState memory,SourceIndex,StackPointer,uint256) view returns (StackPointer)" - } - }, - "id": 18729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10619:194:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "id": 18730, - "nodeType": "ExpressionStatement", - "src": "10619:194:121" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 18701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 18698, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18695, - "src": "10100:2:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 18699, - "name": "minOutputs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18646, - "src": "10105:11:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 18700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10117:6:121", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10105:18:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10100:23:121", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 18732, - "initializationExpression": { - "assignments": [ - 18695 - ], - "declarations": [ - { - "constant": false, - "id": 18695, - "mutability": "mutable", - "name": "i_", - "nameLocation": "10092:2:121", - "nodeType": "VariableDeclaration", - "scope": 18732, - "src": "10084:10:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10084:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 18697, - "initialValue": { - "hexValue": "30", - "id": 18696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10097:1:121", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10084:14:121" - }, - "loopExpression": { - "expression": { - "id": 18703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10125:4:121", - "subExpression": { - "id": 18702, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18695, - "src": "10125:2:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18704, - "nodeType": "ExpressionStatement", - "src": "10125:4:121" - }, - "nodeType": "ForStatement", - "src": "10079:745:121" - }, - { - "assignments": [ - 18734 - ], - "declarations": [ - { - "constant": false, - "id": 18734, - "mutability": "mutable", - "name": "stackLength_", - "nameLocation": "10841:12:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "10833:20:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10833:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 18741, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 18738, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "10910:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "id": 18739, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10931:11:121", - "memberName": "stackMaxTop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6135, - "src": "10910:32:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - ], - "expression": { - "expression": { - "id": 18735, - "name": "integrityCheckState_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18673, - "src": "10856:20:121", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IntegrityCheckState_$6153_memory_ptr", - "typeString": "struct IntegrityCheckState memory" - } - }, - "id": 18736, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10877:11:121", - "memberName": "stackBottom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6129, - "src": "10856:32:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StackPointer_$16760", - "typeString": "StackPointer" - } - }, - "id": 18737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10889:7:121", - "memberName": "toIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 18068, - "src": "10856:40:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StackPointer_$16760_$_t_userDefinedValueType$_StackPointer_$16760_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StackPointer_$16760_$", - "typeString": "function (StackPointer,StackPointer) pure returns (uint256)" - } - }, - "id": 18740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10856:96:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10833:119:121" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 18743, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11141:3:121", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11145:6:121", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "11141:10:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 18745, - "name": "sources_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "11153:8:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 18746, - "name": "constants_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18643, - "src": "11163:10:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 18747, - "name": "minOutputs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18646, - "src": "11175:11:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 18742, - "name": "NewExpression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18410, - "src": "11127:13:121", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,bytes memory[] memory,uint256[] memory,uint256[] memory)" - } - }, - "id": 18748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11127:60:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18749, - "nodeType": "EmitStatement", - "src": "11122:65:121" - }, - { - "assignments": [ - 18752, - 18755 - ], - "declarations": [ - { - "constant": false, - "id": 18752, - "mutability": "mutable", - "name": "container_", - "nameLocation": "11240:10:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "11212:38:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", - "typeString": "DataContractMemoryContainer" - }, - "typeName": { - "id": 18751, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18750, - "name": "DataContractMemoryContainer", - "nameLocations": [ - "11212:27:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 39216, - "src": "11212:27:121" - }, - "referencedDeclaration": 39216, - "src": "11212:27:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", - "typeString": "DataContractMemoryContainer" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18755, - "mutability": "mutable", - "name": "pointer_", - "nameLocation": "11272:8:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "11264:16:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", - "typeString": "Pointer" - }, - "typeName": { - "id": 18754, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18753, - "name": "Pointer", - "nameLocations": [ - "11264:7:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 39080, - "src": "11264:7:121" - }, - "referencedDeclaration": 39080, - "src": "11264:7:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", - "typeString": "Pointer" - } - }, - "visibility": "internal" - } - ], - "id": 18765, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 18760, - "name": "sources_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "11394:8:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 18761, - "name": "constants_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18643, - "src": "11424:10:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 18762, - "name": "stackLength_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18734, - "src": "11456:12:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 18758, - "name": "LibInterpreterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16746, - "src": "11339:19:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibInterpreterState_$16746_$", - "typeString": "type(library LibInterpreterState)" - } - }, - "id": 18759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11359:13:121", - "memberName": "serializeSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 16376, - "src": "11339:33:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory[] memory,uint256[] memory,uint256) pure returns (uint256)" - } - }, - "id": 18763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11339:147:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 18756, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39323, - "src": "11293:15:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$39323_$", - "typeString": "type(library LibDataContract)" - } - }, - "id": 18757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11309:12:121", - "memberName": "newContainer", - "nodeType": "MemberAccess", - "referencedDeclaration": 39240, - "src": "11293:28:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_DataContractMemoryContainer_$39216_$_t_userDefinedValueType$_Pointer_$39080_$", - "typeString": "function (uint256) pure returns (DataContractMemoryContainer,Pointer)" - } - }, - "id": 18764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11293:207:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_userDefinedValueType$_DataContractMemoryContainer_$39216_$_t_userDefinedValueType$_Pointer_$39080_$", - "typeString": "tuple(DataContractMemoryContainer,Pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11198:302:121" - }, - { - "expression": { - "arguments": [ - { - "id": 18769, - "name": "pointer_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18755, - "src": "11751:8:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", - "typeString": "Pointer" - } - }, - { - "id": 18770, - "name": "sources_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18640, - "src": "11773:8:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 18771, - "name": "constants_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18643, - "src": "11795:10:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 18772, - "name": "stackLength_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18734, - "src": "11819:12:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 18773, - "name": "OPCODE_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18359, - "src": "11845:24:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$39080", - "typeString": "Pointer" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 18766, - "name": "LibInterpreterState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 16746, - "src": "11708:19:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibInterpreterState_$16746_$", - "typeString": "type(library LibInterpreterState)" - } - }, - "id": 18768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11728:9:121", - "memberName": "serialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 16454, - "src": "11708:29:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Pointer_$39080_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (Pointer,bytes memory[] memory,uint256[] memory,uint256,bytes memory) pure" - } - }, - "id": 18774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11708:171:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18775, - "nodeType": "ExpressionStatement", - "src": "11708:171:121" - }, - { - "assignments": [ - 18777 - ], - "declarations": [ - { - "constant": false, - "id": 18777, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "11951:11:121", - "nodeType": "VariableDeclaration", - "scope": 18794, - "src": "11943:19:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11943:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 18782, - "initialValue": { - "arguments": [ - { - "id": 18780, - "name": "container_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18752, - "src": "11987:10:121", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", - "typeString": "DataContractMemoryContainer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$39216", - "typeString": "DataContractMemoryContainer" - } - ], - "expression": { - "id": 18778, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39323, - "src": "11965:15:121", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$39323_$", - "typeString": "type(library LibDataContract)" - } - }, - "id": 18779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11981:5:121", - "memberName": "write", - "nodeType": "MemberAccess", - "referencedDeclaration": 39270, - "src": "11965:21:121", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_DataContractMemoryContainer_$39216_$returns$_t_address_$", - "typeString": "function (DataContractMemoryContainer) returns (address)" - } - }, - "id": 18781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11965:33:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11943:55:121" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 18784, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12099:3:121", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 18785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12103:6:121", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12099:10:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 18786, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18777, - "src": "12111:11:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 18783, - "name": "ExpressionAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18417, - "src": "12081:17:121", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 18787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12081:42:121", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 18788, - "nodeType": "EmitStatement", - "src": "12076:47:121" - }, - { - "expression": { - "components": [ - { - "id": 18789, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18420, - "src": "12142:11:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - { - "id": 18790, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18423, - "src": "12155:5:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 18791, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18777, - "src": "12162:11:121", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 18792, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12141:33:121", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$15889_$_t_contract$_IInterpreterStoreV1_$19083_$_t_address_$", - "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "functionReturnParameters": 18656, - "id": 18793, - "nodeType": "Return", - "src": "12134:40:121" - } - ] - }, - "baseFunctions": [ - 6050 - ], - "documentation": { - "id": 18637, - "nodeType": "StructuredDocumentation", - "src": "8845:37:121", - "text": "@inheritdoc IExpressionDeployerV1" - }, - "functionSelector": "5511cb67", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deployExpression", - "nameLocation": "8896:16:121", - "parameters": { - "id": 18647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18640, - "mutability": "mutable", - "name": "sources_", - "nameLocation": "8937:8:121", - "nodeType": "VariableDeclaration", - "scope": 18795, - "src": "8922:23:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 18638, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8922:5:121", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 18639, - "nodeType": "ArrayTypeName", - "src": "8922:7:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18643, - "mutability": "mutable", - "name": "constants_", - "nameLocation": "8972:10:121", - "nodeType": "VariableDeclaration", - "scope": 18795, - "src": "8955:27:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8955:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18642, - "nodeType": "ArrayTypeName", - "src": "8955:9:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18646, - "mutability": "mutable", - "name": "minOutputs_", - "nameLocation": "9009:11:121", - "nodeType": "VariableDeclaration", - "scope": 18795, - "src": "8992:28:121", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 18644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8992:7:121", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 18645, - "nodeType": "ArrayTypeName", - "src": "8992:9:121", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "8912:114:121" - }, - "returnParameters": { - "id": 18656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18650, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18795, - "src": "9045:14:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 18649, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18648, - "name": "IInterpreterV1", - "nameLocations": [ - "9045:14:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15889, - "src": "9045:14:121" - }, - "referencedDeclaration": 15889, - "src": "9045:14:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$15889", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18653, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18795, - "src": "9061:19:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 18652, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 18651, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "9061:19:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 19083, - "src": "9061:19:121" - }, - "referencedDeclaration": 19083, - "src": "9061:19:121", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$19083", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 18655, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 18795, - "src": "9082:7:121", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 18654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9082:7:121", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9044:46:121" - }, - "scope": 18796, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 18389, - "name": "IExpressionDeployerV1", - "nameLocations": [ - "3516:21:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6051, - "src": "3516:21:121" - }, - "id": 18390, - "nodeType": "InheritanceSpecifier", - "src": "3516:21:121" - }, - { - "baseName": { - "id": 18391, - "name": "IERC165", - "nameLocations": [ - "3539:7:121" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 47118, - "src": "3539:7:121" - }, - "id": 18392, - "nodeType": "InheritanceSpecifier", - "src": "3539:7:121" - } - ], - "canonicalName": "RainterpreterExpressionDeployer", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 18388, - "nodeType": "StructuredDocumentation", - "src": "3286:186:121", - "text": "@title RainterpreterExpressionDeployer\n @notice Minimal binding of the `IExpressionDeployerV1` interface to the\n `LibIntegrityCheck.ensureIntegrity` loop and `AllStandardOps`." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 18796, - 47118, - 6051 - ], - "name": "RainterpreterExpressionDeployer", - "nameLocation": "3481:31:121", - "scope": 18797, - "usedErrors": [ - 404, - 411, - 6107, - 6114, - 6121, - 7178, - 8111, - 9290, - 9696, - 9893, - 9900, - 15619, - 18333, - 18338, - 18345, - 18350, - 18355, - 39203, - 49623, - 49632, - 54845, - 54856, - 54862, - 54871, - 54907, - 54913 - ] - } - ], - "license": "CAL" - }, - "id": 121 -} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json b/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json deleted file mode 100644 index ac86c74db1..0000000000 --- a/subgraph/tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json +++ /dev/null @@ -1,534 +0,0 @@ -[ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", - "name": "config_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "name": "BadDynamicLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - } - ], - "name": "DoWhileMaxInputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputs", - "type": "uint256" - } - ], - "name": "InsufficientLoopOutputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minStackOutputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualStackOutputs", - "type": "uint256" - } - ], - "name": "MinFinalStack", - "type": "error" - }, - { - "inputs": [], - "name": "MinStackBottom", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedEntrypoints", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualEntrypoints", - "type": "uint256" - } - ], - "name": "MissingEntrypoint", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "price", - "type": "int256" - } - ], - "name": "NotPosIntPrice", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "constantsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantsRead", - "type": "uint256" - } - ], - "name": "OutOfBoundsConstantsRead", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackRead", - "type": "uint256" - } - ], - "name": "OutOfBoundsStackRead", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv18_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Ceil_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Exp2_InputTooBig", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Exp_InputTooBig", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - }, - { - "internalType": "UD60x18", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Gm_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Log_InputTooSmall", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "UD60x18", - "name": "x", - "type": "uint256" - } - ], - "name": "PRBMath_UD60x18_Sqrt_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackHighwaterIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - } - ], - "name": "StackPopUnderflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "staleAfter", - "type": "uint256" - } - ], - "name": "StalePrice", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "startBit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "name": "TruncatedEncoding", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "name": "UnexpectedInterpreterBytecodeHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualOpMeta", - "type": "bytes32" - } - ], - "name": "UnexpectedOpMetaHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "actualPointers", - "type": "bytes" - } - ], - "name": "UnexpectedPointers", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "name": "UnexpectedStoreBytecodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "WriteError", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroInputs", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "opMeta", - "type": "bytes" - } - ], - "name": "DISpair", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "name": "ExpressionAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "sources", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "name": "NewExpression", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "sources_", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "constants_", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs_", - "type": "uint256[]" - } - ], - "name": "deployExpression", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "interpreter", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } -] diff --git a/subgraph/tests/utils/deploy/touch_deployer/data.json b/subgraph/tests/utils/deploy/touch_deployer/data.json deleted file mode 100644 index 333fe496c2..0000000000 --- a/subgraph/tests/utils/deploy/touch_deployer/data.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "data": "0x60c06040523480156200001157600080fd5b5060405162005cee38038062005cee833981016040819052620000349162000453565b6000816000015190506000816001600160a01b031663f933c72f6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200007e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000a8919081019062000504565b90506040518060c00160405280609c815260200162005c52609c913980519060200120818051906020012014620000ff5780604051634c1af20160e11b8152600401620000f6919062000572565b60405180910390fd5b813f7fba4c010b1990025e29241b302df5601101dbe9df778b00f1e865071f3aa32f1581146200014657604051630eec293f60e11b815260048101829052602401620000f6565b6020840151803f7fc99f290f9f20034372f82bccd8912519fce161e748ecca195fb077ec2d03b81c8114620001925760405163cc0415fd60e01b815260048101829052602401620000f6565b604086015180516020909101207fe4c000f3728f30e612b34e401529ce5266061cc1233dc54a6a89524929571d8f8114620001e4576040516343d0fe5760e11b815260048101829052602401620000f6565b6001600160a01b03808716608052831660a052865160208801516040808a015190517f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1936200023793339330936200058e565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256310000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002b29160040162000572565b602060405180830381865afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f69190620005d7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200034357600080fd5b505af115801562000358573d6000803e3d6000fd5b5050505050505050505050620005f1565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200039757600080fd5b919050565b60005b83811015620003b95781810151838201526020016200039f565b50506000910152565b600082601f830112620003d457600080fd5b81516001600160401b0380821115620003f157620003f162000369565b604051601f8301601f19908116603f011681019082821181831017156200041c576200041c62000369565b816040528381528660208588010111156200043657600080fd5b620004498460208301602089016200039c565b9695505050505050565b6000602082840312156200046657600080fd5b81516001600160401b03808211156200047e57600080fd5b90830190606082860312156200049357600080fd5b604051606081018181108382111715620004b157620004b162000369565b604052620004bf836200037f565b8152620004cf602084016200037f565b6020820152604083015182811115620004e757600080fd5b620004f587828601620003c2565b60408301525095945050505050565b6000602082840312156200051757600080fd5b81516001600160401b038111156200052e57600080fd5b6200053c84828501620003c2565b949350505050565b600081518084526200055e8160208601602086016200039c565b601f01601f19169290920160200192915050565b60208152600062000587602083018462000544565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005cc9083018462000544565b979650505050505050565b600060208284031215620005ea57600080fd5b5051919050565b60805160a05161562062000632600039600081816101500152818161039b015261051701526000818160990152818161037901526104db01526156206000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635511cb67116100505780635511cb67146100e05780635563754c1461012a578063975057e71461014b57600080fd5b806301ffc9a71461006c5780633a35cf1714610094575b600080fd5b61007f61007a366004614912565b610172565b60405190151581526020015b60405180910390f35b6100bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6100f36100ee366004614b63565b61020b565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292169181019190915260600161008b565b61013d610138366004614c82565b6103c9565b60405161008b929190614d8e565b6100bb7f000000000000000000000000000000000000000000000000000000000000000081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5511cb6700000000000000000000000000000000000000000000000000000000148061020557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060008061021c8787876105d4565b90507ff66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786338888886040516102539493929190614e56565b60405180910390a16000806102f261026b8a8a6106e3565b60408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b9150915061031b818a8a866040518060c00160405280609c8152602001615584609c9139610721565b6000610326836107a9565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000009a7f00000000000000000000000000000000000000000000000000000000000000009a509098509650505050505050565b60608060006103e08a8a6103db610817565b610826565b90506000816040015190506103f782828851610939565b905061040582888388610995565b506060600061042584608001518560400151610abe90919063ffffffff16565b905060005b8d518110156104805761046e8e828151811061044857610448614eab565b60200260200101516040518060c00160405280609c8152602001615584609c9139610ac7565b8061047881614f09565b91505061042a565b508067ffffffffffffffff81111561049a5761049a614954565b6040519080825280602002602001820160405280156104c3578160200160208202803683370190505b5091506104d860208901602084018a51610b28565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663adea61287f00000000000000000000000000000000000000000000000000000000000000008c8f8f8e878f6040518863ffffffff1660e01b815260040161055e9796959493929190614f41565b600060405180830381865afa15801561057b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105c191908101906150b1565b9450945050505097509795505050505050565b600083518251111561062457815184516040517f7d2d70db000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044015b60405180910390fd5b600061063385856103db610817565b604081015160608201519192509060005b85518161ffff1610156106c55760408401839052606084018290526106b2848261068f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b898561ffff16815181106106a5576106a5614eab565b6020026020010151610995565b50806106bd81615158565b915050610644565b506080830151604084015160209103045b93505050505b9392505050565b60008251825160020181016020029150602084016020820281015b8082101561071857815151840193506020820191506106fe565b50505092915050565b81855260208501945082835160200260200184015b80821015610751578151875260209687019690910190610736565b5050835160208581019181028601015b808210156107a0578151805180895260209889019882016107828387610ac7565b61078d818b84610b50565b818a019950505050602082019150610761565b50505050505050565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610810576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060610821610bb5565b905090565b61085f6040518060c001604052806060815260200160008152602001600081526020016000815260200160008152602001606081525090565b6040805160c081018252858152845160208201529081016108a160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b81526020016108f96108d460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00190565b815260200161092960027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615144565b8152602001929092525092915050565b6000602082028301925060018211156109835761097d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08401606086015190610e5d565b60608501525b61098d8484610e73565b509092915050565b600060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04856040015110156109f8576040517f271592cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845160208581029091010151805181015b80821015610a6357600080600484019350835161ffff8116915061ffff8160101c16925050610a5a8982898c60a001518681518110610a4a57610a4a614eab565b602002602001015163ffffffff16565b96505050610a09565b604087015160209086030480851115610ab2576040517ff993c6e7000000000000000000000000000000000000000000000000000000008152600481018690526024810182905260440161061b565b50939695505050505050565b60209190030490565b6002810160028301835184015b80821015610b2157815161ffff811660020284015161ffff16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000083161784525050600482019150610ad4565b5050505050565b8060200283015b80841015610b4a578351835260209384019390920191610b2f565b50505050565b6020810680820384015b80851015610b75578451845260209485019490930192610b5a565b508015610b4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c8084511681198651161784525050505050565b60606000604051806109e00160405280610bcd604e90565b67ffffffffffffffff1667ffffffffffffffff168152602001610e8b8152602001610ef88152602001610f5b8152602001610f7b8152602001610f8a8152602001610f8a8152602001610f968152602001610faf815260200161101a81526020016110af8152602001611114815260200161118f815260200161122681526020016112fe815260200161130e815260200161131d815260200161132d815260200161133c815260200161134b815260200161135a8152602001611369815260200161132d8152602001611378815260200161138781526020016113938152602001610f8a8152602001610f8a81526020016113a281526020016113b281526020016113c281526020016113d281526020016113e281526020016113f281526020016114028152602001611412815260200161142281526020016114318152602001611440815260200161144f8152602001611460815260200161147d815260200161144f815260200161148c815260200161149b81526020016114aa81526020016114b981526020016114c881526020016114d781526020016114e681526020016114f581526020016115048152602001611513815260200161152281526020016115318152602001611540815260200161154f815260200161155e815260200161156d815260200161157c815260200161158b815260200161159a81526020016115a981526020016115b981526020016115c981526020016115d981526020016115e881526020016115f781526020016116068152602001611615815260200161162481526020016116338152602001610f968152602001611642815260200161165281526020016116628152602001611672815260200161168181526020016116d581525090508091505090565b6000818311610e6c57816106dc565b5090919050565b8160800151811115610e8757608082018190525b5050565b600060ff600884901c81169084166101008183011115610ee1576040517f2ccabbc2000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161061b565b610eee86856116e461171a565b9695505050505050565b600060ff600884901c81169084166101008183011115610f4e576040517f2ccabbc2000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161061b565b610eee8685611730611774565b6000610f73610f6a8584611785565b85906008610939565b949350505050565b6000610f7384836117b9611774565b6000610f7384836117c5565b6000614908610fa685848361171a565b95945050505050565b6000600f8316600784811c16600d85901c808201610f00600888901b167e7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0600989901c161781176110008988866117d4565b965061100d89828961101a565b9998505050505050505050565b60408301516060840151600091600f85811692600487901c90911691600887901c916110478988876117e8565b60408a01527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0870160608a015261108089848987610995565b50606089018190526040890151611099908a9086610939565b6040999099019190915250959695505050505050565b600060ff8316600f81106110f2576040517f316e6a370000000000000000000000000000000000000000000000000000000081526004810182905260240161061b565b60018101600481901b85176106d661110b88838861101a565b88906001611802565b6020830151600090601f84811691600586901c90911690600a86901c9081106111795760208701516040517f890a8e6a00000000000000000000000000000000000000000000000000000000815260048101919091526024810182905260440161061b565b6106d66111878887866117e8565b889084610939565b6000600c83901c600f80851690600486901c16818110156111e6576040517f508a8d2f000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161061b565b6060870151610fff87169060005b858110156112185760608a0182905261120e8a848a61101a565b97506001016111f4565b509598975050505050505050565b600060018381169084901c816112a7576040860151602090850304808210611284576040517f1cb73c16000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161061b565b6040870151606088015161129c916020850201610e5d565b6060880152506112f4565b856020015181106112f45760208601516040517f890a8e6a00000000000000000000000000000000000000000000000000000000815260048101919091526024810182905260440161061b565b610eee86856117c5565b6000610f73848361180f8661185e565b6000610f73848361186e611908565b6000610f738483611919866119d3565b6000610f7384836119f1611774565b6000610f738483611a8661171a565b6000610f738483611af7611908565b6000610f738483611b56611774565b6000610f738483611bac61171a565b6000610f738483611c39611774565b6000610f738483611785565b6000610f738483611ce861171a565b6000610f738483611d028661185e565b6000610f738483611d0e8661185e565b6000610f738483611d1a8661185e565b6000610f738483610e5d8661185e565b6000610f738483611d268661185e565b6000610f738483611d358661185e565b6000610f738483611d418661185e565b6000610f738483611d4d8661185e565b6000610f738483611d5961171a565b6000610f738483611d6d611774565b6000610f738483611d7d61171a565b6000614908610fa68584838761185e565b6000610f7382611d91611474866001615179565b879291906119d3565b6000610f738483611da1611774565b6000610f738483611da5611774565b6000610f738483611da961171a565b6000610f738483611dad611774565b6000610f738483611db1611774565b6000610f738483611dbd61171a565b6000610f738483611dc8611774565b6000610f738483611dd461171a565b6000610f738483611ddf61171a565b6000610f738483611dea61171a565b6000610f738483611e0261171a565b6000610f738483611e14611774565b6000610f738483611e2061171a565b6000610f738483611e2b61171a565b6000610f738483611e3661171a565b6000610f738483611e4161171a565b6000610f738483611e4c611774565b6000610f738483611e58611774565b6000610f738483611e64611774565b6000610f738483611e7061171a565b6000610f738483611e7b8661185e565b6000610f738483611eb68661185e565b6000610f738483611ee78661185e565b6000610f738483611efd611fbf565b6000610f738483611fd061171a565b6000610f73848361201d61171a565b6000610f73848361206a61171a565b6000610f7384836120ec61171a565b6000610f73848361213961171a565b6000610f738483612186611908565b6000614908610fa68584836121e5565b6000610f7384836121f38661224a565b6000610f73848361225d866122f7565b6000610f73848361230a611774565b600060ff83168082036116c0576040517f904c1f6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa66116ce8685846117e8565b86906117c5565b6000610f738483612369611774565b60ff80831660020a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160089390931c161c1690565b6000610f736117298585611785565b85906117c5565b60ff83811660020a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192831660089490941c1692831b9190921b19919091161790565b6000610f73611729858560026117e8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160006117b38383612381565b50919050565b60006106dc83836123e1565b60200160006117b38383610e73565b6000602082028301925061098d8484610e73565b6000811561098d57602082028303925061098d8484612381565b6000602082028303610f73565b600081604051602001611822919061518c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b6000610fa66116ce8686856117e8565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390526000919085169062fdd58e906044015b602060405180830381865afa1580156118e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7391906151c2565b6000610f73611729858560036117e8565b6040517f4e1273f400000000000000000000000000000000000000000000000000000000815260609073ffffffffffffffffffffffffffffffffffffffff851690634e1273f49061197090869086906004016151db565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f73919081019061523e565b6000610fa66119e98686600160028702016117e8565b869084610939565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a08231906024015b602060405180830381865afa158015611a62573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dc91906151c2565b60008173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020591906151c2565b6040517f4ee2cd7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905260009190851690634ee2cd7e906044016118c7565b6040517f981b24d00000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff84169063981b24d090602401611a45565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d9190615273565b73ffffffffffffffffffffffffffffffffffffffff1692915050565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff841690636352211e90602401602060405180830381865afa158015611ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccb9190615273565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b73ffffffffffffffffffffffffffffffffffffffff163190565b60006106dc8284615179565b60006106dc8284615144565b60006106dc82846153c9565b6000818310610e6c57816106dc565b60006106dc82846153d5565b60006106dc82846153e9565b60006106dc8284615400565b60006106dc82600285901c60038616612569565b6000610f73828460038716612569565b60006106dc82600285901c600386166125ee565b60606000841161098d5781610f73565b1490565b1090565b1590565b1190565b60006106dc8383612650565b600061020582612663565b60006106dc83836126db565b6000610205826126f6565b60006102058261275f565b6000670de0b6b3a76400008206801515028203610205565b6000670de0b6b3a76400008206610205565b60006106dc83836127ce565b60006102058261284e565b600061020582612871565b6000610205826128a2565b60006102058261372e565b60006106dc8383613893565b60006106dc83836138a2565b60006106dc83836139af565b600061020582613a0f565b6000828201838110611e8d5780610f73565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b600082600003611ec857506000610205565b82820282848281611edb57611edb615115565b0403611e8d5780610f73565b6000818311611ef75760006106dc565b50900390565b6040517fd97b2e4800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528381166024830152604482018390526000919086169063d97b2e4890606401602060405180830381865afa158015611f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa091906151c2565b73ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000610f73611729858560046117e8565b60008173ffffffffffffffffffffffffffffffffffffffff1663ec14b06e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad3573d6000803e3d6000fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663f9020e336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120db9190615413565b600381111561020557610205615434565b60008173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b60008173ffffffffffffffffffffffffffffffffffffffff166347e4bbb96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad3573d6000803e3d6000fd5b6040517fdb8554fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390526000919085169063db8554fc906044016118c7565b6000610f73848460026117e8565b6040517f88d6860400000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906388d68604906118c79086908690600401615463565b6000610fa66116ce8686600286016117e8565b6040517fcaa0eb3b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff86169063caa0eb3b906122b690879087908790600401615492565b602060405180830381865afa1580156122d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa691906151c2565b6000610fa66116ce8686600386016117e8565b60008060015b600881116123615760006123248683613a7e565b905060006123328684613a7e565b905060006123408383611ee7565b9050612350856001860383613b2e565b945050600190920191506123109050565b509392505050565b6000610f738385600f16600487901c600f1685613bb8565b81606001518111610e875760608201516040830151602091030460408301516020908303046040517f625e32e40000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161061b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612431573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245591906154e1565b5093505092505060008213612499576040517f3351e26f0000000000000000000000000000000000000000000000000000000081526004810183905260240161061b565b836124a48242615400565b11156124e6576040517f2730eb48000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161061b565b610fa68573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125589190615531565b60ff16600161256685613c5e565b91905b6000826012111561259e57601283900360028316156125945761258c8582613cce565b9150506106dc565b61258c8582613d54565b60128311156125e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156125dd5761258c8582613d8c565b61258c8582613dda565b50826106dc565b6000826012111561261157601283900360018316156125dd5761258c8582613d8c565b60128311156125e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156125945761258c8582613cce565b6000828280821681831860011c01610fa6565b6000817ffffffffffffffffffffffffffffffffffffffffffffffffff7e52fe5afe400008111156126c3576040517f6149f6b90000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b5050670de0b6b3a76400008082068015159103020190565b60006106dc6126f384670de0b6b3a764000085613dfd565b90565b600081680736ea4425c11ac63081111561273f576040517f1af63aca0000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b6714057b7ef767814f8102610f7361275f670de0b6b3a7640000835b0490565b600081680a688906bd8affffff8111156127a8576040517fb3b6ba1f0000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b60006127c0670de0b6b3a7640000604084901b615144565b9050610f736126f382613f08565b600082828115806127dd575080155b156127ed57600092505050610205565b8181028183828161280057612800615115565b0414612842576040517fae7f3b37000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260440161061b565b610eee6126f38261467c565b6000610205826ec097ce7bc90715b34b9f10000000008161275b5761275b615115565b60006102056714057b7ef767814f670de0b6b3a76400006128946126f38661372e565b028161275b5761275b615115565b600081670de0b6b3a76400008110156128ea576040517f36d32ef00000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b826001811461303b57600a8114613063576064811461308b576103e881146130b35761271081146130db57620186a0811461310357620f4240811461312b57629896808114613153576305f5e100811461317b57633b9aca0081146131a3576402540be40081146131cb5764174876e80081146131f35764e8d4a51000811461321b576509184e72a000811461324357655af3107a4000811461326b5766038d7ea4c68000811461329357662386f26fc1000081146132bb5767016345785d8a000081146132e357670de0b6b3a7640000811461330b57678ac7230489e8000081146133145768056bc75e2d63100000811461332457683635c9adc5dea0000081146133345769021e19e0c9bab240000081146133445769152d02c7e14af680000081146133545769d3c21bcecceda10000008114613364576a084595161401484a0000008114613374576a52b7d2dcc80cd2e40000008114613384576b033b2e3c9fd0803ce80000008114613394576b204fce5e3e2502611000000081146133a4576c01431e0fae6d7217caa000000081146133b4576c0c9f2c9cd04674edea4000000081146133c4576c7e37be2022c0914b268000000081146133d4576d04ee2d6d415b85acef810000000081146133e4576d314dc6448d9338c15b0a0000000081146133f4576e01ed09bead87c0378d8e64000000008114613404576e13426172c74d822b878fe8000000008114613414576ec097ce7bc90715b34b9f10000000008114613424576f0785ee10d5da46d900f436a0000000008114613434576f4b3b4ca85a86c47a098a2240000000008114613445577002f050fe938943acc45f65568000000000811461345657701d6329f1c35ca4bfabb9f5610000000000811461346757710125dfa371a19e6f7cb54395ca0000000000811461347857710b7abc627050305adf14a3d9e400000000008114613489577172cb5bd86321e38cb6ce6682e80000000000811461349a5772047bf19673df52e37f2410011d10000000000081146134ab57722cd76fe086b93ce2f768a00b22a0000000000081146134bc577301c06a5ec5433c60ddaa16406f5a40000000000081146134cd5773118427b3b4a05bc8a8a4de84598680000000000081146134de5773af298d050e4395d69670b12b7f4100000000000081146134ef577406d79f82328ea3da61e066ebb2f88a00000000000081146135005774446c3b15f9926687d2c40534fdb5640000000000008114613511577502ac3a4edbbfb8014e3ba83411e915e8000000000000811461352257751aba4714957d300d0e549208b31adb1000000000000081146135335776010b46c6cdd6e3e0828f4db456ff0c8ea0000000000000811461354457760a70c3c40a64e6c51999090b65f67d9240000000000000811461355557766867a5a867f103b2fffa5a71fba0e7b6800000000000008114613566577704140c78940f6a24fdffc78873d4490d21000000000000008114613577577728c87cb5c89a2571ebfdcb54864ada834a00000000000000811461358857780197d4df19d605767337e9f14d3eec8920e400000000000000811461359957780fee50b7025c36a0802f236d04753d5b48e80000000000000081146135aa57789f4f2726179a224501d762422c946590d9100000000000000081146135bb5779063917877cec0556b21269d695bdcbf7a87aa00000000000000081146135cc57793e3aeb4ae1383562f4b82261d969f7ac94ca400000000000000081146135dd577a026e4d30eccc3215dd8f3157d27e23acbdcfe6800000000000000081146135ee577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081146135ff577af316271c7fc3908a8bef464e3945ef7a25360a00000000000000008114613610577b097edd871cfda3a5697758bf0e3cbb5ac5741c6400000000000000008114613621577b5ef4a74721e864761ea977768e5f518bb6891be800000000000000008114613632577c03b58e88c75313ec9d329eaaa18fb92f75215b171000000000000000008114613643577c25179157c93ec73e23fa32aa4f9d3bda934d8ee6a000000000000000008114613654577d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000008114613665577d0e7d34c64a9c85d4460dbbca87196b61618a4bd2168000000000000000008114613676577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e10000000000000000008114613687577e05a8e89d75252446eb5d5d5b1cc5edf20a1a059e10ca0000000000000000008114613698577e3899162693736ac531a5a58f1fbb4b746504382ca7e400000000000000000081146136a9577f0235fadd81c2822bb3f07877973d50f28bf22a31be8ee800000000000000000081146136ba577f161bcca7119915b50764b4abe86529797775a5f171951000000000000000000081146136cb577fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a000000000000000000081146136dc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff0633275e3af8000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff1413de11e25c000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c0000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff2fd54b793124000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff3db6022cd888000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff4b96b8e07fec000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff59776f942750000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff67582647ceb4000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff7538dcfb7618000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff831993af1d7c000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffff9edb01166c44000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffacbbb7ca13a8000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffba9c6e7dbb0c000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffd65ddbe509d4000092506136e9565b7fffffffffffffffffffffffffffffffffffffffffffffffffe43e9298b138000092506136e9565b7ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000092506136e9565b600092506136e9565b670de0b6b3a764000092506136e9565b671bc16d674ec8000092506136e9565b6729a2241af62c000092506136e9565b673782dace9d90000092506136e9565b674563918244f4000092506136e9565b6753444835ec58000092506136e9565b676124fee993bc000092506136e9565b676f05b59d3b20000092506136e9565b677ce66c50e284000092506136e9565b678ac7230489e8000092506136e9565b6798a7d9b8314c000092506136e9565b67a688906bd8b0000092506136e9565b67b469471f8014000092506136e9565b67c249fdd32778000092506136e9565b67d02ab486cedc000092506136e9565b67de0b6b3a7640000092506136e9565b67ebec21ee1da4000092506136e9565b67f9ccd8a1c508000092506136e9565b680107ad8f556c6c000092506136e9565b6801158e460913d0000092506136e9565b6801236efcbcbb34000092506136e9565b6801314fb3706298000092506136e9565b68013f306a2409fc000092506136e9565b68014d1120d7b160000092506136e9565b68015af1d78b58c4000092506136e9565b680168d28e3f0028000092506136e9565b680176b344f2a78c000092506136e9565b68018493fba64ef0000092506136e9565b68019274b259f654000092506136e9565b6801a055690d9db8000092506136e9565b6801ae361fc1451c000092506136e9565b6801bc16d674ec80000092506136e9565b6801c9f78d2893e4000092506136e9565b6801d7d843dc3b48000092506136e9565b6801e5b8fa8fe2ac000092506136e9565b6801f399b1438a10000092506136e9565b6802017a67f73174000092506136e9565b68020f5b1eaad8d8000092506136e9565b68021d3bd55e803c000092506136e9565b68022b1c8c1227a0000092506136e9565b680238fd42c5cf04000092506136e9565b680246ddf9797668000092506136e9565b680254beb02d1dcc000092506136e9565b6802629f66e0c530000092506136e9565b680270801d946c94000092506136e9565b68027e60d44813f8000092506136e9565b68028c418afbbb5c000092506136e9565b68029a2241af62c0000092506136e9565b6802a802f8630a24000092506136e9565b6802b5e3af16b188000092506136e9565b6802c3c465ca58ec000092506136e9565b6802d1a51c7e0050000092506136e9565b6802df85d331a7b4000092506136e9565b6802ed6689e54f18000092506136e9565b6802fb474098f67c000092506136e9565b68030927f74c9de0000092506136e9565b68031708ae004544000092506136e9565b680324e964b3eca8000092506136e9565b680332ca1b67940c000092505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117b3576106dc672e19dc008126bf2b670de0b6b3a76400006128946126f3875b600081670de0b6b3a7640000811015613776576040517f36d32ef00000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b6000613802670de0b6b3a7640000830460016fffffffffffffffffffffffffffffffff821160071b91821c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810282821c7ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000081016138425750949350505050565b671bc16d674ec800006706f05b59d3b200005b801561388557670de0b6b3a764000083800204925081831061387d579283019260019290921c915b60011c613855565b50825b979650505050505050565b60006106dc6126f38484614801565b600082828183036138cd5780156138ba5760006138c4565b670de0b6b3a76400005b92505050610205565b670de0b6b3a764000082036138ee57670de0b6b3a764000092505050610205565b8060000361390857670de0b6b3a764000092505050610205565b670de0b6b3a76400008103613921578492505050610205565b670de0b6b3a764000082111561394d5761394661275f6139408761372e565b86613893565b92506139a7565b600061396b6126f3846ec097ce7bc90715b34b9f1000000000615144565b9050600061398461275f61397e8461372e565b88613893565b90506139a26126f3826ec097ce7bc90715b34b9f1000000000615144565b945050505b505092915050565b60008281600184166139c957670de0b6b3a76400006139cb565b815b9050600184901c93505b8315613a09576139e58283614801565b915060018416156139fd576139fa8183614801565b90505b600184901c93506139d5565b80610fa6565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f21811115613a68576040517fedc236ad0000000000000000000000000000000000000000000000000000000081526004810184905260240161061b565b6106dc6126f3670de0b6b3a7640000830261467c565b6000816008811115613aec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4d41585f54494552000000000000000000000000000000000000000000000000604482015260640161061b565b82600003613afd5760009150610810565b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016020021c63ffffffff1690565b6000826008811115613b9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4d41585f54494552000000000000000000000000000000000000000000000000604482015260640161061b565b505060209190910290811b63ffffffff90911b19919091161790565b6000826008811115613c26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4d41585f54494552000000000000000000000000000000000000000000000000604482015260640161061b565b6000855b85811015613c525763ffffffff6020820290811b199890981685891b17979150600101613c2a565b50959695505050505050565b600080821215613cca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161061b565b5090565b6000604e8210613d0e578215613d04577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613d07565b60005b9050610205565b50600a81900a8281029083818381613d2857613d28615115565b0414610810577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610f73565b600a81900a613d6381846153e9565b9050604e8210610205578215613d8357613d7e82600a6153c9565b6106dc565b50600092915050565b6000604e8210613db0578215613da3576001613da6565b60005b60ff169050610205565b600a82900a808481613dc457613dc4615115565b0491508082028414610810575060010192915050565b6000604e821015613d835781600a0a8381613df757613df7615115565b046106dc565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003613e5557838281613e4b57613e4b615115565b04925050506106dc565b838110613e9f576040517f63a0577800000000000000000000000000000000000000000000000000000000815260048101879052602481018690526044810185905260640161061b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b7780000000000000000000000000000000000000000000000067ff0000000000000082161561402957678000000000000000821615613f505768016a09e667f3bcc9090260401c5b674000000000000000821615613f6f576801306fe0a31b7152df0260401c5b672000000000000000821615613f8e576801172b83c7d517adce0260401c5b671000000000000000821615613fad5768010b5586cf9890f62a0260401c5b670800000000000000821615613fcc576801059b0d31585743ae0260401c5b670400000000000000821615613feb57680102c9a3e778060ee70260401c5b67020000000000000082161561400a5768010163da9fb33356d80260401c5b67010000000000000082161561402957680100b1afa5abcbed610260401c5b66ff0000000000008216156141285766800000000000008216156140565768010058c86da1c09ea20260401c5b6640000000000000821615614074576801002c605e2e8cec500260401c5b662000000000000082161561409257680100162f3904051fa10260401c5b66100000000000008216156140b0576801000b175effdc76ba0260401c5b66080000000000008216156140ce57680100058ba01fb9f96d0260401c5b66040000000000008216156140ec5768010002c5cc37da94920260401c5b660200000000000082161561410a576801000162e525ee05470260401c5b66010000000000008216156141285768010000b17255775c040260401c5b65ff000000000082161561421e5765800000000000821615614153576801000058b91b5bc9ae0260401c5b6540000000000082161561417057680100002c5c89d5ec6d0260401c5b6520000000000082161561418d5768010000162e43f4f8310260401c5b651000000000008216156141aa57680100000b1721bcfc9a0260401c5b650800000000008216156141c75768010000058b90cf1e6e0260401c5b650400000000008216156141e4576801000002c5c863b73f0260401c5b6502000000000082161561420157680100000162e430e5a20260401c5b6501000000000082161561421e576801000000b1721835510260401c5b64ff0000000082161561430b5764800000000082161561424757680100000058b90c0b490260401c5b6440000000008216156142635768010000002c5c8601cc0260401c5b64200000000082161561427f576801000000162e42fff00260401c5b64100000000082161561429b5768010000000b17217fbb0260401c5b6408000000008216156142b7576801000000058b90bfce0260401c5b6404000000008216156142d357680100000002c5c85fe30260401c5b6402000000008216156142ef5768010000000162e42ff10260401c5b64010000000082161561430b57680100000000b17217f80260401c5b63ff0000008216156143ef5763800000008216156143325768010000000058b90bfc0260401c5b634000000082161561434d576801000000002c5c85fe0260401c5b632000000082161561436857680100000000162e42ff0260401c5b6310000000821615614383576801000000000b17217f0260401c5b630800000082161561439e57680100000000058b90c00260401c5b63040000008216156143b95768010000000002c5c8600260401c5b63020000008216156143d4576801000000000162e4300260401c5b63010000008216156143ef5768010000000000b172180260401c5b62ff00008216156144ca5762800000821615614414576801000000000058b90c0260401c5b6240000082161561442e57680100000000002c5c860260401c5b622000008216156144485768010000000000162e430260401c5b6210000082161561446257680100000000000b17210260401c5b6208000082161561447c5768010000000000058b910260401c5b62040000821615614496576801000000000002c5c80260401c5b620200008216156144b057680100000000000162e40260401c5b620100008216156144ca576801000000000000b1720260401c5b61ff0082161561459c576180008216156144ed57680100000000000058b90260401c5b6140008216156145065768010000000000002c5d0260401c5b61200082161561451f576801000000000000162e0260401c5b6110008216156145385768010000000000000b170260401c5b610800821615614551576801000000000000058c0260401c5b61040082161561456a57680100000000000002c60260401c5b61020082161561458357680100000000000001630260401c5b61010082161561459c57680100000000000000b10260401c5b60ff8216156146655760808216156145bd57680100000000000000590260401c5b60408216156145d5576801000000000000002c0260401c5b60208216156145ed57680100000000000000160260401c5b6010821615614605576801000000000000000b0260401c5b600882161561461d57680100000000000000060260401c5b600482161561463557680100000000000000030260401c5b600282161561464d57680100000000000000010260401c5b600182161561466557680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b60008160000361468e57506000919050565b5060018170010000000000000000000000000000000081106146b55760409190911b9060801c5b6801000000000000000081106146d05760209190911b9060401c5b64010000000081106146e75760109190911b9060201c5b6201000081106146fc5760089190911b9060101c5b61010081106147105760049190911b9060081c5b601081106147235760029190911b9060041c5b6004811061473357600182901b91505b600182848161474457614744615115565b048301901c9150600182848161475c5761475c615115565b048301901c9150600182848161477457614774615115565b048301901c9150600182848161478c5761478c615115565b048301901c915060018284816147a4576147a4615115565b048301901c915060018284816147bc576147bc615115565b048301901c915060018284816147d4576147d4615115565b048301901c915060008284816147ec576147ec615115565b0490508083106147fa578092505b5050919050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609848602925082811083820303915050806000036148535750670de0b6b3a764000090049050610205565b670de0b6b3a7640000811061489e576040517f5173648d000000000000000000000000000000000000000000000000000000008152600481018690526024810185905260440161061b565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b614910615554565b565b60006020828403121561492457600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106dc57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156149ca576149ca614954565b604052919050565b600067ffffffffffffffff8211156149ec576149ec614954565b5060051b60200190565b6000601f8381840112614a0857600080fd5b82356020614a1d614a18836149d2565b614983565b82815260059290921b85018101918181019087841115614a3c57600080fd5b8287015b84811015614af157803567ffffffffffffffff80821115614a615760008081fd5b818a0191508a603f830112614a765760008081fd5b85820135604082821115614a8c57614a8c614954565b614abb887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c85011601614983565b92508183528c81838601011115614ad25760008081fd5b8181850189850137506000908201870152845250918301918301614a40565b50979650505050505050565b600082601f830112614b0e57600080fd5b81356020614b1e614a18836149d2565b82815260059290921b84018101918181019086841115614b3d57600080fd5b8286015b84811015614b585780358352918301918301614b41565b509695505050505050565b600080600060608486031215614b7857600080fd5b833567ffffffffffffffff80821115614b9057600080fd5b614b9c878388016149f6565b94506020860135915080821115614bb257600080fd5b614bbe87838801614afd565b93506040860135915080821115614bd457600080fd5b50614be186828701614afd565b9150509250925092565b600082601f830112614bfc57600080fd5b81356020614c0c614a18836149d2565b82815260059290921b84018101918181019086841115614c2b57600080fd5b8286015b84811015614b5857803567ffffffffffffffff811115614c4f5760008081fd5b614c5d8986838b0101614afd565b845250918301918301614c2f565b803561ffff81168114614c7d57600080fd5b919050565b600080600080600080600060e0888a031215614c9d57600080fd5b873567ffffffffffffffff80821115614cb557600080fd5b614cc18b838c016149f6565b985060208a0135915080821115614cd757600080fd5b614ce38b838c01614afd565b975060408a0135965060608a0135915080821115614d0057600080fd5b614d0c8b838c01614beb565b9550614d1a60808b01614c6b565b945060a08a0135915080821115614d3057600080fd5b50614d3d8a828b01614afd565b92505060c0880135905092959891949750929550565b600081518084526020808501945080840160005b83811015614d8357815187529582019590820190600101614d67565b509495945050505050565b604081526000614da16040830185614d53565b8281036020840152610fa68185614d53565b600081518084526020808501808196508360051b810191508286016000805b86811015614e48578385038a5282518051808752835b81811015614e03578281018901518882018a01528801614de8565b5086810188018490529a87019a601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169095018601945091850191600101614dd2565b509298975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000614e856080830186614db3565b8281036040840152614e978186614d53565b905082810360608401526138888185614d53565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614f3a57614f3a614eda565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8816815260006020888184015260e06040840152614f7760e0840189614db3565b8381036060850152614f898189614d53565b905083810360808501528087518083528383019150838160051b840101848a016000805b8481101561501e578684037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018652825180518086529089019089860190845b818110156150095783518352928b0192918b0191600101614fed565b50509689019694505091870191600101614fad565b50505086810360a0880152615033818a614d53565b9550505050505061504a60c083018461ffff169052565b98975050505050505050565b600082601f83011261506757600080fd5b81516020615077614a18836149d2565b82815260059290921b8401810191818101908684111561509657600080fd5b8286015b84811015614b58578051835291830191830161509a565b600080604083850312156150c457600080fd5b825167ffffffffffffffff808211156150dc57600080fd5b6150e886838701615056565b935060208501519150808211156150fe57600080fd5b5061510b85828601615056565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261515357615153615115565b500490565b600061ffff80831681810361516f5761516f614eda565b6001019392505050565b8082018082111561020557610205614eda565b815160009082906020808601845b838110156151b65781518552938201939082019060010161519a565b50929695505050505050565b6000602082840312156151d457600080fd5b5051919050565b604080825283519082018190526000906020906060840190828701845b8281101561522a57815173ffffffffffffffffffffffffffffffffffffffff16845292840192908401906001016151f8565b50505083810382850152610eee8186614d53565b60006020828403121561525057600080fd5b815167ffffffffffffffff81111561526757600080fd5b610f7384828501615056565b60006020828403121561528557600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106dc57600080fd5b600181815b8085111561530257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156152e8576152e8614eda565b808516156152f557918102915b93841c93908002906152ae565b509250929050565b60008261531957506001610205565b8161532657506000610205565b816001811461533c576002811461534657615362565b6001915050610205565b60ff84111561535757615357614eda565b50506001821b610205565b5060208310610133831016604e8410600b8410161715615385575081810a610205565b61538f83836152a9565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156153c1576153c1614eda565b029392505050565b60006106dc838361530a565b6000826153e4576153e4615115565b500690565b808202811582820484141761020557610205614eda565b8181038181111561020557610205614eda565b60006020828403121561542557600080fd5b8151600481106106dc57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000610f736040830184614d53565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000610fa66060830184614d53565b805169ffffffffffffffffffff81168114614c7d57600080fd5b600080600080600060a086880312156154f957600080fd5b615502866154c7565b9450602086015193506040860151925060608601519150615525608087016154c7565b90509295509295909350565b60006020828403121561554357600080fd5b815160ff811681146106dc57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c5e0c750c840d190d270d790de90e710f500fa6103f11e8122812461255126312721280128e129c12aa127212b812c6134413521360136e137d138c139b13aa13b913c813d713e613f51404141314611473148114b314c114cf14dd14eb14f91507151515231531153f154d155b156915771585159315a115af15bd15cc15db15ea15f81606161416221630163e164c17781800180f181e182c189e0c5e0c750c840d190d270d790de90e710f500fa6103f11e8122812461255126312721280128e129c12aa127212b812c6134413521360136e137d138c139b13aa13b913c813d713e613f51404141314611473148114b314c114cf14dd14eb14f91507151515231531153f154d155b156915771585159315a115af15bd15cc15db15ea15f81606161416221630163e164c17781800180f181e182c189e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e7f1725e7734ce288f8367e1bb143e90bb3f05120000000000000000000000009fe46736679d2d9a65f0992f2272de9f3c7fa6e00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000113fff0a89c674ee7874a40059110d789ced5d6d6fdc3612fe9e5f4118012ee9ad1cefba497cfdd6a6f7125c9b14692e87439a03b8127797b0246e44c9f6f6d0ff7e3343ea5dd46adffc86fd90d8962871f8cc33c32139a43e3f61ec7ff08fb1939847e2e43b7612085f05c29bbc7c7532327702a17dbcf323dd619ce950fa82a9199bca543395a5f83b67f0085e61573ccc047bc6e355ba90f19ca998a50bc174cafdcbe7a7f95bd552243c0ee0c59fe9422e484d18782649ed1335597e807a641c881b962a46a558227880d5cd12159d569f4129b19a8b111bbffc62afff3172d71a8a789e2ebaaa7d97455391144d87bab156aad248d159f1d988bd2eeaa59f5f2c08325e66542697e264c91390221589ae205395b28a8eca125f9c14b7feb0bf99bafec881ce525bc9d85ee1a1e45a500527a44bd2363e45cf340821621721fe4a77985691606992c53e4f456090214406520214094072168bebfa0347ae1c902ba3fef220e05ca4bb71cb57cb9537806037cb1019763e6912ec17d4158f59060c4166181a115d2e9816c88a54b0319baee08796bf0b53427710e76c2f28d2eb878372d1018a6d2d36b668ba131a7fc1651ccaf8d25b260063139f8ffc5268f637015607ad64bfa63c14dfcfa0291687826cfe2515008d6a32bc37f97bd9fb84fba1a077fc4933aa858a9a87b06c227416a66c0a2d08d070cb5a0e85f20c84a9d846a5c13c08401c8d4685a21971a9f860626b14dfe315f91b750419b04a4243b11289ae6dc1535bd5b50c4336259ac96037e3300a752a5ec5a9b8499b0a7f1b6b91800ec1266c09e60b10894ca2f0a8600f8587f355984531a93451d78610b9be36f1aee63d3bb94aa87f4b8f77d646b41f37cf88eb2db85e3431fc1521326680b7297689998853998812557afe94fd4b8b5916b2994a988ef9522f549a22ac8867c8d1d2fc85f02fe9120ba5a65028032581c1aa2b1980c9385dd256689fd5d0de175ca56ada541bca34bc68d95665599d7af4d48e50e412d675759b9d29c235dcf81dd8cf5418780e3bff452440b908d10f15c014309f03f8ea0a0847e19691df786afc3bc70224d34c2f852f671263b155ae1213f79830089fba9641bad88c9416b30e9cc7e75bfa808a4d2664574814201836da1d9c8dd1082643aaa356f60767061f5dd48a1877d6fa7ac4fe32a44eab57176b8ba65ac5acadf7db117b35a45e13e179a4e2ae8adf92ee6dcf690a53509ac5ae40f47ca8ed347890bf6d239ba2b7d67b64bd44df023761702106db9b4baa27f9c39d8e10ccab3bba32e6968ac84653a5ef23c796c568a416ce6b992e98cea65e5980ccb40ca334c4511857557ce866839c354a964e25bbbaeef1106e19743d0cb1bb6a8d0b6bcad5d0cde3d743ea72bb996d2849cfdc33429648e485ab81e10c06d2187fe2f860163b23c44079d70b19b6c6041f0c23e99ef52c312b1564989c02b5e37c906ec89a4100149ade3e9058bf66523300eb21f0730d672ad72972ffc0e3393ef7d98653d502be8ae05d3402a0114732671e1b9fec44bbc63b693ee0cff0d203f372cd48a8d074f738a8b88dea2ae9343cf0e906c5c97bc366f72401a01337c93e6004da0e86cf1c5560ebbc56153fa109151e3ea621a1c6c00a6c08bbf166ff5073fd691e18d7bc3fc5d09bfb7e926fbd0bc662dd51da64689476ec651e7d2f43a68c3d8c4a9c36876278918854b2ea8e8d60dc8ccc37c4077f019c8e715492247cc560c85c3108632168169206968c2665b78e8386519384b313af9d1631d420d2d5b29392783daf0c2b1935a1c079834ae39aa439db7c24dfa14b6a9e4b895d5320ffc0798f675a415728d315bb14becf2f272f5f3db733ac95f0a07467cd19c13d8d1d698ceeeea041459397d0436f6e90afefd8205de37e91f8de78fcf2a537e5218fc1cdaa59533f7f1729016d4bd829aabf7e7883cf01a1513be61af77d0591db8686b59f695a92c3b353b2c32760adc81b2c45503dbbceb7366177471a6dfdc0afa9dfb2a2869674a79a70e6909eb6f74de38d27342564b057bfb8a39db923e16736147ece5eb049773cdc1ffb357aa3a1c6db1483a2e76fd8e4f9f621f48eccdd43ec5d707a6b47e3e036306d10c32767dbf89fc9d9e3f33e5bfa9212c07538a72ae5a1a7b3e5326cc55139d2e66e07d0f709daed91b28d5f0354bec252f5bcbc35375e40664b6fca52c4e0eeb1dc77275960b78f7eb2431783755765fb10ed3d08e6df15f803ece6e5f9f8dc53d771b91c5f5be824cce87609313ec2b05b859ae394d68e12eea707cb9ac82bd8c2a5f434fcf564bc4d17068f1dfb304bb50a84bd1cc372c4a11ea01b1c7b0430ef6fdc51e0d79364a7b3a43d972fbe66989590e22cfeacb2f404a84d29e72e5dac464c9e8a533687d011f311d205a0fdbb48d429fb20ae68095fcef237d8b918cdce0e66ec115f4d8567441b8edc5907728969bd13b39cb90dd0de6449228069310c19ae049b73dd7002968a0743a07398504c9c810e735b002dce5b6eea7477ef380d957fe999e952575a07656b58a4a87cbe46b4b1490e9ba3b2757954975ba524394db1a73c5a760bdf217bf1c460f1dbd2b61a54153fc6bc0556b402eb6bfe6d2476b50cbc4fb335df0730f28fb23095cb30cf5c044e0025162239659fcc051f180bb62e245e6581f065c4439c5784968ab948466c9a01d92192e22c9234f53955fb4bed58336d3079b8d3731d5ad659845a05643dd21765c323dee38bfc02deb3c5ca7b78c1b94e2baf5a89f41233c32abab7aacc39a0c1f1613e1a0fc3d5518f5be8119584b8f7641cb7ba5a2e758f4aa01359aa6b1c39827d09ee2f98427b1c31713a3f6537ecbf6c05ff7e3f6a6b4b6d01b84e6d45fca635b411a1f06d2f06b7659445a89886333dfad03bd22669acea20f18253bdb2b5e65e53af8c8feabd67ea957143bdd29da714a956e0f386877e86d9d3e06f559085aaa6dcbae73d2a695b2529f79a3060ddd4c9cf067e093a797754c19e540030bb54a0b369cbeb65539a26430d1c3ddc9d6a8eb4538ff0a76e55fab8a3687cd19ebda13ba09299bc1101049012a7258a2ca677b92229f97c7c51fe790d5a1668871a146c66d78c02375368febeaecc951ff3baecbc9249fc980a4ac23782079d79e1935a8a779b0c9851f9eafce2bca4c3c82da1e629eeb6eaccad793b63638682a048d9d2ecbdca1f60f0df229fedc2d4f959a8aed992ebb4d82c083147f7ee0110708dfc83644f5416075eb65c2b7ba0ae63233d3d826da94a4fb755cc80c0bed4986f192aad5d39f96783455f638507dcf6e89a97ca0dc50b567049fa0731984aee52310db4e146e223291f0229f3b9b7c2cb95fc1cdd229d5b839782c53152f4fdfb9f75179d3103988abddb8c9c665fb6d7e7da718ad914abd98ba92e5547af7e34a08a19d4a2a82a856c2a68491cf66e779be1712b05a6ba22319389c63836f67005cb8a80ab36007311a550f6066dbb354b5be4fbc58dd4986f1b8b1113a116769151d352586355e018166f1116f7e4890b0e43104fb696864d92f8b97bf71c29d1ead0ea9e52b6a11b2f384079dc158a68811b536cb99a5a1b8ac7ebe7892979c0cc86be2d341f694b74be8d0664154860f48c83fb2a707e1ab713422344df9a6269ad66897766f763e79557207d815c182ec18ccb704f1250ed33e88f763cb406a8e6e4e2d78c875eaa5a734e2a02c50a438b107b9489e5656361dd2cbf55f21434d9ce8b7165db8e6ddc8a71f43cd9571e36b8476d7c717628da11d4e30d039ec98e790c5fdd98434f3dc0ad0ff2e6b4cd9dd08d08dd9cb447af5eb9b53faf8e38b9d46a334a3c8c67ba5dbbb5a3eec366cccee78ae9945656f3f8f6501f5dcf60a9b87a53005f69cd0a9f8fd5e11238eec2bce6a9530f529305b43c5a35022a5124cb7079af9a0a30ff4adf81e3dad1f76bcff4202378ad72a3160ae8386f8bba58d93e78db9395728f985cdb47e8d6c032997afc6adeb3fa8360f144a60b688ff419877e044249f4ffe69092d50817decb899eea407a64c65df950ec60cee066387a1be4bb7531bb926b02a8f5a1ea0bd95ac0f98f1461604364780b303265d70b0523b76efcf289889ad75509a3000ac3b89b5b8174279c08873ea07a926fd26bd58f8c3e651f9061387972cd93c0b8d647c5b3be1c1984af234fa661bd31cddc8430fc5ec2d03b4eadedba8cf6fe530a9bbc0692d631850d4ca632e6c9aa0149a6f3a300eced192ef5e1b8089ab850c103c76cd20bda2c54aa95895a7158c6070d7458655ffbc0bc9541a11727e0440f4ce2c6c7b64fc50ac30b0a43f0950fdee6a8d97db8cca3352637170aa44e208688048f870510266dfee953fd35499fddb06fd8eaf9d3a78f39aa98bb9354116419b7faca0aca63f682dd0c0bc74c77797bbde54ea060abfb50095be307470f18aab909651fbc3986ee642e4244cdc7676b40f15514d192c7a3c1841abd06968181c1a342a5bfe3ef4f345b1f8297db211e9323eecb0b43d496edd3586d7afa4d7e722025a3237f5677cc9fdbc2ac2f41dc629639417b66d6e2dd447b5ec775c59e65b196f3188f50e51ac20a9b67f7bc12c7cf78a432cd783857c69a7f3bc9437e690e909eae9886f83481277e3b796cda809eb37fea07e3aa350e91d011103928334aba67d33d3b4144cd77a60c9a8407688dd7b1312c5f3ad126ed9d902a8ef4752ea6ca19261b5c89048f97492a5b3fcb33dce70ab7b24cd515ed9a283eb6503970edb878b281b2418bf9b6b08a42edee30bcd9b72facf244472f995320ca7bcb20d7e19110f79b10bd49df5596b4f2bf4bb33779e0f93708f6abed29a65455d7938e0ade4cc17da9e02a09443255ead2bb9a78571c402fce576828fb63eb6c8af7f8ec0ff0eca709ce6c957f8e19bde9605d5e29747e44420dbddacef5faf737de56641e1e8598932436adeb7d7ebe8459edc4030807d7583f0062688d1ff1a94dd6ce50ddbb1e175161d0b8c120b7570905f22d111197313a177b72457c05b168d7e19de4126c61967cfce73b5cc19cd18104e66409adc2808eaee3ec5778fba7c9c1c847c2efed5c98120a70a5579d46676f550e2779984da49f989695e9ae66e26d666edfe74676fa58db40d3b675ac273d762a1a785d35e9fb0ac1daf6e1795a96b5f0d317f24ab4860c94f38d25198e4acda2538de9181398477158fac0b0806046ce56e811edd129961c1ecf8fe2e8308092fb95d38770839c0da67cf375277b08fe27aae2d3f8369333ca566d7902d416671a150795ac514ad5225df0bb33c7446be4ff01bf7dc7d9a558bd3079314b2e93e2b4648a7741658af23f80a0e6eb49f954cb25a65ad68e20aee6aeef9dbc505d779090cb6203847a63f660f26dd8fe9d40c0dfc6adf380e66b2a4bf94a4d480f89d40601d246c95f5dc7f050139db44b25c495d4fb2f557bee099dc2472801e1b52960029cc2398c985ae2980b4f5da9f02fffb2d2edee85fe32629fcff1bff1d9faaf53384ee3ddf2805dfb758a4921f66667adc94a6cbfa93f1bfe40fdbb59f66623ed1e0b607680d1dc5e86848388475d9207e4f2f07a0f0d4318a587f51eca414200549acb77c347a2e2b7c4c7f17a3e9e1f828fe73bf01154730bc794a3b2ef3b813b7c2a21d4c9dc757eb6329d15c8597bfb0f0d43f2220c8b8844d8098fdc091fee5badb6491b64bfda2736c9e45e87101d64e385a96b286a67744db93cdc29339c8af4a67202d0f5858648c1d3e55e698bae09f64335c7f45a881122fc60f30ee7cbd39bbaf6469a163068a9a9ed3b46bb421875b12bd67aaef671b6f27b2b2377d528fa9a9ab1c8777862d088a6b3f10b2498a7dd55ef057ecdcfedf0c0234d06ed177d381fb6488435bfd6f98a0d40692c591ca888d1246dd34be932b02ba7169f733c4e7b53fb72576ac332a43be9f4a7d40ccf6ea3ebce96014f2d348507f4125297639e3ead9930bda0f8dc133e673e206ccf8ce345eb9a964b16dab2eaca8e83edad55c4413506a9b582120a6dc296341bd20d065d5cfeb69fcb40ca8b613bc3f1e397bd22e9fcf398eb855aff69b78b83ec9beea3715aa3b1919dd1e7dfc97248b8c1f652e5a4db5cd3a6b9da5acb1ae1e2865dda932f4ffe0fcd42f13b011bffe5282f43e495b402706170706c69636174696f6e2f6a736f6e03676465666c61746500" - } \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/touch_deployer/mod.rs b/subgraph/tests/utils/deploy/touch_deployer/mod.rs index 6c89d9385d..5c08d0a390 100644 --- a/subgraph/tests/utils/deploy/touch_deployer/mod.rs +++ b/subgraph/tests/utils/deploy/touch_deployer/mod.rs @@ -1,64 +1,43 @@ -use ethers::abi::{Bytes, Token, Tokenizable}; -use ethers::etherscan::contract::SourceCodeLanguage; -use ethers::prelude::SignerMiddleware; -use ethers::providers::{Http, Middleware}; -use ethers::signers::coins_bip39::{English, Mnemonic}; -use ethers::signers::{MnemonicBuilder, Wallet}; -// use ethers::types::{Bytes, Eip1559TransactionRequest, H160, U256}; -use ethers::types::{Eip1559TransactionRequest, H160, U256}; -use ethers::utils::Anvil; -use ethers::{ - abi, - core::k256::ecdsa::SigningKey, - prelude::abigen, - providers::Provider, - signers::{LocalWallet, Signer}, - utils::AnvilInstance, +use super::meta_getter::get_authoring_meta; +use crate::generated::{ + Rainterpreter, RainterpreterExpressionDeployer, RainterpreterStore, + RAINTERPRETEREXPRESSIONDEPLOYER_ABI, RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE, }; -use serde_json::Value; -use std::fs::File; -use std::io::{BufReader, Read}; -use std::str::FromStr; -use std::time::Duration; - -use std::sync::{Arc, Mutex}; -use tokio::sync::RwLock; - use crate::utils::setup::get_provider; use crate::utils::utils::get_wallet; +use ethers::{ + abi::Token, + contract::ContractFactory, + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Middleware, Provider}, + signers::{Signer, Wallet}, + types::H160, +}; +use std::sync::Arc; -use super::meta_getter::get_authoring_meta; -abigen!( - RainterpreterExpressionDeployer, - "tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer.json", - derives(serde::Deserialize, serde::Serialize); - - Rainterpreter, - "tests/utils/deploy/touch_deployer/Rainterpreter.json"; - - RainterpreterStore, - "tests/utils/deploy/touch_deployer/RainterpreterStore.json"; -); - -pub async fn deploy_touch_deployer(wallet: Option>) -> anyhow::Result { +pub async fn deploy_touch_deployer( + wallet: Option>, +) -> anyhow::Result< + RainterpreterExpressionDeployer, Wallet>>, +> { let wallet = Some(wallet.unwrap_or(get_wallet(0))); - let rainterpreter_address = rainterpreter_deploy(wallet.clone()).await?; - println!("rainterpreter_address: {:?}", rainterpreter_address); + let rainterpreter = rainterpreter_deploy(wallet.clone()).await?; - let store_address = rainterpreter_store_deploy(wallet.clone()).await?; - println!("store_address: {:?}", store_address); + let store = rainterpreter_store_deploy(wallet.clone()).await?; let expression_deployer = - rainterpreter_expression_deployer_deploy(rainterpreter_address, store_address, None) + rainterpreter_expression_deployer_deploy(rainterpreter.address(), store.address(), None) .await .expect("failed at expression_deployer_deploy"); - println!("expression_deployer: {:?}", expression_deployer); Ok(expression_deployer) } -pub async fn rainterpreter_deploy(wallet: Option>) -> anyhow::Result { +pub async fn rainterpreter_deploy( + wallet: Option>, +) -> anyhow::Result, Wallet>>> { let wallet = wallet.unwrap_or(get_wallet(0)); let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); @@ -68,13 +47,14 @@ pub async fn rainterpreter_deploy(wallet: Option>) -> anyhow: wallet.with_chain_id(chain_id.as_u64()), )); - let store = Rainterpreter::deploy(deployer, ())?.send().await?; - Ok(store.address()) + let interpreter = Rainterpreter::deploy(deployer, ())?.send().await?; + + Ok(interpreter) } pub async fn rainterpreter_store_deploy( wallet: Option>, -) -> anyhow::Result { +) -> anyhow::Result, Wallet>>> { let wallet = wallet.unwrap_or(get_wallet(0)); let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); @@ -85,95 +65,47 @@ pub async fn rainterpreter_store_deploy( )); let store = RainterpreterStore::deploy(deployer, ())?.send().await?; - Ok(store.address()) + + Ok(store) } pub async fn rainterpreter_expression_deployer_deploy( rainiterpreter_address: H160, store_address: H160, wallet: Option>, -) -> anyhow::Result { +) -> anyhow::Result< + RainterpreterExpressionDeployer, Wallet>>, +> { let wallet = wallet.unwrap_or(get_wallet(0)); let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); - let deployer = Arc::new(SignerMiddleware::new( + let client = Arc::new(SignerMiddleware::new( provider.clone(), wallet.with_chain_id(chain_id.as_u64()), )); - let meta_bytes = get_authoring_meta().await; - - let mut args: Vec = Vec::new(); - - args.push(Token::Address(rainiterpreter_address)); - args.push(Token::Address(store_address)); - // args.push(Token::Bytes(meta_bytes)); - - let see = [Token::Tuple( - [ - Token::Address(rainiterpreter_address), - Token::Address(store_address), - Token::Bytes(meta_bytes.to_vec()), - ] - .to_vec(), - )]; - - // let aver = ethabi::encode(&[Token::Tuple( - // [ - // Token::Address(rainiterpreter_address), - // Token::Address(store_address), - // Token::Bytes(meta_bytes.to_vec()), - // ] - // .to_vec(), - // )]); - - // // println!("Avec u8: {:?}", aver); - // let xddd = aver - // .iter() - // .map(|byte| format!("{:02x}", byte)) - // .collect::>() - // .join(""); - - // let see = [[ - // rainiterpreter_address.as_bytes(), - // store_address.as_bytes(), - // &meta_bytes.to_vec(), - // ]]; - // ////////////////////// - - // let file = - // File::open("tests/utils/deploy/touch_deployer/RainterpreterExpressionDeployer_ABI.json")?; - // let reader = BufReader::new(file); - - // let contract_a = abi::Abi::load(reader).expect("cannot get abi"); - - // // // let aver = meta_bytes.bytes(); - // let aver = meta_bytes.to_vec(); - - // let check_const = contract_a - // .constructor() - // .expect("xd") - // .encode_input( - // Bytes::from_hex("ff").expect("cannot create bytes"), - // &[Token::Tuple( - // [ - // Token::Address(rain_address), - // Token::Address(store_address), - // Token::Bytes(aver), - // ] - // .to_vec(), - // )], - // ) - // .expect("failed at construction encode"); - - // //////////////////////// - - let expression_deployer = RainterpreterExpressionDeployer::deploy(deployer, args) - .expect("failed at deploy() expression deployer") + let meta_bytes = get_authoring_meta().await.to_vec(); + let args = vec![Token::Tuple(vec![ + Token::Address(rainiterpreter_address), + Token::Address(store_address), + Token::Bytes(meta_bytes), + ])]; + + let deploy_transaction = ContractFactory::new( + RAINTERPRETEREXPRESSIONDEPLOYER_ABI.clone(), + RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE.clone(), + client.clone(), + ); + + let contract = deploy_transaction + .deploy_tokens(args) + .expect("failed deploy tokens") .send() .await - .expect("failed after send() expression deployer"); + .expect("failed at deployment"); + + let deployer = RainterpreterExpressionDeployer::new(contract.address(), client); - Ok(expression_deployer.address()) + return Ok(deployer); } From 6511d075d927e193d43e2e3c4db967f696cb6f8d Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 6 Oct 2023 02:39:31 -0400 Subject: [PATCH 013/163] wip: silent warning --- subgraph/tests/utils/deploy/deploy_orderbook/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs index 4da53c8623..89e6fd921a 100644 --- a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs @@ -1,6 +1,6 @@ -use ethers::utils::AnvilInstance; +// use ethers::utils::AnvilInstance; -use super::touch_deployer::deploy_touch_deployer; +// use super::touch_deployer::deploy_touch_deployer; // pub async fn deploy_orderbook(anvil: &AnvilInstance) -> anyhow::Result<()> { // let _touch_deployer = deploy_touch_deployer(anvil).await?; From 782489a1085bf2615c0749d44a731b2612f9aa39 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 6 Oct 2023 02:42:05 -0400 Subject: [PATCH 014/163] wip: missing await --- subgraph/tests/deploy_orderbook.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs index 04c483a16b..f17902210f 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/deploy_orderbook.rs @@ -11,8 +11,11 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { .await .expect("cannot deploy expression_deployer"); - println!("i_interpreter: {:?}", expression_deployer.i_interpreter()); - println!("i_store: {:?}", expression_deployer.i_store()); + println!( + "i_interpreter: {:?}", + expression_deployer.i_interpreter().await + ); + println!("i_store: {:?}", expression_deployer.i_store().await); println!("expression_deployer: {:?}", expression_deployer.address()); let _ = is_sugraph_node_init() From d11aafc2b8badb0ea8859ff8dc9f4abfc3a09731 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 6 Oct 2023 16:36:36 -0400 Subject: [PATCH 015/163] unused ABI --- .../deploy/deploy1820/ERC1820RegistryABI.json | 215 ------------------ subgraph/tests/utils/deploy/deploy1820/mod.rs | 5 - 2 files changed, 220 deletions(-) delete mode 100644 subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json diff --git a/subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json b/subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json deleted file mode 100644 index 98f8f37a4b..0000000000 --- a/subgraph/tests/utils/deploy/deploy1820/ERC1820RegistryABI.json +++ /dev/null @@ -1,215 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "interfaceHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "implementer", - "type": "address" - } - ], - "name": "InterfaceImplementerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newManager", - "type": "address" - } - ], - "name": "ManagerChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "interfaceHash", - "type": "bytes32" - } - ], - "name": "getInterfaceImplementer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "implementsERC165Interface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "implementsERC165InterfaceNoCache", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "interfaceName", - "type": "string" - } - ], - "name": "interfaceHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "interfaceHash", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "implementer", - "type": "address" - } - ], - "name": "setInterfaceImplementer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "newManager", - "type": "address" - } - ], - "name": "setManager", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "updateERC165Cache", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/deploy1820/mod.rs b/subgraph/tests/utils/deploy/deploy1820/mod.rs index 5cad6cdd9e..022bd2fec4 100644 --- a/subgraph/tests/utils/deploy/deploy1820/mod.rs +++ b/subgraph/tests/utils/deploy/deploy1820/mod.rs @@ -4,16 +4,11 @@ use ethers::{ types::BlockId, types::{Bytes, NameOrAddress, TransactionRequest, U256}, }; -use std::fs::File; -use std::io::Read; pub async fn deploy1820(provider: &Provider) -> anyhow::Result<()> { let signature_address: NameOrAddress = "0xa990077c3205cbDf861e17Fa532eeB069cE9fF96".parse()?; let registry_address = "0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24"; let cost: U256 = U256::from("80000000000000000"); - let mut file = File::open("tests/utils/deploy/deploy1820/ERC1820RegistryABI.json")?; - let mut erc1820_registry_abi = String::new(); - file.read_to_string(&mut erc1820_registry_abi)?; let tx_erc1820_registry_deployment = "f90a388085174876e800830c35008080b909e5608060405234801561001057600080fd5b506109c5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c010000000000000000000000000000000000000000000000000000000090048063a41e7d5111610078578063a41e7d51146101d4578063aabbb8ca1461020a578063b705676514610236578063f712f3e814610280576100a5565b806329965a1d146100aa5780633d584063146100e25780635df8122f1461012457806365ba36c114610152575b600080fd5b6100e0600480360360608110156100c057600080fd5b50600160a060020a038135811691602081013591604090910135166102b6565b005b610108600480360360208110156100f857600080fd5b5035600160a060020a0316610570565b60408051600160a060020a039092168252519081900360200190f35b6100e06004803603604081101561013a57600080fd5b50600160a060020a03813581169160200135166105bc565b6101c26004803603602081101561016857600080fd5b81019060208101813564010000000081111561018357600080fd5b82018360208201111561019557600080fd5b803590602001918460018302840111640100000000831117156101b757600080fd5b5090925090506106b3565b60408051918252519081900360200190f35b6100e0600480360360408110156101ea57600080fd5b508035600160a060020a03169060200135600160e060020a0319166106ee565b6101086004803603604081101561022057600080fd5b50600160a060020a038135169060200135610778565b61026c6004803603604081101561024c57600080fd5b508035600160a060020a03169060200135600160e060020a0319166107ef565b604080519115158252519081900360200190f35b61026c6004803603604081101561029657600080fd5b508035600160a060020a03169060200135600160e060020a0319166108aa565b6000600160a060020a038416156102cd57836102cf565b335b9050336102db82610570565b600160a060020a031614610339576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b6103428361092a565b15610397576040805160e560020a62461bcd02815260206004820152601a60248201527f4d757374206e6f7420626520616e204552433136352068617368000000000000604482015290519081900360640190fd5b600160a060020a038216158015906103b85750600160a060020a0382163314155b156104ff5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012082600160a060020a031663249cb3fa85846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600160a060020a0316600160a060020a031681526020019250505060206040518083038186803b15801561047e57600080fd5b505afa158015610492573d6000803e3d6000fd5b505050506040513d60208110156104a857600080fd5b5051146104ff576040805160e560020a62461bcd02815260206004820181905260248201527f446f6573206e6f7420696d706c656d656e742074686520696e74657266616365604482015290519081900360640190fd5b600160a060020a03818116600081815260208181526040808320888452909152808220805473ffffffffffffffffffffffffffffffffffffffff19169487169485179055518692917f93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db15391a450505050565b600160a060020a03818116600090815260016020526040812054909116151561059a5750806105b7565b50600160a060020a03808216600090815260016020526040902054165b919050565b336105c683610570565b600160a060020a031614610624576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b81600160a060020a031681600160a060020a0316146106435780610646565b60005b600160a060020a03838116600081815260016020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169585169590951790945592519184169290917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a43509190a35050565b600082826040516020018083838082843780830192505050925050506040516020818303038152906040528051906020012090505b92915050565b6106f882826107ef565b610703576000610705565b815b600160a060020a03928316600081815260208181526040808320600160e060020a031996909616808452958252808320805473ffffffffffffffffffffffffffffffffffffffff19169590971694909417909555908152600284528181209281529190925220805460ff19166001179055565b600080600160a060020a038416156107905783610792565b335b905061079d8361092a565b156107c357826107ad82826108aa565b6107b85760006107ba565b815b925050506106e8565b600160a060020a0390811660009081526020818152604080832086845290915290205416905092915050565b6000808061081d857f01ffc9a70000000000000000000000000000000000000000000000000000000061094c565b909250905081158061082d575080155b1561083d576000925050506106e8565b61084f85600160e060020a031961094c565b909250905081158061086057508015155b15610870576000925050506106e8565b61087a858561094c565b909250905060018214801561088f5750806001145b1561089f576001925050506106e8565b506000949350505050565b600160a060020a0382166000908152600260209081526040808320600160e060020a03198516845290915281205460ff1615156108f2576108eb83836107ef565b90506106e8565b50600160a060020a03808316600081815260208181526040808320600160e060020a0319871684529091529020549091161492915050565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff161590565b6040517f01ffc9a7000000000000000000000000000000000000000000000000000000008082526004820183905260009182919060208160248189617530fa90519096909550935050505056fea165627a7a72305820377f4a2d4301ede9949f163f319021a6e9c687c292a5e2b2c4734c126b524e6c00291ba01820182018201820182018201820182018201820182018201820182018201820a01820182018201820182018201820182018201820182018201820182018201820"; From 9eea91ff70da000acf95efdce57421180a3a2fa8 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 08:26:48 -0400 Subject: [PATCH 016/163] wip: queries ob --- subgraph/.gitignore | 3 + subgraph/Cargo.toml | 3 +- subgraph/flake.nix | 2 +- subgraph/tests/OrderBook.rain.meta | Bin 0 -> 5786 bytes subgraph/tests/common/deploy/mod.rs | 92 + subgraph/tests/common/mod.rs | 10 + subgraph/tests/common/query/mod.rs | 1 + subgraph/tests/common/query/orderbook/mod.rs | 68 + .../common/query/orderbook/orderbook.graphql | 10 + subgraph/tests/common/query/schema.json | 3600 ++ subgraph/tests/common/wait/mod.rs | 64 + subgraph/tests/common/wait/query.graphql | 20 + subgraph/tests/common/wait/schema.json | 1729 + subgraph/tests/deploy_orderbook.rs | 130 +- subgraph/tests/generated/ERC20Mock.json | 1271 + subgraph/tests/generated/OrderBook.json | 33887 ++++++++++++++++ .../RainterpreterExpressionDeployerNP.json | 5 - subgraph/tests/generated/mod.rs | 9 +- .../deploy/deploy_orderbook/OrderBook.json | 23730 ----------- .../utils/deploy/deploy_orderbook/mod.rs | 14 - subgraph/tests/utils/deploy/erc20_mock/mod.rs | 37 + .../tests/utils/deploy/meta_getter/mod.rs | 3 +- subgraph/tests/utils/deploy/mod.rs | 6 +- subgraph/tests/utils/deploy/orderbook/mod.rs | 66 + .../{deploy1820 => registry1820}/mod.rs | 4 +- .../tests/utils/deploy/touch_deployer/mod.rs | 13 +- subgraph/tests/utils/events.rs | 79 + subgraph/tests/utils/gen_abigen/mod.rs | 62 + subgraph/tests/utils/mod.rs | 3 + subgraph/tests/utils/number.rs | 8 + subgraph/tests/utils/setup.rs | 2 +- 31 files changed, 41151 insertions(+), 23780 deletions(-) create mode 100644 subgraph/tests/OrderBook.rain.meta create mode 100644 subgraph/tests/common/deploy/mod.rs create mode 100644 subgraph/tests/common/mod.rs create mode 100644 subgraph/tests/common/query/mod.rs create mode 100644 subgraph/tests/common/query/orderbook/mod.rs create mode 100644 subgraph/tests/common/query/orderbook/orderbook.graphql create mode 100644 subgraph/tests/common/query/schema.json create mode 100644 subgraph/tests/common/wait/mod.rs create mode 100644 subgraph/tests/common/wait/query.graphql create mode 100644 subgraph/tests/common/wait/schema.json create mode 100644 subgraph/tests/generated/ERC20Mock.json create mode 100644 subgraph/tests/generated/OrderBook.json delete mode 100644 subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json delete mode 100644 subgraph/tests/utils/deploy/deploy_orderbook/mod.rs create mode 100644 subgraph/tests/utils/deploy/erc20_mock/mod.rs create mode 100644 subgraph/tests/utils/deploy/orderbook/mod.rs rename subgraph/tests/utils/deploy/{deploy1820 => registry1820}/mod.rs (98%) create mode 100644 subgraph/tests/utils/events.rs create mode 100644 subgraph/tests/utils/gen_abigen/mod.rs create mode 100644 subgraph/tests/utils/number.rs diff --git a/subgraph/.gitignore b/subgraph/.gitignore index eae9239cda..35265193d0 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -3,6 +3,9 @@ /generated /subgraph.yaml +# Rust generated files +/tests/generated/abigen + # npm /node_modules diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index 19e003cd3f..1f094830dd 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -22,9 +22,10 @@ reqwest = { version = "0.11.17", features = ["json"] } rust-bigint = "1.2.0" graphql_client = "0.13.0" web3 = "0.19.0" -ethers = "2.0" +ethers = { version = "2.0", features = ["legacy"] } clap = { version = "4.4.6", features = ["cargo", "derive"] } colored = "2.0.4" lazy_static = "1.4.0" thiserror = "1.0.49" once_cell = "1.18.0" + diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 979b99f27a..1adff88d25 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -23,7 +23,7 @@ # Generating the contracts. This way, they will be updating by commit forge build --root ../ - + # Copying the new abis into the SG abi folder cp ../out/OrderBook.sol/OrderBook.json ./abis/ cp ../out/ERC20.sol/ERC20.json ./abis/ReserveToken.json diff --git a/subgraph/tests/OrderBook.rain.meta b/subgraph/tests/OrderBook.rain.meta new file mode 100644 index 0000000000000000000000000000000000000000..8f567572bbc714dcbd4370e28d0be7b931f36336 GIT binary patch literal 5786 zcmV;L7G>%G3W>&a?s#;i09gh(?OaQ5+c*&ZD+`}d+?;X*WNxdn_ah-&hHWtYtXE^-k!I2(*4k(+)QVhQ0pB@kAoB`YXq)bA@ zNN~5B!{Fwt)-@4$SBE=UkeiT8X>XaIh@sS9k< zS`LS7K?3UE(nm&Q96`^?Lds|uhr?t<$-EZ3LMw*qCEt|JQLHsNqh zbYIhrV!7A(Zh0JeAS}cpgn6sKV-or4Pnm#C&m}kO_AUO`U$2v&9`~W3*%r7W zl(2><+hr}ftc5z7%>+o?(9!H1t%TolQxm$UhNTIp2X~33x&)7gBoNspoK|sQ(3tXR zJq67|rr!+}A(7rw&n?z0bc4Ti`L$Z2dURWG!Q#Sl4xR-68(P&8yL;43fp{_|LB)8z z=zmx`RRX8k?zIQ$_14ctY*iJ3yxvqkerIW zM``{`<&z(gmpc+YLXA)fy6G!yMW$y618|g;0m2}9mb$5rOloOiWPoM{1C!y^a-Iyr z=p&6$?z87L*IGVZ%fPG3G?kox&I3K}so<-q_U096euqf|GKK#tCu{5AZXa8%tCZj^ z23lZJ70H8cN~b@g@jN2^o*Fab){_Yj=`P%}BeIg|$C}v7xHmT;nK584S{@)j+La*cG8hyME^TqwI{Zz>V84 zxYp}SF{P1sX=}-Mi@woK>oZ)<-y`_P>4(+vzn#`x1V9iUF>7^!ApU6JlUHoX>XNbf zGbF7j9q{%$W9N*WGj{LO*eN94foeHOaFF02;axxiI!EmltHwnej;gYuww~Ua$6j<& zkFPJ09V|t$lw^D5>b_D1>{io6rJXZdxU9`Qta4%hy!YBbYa@+^iFtMsw1;Ie08qV5 z?(+Q(kH2td~6_!{XH zWz4RY9)K@y$Z||1*NB`iK;(KaPvleVZVHOo$&E52^3@=xlu!QUi7 z?vKr-2(zh=b-N?aYwKe9vOtFroz`6ywbJ5T ztbRMknKozIEX813uGr^=uJ&c@Ia4DfVN#SDn`U=#jpmus%WRW{Mep^7nqgDSRd`Jo z8blXl@y!O86@q7?1fi>a{CuQf{c_tZX6mK629$A;j*E1hIe3?mj;qFT5a1x-LqmY8 zzNsPd2CHx6E~;%laGFW&*KI?t=>y9L^{`1gldO(q;+o#U$!@{CO&Y0plE>c`8|_gZ z-9%B#$1M4x$2CBGz-mde$o)K{s+N2k`Hk_#r{m9G)MrP|c@*&%)7%~2S6Ld*uTN@= zwA5~V=Y+M%AM8A5&{cApkB}^{?O5roSqlm;tyxh5HxaO8KeDJ7B8*UP{rQQy9mx}p z)W>v0IqjWpPsf{izOHqnLM?K)%4WAWE-rO(sf$ZL?j`)h086t<=q)793!?7-Q8Bcc zJEAbk6)x9Q95@Vi80;|E6+*c}r~@v9lFfxrCQY9EjHG#Dx<#iAOAs9{%H?)&%lJ@o ziH$fq>R~B0kx@-a*6T*m_O^6Cd9g{h&p8PQ^Ij`2)G2yDnEYTvS(%pPi!KH0l_s40 z1_2xY<^Qy!|191DaA9z8Y-wX*bZKvHFKTmdZUbjzWoB$)bY%o$Wp1SaSr7fKT5WF| zxe@*=gunRiAUko|3l2fAfMn}>LJ}*mom|sv5L3I9M0mBUTkcv>i~jdMGedH@dWqX! z5g?X!$(iB2J~PxmPfEQqC$CPXb#7`ks;Y;R!HJ&P>*TS2nj4ql(Xdn%J)PmHYL>cD zxmg$0)+yK2x-koDoT|;bHqMld$(44>;zNxm_+ObX^vc<)#4_D1@d#8(tjX=8&0Adv zeRr)uV2UM$Otr zZEUktt2V=bRc+MVmPRdVjX$|it-$mVe3sP)L>>%e(^#mBqRKQMqRg@P5uf-hCEje+ z3>=rn)~ec+5O~0=h*t%ky4(`&%&Z$#&DE(}f}%UcsffPcqTUWalKv`Zo47l#^~MwS zva}^BLDw@21=L%AvdNWGRjIUEoBE7bs+o2ca$s`_vV2ZardZ0YO=joY^q6!gXtLQD zY+<@MdX{0AEf-#)oyo)|-FFzeX=~D!TInx#)vlCYRc$GU(ZU2OTer}K#Bs+v^ETn*znqcvB^$VS$*;GA;VdXolABbCdH8D*w8Bwt1BdsEWM#Jb8d70OW zKX!&=9XR^AQhzViPZhbTUabo=AR9VM>K9KOiZk(%)ZOdrA)nNr4c|xdUh}?2m*K#W z<>LACR~Mu~>pU?Wz`ClS1*KZzL?!e+vxRNgmsvm&_*_lqWD40gQhL2M8fNVaGujbm z=*`fH@CrhBMUWWQiTliV} zEFN}?N9UyT$uza1E;gDn3j3=KNd%{Qh(QK2^0yXEXANV{ryob`O+-`rdo-96ViPbROOLcRK0bYAi_3aO!-v{qH<_ z;uWDK4SA=iEesSRkBkpRZY8T3*YI&&lr*c_BA1GV61OIk=?4?p<+e6#$T`wgwlo@X zyi-vhtKv~~2%a?r&~>vV;c~doKuu#EckOyz)s*@@S#{d+a;Iu#P}FjXolR9g#G=a; zLY=O3{Xjv|Zcq2lo^OFMY?cNM$`sTgUNazHqe8oJDDz$JkyO?hO+2xz$}?7%=9+=i z_llJSkOv}Lr2Ja*t7?wyDOF~rOT92FMEU?Rs|$L~IS;lho3pwtOFSB=x8n~3Wt!}q z_4^M~S7!?j_FN+9Ox!YN3m@h<_`;yHBNIUXy0%mT*g~|BjR6XYa^VTDcd2RH06#2z9!J( zTn!P_9*V&^0}9OQ%2638A~>S*^r+$dv%;`tSzZ#CAx8I=!QE)AZpQD1lPfj)s4j;?)g9r`8X|8{4!XilqG==y{oVfgfB(fsx z%W5yTeefrEur>mD+|sTG%rUTY)hZ-7D$xP2;-ju>R62+QPzA+1${HI^kf`I7kON%J z7;)PGO_@BC9pC-z!B=f4c}roULMn$QcbwT$Hx+`mAm1n|&Q@S5A|(w@fQ^MkAZrJN z;JDMU)J)`U=BZofS^>6v@PHAJopTZx1schqb(97e;}c@^Y4)@#&8d2Sdv!-vud8;k zM7A@(QG*S$b$n-c&otZRH1Nd+%J zGR{7NUd0R^ZbbsAK0h;1BySOJ8}k%Oh8uJ-%+Q8$oNk*6dDDYd(8mWkTvEt|0`xj3 zl!B(D*m4{$xyjZ(X);!#EWXpmc#TP@oNiEm7pGBBPdbKg)F6XXmeZr6PEnL8(OAb$ zf|>-cw-^xEuvuDebU?ybt{4RYO6a`wwIXp_P7MsxX0%3F(|$1rqS7hPkK_hWZJRiY}E49L?Bydp{wcmR$Wi;U=qj^=}F#~Pz}i- zL^b+2pTK>-Bp?$Ly|1KXXF+pWRfHIcBNtNT=$sFYO8(-x;!LH1DSeM7Zi1)OLXdbI zIr|cFdk&U!jvNt`>qzYPz1{`yNzXww_j;=Crmx4>>h1Ky`0e=m?skCv#WoIP!n{Wp z1jnRMx9gn8Hwo|1J^G3i`u?szYotUtDY!`S)Kihh2ww-OpgCGiCXE{O9tt$*=5zvf zKk6U#V`XzE#lW}hHHrtV%m7k3QL@Z~j#xYfLr~7sOlxIy$eK6f(eRex1nK2g4X>}l z$6qFQKdY;c*Tc7yOEnt48D3wG)$nG_mbrcZ?%nj}ZhV!x)%5z!NA=6}=Jl;tNLTe}w4Y*x&MKkd{hnG&Psik4c*V@iZp;|UI-g8<7UDgEArfT}-!nmnwh#+Z zuA{z*UU01A>8b+~6enhmbYN+e5}Vlr(@ySdeZt~;EsB;-AjlaYJFVw(ZdXPEt4qJ3 z+mnP&8OxU9aWmh=Gg9yMiBu@kspilnGgVUHeT%g6;(Op5?-^Yp!tqRKK5dCIhkgMC z6_kjL2kMetx85|a>V_w%4h4E=!om!#`CMMlKK1dFJSXY6PSBWJk;efekp|Ly;5+9I zW8u)bwhj)slmT}b8(Xe?BtR)I!-z@C4^SsAE&xF0+wB z5_34gu6cKd(Z?Gw?RC`z(A!NB!$j6atd-vF5NE;oruI(nGlrDZHO=@!+sw01V6t}I zc+JX9O2l)FXE`4b@=Ex)Lj}~TK=J~#AdOY6 z`0Ao1uoLo8SH7h_LtRKAhvsQz+U|72XN;Nn?gp>#CzDQs4;S~$F0qC+yF&**p=65; z_Ip!WJcopw=)wR+z5aOlY-Lt6sE^xj!gUWk>B`Y|)ON-_4`Klt$R4Px+|IDV`5_qn zM^}TGOgP*E#^Q%(G91LyU*mNmBA1oXyG%?ThP%W(r;%f6HgXEQ;k47E^?}(YqW@ zyuH^ZrC^haG>|S&39_c;+&tH|X4pg?`$anO0I|b*V5)Y-efhdtbIX?p$ksK1J}hKv zU_6o$DzsbTgFA;_MDa|<5V(}9mMvv6YWFJ{XA`PZa`47ag@k9DFy+wYoLw8a@8F5A z&l*I=L4#d8k|tfg(%cy8_2mk-m6nmwf(M>>6RxTHxO5QugwQAl{LphBGKlQ+Ufw}v zrzW@iDP~8jin898hXeh}#y-TC}S?)TyoRyn%>TDcTUpS)`7)(lR_0Zbhq z&T$BOD&H@~o~f&jFc|H;k-qKtPMX7JvN(gvdqggoX%d-B(>21-;CMO=i5v@a6-TKD z6Xcnk;mjK(O%ZXUy7c7xOoI*m#dx(Na0CxnbXG^leg504zKU13mJ=A>8y>k<9t&TO;{zfqog4s^$Pf} z=8fTtT`X%$9y8M~Jp65B`ul?3MOg<^svY?f{rX&V*6D4}ai;O`eLFH#?ESi7*KTLL zY1cJ^?z|bl<{Mu8ukzqEhy3s|Ir3Mzq`EoEEM0We1tY*q{4a%lKGT!3xu+&hSL4gc z+u<9`J#KN4GQR2qMV^9_O*iPb!)TFyIB;fne$jF~sqNT174nF&t2nCYE3SJUMyEV) z=mxQpdo%hS2ZQil?mS>Srguhs_Piv_L;4bgr^op3^RSiNY4(lvA*mM~hY!6f;#)>E zF?{jqD^N1A-Wj5VF$)dI=F~U@q##YF>`#9p)F zEKGyLL<)}8##zOVh|JwjhmYom!7eOjB4<%qdrp(6tzW16wtGCb> z{}jhVezMOpQai$Pa&?>!zdJE;QQH~L>hj4)ElhqZK70g{)8Bj!GSQXcDst+;~1z6LbdB-K}w(zv8UIy zPY2?j#GM>RLZHXsD=~0r-7$7gMM00&*TUf7!Y8;M4+Kx`a3rKJ4^lrA3x3n@4~F!h zPe+57=&5knkuLmR;b=Uh)5yJDhXZ0qlE?xPA^-jj0UQ6q8^4Ck8JhxdVQ_G4X=7n@ YX>V>XYIARH17~DqW^7?}WdvenZfWI4LjV8( literal 0 HcmV?d00001 diff --git a/subgraph/tests/common/deploy/mod.rs b/subgraph/tests/common/deploy/mod.rs new file mode 100644 index 0000000000..9192934c90 --- /dev/null +++ b/subgraph/tests/common/deploy/mod.rs @@ -0,0 +1,92 @@ +use anyhow::anyhow; +use mustache::MapBuilder; +use std::{fs, process::Command}; + +pub struct Config { + // contracts address + pub contract_address: String, + // block-number + pub block_number: u64, +} + +pub async fn deploy(config: Config) -> anyhow::Result<()> { + + let subgraph_template = "subgraph.template.yaml"; + let output_path = "subgraph.yaml"; + let root_dir = "./"; + let end_point = "http://localhost:8020/"; + let subgraph_name = "test/test"; + + let data = MapBuilder::new() + .insert_str("network", "localhost") + .insert_str("orderbook", config.contract_address) + .insert_str("blockNumber", config.block_number.to_string()) + .build(); + + let template = fs::read_to_string(subgraph_template.clone()) + .expect(&format!("Fail to read {}", subgraph_template)); + + let renderd = mustache::compile_str(&template) + .expect("Failed to compile template") + .render_data_to_string(&data) + .expect("Failed to render template"); + + let _write = fs::write(output_path, renderd)?; + + let output = Command::new("bash") + .current_dir(format!( + "{}/{}", + std::env::current_dir().unwrap().display(), + root_dir + )) + .args(&["-c", "npx graph codegen && npx graph build"]) + .output() + .expect("Failed graph codegen and graph build command"); + + if output.status.success() { + let stdout = String::from_utf8_lossy(&output.stdout); + println!("{}", stdout); + } else { + let stderr = String::from_utf8_lossy(&output.stderr); + return Err(anyhow!("{}", stderr)); + } + + let _output = Command::new("bash") + .current_dir(format!( + "{}/{}", + std::env::current_dir().unwrap().display(), + root_dir + )) + .args(&[ + "-c", + &format!("npx graph create --node {} {}", end_point, subgraph_name), + ]) + .output() + .expect("Failed graph create command"); + + let output = Command::new("bash") + .current_dir(format!( + "{}/{}", + std::env::current_dir().unwrap().display(), + root_dir + )) + .args(&[ + "-c", + &format!( + "npx graph deploy --node {} --ipfs http://localhost:5001 {} --version-label 1", + end_point, subgraph_name + ), + ]) + .output() + .expect("Failed local deploy command"); + + if output.status.success() { + let stdout = String::from_utf8_lossy(&output.stdout); + println!("{}", stdout); + } else { + let stderr = String::from_utf8_lossy(&output.stderr); + return Err(anyhow!("{}", stderr)); + } + + Ok(()) +} diff --git a/subgraph/tests/common/mod.rs b/subgraph/tests/common/mod.rs new file mode 100644 index 0000000000..c272ff3820 --- /dev/null +++ b/subgraph/tests/common/mod.rs @@ -0,0 +1,10 @@ +pub mod deploy; +pub mod query; +pub mod wait; + +use web3::{transports::Http, Web3}; + +pub fn get_web3() -> anyhow::Result> { + let web3 = web3::Web3::new(Http::new("http://localhost:8545")?); + Ok(web3) +} diff --git a/subgraph/tests/common/query/mod.rs b/subgraph/tests/common/query/mod.rs new file mode 100644 index 0000000000..15603d3d50 --- /dev/null +++ b/subgraph/tests/common/query/mod.rs @@ -0,0 +1 @@ +pub(crate) mod orderbook; diff --git a/subgraph/tests/common/query/orderbook/mod.rs b/subgraph/tests/common/query/orderbook/mod.rs new file mode 100644 index 0000000000..4abb19fdc4 --- /dev/null +++ b/subgraph/tests/common/query/orderbook/mod.rs @@ -0,0 +1,68 @@ +use self::meta_board::ResponseData; +use crate::common::wait::wait; +use anyhow::anyhow; +use graphql_client::{GraphQLQuery, Response}; +use reqwest::Url; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; +use serde_bytes::ByteBuf as Bytes; +use std::fmt::Debug; +use std::str::FromStr; +use web3::types::{Address, H160, U256}; + +#[derive(GraphQLQuery)] +#[graphql( + // schema_path = "tests/common/query/schema.json", + query_path = "tests/common/query/orderbook/orderbook.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] + +pub struct MetaBoard; + +#[derive(Serialize, Deserialize, Debug)] +pub struct MetaV1Response { + pub id: Address, + pub address: Address, + pub meta_count: U256, + pub metas: Vec, +} + +impl MetaV1Response { + pub fn from(response: ResponseData) -> MetaV1Response { + let meta_board = response.meta_board.unwrap(); + let metas = meta_board.metas.unwrap(); + + MetaV1Response { + id: H160::from_str(&String::from_utf8(meta_board.id.to_vec()).unwrap()).unwrap(), + address: H160::from_str(&String::from_utf8(meta_board.address.to_vec()).unwrap()) + .unwrap(), + meta_count: U256::from_dec_str(&meta_board.meta_count.to_str_radix(16)).unwrap(), + metas: metas + .iter() + .map(|meta| String::from_utf8_lossy(&meta.id.to_vec()).to_string()) + .collect(), + } + } +} + +pub async fn get_meta_board(meta_board_id: &str) -> anyhow::Result { + wait().await?; + + let url = Url::from_str(&"http://localhost:8000/subgraphs/name/test/test")?; + let variables = meta_board::Variables { + metaboard: meta_board_id.to_string().into(), + }; + let request_body = MetaBoard::build_query(variables); + let client = reqwest::Client::new(); + let res = client.post(url.clone()).json(&request_body).send().await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response: MetaV1Response = MetaV1Response::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get metaboard")), + } +} diff --git a/subgraph/tests/common/query/orderbook/orderbook.graphql b/subgraph/tests/common/query/orderbook/orderbook.graphql new file mode 100644 index 0000000000..7386bbb599 --- /dev/null +++ b/subgraph/tests/common/query/orderbook/orderbook.graphql @@ -0,0 +1,10 @@ +query OrderBook($metaboard: String) { + orderbook(id: $metaboard) { + id + deployer + address + meta { + id + } + } +} diff --git a/subgraph/tests/common/query/schema.json b/subgraph/tests/common/query/schema.json new file mode 100644 index 0000000000..12c9222ca7 --- /dev/null +++ b/subgraph/tests/common/query/schema.json @@ -0,0 +1,3600 @@ +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": null, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "name": "skip" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": null, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "name": "include" + }, + { + "args": [], + "description": "Marks the GraphQL type as indexable entity. Each type that should be an entity is required to be annotated with this directive.", + "locations": [ + "OBJECT" + ], + "name": "entity" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "description": "Defined a Subgraph ID for an object type", + "locations": [ + "OBJECT" + ], + "name": "subgraphId" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "field", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "description": "creates a virtual field on the entity that may be queried but cannot be set manually through the mappings API.", + "locations": [ + "FIELD_DEFINITION" + ], + "name": "derivedFrom" + } + ], + "mutationType": null, + "queryType": { + "name": "Query" + }, + "subscriptionType": { + "name": "Subscription" + }, + "types": [ + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigDecimal", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "number_gte", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "hash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "number", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "number_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Block_height", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Bytes", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Float", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "address", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metas", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaV1", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MetaBoard", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaCount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metas_", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaBoard_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaBoard_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "MetaBoard_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "address" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaCount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metas" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "MetaBoard_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "subject", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaBoard", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "payload", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "magicNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentEncoding", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentLanguage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MetaV1", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "subject_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBoard_", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaBoard_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "subject" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard__address" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard__metaCount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "payload" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "magicNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentType" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentEncoding" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentLanguage" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockNumber" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "MetaV1_orderBy", + "possibleTypes": null + }, + { + "description": "Defines the order direction, either ascending or descending", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "asc" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "desc" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderDirection", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard", + "type": { + "kind": "OBJECT", + "name": "MetaBoard", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaBoard_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaBoard_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoards", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaBoard", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaV1", + "type": { + "kind": "OBJECT", + "name": "MetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Access to subgraph metadata", + "isDeprecated": false, + "name": "_meta", + "type": { + "kind": "OBJECT", + "name": "_Meta_", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoard", + "type": { + "kind": "OBJECT", + "name": "MetaBoard", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaBoard_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaBoard_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBoards", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaBoard", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaV1", + "type": { + "kind": "OBJECT", + "name": "MetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Access to subgraph metadata", + "isDeprecated": false, + "name": "_meta", + "type": { + "kind": "OBJECT", + "name": "_Meta_", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Subscription", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The hash of the block", + "isDeprecated": false, + "name": "hash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The block number", + "isDeprecated": false, + "name": "number", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Integer representation of the timestamp stored in blocks for the chain", + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "_Block_", + "possibleTypes": null + }, + { + "description": "The type for the top-level _meta field", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Information about a specific subgraph block. The hash of the block\nwill be null if the _meta field has a block constraint that asks for\na block number. It will be filled if the _meta field has no block constraint\nand therefore asks for the latest block\n", + "isDeprecated": false, + "name": "block", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_Block_", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The deployment ID", + "isDeprecated": false, + "name": "deployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "If `true`, the subgraph encountered indexing errors at some past block", + "isDeprecated": false, + "name": "hasIndexingErrors", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "_Meta_", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": "Data will be returned even if the subgraph has indexing errors", + "isDeprecated": false, + "name": "allow" + }, + { + "deprecationReason": null, + "description": "If the subgraph has indexing errors, data will be omitted. The default.", + "isDeprecated": false, + "name": "deny" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "possibleTypes": null + } + ] + } + } +} \ No newline at end of file diff --git a/subgraph/tests/common/wait/mod.rs b/subgraph/tests/common/wait/mod.rs new file mode 100644 index 0000000000..a75c73f3e9 --- /dev/null +++ b/subgraph/tests/common/wait/mod.rs @@ -0,0 +1,64 @@ +use anyhow::{anyhow, format_err}; +use graphql_client::{GraphQLQuery, Response}; +use reqwest::Url; +use rust_bigint::BigInt; +use std::thread; +use std::{ + str::FromStr, + time::{Duration, SystemTime, UNIX_EPOCH}, +}; +use web3::types::U256; +use self::sync_status::Health; +use super::get_web3; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/common/wait/schema.json", + query_path = "tests/common/wait/query.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] + +pub struct SyncStatus; + +pub async fn wait() -> anyhow::Result { + let block_number = get_web3()?.eth().block_number().await?; + + let url = Url::from_str(&"http://localhost:8030/graphql")?; + let variables = sync_status::Variables {}; + + let request_body = SyncStatus::build_query(variables); + let clint = reqwest::Client::new(); + let deadline = SystemTime::now().duration_since(UNIX_EPOCH)? + Duration::from_secs(5); + + loop { + let current_time = SystemTime::now().duration_since(UNIX_EPOCH)?; + + let response = clint.post(url.clone()).json(&request_body).send().await?; + + let response_body: Response = response.json().await?; + + if let Some(data) = response_body.data.and_then(|data| Some(data)) { + let sync_data = data.indexing_status_for_current_version.unwrap(); + + let chain = &sync_data.chains[0]; + + let latest_block = &chain.latest_block.as_ref().unwrap().number; + let latest_block = U256::from_dec_str(&latest_block.to_str_radix(16)) + .unwrap() + .as_u64(); + + let health = &sync_data.health; + + if sync_data.synced && latest_block >= block_number.as_u64() { + return Ok(true); + } else if let Health::failed = health { + return Err(format_err!("Fatal error : {:?}", response_body.errors)); + } else if deadline < current_time { + return Err(anyhow!("wait function timeout")); + } + } else { + println!("Errors : {:?}", response_body.errors.unwrap()); + } + thread::sleep(Duration::from_secs(1)); + } +} diff --git a/subgraph/tests/common/wait/query.graphql b/subgraph/tests/common/wait/query.graphql new file mode 100644 index 0000000000..30b0189a20 --- /dev/null +++ b/subgraph/tests/common/wait/query.graphql @@ -0,0 +1,20 @@ +query SyncStatus { + indexingStatusForCurrentVersion(subgraphName: "test/test") { + synced + health + fatalError { + message + handler + } + chains { + __typename + + chainHeadBlock { + number + } + latestBlock { + number + } + } + } +} diff --git a/subgraph/tests/common/wait/schema.json b/subgraph/tests/common/wait/schema.json new file mode 100644 index 0000000000..d5436408d4 --- /dev/null +++ b/subgraph/tests/common/wait/schema.json @@ -0,0 +1,1729 @@ +{ + "data": { + "__schema": { + "directives": [], + "mutationType": null, + "queryType": { + "name": "Query" + }, + "subscriptionType": null, + "types": [ + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Version number in SemVer format\n", + "isDeprecated": false, + "name": "version", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ApiVersion", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "hash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "number", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Block", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "hash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "number", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "BlockInput", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Bytes", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "idHash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "block", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contractAddress", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "returnValue", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CachedEthereumCall", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "network", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "chainHeadBlock", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "earliestBlock", + "type": { + "kind": "OBJECT", + "name": "EarliestBlock", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "latestBlock", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "lastHealthyBlock", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": null, + "kind": "INTERFACE", + "name": "ChainIndexingStatus", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "EthereumIndexingStatus", + "ofType": null + } + ] + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Date", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "hash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "number", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "EarliestBlock", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "updates", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityTypeUpdates", + "ofType": null + } + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletions", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityTypeDeletions", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "EntityChanges", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "entities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "EntityTypeDeletions", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "entities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSONObject", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "EntityTypeUpdates", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "network", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "chainHeadBlock", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "earliestBlock", + "type": { + "kind": "OBJECT", + "name": "EarliestBlock", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "latestBlock", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "lastHealthyBlock", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ChainIndexingStatus", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "EthereumIndexingStatus", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "nonFatalErrors" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "grafting" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fullTextSearch" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ipfsOnEthereumContracts" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Feature", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": "Subgraph syncing normally", + "isDeprecated": false, + "name": "healthy" + }, + { + "deprecationReason": null, + "description": "Subgraph syncing but with errors", + "isDeprecated": false, + "name": "unhealthy" + }, + { + "deprecationReason": null, + "description": "Subgraph halted due to errors", + "isDeprecated": false, + "name": "failed" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Health", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "JSONObject", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "hash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "number", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PartialBlock", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "deployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BlockInput", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ProofOfIndexingRequest", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "block", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "There may not be a proof of indexing available for the deployment and block", + "isDeprecated": false, + "name": "proofOfIndexing", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ProofOfIndexingResult", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "deployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "PublicProofOfIndexingRequest", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "block", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PartialBlock", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "proofOfIndexing", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PublicProofOfIndexingResult", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphName", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "indexingStatusForCurrentVersion", + "type": { + "kind": "OBJECT", + "name": "SubgraphIndexingStatus", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphName", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "indexingStatusForPendingVersion", + "type": { + "kind": "OBJECT", + "name": "SubgraphIndexingStatus", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphName", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "indexingStatusesForSubgraphName", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubgraphIndexingStatus", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "indexingStatuses", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubgraphIndexingStatus", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraph", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockHash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "indexer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "proofOfIndexing", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "requests", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PublicProofOfIndexingRequest", + "ofType": null + } + } + } + } + } + ], + "deprecationReason": null, + "description": "Proofs of indexing for several deployments and blocks that can be shared and\ncompared in public without revealing the _actual_ proof of indexing that every\nindexer has in their database\n", + "isDeprecated": false, + "name": "publicProofsOfIndexing", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicProofOfIndexingResult", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "subgraphFeatures", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubgraphFeatures", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "entityChangesInBlock", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EntityChanges", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "network", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockHash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockData", + "type": { + "kind": "SCALAR", + "name": "JSONObject", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "network", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockHashFromNumber", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "network", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockHash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "cachedEthereumCalls", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CachedEthereumCall", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "subgraphId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "apiVersions", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApiVersion", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "message", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "block", + "type": { + "kind": "OBJECT", + "name": "Block", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "handler", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deterministic", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "SubgraphError", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "features", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "Feature", + "ofType": null + } + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "errors", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "network", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "SubgraphFeatures", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "subgraph", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "synced", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "health", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "Health", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "If the subgraph has failed, this is the error caused it", + "isDeprecated": false, + "name": "fatalError", + "type": { + "kind": "OBJECT", + "name": "SubgraphError", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Sorted from first to last, limited to first 1000", + "isDeprecated": false, + "name": "nonFatalErrors", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubgraphError", + "ofType": null + } + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "chains", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ChainIndexingStatus", + "ofType": null + } + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "entityCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "node", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "SubgraphIndexingStatus", + "possibleTypes": null + } + ] + } + } +} \ No newline at end of file diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs index f17902210f..47f7ce024a 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/deploy_orderbook.rs @@ -1,26 +1,128 @@ +#[path = "./generated/abigen/mod.rs"] +mod abigen; +mod common; mod generated; mod utils; -use utils::{deploy::touch_deployer::deploy_touch_deployer, setup::is_sugraph_node_init}; +use common::{ + deploy::{deploy, Config}, + wait::wait, +}; + +use abigen::OrderBook::{EvaluableConfigV2, Io, Order, OrderConfigV2, TakeOrderConfig}; +use hex::FromHex; +use utils::deploy::orderbook::deploy_orderbook; +use utils::gen_abigen::_abigen_rust_generation; +use utils::setup::get_provider; +use utils::utils::_get_block_number; + +use std::ops::Mul; +use std::path::{self, Path}; + +use anyhow::Result; +use ethers::{abi::AbiEncode, prelude::*}; +use ethers::{ + abi::{encode, Token}, + signers::Signer, + types::{Address, Bytes, U256}, +}; + +use utils::deploy::{erc20_mock::deploy_erc20_mock, touch_deployer::deploy_touch_deployer}; +use utils::events::{get_matched_log, get_transfer_event}; +use utils::number::get_amount_tokens; + +use std::fs::File; +use std::io::{self, Read}; +use std::{env, fs}; #[tokio::main] #[test] -async fn orderbook_entity_test() -> anyhow::Result<()> { - // Deploy - let expression_deployer = deploy_touch_deployer(None) +async fn orderbook_entity_test() -> Result<()> { + let provider = get_provider().await.expect("cannot get provider"); + let block_number = _get_block_number(provider.clone()).await; + + let orderbook = deploy_orderbook(None) .await - .expect("cannot deploy expression_deployer"); + .expect("failed when calling deploy orderbook"); - println!( - "i_interpreter: {:?}", - expression_deployer.i_interpreter().await - ); - println!("i_store: {:?}", expression_deployer.i_store().await); - println!("expression_deployer: {:?}", expression_deployer.address()); + let sg_config = Config { + contract_address: orderbook.address().to_string(), + block_number: block_number.as_u64(), + }; - let _ = is_sugraph_node_init() - .await - .expect("cannot check subgraph node"); + let _ = deploy(sg_config).await.expect("cannot deploy sg"); + + // let is_sync = wait().await.expect("cannot get SG sync status"); + // println!("Sg sync: {}", is_sync); + + // _abigen_rust_generation(); + // let mut file = File::open("../meta/OrderBook.rain.meta")?; + + // let wallet_0 = utils::utils::get_wallet(0); + // let wallet_1 = utils::utils::get_wallet(1); + + // // Deploy ExpressionDeployerNP + // let expression_deployer = deploy_touch_deployer(None) + // .await + // .expect("cannot deploy expression_deployer"); + + // /////////////////////////////////////////////// + // // Deploy ERC20 token contract (A) + // let token_a = deploy_erc20_mock(None) + // .await + // .expect("failed on deploy erc20 token A"); + + // // Deploy ERC20 token contract (B) + // let token_b = deploy_erc20_mock(None) + // .await + // .expect("failed on deploy erc20 token B"); + + // // * Build OrderConfig + // // Build IO (input) + // let io_input = Io { + // token: token_a.address(), + // decimals: token_a.decimals().await.unwrap(), + // vault_id: U256::from(0), + // }; + + // // Build IO (output) + // let io_output = Io { + // token: token_b.address(), + // decimals: token_b.decimals().await.unwrap(), + // vault_id: U256::from(0), + // }; + + // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); + // let (bytecode, constants) = expression_deployer + // .parse(data_parse.clone()) + // .await + // .expect("cannot get value from parse"); + + // // An example rain doc (hardcoded - does not contain any well info. Only rain doc well formed) + // let rain_doc = Bytes::from_hex("0xffe5ffb4a3ff2cdea30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e")?; + + // // Build EvaluableConfigV2 + // let eval_config = EvaluableConfigV2 { + // deployer: expression_deployer.address(), + // bytecode, + // constants, + // }; + + // let config = OrderConfigV2 { + // valid_inputs: vec![io_input], + // valid_outputs: vec![io_output], + // evaluable_config: eval_config, + // meta: rain_doc, + // }; + // /////////////////////////////////////////////// + + // let tx = contract.mint(wallet_0.address(), get_amount_tokens(, )).send().await; + // let receipt = tx.await; + // get_transfer_event(contract.clone(), tx).await; + + // let _ = is_sugraph_node_init() + // .await + // .expect("cannot check subgraph node"); Ok(()) } diff --git a/subgraph/tests/generated/ERC20Mock.json b/subgraph/tests/generated/ERC20Mock.json new file mode 100644 index 0000000000..80c49e620d --- /dev/null +++ b/subgraph/tests/generated/ERC20Mock.json @@ -0,0 +1,1271 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "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" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b506040518060400160405280600981526020016845524332304d6f636b60b81b815250604051806040016040528060048152602001634532304d60e01b81525081600390816200006291906200011f565b5060046200007182826200011f565b505050620001eb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a557607f821691505b602082108103620000c657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011a57600081815260208120601f850160051c81016020861015620000f55750805b601f850160051c820191505b81811015620001165782815560010162000101565b5050505b505050565b81516001600160401b038111156200013b576200013b6200007a565b62000153816200014c845462000090565b84620000cc565b602080601f8311600181146200018b5760008415620001725750858301515b600019600386901b1c1916600185901b17855562000116565b600085815260208120601f198616915b82811015620001bc578886015182559484019460019091019084016200019b565b5085821015620001db5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610aa280620001fb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101a2578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806340c10f191461015c57806370a082311461017157806395d89b411461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e991906108ec565b60405180910390f35b610105610100366004610956565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610980565b61029a565b604051601281526020016100e9565b610105610157366004610956565b6102be565b61016f61016a366004610956565b6102e0565b005b61011961017f3660046109bc565b6001600160a01b031660009081526020819052604090205490565b6100dc6102ee565b61016f6101b0366004610956565b6102fd565b6101056101c3366004610956565b610307565b6101056101d6366004610956565b610387565b6101196101e93660046109de565b610395565b6060600380546101fd90610a11565b80601f016020809104026020016040519081016040528092919081815260200182805461022990610a11565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103c0565b60019150505b92915050565b6000336102a88582856104e5565b6102b385858561055f565b506001949350505050565b60003361028e8185856102d18383610395565b6102db9190610a4b565b6103c0565b6102ea8282610703565b5050565b6060600480546101fd90610a11565b6102ea82826107c2565b600033816103158286610395565b90508381101561037a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b382868684036103c0565b60003361028e81858561055f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b0382166104835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610371565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104f18484610395565b90506000198114610559578181101561054c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610371565b61055984848484036103c0565b50505050565b6001600160a01b0383166105c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610371565b6001600160a01b0382166106255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610371565b6001600160a01b0383166000908152602081905260409020548181101561069d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610371565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610559565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610371565b806002600082825461076b9190610a4b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166108225760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610371565b6001600160a01b038216600090815260208190526040902054818110156108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610371565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104d8565b600060208083528351808285015260005b81811015610919578581018301518582016040015282016108fd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095157600080fd5b919050565b6000806040838503121561096957600080fd5b6109728361093a565b946020939093013593505050565b60008060006060848603121561099557600080fd5b61099e8461093a565b92506109ac6020850161093a565b9150604084013590509250925092565b6000602082840312156109ce57600080fd5b6109d78261093a565b9392505050565b600080604083850312156109f157600080fd5b6109fa8361093a565b9150610a086020840161093a565b90509250929050565b600181811c90821680610a2557607f821691505b602082108103610a4557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561029457634e487b7160e01b600052601160045260246000fdfea26469706673582212202d7597b2dd2f4b94ffb19355f2921eb82c48391601c4fa9d14d5912e7bb8ee6464736f6c63430008130033", + "sourceMap": "106:281:87:-:0;;;140:43;;;;;;;;;;1980:113:175;;;;;;;;;;;;;-1:-1:-1;;;1980:113:175;;;;;;;;;;;;;;;;-1:-1:-1;;;1980:113:175;;;2054:5;2046;:13;;;;;;:::i;:::-;-1:-1:-1;2069:7:175;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;106:281:87;;14:127:287;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:287;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:287;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:287;;;2580:26;2531:89;-1:-1:-1;;1335:1:287;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:287;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:287;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:287;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:287:o;:::-;106:281:87;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101a2578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806340c10f191461015c57806370a082311461017157806395d89b411461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e991906108ec565b60405180910390f35b610105610100366004610956565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610980565b61029a565b604051601281526020016100e9565b610105610157366004610956565b6102be565b61016f61016a366004610956565b6102e0565b005b61011961017f3660046109bc565b6001600160a01b031660009081526020819052604090205490565b6100dc6102ee565b61016f6101b0366004610956565b6102fd565b6101056101c3366004610956565b610307565b6101056101d6366004610956565b610387565b6101196101e93660046109de565b610395565b6060600380546101fd90610a11565b80601f016020809104026020016040519081016040528092919081815260200182805461022990610a11565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103c0565b60019150505b92915050565b6000336102a88582856104e5565b6102b385858561055f565b506001949350505050565b60003361028e8185856102d18383610395565b6102db9190610a4b565b6103c0565b6102ea8282610703565b5050565b6060600480546101fd90610a11565b6102ea82826107c2565b600033816103158286610395565b90508381101561037a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b382868684036103c0565b60003361028e81858561055f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b0382166104835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610371565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104f18484610395565b90506000198114610559578181101561054c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610371565b61055984848484036103c0565b50505050565b6001600160a01b0383166105c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610371565b6001600160a01b0382166106255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610371565b6001600160a01b0383166000908152602081905260409020548181101561069d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610371565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610559565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610371565b806002600082825461076b9190610a4b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166108225760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610371565b6001600160a01b038216600090815260208190526040902054818110156108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610371565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104d8565b600060208083528351808285015260005b81811015610919578581018301518582016040015282016108fd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095157600080fd5b919050565b6000806040838503121561096957600080fd5b6109728361093a565b946020939093013593505050565b60008060006060848603121561099557600080fd5b61099e8461093a565b92506109ac6020850161093a565b9150604084013590509250925092565b6000602082840312156109ce57600080fd5b6109d78261093a565b9392505050565b600080604083850312156109f157600080fd5b6109fa8361093a565b9150610a086020840161093a565b90509250929050565b600181811c90821680610a2557607f821691505b602082108103610a4557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561029457634e487b7160e01b600052601160045260246000fdfea26469706673582212202d7597b2dd2f4b94ffb19355f2921eb82c48391601c4fa9d14d5912e7bb8ee6464736f6c63430008130033", + "sourceMap": "106:281:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98:175;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:287;;1162:22;1144:41;;1132:2;1117:18;4444:197:175;1004:187:287;3255:106:175;3342:12;;3255:106;;;1342:25:287;;;1330:2;1315:18;3255:106:175;1196:177:287;5203:256:175;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:287;;1841:2;1826:18;3104:91:175;1711:184:287;5854:234:175;;;;;;:::i;:::-;;:::i;189:95:87:-;;;;;;:::i;:::-;;:::i;:::-;;3419:125:175;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:175;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;290:95:87:-;;;;;;:::i;:::-;;:::i;6575:427:175:-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:221;4581:32:175;719:10:221;4597:7:175;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:221;5356:38:175;5372:4;719:10:221;5387:6:175;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:175;;5203:256;-1:-1:-1;;;;5203:256:175:o;5854:234::-;5942:4;719:10:221;5996:64:175;719:10:221;6012:7:175;6049:10;6021:25;719:10:221;6012:7:175;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;189:95:87:-;255:22;261:7;270:6;255:5;:22::i;:::-;189:95;;:::o;2369:102:175:-;2425:13;2457:7;2450:14;;;;;:::i;290:95:87:-;356:22;362:7;371:6;356:5;:22::i;6575:427:175:-;6668:4;719:10:221;6668:4:175;6749:25;719:10:221;6766:7:175;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:175;;3170:2:287;6784:85:175;;;3152:21:287;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:287;;;3292:35;3344:19;;6784:85:175;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:221;3873:28:175;719:10:221;3890:2:175;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:175;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:175;;10550:68;;;;-1:-1:-1;;;10550:68:175;;3576:2:287;10550:68:175;;;3558:21:287;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:287;;;3698:34;3749:19;;10550:68:175;3374:400:287;10550:68:175;-1:-1:-1;;;;;10636:21:175;;10628:68;;;;-1:-1:-1;;;10628:68:175;;3981:2:287;10628:68:175;;;3963:21:287;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:287;;;4103:32;4152:19;;10628:68:175;3779:398:287;10628:68:175;-1:-1:-1;;;;;10707:18:175;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:287;;;10758:32:175;;1315:18:287;10758:32:175;;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:175;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:175;;4384:2:287;11297:68:175;;;4366:21:287;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:175;4182:353:287;11297:68:175;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:175;;7544:68;;;;-1:-1:-1;;;7544:68:175;;4742:2:287;7544:68:175;;;4724:21:287;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:287;;;4864:35;4916:19;;7544:68:175;4540:401:287;7544:68:175;-1:-1:-1;;;;;7630:16:175;;7622:64;;;;-1:-1:-1;;;7622:64:175;;5148:2:287;7622:64:175;;;5130:21:287;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:287;;;5270:33;5320:19;;7622:64:175;4946:399:287;7622:64:175;-1:-1:-1;;;;;7768:15:175;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:175;;5552:2:287;7793:72:175;;;5534:21:287;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:287;;;5674:36;5727:19;;7793:72:175;5350:402:287;7793:72:175;-1:-1:-1;;;;;7899:15:175;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:287;;;8114:13:175;;8163:26;;1315:18:287;8163:26:175;;;;;;;8200:37;9375:659;8520:535;-1:-1:-1;;;;;8603:21:175;;8595:65;;;;-1:-1:-1;;;8595:65:175;;5959:2:287;8595:65:175;;;5941:21:287;5998:2;5978:18;;;5971:30;6037:33;6017:18;;;6010:61;6088:18;;8595:65:175;5757:355:287;8595:65:175;8747:6;8731:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8899:18:175;;:9;:18;;;;;;;;;;;:28;;;;;;8952:37;1342:25:287;;;8952:37:175;;1315:18:287;8952:37:175;;;;;;;189:95:87;;:::o;9375:659:175:-;-1:-1:-1;;;;;9458:21:175;;9450:67;;;;-1:-1:-1;;;9450:67:175;;6319:2:287;9450:67:175;;;6301:21:287;6358:2;6338:18;;;6331:30;6397:34;6377:18;;;6370:62;-1:-1:-1;;;6448:18:287;;;6441:31;6489:19;;9450:67:175;6117:397:287;9450:67:175;-1:-1:-1;;;;;9613:18:175;;9588:22;9613:18;;;;;;;;;;;9649:24;;;;9641:71;;;;-1:-1:-1;;;9641:71:175;;6721:2:287;9641:71:175;;;6703:21:287;6760:2;6740:18;;;6733:30;6799:34;6779:18;;;6772:62;-1:-1:-1;;;6850:18:287;;;6843:32;6892:19;;9641:71:175;6519:398:287;9641:71:175;-1:-1:-1;;;;;9746:18:175;;:9;:18;;;;;;;;;;;9767:23;;;9746:44;;9883:12;:22;;;;;;;9931:37;1342:25:287;;;9746:9:175;;:18;9931:37;;1315:18:287;9931:37:175;1196:177:287;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:287;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:287:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:287:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "increaseAllowance(address,uint256)": "39509351", + "mint(address,uint256)": "40c10f19", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin/=contracts/\"]},\"sources\":{\"contracts/mocks/ERC20Mock.sol\":{\"keccak256\":\"0x84e74b44b4a040b78c59f5775b3488568a52b6c444936c7da270d77b8978803a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c3b5d3c0abdf59181985086fa335519b96f3a9489570ee1188fd293b08a7b6f\",\"dweb:/ipfs/Qmey8qcStYDSubZatenoeRoM1ibkpd4nv6Ggdw4sHpct6P\"]},\"contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "spender", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin/=contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "contracts/mocks/ERC20Mock.sol": "ERC20Mock" + }, + "libraries": {} + }, + "sources": { + "contracts/mocks/ERC20Mock.sol": { + "keccak256": "0x84e74b44b4a040b78c59f5775b3488568a52b6c444936c7da270d77b8978803a", + "urls": [ + "bzz-raw://0c3b5d3c0abdf59181985086fa335519b96f3a9489570ee1188fd293b08a7b6f", + "dweb:/ipfs/Qmey8qcStYDSubZatenoeRoM1ibkpd4nv6Ggdw4sHpct6P" + ], + "license": "MIT" + }, + "contracts/token/ERC20/ERC20.sol": { + "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", + "urls": [ + "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", + "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" + ], + "license": "MIT" + }, + "contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", + "urls": [ + "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", + "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" + ], + "license": "MIT" + }, + "contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "contracts/mocks/ERC20Mock.sol", + "id": 10831, + "exportedSymbols": { + "ERC20": [ + 22925 + ], + "ERC20Mock": [ + 10830 + ] + }, + "nodeType": "SourceUnit", + "src": "32:356:87", + "nodes": [ + { + "id": 10791, + "nodeType": "PragmaDirective", + "src": "32:23:87", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] + }, + { + "id": 10793, + "nodeType": "ImportDirective", + "src": "57:47:87", + "nodes": [], + "absolutePath": "contracts/token/ERC20/ERC20.sol", + "file": "../token/ERC20/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 10831, + "sourceUnit": 22926, + "symbolAliases": [ + { + "foreign": { + "id": 10792, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22925, + "src": "65:5:87", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 10830, + "nodeType": "ContractDefinition", + "src": "106:281:87", + "nodes": [ + { + "id": 10803, + "nodeType": "FunctionDefinition", + "src": "140:43:87", + "nodes": [], + "body": { + "id": 10802, + "nodeType": "Block", + "src": "181:2:87", + "nodes": [], + "statements": [] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "45524332304d6f636b", + "id": 10798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "160:11:87", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33e204670039f8eeeb54743b50a42c4eacdfe9c2a99e7c90a68653a84d2870ae", + "typeString": "literal_string \"ERC20Mock\"" + }, + "value": "ERC20Mock" + }, + { + "hexValue": "4532304d", + "id": 10799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:6:87", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e146b19f4863aaa90bb9ad2c640c77b569e376541b06949c872e8cb5e47c42ef", + "typeString": "literal_string \"E20M\"" + }, + "value": "E20M" + } + ], + "id": 10800, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 10797, + "name": "ERC20", + "nameLocations": [ + "154:5:87" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22925, + "src": "154:5:87" + }, + "nodeType": "ModifierInvocation", + "src": "154:26:87" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 10796, + "nodeType": "ParameterList", + "parameters": [], + "src": "151:2:87" + }, + "returnParameters": { + "id": 10801, + "nodeType": "ParameterList", + "parameters": [], + "src": "181:0:87" + }, + "scope": 10830, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 10816, + "nodeType": "FunctionDefinition", + "src": "189:95:87", + "nodes": [], + "body": { + "id": 10815, + "nodeType": "Block", + "src": "245:39:87", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10811, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10805, + "src": "261:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10812, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10807, + "src": "270:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10810, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22742, + "src": "255:5:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 10813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "255:22:87", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10814, + "nodeType": "ExpressionStatement", + "src": "255:22:87" + } + ] + }, + "functionSelector": "40c10f19", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "198:4:87", + "parameters": { + "id": 10808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10805, + "mutability": "mutable", + "name": "account", + "nameLocation": "211:7:87", + "nodeType": "VariableDeclaration", + "scope": 10816, + "src": "203:15:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "203:7:87", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10807, + "mutability": "mutable", + "name": "amount", + "nameLocation": "228:6:87", + "nodeType": "VariableDeclaration", + "scope": 10816, + "src": "220:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "220:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "202:33:87" + }, + "returnParameters": { + "id": 10809, + "nodeType": "ParameterList", + "parameters": [], + "src": "245:0:87" + }, + "scope": 10830, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10829, + "nodeType": "FunctionDefinition", + "src": "290:95:87", + "nodes": [], + "body": { + "id": 10828, + "nodeType": "Block", + "src": "346:39:87", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10824, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10818, + "src": "362:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10825, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10820, + "src": "371:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10823, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22814, + "src": "356:5:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 10826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "356:22:87", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10827, + "nodeType": "ExpressionStatement", + "src": "356:22:87" + } + ] + }, + "functionSelector": "9dc29fac", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "299:4:87", + "parameters": { + "id": 10821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10818, + "mutability": "mutable", + "name": "account", + "nameLocation": "312:7:87", + "nodeType": "VariableDeclaration", + "scope": 10829, + "src": "304:15:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "304:7:87", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10820, + "mutability": "mutable", + "name": "amount", + "nameLocation": "329:6:87", + "nodeType": "VariableDeclaration", + "scope": 10829, + "src": "321:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "321:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "303:33:87" + }, + "returnParameters": { + "id": 10822, + "nodeType": "ParameterList", + "parameters": [], + "src": "346:0:87" + }, + "scope": 10830, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10794, + "name": "ERC20", + "nameLocations": [ + "128:5:87" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22925, + "src": "128:5:87" + }, + "id": 10795, + "nodeType": "InheritanceSpecifier", + "src": "128:5:87" + } + ], + "canonicalName": "ERC20Mock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 10830, + 22925, + 25478, + 23003, + 32336 + ], + "name": "ERC20Mock", + "nameLocation": "115:9:87", + "scope": 10831, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 87 +} \ No newline at end of file diff --git a/subgraph/tests/generated/OrderBook.json b/subgraph/tests/generated/OrderBook.json new file mode 100644 index 0000000000..273aec993e --- /dev/null +++ b/subgraph/tests/generated/OrderBook.json @@ -0,0 +1,33887 @@ +{ + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", + "name": "config", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ActiveDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "name": "FlashLenderCallbackFailed", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "name": "InvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "name": "MinimumInput", + "type": "error" + }, + { + "inputs": [], + "name": "NoOrders", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NotOrderOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "name": "NotRainMetaV1", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoHandleIO", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoInputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoOutputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoSources", + "type": "error" + }, + { + "inputs": [], + "name": "ReentrancyGuardReentrantCall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "SameOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "name": "SourceOffsetOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "aliceTokenDecimals", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "bobTokenDecimals", + "type": "uint8" + } + ], + "name": "TokenDecimalsMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "name": "TokenMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "name": "UnexpectedMetaHash", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "ZeroDepositAmount", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroReceiver", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "ZeroWithdrawTargetAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IExpressionDeployerV2", + "name": "expressionDeployer", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "AddOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple" + } + ], + "name": "AfterClear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + } + ], + "name": "Clear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + } + ], + "name": "Context", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subject", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "name": "MetaV1", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderExceedsMaxRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderNotFound", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderZeroAmount", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "RemoveOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "input", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "output", + "type": "uint256" + } + ], + "name": "TakeOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IExpressionDeployerV2", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ], + "internalType": "struct EvaluableConfigV2", + "name": "evaluableConfig", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct OrderConfigV2", + "name": "config", + "type": "tuple" + } + ], + "name": "addOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext", + "type": "tuple[]" + } + ], + "name": "clear", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + } + ], + "name": "removeOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct TakeOrdersConfigV2", + "name": "config", + "type": "tuple" + } + ], + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalTakerInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalTakerOutput", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517f71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee90829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "8997:33509:172:-:0;;;1858:76:169;;;-1:-1:-1;;;;;;1858:76:169;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:172;1821:22:22;1109:11:79;;;;6419:66:172;;10962:6;;1075:46:79;;6419:66:172;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:172;8997:33509;;1424:292:154;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:154;;;;;3082:25:209;;;3123:18;;;3116:34;;;3055:18;;1619:46:154;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:93:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:93;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:93;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:93:o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:154;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;-1:-1:-1;;;;;825:32:154;667:18:153;883:36:154;;550:376::o;14:127:209:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:209;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:209;508:40;;-1:-1:-1;;;;;563:34:209;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:209:o;687:131::-;-1:-1:-1;;;;;762:31:209;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:209;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:209;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:209;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:209;;;2179:29;-1:-1:-1;2190:5:209;1078:1160;-1:-1:-1;;;1078:1160:209:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:209;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:209:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:209:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:209;;3161:435;-1:-1:-1;;;;;3161:435:209:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:209;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:209;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:209:o;:::-;8997:33509:172;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "8997:33509:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:209;;904:22;886:41;;874:2;859:18;11833:151:172;;;;;;;;5614:2666:169;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:209;;;2296:2;2281:18;8721:162:169;2162:177:209;13693:2174:172;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:209;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:172;3147:248:209;24689:4247:172;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:172:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:169:-;;;;;;:::i;:::-;;:::i;15906:448:172:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:172::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:172::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:209::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:172::1;::::0;15943:3:209;15928:19;12422:43:172::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:172;;;:::o;2303:20:22:-;12023:640:172;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:172::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:169:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:175;6965:6:169;:40;6961:111;;7028:33;;;;;;;;2308:25:209;;;2281:18;;7028:33:169;2162:177:209;6961:111:169;7450:14;;;-1:-1:-1;7482:10:169;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:169;;5614:2666;-1:-1:-1;;;;;;5614:2666:169:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:209;8838:23:169;;;;;;17954:18:209;;8838:38:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:169:o;13693:2174:172:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:172::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:172::1;::::0;-1:-1:-1;;;13824:56:172:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:209::0;17954:18;;13933:26:172::1;17835:226:209::0;13890:80:172::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:209::0;17954:18;;14022:27:172::1;17835:226:209::0;13979:81:172::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:209::0;17954:18;;14126:25:172::1;17835:226:209::0;14069:93:172::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:209::0;17954:18;;14229:26:172::1;17835:226:209::0;14171:95:172::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:160::0;3277:11;;3335:1:172::1;3301:16:160::0;;;3348:4;3337:16;;3330:27;3574:1:172::1;3377:16:160::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:172::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:172::1;::::0;-1:-1:-1;14882:27:172::1;::::0;-1:-1:-1;;14882:102:172:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:172::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:172::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:172::1;::::0;-1:-1:-1;;;15724:38:172:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:172;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:172::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:172::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:172;-1:-1:-1;17129:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:172::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:172::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:209;28256:15;;;17240:199:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:172::1;28003:327:209::0;17031:423:172::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:172::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:209;28706:17;;;18246:213:172::1;::::0;::::1;28688:36:209::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:172::1;28522:262:209::0;18031:443:172::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:172::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:172::1;::::0;15512:2:209;15497:18;19124:49:172::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:172::1;::::0;15512:2:209;15497:18;19933:56:172::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:172::1;::::0;15512:2:209;15497:18;20103:51:172::1;15322:398:209::0;20014:2488:172::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:172::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:149;21000:27:172;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:149;21906:13:172;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:172::1;::::0;-1:-1:-1;22120:76:172::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:149;22120:41:172;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:172::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:172::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:172::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:172;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:209::0;3362:18;;;3355:34;;;3294:18;;22729:50:172::1;3147:248:209::0;22665:125:172::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:172::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:172::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:172::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:172::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:172::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:172;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:172;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:209;17999:55;;;25011:22:172::1;::::0;::::1;17981:74:209::0;17954:18;;25011:22:172::1;17835:226:209::0;24956:92:172::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:209;28256:15;;;25252:181:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:172::1;28003:327:209::0;25061:387:172::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:209::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:172::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:209;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:172::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:172;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:172::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:172::1;-1:-1:-1::0;;28889:40:172::1;::::0;;28900:10:::1;32657:74:209::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:172::1;::::0;32644:3:209;32629:19;28889:40:172::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:172;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:172:-;2261:21:22;:19;:21::i;:::-;12810:12:172::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:172::1;15322:398:209::0;12806:107:172::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:172;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:209;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:172::1;::::0;33416:3:209;33401:19;13491:66:172::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:172;11720:7;3098::22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:172::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:172::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:209;28256:15;;;16061:38:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:172::1;28003:327:209::0;16009:101:172::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:172;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:172::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:209;2460:63:22;;;37243:21:209;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:209;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:209;15603:15;;;1482:68:27;;;15585:34:209;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:209;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:169:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:209;2555:7:169;;;;15635:18:209;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:169;15322:398:209;2481:109:169;2429:167::o;941:175:27:-;1050:58;;37623:42:209;37611:55;;1050:58:27;;;37593:74:209;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:209;;1050:58:27;37419:297:209;2258:165:169;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:169;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:169;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:91:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:91;;476:349;-1:-1:-1;476:349:91:o;568:59::-;-1:-1:-1;802:4:91;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:91:o;537:118:180:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:172:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:172;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:172;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:172;;4055:4:160;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:172;;;;4149:16:160;;;4142:27;30311:30:172;;;3967:22:160;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:172;;-1:-1:-1;30160:14:172;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:160;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:172;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:160;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:172;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:172;;;;;;;;;;;-1:-1:-1;;;;34596:141:172;;;;-1:-1:-1;34596:141:172;29640:5114::o;6057:849:151:-;6141:7;6211:8;253:2:149;6188:31:151;6184:706;;;253:2:149;6259:31:151;;;503:6:149;6312:21:151;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:149;6517:8:151;:31;6513:377;;;6590:31;;;416:1:149;6643:21:151;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:151;6867:8;;649:163:150;741:7;767:38;:1;776;339:4:149;796:8:150;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:150:o;7325:878:151:-;7414:7;7484:14;253:2:149;7461:37:151;7457:730;;;253:2:149;7540:37:151;;;416:1:149;7599:21:151;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:149;7809:14:151;:37;7805:382;;;7886:37;;;503:6:149;7945:21:151;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:172:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:172;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:172;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:172;-1:-1:-1;38505:22:172;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:169:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:169;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:169;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:169;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:172:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:172;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:209;5720:111:27;;;42026:21:209;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:209;1950:412:91;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:91:o;550:376:154:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;691:16;825:32;667:18:153;883:36:154;;550:376::o;7166:2290:92:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:92;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:160;3277:11;;3315:1;3301:16;;2288:10:92;3348:4:160;3337:16;;3330:27;2326:4:92;3377:16:160;;;3370:27;2211:16:92;3423::160;;3410:30;;;3277:11;2258:165:169;7817:17:92;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:92;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:146;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:92;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:92;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:209;;;2281:18;;9164:19:92;2162:177:209;8196:1010:92;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:92;7166:2290;-1:-1:-1;;;;;7166:2290:92:o;42090:213:172:-;42167:15;1048:2:94;1016:34;;;;;3455:1:172;1015:100:94;42201:95:172;816:316:94;3534:689:151;3614:9;726:2:149;3663:9:151;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:151;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:149;3179:9:151;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:151;;2590:688;-1:-1:-1;;2590:688:151:o;5172:598::-;5253:9;726:2:149;5302:11:151;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:151;5715:6;;5172:598;-1:-1:-1;;5172:598:151:o;4596:207::-;4670:7;726:2:149;4720:11:151;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:172:-;42380:15;1055:46:94;1048:2;1016:34;;;;;1015:87;42414:83:172;816:316:94;40029:2055:172;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:172;;;40835:183;;;-1:-1:-1;40992:13:172;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:172:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:91:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:91;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:91;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:209;2952:53:36;;;45067:21:209;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:209;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:209;8113:60:28;;;45417:21:209;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:209;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:209;5354:81:28;;;45775:21:209;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:209;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:209;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:209;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:209:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:209;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:209:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:209;;561:180;-1:-1:-1;561:180:209:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:209;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:209;1437:18;;1424:32;;-1:-1:-1;1507:2:209;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:209;;-1:-1:-1;1871:2:209;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:209:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:209:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:209:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:209;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:209;;5790:703;-1:-1:-1;;;;;;;5790:703:209:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:209:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:209;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:209;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:209;;-1:-1:-1;;10648:12:209;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:209;8145:2554;-1:-1:-1;;;;;;8145:2554:209:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:209;;-1:-1:-1;;;;12066:626:209:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:209;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:209:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:209;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:209;;13286:859;-1:-1:-1;;;;;;;13286:859:209:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:209;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:209;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:209:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:209:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:209;;17464:184;-1:-1:-1;17464:184:209:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:209:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:209;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:209;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:209;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:209;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:209;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:209;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:209;;20766:435;-1:-1:-1;;;;;20766:435:209:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:209;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:209;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:209;26645:966;-1:-1:-1;;26645:966:209:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:209;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:209;30554:9;30525:685;;;-1:-1:-1;31249:18:209;;;31242:34;;;;-1:-1:-1;;31292:18:209;;;31285:34;;;;-1:-1:-1;31227:6:209;;29325:2000;-1:-1:-1;;;;;;29325:2000:209:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:209;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:209;;-1:-1:-1;34383:18:209;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:209;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:209;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:209;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:209;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:209;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:209:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": "847a1bc9", + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", + "deposit(address,uint256,uint256)": "0efe6a8b", + "flashFee(address,uint256)": "d9d98ce4", + "flashLoan(address,address,uint256,bytes)": "5cffe9de", + "maxFlashLoan(address)": "613255ab", + "multicall(bytes[])": "ac9650d8", + "orderExists(bytes32)": "2cb77e9f", + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": "8a44689c", + "vaultBalance(address,address,uint256)": "d97b2e48", + "withdraw(address,uint256,uint256)": "b5c5f672" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV2ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoOrders\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoSources\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"aliceTokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"bobTokenDecimals\",\"type\":\"uint8\"}],\"name\":\"TokenDecimalsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroDepositAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroWithdrawTargetAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV2\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTakerInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTakerOutput\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"OrderNoHandleIO(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoInputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoOutputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoSources(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"params\":{\"aliceTokenDecimals\":\"The input or output decimals of one order.\",\"bobTokenDecimals\":\"The input or output decimals of the other order.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}],\"ZeroDepositAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` depositing tokens.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` withdrawing tokens.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the target amount if the vault does not have the funds available to cover the target amount. For example an active order might move tokens before the withdraw completes.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\",\"targetAmount\":\"The amount of tokens requested to withdraw.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"},\"returns\":{\"stateChanged\":\"True if the order was added, false if it already existed.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"token\":\"The token to deposit.\",\"vaultId\":\"The vault ID to deposit under.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"_0\":\"True if the order exists, false otherwise.\"}},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"},\"returns\":{\"stateChanged\":\"True if the order was removed, false if it did not exist.\"}},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalTakerInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalTakerOutput\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"vaultBalance(address,address,uint256)\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"returns\":{\"_0\":\"The current balance of the vault.\"}},\"withdraw(address,uint256,uint256)\":{\"params\":{\"targetAmount\":\"The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.\",\"token\":\"The token to withdraw.\",\"vaultId\":\"The vault ID to withdraw from.\"}}},\"stateVariables\":{\"sVaultBalances\":{\"details\":\"Vault balances are stored in a mapping of owner => token => vault ID This gives 1:1 parity with the `IOrderBookV1` interface but keeping the `sFoo` naming convention for storage variables.\"}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NoOrders()\":[{\"notice\":\"Thrown when take orders is called with no orders.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"OrderNoHandleIO(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"This will exist in a future version of Open Zeppelin if their main branch is to be believed.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"notice\":\"Thrown when the input and output token decimals don't match, in either direction.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroAmount()\":[{\"notice\":\"Thrown when `flashLoan` amount is zero.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `withdraw` if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens if the vault balance is zero, or the withdrawal is used to repay a flash loan.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,bytes32)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"orderExists(bytes32)\":{\"notice\":\"Returns true if the order exists, false otherwise.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw(address,uint256,uint256)\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0\",\"dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol\":{\"keccak256\":\"0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a\",\"dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768\",\"dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibContext.sol\":{\"keccak256\":\"0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05\",\"dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF\"]},\"lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb\",\"dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c\",\"dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP\"]},\"lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28\",\"dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"src/abstract/OrderBookV3FlashLender.sol\":{\"keccak256\":\"0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa\",\"dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86\",\"dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798\",\"dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc\",\"dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206\",\"dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "type": "error", + "name": "ActiveDebt" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "type": "error", + "name": "FlashLenderCallbackFailed" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "type": "error", + "name": "InvalidSignature" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "type": "error", + "name": "MinimumInput" + }, + { + "inputs": [], + "type": "error", + "name": "NoOrders" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "NotOrderOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "type": "error", + "name": "NotRainMetaV1" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoHandleIO" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoInputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoOutputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoSources" + }, + { + "inputs": [], + "type": "error", + "name": "ReentrancyGuardReentrantCall" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "SameOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "SourceOffsetOutOfBounds" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "aliceTokenDecimals", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "bobTokenDecimals", + "type": "uint8" + } + ], + "type": "error", + "name": "TokenDecimalsMismatch" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "type": "error", + "name": "TokenMismatch" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedMetaHash" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroAmount" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroDepositAmount" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroReceiver" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroToken" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroWithdrawTargetAmount" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "contract IExpressionDeployerV2", + "name": "expressionDeployer", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "AddOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "AfterClear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "Clear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]", + "indexed": false + } + ], + "type": "event", + "name": "Context", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "token", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Deposit", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "subject", + "type": "uint256", + "indexed": false + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "MetaV1", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderExceedsMaxRatio", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderNotFound", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderZeroAmount", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "RemoveOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "TakeOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "token", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Withdraw", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "struct OrderConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct EvaluableConfigV2", + "name": "evaluableConfig", + "type": "tuple", + "components": [ + { + "internalType": "contract IExpressionDeployerV2", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ] + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "addOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clear" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deposit" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function", + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "removeOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct TakeOrdersConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ] + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalTakerInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalTakerOutput", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { + "params": { + "config": "All config required to build an `Order`." + }, + "returns": { + "stateChanged": "True if the order was added, false if it already existed." + } + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "params": { + "alice": "Some order to clear.", + "aliceSignedContext": "Optional signed context that is relevant to A.", + "bob": "Another order to clear.", + "bobSignedContext": "Optional signed context that is relevant to B.", + "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." + } + }, + "deposit(address,uint256,uint256)": { + "params": { + "amount": "The amount of tokens to deposit.", + "token": "The token to deposit.", + "vaultId": "The vault ID to deposit under." + } + }, + "flashFee(address,uint256)": { + "details": "The fee to be charged for a given loan.", + "params": { + "amount": "The amount of tokens lent.", + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." + } + }, + "flashLoan(address,address,uint256,bytes)": { + "details": "Initiate a flash loan.", + "params": { + "amount": "The amount of tokens lent.", + "data": "Arbitrary data structure, intended to contain user-defined parameters.", + "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", + "token": "The loan currency." + } + }, + "maxFlashLoan(address)": { + "details": "The amount of currency available to be lent.", + "params": { + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` that can be borrowed." + } + }, + "multicall(bytes[])": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Receives and executes a batch of function calls on this contract." + }, + "orderExists(bytes32)": { + "params": { + "orderHash": "The hash of the order to check." + }, + "returns": { + "_0": "True if the order exists, false otherwise." + } + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "params": { + "order": "The `Order` data exactly as it was added." + }, + "returns": { + "stateChanged": "True if the order was removed, false if it did not exist." + } + }, + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { + "params": { + "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." + }, + "returns": { + "totalTakerInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", + "totalTakerOutput": "Total tokens taken from `msg.sender` and distributed between vaults." + } + }, + "vaultBalance(address,address,uint256)": { + "params": { + "id": "The vault ID to read.", + "owner": "The owner of the vault.", + "token": "The token the vault is for." + }, + "returns": { + "_0": "The current balance of the vault." + } + }, + "withdraw(address,uint256,uint256)": { + "params": { + "targetAmount": "The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.", + "token": "The token to withdraw.", + "vaultId": "The vault ID to withdraw from." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { + "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true." + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" + }, + "constructor": { + "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." + }, + "deposit(address,uint256,uint256)": { + "notice": "Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero." + }, + "maxFlashLoan(address)": { + "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." + }, + "orderExists(bytes32)": { + "notice": "Returns true if the order exists, false otherwise." + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." + }, + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { + "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." + }, + "vaultBalance(address,address,uint256)": { + "notice": "Get the current balance of a vault for a given owner, token and vault ID." + }, + "withdraw(address,uint256,uint256)": { + "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "src/concrete/OrderBook.sol": "OrderBook" + }, + "libraries": {} + }, + "sources": { + "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": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", + "urls": [ + "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", + "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", + "urls": [ + "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", + "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1", + "urls": [ + "bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68", + "dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { + "keccak256": "0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4", + "urls": [ + "bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0", + "dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58", + "urls": [ + "bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2", + "dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { + "keccak256": "0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80", + "urls": [ + "bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d", + "dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol": { + "keccak256": "0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db", + "urls": [ + "bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a", + "dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { + "keccak256": "0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6", + "urls": [ + "bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768", + "dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { + "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", + "urls": [ + "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", + "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { + "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", + "urls": [ + "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", + "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibContext.sol": { + "keccak256": "0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a", + "urls": [ + "bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05", + "dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol": { + "keccak256": "0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085", + "urls": [ + "bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb", + "dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { + "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", + "urls": [ + "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", + "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { + "keccak256": "0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364", + "urls": [ + "bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c", + "dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { + "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", + "urls": [ + "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", + "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol": { + "keccak256": "0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc", + "urls": [ + "bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28", + "dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { + "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", + "urls": [ + "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", + "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" + ], + "license": "CAL" + }, + "lib/rain.metadata/src/IMetaV1.sol": { + "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", + "urls": [ + "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", + "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" + ], + "license": "CAL" + }, + "lib/rain.metadata/src/LibMeta.sol": { + "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", + "urls": [ + "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", + "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + }, + "src/abstract/OrderBookV3FlashLender.sol": { + "keccak256": "0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471", + "urls": [ + "bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa", + "dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd" + ], + "license": "CAL" + }, + "src/concrete/OrderBook.sol": { + "keccak256": "0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b", + "urls": [ + "bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86", + "dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA" + ], + "license": "CAL" + }, + "src/interface/IOrderBookV2.sol": { + "keccak256": "0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a", + "urls": [ + "bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798", + "dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR" + ], + "license": "CAL" + }, + "src/interface/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", + "urls": [ + "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", + "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" + ], + "license": "CC0" + }, + "src/interface/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", + "urls": [ + "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", + "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" + ], + "license": "CC0" + }, + "src/interface/unstable/IOrderBookV3.sol": { + "keccak256": "0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da", + "urls": [ + "bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc", + "dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo" + ], + "license": "CAL" + }, + "src/interface/unstable/IOrderBookV3OrderTaker.sol": { + "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", + "urls": [ + "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", + "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" + ], + "license": "CAL" + }, + "src/lib/LibOrder.sol": { + "keccak256": "0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280", + "urls": [ + "bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206", + "dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/concrete/OrderBook.sol", + "id": 77005, + "exportedSymbols": { + "ActiveDebt": [ + 74215 + ], + "CALCULATE_ORDER_ENTRYPOINT": [ + 74875 + ], + "CALCULATE_ORDER_MAX_OUTPUTS": [ + 74891 + ], + "CALCULATE_ORDER_MIN_OUTPUTS": [ + 74887 + ], + "CALLER_META_HASH": [ + 74954 + ], + "CALLING_CONTEXT_COLUMNS": [ + 74903 + ], + "CONTEXT_BASE_COLUMN": [ + 74907 + ], + "CONTEXT_CALCULATIONS_COLUMN": [ + 74915 + ], + "CONTEXT_CALLING_CONTEXT_COLUMN": [ + 74911 + ], + "CONTEXT_VAULT_INPUTS_COLUMN": [ + 74919 + ], + "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ + 74939 + ], + "CONTEXT_VAULT_IO_BALANCE_DIFF": [ + 74943 + ], + "CONTEXT_VAULT_IO_ROWS": [ + 74947 + ], + "CONTEXT_VAULT_IO_TOKEN": [ + 74927 + ], + "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ + 74931 + ], + "CONTEXT_VAULT_IO_VAULT_ID": [ + 74935 + ], + "CONTEXT_VAULT_OUTPUTS_COLUMN": [ + 74923 + ], + "ClearConfig": [ + 77262 + ], + "ClearStateChange": [ + 77271 + ], + "DEFAULT_STATE_NAMESPACE": [ + 56316 + ], + "DeployerDiscoverableMetaV2": [ + 55357 + ], + "DeployerDiscoverableMetaV2ConstructionConfig": [ + 55312 + ], + "ECDSA": [ + 45815 + ], + "EncodedDispatch": [ + 56304 + ], + "Evaluable": [ + 57280 + ], + "EvaluableConfig": [ + 57262 + ], + "EvaluableConfigV2": [ + 57271 + ], + "FIXED_POINT_DECIMALS": [ + 71235 + ], + "FIXED_POINT_ONE": [ + 71239 + ], + "FLAG_MAX_INT": [ + 71255 + ], + "FLAG_ROUND_UP": [ + 71243 + ], + "FLAG_SATURATE": [ + 71249 + ], + "FLASH_FEE": [ + 74219 + ], + "FlashLenderCallbackFailed": [ + 74206 + ], + "FullyQualifiedNamespace": [ + 56265 + ], + "HANDLE_IO_ENTRYPOINT": [ + 74883 + ], + "HANDLE_IO_MAX_OUTPUTS": [ + 74899 + ], + "HANDLE_IO_MIN_OUTPUTS": [ + 74895 + ], + "HASH_NIL": [ + 71096 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ + 56194 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ + 56403 + ], + "IERC20": [ + 44376 + ], + "IERC3156FlashBorrower": [ + 77476 + ], + "IERC3156FlashLender": [ + 77513 + ], + "IExpressionDeployerV1": [ + 56230 + ], + "IExpressionDeployerV2": [ + 56438 + ], + "IInterpreterCallerV2": [ + 56260 + ], + "IInterpreterStoreV1": [ + 56297 + ], + "IInterpreterV1": [ + 56347 + ], + "IO": [ + 77192 + ], + "IOrderBookV3": [ + 77796 + ], + "IOrderBookV3OrderTaker": [ + 77828 + ], + "Input18Amount": [ + 74979 + ], + "InvalidSignature": [ + 56776 + ], + "LibBytecode": [ + 56762 + ], + "LibBytes": [ + 72126 + ], + "LibContext": [ + 57061 + ], + "LibEncodedDispatch": [ + 57246 + ], + "LibEvaluable": [ + 57293 + ], + "LibFixedPointDecimalArithmeticOpenZeppelin": [ + 71310 + ], + "LibFixedPointDecimalScale": [ + 71716 + ], + "LibHashNoAlloc": [ + 71138 + ], + "LibMemCpy": [ + 72158 + ], + "LibMeta": [ + 72048 + ], + "LibOrder": [ + 77850 + ], + "LibPointer": [ + 72293 + ], + "LibUint256Array": [ + 72684 + ], + "Math": [ + 46816 + ], + "MinimumInput": [ + 74854 + ], + "Multicall": [ + 45220 + ], + "NO_STORE": [ + 56274 + ], + "NoOrders": [ + 77527 + ], + "NotOrderOwner": [ + 74833 + ], + "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ + 77459 + ], + "ORDER_DEAD": [ + 74867 + ], + "ORDER_LIVE": [ + 74863 + ], + "OVERFLOW_RESCALE_OOMS": [ + 71259 + ], + "Operand": [ + 56308 + ], + "Order": [ + 77222 + ], + "OrderBook": [ + 77004 + ], + "OrderBookV3FlashLender": [ + 74539 + ], + "OrderConfigV2": [ + 77541 + ], + "OrderIOCalculation": [ + 74975 + ], + "OutOfBoundsTruncate": [ + 72466 + ], + "Output18Amount": [ + 74977 + ], + "Pointer": [ + 72173 + ], + "ReentrancyGuard": [ + 43711 + ], + "ReentrancyGuardReentrantCall": [ + 74826 + ], + "SIGNED_CONTEXT_CONTEXT_OFFSET": [ + 56246 + ], + "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ + 56249 + ], + "SIGNED_CONTEXT_SIGNER_OFFSET": [ + 56243 + ], + "SafeERC20": [ + 44813 + ], + "SameOwner": [ + 74859 + ], + "SignatureChecker": [ + 45914 + ], + "SignedContextV1": [ + 56240 + ], + "SourceIndex": [ + 56302 + ], + "SourceOffsetOutOfBounds": [ + 56493 + ], + "StateNamespace": [ + 56306 + ], + "TakeOrderConfig": [ + 77249 + ], + "TakeOrdersConfigV2": [ + 77554 + ], + "TokenDecimalsMismatch": [ + 74847 + ], + "TokenMismatch": [ + 74840 + ], + "TruncateError": [ + 72058 + ], + "ZeroAmount": [ + 74201 + ], + "ZeroReceiver": [ + 74198 + ], + "ZeroToken": [ + 74195 + ] + }, + "nodeType": "SourceUnit", + "src": "32:42475:172", + "nodes": [ + { + "id": 74800, + "nodeType": "PragmaDirective", + "src": "32:24:172", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 74802, + "nodeType": "ImportDirective", + "src": "58:78:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 46817, + "symbolAliases": [ + { + "foreign": { + "id": 74801, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "66:4:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74804, + "nodeType": "ImportDirective", + "src": "137:83:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 45221, + "symbolAliases": [ + { + "foreign": { + "id": 74803, + "name": "Multicall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45220, + "src": "145:9:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74806, + "nodeType": "ImportDirective", + "src": "221:83:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 44377, + "symbolAliases": [ + { + "foreign": { + "id": 74805, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "229:6:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74808, + "nodeType": "ImportDirective", + "src": "305:95:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "file": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 44814, + "symbolAliases": [ + { + "foreign": { + "id": 74807, + "name": "SafeERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44813, + "src": "313:9:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74810, + "nodeType": "ImportDirective", + "src": "401:98:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "file": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 43712, + "symbolAliases": [ + { + "foreign": { + "id": 74809, + "name": "ReentrancyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43711, + "src": "409:15:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74811, + "nodeType": "ImportDirective", + "src": "501:89:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", + "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 71311, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74812, + "nodeType": "ImportDirective", + "src": "591:72:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", + "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 71717, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74813, + "nodeType": "ImportDirective", + "src": "664:68:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "file": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 57247, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74814, + "nodeType": "ImportDirective", + "src": "733:60:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", + "file": "lib/rain.interpreter/src/lib/caller/LibContext.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 57062, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74818, + "nodeType": "ImportDirective", + "src": "794:177:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", + "file": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 55358, + "symbolAliases": [ + { + "foreign": { + "id": 74815, + "name": "DeployerDiscoverableMetaV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55357, + "src": "807:26:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 74816, + "name": "DeployerDiscoverableMetaV2ConstructionConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55312, + "src": "839:44:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 74817, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72048, + "src": "889:7:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74819, + "nodeType": "ImportDirective", + "src": "972:63:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "file": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 56763, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74820, + "nodeType": "ImportDirective", + "src": "1037:48:172", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3.sol", + "file": "../interface/unstable/IOrderBookV3.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 77797, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74821, + "nodeType": "ImportDirective", + "src": "1086:58:172", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", + "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 77829, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74822, + "nodeType": "ImportDirective", + "src": "1145:29:172", + "nodes": [], + "absolutePath": "src/lib/LibOrder.sol", + "file": "../lib/LibOrder.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 77851, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74823, + "nodeType": "ImportDirective", + "src": "1175:48:172", + "nodes": [], + "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", + "file": "../abstract/OrderBookV3FlashLender.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 74540, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74826, + "nodeType": "ErrorDefinition", + "src": "1326:37:172", + "nodes": [], + "documentation": { + "id": 74824, + "nodeType": "StructuredDocumentation", + "src": "1225:101:172", + "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." + }, + "errorSelector": "3ee5aeb5", + "name": "ReentrancyGuardReentrantCall", + "nameLocation": "1332:28:172", + "parameters": { + "id": 74825, + "nodeType": "ParameterList", + "parameters": [], + "src": "1360:2:172" + } + }, + { + "id": 74833, + "nodeType": "ErrorDefinition", + "src": "1539:51:172", + "nodes": [], + "documentation": { + "id": 74827, + "nodeType": "StructuredDocumentation", + "src": "1365:174:172", + "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." + }, + "errorSelector": "4702b914", + "name": "NotOrderOwner", + "nameLocation": "1545:13:172", + "parameters": { + "id": 74832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74829, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1567:6:172", + "nodeType": "VariableDeclaration", + "scope": 74833, + "src": "1559:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1559:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74831, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1583:5:172", + "nodeType": "VariableDeclaration", + "scope": 74833, + "src": "1575:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1575:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1558:31:172" + } + }, + { + "id": 74840, + "nodeType": "ErrorDefinition", + "src": "1807:58:172", + "nodes": [], + "documentation": { + "id": 74834, + "nodeType": "StructuredDocumentation", + "src": "1592:215:172", + "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." + }, + "errorSelector": "f902523f", + "name": "TokenMismatch", + "nameLocation": "1813:13:172", + "parameters": { + "id": 74839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74836, + "mutability": "mutable", + "name": "aliceToken", + "nameLocation": "1835:10:172", + "nodeType": "VariableDeclaration", + "scope": 74840, + "src": "1827:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1827:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74838, + "mutability": "mutable", + "name": "bobToken", + "nameLocation": "1855:8:172", + "nodeType": "VariableDeclaration", + "scope": 74840, + "src": "1847:16:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1847:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1826:38:172" + } + }, + { + "id": 74847, + "nodeType": "ErrorDefinition", + "src": "2107:78:172", + "nodes": [], + "documentation": { + "id": 74841, + "nodeType": "StructuredDocumentation", + "src": "1867:240:172", + "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." + }, + "errorSelector": "0f6ce477", + "name": "TokenDecimalsMismatch", + "nameLocation": "2113:21:172", + "parameters": { + "id": 74846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74843, + "mutability": "mutable", + "name": "aliceTokenDecimals", + "nameLocation": "2141:18:172", + "nodeType": "VariableDeclaration", + "scope": 74847, + "src": "2135:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 74842, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2135:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74845, + "mutability": "mutable", + "name": "bobTokenDecimals", + "nameLocation": "2167:16:172", + "nodeType": "VariableDeclaration", + "scope": 74847, + "src": "2161:22:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 74844, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2161:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2134:50:172" + } + }, + { + "id": 74854, + "nodeType": "ErrorDefinition", + "src": "2331:56:172", + "nodes": [], + "documentation": { + "id": 74848, + "nodeType": "StructuredDocumentation", + "src": "2187:144:172", + "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." + }, + "errorSelector": "45094d88", + "name": "MinimumInput", + "nameLocation": "2337:12:172", + "parameters": { + "id": 74853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74850, + "mutability": "mutable", + "name": "minimumInput", + "nameLocation": "2358:12:172", + "nodeType": "VariableDeclaration", + "scope": 74854, + "src": "2350:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2350:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74852, + "mutability": "mutable", + "name": "input", + "nameLocation": "2380:5:172", + "nodeType": "VariableDeclaration", + "scope": 74854, + "src": "2372:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2372:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2349:37:172" + } + }, + { + "id": 74859, + "nodeType": "ErrorDefinition", + "src": "2493:31:172", + "nodes": [], + "documentation": { + "id": 74855, + "nodeType": "StructuredDocumentation", + "src": "2389:104:172", + "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." + }, + "errorSelector": "227e4ce9", + "name": "SameOwner", + "nameLocation": "2499:9:172", + "parameters": { + "id": 74858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74857, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2517:5:172", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "2509:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2509:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2508:15:172" + } + }, + { + "id": 74863, + "nodeType": "VariableDeclaration", + "src": "2652:31:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_LIVE", + "nameLocation": "2669:10:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2652:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 74862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2682:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 74867, + "nodeType": "VariableDeclaration", + "src": "2856:31:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_DEAD", + "nameLocation": "2873:10:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2886:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74875, + "nodeType": "VariableDeclaration", + "src": "2959:69:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nameLocation": "2980:26:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 74870, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74869, + "name": "SourceIndex", + "nameLocations": [ + "2959:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56302, + "src": "2959:11:172" + }, + "referencedDeclaration": 56302, + "src": "2959:11:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "30", + "id": 74873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3026:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 74871, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56302, + "src": "3009:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 74872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3021:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "3009:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 74874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3009:19:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 74883, + "nodeType": "VariableDeclaration", + "src": "3151:63:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_ENTRYPOINT", + "nameLocation": "3172:20:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 74878, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74877, + "name": "SourceIndex", + "nameLocations": [ + "3151:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56302, + "src": "3151:11:172" + }, + "referencedDeclaration": 56302, + "src": "3151:11:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "31", + "id": 74881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3212:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "id": 74879, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56302, + "src": "3195:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 74880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3207:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "3195:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 74882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3195:19:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 74887, + "nodeType": "VariableDeclaration", + "src": "3288:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nameLocation": "3305:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3288:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 74886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3335:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74891, + "nodeType": "VariableDeclaration", + "src": "3409:47:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nameLocation": "3425:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 74889, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3409:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32", + "id": 74890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3455:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74895, + "nodeType": "VariableDeclaration", + "src": "3533:42:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MIN_OUTPUTS", + "nameLocation": "3550:21:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3533:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3574:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74899, + "nodeType": "VariableDeclaration", + "src": "3651:41:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MAX_OUTPUTS", + "nameLocation": "3667:21:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 74897, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3651:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "30", + "id": 74898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3691:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74903, + "nodeType": "VariableDeclaration", + "src": "4230:44:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLING_CONTEXT_COLUMNS", + "nameLocation": "4247:23:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4230:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 74902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4273:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 74907, + "nodeType": "VariableDeclaration", + "src": "4315:40:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_BASE_COLUMN", + "nameLocation": "4332:19:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4315:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4354:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74911, + "nodeType": "VariableDeclaration", + "src": "4656:51:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nameLocation": "4673:30:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4656:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 74910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4706:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 74915, + "nodeType": "VariableDeclaration", + "src": "4854:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nameLocation": "4871:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 74914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4901:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74919, + "nodeType": "VariableDeclaration", + "src": "5194:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nameLocation": "5211:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5194:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 74918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5241:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 74923, + "nodeType": "VariableDeclaration", + "src": "5360:49:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nameLocation": "5377:28:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5360:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 74922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5408:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 74927, + "nodeType": "VariableDeclaration", + "src": "5484:43:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN", + "nameLocation": "5501:22:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5484:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5526:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74931, + "nodeType": "VariableDeclaration", + "src": "5602:52:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", + "nameLocation": "5619:31:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5602:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 74930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5653:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 74935, + "nodeType": "VariableDeclaration", + "src": "5723:46:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nameLocation": "5740:25:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74933, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5723:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 74934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5768:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74939, + "nodeType": "VariableDeclaration", + "src": "5876:52:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", + "nameLocation": "5893:31:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74937, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5876:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 74938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5927:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 74943, + "nodeType": "VariableDeclaration", + "src": "6176:50:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nameLocation": "6193:29:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6176:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 74942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6225:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 74947, + "nodeType": "VariableDeclaration", + "src": "6266:42:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_ROWS", + "nameLocation": "6283:21:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74945, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6266:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "35", + "id": 74946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6307:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "id": 74954, + "nodeType": "VariableDeclaration", + "src": "6375:111:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLER_META_HASH", + "nameLocation": "6392:16:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 74949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6375:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307837316665326634663638663137646665366165376162613262626436636266653561326134386139336562626338623166313930303838376239373865656565", + "id": 74952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6419:66:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", + "typeString": "int_const 5156...(69 digits omitted)...4718" + }, + "value": "0x71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", + "typeString": "int_const 5156...(69 digits omitted)...4718" + } + ], + "id": 74951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6411:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 74950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6411:7:172", + "typeDescriptions": {} + } + }, + "id": 74953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6411:75:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 74975, + "nodeType": "StructDefinition", + "src": "8613:249:172", + "nodes": [], + "canonicalName": "OrderIOCalculation", + "members": [ + { + "constant": false, + "id": 74957, + "mutability": "mutable", + "name": "order", + "nameLocation": "8651:5:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8645:11:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74956, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74955, + "name": "Order", + "nameLocations": [ + "8645:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "8645:5:172" + }, + "referencedDeclaration": 77222, + "src": "8645:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74959, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "8670:13:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8662:21:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8662:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74962, + "mutability": "mutable", + "name": "outputMax", + "nameLocation": "8704:9:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8689:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 74961, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74960, + "name": "Output18Amount", + "nameLocations": [ + "8689:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "8689:14:172" + }, + "referencedDeclaration": 74977, + "src": "8689:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74964, + "mutability": "mutable", + "name": "IORatio", + "nameLocation": "8778:7:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8770:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74963, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8770:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74968, + "mutability": "mutable", + "name": "context", + "nameLocation": "8803:7:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8791:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 74965, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8791:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74966, + "nodeType": "ArrayTypeName", + "src": "8791:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 74967, + "nodeType": "ArrayTypeName", + "src": "8791:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74971, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "8831:9:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8816:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 74970, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74969, + "name": "StateNamespace", + "nameLocations": [ + "8816:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56306, + "src": "8816:14:172" + }, + "referencedDeclaration": 56306, + "src": "8816:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74974, + "mutability": "mutable", + "name": "kvs", + "nameLocation": "8856:3:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8846:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 74972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8846:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74973, + "nodeType": "ArrayTypeName", + "src": "8846:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "name": "OrderIOCalculation", + "nameLocation": "8620:18:172", + "scope": 77005, + "visibility": "public" + }, + { + "id": 74977, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "8864:31:172", + "nodes": [], + "canonicalName": "Output18Amount", + "name": "Output18Amount", + "nameLocation": "8869:14:172", + "underlyingType": { + "id": 74976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8887:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 74979, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "8897:30:172", + "nodes": [], + "canonicalName": "Input18Amount", + "name": "Input18Amount", + "nameLocation": "8902:13:172", + "underlyingType": { + "id": 74978, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8919:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 77004, + "nodeType": "ContractDefinition", + "src": "8997:33509:172", + "nodes": [ + { + "id": 74994, + "nodeType": "UsingForDirective", + "src": "9118:36:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 74991, + "name": "LibUint256Array", + "nameLocations": [ + "9124:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72684, + "src": "9124:15:172" + }, + "typeName": { + "baseType": { + "id": 74992, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9144:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74993, + "nodeType": "ArrayTypeName", + "src": "9144:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "id": 74998, + "nodeType": "UsingForDirective", + "src": "9159:27:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 74995, + "name": "SafeERC20", + "nameLocations": [ + "9165:9:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44813, + "src": "9165:9:172" + }, + "typeName": { + "id": 74997, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74996, + "name": "IERC20", + "nameLocations": [ + "9179:6:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44376, + "src": "9179:6:172" + }, + "referencedDeclaration": 44376, + "src": "9179:6:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + } + }, + { + "id": 75002, + "nodeType": "UsingForDirective", + "src": "9191:25:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 74999, + "name": "LibOrder", + "nameLocations": [ + "9197:8:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77850, + "src": "9197:8:172" + }, + "typeName": { + "id": 75001, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75000, + "name": "Order", + "nameLocations": [ + "9210:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "9210:5:172" + }, + "referencedDeclaration": 77222, + "src": "9210:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + } + }, + { + "id": 75005, + "nodeType": "UsingForDirective", + "src": "9221:34:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75003, + "name": "LibUint256Array", + "nameLocations": [ + "9227:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72684, + "src": "9227:15:172" + }, + "typeName": { + "id": 75004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9247:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75008, + "nodeType": "UsingForDirective", + "src": "9260:23:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75006, + "name": "Math", + "nameLocations": [ + "9266:4:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 46816, + "src": "9266:4:172" + }, + "typeName": { + "id": 75007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9275:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75011, + "nodeType": "UsingForDirective", + "src": "9288:44:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75009, + "name": "LibFixedPointDecimalScale", + "nameLocations": [ + "9294:25:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71716, + "src": "9294:25:172" + }, + "typeName": { + "id": 75010, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9324:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75014, + "nodeType": "UsingForDirective", + "src": "9337:61:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75012, + "name": "LibFixedPointDecimalArithmeticOpenZeppelin", + "nameLocations": [ + "9343:42:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71310, + "src": "9343:42:172" + }, + "typeName": { + "id": 75013, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9390:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75019, + "nodeType": "VariableDeclaration", + "src": "9997:63:172", + "nodes": [], + "constant": false, + "documentation": { + "id": 75015, + "nodeType": "StructuredDocumentation", + "src": "9404:465:172", + "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" + }, + "mutability": "mutable", + "name": "sOrders", + "nameLocation": "10053:7:172", + "scope": 77004, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 75018, + "keyName": "orderHash", + "keyNameLocation": "10013:9:172", + "keyType": { + "id": 75016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10005:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "9997:46:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueName": "liveness", + "valueNameLocation": "10034:8:172", + "valueType": { + "id": 75017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10026:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "id": 75028, + "nodeType": "VariableDeclaration", + "src": "10408:127:172", + "nodes": [], + "constant": false, + "documentation": { + "id": 75020, + "nodeType": "StructuredDocumentation", + "src": "10067:213:172", + "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." + }, + "mutability": "mutable", + "name": "sVaultBalances", + "nameLocation": "10521:14:172", + "scope": 77004, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "typeName": { + "id": 75027, + "keyName": "owner", + "keyNameLocation": "10424:5:172", + "keyType": { + "id": 75021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10416:7:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "10408:95:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 75026, + "keyName": "token", + "keyNameLocation": "10449:5:172", + "keyType": { + "id": 75022, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10441:7:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "10433:69:172", + "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": 75025, + "keyName": "vaultId", + "keyNameLocation": "10474:7:172", + "keyType": { + "id": 75023, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10466:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "10458:43:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "balance", + "valueNameLocation": "10493:7:172", + "valueType": { + "id": 75024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10485:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + } + }, + "visibility": "internal" + }, + { + "id": 75040, + "nodeType": "FunctionDefinition", + "src": "10837:139:172", + "nodes": [], + "body": { + "id": 75039, + "nodeType": "Block", + "src": "10974:2:172", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 75029, + "nodeType": "StructuredDocumentation", + "src": "10542:290:172", + "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 75035, + "name": "CALLER_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74954, + "src": "10944:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 75036, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75032, + "src": "10962:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" + } + } + ], + "id": 75037, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 75034, + "name": "DeployerDiscoverableMetaV2", + "nameLocations": [ + "10917:26:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55357, + "src": "10917:26:172" + }, + "nodeType": "ModifierInvocation", + "src": "10917:52:172" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 75033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75032, + "mutability": "mutable", + "name": "config", + "nameLocation": "10901:6:172", + "nodeType": "VariableDeclaration", + "scope": 75040, + "src": "10849:58:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" + }, + "typeName": { + "id": 75031, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75030, + "name": "DeployerDiscoverableMetaV2ConstructionConfig", + "nameLocations": [ + "10849:44:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55312, + "src": "10849:44:172" + }, + "referencedDeclaration": 55312, + "src": "10849:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_storage_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "10848:60:172" + }, + "returnParameters": { + "id": 75038, + "nodeType": "ParameterList", + "parameters": [], + "src": "10974:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 75052, + "nodeType": "ModifierDefinition", + "src": "11090:148:172", + "nodes": [], + "body": { + "id": 75051, + "nodeType": "Block", + "src": "11118:120:172", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75043, + "name": "_reentrancyGuardEntered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43710, + "src": "11132:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 75044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11132:25:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75049, + "nodeType": "IfStatement", + "src": "11128:93:172", + "trueBody": { + "id": 75048, + "nodeType": "Block", + "src": "11159:62:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75045, + "name": "ReentrancyGuardReentrantCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74826, + "src": "11180:28:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 75046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11180:30:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75047, + "nodeType": "RevertStatement", + "src": "11173:37:172" + } + ] + } + }, + { + "id": 75050, + "nodeType": "PlaceholderStatement", + "src": "11230:1:172" + } + ] + }, + "documentation": { + "id": 75041, + "nodeType": "StructuredDocumentation", + "src": "10982:103:172", + "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" + }, + "name": "nonReentrantView", + "nameLocation": "11099:16:172", + "parameters": { + "id": 75042, + "nodeType": "ParameterList", + "parameters": [], + "src": "11115:2:172" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 75076, + "nodeType": "FunctionDefinition", + "src": "11562:232:172", + "nodes": [], + "body": { + "id": 75075, + "nodeType": "Block", + "src": "11733:61:172", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75067, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "11750:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75069, + "indexExpression": { + "id": 75068, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75055, + "src": "11765:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11750:21:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75071, + "indexExpression": { + "id": 75070, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75057, + "src": "11772:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11750:28:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75073, + "indexExpression": { + "id": 75072, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75059, + "src": "11779:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11750:37:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 75066, + "id": 75074, + "nodeType": "Return", + "src": "11743:44:172" + } + ] + }, + "baseFunctions": [ + 77717 + ], + "documentation": { + "id": 75053, + "nodeType": "StructuredDocumentation", + "src": "11244:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "d97b2e48", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75063, + "kind": "modifierInvocation", + "modifierName": { + "id": 75062, + "name": "nonReentrantView", + "nameLocations": [ + "11686:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 75052, + "src": "11686:16:172" + }, + "nodeType": "ModifierInvocation", + "src": "11686:16:172" + } + ], + "name": "vaultBalance", + "nameLocation": "11571:12:172", + "overrides": { + "id": 75061, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11669:8:172" + }, + "parameters": { + "id": 75060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75055, + "mutability": "mutable", + "name": "owner", + "nameLocation": "11592:5:172", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11584:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11584:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75057, + "mutability": "mutable", + "name": "token", + "nameLocation": "11607:5:172", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11599:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11599:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75059, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "11622:7:172", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11614:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11614:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11583:47:172" + }, + "returnParameters": { + "id": 75066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75065, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11720:7:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11720:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11719:9:172" + }, + "scope": 77004, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 75094, + "nodeType": "FunctionDefinition", + "src": "11833:151:172", + "nodes": [], + "body": { + "id": 75093, + "nodeType": "Block", + "src": "11928:56:172", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75087, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "11945:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75089, + "indexExpression": { + "id": 75088, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75079, + "src": "11953:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11945:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75090, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74863, + "src": "11967:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11945:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 75086, + "id": 75092, + "nodeType": "Return", + "src": "11938:39:172" + } + ] + }, + "baseFunctions": [ + 77754 + ], + "documentation": { + "id": 75077, + "nodeType": "StructuredDocumentation", + "src": "11800:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "2cb77e9f", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75083, + "kind": "modifierInvocation", + "modifierName": { + "id": 75082, + "name": "nonReentrantView", + "nameLocations": [ + "11896:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 75052, + "src": "11896:16:172" + }, + "nodeType": "ModifierInvocation", + "src": "11896:16:172" + } + ], + "name": "orderExists", + "nameLocation": "11842:11:172", + "overrides": { + "id": 75081, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11887:8:172" + }, + "parameters": { + "id": 75080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75079, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "11862:9:172", + "nodeType": "VariableDeclaration", + "scope": 75094, + "src": "11854:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75078, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11854:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11853:19:172" + }, + "returnParameters": { + "id": 75086, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75085, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75094, + "src": "11922:4:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 75084, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11922:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11921:6:172" + }, + "scope": 77004, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 75151, + "nodeType": "FunctionDefinition", + "src": "12023:640:172", + "nodes": [], + "body": { + "id": 75150, + "nodeType": "Block", + "src": "12110:553:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75106, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12124:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12134:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12124:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75117, + "nodeType": "IfStatement", + "src": "12120:94:172", + "trueBody": { + "id": 75116, + "nodeType": "Block", + "src": "12137:77:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75110, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12176:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12180:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12176:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75112, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12188:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75113, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75099, + "src": "12195:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75109, + "name": "ZeroDepositAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77568, + "src": "12158:17:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 75114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12158:45:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75115, + "nodeType": "RevertStatement", + "src": "12151:52:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75119, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12430:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12434:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12430:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75121, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12442:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75122, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75099, + "src": "12449:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75123, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12458:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75118, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77608, + "src": "12422:7:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 75124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12422:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75125, + "nodeType": "EmitStatement", + "src": "12417:48:172" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75130, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12560:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12564:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12560:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 75134, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "12580:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + ], + "id": 75133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12572:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 75132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12572:7:172", + "typeDescriptions": {} + } + }, + "id": 75135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12572:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75136, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12587:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75127, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12536:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75126, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "12529:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 75128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12529:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 75129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12543:16:172", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44497, + "src": "12529:30:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 75137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12529:65:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75138, + "nodeType": "ExpressionStatement", + "src": "12529:65:172" + }, + { + "expression": { + "id": 75148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75139, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "12604:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75144, + "indexExpression": { + "expression": { + "id": 75140, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12619:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12623:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12619:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12604:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75145, + "indexExpression": { + "id": 75142, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12631:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12604:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75146, + "indexExpression": { + "id": 75143, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75099, + "src": "12638:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12604:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75147, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12650:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12604:52:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75149, + "nodeType": "ExpressionStatement", + "src": "12604:52:172" + } + ] + }, + "baseFunctions": [ + 77727 + ], + "documentation": { + "id": 75095, + "nodeType": "StructuredDocumentation", + "src": "11990:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "0efe6a8b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75104, + "kind": "modifierInvocation", + "modifierName": { + "id": 75103, + "name": "nonReentrant", + "nameLocations": [ + "12097:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "12097:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "12097:12:172" + } + ], + "name": "deposit", + "nameLocation": "12032:7:172", + "parameters": { + "id": 75102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75097, + "mutability": "mutable", + "name": "token", + "nameLocation": "12048:5:172", + "nodeType": "VariableDeclaration", + "scope": 75151, + "src": "12040:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12040:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75099, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "12063:7:172", + "nodeType": "VariableDeclaration", + "scope": 75151, + "src": "12055:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12055:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75101, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12080:6:172", + "nodeType": "VariableDeclaration", + "scope": 75151, + "src": "12072:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12072:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12039:48:172" + }, + "returnParameters": { + "id": 75105, + "nodeType": "ParameterList", + "parameters": [], + "src": "12110:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75228, + "nodeType": "FunctionDefinition", + "src": "12702:952:172", + "nodes": [], + "body": { + "id": 75227, + "nodeType": "Block", + "src": "12796:858:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75163, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75158, + "src": "12810:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12826:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12810:17:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75174, + "nodeType": "IfStatement", + "src": "12806:107:172", + "trueBody": { + "id": 75173, + "nodeType": "Block", + "src": "12829:84:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75167, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12875:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12879:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12875:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75169, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "12887:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75170, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "12894:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75166, + "name": "ZeroWithdrawTargetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77577, + "src": "12850:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 75171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12850:52:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75172, + "nodeType": "RevertStatement", + "src": "12843:59:172" + } + ] + } + }, + { + "assignments": [ + 75176 + ], + "declarations": [ + { + "constant": false, + "id": 75176, + "mutability": "mutable", + "name": "currentVaultBalance", + "nameLocation": "12930:19:172", + "nodeType": "VariableDeclaration", + "scope": 75227, + "src": "12922:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12922:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75185, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75177, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "12952:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75180, + "indexExpression": { + "expression": { + "id": 75178, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12967:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12971:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12967:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75182, + "indexExpression": { + "id": 75181, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "12979:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75184, + "indexExpression": { + "id": 75183, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "12986:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12922:72:172" + }, + { + "assignments": [ + 75187 + ], + "declarations": [ + { + "constant": false, + "id": 75187, + "mutability": "mutable", + "name": "withdrawAmount", + "nameLocation": "13084:14:172", + "nodeType": "VariableDeclaration", + "scope": 75227, + "src": "13076:22:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75186, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13076:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75192, + "initialValue": { + "arguments": [ + { + "id": 75190, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75176, + "src": "13118:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75188, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75158, + "src": "13101:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13114:3:172", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 45993, + "src": "13101:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 75191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13101:37:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13076:62:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75193, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13152:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13169:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13152:18:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75226, + "nodeType": "IfStatement", + "src": "13148:500:172", + "trueBody": { + "id": 75225, + "nodeType": "Block", + "src": "13172:476:172", + "statements": [ + { + "expression": { + "id": 75207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75196, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "13391:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75201, + "indexExpression": { + "expression": { + "id": 75197, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13406:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13410:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13406:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13391:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75202, + "indexExpression": { + "id": 75199, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "13418:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13391:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75203, + "indexExpression": { + "id": 75200, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "13425:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13391:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75204, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75176, + "src": "13436:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 75205, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13458:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13436:36:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13391:81:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75208, + "nodeType": "ExpressionStatement", + "src": "13391:81:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75210, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13500:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13504:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13500:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75212, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "13512:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75213, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "13519:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75214, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75158, + "src": "13528:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75215, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13542:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75209, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77621, + "src": "13491:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256,uint256)" + } + }, + "id": 75216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13491:66:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75217, + "nodeType": "EmitStatement", + "src": "13486:71:172" + }, + { + "expression": { + "arguments": [ + { + "id": 75219, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "13603:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75220, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13610:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13614:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13610:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75222, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13622:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75218, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74350, + "src": "13571:31:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,address,uint256) returns (uint256)" + } + }, + "id": 75223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13571:66:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75224, + "nodeType": "ExpressionStatement", + "src": "13571:66:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 77737 + ], + "documentation": { + "id": 75152, + "nodeType": "StructuredDocumentation", + "src": "12669:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "b5c5f672", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75161, + "kind": "modifierInvocation", + "modifierName": { + "id": 75160, + "name": "nonReentrant", + "nameLocations": [ + "12783:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "12783:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "12783:12:172" + } + ], + "name": "withdraw", + "nameLocation": "12711:8:172", + "parameters": { + "id": 75159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75154, + "mutability": "mutable", + "name": "token", + "nameLocation": "12728:5:172", + "nodeType": "VariableDeclaration", + "scope": 75228, + "src": "12720:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12720:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75156, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "12743:7:172", + "nodeType": "VariableDeclaration", + "scope": 75228, + "src": "12735:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75155, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12735:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75158, + "mutability": "mutable", + "name": "targetAmount", + "nameLocation": "12760:12:172", + "nodeType": "VariableDeclaration", + "scope": 75228, + "src": "12752:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12752:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12719:54:172" + }, + "returnParameters": { + "id": 75162, + "nodeType": "ParameterList", + "parameters": [], + "src": "12796:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75405, + "nodeType": "FunctionDefinition", + "src": "13693:2174:172", + "nodes": [], + "body": { + "id": 75404, + "nodeType": "Block", + "src": "13792:2075:172", + "nodes": [], + "statements": [ + { + "assignments": [ + 75240 + ], + "declarations": [ + { + "constant": false, + "id": 75240, + "mutability": "mutable", + "name": "sourceCount", + "nameLocation": "13810:11:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "13802:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13802:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75247, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75243, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "13848:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13855:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "13848:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13871:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57267, + "src": "13848:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 75241, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56762, + "src": "13824:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 75242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13836:11:172", + "memberName": "sourceCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 56521, + "src": "13824:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 75246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13824:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13802:78:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75248, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75240, + "src": "13894:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13909:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13894:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75257, + "nodeType": "IfStatement", + "src": "13890:80:172", + "trueBody": { + "id": 75256, + "nodeType": "Block", + "src": "13912:58:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75252, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13948:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13952:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13948:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75251, + "name": "OrderNoSources", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77582, + "src": "13933:14:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13933:26:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75255, + "nodeType": "RevertStatement", + "src": "13926:33:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75258, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75240, + "src": "13983:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 75259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13998:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13983:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75267, + "nodeType": "IfStatement", + "src": "13979:81:172", + "trueBody": { + "id": 75266, + "nodeType": "Block", + "src": "14001:59:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75262, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14038:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14042:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14038:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75261, + "name": "OrderNoHandleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77587, + "src": "14022:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14022:27:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75265, + "nodeType": "RevertStatement", + "src": "14015:34:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75268, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14073:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14080:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77531, + "src": "14073:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14092:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14073:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14102:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14073:30:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75279, + "nodeType": "IfStatement", + "src": "14069:93:172", + "trueBody": { + "id": 75278, + "nodeType": "Block", + "src": "14105:57:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75274, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14140:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14144:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14140:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75273, + "name": "OrderNoInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77592, + "src": "14126:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14126:25:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75277, + "nodeType": "RevertStatement", + "src": "14119:32:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75280, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14175:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14182:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77535, + "src": "14175:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14195:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14175:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14205:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14175:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75291, + "nodeType": "IfStatement", + "src": "14171:95:172", + "trueBody": { + "id": 75290, + "nodeType": "Block", + "src": "14208:58:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75286, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14244:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14248:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14244:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75285, + "name": "OrderNoOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77597, + "src": "14229:14:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14229:26:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75289, + "nodeType": "RevertStatement", + "src": "14222:33:172" + } + ] + } + }, + { + "assignments": [ + 75294, + 75297, + 75299 + ], + "declarations": [ + { + "constant": false, + "id": 75294, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "14291:11:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14276:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 75293, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75292, + "name": "IInterpreterV1", + "nameLocations": [ + "14276:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56347, + "src": "14276:14:172" + }, + "referencedDeclaration": 56347, + "src": "14276:14:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75297, + "mutability": "mutable", + "name": "store", + "nameLocation": "14324:5:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14304:25:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 75296, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75295, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "14304:19:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56297, + "src": "14304:19:172" + }, + "referencedDeclaration": 56297, + "src": "14304:19:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75299, + "mutability": "mutable", + "name": "expression", + "nameLocation": "14339:10:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14331:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14331:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 75316, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75304, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14454:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14461:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14454:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14477:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57267, + "src": "14454:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "expression": { + "expression": { + "id": 75307, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14499:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14506:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14499:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14522:9:172", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 57270, + "src": "14499:32:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "arguments": [ + { + "id": 75312, + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74887, + "src": "14571:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75313, + "name": "HANDLE_IO_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74895, + "src": "14600:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75310, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "14545:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 75311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14561:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72543, + "src": "14545:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 75314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14545:77:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 75300, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14353:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14373:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14353:35:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14402:8:172", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 57265, + "src": "14353:57:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeString": "contract IExpressionDeployerV2" + } + }, + "id": 75303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14424:16:172", + "memberName": "deployExpression", + "nodeType": "MemberAccess", + "referencedDeclaration": 56437, + "src": "14353:87:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", + "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "id": 75315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14353:279:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", + "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14275:357:172" + }, + { + "assignments": [ + 75319 + ], + "declarations": [ + { + "constant": false, + "id": 75319, + "mutability": "mutable", + "name": "order", + "nameLocation": "14831:5:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14818:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75318, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75317, + "name": "Order", + "nameLocations": [ + "14818:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "14818:5:172" + }, + "referencedDeclaration": 77222, + "src": "14818:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 75345, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 75321, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14858:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14862:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14858:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75325, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14910:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14917:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14910:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14933:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57267, + "src": "14910:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "arguments": [ + { + "id": 75330, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74883, + "src": "14962:20:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + ], + "expression": { + "id": 75328, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56302, + "src": "14943:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 75329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14955:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "14943:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56302_$returns$_t_uint16_$", + "typeString": "function (SourceIndex) pure returns (uint16)" + } + }, + "id": 75331, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14943:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 75323, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56762, + "src": "14882:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 75324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14894:15:172", + "memberName": "sourceOpsLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 56616, + "src": "14882:27:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" + } + }, + "id": 75332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14882:102:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14987:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14882:106:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "id": 75336, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75294, + "src": "15012:11:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + { + "id": 75337, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75297, + "src": "15025:5:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 75338, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75299, + "src": "15032:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75335, + "name": "Evaluable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57280, + "src": "15002:9:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Evaluable_$57280_storage_ptr_$", + "typeString": "type(struct Evaluable storage pointer)" + } + }, + "id": 75339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15002:41:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + { + "expression": { + "id": 75340, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15057:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15064:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77531, + "src": "15057:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + { + "expression": { + "id": 75342, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15089:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15096:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77535, + "src": "15089:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + ], + "id": 75320, + "name": "Order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77222, + "src": "14839:5:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Order_$77222_storage_ptr_$", + "typeString": "type(struct Order storage pointer)" + } + }, + "id": 75344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14839:279:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14818:300:172" + }, + { + "assignments": [ + 75347 + ], + "declarations": [ + { + "constant": false, + "id": 75347, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "15136:9:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "15128:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15128:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75351, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75348, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75319, + "src": "15148:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15154:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "15148:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15148:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15128:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75352, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "15250:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75354, + "indexExpression": { + "id": 75353, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15258:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15250:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75355, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "15272:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15250:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75403, + "nodeType": "IfStatement", + "src": "15246:615:172", + "trueBody": { + "id": 75402, + "nodeType": "Block", + "src": "15284:577:172", + "statements": [ + { + "expression": { + "id": 75359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75357, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75237, + "src": "15298:12:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 75358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15313:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15298:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75360, + "nodeType": "ExpressionStatement", + "src": "15298:19:172" + }, + { + "expression": { + "id": 75365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75361, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "15390:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75363, + "indexExpression": { + "id": 75362, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15398:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15390:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75364, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74863, + "src": "15411:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15390:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75366, + "nodeType": "ExpressionStatement", + "src": "15390:31:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75368, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15449:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15453:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15449:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "expression": { + "id": 75370, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15461:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15468:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "15461:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15484:8:172", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 57265, + "src": "15461:31:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeString": "contract IExpressionDeployerV2" + } + }, + { + "id": 75373, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75319, + "src": "15494:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75374, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15501:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeString": "contract IExpressionDeployerV2" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75367, + "name": "AddOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77634, + "src": "15440:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56438_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" + } + }, + "id": 75375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15440:71:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75376, + "nodeType": "EmitStatement", + "src": "15435:76:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75377, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15682:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15689:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 77540, + "src": "15682:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 75379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15694:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15682:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15703:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15682:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75401, + "nodeType": "IfStatement", + "src": "15678:173:172", + "trueBody": { + "id": 75400, + "nodeType": "Block", + "src": "15706:145:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75385, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15750:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15757:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 77540, + "src": "15750:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 75382, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72048, + "src": "15724:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibMeta_$72048_$", + "typeString": "type(library LibMeta)" + } + }, + "id": 75384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15732:17:172", + "memberName": "checkMetaUnhashed", + "nodeType": "MemberAccess", + "referencedDeclaration": 72018, + "src": "15724:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 75387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15724:38:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75388, + "nodeType": "ExpressionStatement", + "src": "15724:38:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75390, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15792:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15796:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15792:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 75394, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15812:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15804:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15804:7:172", + "typeDescriptions": {} + } + }, + "id": 75395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15804:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75396, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15824:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15831:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 77540, + "src": "15824:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 75389, + "name": "MetaV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71963, + "src": "15785:6:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 75398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15785:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75399, + "nodeType": "EmitStatement", + "src": "15780:56:172" + } + ] + } + } + ] + } + } + ] + }, + "baseFunctions": [ + 77746 + ], + "documentation": { + "id": 75229, + "nodeType": "StructuredDocumentation", + "src": "13660:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "847a1bc9", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75235, + "kind": "modifierInvocation", + "modifierName": { + "id": 75234, + "name": "nonReentrant", + "nameLocations": [ + "13751:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "13751:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "13751:12:172" + } + ], + "name": "addOrder", + "nameLocation": "13702:8:172", + "parameters": { + "id": 75233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75232, + "mutability": "mutable", + "name": "config", + "nameLocation": "13734:6:172", + "nodeType": "VariableDeclaration", + "scope": 75405, + "src": "13711:29:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2" + }, + "typeName": { + "id": 75231, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75230, + "name": "OrderConfigV2", + "nameLocations": [ + "13711:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77541, + "src": "13711:13:172" + }, + "referencedDeclaration": 77541, + "src": "13711:13:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_storage_ptr", + "typeString": "struct OrderConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "13710:31:172" + }, + "returnParameters": { + "id": 75238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75237, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "13778:12:172", + "nodeType": "VariableDeclaration", + "scope": 75405, + "src": "13773:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 75236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13773:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13772:19:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75461, + "nodeType": "FunctionDefinition", + "src": "15906:448:172", + "nodes": [], + "body": { + "id": 75460, + "nodeType": "Block", + "src": "15999:355:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75416, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16013:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16017:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16013:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 75418, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16027:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16033:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "16027:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16013:25:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75429, + "nodeType": "IfStatement", + "src": "16009:101:172", + "trueBody": { + "id": 75428, + "nodeType": "Block", + "src": "16040:70:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75422, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16075:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16079:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16075:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75424, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16087:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16093:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "16087:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75421, + "name": "NotOrderOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74833, + "src": "16061:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 75426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16061:38:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75427, + "nodeType": "RevertStatement", + "src": "16054:45:172" + } + ] + } + }, + { + "assignments": [ + 75431 + ], + "declarations": [ + { + "constant": false, + "id": 75431, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "16127:9:172", + "nodeType": "VariableDeclaration", + "scope": 75460, + "src": "16119:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16119:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75435, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75432, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16139:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16145:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "16139:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16139:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16119:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75436, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "16165:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75438, + "indexExpression": { + "id": 75437, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75431, + "src": "16173:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16165:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75439, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74863, + "src": "16187:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16165:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75459, + "nodeType": "IfStatement", + "src": "16161:187:172", + "trueBody": { + "id": 75458, + "nodeType": "Block", + "src": "16199:149:172", + "statements": [ + { + "expression": { + "id": 75443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75441, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75414, + "src": "16213:12:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 75442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16228:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16213:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75444, + "nodeType": "ExpressionStatement", + "src": "16213:19:172" + }, + { + "expression": { + "id": 75449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75445, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "16246:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75447, + "indexExpression": { + "id": 75446, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75431, + "src": "16254:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16246:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75448, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "16267:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16246:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75450, + "nodeType": "ExpressionStatement", + "src": "16246:31:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75452, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16308:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16312:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16308:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75454, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16320:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + { + "id": 75455, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75431, + "src": "16327:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75451, + "name": "RemoveOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77644, + "src": "16296:11:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,struct Order memory,bytes32)" + } + }, + "id": 75456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16296:41:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75457, + "nodeType": "EmitStatement", + "src": "16291:46:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 77763 + ], + "documentation": { + "id": 75406, + "nodeType": "StructuredDocumentation", + "src": "15873:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "e23746a3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75412, + "kind": "modifierInvocation", + "modifierName": { + "id": 75411, + "name": "nonReentrant", + "nameLocations": [ + "15958:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "15958:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "15958:12:172" + } + ], + "name": "removeOrder", + "nameLocation": "15915:11:172", + "parameters": { + "id": 75410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75409, + "mutability": "mutable", + "name": "order", + "nameLocation": "15942:5:172", + "nodeType": "VariableDeclaration", + "scope": 75461, + "src": "15927:20:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75408, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75407, + "name": "Order", + "nameLocations": [ + "15927:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "15927:5:172" + }, + "referencedDeclaration": 77222, + "src": "15927:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "src": "15926:22:172" + }, + "returnParameters": { + "id": 75415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75414, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "15985:12:172", + "nodeType": "VariableDeclaration", + "scope": 75461, + "src": "15980:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 75413, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15980:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15979:19:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76010, + "nodeType": "FunctionDefinition", + "src": "16393:8257:172", + "nodes": [], + "body": { + "id": 76009, + "nodeType": "Block", + "src": "16559:8091:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75474, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16573:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16580:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "16573:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16587:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16573:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16597:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16573:25:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75483, + "nodeType": "IfStatement", + "src": "16569:73:172", + "trueBody": { + "id": 75482, + "nodeType": "Block", + "src": "16600:42:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75479, + "name": "NoOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77527, + "src": "16621:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 75480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16621:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75481, + "nodeType": "RevertStatement", + "src": "16614:17:172" + } + ] + } + }, + { + "assignments": [ + 75485 + ], + "declarations": [ + { + "constant": false, + "id": 75485, + "mutability": "mutable", + "name": "i", + "nameLocation": "16660:1:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16652:9:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16652:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75487, + "initialValue": { + "hexValue": "30", + "id": 75486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16664:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "16652:13:172" + }, + { + "assignments": [ + 75490 + ], + "declarations": [ + { + "constant": false, + "id": 75490, + "mutability": "mutable", + "name": "takeOrderConfig", + "nameLocation": "16698:15:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16675:38:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig" + }, + "typeName": { + "id": 75489, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75488, + "name": "TakeOrderConfig", + "nameLocations": [ + "16675:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77249, + "src": "16675:15:172" + }, + "referencedDeclaration": 77249, + "src": "16675:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_storage_ptr", + "typeString": "struct TakeOrderConfig" + } + }, + "visibility": "internal" + } + ], + "id": 75491, + "nodeType": "VariableDeclarationStatement", + "src": "16675:38:172" + }, + { + "assignments": [ + 75494 + ], + "declarations": [ + { + "constant": false, + "id": 75494, + "mutability": "mutable", + "name": "order", + "nameLocation": "16736:5:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16723:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75493, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75492, + "name": "Order", + "nameLocations": [ + "16723:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "16723:5:172" + }, + "referencedDeclaration": 77222, + "src": "16723:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 75495, + "nodeType": "VariableDeclarationStatement", + "src": "16723:18:172" + }, + { + "assignments": [ + 75497 + ], + "declarations": [ + { + "constant": false, + "id": 75497, + "mutability": "mutable", + "name": "remainingTakerInput", + "nameLocation": "16760:19:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16752:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16752:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75500, + "initialValue": { + "expression": { + "id": 75498, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16782:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16789:12:172", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77545, + "src": "16782:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16752:49:172" + }, + { + "body": { + "id": 75893, + "nodeType": "Block", + "src": "16871:5715:172", + "statements": [ + { + "expression": { + "id": 75515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75510, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "16885:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 75511, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16903:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16910:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "16903:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75514, + "indexExpression": { + "id": 75513, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75485, + "src": "16917:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16903:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "src": "16885:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75516, + "nodeType": "ExpressionStatement", + "src": "16885:34:172" + }, + { + "expression": { + "id": 75520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75517, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "16933:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 75518, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "16941:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16957:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "16941:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "src": "16933:29:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75521, + "nodeType": "ExpressionStatement", + "src": "16933:29:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75522, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17052:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17058:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17052:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75526, + "indexExpression": { + "expression": { + "id": 75524, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17070:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17086:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17070:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17052:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75527, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17100:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17052:53:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75528, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17129:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17136:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17129:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75531, + "indexExpression": { + "hexValue": "30", + "id": 75530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17143:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17129:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17146:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17129:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17152:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17129:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75539, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75534, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17164:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17171:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17164:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75537, + "indexExpression": { + "hexValue": "30", + "id": 75536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17178:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17164:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17181:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17164:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17129:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17195:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17129:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17052:148:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75565, + "nodeType": "IfStatement", + "src": "17031:423:172", + "trueBody": { + "id": 75564, + "nodeType": "Block", + "src": "17215:239:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75543, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17275:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17281:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17275:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75547, + "indexExpression": { + "expression": { + "id": 75545, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17293:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75546, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17309:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17293:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17275:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17323:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17275:53:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75549, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17350:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17357:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17350:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75552, + "indexExpression": { + "hexValue": "30", + "id": 75551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17364:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17350:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17367:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17350:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17373:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17350:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75560, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75555, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17385:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17392:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17385:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75558, + "indexExpression": { + "hexValue": "30", + "id": 75557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17399:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17385:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17402:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17385:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17350:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17416:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17350:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75542, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "17240:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 75562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17240:199:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75563, + "nodeType": "RevertStatement", + "src": "17233:206:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75566, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17544:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75567, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17550:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17544:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75570, + "indexExpression": { + "expression": { + "id": 75568, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17563:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75569, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17579:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17563:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17544:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17594:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17544:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75572, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17623:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17630:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17623:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75575, + "indexExpression": { + "hexValue": "30", + "id": 75574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17637:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17623:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17640:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17623:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17646:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17623:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75583, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75578, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17659:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17666:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17659:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75581, + "indexExpression": { + "hexValue": "30", + "id": 75580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17673:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17659:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17676:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17659:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17623:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17691:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17623:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17544:152:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75609, + "nodeType": "IfStatement", + "src": "17523:431:172", + "trueBody": { + "id": 75608, + "nodeType": "Block", + "src": "17711:243:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75587, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17771:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17777:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17771:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75591, + "indexExpression": { + "expression": { + "id": 75589, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17790:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17806:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17790:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17771:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17821:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17771:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75593, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17848:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17855:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17848:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75596, + "indexExpression": { + "hexValue": "30", + "id": 75595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17862:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17848:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17865:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17848:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17871:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17848:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75604, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75599, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17884:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17891:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17884:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75602, + "indexExpression": { + "hexValue": "30", + "id": 75601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17898:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17884:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17901:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17884:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17848:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17916:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17848:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75586, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "17736:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 75606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17736:203:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75607, + "nodeType": "RevertStatement", + "src": "17729:210:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 75629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75610, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18052:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75611, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18058:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18052:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75614, + "indexExpression": { + "expression": { + "id": 75612, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18070:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75613, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18086:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18070:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18052:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75615, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18100:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18052:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75616, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18132:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18139:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18132:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75619, + "indexExpression": { + "hexValue": "30", + "id": 75618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18146:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18132:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18149:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18132:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18155:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18132:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75627, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75622, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18167:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18174:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18167:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75625, + "indexExpression": { + "hexValue": "30", + "id": 75624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18181:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18167:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18184:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18167:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18132:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18198:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18132:74:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "18052:154:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75653, + "nodeType": "IfStatement", + "src": "18031:443:172", + "trueBody": { + "id": 75652, + "nodeType": "Block", + "src": "18221:253:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75631, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18289:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75632, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18295:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18289:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75635, + "indexExpression": { + "expression": { + "id": 75633, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18307:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18323:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18307:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18289:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18337:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18289:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75637, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18367:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18374:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18367:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75640, + "indexExpression": { + "hexValue": "30", + "id": 75639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18381:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18367:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18384:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18367:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18390:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18367:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75648, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75643, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18402:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18409:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18402:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75646, + "indexExpression": { + "hexValue": "30", + "id": 75645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18416:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18402:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18419:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18402:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18367:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18433:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18367:74:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 75630, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "18246:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 75650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18246:213:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75651, + "nodeType": "RevertStatement", + "src": "18239:220:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 75673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75654, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18573:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18579:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18573:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75658, + "indexExpression": { + "expression": { + "id": 75656, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18592:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75657, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18608:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18592:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18573:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75659, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18623:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18573:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75660, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18655:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18662:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18655:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75663, + "indexExpression": { + "hexValue": "30", + "id": 75662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18669:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18655:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18672:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18655:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18678:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18655:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75671, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75666, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18691:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18698:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18691:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75669, + "indexExpression": { + "hexValue": "30", + "id": 75668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18705:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18691:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18708:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18691:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18655:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18723:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18655:76:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "18573:158:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75697, + "nodeType": "IfStatement", + "src": "18552:451:172", + "trueBody": { + "id": 75696, + "nodeType": "Block", + "src": "18746:257:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75675, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18814:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18820:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18814:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75679, + "indexExpression": { + "expression": { + "id": 75677, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18833:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18849:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18833:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18814:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18864:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18814:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75681, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18894:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18901:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18894:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75684, + "indexExpression": { + "hexValue": "30", + "id": 75683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18908:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18894:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18911:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18894:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18917:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18894:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75692, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75687, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18930:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18937:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18930:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75690, + "indexExpression": { + "hexValue": "30", + "id": 75689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18944:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18930:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18947:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18930:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18894:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18962:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18894:76:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 75674, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "18771:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 75694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18771:217:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75695, + "nodeType": "RevertStatement", + "src": "18764:224:172" + } + ] + } + }, + { + "assignments": [ + 75699 + ], + "declarations": [ + { + "constant": false, + "id": 75699, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "19025:9:172", + "nodeType": "VariableDeclaration", + "scope": 75893, + "src": "19017:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75698, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19017:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75703, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75700, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19037:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75701, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19043:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "19037:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19037:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19017:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75704, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "19067:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75706, + "indexExpression": { + "id": 75705, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "19075:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19067:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75707, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "19089:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19067:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 75887, + "nodeType": "Block", + "src": "19194:3322:172", + "statements": [ + { + "assignments": [ + 75720 + ], + "declarations": [ + { + "constant": false, + "id": 75720, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "19238:18:172", + "nodeType": "VariableDeclaration", + "scope": 75887, + "src": "19212:44:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75719, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75718, + "name": "OrderIOCalculation", + "nameLocations": [ + "19212:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "19212:18:172" + }, + "referencedDeclaration": 74975, + "src": "19212:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 75732, + "initialValue": { + "arguments": [ + { + "id": 75722, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19297:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 75723, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "19324:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19340:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "19324:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75725, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "19374:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19390:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "19374:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75727, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19425:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19429:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19425:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75729, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "19457:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19473:13:172", + "memberName": "signedContext", + "nodeType": "MemberAccess", + "referencedDeclaration": 77248, + "src": "19457:29:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 75721, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76653, + "src": "19259:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 75731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19259:245:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19212:292:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75733, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "19854:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19873:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "19854:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 75735, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "19883:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19890:14:172", + "memberName": "maximumIORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 77547, + "src": "19883:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19854:50:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 75749, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "20040:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20059:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "20040:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75747, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "20018:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20033:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "20018:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20018:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20073:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "20018:56:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 75884, + "nodeType": "Block", + "src": "20179:2323:172", + "statements": [ + { + "assignments": [ + 75764 + ], + "declarations": [ + { + "constant": false, + "id": 75764, + "mutability": "mutable", + "name": "takerInputDecimals", + "nameLocation": "20207:18:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "20201:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 75763, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "20201:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 75771, + "initialValue": { + "expression": { + "baseExpression": { + "expression": { + "id": 75765, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "20228:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20234:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "20228:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75769, + "indexExpression": { + "expression": { + "id": 75767, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "20247:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20263:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "20247:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20228:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20278:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "20228:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20201:85:172" + }, + { + "assignments": [ + 75774 + ], + "declarations": [ + { + "constant": false, + "id": 75774, + "mutability": "mutable", + "name": "takerInput18", + "nameLocation": "20397:12:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "20383:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 75773, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75772, + "name": "Input18Amount", + "nameLocations": [ + "20383:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "20383:13:172" + }, + "referencedDeclaration": 74979, + "src": "20383:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75783, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75779, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "20453:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20472:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "20453:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75777, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "20431:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20446:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "20431:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20431:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75775, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "20412:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20426:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20412:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 75782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20412:71:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20383:100:172" + }, + { + "id": 75811, + "nodeType": "Block", + "src": "20784:506:172", + "statements": [ + { + "assignments": [ + 75786 + ], + "declarations": [ + { + "constant": false, + "id": 75786, + "mutability": "mutable", + "name": "remainingTakerInput18", + "nameLocation": "20929:21:172", + "nodeType": "VariableDeclaration", + "scope": 75811, + "src": "20915:35:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 75785, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75784, + "name": "Input18Amount", + "nameLocations": [ + "20915:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "20915:13:172" + }, + "referencedDeclaration": 74979, + "src": "20915:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75795, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 75791, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75764, + "src": "21028:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75792, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71249, + "src": "21048:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75789, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "21000:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21020:7:172", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 71561, + "src": "21000:27:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21000:62:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75787, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "20981:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20995:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20981:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 75794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20981:82:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20915:148:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 75798, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "21114:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75796, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "21093:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21107:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21093:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21093:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 75802, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75786, + "src": "21151:21:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75800, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "21130:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21144:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21130:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21130:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21093:80:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75810, + "nodeType": "IfStatement", + "src": "21089:179:172", + "trueBody": { + "id": 75809, + "nodeType": "Block", + "src": "21175:93:172", + "statements": [ + { + "expression": { + "id": 75807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75805, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "21205:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75806, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75786, + "src": "21220:21:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "src": "21205:36:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "id": 75808, + "nodeType": "ExpressionStatement", + "src": "21205:36:172" + } + ] + } + } + ] + }, + { + "assignments": [ + 75813 + ], + "declarations": [ + { + "constant": false, + "id": 75813, + "mutability": "mutable", + "name": "takerOutput", + "nameLocation": "21320:11:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "21312:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21312:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75814, + "nodeType": "VariableDeclarationStatement", + "src": "21312:19:172" + }, + { + "id": 75849, + "nodeType": "Block", + "src": "21353:724:172", + "statements": [ + { + "assignments": [ + 75817 + ], + "declarations": [ + { + "constant": false, + "id": 75817, + "mutability": "mutable", + "name": "takerOutput18", + "nameLocation": "21477:13:172", + "nodeType": "VariableDeclaration", + "scope": 75849, + "src": "21462:28:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 75816, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75815, + "name": "Output18Amount", + "nameLocations": [ + "21462:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "21462:14:172" + }, + "referencedDeclaration": 74977, + "src": "21462:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75832, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75825, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "21744:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21763:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "21744:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 75827, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "21772:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", + "typeString": "type(library Math)" + } + }, + "id": 75828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21777:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45957, + "src": "21772:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 75829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21786:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45955, + "src": "21772:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 75822, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "21683:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75820, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "21662:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21676:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21662:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21662:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21697:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 71288, + "src": "21662:48:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 75830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21662:156:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75818, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "21493:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21508:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "21493:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 75831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21493:351:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21462:382:172" + }, + { + "expression": { + "id": 75847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75833, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "21870:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75839, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "21957:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21963:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "21957:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75843, + "indexExpression": { + "expression": { + "id": 75841, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "21975:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21991:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "21975:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21957:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22005:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "21957:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75845, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71243, + "src": "22015:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75836, + "name": "takerOutput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75817, + "src": "21906:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75834, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "21884:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21899:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21884:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21884:36:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21921:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "21884:43:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21884:170:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21870:184:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75848, + "nodeType": "ExpressionStatement", + "src": "21870:184:172" + } + ] + }, + { + "assignments": [ + 75851 + ], + "declarations": [ + { + "constant": false, + "id": 75851, + "mutability": "mutable", + "name": "takerInput", + "nameLocation": "22107:10:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "22099:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22099:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75860, + "initialValue": { + "arguments": [ + { + "id": 75857, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75764, + "src": "22162:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75858, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71249, + "src": "22182:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75854, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "22141:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75852, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "22120:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22134:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "22120:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22120:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22155:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "22120:41:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22120:76:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22099:97:172" + }, + { + "expression": { + "id": 75863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75861, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "22219:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 75862, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75851, + "src": "22242:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22219:33:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75864, + "nodeType": "ExpressionStatement", + "src": "22219:33:172" + }, + { + "expression": { + "id": 75867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75865, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "22274:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75866, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "22294:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22274:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75868, + "nodeType": "ExpressionStatement", + "src": "22274:31:172" + }, + { + "expression": { + "arguments": [ + { + "id": 75870, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "22342:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75871, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "22349:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75872, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75851, + "src": "22362:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75873, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "22374:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75869, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76830, + "src": "22328:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 75874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22328:65:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75875, + "nodeType": "ExpressionStatement", + "src": "22328:65:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75877, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "22430:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22434:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "22430:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75879, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "22442:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + { + "id": 75880, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75851, + "src": "22459:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75881, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "22471:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75876, + "name": "TakeOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77656, + "src": "22420:9:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77249_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" + } + }, + "id": 75882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22420:63:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75883, + "nodeType": "EmitStatement", + "src": "22415:68:172" + } + ] + }, + "id": 75885, + "nodeType": "IfStatement", + "src": "20014:2488:172", + "trueBody": { + "id": 75762, + "nodeType": "Block", + "src": "20076:97:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75755, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "20119:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20123:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "20119:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75757, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "20131:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75758, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20137:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "20131:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75759, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "20144:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75754, + "name": "OrderZeroAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77674, + "src": "20103:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20103:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75761, + "nodeType": "EmitStatement", + "src": "20098:56:172" + } + ] + } + }, + "id": 75886, + "nodeType": "IfStatement", + "src": "19850:2652:172", + "trueBody": { + "id": 75746, + "nodeType": "Block", + "src": "19906:102:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75739, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19954:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19958:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19954:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75741, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19966:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19972:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "19966:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75743, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "19979:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75738, + "name": "OrderExceedsMaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77683, + "src": "19933:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19933:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75745, + "nodeType": "EmitStatement", + "src": "19928:61:172" + } + ] + } + } + ] + }, + "id": 75888, + "nodeType": "IfStatement", + "src": "19063:3453:172", + "trueBody": { + "id": 75717, + "nodeType": "Block", + "src": "19101:87:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75710, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19138:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19142:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19138:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75712, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19150:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19156:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "19150:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75714, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "19163:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75709, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77665, + "src": "19124:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19124:49:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75716, + "nodeType": "EmitStatement", + "src": "19119:54:172" + } + ] + } + }, + { + "id": 75892, + "nodeType": "UncheckedBlock", + "src": "22530:46:172", + "statements": [ + { + "expression": { + "id": 75890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22558:3:172", + "subExpression": { + "id": 75889, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75485, + "src": "22558:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75891, + "nodeType": "ExpressionStatement", + "src": "22558:3:172" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 75509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75501, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75485, + "src": "16818:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "id": 75502, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16822:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16829:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "16822:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16836:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16822:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16818:24:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75506, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "16846:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16868:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16846:23:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16818:51:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75894, + "nodeType": "WhileStatement", + "src": "16811:5775:172" + }, + { + "expression": { + "id": 75900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75895, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "22595:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75896, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "22613:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22620:12:172", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77545, + "src": "22613:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 75898, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "22635:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22613:41:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22595:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75901, + "nodeType": "ExpressionStatement", + "src": "22595:59:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75902, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "22669:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 75903, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "22687:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22694:12:172", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77543, + "src": "22687:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22669:37:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75913, + "nodeType": "IfStatement", + "src": "22665:125:172", + "trueBody": { + "id": 75912, + "nodeType": "Block", + "src": "22708:82:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75907, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "22742:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22749:12:172", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77543, + "src": "22742:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75909, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "22763:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75906, + "name": "MinimumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74854, + "src": "22729:12:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 75910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22729:50:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75911, + "nodeType": "RevertStatement", + "src": "22722:57:172" + } + ] + } + }, + { + "assignments": [ + 75915 + ], + "declarations": [ + { + "constant": false, + "id": 75915, + "mutability": "mutable", + "name": "takerInputAmountSent", + "nameLocation": "23580:20:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "23572:28:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23572:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75934, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75917, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23648:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23655:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23648:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75920, + "indexExpression": { + "hexValue": "30", + "id": 75919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23662:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23648:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23665:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "23648:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23671:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "23648:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75928, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75923, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23684:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23691:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23684:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75926, + "indexExpression": { + "hexValue": "30", + "id": 75925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23698:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23684:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23701:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "23684:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23648:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23716:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "23648:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75930, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23723:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23727:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23723:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75932, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "23735:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75916, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74350, + "src": "23603:31:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,address,uint256) returns (uint256)" + } + }, + "id": 75933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23603:157:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23572:188:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75935, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23774:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23781:4:172", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 77553, + "src": "23774:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 75937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23786:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "23774:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23795:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23774:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75978, + "nodeType": "IfStatement", + "src": "23770:395:172", + "trueBody": { + "id": 75977, + "nodeType": "Block", + "src": "23798:367:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75945, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23877:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23884:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23877:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75948, + "indexExpression": { + "hexValue": "30", + "id": 75947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23891:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23877:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23894:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "23877:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23900:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "23877:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75956, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75951, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23913:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23920:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23913:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75954, + "indexExpression": { + "hexValue": "30", + "id": 75953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23927:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23913:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23930:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "23913:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23877:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23945:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "23877:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75958, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23968:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23975:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23968:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75961, + "indexExpression": { + "hexValue": "30", + "id": 75960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23982:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23968:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23985:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "23968:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23991:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "23968:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75969, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75964, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24003:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24010:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "24003:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75967, + "indexExpression": { + "hexValue": "30", + "id": 75966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24017:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24003:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24020:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "24003:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23968:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24034:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "23968:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75971, + "name": "takerInputAmountSent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75915, + "src": "24057:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75972, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "24095:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75973, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24129:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24136:4:172", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 77553, + "src": "24129:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 75941, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23835:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23839:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23835:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75940, + "name": "IOrderBookV3OrderTaker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77828, + "src": "23812:22:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$77828_$", + "typeString": "type(contract IOrderBookV3OrderTaker)" + } + }, + "id": 75943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23812:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$77828", + "typeString": "contract IOrderBookV3OrderTaker" + } + }, + "id": 75944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23847:12:172", + "memberName": "onTakeOrders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77827, + "src": "23812:47:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 75975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23812:342:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75976, + "nodeType": "ExpressionStatement", + "src": "23812:342:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75979, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "24179:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24198:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24179:20:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76008, + "nodeType": "IfStatement", + "src": "24175:469:172", + "trueBody": { + "id": 76007, + "nodeType": "Block", + "src": "24201:443:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75998, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "24576:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24580:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "24576:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 76002, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "24596:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + ], + "id": 76001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24588:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24588:7:172", + "typeDescriptions": {} + } + }, + "id": 76003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24588:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76004, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "24603:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75983, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24469:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24476:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "24469:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75986, + "indexExpression": { + "hexValue": "30", + "id": 75985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24483:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24469:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24486:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "24469:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24492:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "24469:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75994, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75989, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24504:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24511:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "24504:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75992, + "indexExpression": { + "hexValue": "30", + "id": 75991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24518:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24504:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24521:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "24504:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24469:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24535:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "24469:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75982, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "24462:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 75996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24462:79:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 75997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24542:16:172", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44497, + "src": "24462:96:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 76005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24462:171:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76006, + "nodeType": "ExpressionStatement", + "src": "24462:171:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 77774 + ], + "documentation": { + "id": 75462, + "nodeType": "StructuredDocumentation", + "src": "16360:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "8a44689c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75468, + "kind": "modifierInvocation", + "modifierName": { + "id": 75467, + "name": "nonReentrant", + "nameLocations": [ + "16474:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "16474:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "16474:12:172" + } + ], + "name": "takeOrders", + "nameLocation": "16402:10:172", + "parameters": { + "id": 75466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75465, + "mutability": "mutable", + "name": "config", + "nameLocation": "16441:6:172", + "nodeType": "VariableDeclaration", + "scope": 76010, + "src": "16413:34:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2" + }, + "typeName": { + "id": 75464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75463, + "name": "TakeOrdersConfigV2", + "nameLocations": [ + "16413:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77554, + "src": "16413:18:172" + }, + "referencedDeclaration": 77554, + "src": "16413:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_storage_ptr", + "typeString": "struct TakeOrdersConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "16412:36:172" + }, + "returnParameters": { + "id": 75473, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75470, + "mutability": "mutable", + "name": "totalTakerInput", + "nameLocation": "16512:15:172", + "nodeType": "VariableDeclaration", + "scope": 76010, + "src": "16504:23:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16504:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75472, + "mutability": "mutable", + "name": "totalTakerOutput", + "nameLocation": "16537:16:172", + "nodeType": "VariableDeclaration", + "scope": 76010, + "src": "16529:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16529:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16503:51:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76336, + "nodeType": "FunctionDefinition", + "src": "24689:4247:172", + "nodes": [], + "body": { + "id": 76335, + "nodeType": "Block", + "src": "24932:4004:172", + "nodes": [], + "statements": [ + { + "id": 76213, + "nodeType": "Block", + "src": "24942:2410:172", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76033, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "24960:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24966:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "24960:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 76035, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "24975:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76036, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24979:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "24975:9:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24960:24:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76044, + "nodeType": "IfStatement", + "src": "24956:92:172", + "trueBody": { + "id": 76043, + "nodeType": "Block", + "src": "24986:62:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 76039, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25021:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76040, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25027:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "25021:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76038, + "name": "SameOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74859, + "src": "25011:9:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 76041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25011:22:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76042, + "nodeType": "RevertStatement", + "src": "25004:29:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76045, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25082:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25088:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25082:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76049, + "indexExpression": { + "expression": { + "id": 76047, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25101:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25113:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25101:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25082:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25133:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25082:56:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76051, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25162:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25166:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25162:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76055, + "indexExpression": { + "expression": { + "id": 76053, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25178:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25190:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25178:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25162:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25207:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25162:50:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "25082:130:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76074, + "nodeType": "IfStatement", + "src": "25061:387:172", + "trueBody": { + "id": 76073, + "nodeType": "Block", + "src": "25227:221:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76059, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25287:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25293:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25287:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76063, + "indexExpression": { + "expression": { + "id": 76061, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25306:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25318:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25306:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25287:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76064, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25338:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25287:56:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76065, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25365:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25369:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25365:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76069, + "indexExpression": { + "expression": { + "id": 76067, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25381:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25393:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25381:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25365:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25410:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25365:50:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76058, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "25252:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25252:181:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76072, + "nodeType": "RevertStatement", + "src": "25245:188:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 76087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76075, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25483:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76076, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25489:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25483:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76079, + "indexExpression": { + "expression": { + "id": 76077, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25502:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25514:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25502:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25483:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25534:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25483:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76081, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25566:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76082, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25570:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25566:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76085, + "indexExpression": { + "expression": { + "id": 76083, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25582:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25594:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25582:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25566:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76086, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25611:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25566:53:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "25483:136:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76104, + "nodeType": "IfStatement", + "src": "25462:407:172", + "trueBody": { + "id": 76103, + "nodeType": "Block", + "src": "25634:235:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76089, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25702:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25708:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25702:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76093, + "indexExpression": { + "expression": { + "id": 76091, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25721:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25733:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25721:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25702:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25753:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25702:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76095, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25783:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25787:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25783:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76099, + "indexExpression": { + "expression": { + "id": 76097, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25799:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25811:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25799:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25783:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25828:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25783:53:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 76088, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "25659:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 76101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25659:195:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76102, + "nodeType": "RevertStatement", + "src": "25652:202:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76105, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25904:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25908:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25904:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76109, + "indexExpression": { + "expression": { + "id": 76107, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25921:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25933:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "25921:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25904:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25951:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25904:52:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76111, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25980:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25986:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25980:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76115, + "indexExpression": { + "expression": { + "id": 76113, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25998:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26010:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "25998:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25980:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26029:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25980:54:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "25904:130:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76134, + "nodeType": "IfStatement", + "src": "25883:387:172", + "trueBody": { + "id": 76133, + "nodeType": "Block", + "src": "26049:221:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76119, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26109:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26115:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "26109:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76123, + "indexExpression": { + "expression": { + "id": 76121, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26127:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26139:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "26127:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26109:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76124, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26158:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "26109:54:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76125, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "26185:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76126, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26189:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "26185:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76129, + "indexExpression": { + "expression": { + "id": 76127, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26202:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26214:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "26202:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26185:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26232:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "26185:52:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76118, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "26074:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26074:181:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76132, + "nodeType": "RevertStatement", + "src": "26067:188:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 76147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76135, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "26305:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26309:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "26305:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76139, + "indexExpression": { + "expression": { + "id": 76137, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26322:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26334:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "26322:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26305:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26352:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26305:55:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76141, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26384:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26390:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "26384:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76145, + "indexExpression": { + "expression": { + "id": 76143, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26402:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26414:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "26402:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26384:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76146, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26433:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26384:57:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "26305:136:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76164, + "nodeType": "IfStatement", + "src": "26284:407:172", + "trueBody": { + "id": 76163, + "nodeType": "Block", + "src": "26456:235:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76149, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26524:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76150, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26530:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "26524:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76153, + "indexExpression": { + "expression": { + "id": 76151, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26542:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26554:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "26542:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26524:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26573:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26524:57:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76155, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "26603:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26607:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "26603:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76159, + "indexExpression": { + "expression": { + "id": 76157, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26620:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26632:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "26620:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26603:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76160, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26650:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26603:55:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 76148, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "26481:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 76161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26481:195:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76162, + "nodeType": "RevertStatement", + "src": "26474:202:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76165, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "26916:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76169, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76166, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26924:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26930:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "26924:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26924:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26916:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76170, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "26941:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26916:35:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76184, + "nodeType": "IfStatement", + "src": "26912:155:172", + "trueBody": { + "id": 76183, + "nodeType": "Block", + "src": "26953:114:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "26990:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26994:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26990:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76175, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27002:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76176, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27008:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27002:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76177, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27015:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27021:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "27015:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27015:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76172, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77665, + "src": "26976:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26976:52:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76181, + "nodeType": "EmitStatement", + "src": "26971:57:172" + }, + { + "functionReturnParameters": 76032, + "id": 76182, + "nodeType": "Return", + "src": "27046:7:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76185, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "27084:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76189, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76186, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27092:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27096:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "27092:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27092:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27084:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76190, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27107:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27084:33:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76204, + "nodeType": "IfStatement", + "src": "27080:149:172", + "trueBody": { + "id": 76203, + "nodeType": "Block", + "src": "27119:110:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76193, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27156:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27160:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27156:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76195, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27168:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76196, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27172:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27168:9:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76197, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27179:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76198, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27183:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "27179:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27179:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76192, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77665, + "src": "27142:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27142:48:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76201, + "nodeType": "EmitStatement", + "src": "27137:53:172" + }, + { + "functionReturnParameters": 76032, + "id": 76202, + "nodeType": "Return", + "src": "27208:7:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27305:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27309:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27305:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76208, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27317:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 76209, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27324:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 76210, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27329:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + ], + "id": 76205, + "name": "Clear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77697, + "src": "27299:5:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_ClearConfig_$77262_memory_ptr_$returns$__$", + "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" + } + }, + "id": 76211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27299:42:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76212, + "nodeType": "EmitStatement", + "src": "27294:47:172" + } + ] + }, + { + "assignments": [ + 76216 + ], + "declarations": [ + { + "constant": false, + "id": 76216, + "mutability": "mutable", + "name": "aliceOrderIOCalculation_", + "nameLocation": "27387:24:172", + "nodeType": "VariableDeclaration", + "scope": 76335, + "src": "27361:50:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76215, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76214, + "name": "OrderIOCalculation", + "nameLocations": [ + "27361:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "27361:18:172" + }, + "referencedDeclaration": 74975, + "src": "27361:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 76227, + "initialValue": { + "arguments": [ + { + "id": 76218, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27444:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76219, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27451:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27463:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "27451:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76221, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27482:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27494:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "27482:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76223, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27514:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27518:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27514:9:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76225, + "name": "bobSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76028, + "src": "27525:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 76217, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76653, + "src": "27414:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 76226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27414:137:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27361:190:172" + }, + { + "assignments": [ + 76230 + ], + "declarations": [ + { + "constant": false, + "id": 76230, + "mutability": "mutable", + "name": "bobOrderIOCalculation_", + "nameLocation": "27587:22:172", + "nodeType": "VariableDeclaration", + "scope": 76335, + "src": "27561:48:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76229, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76228, + "name": "OrderIOCalculation", + "nameLocations": [ + "27561:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "27561:18:172" + }, + "referencedDeclaration": 74975, + "src": "27561:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 76241, + "initialValue": { + "arguments": [ + { + "id": 76232, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27642:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76233, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27647:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27659:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "27647:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76235, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27676:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27688:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "27676:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76237, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27706:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27712:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27706:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76239, + "name": "aliceSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76024, + "src": "27719:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 76231, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76653, + "src": "27612:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 76240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27612:135:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27561:186:172" + }, + { + "assignments": [ + 76244 + ], + "declarations": [ + { + "constant": false, + "id": 76244, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "27781:16:172", + "nodeType": "VariableDeclaration", + "scope": 76335, + "src": "27757:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 76243, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76242, + "name": "ClearStateChange", + "nameLocations": [ + "27757:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77271, + "src": "27757:16:172" + }, + "referencedDeclaration": 77271, + "src": "27757:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "id": 76249, + "initialValue": { + "arguments": [ + { + "id": 76246, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76216, + "src": "27838:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 76247, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76230, + "src": "27864:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76245, + "name": "calculateClearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76856, + "src": "27812:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$_t_struct$_ClearStateChange_$77271_memory_ptr_$", + "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" + } + }, + "id": 76248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27812:75:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27757:130:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76251, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27912:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76252, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "27919:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27936:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77268, + "src": "27919:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76254, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "27948:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27965:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77264, + "src": "27948:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76256, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76216, + "src": "27978:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76250, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76830, + "src": "27898:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 76257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27898:105:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76258, + "nodeType": "ExpressionStatement", + "src": "27898:105:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76260, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "28027:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76261, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28032:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28049:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77270, + "src": "28032:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76263, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28059:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28076:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77266, + "src": "28059:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76265, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76230, + "src": "28087:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76259, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76830, + "src": "28013:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 76266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28013:97:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76267, + "nodeType": "ExpressionStatement", + "src": "28013:97:172" + }, + { + "id": 76328, + "nodeType": "Block", + "src": "28121:753:172", + "statements": [ + { + "assignments": [ + 76269 + ], + "declarations": [ + { + "constant": false, + "id": 76269, + "mutability": "mutable", + "name": "aliceBounty", + "nameLocation": "28275:11:172", + "nodeType": "VariableDeclaration", + "scope": 76328, + "src": "28267:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28267:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76275, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76270, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28289:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28306:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77264, + "src": "28289:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 76272, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28320:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28337:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77270, + "src": "28320:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28289:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28267:78:172" + }, + { + "assignments": [ + 76277 + ], + "declarations": [ + { + "constant": false, + "id": 76277, + "mutability": "mutable", + "name": "bobBounty", + "nameLocation": "28367:9:172", + "nodeType": "VariableDeclaration", + "scope": 76328, + "src": "28359:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28359:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76283, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76278, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28379:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28396:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77266, + "src": "28379:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 76280, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28408:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28425:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77268, + "src": "28408:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28379:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28359:76:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76284, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76269, + "src": "28453:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28467:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28453:15:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76305, + "nodeType": "IfStatement", + "src": "28449:206:172", + "trueBody": { + "id": 76304, + "nodeType": "Block", + "src": "28470:185:172", + "statements": [ + { + "expression": { + "id": 76302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76287, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "28488:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76298, + "indexExpression": { + "expression": { + "id": 76288, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28503:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28507:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28503:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28488:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76299, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76290, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "28515:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28521:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "28515:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76294, + "indexExpression": { + "expression": { + "id": 76292, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28534:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28546:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "28534:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28515:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28566:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "28515:56:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28488:84:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76300, + "indexExpression": { + "expression": { + "id": 76296, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28573:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28606:18:172", + "memberName": "aliceBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77259, + "src": "28573:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28488:137:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76301, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76269, + "src": "28629:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28488:152:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76303, + "nodeType": "ExpressionStatement", + "src": "28488:152:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76306, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76277, + "src": "28672:9:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28684:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28672:13:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76327, + "nodeType": "IfStatement", + "src": "28668:196:172", + "trueBody": { + "id": 76326, + "nodeType": "Block", + "src": "28687:177:172", + "statements": [ + { + "expression": { + "id": 76324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76309, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "28705:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76320, + "indexExpression": { + "expression": { + "id": 76310, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28720:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28724:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28720:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28705:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76321, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76312, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "28732:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28736:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "28732:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76316, + "indexExpression": { + "expression": { + "id": 76314, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28749:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28761:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "28749:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28732:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76317, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28779:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "28732:52:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28705:80:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76322, + "indexExpression": { + "expression": { + "id": 76318, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28786:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28819:16:172", + "memberName": "bobBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77261, + "src": "28786:49:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28705:131:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76323, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76277, + "src": "28840:9:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28705:144:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76325, + "nodeType": "ExpressionStatement", + "src": "28705:144:172" + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76330, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28900:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28904:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28900:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76332, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28912:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + ], + "id": 76329, + "name": "AfterClear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77705, + "src": "28889:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77271_memory_ptr_$returns$__$", + "typeString": "function (address,struct ClearStateChange memory)" + } + }, + "id": 76333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28889:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76334, + "nodeType": "EmitStatement", + "src": "28884:45:172" + } + ] + }, + "baseFunctions": [ + 77795 + ], + "documentation": { + "id": 76011, + "nodeType": "StructuredDocumentation", + "src": "24656:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "9e18968b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76031, + "kind": "modifierInvocation", + "modifierName": { + "id": 76030, + "name": "nonReentrant", + "nameLocations": [ + "24919:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "24919:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "24919:12:172" + } + ], + "name": "clear", + "nameLocation": "24698:5:172", + "parameters": { + "id": 76029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76014, + "mutability": "mutable", + "name": "alice", + "nameLocation": "24726:5:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24713:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76013, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76012, + "name": "Order", + "nameLocations": [ + "24713:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "24713:5:172" + }, + "referencedDeclaration": 77222, + "src": "24713:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76017, + "mutability": "mutable", + "name": "bob", + "nameLocation": "24754:3:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24741:16:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76016, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76015, + "name": "Order", + "nameLocations": [ + "24741:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "24741:5:172" + }, + "referencedDeclaration": 77222, + "src": "24741:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76020, + "mutability": "mutable", + "name": "clearConfig", + "nameLocation": "24788:11:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24767:32:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 76019, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76018, + "name": "ClearConfig", + "nameLocations": [ + "24767:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77262, + "src": "24767:11:172" + }, + "referencedDeclaration": 77262, + "src": "24767:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76024, + "mutability": "mutable", + "name": "aliceSignedContext", + "nameLocation": "24834:18:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24809:43:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 76022, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76021, + "name": "SignedContextV1", + "nameLocations": [ + "24809:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56240, + "src": "24809:15:172" + }, + "referencedDeclaration": 56240, + "src": "24809:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 76023, + "nodeType": "ArrayTypeName", + "src": "24809:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76028, + "mutability": "mutable", + "name": "bobSignedContext", + "nameLocation": "24887:16:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24862:41:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 76026, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76025, + "name": "SignedContextV1", + "nameLocations": [ + "24862:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56240, + "src": "24862:15:172" + }, + "referencedDeclaration": 56240, + "src": "24862:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 76027, + "nodeType": "ArrayTypeName", + "src": "24862:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "24703:206:172" + }, + "returnParameters": { + "id": 76032, + "nodeType": "ParameterList", + "parameters": [], + "src": "24932:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76653, + "nodeType": "FunctionDefinition", + "src": "29640:5114:172", + "nodes": [], + "body": { + "id": 76652, + "nodeType": "Block", + "src": "29889:4865:172", + "nodes": [], + "statements": [ + { + "id": 76651, + "nodeType": "UncheckedBlock", + "src": "29899:4849:172", + "statements": [ + { + "assignments": [ + 76357 + ], + "declarations": [ + { + "constant": false, + "id": 76357, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "29931:9:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "29923:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29923:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 76361, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76358, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "29943:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29949:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "29943:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29943:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29923:32:172" + }, + { + "assignments": [ + 76367 + ], + "declarations": [ + { + "constant": false, + "id": 76367, + "mutability": "mutable", + "name": "context", + "nameLocation": "29989:7:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "29970:26:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 76364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29970:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76365, + "nodeType": "ArrayTypeName", + "src": "29970:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76366, + "nodeType": "ArrayTypeName", + "src": "29970:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 76368, + "nodeType": "VariableDeclarationStatement", + "src": "29970:26:172" + }, + { + "id": 76515, + "nodeType": "Block", + "src": "30010:1540:172", + "statements": [ + { + "assignments": [ + 76374 + ], + "declarations": [ + { + "constant": false, + "id": 76374, + "mutability": "mutable", + "name": "callingContext", + "nameLocation": "30047:14:172", + "nodeType": "VariableDeclaration", + "scope": 76515, + "src": "30028:33:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 76371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30028:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76372, + "nodeType": "ArrayTypeName", + "src": "30028:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76373, + "nodeType": "ArrayTypeName", + "src": "30028:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 76381, + "initialValue": { + "arguments": [ + { + "id": 76379, + "name": "CALLING_CONTEXT_COLUMNS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74903, + "src": "30101:23:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "30064:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 76375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30068:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76376, + "nodeType": "ArrayTypeName", + "src": "30068:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76377, + "nodeType": "ArrayTypeName", + "src": "30068:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + } + }, + "id": 76380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30064:78:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "30028:114:172" + }, + { + "expression": { + "id": 76409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76382, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "30160:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76386, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 76383, + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74911, + "src": "30175:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30208:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30175:34:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30160:50:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 76391, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76357, + "src": "30268:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30260:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30260:7:172", + "typeDescriptions": {} + } + }, + "id": 76392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30260:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76397, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30296:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30302:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "30296:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30288:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76395, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30288:7:172", + "typeDescriptions": {} + } + }, + "id": 76399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30288:20:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30280:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30280:7:172", + "typeDescriptions": {} + } + }, + "id": 76400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30280:29:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 76405, + "name": "counterparty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76346, + "src": "30327:12:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30319:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76403, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30319:7:172", + "typeDescriptions": {} + } + }, + "id": 76406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30319:21:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30311:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30311:7:172", + "typeDescriptions": {} + } + }, + "id": 76407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30311:30:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76387, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "30213:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30229:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72558, + "src": "30213:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30213:146:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30160:199:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76410, + "nodeType": "ExpressionStatement", + "src": "30160:199:172" + }, + { + "expression": { + "id": 76457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76411, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "30378:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76415, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 76412, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "30393:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30423:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30393:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30378:47:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76422, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30491:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76423, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30497:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30491:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76425, + "indexExpression": { + "id": 76424, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30509:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30491:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30523:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "30491:37:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30483:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76420, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30483:7:172", + "typeDescriptions": {} + } + }, + "id": 76427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30483:46:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30475:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30475:7:172", + "typeDescriptions": {} + } + }, + "id": 76428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30475:55:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76429, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30552:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30558:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30552:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76432, + "indexExpression": { + "id": 76431, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30570:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30552:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30584:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "30552:40:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76434, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30614:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30620:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30614:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76437, + "indexExpression": { + "id": 76436, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30632:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30614:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30646:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "30614:39:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76439, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "30675:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76442, + "indexExpression": { + "expression": { + "id": 76440, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30690:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30696:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "30690:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30675:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76448, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76443, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30703:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76444, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30709:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30703:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76446, + "indexExpression": { + "id": 76445, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30721:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30703:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30735:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "30703:37:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30675:66:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76454, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76449, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30742:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30748:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30742:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76452, + "indexExpression": { + "id": 76451, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30760:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30742:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76453, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30799:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "30742:64:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30675:132:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 76455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30885:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 76416, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "30428:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30444:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72594, + "src": "30428:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30428:476:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30378:526:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76458, + "nodeType": "ExpressionStatement", + "src": "30378:526:172" + }, + { + "expression": { + "id": 76505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76459, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "30923:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76463, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 76460, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "30938:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30969:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30938:32:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30923:48:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76470, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31037:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76471, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31043:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31037:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76473, + "indexExpression": { + "id": 76472, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31056:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31037:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76474, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31071:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "31037:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31029:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76468, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "31029:7:172", + "typeDescriptions": {} + } + }, + "id": 76475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31029:48:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31021:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31021:7:172", + "typeDescriptions": {} + } + }, + "id": 76476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31021:57:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76477, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31100:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31106:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31100:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76480, + "indexExpression": { + "id": 76479, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31119:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31100:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76481, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31134:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "31100:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76482, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31164:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76483, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31170:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31164:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76485, + "indexExpression": { + "id": 76484, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31183:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31164:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31198:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "31164:41:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76487, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "31227:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76490, + "indexExpression": { + "expression": { + "id": 76488, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31242:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76489, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31248:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "31242:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31227:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76496, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76491, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31255:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31261:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31255:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76494, + "indexExpression": { + "id": 76493, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31274:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31255:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76495, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31289:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "31255:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31227:68:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76502, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76497, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31296:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31302:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31296:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76500, + "indexExpression": { + "id": 76499, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31315:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31296:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76501, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31355:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "31296:66:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31227:136:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 76503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31441:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 76464, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "30974:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30990:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72594, + "src": "30974:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30974:486:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30923:537:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76506, + "nodeType": "ExpressionStatement", + "src": "30923:537:172" + }, + { + "expression": { + "id": 76513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76507, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "31478:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 76510, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "31505:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 76511, + "name": "signedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76350, + "src": "31521:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "expression": { + "id": 76508, + "name": "LibContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57061, + "src": "31488:10:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibContext_$57061_$", + "typeString": "type(library LibContext)" + } + }, + "id": 76509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31499:5:172", + "memberName": "build", + "nodeType": "MemberAccess", + "referencedDeclaration": 57060, + "src": "31488:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" + } + }, + "id": 76512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31488:47:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "src": "31478:57:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76514, + "nodeType": "ExpressionStatement", + "src": "31478:57:172" + } + ] + }, + { + "assignments": [ + 76518 + ], + "declarations": [ + { + "constant": false, + "id": 76518, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "31741:9:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "31726:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 76517, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76516, + "name": "StateNamespace", + "nameLocations": [ + "31726:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56306, + "src": "31726:14:172" + }, + "referencedDeclaration": 56306, + "src": "31726:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + } + ], + "id": 76530, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76525, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31789:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31795:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "31789:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31781:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76523, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "31781:7:172", + "typeDescriptions": {} + } + }, + "id": 76527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31781:20:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31773:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31773:7:172", + "typeDescriptions": {} + } + }, + "id": 76528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31773:29:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76519, + "name": "StateNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56306, + "src": "31753:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56306_$", + "typeString": "type(StateNamespace)" + } + }, + "id": 76520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31768:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "31753:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56306_$", + "typeString": "function (uint256) pure returns (StateNamespace)" + } + }, + "id": 76529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31753:50:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "31726:77:172" + }, + { + "assignments": [ + 76535, + 76538 + ], + "declarations": [ + { + "constant": false, + "id": 76535, + "mutability": "mutable", + "name": "calculateOrderStack", + "nameLocation": "32162:19:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32145:36:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32145:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76534, + "nodeType": "ArrayTypeName", + "src": "32145:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76538, + "mutability": "mutable", + "name": "calculateOrderKVs", + "nameLocation": "32200:17:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32183:34:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32183:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76537, + "nodeType": "ArrayTypeName", + "src": "32183:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 76554, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76543, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32305:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32311:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "32305:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32321:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "32305:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 76546, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76518, + "src": "32328:9:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 76548, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32363:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32369:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "32363:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32379:10:172", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 57279, + "src": "32363:26:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76547, + "name": "_calculateOrderDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76987, + "src": "32339:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 76551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32339:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + { + "id": 76552, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "32392:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76539, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32221:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32244:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "32221:32:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32271:11:172", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 57274, + "src": "32221:61:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + "id": 76542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32300:4:172", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 56346, + "src": "32221:83:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 76553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32221:179:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32144:256:172" + }, + { + "assignments": [ + 76557 + ], + "declarations": [ + { + "constant": false, + "id": 76557, + "mutability": "mutable", + "name": "orderOutputMax18", + "nameLocation": "32430:16:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32415:31:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76556, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76555, + "name": "Output18Amount", + "nameLocations": [ + "32415:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "32415:14:172" + }, + "referencedDeclaration": 74977, + "src": "32415:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76567, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 76560, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32469:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76565, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76561, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32489:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32509:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32489:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "32", + "id": 76563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32518:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "32489:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32469:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76558, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "32449:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32464:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "32449:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32449:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32415:106:172" + }, + { + "assignments": [ + 76569 + ], + "declarations": [ + { + "constant": false, + "id": 76569, + "mutability": "mutable", + "name": "orderIORatio", + "nameLocation": "32543:12:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32535:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76568, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32535:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76576, + "initialValue": { + "baseExpression": { + "id": 76570, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32558:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76575, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76571, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32578:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32598:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32578:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32607:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "32578:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32558:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32535:74:172" + }, + { + "id": 76627, + "nodeType": "Block", + "src": "32624:1718:172", + "statements": [ + { + "assignments": [ + 76578 + ], + "declarations": [ + { + "constant": false, + "id": 76578, + "mutability": "mutable", + "name": "ownerVaultBalance", + "nameLocation": "32786:17:172", + "nodeType": "VariableDeclaration", + "scope": 76627, + "src": "32778:25:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32778:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76595, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76579, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "32806:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76582, + "indexExpression": { + "expression": { + "id": 76580, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32821:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32827:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "32821:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32806:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76588, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76583, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32834:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76584, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32840:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "32834:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76586, + "indexExpression": { + "id": 76585, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "32853:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32834:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32868:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "32834:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32806:68:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76594, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76589, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32875:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32902:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "32875:39:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76592, + "indexExpression": { + "id": 76591, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "32915:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32875:54:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32930:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "32875:62:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32806:132:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32778:160:172" + }, + { + "assignments": [ + 76598 + ], + "declarations": [ + { + "constant": false, + "id": 76598, + "mutability": "mutable", + "name": "ownerVaultBalance18", + "nameLocation": "34006:19:172", + "nodeType": "VariableDeclaration", + "scope": 76627, + "src": "33991:34:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76597, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76596, + "name": "Output18Amount", + "nameLocations": [ + "33991:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "33991:14:172" + }, + "referencedDeclaration": 74977, + "src": "33991:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76611, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76603, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "34094:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34100:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "34094:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76606, + "indexExpression": { + "id": 76605, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "34113:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34094:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34128:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "34094:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 76608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34138:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 76601, + "name": "ownerVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76578, + "src": "34068:17:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34086:7:172", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 71561, + "src": "34068:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 76609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34068:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76599, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34048:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34063:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "34048:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34048:93:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33991:150:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 76614, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34185:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76612, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34163:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34178:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34163:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34163:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 76618, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76598, + "src": "34227:19:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76616, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34205:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34220:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34205:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34205:42:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34163:84:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76626, + "nodeType": "IfStatement", + "src": "34159:169:172", + "trueBody": { + "id": 76625, + "nodeType": "Block", + "src": "34249:79:172", + "statements": [ + { + "expression": { + "id": 76623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76621, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34271:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76622, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76598, + "src": "34290:19:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "src": "34271:38:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "id": 76624, + "nodeType": "ExpressionStatement", + "src": "34271:38:172" + } + ] + } + } + ] + }, + { + "expression": { + "id": 76639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76628, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "34439:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76630, + "indexExpression": { + "id": 76629, + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74915, + "src": "34447:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "34439:36:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 76635, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34542:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76633, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34520:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34535:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34520:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34520:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76637, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "34561:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76631, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "34494:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34510:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72543, + "src": "34494:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34494:80:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "34439:135:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76640, + "nodeType": "ExpressionStatement", + "src": "34439:135:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76642, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "34632:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 76643, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "34639:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76644, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34654:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + { + "id": 76645, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "34672:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76646, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "34686:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 76647, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76518, + "src": "34695:9:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "id": 76648, + "name": "calculateOrderKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76538, + "src": "34706:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 76641, + "name": "OrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74975, + "src": "34596:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$74975_storage_ptr_$", + "typeString": "type(struct OrderIOCalculation storage pointer)" + } + }, + "id": 76649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34596:141:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "functionReturnParameters": 76355, + "id": 76650, + "nodeType": "Return", + "src": "34589:148:172" + } + ] + } + ] + }, + "documentation": { + "id": 76337, + "nodeType": "StructuredDocumentation", + "src": "28942:693:172", + "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateOrderIO", + "nameLocation": "29649:16:172", + "parameters": { + "id": 76351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76340, + "mutability": "mutable", + "name": "order", + "nameLocation": "29688:5:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29675:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76339, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76338, + "name": "Order", + "nameLocations": [ + "29675:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "29675:5:172" + }, + "referencedDeclaration": 77222, + "src": "29675:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76342, + "mutability": "mutable", + "name": "inputIOIndex", + "nameLocation": "29711:12:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29703:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76341, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29703:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76344, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "29741:13:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29733:21:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29733:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76346, + "mutability": "mutable", + "name": "counterparty", + "nameLocation": "29772:12:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29764:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29764:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76350, + "mutability": "mutable", + "name": "signedContext", + "nameLocation": "29819:13:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29794:38:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 76348, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76347, + "name": "SignedContextV1", + "nameLocations": [ + "29794:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56240, + "src": "29794:15:172" + }, + "referencedDeclaration": 56240, + "src": "29794:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 76349, + "nodeType": "ArrayTypeName", + "src": "29794:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "29665:173:172" + }, + "returnParameters": { + "id": 76355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29862:25:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76353, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76352, + "name": "OrderIOCalculation", + "nameLocations": [ + "29862:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "29862:18:172" + }, + "referencedDeclaration": 74975, + "src": "29862:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "29861:27:172" + }, + "scope": 77004, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76830, + "nodeType": "FunctionDefinition", + "src": "35328:3665:172", + "nodes": [], + "body": { + "id": 76829, + "nodeType": "Block", + "src": "35495:3498:172", + "nodes": [], + "statements": [ + { + "expression": { + "id": 76675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76667, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35505:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35524:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35505:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76672, + "indexExpression": { + "id": 76669, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "35532:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35505:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76673, + "indexExpression": { + "id": 76670, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74943, + "src": "35561:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35505:86:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76674, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76659, + "src": "35594:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35505:94:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76676, + "nodeType": "ExpressionStatement", + "src": "35505:94:172" + }, + { + "expression": { + "id": 76685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76677, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35609:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35628:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35609:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76682, + "indexExpression": { + "id": 76679, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "35636:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35609:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76683, + "indexExpression": { + "id": 76680, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74943, + "src": "35666:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35609:87:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76684, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76661, + "src": "35699:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35609:96:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76686, + "nodeType": "ExpressionStatement", + "src": "35609:96:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76687, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76659, + "src": "35720:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35728:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "35720:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76718, + "nodeType": "IfStatement", + "src": "35716:360:172", + "trueBody": { + "id": 76717, + "nodeType": "Block", + "src": "35731:345:172", + "statements": [ + { + "expression": { + "id": 76715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76690, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "35816:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76711, + "indexExpression": { + "expression": { + "id": 76691, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "35831:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76692, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35837:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "35831:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35816:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76712, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76697, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35877:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76698, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35896:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35877:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76700, + "indexExpression": { + "id": 76699, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "35904:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35877:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76702, + "indexExpression": { + "id": 76701, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74927, + "src": "35933:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35877:79:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35869:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76695, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "35869:7:172", + "typeDescriptions": {} + } + }, + "id": 76703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35869:88:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35844:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35844:7:172", + "typeDescriptions": {} + } + }, + "id": 76704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35844:127:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35816:156:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76713, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76705, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35973:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35992:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35973:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76708, + "indexExpression": { + "id": 76707, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "36000:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35973:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76710, + "indexExpression": { + "id": 76709, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74935, + "src": "36029:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35973:82:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35816:240:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76714, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76659, + "src": "36060:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35816:249:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76716, + "nodeType": "ExpressionStatement", + "src": "35816:249:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76719, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76661, + "src": "36089:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36098:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "36089:10:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76750, + "nodeType": "IfStatement", + "src": "36085:365:172", + "trueBody": { + "id": 76749, + "nodeType": "Block", + "src": "36101:349:172", + "statements": [ + { + "expression": { + "id": 76747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76722, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "36187:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76743, + "indexExpression": { + "expression": { + "id": 76723, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "36202:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36208:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "36202:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36187:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76744, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76729, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36248:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36267:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "36248:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76732, + "indexExpression": { + "id": 76731, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "36275:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36248:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76734, + "indexExpression": { + "id": 76733, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74927, + "src": "36305:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36248:80:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36240:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76727, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "36240:7:172", + "typeDescriptions": {} + } + }, + "id": 76735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36240:89:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36215:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36215:7:172", + "typeDescriptions": {} + } + }, + "id": 76736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36215:128:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36187:157:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76745, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76737, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36345:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36364:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "36345:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76740, + "indexExpression": { + "id": 76739, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "36372:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36345:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76742, + "indexExpression": { + "id": 76741, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74935, + "src": "36402:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36345:83:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "36187:242:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 76746, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76661, + "src": "36433:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "36187:252:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76748, + "nodeType": "ExpressionStatement", + "src": "36187:252:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76752, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "36624:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36628:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "36624:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76754, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36636:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76755, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36655:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "36636:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "id": 76751, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56259, + "src": "36616:7:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory[] memory)" + } + }, + "id": 76756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36616:47:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76757, + "nodeType": "EmitStatement", + "src": "36611:52:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 76758, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36894:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36913:3:172", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 74974, + "src": "36894:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36917:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "36894:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36926:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "36894:33:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76777, + "nodeType": "IfStatement", + "src": "36890:470:172", + "trueBody": { + "id": 76776, + "nodeType": "Block", + "src": "36929:431:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76770, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "37296:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37315:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 74971, + "src": "37296:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "expression": { + "id": 76772, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "37326:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37345:3:172", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 74974, + "src": "37326:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76763, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "37270:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76767, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37276:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "37270:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37286:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "37270:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 76769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37292:3:172", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 56285, + "src": "37270:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 76774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37270:79:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76775, + "nodeType": "ExpressionStatement", + "src": "37270:79:172" + } + ] + } + }, + { + "condition": { + "expression": { + "id": 76778, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "37518:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37524:8:172", + "memberName": "handleIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 77210, + "src": "37518:14:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76828, + "nodeType": "IfStatement", + "src": "37514:1473:172", + "trueBody": { + "id": 76827, + "nodeType": "Block", + "src": "37534:1453:172", + "statements": [ + { + "assignments": [ + 76784, + 76787 + ], + "declarations": [ + { + "constant": false, + "id": 76784, + "mutability": "mutable", + "name": "handleIOStack", + "nameLocation": "38009:13:172", + "nodeType": "VariableDeclaration", + "scope": 76827, + "src": "37992:30:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37992:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76783, + "nodeType": "ArrayTypeName", + "src": "37992:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76787, + "mutability": "mutable", + "name": "handleIOKVs", + "nameLocation": "38041:11:172", + "nodeType": "VariableDeclaration", + "scope": 76827, + "src": "38024:28:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "38024:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76786, + "nodeType": "ArrayTypeName", + "src": "38024:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 76805, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76792, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38106:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38112:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38106:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76794, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38122:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "38106:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "expression": { + "id": 76795, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "38145:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38164:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 74971, + "src": "38145:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 76798, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38209:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76799, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38215:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38209:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38225:10:172", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 57279, + "src": "38209:26:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76797, + "name": "_handleIODispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77003, + "src": "38191:17:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 76801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38191:45:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + { + "expression": { + "id": 76802, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "38254:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38273:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "38254:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76788, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38056:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76789, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38062:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38056:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38072:11:172", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 57274, + "src": "38056:27:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + "id": 76791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38084:4:172", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 56346, + "src": "38056:32:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 76804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38056:238:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "37991:303:172" + }, + { + "expression": { + "components": [ + { + "id": 76806, + "name": "handleIOStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76784, + "src": "38367:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 76807, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "38366:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76808, + "nodeType": "ExpressionStatement", + "src": "38366:15:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76809, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76787, + "src": "38505:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38517:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "38505:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38526:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "38505:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76826, + "nodeType": "IfStatement", + "src": "38501:476:172", + "trueBody": { + "id": 76825, + "nodeType": "Block", + "src": "38529:448:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76820, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "38920:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76821, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38939:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 74971, + "src": "38920:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "id": 76822, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76787, + "src": "38950:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76813, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38894:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38900:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38894:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38910:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "38894:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 76819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38916:3:172", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 56285, + "src": "38894:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 76823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38894:68:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76824, + "nodeType": "ExpressionStatement", + "src": "38894:68:172" + } + ] + } + } + ] + } + } + ] + }, + "documentation": { + "id": 76654, + "nodeType": "StructuredDocumentation", + "src": "34760:563:172", + "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recordVaultIO", + "nameLocation": "35337:13:172", + "parameters": { + "id": 76665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76657, + "mutability": "mutable", + "name": "order", + "nameLocation": "35373:5:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35360:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76656, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76655, + "name": "Order", + "nameLocations": [ + "35360:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "35360:5:172" + }, + "referencedDeclaration": 77222, + "src": "35360:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76659, + "mutability": "mutable", + "name": "input", + "nameLocation": "35396:5:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35388:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35388:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76661, + "mutability": "mutable", + "name": "output", + "nameLocation": "35419:6:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35411:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35411:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76664, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "35461:18:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35435:44:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76663, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76662, + "name": "OrderIOCalculation", + "nameLocations": [ + "35435:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "35435:18:172" + }, + "referencedDeclaration": 74975, + "src": "35435:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "35350:135:172" + }, + "returnParameters": { + "id": 76666, + "nodeType": "ParameterList", + "parameters": [], + "src": "35495:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76856, + "nodeType": "FunctionDefinition", + "src": "39537:486:172", + "nodes": [], + "body": { + "id": 76855, + "nodeType": "Block", + "src": "39759:264:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 76844, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76841, + "src": "39794:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + { + "id": 76845, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76834, + "src": "39812:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 76846, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76837, + "src": "39837:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76843, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76971, + "src": "39769:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" + } + }, + "id": 76847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39769:90:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76848, + "nodeType": "ExpressionStatement", + "src": "39769:90:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76850, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76841, + "src": "39951:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + { + "id": 76851, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76837, + "src": "39969:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 76852, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76834, + "src": "39992:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76849, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76971, + "src": "39926:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" + } + }, + "id": 76853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39926:90:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76854, + "nodeType": "ExpressionStatement", + "src": "39926:90:172" + } + ] + }, + "documentation": { + "id": 76831, + "nodeType": "StructuredDocumentation", + "src": "38999:533:172", + "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateChange", + "nameLocation": "39546:25:172", + "parameters": { + "id": 76838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76834, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "39607:23:172", + "nodeType": "VariableDeclaration", + "scope": 76856, + "src": "39581:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76833, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76832, + "name": "OrderIOCalculation", + "nameLocations": [ + "39581:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "39581:18:172" + }, + "referencedDeclaration": 74975, + "src": "39581:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76837, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "39666:21:172", + "nodeType": "VariableDeclaration", + "scope": 76856, + "src": "39640:47:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76836, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76835, + "name": "OrderIOCalculation", + "nameLocations": [ + "39640:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "39640:18:172" + }, + "referencedDeclaration": 74975, + "src": "39640:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "39571:122:172" + }, + "returnParameters": { + "id": 76842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76841, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "39741:16:172", + "nodeType": "VariableDeclaration", + "scope": 76856, + "src": "39717:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 76840, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76839, + "name": "ClearStateChange", + "nameLocations": [ + "39717:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77271, + "src": "39717:16:172" + }, + "referencedDeclaration": 77271, + "src": "39717:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "src": "39716:42:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76971, + "nodeType": "FunctionDefinition", + "src": "40029:2055:172", + "nodes": [], + "body": { + "id": 76970, + "nodeType": "Block", + "src": "40249:1835:172", + "nodes": [], + "statements": [ + { + "assignments": [ + 76870 + ], + "declarations": [ + { + "constant": false, + "id": 76870, + "mutability": "mutable", + "name": "bobInputMax18", + "nameLocation": "40466:13:172", + "nodeType": "VariableDeclaration", + "scope": 76970, + "src": "40452:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 76869, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76868, + "name": "Input18Amount", + "nameLocations": [ + "40452:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "40452:13:172" + }, + "referencedDeclaration": 74979, + "src": "40452:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76886, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76879, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "40600:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40622:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "40600:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 76881, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "40631:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", + "typeString": "type(library Math)" + } + }, + "id": 76882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40636:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45957, + "src": "40631:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 76883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40645:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45955, + "src": "40631:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 76875, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "40536:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40558:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "40536:31:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76873, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "40514:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40529:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40514:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40514:54:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40569:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 71288, + "src": "40514:68:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 76884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40514:147:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76871, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "40482:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40496:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "40482:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 76885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40482:189:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "40452:219:172" + }, + { + "assignments": [ + 76889 + ], + "declarations": [ + { + "constant": false, + "id": 76889, + "mutability": "mutable", + "name": "aliceOutputMax18", + "nameLocation": "40696:16:172", + "nodeType": "VariableDeclaration", + "scope": 76970, + "src": "40681:31:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76888, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76887, + "name": "Output18Amount", + "nameLocations": [ + "40681:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "40681:14:172" + }, + "referencedDeclaration": 74977, + "src": "40681:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76892, + "initialValue": { + "expression": { + "id": 76890, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "40715:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40739:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "40715:33:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "40681:67:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 76895, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "40861:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76893, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "40839:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40854:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40839:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40839:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 76899, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76870, + "src": "40902:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76897, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "40881:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40895:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40881:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40881:35:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "40839:77:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76913, + "nodeType": "IfStatement", + "src": "40835:183:172", + "trueBody": { + "id": 76912, + "nodeType": "Block", + "src": "40918:100:172", + "statements": [ + { + "expression": { + "id": 76910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76902, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "40932:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 76907, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76870, + "src": "40992:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76905, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "40971:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40985:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40971:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40971:35:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76903, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "40951:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40966:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "40951:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40951:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "src": "40932:75:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "id": 76911, + "nodeType": "ExpressionStatement", + "src": "40932:75:172" + } + ] + } + }, + { + "expression": { + "id": 76931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 76914, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76859, + "src": "41149:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76916, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "41166:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77264, + "src": "41149:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 76922, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "41240:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41264:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 74957, + "src": "41240:29:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76924, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41270:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "41240:42:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76927, + "indexExpression": { + "expression": { + "id": 76925, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "41283:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76926, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41307:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 74959, + "src": "41283:37:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41240:81:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41322:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "41240:90:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 76929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41332:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "arguments": [ + { + "id": 76919, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "41202:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76917, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "41180:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41195:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41180:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41180:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41220:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "41180:46:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 76930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41180:163:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41149:194:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76932, + "nodeType": "ExpressionStatement", + "src": "41149:194:172" + }, + { + "assignments": [ + 76935 + ], + "declarations": [ + { + "constant": false, + "id": 76935, + "mutability": "mutable", + "name": "aliceInput18", + "nameLocation": "41446:12:172", + "nodeType": "VariableDeclaration", + "scope": 76970, + "src": "41432:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 76934, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76933, + "name": "Input18Amount", + "nameLocations": [ + "41432:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "41432:13:172" + }, + "referencedDeclaration": 74979, + "src": "41432:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76950, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76943, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "41547:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76944, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41571:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "41547:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 76945, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "41580:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", + "typeString": "type(library Math)" + } + }, + "id": 76946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41585:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45957, + "src": "41580:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 76947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41594:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45955, + "src": "41580:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 76940, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "41515:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76938, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "41493:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41508:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41493:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41493:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41533:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 71288, + "src": "41493:53:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 76948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41493:104:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76936, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "41461:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41475:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "41461:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 76949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41461:146:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "41432:175:172" + }, + { + "expression": { + "id": 76968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 76951, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76859, + "src": "41617:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "41634:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77268, + "src": "41617:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 76959, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "41966:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41988:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 74957, + "src": "41966:27:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76961, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41994:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "41966:40:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76964, + "indexExpression": { + "expression": { + "id": 76962, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "42007:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42029:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 74959, + "src": "42007:35:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41966:77:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76965, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42044:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "41966:86:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 76966, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71243, + "src": "42054:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 76956, + "name": "aliceInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76935, + "src": "41932:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76954, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "41911:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41925:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41911:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41911:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41946:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "41911:41:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 76967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41911:166:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41617:460:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76969, + "nodeType": "ExpressionStatement", + "src": "41617:460:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateAlice", + "nameLocation": "40038:24:172", + "parameters": { + "id": 76866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76859, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "40096:16:172", + "nodeType": "VariableDeclaration", + "scope": 76971, + "src": "40072:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 76858, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76857, + "name": "ClearStateChange", + "nameLocations": [ + "40072:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77271, + "src": "40072:16:172" + }, + "referencedDeclaration": 77271, + "src": "40072:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76862, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "40148:23:172", + "nodeType": "VariableDeclaration", + "scope": 76971, + "src": "40122:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76861, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76860, + "name": "OrderIOCalculation", + "nameLocations": [ + "40122:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "40122:18:172" + }, + "referencedDeclaration": 74975, + "src": "40122:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76865, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "40207:21:172", + "nodeType": "VariableDeclaration", + "scope": 76971, + "src": "40181:47:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76864, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76863, + "name": "OrderIOCalculation", + "nameLocations": [ + "40181:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "40181:18:172" + }, + "referencedDeclaration": 74975, + "src": "40181:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "40062:172:172" + }, + "returnParameters": { + "id": 76867, + "nodeType": "ParameterList", + "parameters": [], + "src": "40249:0:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76987, + "nodeType": "FunctionDefinition", + "src": "42090:213:172", + "nodes": [], + "body": { + "id": 76986, + "nodeType": "Block", + "src": "42184:119:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 76981, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76973, + "src": "42227:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76982, + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74875, + "src": "42240:26:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + { + "id": 76983, + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74891, + "src": "42268:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 76979, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57246, + "src": "42201:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 76980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42220:6:172", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57197, + "src": "42201:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 76984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42201:95:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 76978, + "id": 76985, + "nodeType": "Return", + "src": "42194:102:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_calculateOrderDispatch", + "nameLocation": "42099:23:172", + "parameters": { + "id": 76974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76973, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "42131:11:172", + "nodeType": "VariableDeclaration", + "scope": 76987, + "src": "42123:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42123:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42122:21:172" + }, + "returnParameters": { + "id": 76978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76977, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 76987, + "src": "42167:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 76976, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76975, + "name": "EncodedDispatch", + "nameLocations": [ + "42167:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56304, + "src": "42167:15:172" + }, + "referencedDeclaration": 56304, + "src": "42167:15:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "42166:17:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 77003, + "nodeType": "FunctionDefinition", + "src": "42309:195:172", + "nodes": [], + "body": { + "id": 77002, + "nodeType": "Block", + "src": "42397:107:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 76997, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76989, + "src": "42440:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76998, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74883, + "src": "42453:20:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + { + "id": 76999, + "name": "HANDLE_IO_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74899, + "src": "42475:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 76995, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57246, + "src": "42414:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 76996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42433:6:172", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57197, + "src": "42414:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 77000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42414:83:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 76994, + "id": 77001, + "nodeType": "Return", + "src": "42407:90:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_handleIODispatch", + "nameLocation": "42318:17:172", + "parameters": { + "id": 76990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76989, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "42344:11:172", + "nodeType": "VariableDeclaration", + "scope": 77003, + "src": "42336:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42336:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42335:21:172" + }, + "returnParameters": { + "id": 76994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76993, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 77003, + "src": "42380:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 76992, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76991, + "name": "EncodedDispatch", + "nameLocations": [ + "42380:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56304, + "src": "42380:15:172" + }, + "referencedDeclaration": 56304, + "src": "42380:15:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "42379:17:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 74981, + "name": "IOrderBookV3", + "nameLocations": [ + "9019:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77796, + "src": "9019:12:172" + }, + "id": 74982, + "nodeType": "InheritanceSpecifier", + "src": "9019:12:172" + }, + { + "baseName": { + "id": 74983, + "name": "ReentrancyGuard", + "nameLocations": [ + "9033:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43711, + "src": "9033:15:172" + }, + "id": 74984, + "nodeType": "InheritanceSpecifier", + "src": "9033:15:172" + }, + { + "baseName": { + "id": 74985, + "name": "Multicall", + "nameLocations": [ + "9050:9:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45220, + "src": "9050:9:172" + }, + "id": 74986, + "nodeType": "InheritanceSpecifier", + "src": "9050:9:172" + }, + { + "baseName": { + "id": 74987, + "name": "OrderBookV3FlashLender", + "nameLocations": [ + "9061:22:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74539, + "src": "9061:22:172" + }, + "id": 74988, + "nodeType": "InheritanceSpecifier", + "src": "9061:22:172" + }, + { + "baseName": { + "id": 74989, + "name": "DeployerDiscoverableMetaV2", + "nameLocations": [ + "9085:26:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55357, + "src": "9085:26:172" + }, + "id": 74990, + "nodeType": "InheritanceSpecifier", + "src": "9085:26:172" + } + ], + "canonicalName": "OrderBook", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 74980, + "nodeType": "StructuredDocumentation", + "src": "8929:68:172", + "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 77004, + 55357, + 71964, + 74539, + 45220, + 43711, + 77796, + 56260, + 77513 + ], + "name": "OrderBook", + "nameLocation": "9006:9:172", + "scope": 77005, + "usedErrors": [ + 56493, + 56776, + 71944, + 71949, + 74195, + 74198, + 74201, + 74206, + 74215, + 74826, + 74833, + 74840, + 74847, + 74854, + 74859, + 77527, + 77568, + 77577, + 77582, + 77587, + 77592, + 77597 + ] + } + ], + "license": "CAL" + }, + "id": 172 +} \ No newline at end of file diff --git a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json index 65f1408818..86f4d726c4 100644 --- a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json +++ b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json @@ -1389,11 +1389,6 @@ "type": "error", "name": "StackUnderflow" }, - { - "inputs": [], - "type": "error", - "name": "StackUnderflow" - }, { "inputs": [ { diff --git a/subgraph/tests/generated/mod.rs b/subgraph/tests/generated/mod.rs index d0188e664e..a1b68de0d5 100644 --- a/subgraph/tests/generated/mod.rs +++ b/subgraph/tests/generated/mod.rs @@ -1,4 +1,4 @@ -use ethers::prelude::abigen; +use ethers::prelude::*; abigen!( RainterpreterExpressionDeployer, @@ -13,4 +13,11 @@ abigen!( AuthoringMetaGetter, "tests/generated/AuthoringMetaGetter.json"; + + OrderBook, + "tests/generated/OrderBook.json"; + + // ERC20Mock should not be replaced. It's for testing purpose + ERC20Mock, + "tests/generated/ERC20Mock.json"; ); diff --git a/subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json b/subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json deleted file mode 100644 index 25ca36f963..0000000000 --- a/subgraph/tests/utils/deploy/deploy_orderbook/OrderBook.json +++ /dev/null @@ -1,23730 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct DeployerDiscoverableMetaV1ConstructionConfig", - "name": "config_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ActiveDebt", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "name": "FlashLenderCallbackFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "name": "MinimumInput", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "NotOrderOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "name": "NotRainMetaV1", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "SameOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "name": "TokenMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "name": "UnexpectedMetaHash", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroReceiver", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroToken", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract IExpressionDeployerV1", - "name": "expressionDeployer", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderHash", - "type": "uint256" - } - ], - "name": "AddOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple" - } - ], - "name": "AfterClear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - } - ], - "name": "Clear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - } - ], - "name": "Context", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct DepositConfig", - "name": "config", - "type": "tuple" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "subject", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "name": "MetaV1", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderHash", - "type": "uint256" - } - ], - "name": "OrderExceedsMaxRatio", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderHash", - "type": "uint256" - } - ], - "name": "OrderNotFound", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderHash", - "type": "uint256" - } - ], - "name": "OrderZeroAmount", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderHash", - "type": "uint256" - } - ], - "name": "RemoveOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "input", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "output", - "type": "uint256" - } - ], - "name": "TakeOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct WithdrawConfig", - "name": "config", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "contract IExpressionDeployerV1", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes[]", - "name": "sources", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ], - "internalType": "struct EvaluableConfig", - "name": "evaluableConfig", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct OrderConfig", - "name": "config_", - "type": "tuple" - } - ], - "name": "addOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "alice_", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "bob_", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "internalType": "struct ClearConfig", - "name": "clearConfig_", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext_", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext_", - "type": "tuple[]" - } - ], - "name": "clear", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct DepositConfig", - "name": "config_", - "type": "tuple" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver_", - "type": "address" - }, - { - "internalType": "address", - "name": "token_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data_", - "type": "bytes" - } - ], - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ], - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order_", - "type": "tuple" - } - ], - "name": "removeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "output", - "type": "address" - }, - { - "internalType": "address", - "name": "input", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]" - } - ], - "internalType": "struct TakeOrdersConfig", - "name": "takeOrders_", - "type": "tuple" - } - ], - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalInput_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalOutput_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct WithdrawConfig", - "name": "config_", - "type": "tuple" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b50604051620055bc380380620055bc833981016040819052620000559162000323565b7f23f773c3618546fdcc07be06f9424910462a90bd2b919684a4b856afa40f138460001b8160016000819055506200009d8282602001516200010160201b620018661760201c565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000d6913391309162000431565b60405180910390a1620000f881600001516200014860201b620018be1760201c565b505050620005a3565b80516020820120828114620001385760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b620001438262000213565b505050565b60408051600080825260208201909252819081906001600160a01b03851690635511cb6790836200018a565b6060815260200190600190039081620001745790505b5060408051600080825260208201908152818301928390526001600160e01b031960e086901b16909252620001c4929160448201620004a0565b6060604051808303816000875af1158015620001e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020a919062000533565b50505050505050565b6200021e8162000243565b620002405780604051630c89984b60e31b81526004016200012f919062000587565b50565b60006008825110156200025857506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620002ae57620002ae62000273565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002df57620002df62000273565b604052919050565b6001600160a01b03811681146200024057600080fd5b60005b838110156200031a57818101518382015260200162000300565b50506000910152565b600060208083850312156200033757600080fd5b82516001600160401b03808211156200034f57600080fd5b90840190604082870312156200036457600080fd5b6200036e62000289565b82516200037b81620002e7565b815282840151828111156200038f57600080fd5b80840193505086601f840112620003a557600080fd5b825182811115620003ba57620003ba62000273565b620003ce601f8201601f19168601620002b4565b92508083528785828601011115620003e557600080fd5b620003f681868501878701620002fd565b5092830152509392505050565b600081518084526200041d816020860160208601620002fd565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200045a606083018462000403565b95945050505050565b600081518084526020808501945080840160005b83811015620004955781518752958201959082019060010162000477565b509495945050505050565b6000606082016060835280865180835260808501915060808160051b8601019250602080890160005b83811015620004fb57607f19888703018552620004e886835162000403565b95509382019390820190600101620004c9565b50508584038187015250505062000513818662000463565b9050828103604084015262000529818562000463565b9695505050505050565b6000806000606084860312156200054957600080fd5b83516200055681620002e7565b60208501519093506200056981620002e7565b60408501519092506200057c81620002e7565b809150509250925092565b6020815260006200059c602083018462000403565b9392505050565b61500980620005b36000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80639e18968b11610081578063d9d98ce41161005b578063d9d98ce4146101cb578063e23746a3146101de578063e6b62636146101f157600080fd5b80639e18968b14610167578063ac9650d81461017a578063d97b2e481461019a57600080fd5b8063613255ab116100b2578063613255ab1461010b578063702766781461012c5780637a8048df1461013f57600080fd5b80634f266187146100ce5780635cffe9de146100e3575b600080fd5b6100e16100dc3660046137ef565b610204565b005b6100f66100f136600461382d565b610352565b60405190151581526020015b60405180910390f35b61011e6101193660046138cc565b610601565b604051908152602001610102565b6100e161013a3660046138e9565b6106ab565b61015261014d366004613936565b610a4e565b60408051928352602083019190915201610102565b6100e1610175366004613e3a565b610fb3565b61018d610188366004613efc565b611574565b6040516101029190614034565b61011e6101a8366004614047565b600560209081526000938452604080852082529284528284209052825290205481565b61011e6101d9366004614088565b6106a2565b6100e16101ec3660046140b4565b611669565b6100e16101ff3660046137ef565b61177e565b61020c6119a7565b336000908152600560209081526040822090829061022c908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208584013582529092528082205492506102739084013583611a1a565b905061027f818361411e565b3360009081526005602090815260408220919061029e908701876138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085602001358152602001908152602001600020819055507f2538ccc7ad2a119a36f2e65c1e2fc908beef800cd59b5d6680db24de18e7847a33848360405161032493929190614169565b60405180910390a161034361033c60208501856138cc565b3383611a32565b505061034f6001600055565b50565b600061035c611ae0565b73ffffffffffffffffffffffffffffffffffffffff85166103a9576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166103f6576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556001805492891692909116919091179055600384905583156104775761047773ffffffffffffffffffffffffffffffffffffffff86168786611b51565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906104d69033908a908a9087908b908b906004016141ea565b6020604051808303816000875af11580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105199190614230565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9811461057c576040517f5b62c548000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b600354945084156105b8576001546002546105b29173ffffffffffffffffffffffffffffffffffffffff91821691163088611c25565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556105f4611ae0565b5060019695505050505050565b600061060b611c89565b6106a2576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d9190614230565b6106a5565b60005b92915050565b6106b36119a7565b600080806106c46040850185614249565b6106d29060208101906138cc565b73ffffffffffffffffffffffffffffffffffffffff16635511cb676106fa6040870187614249565b610708906020810190614287565b6107156040890189614249565b610723906040810190614287565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b815260040161075e959493929190614375565b6060604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a1919061446b565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008780604001906107e29190614249565b6107f0906020810190614287565b6001818110610801576108016144b8565b905060200281019061081391906144e7565b919091118252506040805160608101825273ffffffffffffffffffffffffffffffffffffffff8089168252878116602083810191909152908716828401528301520161085f878061454c565b808060200260200160405190810160405280939291908181526020016000905b828210156108ab5761089c606083028601368190038101906145b3565b8152602001906001019061087f565b505050505081526020018680602001906108c5919061454c565b808060200260200160405190810160405280939291908181526020016000905b8282101561091157610902606083028601368190038101906145b3565b815260200190600101906108e5565b50505050508152509050600061092682611cda565b60008181526004602052604090819020600190559091507f73e46afa6205785bdaa1daaf8b6ccc71715ec06b3b4264f5a00fde98671c2fc690339061096d90890189614249565b61097b9060208101906138cc565b848460405161098d94939291906146b1565b60405180910390a160006109a460608801886144e7565b90501115610a3f576109f66109bc60608801886144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2992505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610a2660608a018a6144e7565b604051610a3694939291906146fb565b60405180910390a15b505050505061034f6001600055565b600080610a596119a7565b6000610ac0604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a08101825260008082526020808301829052835160608082018652838252918101839052808501929092529282015281810182905260808101829052908601355b610b1360a0880188614287565b905084108015610b235750600081115b15610efa57610b3560a0880188614287565b85818110610b4557610b456144b8565b9050602002810190610b579190614731565b610b6090614765565b805190935091506000610b7283611cda565b600081815260046020526040902054909150610be55782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b9060600160405180910390a1610eee565b610bf260208901896138cc565b73ffffffffffffffffffffffffffffffffffffffff168360600151856020015181518110610c2257610c226144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610ccf578260600151846020015181518110610c6357610c636144b8565b6020908102919091018101515190610c7d908a018a6138cc565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b610cdf6040890160208a016138cc565b73ffffffffffffffffffffffffffffffffffffffff168360800151856040015181518110610d0f57610d0f6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610d6f578260800151846040015181518110610d5057610d506144b8565b602002602001015160000151886020016020810190610c7d91906138cc565b6000610d8a8486602001518760400151338960600151611d6a565b9050886080013581602001511115610dfa5783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f460c258f27efac20e56c4607a28003d235168e76997ffb7542637d26d45ea6d8906060015b60405180910390a1610eec565b8051600003610e585783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f3ba461a0ffd1b6782d4817ae7be605cfb1bbb4fa503c0dd613b8e50f1dcafacd90606001610ded565b8051600090610e68908590611a1a565b90506000610e86836020015160018461246c9092919063ffffffff16565b9050610e92828661411e565b9450610e9e818a6147ff565b9850610eac8682848661248a565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc3296254233888484604051610ee19493929190614812565b60405180910390a150505b505b50600190930192610b06565b610f0881606089013561411e565b95508660400135861015610f5557604080517f45094d8800000000000000000000000000000000000000000000000000000000815290880135600482015260248101879052604401610573565b610f86333087610f6860208c018c6138cc565b73ffffffffffffffffffffffffffffffffffffffff16929190611c25565b610fa0610f996040890160208a016138cc565b3388611a32565b50505050610fae6001600055565b915091565b610fbb6119a7565b8351855173ffffffffffffffffffffffffffffffffffffffff91821691160361102b5784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610573565b8360600151836040013581518110611045576110456144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611081576110816144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111465784608001518360200135815181106110c2576110c26144b8565b60200260200101516000015184606001518460400135815181106110e8576110e86144b8565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b60608501518051843590811061115e5761115e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16846080015184606001358151811061119a5761119a6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111ff576060850151805184359081106111d9576111d96144b8565b60200260200101516000015184608001518460600135815181106110e8576110e86144b8565b60006004600061120e88611cda565b8152602001908152602001600020540361128d577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33866000015161125288611cda565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1611563565b60006004600061129c87611cda565b815260200190815260200160002054036112e0577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33856000015161125287611cda565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2338686866040516113159493929190614942565b60405180910390a160006113388685600001358660200135886000015186611d6a565b9050600061135586866040013587606001358a6000015188611d6a565b905060006113638383612932565b905061137988826040015183600001518661248a565b61138d87826060015183602001518561248a565b606081015181516000916113a09161411e565b90506000826040015183602001516113b8919061411e565b9050811561145e57336000908152600560209081526040822060808d01518051869492938d01359081106113ee576113ee6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461145891906147ff565b90915550505b80156115025733600090815260056020526040812060808b015180518493919060608d0135908110611492576114926144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546114fc91906147ff565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b61156d6001600055565b5050505050565b60608167ffffffffffffffff81111561158f5761158f61396b565b6040519080825280602002602001820160405280156115c257816020015b60608152602001906001900390816115ad5790505b50905060005b8281101561166257611632308585848181106115e6576115e66144b8565b90506020028101906115f891906144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b828281518110611644576116446144b8565b6020026020010181905250808061165a906149cc565b9150506115c8565b5092915050565b6116716119a7565b61167e60208201826138cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461171057336116be60208301836138cc565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b600061172361171e83614a04565b611cda565b60008181526004602052604080822091909155519091507fe2dd87ac53228b6f23feabcc7301fe64145f23cc3c3ed75e6cd07341ae7f22829061176b90339085908590614ae0565b60405180910390a15061034f6001600055565b6117866119a7565b7fadc7bd964a04a8a02261d33d2d09c6a7d9f539bc5eab77008e85fc6661ef123133826040516117b7929190614be5565b60405180910390a16117d633306040840135610f6860208601866138cc565b336000908152600560209081526040808320908401359290916117fb908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083602001358152602001908152602001600020600082825461185991906147ff565b9091555050600160005550565b805160208201208281146118b0576040517f74fe10f00000000000000000000000000000000000000000000000000000000081526004810184905260248101829052604401610573565b6118b982611d29565b505050565b604080516000808252602082019092528190819073ffffffffffffffffffffffffffffffffffffffff851690635511cb67908361190b565b60608152602001906001900390816118f65790505b5060408051600080825260208201908152818301928390527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690925261195b929160448201614c0f565b6060604051808303816000875af115801561197a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199e919061446b565b50505050505050565b600260005403611a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610573565b6002600055565b6000818310611a295781611a2b565b825b9392505050565b60025473ffffffffffffffffffffffffffffffffffffffff8481169116148015611a76575060015473ffffffffffffffffffffffffffffffffffffffff8381169116145b15611ab9576000611a9260035483611a1a90919063ffffffff16565b9050611a9e818361411e565b91508060036000828254611ab2919061411e565b9091555050505b80156118b9576118b973ffffffffffffffffffffffffffffffffffffffff84168383611b51565b611ae8611c89565b15611b4f576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610573565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526118b99084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612a2c565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611c839085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611ba3565b50505050565b60015460009073ffffffffffffffffffffffffffffffffffffffff16151580611cc9575060025473ffffffffffffffffffffffffffffffffffffffff1615155b80611cd5575060035415155b905090565b600081604051602001611ced9190614c48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b611d3281612b38565b61034f57806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b611d9c6040518060a0016040528060008152602001600081526020016060815260200160008152602001606081525090565b6000611da787611cda565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081611dc557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110611e2d57611e2d6144b8565b6020026020010181905250611fc289606001518981518110611e5157611e516144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110611e8957611e896144b8565b60200260200101516020015160ff168b606001518b81518110611eae57611eae6144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f1557611f156144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f7357611f736144b8565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110611fd857611fd86144b8565b602002602001018190525061211e89608001518881518110611ffc57611ffc6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612034576120346144b8565b60200260200101516020015160ff168b608001518a81518110612059576120596144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d815181106120c0576120c06144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110611f7357611f736144b8565b81600160040381518110612134576121346144b8565b60200260200101819052506121498186612b68565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c6040015160200151856121ad8f6040015160400151612e98565b886040518563ffffffff1660e01b81526004016121cd9493929190614cb6565b600060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122309190810190614d4c565b9150915060008260028451038151811061224c5761224c6144b8565b6020026020010151905060008360018551038151811061226e5761226e6144b8565b602002602001015190506122b28d608001518c81518110612291576122916144b8565b60200260200101516020015160ff16600284612ec19092919063ffffffff16565b915061230e8d608001518c815181106122cd576122cd6144b8565b6020026020010151602001518e606001518e815181106122ef576122ef6144b8565b602002602001015160200151600184612f46909392919063ffffffff16565b90506123f6600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e8151811061236e5761236e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e815181106123cc576123cc6144b8565b60200260200101516040015181526020019081526020016000205483611a1a90919063ffffffff16565b6040805160028152602081018390528082018490526060810190915290925086600281518110612428576124286144b8565b60200260200101819052506040518060a001604052808381526020018281526020018781526020018681526020018481525097505050505050505095945050505050565b60006124828484670de0b6b3a764000085612fc1565b949350505050565b8281604001516003815181106124a2576124a26144b8565b60200260200101516004815181106124bc576124bc6144b8565b6020026020010181815250508181604001516004815181106124e0576124e06144b8565b60200260200101516004815181106124fa576124fa6144b8565b6020908102919091010152821561260757835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805186939190600390811061254d5761254d6144b8565b6020026020010151600081518110612567576125676144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516003815181106125c2576125c26144b8565b60200260200101516002815181106125dc576125dc6144b8565b60200260200101518152602001908152602001600020600082825461260191906147ff565b90915550505b811561270957835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805185939190600490811061264f5761264f6144b8565b6020026020010151600081518110612669576126696144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516004815181106126c4576126c46144b8565b60200260200101516002815181106126de576126de6144b8565b602002602001015181526020019081526020016000206000828254612703919061411e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f33826040015160405161273e929190614db0565b60405180910390a1608081015151156127cf5783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc6826060015183608001516040518363ffffffff1660e01b815260040161279c929190614ddf565b600060405180830381600087803b1580156127b657600080fd5b505af11580156127ca573d6000803e3d6000fd5b505050505b836020015115611c8357600084604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f825866040015160200151846060015161281e89604001516040015161301e565b86604001516040518563ffffffff1660e01b81526004016128429493929190614cb6565b600060405180830381865afa15801561285f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128a59190810190614d4c565b91505060008151111561156d5784604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68360600151836040518363ffffffff1660e01b81526004016128f9929190614ddf565b600060405180830381600087803b15801561291357600080fd5b505af1158015612927573d6000803e3d6000fd5b505050505050505050565b61295d6040518060800160405280600081526020016000815260200160008152602001600081525090565b6129886040518060800160405280600081526020016000815260200160008152602001600081525090565b602083015183516129a79161299f9190600161246c565b855190611a1a565b8152602084015184516129c8916129c09190600161246c565b845190611a1a565b60208083019190915284015181516129e191600161246c565b6040820152602080840151908201516129fb91600161246c565b60608201529392505050565b6060611a2b8383604051806060016040528060278152602001614fe260279139613049565b6000612a8e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166130ce9092919063ffffffff16565b8051909150156118b95780806020019051810190612aac9190614df8565b6118b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610573565b6000600882511015612b4c57506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff811115612b8657612b8661396b565b604051908082528060200260200182016040528015612baf578160200160208202803683370190505b509050600080845111612bc3576000612bc9565b83516001015b855160010101905060008167ffffffffffffffff811115612bec57612bec61396b565b604051908082528060200260200182016040528015612c1f57816020015b6060815260200190600190039081612c0a5790505b5090506000612c44604080516002815233602082015230818301526060810190915290565b828281518110612c5657612c566144b8565b602002602001018190525060005b8751811015612cb4578180600101925050878181518110612c8757612c876144b8565b6020026020010151838381518110612ca157612ca16144b8565b6020908102919091010152600101612c64565b50855115612e8e57808060010191505083828281518110612cd757612cd76144b8565b602002602001018190525060005b8651811015612e8c57612db6878281518110612d0357612d036144b8565b602002602001015160000151612d93612d408a8581518110612d2757612d276144b8565b6020026020010151602001518051602090810291012090565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b898481518110612da557612da56144b8565b6020026020010151604001516130dd565b612def576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610573565b868181518110612e0157612e016144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110612e3557612e356144b8565b6020026020010181815250508180600101925050868181518110612e5b57612e5b6144b8565b602002602001015160200151838381518110612e7957612e796144b8565b6020908102919091010152600101612ce5565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff00000000166002176106a5565b60008260121115612ef65760128390036001831615612eec57612ee485826132aa565b915050611a2b565b612ee485826132f8565b6012831115612f3f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612f3557612ee48582613324565b612ee485826133aa565b5082611a2b565b60008360ff168360ff161115612f84578383036002831615612f7757612f6f868260ff16613324565b915050612482565b612f6f868260ff166133aa565b8260ff168460ff161115612fb8578284036001831615612fab57612f6f868260ff166132aa565b612f6f868260ff166132f8565b50929392505050565b600080612fcf8686866133d9565b90506001836002811115612fe557612fe5614e15565b148015613002575060008480612ffd57612ffd614e44565b868809115b15613015576130126001826147ff565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff0000000016176106a5565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516130739190614e73565b600060405180830381855af49150503d80600081146130ae576040519150601f19603f3d011682016040523d82523d6000602084013e6130b3565b606091505b50915091506130c4868383876134a6565b9695505050505050565b60606124828484600085613546565b60008060006130ec858561365f565b9092509050600081600481111561310557613105614e15565b14801561313d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561314d57600192505050611a2b565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8888604051602401613182929190614e85565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161320b9190614e73565b600060405180830381855afa9150503d8060008114613246576040519150601f19603f3d011682016040523d82523d6000602084013e61324b565b606091505b509150915081801561325e575080516020145b801561329e575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061329c9083016020908101908401614230565b145b98975050505050505050565b6000604e82106132ce5782156132c15760016132c4565b60005b60ff1690506106a5565b600a82900a8084816132e2576132e2614e44565b0491508082028414611662575060010192915050565b6000604e82101561331b5781600a0a838161331557613315614e44565b04611a2b565b50600092915050565b6000604e821061336457821561335a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61335d565b60005b90506106a5565b50600a81900a828102908381838161337e5761337e614e44565b0414611662577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612482565b600a81900a6133b98184614e9e565b9050604e82106106a557821561331b576133d482600a614fd5565b611a2b565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036134315783828161342757613427614e44565b0492505050611a2b565b80841161343d57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561353c5782516000036135355773ffffffffffffffffffffffffffffffffffffffff85163b613535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610573565b5081612482565b61248283836136a4565b6060824710156135d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610573565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516136019190614e73565b60006040518083038185875af1925050503d806000811461363e576040519150601f19603f3d011682016040523d82523d6000602084013e613643565b606091505b5091509150613654878383876134a6565b979650505050505050565b60008082516041036136955760208301516040840151606085015160001a613689878285856136e8565b9450945050505061369d565b506000905060025b9250929050565b8151156136b45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561371f57506000905060036137ce565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613773573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166137c7576000600192509250506137ce565b9150600090505b94509492505050565b6000606082840312156137e957600080fd5b50919050565b60006060828403121561380157600080fd5b611a2b83836137d7565b73ffffffffffffffffffffffffffffffffffffffff8116811461034f57600080fd5b60008060008060006080868803121561384557600080fd5b85356138508161380b565b945060208601356138608161380b565b935060408601359250606086013567ffffffffffffffff8082111561388457600080fd5b818801915088601f83011261389857600080fd5b8135818111156138a757600080fd5b8960208285010111156138b957600080fd5b9699959850939650602001949392505050565b6000602082840312156138de57600080fd5b8135611a2b8161380b565b6000602082840312156138fb57600080fd5b813567ffffffffffffffff81111561391257600080fd5b820160808185031215611a2b57600080fd5b600060c082840312156137e957600080fd5b60006020828403121561394857600080fd5b813567ffffffffffffffff81111561395f57600080fd5b61248284828501613924565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156139bd576139bd61396b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613a0a57613a0a61396b565b604052919050565b801515811461034f57600080fd5b8035613a2b81613a12565b919050565b600060608284031215613a4257600080fd5b613a4a61399a565b90508135613a578161380b565b81526020820135613a678161380b565b60208201526040820135613a7a8161380b565b604082015292915050565b600067ffffffffffffffff821115613a9f57613a9f61396b565b5060051b60200190565b803560ff81168114613a2b57600080fd5b600060608284031215613acc57600080fd5b613ad461399a565b90508135613ae18161380b565b8152613aef60208301613aa9565b60208201526040820135604082015292915050565b600082601f830112613b1557600080fd5b81356020613b2a613b2583613a85565b6139c3565b82815260609283028501820192828201919087851115613b4957600080fd5b8387015b85811015613b6c57613b5f8982613aba565b8452928401928101613b4d565b5090979650505050505050565b600060e08284031215613b8b57600080fd5b60405160a0810167ffffffffffffffff8282108183111715613baf57613baf61396b565b8160405282935084359150613bc38261380b565b818352613bd260208601613a20565b6020840152613be48660408701613a30565b604084015260a0850135915080821115613bfd57600080fd5b613c0986838701613b04565b606084015260c0850135915080821115613c2257600080fd5b50613c2f85828601613b04565b6080830152505092915050565b600082601f830112613c4d57600080fd5b813567ffffffffffffffff811115613c6757613c6761396b565b613c9860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016139c3565b818152846020838601011115613cad57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112613cdb57600080fd5b81356020613ceb613b2583613a85565b82815260059290921b84018101918181019086841115613d0a57600080fd5b8286015b84811015613e2f57803567ffffffffffffffff80821115613d2e57600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215613d655760008081fd5b613d6d61399a565b86830135613d7a8161380b565b815260408381013583811115613d905760008081fd5b8401603f81018d13613da25760008081fd5b88810135613db2613b2582613a85565b81815260059190911b82018301908a8101908f831115613dd25760008081fd5b928401925b82841015613df05783358252928b0192908b0190613dd7565b858c0152505050606084013583811115613e0a5760008081fd5b613e188d8a83880101613c3c565b918301919091525085525050918301918301613d0e565b509695505050505050565b60008060008060006101408688031215613e5357600080fd5b853567ffffffffffffffff80821115613e6b57600080fd5b613e7789838a01613b79565b96506020880135915080821115613e8d57600080fd5b613e9989838a01613b79565b9550613ea88960408a01613924565b9450610100880135915080821115613ebf57600080fd5b613ecb89838a01613cca565b9350610120880135915080821115613ee257600080fd5b50613eef88828901613cca565b9150509295509295909350565b60008060208385031215613f0f57600080fd5b823567ffffffffffffffff80821115613f2757600080fd5b818501915085601f830112613f3b57600080fd5b813581811115613f4a57600080fd5b8660208260051b8501011115613f5f57600080fd5b60209290920196919550909350505050565b60005b83811015613f8c578181015183820152602001613f74565b50506000910152565b60008151808452613fad816020860160208601613f71565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614015848351613f95565b98850198935090840190600101613ffd565b5091979650505050505050565b602081526000611a2b6020830184613fdf565b60008060006060848603121561405c57600080fd5b83356140678161380b565b925060208401356140778161380b565b929592945050506040919091013590565b6000806040838503121561409b57600080fd5b82356140a68161380b565b946020939093013593505050565b6000602082840312156140c657600080fd5b813567ffffffffffffffff8111156140dd57600080fd5b820160e08185031215611a2b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106a5576106a56140ef565b803561413c8161380b565b73ffffffffffffffffffffffffffffffffffffffff16825260208181013590830152604090810135910152565b73ffffffffffffffffffffffffffffffffffffffff8416815260a081016141936020830185614131565b826080830152949350505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a0608083015261329e60a0830184866141a1565b60006020828403121561424257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261427d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142bc57600080fd5b83018035915067ffffffffffffffff8211156142d757600080fd5b6020019150600581901b360382131561369d57600080fd5b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561432157600080fd5b8260051b80836020870137939093016020019392505050565b600081518084526020808501945080840160005b8381101561436a5781518752958201959082019060010161434e565b509495945050505050565b6060808252810185905260006080600587901b8301810190830188835b89811015614441577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8086850301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18c36030181126143f357600080fd5b8b01602081810191359067ffffffffffffffff82111561441257600080fd5b81360383131561442157600080fd5b61442c8783856141a1565b96509485019493909301925050600101614392565b50505082810360208401526144578186886142ef565b9050828103604084015261329e818561433a565b60008060006060848603121561448057600080fd5b835161448b8161380b565b602085015190935061449c8161380b565b60408501519092506144ad8161380b565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261451c57600080fd5b83018035915067ffffffffffffffff82111561453757600080fd5b60200191503681900382131561369d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261458157600080fd5b83018035915067ffffffffffffffff82111561459c57600080fd5b602001915060608102360382131561369d57600080fd5b6000606082840312156145c557600080fd5b611a2b8383613aba565b600081518084526020808501945080840160005b8381101561436a578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016145e3565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261469860e08501826145cf565b9050608083015184820360c086015261301582826145cf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526146ea608083018561462e565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006130c46060830184866141a1565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261427d57600080fd5b60006080823603121561477757600080fd5b6040516080810167ffffffffffffffff828210818311171561479b5761479b61396b565b8160405284359150808211156147b057600080fd5b6147bc36838701613b79565b8352602085013560208401526040850135604084015260608501359150808211156147e657600080fd5b506147f336828601613cca565b60608301525092915050565b808201808211156106a5576106a56140ef565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261484c61010086018261462e565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015614925577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526148f98885018261433a565b91890151848303858b01529190506149118183613f95565b968b0196958b0195935050506001016148ad565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526149728184018761462e565b90508281036040840152614986818661462e565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149fd576149fd6140ef565b5060010190565b60006106a53683613b79565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614a4557600080fd5b830160208101925035905067ffffffffffffffff811115614a6557600080fd5b60608102360382131561369d57600080fd5b8183526000602080850194508260005b8581101561436a578135614a9a8161380b565b73ffffffffffffffffffffffffffffffffffffffff16875260ff614abf838501613aa9565b16878401526040828101359088015260609687019690910190600101614a87565b600073ffffffffffffffffffffffffffffffffffffffff8086168352606060208401528435614b0e8161380b565b811660608401526020850135614b2381613a12565b151560808401526040850135614b388161380b565b811660a08401526060850135614b4d8161380b565b811660c08401526080850135614b628161380b565b1660e0830152614b7560a0850185614a10565b60e0610100850152614b8c61014085018284614a77565b915050614b9c60c0860186614a10565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085840301610120860152614bd2838284614a77565b9350505050826040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260808101611a2b6020830184614131565b606081526000614c226060830186613fdf565b8281036020840152614c34818661433a565b905082810360408401526130c4818561433a565b602081526000611a2b602083018461462e565b602081526000611a2b6020830184613f95565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614ca484835161433a565b98850198935090840190600101614c8c565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528260408201526080606082015260006130c46080830184614c6e565b600082601f830112614d0257600080fd5b81516020614d12613b2583613a85565b82815260059290921b84018101918181019086841115614d3157600080fd5b8286015b84811015613e2f5780518352918301918301614d35565b60008060408385031215614d5f57600080fd5b825167ffffffffffffffff80821115614d7757600080fd5b614d8386838701614cf1565b93506020850151915080821115614d9957600080fd5b50614da685828601614cf1565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006124826040830184614c6e565b828152604060208201526000612482604083018461433a565b600060208284031215614e0a57600080fd5b8151611a2b81613a12565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000825161427d818460208701613f71565b8281526040602082015260006124826040830184613f95565b80820281158282048414176106a5576106a56140ef565b600181815b80851115614f0e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614ef457614ef46140ef565b80851615614f0157918102915b93841c9390800290614eba565b509250929050565b600082614f25575060016106a5565b81614f32575060006106a5565b8160018114614f485760028114614f5257614f6e565b60019150506106a5565b60ff841115614f6357614f636140ef565b50506001821b6106a5565b5060208310610133831016604e8410600b8410161715614f91575081810a6106a5565b614f9b8383614eb5565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614fcd57614fcd6140ef565b029392505050565b6000611a2b8383614f1656fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "5807:20091:44:-:0;;;1775:75:43;;;-1:-1:-1;;;;;;1775:75:43;;;;;;1856:35;;;;;;;;1847:1;1897:27;;7182:141:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1986:66;1978:75;;7308:7;1716:1:13;1821:7;:22;;;;1068:46:26;1092:8;1102:6;:11;;;1068:23;;;;;:46;;:::i;:::-;1181:11;;;;1129:64;;;;;;1136:10;;1172:4;;1129:64;:::i;:::-;;;;;;;;1203:54;1241:6;:15;;;1203:37;;;;;:54;;:::i;:::-;968:296;;7182:141:44;5807:20091;;1424:292:25;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:25;;;;;3082:25:51;;;3123:18;;;3116:34;;;3055:18;;1619:46:25;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;917:319:33:-;1116:14;;;978:26;1116:14;;;;;;;;;978:26;;;;-1:-1:-1;;;;;1067:48:33;;;;;978:26;1116:14;;;;;;;;;;;;;;;;;;;-1:-1:-1;1132:16:33;;;1146:1;1132:16;;;;;;1150;;;;;;;;;;-1:-1:-1;;;;;;1067:100:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;917:319:33:o;1075:155:25:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:25;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:25;;550:376;-1:-1:-1;550:376:25:o;631:34::-;-1:-1:-1;846:1:25;835:13;829:20;-1:-1:-1;;;;;825:32:25;667:18:24;883:36:25;;550:376::o;14:127:51:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:51;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:51;508:40;;-1:-1:-1;;;;;563:34:51;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:51:o;687:131::-;-1:-1:-1;;;;;762:31:51;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:51;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:51;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:51;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:51;;;2179:29;-1:-1:-1;2190:5:51;1078:1160;-1:-1:-1;;;1078:1160:51:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:51;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:51:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:51:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:51;;3161:435;-1:-1:-1;;;;;3161:435:51:o;3601:1184::-;3917:4;3965:2;3954:9;3950:18;3995:2;3984:9;3977:21;4018:6;4053;4047:13;4084:6;4076;4069:22;4122:3;4111:9;4107:19;4100:26;;4185:3;4175:6;4172:1;4168:14;4157:9;4153:30;4149:40;4135:54;;4208:4;4247:2;4239:6;4235:15;4268:1;4278:255;4292:6;4289:1;4286:13;4278:255;;;4385:3;4381:8;4369:9;4361:6;4357:22;4353:37;4348:3;4341:50;4414:39;4446:6;4437;4431:13;4414:39;:::i;:::-;4404:49;-1:-1:-1;4511:12:51;;;;4476:15;;;;4314:1;4307:9;4278:255;;;4282:3;;4581:9;4573:6;4569:22;4564:2;4553:9;4549:18;4542:50;;;;4615:44;4652:6;4644;4615:44;:::i;:::-;4601:58;;4707:9;4699:6;4695:22;4690:2;4679:9;4675:18;4668:50;4735:44;4772:6;4764;4735:44;:::i;:::-;4727:52;3601:1184;-1:-1:-1;;;;;;3601:1184:51:o;4790:572::-;4931:6;4939;4947;5000:2;4988:9;4979:7;4975:23;4971:32;4968:52;;;5016:1;5013;5006:12;4968:52;5048:9;5042:16;5067:31;5092:5;5067:31;:::i;:::-;5167:2;5152:18;;5146:25;5117:5;;-1:-1:-1;5180:33:51;5146:25;5180:33;:::i;:::-;5284:2;5269:18;;5263:25;5232:7;;-1:-1:-1;5297:33:51;5263:25;5297:33;:::i;:::-;5349:7;5339:17;;;4790:572;;;;;:::o;5367:217::-;5514:2;5503:9;5496:21;5477:4;5534:44;5574:2;5563:9;5559:18;5551:6;5534:44;:::i;:::-;5526:52;5367:217;-1:-1:-1;;;5367:217:51:o;:::-;5807:20091:44;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80639e18968b11610081578063d9d98ce41161005b578063d9d98ce4146101cb578063e23746a3146101de578063e6b62636146101f157600080fd5b80639e18968b14610167578063ac9650d81461017a578063d97b2e481461019a57600080fd5b8063613255ab116100b2578063613255ab1461010b578063702766781461012c5780637a8048df1461013f57600080fd5b80634f266187146100ce5780635cffe9de146100e3575b600080fd5b6100e16100dc3660046137ef565b610204565b005b6100f66100f136600461382d565b610352565b60405190151581526020015b60405180910390f35b61011e6101193660046138cc565b610601565b604051908152602001610102565b6100e161013a3660046138e9565b6106ab565b61015261014d366004613936565b610a4e565b60408051928352602083019190915201610102565b6100e1610175366004613e3a565b610fb3565b61018d610188366004613efc565b611574565b6040516101029190614034565b61011e6101a8366004614047565b600560209081526000938452604080852082529284528284209052825290205481565b61011e6101d9366004614088565b6106a2565b6100e16101ec3660046140b4565b611669565b6100e16101ff3660046137ef565b61177e565b61020c6119a7565b336000908152600560209081526040822090829061022c908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208584013582529092528082205492506102739084013583611a1a565b905061027f818361411e565b3360009081526005602090815260408220919061029e908701876138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085602001358152602001908152602001600020819055507f2538ccc7ad2a119a36f2e65c1e2fc908beef800cd59b5d6680db24de18e7847a33848360405161032493929190614169565b60405180910390a161034361033c60208501856138cc565b3383611a32565b505061034f6001600055565b50565b600061035c611ae0565b73ffffffffffffffffffffffffffffffffffffffff85166103a9576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166103f6576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556001805492891692909116919091179055600384905583156104775761047773ffffffffffffffffffffffffffffffffffffffff86168786611b51565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906104d69033908a908a9087908b908b906004016141ea565b6020604051808303816000875af11580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105199190614230565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9811461057c576040517f5b62c548000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b600354945084156105b8576001546002546105b29173ffffffffffffffffffffffffffffffffffffffff91821691163088611c25565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556105f4611ae0565b5060019695505050505050565b600061060b611c89565b6106a2576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d9190614230565b6106a5565b60005b92915050565b6106b36119a7565b600080806106c46040850185614249565b6106d29060208101906138cc565b73ffffffffffffffffffffffffffffffffffffffff16635511cb676106fa6040870187614249565b610708906020810190614287565b6107156040890189614249565b610723906040810190614287565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b815260040161075e959493929190614375565b6060604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a1919061446b565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008780604001906107e29190614249565b6107f0906020810190614287565b6001818110610801576108016144b8565b905060200281019061081391906144e7565b919091118252506040805160608101825273ffffffffffffffffffffffffffffffffffffffff8089168252878116602083810191909152908716828401528301520161085f878061454c565b808060200260200160405190810160405280939291908181526020016000905b828210156108ab5761089c606083028601368190038101906145b3565b8152602001906001019061087f565b505050505081526020018680602001906108c5919061454c565b808060200260200160405190810160405280939291908181526020016000905b8282101561091157610902606083028601368190038101906145b3565b815260200190600101906108e5565b50505050508152509050600061092682611cda565b60008181526004602052604090819020600190559091507f73e46afa6205785bdaa1daaf8b6ccc71715ec06b3b4264f5a00fde98671c2fc690339061096d90890189614249565b61097b9060208101906138cc565b848460405161098d94939291906146b1565b60405180910390a160006109a460608801886144e7565b90501115610a3f576109f66109bc60608801886144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2992505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610a2660608a018a6144e7565b604051610a3694939291906146fb565b60405180910390a15b505050505061034f6001600055565b600080610a596119a7565b6000610ac0604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a08101825260008082526020808301829052835160608082018652838252918101839052808501929092529282015281810182905260808101829052908601355b610b1360a0880188614287565b905084108015610b235750600081115b15610efa57610b3560a0880188614287565b85818110610b4557610b456144b8565b9050602002810190610b579190614731565b610b6090614765565b805190935091506000610b7283611cda565b600081815260046020526040902054909150610be55782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b9060600160405180910390a1610eee565b610bf260208901896138cc565b73ffffffffffffffffffffffffffffffffffffffff168360600151856020015181518110610c2257610c226144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610ccf578260600151846020015181518110610c6357610c636144b8565b6020908102919091018101515190610c7d908a018a6138cc565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b610cdf6040890160208a016138cc565b73ffffffffffffffffffffffffffffffffffffffff168360800151856040015181518110610d0f57610d0f6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610d6f578260800151846040015181518110610d5057610d506144b8565b602002602001015160000151886020016020810190610c7d91906138cc565b6000610d8a8486602001518760400151338960600151611d6a565b9050886080013581602001511115610dfa5783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f460c258f27efac20e56c4607a28003d235168e76997ffb7542637d26d45ea6d8906060015b60405180910390a1610eec565b8051600003610e585783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f3ba461a0ffd1b6782d4817ae7be605cfb1bbb4fa503c0dd613b8e50f1dcafacd90606001610ded565b8051600090610e68908590611a1a565b90506000610e86836020015160018461246c9092919063ffffffff16565b9050610e92828661411e565b9450610e9e818a6147ff565b9850610eac8682848661248a565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc3296254233888484604051610ee19493929190614812565b60405180910390a150505b505b50600190930192610b06565b610f0881606089013561411e565b95508660400135861015610f5557604080517f45094d8800000000000000000000000000000000000000000000000000000000815290880135600482015260248101879052604401610573565b610f86333087610f6860208c018c6138cc565b73ffffffffffffffffffffffffffffffffffffffff16929190611c25565b610fa0610f996040890160208a016138cc565b3388611a32565b50505050610fae6001600055565b915091565b610fbb6119a7565b8351855173ffffffffffffffffffffffffffffffffffffffff91821691160361102b5784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610573565b8360600151836040013581518110611045576110456144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611081576110816144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111465784608001518360200135815181106110c2576110c26144b8565b60200260200101516000015184606001518460400135815181106110e8576110e86144b8565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b60608501518051843590811061115e5761115e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16846080015184606001358151811061119a5761119a6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111ff576060850151805184359081106111d9576111d96144b8565b60200260200101516000015184608001518460600135815181106110e8576110e86144b8565b60006004600061120e88611cda565b8152602001908152602001600020540361128d577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33866000015161125288611cda565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1611563565b60006004600061129c87611cda565b815260200190815260200160002054036112e0577fe721f6888210c87666d3888f93b4139a86ab7757999ce54e268cba700d642a3b33856000015161125287611cda565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2338686866040516113159493929190614942565b60405180910390a160006113388685600001358660200135886000015186611d6a565b9050600061135586866040013587606001358a6000015188611d6a565b905060006113638383612932565b905061137988826040015183600001518661248a565b61138d87826060015183602001518561248a565b606081015181516000916113a09161411e565b90506000826040015183602001516113b8919061411e565b9050811561145e57336000908152600560209081526040822060808d01518051869492938d01359081106113ee576113ee6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461145891906147ff565b90915550505b80156115025733600090815260056020526040812060808b015180518493919060608d0135908110611492576114926144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546114fc91906147ff565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b61156d6001600055565b5050505050565b60608167ffffffffffffffff81111561158f5761158f61396b565b6040519080825280602002602001820160405280156115c257816020015b60608152602001906001900390816115ad5790505b50905060005b8281101561166257611632308585848181106115e6576115e66144b8565b90506020028101906115f891906144e7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b828281518110611644576116446144b8565b6020026020010181905250808061165a906149cc565b9150506115c8565b5092915050565b6116716119a7565b61167e60208201826138cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461171057336116be60208301836138cc565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610573565b600061172361171e83614a04565b611cda565b60008181526004602052604080822091909155519091507fe2dd87ac53228b6f23feabcc7301fe64145f23cc3c3ed75e6cd07341ae7f22829061176b90339085908590614ae0565b60405180910390a15061034f6001600055565b6117866119a7565b7fadc7bd964a04a8a02261d33d2d09c6a7d9f539bc5eab77008e85fc6661ef123133826040516117b7929190614be5565b60405180910390a16117d633306040840135610f6860208601866138cc565b336000908152600560209081526040808320908401359290916117fb908501856138cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083602001358152602001908152602001600020600082825461185991906147ff565b9091555050600160005550565b805160208201208281146118b0576040517f74fe10f00000000000000000000000000000000000000000000000000000000081526004810184905260248101829052604401610573565b6118b982611d29565b505050565b604080516000808252602082019092528190819073ffffffffffffffffffffffffffffffffffffffff851690635511cb67908361190b565b60608152602001906001900390816118f65790505b5060408051600080825260208201908152818301928390527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690925261195b929160448201614c0f565b6060604051808303816000875af115801561197a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199e919061446b565b50505050505050565b600260005403611a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610573565b6002600055565b6000818310611a295781611a2b565b825b9392505050565b60025473ffffffffffffffffffffffffffffffffffffffff8481169116148015611a76575060015473ffffffffffffffffffffffffffffffffffffffff8381169116145b15611ab9576000611a9260035483611a1a90919063ffffffff16565b9050611a9e818361411e565b91508060036000828254611ab2919061411e565b9091555050505b80156118b9576118b973ffffffffffffffffffffffffffffffffffffffff84168383611b51565b611ae8611c89565b15611b4f576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610573565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526118b99084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612a2c565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611c839085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611ba3565b50505050565b60015460009073ffffffffffffffffffffffffffffffffffffffff16151580611cc9575060025473ffffffffffffffffffffffffffffffffffffffff1615155b80611cd5575060035415155b905090565b600081604051602001611ced9190614c48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b611d3281612b38565b61034f57806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b611d9c6040518060a0016040528060008152602001600081526020016060815260200160008152602001606081525090565b6000611da787611cda565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081611dc557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110611e2d57611e2d6144b8565b6020026020010181905250611fc289606001518981518110611e5157611e516144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110611e8957611e896144b8565b60200260200101516020015160ff168b606001518b81518110611eae57611eae6144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f1557611f156144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110611f7357611f736144b8565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110611fd857611fd86144b8565b602002602001018190525061211e89608001518881518110611ffc57611ffc6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612034576120346144b8565b60200260200101516020015160ff168b608001518a81518110612059576120596144b8565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d815181106120c0576120c06144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110611f7357611f736144b8565b81600160040381518110612134576121346144b8565b60200260200101819052506121498186612b68565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c6040015160200151856121ad8f6040015160400151612e98565b886040518563ffffffff1660e01b81526004016121cd9493929190614cb6565b600060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122309190810190614d4c565b9150915060008260028451038151811061224c5761224c6144b8565b6020026020010151905060008360018551038151811061226e5761226e6144b8565b602002602001015190506122b28d608001518c81518110612291576122916144b8565b60200260200101516020015160ff16600284612ec19092919063ffffffff16565b915061230e8d608001518c815181106122cd576122cd6144b8565b6020026020010151602001518e606001518e815181106122ef576122ef6144b8565b602002602001015160200151600184612f46909392919063ffffffff16565b90506123f6600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e8151811061236e5761236e6144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e815181106123cc576123cc6144b8565b60200260200101516040015181526020019081526020016000205483611a1a90919063ffffffff16565b6040805160028152602081018390528082018490526060810190915290925086600281518110612428576124286144b8565b60200260200101819052506040518060a001604052808381526020018281526020018781526020018681526020018481525097505050505050505095945050505050565b60006124828484670de0b6b3a764000085612fc1565b949350505050565b8281604001516003815181106124a2576124a26144b8565b60200260200101516004815181106124bc576124bc6144b8565b6020026020010181815250508181604001516004815181106124e0576124e06144b8565b60200260200101516004815181106124fa576124fa6144b8565b6020908102919091010152821561260757835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805186939190600390811061254d5761254d6144b8565b6020026020010151600081518110612567576125676144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516003815181106125c2576125c26144b8565b60200260200101516002815181106125dc576125dc6144b8565b60200260200101518152602001908152602001600020600082825461260191906147ff565b90915550505b811561270957835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604080822090830151805185939190600490811061264f5761264f6144b8565b6020026020010151600081518110612669576126696144b8565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083604001516004815181106126c4576126c46144b8565b60200260200101516002815181106126de576126de6144b8565b602002602001015181526020019081526020016000206000828254612703919061411e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f33826040015160405161273e929190614db0565b60405180910390a1608081015151156127cf5783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc6826060015183608001516040518363ffffffff1660e01b815260040161279c929190614ddf565b600060405180830381600087803b1580156127b657600080fd5b505af11580156127ca573d6000803e3d6000fd5b505050505b836020015115611c8357600084604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f825866040015160200151846060015161281e89604001516040015161301e565b86604001516040518563ffffffff1660e01b81526004016128429493929190614cb6565b600060405180830381865afa15801561285f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128a59190810190614d4c565b91505060008151111561156d5784604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68360600151836040518363ffffffff1660e01b81526004016128f9929190614ddf565b600060405180830381600087803b15801561291357600080fd5b505af1158015612927573d6000803e3d6000fd5b505050505050505050565b61295d6040518060800160405280600081526020016000815260200160008152602001600081525090565b6129886040518060800160405280600081526020016000815260200160008152602001600081525090565b602083015183516129a79161299f9190600161246c565b855190611a1a565b8152602084015184516129c8916129c09190600161246c565b845190611a1a565b60208083019190915284015181516129e191600161246c565b6040820152602080840151908201516129fb91600161246c565b60608201529392505050565b6060611a2b8383604051806060016040528060278152602001614fe260279139613049565b6000612a8e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166130ce9092919063ffffffff16565b8051909150156118b95780806020019051810190612aac9190614df8565b6118b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610573565b6000600882511015612b4c57506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff811115612b8657612b8661396b565b604051908082528060200260200182016040528015612baf578160200160208202803683370190505b509050600080845111612bc3576000612bc9565b83516001015b855160010101905060008167ffffffffffffffff811115612bec57612bec61396b565b604051908082528060200260200182016040528015612c1f57816020015b6060815260200190600190039081612c0a5790505b5090506000612c44604080516002815233602082015230818301526060810190915290565b828281518110612c5657612c566144b8565b602002602001018190525060005b8751811015612cb4578180600101925050878181518110612c8757612c876144b8565b6020026020010151838381518110612ca157612ca16144b8565b6020908102919091010152600101612c64565b50855115612e8e57808060010191505083828281518110612cd757612cd76144b8565b602002602001018190525060005b8651811015612e8c57612db6878281518110612d0357612d036144b8565b602002602001015160000151612d93612d408a8581518110612d2757612d276144b8565b6020026020010151602001518051602090810291012090565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b898481518110612da557612da56144b8565b6020026020010151604001516130dd565b612def576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610573565b868181518110612e0157612e016144b8565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110612e3557612e356144b8565b6020026020010181815250508180600101925050868181518110612e5b57612e5b6144b8565b602002602001015160200151838381518110612e7957612e796144b8565b6020908102919091010152600101612ce5565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff00000000166002176106a5565b60008260121115612ef65760128390036001831615612eec57612ee485826132aa565b915050611a2b565b612ee485826132f8565b6012831115612f3f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612f3557612ee48582613324565b612ee485826133aa565b5082611a2b565b60008360ff168360ff161115612f84578383036002831615612f7757612f6f868260ff16613324565b915050612482565b612f6f868260ff166133aa565b8260ff168460ff161115612fb8578284036001831615612fab57612f6f868260ff166132aa565b612f6f868260ff166132f8565b50929392505050565b600080612fcf8686866133d9565b90506001836002811115612fe557612fe5614e15565b148015613002575060008480612ffd57612ffd614e44565b868809115b15613015576130126001826147ff565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff0000000016176106a5565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516130739190614e73565b600060405180830381855af49150503d80600081146130ae576040519150601f19603f3d011682016040523d82523d6000602084013e6130b3565b606091505b50915091506130c4868383876134a6565b9695505050505050565b60606124828484600085613546565b60008060006130ec858561365f565b9092509050600081600481111561310557613105614e15565b14801561313d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561314d57600192505050611a2b565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8888604051602401613182929190614e85565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161320b9190614e73565b600060405180830381855afa9150503d8060008114613246576040519150601f19603f3d011682016040523d82523d6000602084013e61324b565b606091505b509150915081801561325e575080516020145b801561329e575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061329c9083016020908101908401614230565b145b98975050505050505050565b6000604e82106132ce5782156132c15760016132c4565b60005b60ff1690506106a5565b600a82900a8084816132e2576132e2614e44565b0491508082028414611662575060010192915050565b6000604e82101561331b5781600a0a838161331557613315614e44565b04611a2b565b50600092915050565b6000604e821061336457821561335a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61335d565b60005b90506106a5565b50600a81900a828102908381838161337e5761337e614e44565b0414611662577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612482565b600a81900a6133b98184614e9e565b9050604e82106106a557821561331b576133d482600a614fd5565b611a2b565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036134315783828161342757613427614e44565b0492505050611a2b565b80841161343d57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561353c5782516000036135355773ffffffffffffffffffffffffffffffffffffffff85163b613535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610573565b5081612482565b61248283836136a4565b6060824710156135d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610573565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516136019190614e73565b60006040518083038185875af1925050503d806000811461363e576040519150601f19603f3d011682016040523d82523d6000602084013e613643565b606091505b5091509150613654878383876134a6565b979650505050505050565b60008082516041036136955760208301516040840151606085015160001a613689878285856136e8565b9450945050505061369d565b506000905060025b9250929050565b8151156136b45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105739190614c5b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561371f57506000905060036137ce565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613773573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166137c7576000600192509250506137ce565b9150600090505b94509492505050565b6000606082840312156137e957600080fd5b50919050565b60006060828403121561380157600080fd5b611a2b83836137d7565b73ffffffffffffffffffffffffffffffffffffffff8116811461034f57600080fd5b60008060008060006080868803121561384557600080fd5b85356138508161380b565b945060208601356138608161380b565b935060408601359250606086013567ffffffffffffffff8082111561388457600080fd5b818801915088601f83011261389857600080fd5b8135818111156138a757600080fd5b8960208285010111156138b957600080fd5b9699959850939650602001949392505050565b6000602082840312156138de57600080fd5b8135611a2b8161380b565b6000602082840312156138fb57600080fd5b813567ffffffffffffffff81111561391257600080fd5b820160808185031215611a2b57600080fd5b600060c082840312156137e957600080fd5b60006020828403121561394857600080fd5b813567ffffffffffffffff81111561395f57600080fd5b61248284828501613924565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156139bd576139bd61396b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613a0a57613a0a61396b565b604052919050565b801515811461034f57600080fd5b8035613a2b81613a12565b919050565b600060608284031215613a4257600080fd5b613a4a61399a565b90508135613a578161380b565b81526020820135613a678161380b565b60208201526040820135613a7a8161380b565b604082015292915050565b600067ffffffffffffffff821115613a9f57613a9f61396b565b5060051b60200190565b803560ff81168114613a2b57600080fd5b600060608284031215613acc57600080fd5b613ad461399a565b90508135613ae18161380b565b8152613aef60208301613aa9565b60208201526040820135604082015292915050565b600082601f830112613b1557600080fd5b81356020613b2a613b2583613a85565b6139c3565b82815260609283028501820192828201919087851115613b4957600080fd5b8387015b85811015613b6c57613b5f8982613aba565b8452928401928101613b4d565b5090979650505050505050565b600060e08284031215613b8b57600080fd5b60405160a0810167ffffffffffffffff8282108183111715613baf57613baf61396b565b8160405282935084359150613bc38261380b565b818352613bd260208601613a20565b6020840152613be48660408701613a30565b604084015260a0850135915080821115613bfd57600080fd5b613c0986838701613b04565b606084015260c0850135915080821115613c2257600080fd5b50613c2f85828601613b04565b6080830152505092915050565b600082601f830112613c4d57600080fd5b813567ffffffffffffffff811115613c6757613c6761396b565b613c9860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016139c3565b818152846020838601011115613cad57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112613cdb57600080fd5b81356020613ceb613b2583613a85565b82815260059290921b84018101918181019086841115613d0a57600080fd5b8286015b84811015613e2f57803567ffffffffffffffff80821115613d2e57600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215613d655760008081fd5b613d6d61399a565b86830135613d7a8161380b565b815260408381013583811115613d905760008081fd5b8401603f81018d13613da25760008081fd5b88810135613db2613b2582613a85565b81815260059190911b82018301908a8101908f831115613dd25760008081fd5b928401925b82841015613df05783358252928b0192908b0190613dd7565b858c0152505050606084013583811115613e0a5760008081fd5b613e188d8a83880101613c3c565b918301919091525085525050918301918301613d0e565b509695505050505050565b60008060008060006101408688031215613e5357600080fd5b853567ffffffffffffffff80821115613e6b57600080fd5b613e7789838a01613b79565b96506020880135915080821115613e8d57600080fd5b613e9989838a01613b79565b9550613ea88960408a01613924565b9450610100880135915080821115613ebf57600080fd5b613ecb89838a01613cca565b9350610120880135915080821115613ee257600080fd5b50613eef88828901613cca565b9150509295509295909350565b60008060208385031215613f0f57600080fd5b823567ffffffffffffffff80821115613f2757600080fd5b818501915085601f830112613f3b57600080fd5b813581811115613f4a57600080fd5b8660208260051b8501011115613f5f57600080fd5b60209290920196919550909350505050565b60005b83811015613f8c578181015183820152602001613f74565b50506000910152565b60008151808452613fad816020860160208601613f71565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614015848351613f95565b98850198935090840190600101613ffd565b5091979650505050505050565b602081526000611a2b6020830184613fdf565b60008060006060848603121561405c57600080fd5b83356140678161380b565b925060208401356140778161380b565b929592945050506040919091013590565b6000806040838503121561409b57600080fd5b82356140a68161380b565b946020939093013593505050565b6000602082840312156140c657600080fd5b813567ffffffffffffffff8111156140dd57600080fd5b820160e08185031215611a2b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106a5576106a56140ef565b803561413c8161380b565b73ffffffffffffffffffffffffffffffffffffffff16825260208181013590830152604090810135910152565b73ffffffffffffffffffffffffffffffffffffffff8416815260a081016141936020830185614131565b826080830152949350505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a0608083015261329e60a0830184866141a1565b60006020828403121561424257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261427d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142bc57600080fd5b83018035915067ffffffffffffffff8211156142d757600080fd5b6020019150600581901b360382131561369d57600080fd5b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561432157600080fd5b8260051b80836020870137939093016020019392505050565b600081518084526020808501945080840160005b8381101561436a5781518752958201959082019060010161434e565b509495945050505050565b6060808252810185905260006080600587901b8301810190830188835b89811015614441577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8086850301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18c36030181126143f357600080fd5b8b01602081810191359067ffffffffffffffff82111561441257600080fd5b81360383131561442157600080fd5b61442c8783856141a1565b96509485019493909301925050600101614392565b50505082810360208401526144578186886142ef565b9050828103604084015261329e818561433a565b60008060006060848603121561448057600080fd5b835161448b8161380b565b602085015190935061449c8161380b565b60408501519092506144ad8161380b565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261451c57600080fd5b83018035915067ffffffffffffffff82111561453757600080fd5b60200191503681900382131561369d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261458157600080fd5b83018035915067ffffffffffffffff82111561459c57600080fd5b602001915060608102360382131561369d57600080fd5b6000606082840312156145c557600080fd5b611a2b8383613aba565b600081518084526020808501945080840160005b8381101561436a578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016145e3565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261469860e08501826145cf565b9050608083015184820360c086015261301582826145cf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526146ea608083018561462e565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006130c46060830184866141a1565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261427d57600080fd5b60006080823603121561477757600080fd5b6040516080810167ffffffffffffffff828210818311171561479b5761479b61396b565b8160405284359150808211156147b057600080fd5b6147bc36838701613b79565b8352602085013560208401526040850135604084015260608501359150808211156147e657600080fd5b506147f336828601613cca565b60608301525092915050565b808201808211156106a5576106a56140ef565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261484c61010086018261462e565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015614925577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526148f98885018261433a565b91890151848303858b01529190506149118183613f95565b968b0196958b0195935050506001016148ad565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526149728184018761462e565b90508281036040840152614986818661462e565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149fd576149fd6140ef565b5060010190565b60006106a53683613b79565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614a4557600080fd5b830160208101925035905067ffffffffffffffff811115614a6557600080fd5b60608102360382131561369d57600080fd5b8183526000602080850194508260005b8581101561436a578135614a9a8161380b565b73ffffffffffffffffffffffffffffffffffffffff16875260ff614abf838501613aa9565b16878401526040828101359088015260609687019690910190600101614a87565b600073ffffffffffffffffffffffffffffffffffffffff8086168352606060208401528435614b0e8161380b565b811660608401526020850135614b2381613a12565b151560808401526040850135614b388161380b565b811660a08401526060850135614b4d8161380b565b811660c08401526080850135614b628161380b565b1660e0830152614b7560a0850185614a10565b60e0610100850152614b8c61014085018284614a77565b915050614b9c60c0860186614a10565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085840301610120860152614bd2838284614a77565b9350505050826040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260808101611a2b6020830184614131565b606081526000614c226060830186613fdf565b8281036020840152614c34818661433a565b905082810360408401526130c4818561433a565b602081526000611a2b602083018461462e565b602081526000611a2b6020830184613f95565b600081518084526020808501808196508360051b8101915082860160005b85811015614027578284038952614ca484835161433a565b98850198935090840190600101614c8c565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528260408201526080606082015260006130c46080830184614c6e565b600082601f830112614d0257600080fd5b81516020614d12613b2583613a85565b82815260059290921b84018101918181019086841115614d3157600080fd5b8286015b84811015613e2f5780518352918301918301614d35565b60008060408385031215614d5f57600080fd5b825167ffffffffffffffff80821115614d7757600080fd5b614d8386838701614cf1565b93506020850151915080821115614d9957600080fd5b50614da685828601614cf1565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006124826040830184614c6e565b828152604060208201526000612482604083018461433a565b600060208284031215614e0a57600080fd5b8151611a2b81613a12565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000825161427d818460208701613f71565b8281526040602082015260006124826040830184613f95565b80820281158282048414176106a5576106a56140ef565b600181815b80851115614f0e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614ef457614ef46140ef565b80851615614f0157918102915b93841c9390800290614eba565b509250929050565b600082614f25575060016106a5565b81614f32575060006106a5565b8160018114614f485760028114614f5257614f6e565b60019150506106a5565b60ff841115614f6357614f636140ef565b50506001821b6106a5565b5060208310610133831016604e8410600b8410161715614f91575081810a6106a5565b614f9b8383614eb5565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614fcd57614fcd6140ef565b029392505050565b6000611a2b8383614f1656fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "5807:20091:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7891:678;;;;;;:::i;:::-;;:::i;:::-;;5137:2321:43;;;;;;:::i;:::-;;:::i;:::-;;;1804:14:51;;1797:22;1779:41;;1767:2;1752:18;5137:2321:43;;;;;;;;7899:164;;;;;;:::i;:::-;;:::i;:::-;;;2252:25:51;;;2240:2;2225:18;7899:164:43;2106:177:51;8608:1084:44;;;;;;:::i;:::-;;:::i;10514:3413::-;;;;;;:::i;:::-;;:::i;:::-;;;;3409:25:51;;;3465:2;3450:18;;3443:34;;;;3382:18;10514:3413:44;3235:248:51;13966:3475:44;;;;;;:::i;:::-;;:::i;407:308:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6793:87:44:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7504:110:43;;;;;;:::i;:::-;;:::i;10151:324:44:-;;;;;;:::i;:::-;;:::i;7362:490::-;;;;;;:::i;:::-;;:::i;7891:678::-;2261:21:13;:19;:21::i;:::-;8011:10:44::1;7974:21;7998:24:::0;;;:12:::1;:24;::::0;;;;;;;7974:21;;8023:13:::1;::::0;;::::1;:7:::0;:13:::1;:::i;:::-;7998:39;;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;7998:39:44;;;8038:15;;::::1;;7998:56:::0;;;;;;;;;;-1:-1:-1;8090:33:44::1;::::0;:14;::::1;;7998:56:::0;8090:18:::1;:33::i;:::-;8064:59:::0;-1:-1:-1;8385:31:44::1;8064:59:::0;8385:13;:31:::1;:::i;:::-;8339:10;8326:24;::::0;;;:12:::1;:24;::::0;;;;;;;;8351:13:::1;::::0;;::::1;:7:::0;:13:::1;:::i;:::-;8326:39;;;;;;;;;;;;;;;:56;8366:7;:15;;;8326:56;;;;;;;;;;;:90;;;;8431:46;8440:10;8452:7;8461:15;8431:46;;;;;;;;:::i;:::-;;;;;;;;8487:75;8519:13;;::::0;::::1;:7:::0;:13:::1;:::i;:::-;8534:10;8546:15;8487:31;:75::i;:::-;7964:605;;2303:20:13::0;1716:1;2809:7;:22;2629:209;2303:20;7891:678:44;:::o;5137:2321:43:-;5295:4;5439:18;:16;:18::i;:::-;5715:20;;;5711:77;;5762:11;;;;;;;;;;;;;;5711:77;5805:32;;;5801:92;;5864:14;;;;;;;;;;;;;;5801:92;5906:6;:15;;;;;;;;;;;;;;;5935:21;;;;;;;;;;;;;;;5970:7;:17;;;6005:11;;6001:106;;6036:56;:27;;;6072:9;6084:7;6036:27;:56::i;:::-;6145:237;;;;;6127:15;;6145:21;;;;;;:237;;6205:10;;6250:6;;6292:7;;6127:15;;6367:5;;;;6145:237;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6127:255;;425:45:47;6396:7:43;:41;6392:113;;6460:34;;;;;;;;2252:25:51;;;2225:18;;6460:34:43;;;;;;;;6392:113;6884:7;;;-1:-1:-1;6909:11:43;;6905:154;;6980:9;;6947:6;;6940:75;;6980:9;6947:6;;;;6980:9;7000:4;7007:7;6940:31;:75::i;:::-;7043:1;7033:7;:11;6905:154;7182:9;:45;;;;;;;;;7241:6;:19;;;;;;;7411:18;:16;:18::i;:::-;-1:-1:-1;7447:4:43;;5137:2321;-1:-1:-1;;;;;;5137:2321:43:o;7899:164::-;7969:7;7995:15;:13;:15::i;:::-;:61;;8017:39;;;;;8050:4;8017:39;;;18491:74:51;8017:24:43;;;;;;18464:18:51;;8017:39:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7995:61;;;8013:1;7995:61;7988:68;7899:164;-1:-1:-1;;7899:164:43:o;8608:1084:44:-;2261:21:13;:19;:21::i;:::-;8689:27:44::1;::::0;;8769:36:::1;;::::0;::::1;:7:::0;:36:::1;:::i;:::-;:58;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:88;;;8871:23;;::::0;::::1;:7:::0;:23:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;8916:23;;::::0;::::1;:7:::0;:23:::1;:::i;:::-;:33;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:38::0;3277:11;;2763:1:44::1;3301:16:38::0;;;3348:4;3337:16;;3330:27;3002:1:44::1;3377:16:38::0;;;3370:27;3195:22;3423:16;;3410:30;;;8769:281:44::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8688:362;;;;;;9060:19;9082:262;;;;;;;;9101:10;9082:262;;;;;;9208:1;9125:7;:23;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;2640:1;9125:73:::0;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:84:::0;;;::::1;9082:262:::0;;-1:-1:-1;9223:44:44::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;9082:262;9223:44:::0;;::::1;::::0;;;;;;::::1;::::0;;;;9082:262;::::1;::::0;;9281:19:::1;:7:::0;;:19:::1;:::i;:::-;9082:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9314:7;:20;;;;;;;;:::i;:::-;9082:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;9060:284:::1;;9354:18;9375:13;:6;:11;:13::i;:::-;9399:18;::::0;;;:6:::1;:18;::::0;;;;;;2203:1:::1;9399:31:::0;;9354:34;;-1:-1:-1;9445:74:44::1;::::0;9454:10:::1;::::0;9466:23:::1;::::0;;::::1;:7:::0;:23:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;9500:6;9508:10;9445:74;;;;;;;;;:::i;:::-;;;;;;;;9556:1;9534:12;;::::0;::::1;:7:::0;:12:::1;:::i;:::-;:19;;:23;9530:156;;;9573:39;9599:12;;::::0;::::1;:7:::0;:12:::1;:::i;:::-;9573:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9573:25:44::1;::::0;-1:-1:-1;;;9573:39:44:i:1;:::-;9631:44;9638:10;9650::::0;9662:12:::1;;::::0;::::1;:7:::0;:12:::1;:::i;:::-;9631:44;;;;;;;;;:::i;:::-;;;;;;;;9530:156;8678:1014;;;;;2303:20:13::0;1716:1;2809:7;:22;2629:209;10514:3413:44;10628:19;10649:20;2261:21:13;:19;:21::i;:::-;10685:10:44::1;10709:33;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10709:33:44::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10807:24:44;::::1;;10841:2351;10853:18;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;:25;;10848:2;:30;:53;;;;;10900:1;10882:15;:19;10848:53;10841:2351;;;10930:18;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;10949:2;10930:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;10917:35;;;:::i;:::-;10975:16:::0;;10917:35;;-1:-1:-1;10975:16:44;-1:-1:-1;10975:16:44::1;11026:13;10975:16:::0;11026:11:::1;:13::i;:::-;2314:1;11057:18:::0;;;:6:::1;:18;::::0;;;;;11005:34;;-1:-1:-1;11053:2068:44::1;;11140:12:::0;;11114:51:::1;::::0;;11128:10:::1;30350:34:51::0;;30299:42;30420:15;;;30415:2;30400:18;;30393:43;30452:18;;30445:34;;;11114:51:44::1;::::0;30277:2:51;30262:18;11114:51:44::1;;;;;;;11053:2068;;;11261:18;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;11208:71;;:6;:18;;;11227:10;:23;;;11208:43;;;;;;;;:::i;:::-;;;;;;;:49;;;:71;;;11204:209;;11324:6;:18;;;11343:10;:23;;;11324:43;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:49;;11375:18:::1;::::0;;::::1;:11:::0;:18:::1;:::i;:::-;11310:84;::::0;::::1;::::0;;30674:42:51;30743:15;;;11310:84:44::1;::::0;::::1;30725:34:51::0;30795:15;;30775:18;;;30768:43;30637:18;;11310:84:44::1;30490:327:51::0;11204:209:44::1;11489:17;::::0;;;::::1;::::0;::::1;;:::i;:::-;11434:72;;:6;:19;;;11454:10;:24;;;11434:45;;;;;;;;:::i;:::-;;;;;;;:51;;;:72;;;11430:211;;11551:6;:19;;;11571:10;:24;;;11551:45;;;;;;;;:::i;:::-;;;;;;;:51;;;11604:11;:17;;;;;;;;;;:::i;11430:211::-;11659:45;11707:152;11746:6;11754:10;:23;;;11779:10;:24;;;11805:10;11817;:24;;;11707:17;:152::i;:::-;11659:200;;12239:11;:26;;;12209:19;:27;;;:56;12205:902;;;12327:12:::0;;12294:58:::1;::::0;;12315:10:::1;30350:34:51::0;;30299:42;30420:15;;;30415:2;30400:18;;30393:43;30452:18;;30445:34;;;12294:58:44::1;::::0;30277:2:51;30262:18;12294:58:44::1;;;;;;;;12205:902;;;12381:29:::0;;::::1;:34:::0;12377:730:::1;;12472:12:::0;;12444:53:::1;::::0;;12460:10:::1;30350:34:51::0;;30299:42;30420:15;;;30415:2;30400:18;;30393:43;30452:18;;30445:34;;;12444:53:44::1;::::0;30277:2:51;30262:18;12444:53:44::1;30087:398:51::0;12377:730:44::1;12642:29:::0;;12605:14:::1;::::0;12622:50:::1;::::0;:15;;:19:::1;:50::i;:::-;12605:67;;12750:15;12768:67;12789:19;:27;;;12818:16;12768:6;:20;;:67;;;;;:::i;:::-;12750:85:::0;-1:-1:-1;12858:25:44::1;12877:6:::0;12858:25;::::1;:::i;:::-;::::0;-1:-1:-1;12905:23:44::1;12921:7:::0;12905:23;::::1;:::i;:::-;;;12951:60;12966:6;12974:7;12983:6;12991:19;12951:14;:60::i;:::-;13038:50;13048:10;13060;13072:6;13080:7;13038:50;;;;;;;;;:::i;:::-;;;;;;;;12522:585;;12377:730;11186:1935;11053:2068;-1:-1:-1::0;13163:4:44::1;::::0;;::::1;::::0;10841:2351:::1;;;13215:42;13242:15:::0;13215:24:::1;::::0;::::1;;:42;:::i;:::-;13201:56;;13286:11;:24;;;13272:11;:38;13268:127;;;13346:24;13333:51:::0;;::::1;::::0;;13346:24;;::::1;;13333:51;::::0;::::1;3409:25:51::0;3450:18;;;3443:34;;;3382:18;;13333:51:44::1;3235:248:51::0;13268:127:44::1;13640:84;13684:10;13704:4;13711:12:::0;13647:18:::1;;::::0;::::1;:11:::0;:18:::1;:::i;:::-;13640:43;;::::0;:84;;:43:::1;:84::i;:::-;13845:75;13877:17;::::0;;;::::1;::::0;::::1;;:::i;:::-;13896:10;13908:11;13845:31;:75::i;:::-;10675:3252;;;;2303:20:13::0;1716:1;2809:7;:22;2629:209;2303:20;10514:3413:44;;;:::o;13966:3475::-;2261:21:13;:19;:21::i;:::-;14258:10:44;;14242:12;;:26:::1;::::0;;::::1;::::0;::::1;::::0;14238:95:::1;;14305:12:::0;;14295:23:::1;::::0;::::1;::::0;;18521:42:51;18509:55;;;14295:23:44::1;::::0;::::1;18491:74:51::0;18464:18;;14295:23:44::1;18345:226:51::0;14238:95:44::1;14449:4;:16;;;14466:12;:28;;;14449:46;;;;;;;;:::i;:::-;;;;;;;:52;;;14367:134;;:6;:19;;;14387:12;:31;;;14367:52;;;;;;;;:::i;:::-;;;;;;;:58;;;:134;;;14346:395;;14576:6;:19;;;14596:12;:31;;;14576:52;;;;;;;;:::i;:::-;;;;;;;:58;;;14656:4;:16;;;14673:12;:28;;;14656:46;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:52;14541:185:::1;::::0;::::1;::::0;;30674:42:51;30743:15;;;14541:185:44::1;::::0;::::1;30725:34:51::0;30795:15;;30775:18;;;30768:43;30637:18;;14541:185:44::1;30490:327:51::0;14346:395:44::1;14854:18;::::0;::::1;::::0;:50;;14873:30;::::1;::::0;14854:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;14776:134;;:4;:17;;;14794:12;:29;;;14776:48;;;;;;;;:::i;:::-;;;;;;;:54;;;:134;;;14755:395;;14985:18;::::0;::::1;::::0;:50;;15004:30;::::1;::::0;14985:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;15063:4;:17;;;15081:12;:29;;;15063:48;;;;;;;;:::i;14755:395::-;2314:1;15375:6;:21;15382:13;:6;:11;:13::i;:::-;15375:21;;;;;;;;;;;;:35:::0;15371:157:::1;;15435:54;15449:10;15461:6;:12;;;15475:13;:6;:11;:13::i;:::-;15435:54;::::0;;30299:42:51;30368:15;;;30350:34;;30420:15;;;;30415:2;30400:18;;30393:43;30452:18;;;30445:34;30277:2;30262:18;15435:54:44::1;;;;;;;15507:7;;15371:157;2314:1;15545:6;:19;15552:11;:4;:9;:11::i;:::-;15545:19;;;;;;;;;;;;:33:::0;15541:151:::1;;15603:50;15617:10;15629:4;:10;;;15641:11;:4;:9;:11::i;15541:151::-;15762:45;15768:10;15780:6;15788:4;15794:12;15762:45;;;;;;;;;:::i;:::-;;;;;;;;15827:50;15880:143;15911:6;15919:12;:30;;;15951:12;:31;;;15984:4;:10;;;15996:17;15880;:143::i;:::-;15827:196;;16033:48;16084:141;16115:4;16121:12;:28;;;16151:12;:29;;;16182:6;:12;;;16196:19;16084:17;:141::i;:::-;16033:192;;16235:41;16291:80;16322:24;16348:22;16291:30;:80::i;:::-;16235:136;;16382:109;16397:6;16405:17;:28;;;16435:17;:29;;;16466:24;16382:14;:109::i;:::-;16501:101;16516:4;16522:17;:26;;;16550:17;:27;;;16579:22;16501:14;:101::i;:::-;16814:26;::::0;::::1;::::0;16782:29;;16759:20:::1;::::0;16782:58:::1;::::0;::::1;:::i;:::-;16759:81;;16854:18;16905:17;:28;;;16875:17;:27;;;:58;;;;:::i;:::-;16854:79:::0;-1:-1:-1;16951:16:44;;16947:209:::1;;17000:10;16987:24;::::0;;;:12:::1;:24;::::0;;;;;;17012:19:::1;::::0;::::1;::::0;:52;;17129:12;;16987:24;;17032:31;::::1;;::::0;17012:52;::::1;;;;;:::i;:::-;;;;;;;:58;;;16987:84;;;;;;;;;;;;;;;:138;17072:12;:52;;;16987:138;;;;;;;;;;;;:154;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;16947:209:44::1;17173:14:::0;;17169:199:::1;;17220:10;17207:24;::::0;;;:12:::1;:24;::::0;;;;17232:17:::1;::::0;::::1;::::0;:48;;17343:10;;17207:24;17232:17;17250:29:::1;::::0;::::1;;::::0;17232:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;17207:80;;;;;;;;;;;;;;;:132;17288:12;:50;;;17207:132;;;;;;;;;;;;:146;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;17169:199:44::1;-1:-1:-1::0;;17393:41:44::1;::::0;;17404:10:::1;34284:74:51::0;;34394:13;;34389:2;34374:18;;;34367:41;;;;34450:15;;34444:22;34424:18;;;34417:50;34509:15;;;34503:22;34498:2;34483:18;;;34476:50;;;;34569:15;;34563:22;34557:3;34542:19;;34535:51;17393:41:44::1;::::0;34271:3:51;34256:19;17393:41:44::1;;;;;;;14214:3227;;;2292:1:13;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;13966:3475:44;;;;;:::o;407:308:18:-;475:22;531:4;519:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:34;;558:9;553:132;573:15;;;553:132;;;622:52;659:4;666;;671:1;666:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;622:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;622:28:18;;-1:-1:-1;;;622:52:18:i;:::-;609:7;617:1;609:10;;;;;;;;:::i;:::-;;;;;;:65;;;;590:3;;;;;:::i;:::-;;;;553:132;;;;407:308;;;;:::o;10151:324:44:-;2261:21:13;:19;:21::i;:::-;10245:12:44::1;;::::0;::::1;:6:::0;:12:::1;:::i;:::-;10231:26;;:10;:26;;;10227:103;;10294:10;10306:12;;::::0;::::1;:6:::0;:12:::1;:::i;:::-;10280:39;::::0;::::1;::::0;;30674:42:51;30743:15;;;10280:39:44::1;::::0;::::1;30725:34:51::0;30795:15;;30775:18;;;30768:43;30637:18;;10280:39:44::1;30490:327:51::0;10227:103:44::1;10339:18;10360:13;:11;:6:::0;:11:::1;:::i;:::-;;:13::i;:::-;10391:18;::::0;;;:6:::1;:18;::::0;;;;;10383:27;;;;10425:43;10339:34;;-1:-1:-1;10425:43:44::1;::::0;::::1;::::0;10437:10:::1;::::0;10449:6;;10339:34;;10425:43:::1;:::i;:::-;;;;;;;;10217:258;2303:20:13::0;1716:1;2809:7;:22;2629:209;7362:490:44;2261:21:13;:19;:21::i;:::-;7642:28:44::1;7650:10;7662:7;7642:28;;;;;;;:::i;:::-;;;;;;;;7680:81;7719:10;7739:4;7746:14;::::0;::::1;;7687:13;;::::0;::::1;7746:7:::0;7687:13:::1;:::i;7680:81::-;7784:10;7771:24;::::0;;;:12:::1;:24;::::0;;;7831:14:::1;7771:24:::0;;;7831:14;;::::1;;::::0;7771:24;;7796:13:::1;::::0;;::::1;7831:7:::0;7796:13:::1;:::i;:::-;7771:39;;;;;;;;;;;;;;;:56;7811:7;:15;;;7771:56;;;;;;;;;;;;:74;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:13;2809:7;:22;7891:678:44;:::o;1424:292:25:-;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;;;;;;;3409:25:51;;;3450:18;;;3443:34;;;3382:18;;1619:46:25;3235:248:51;1564:112:25;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;917:319:33:-;1116:14;;;978:26;1116:14;;;;;;;;;978:26;;;;1067:48;;;;;;978:26;1116:14;;;;;;;;;;;;;;;;;;;-1:-1:-1;1132:16:33;;;1146:1;1132:16;;;;;;1150;;;;;;;;;;1067:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;917:319:33:o;2336:287:13:-;1759:1;2468:7;;:19;2460:63;;;;;;;39803:2:51;2460:63:13;;;39785:21:51;39842:2;39822:18;;;39815:30;39881:33;39861:18;;;39854:61;39932:18;;2460:63:13;39601:355:51;2460:63:13;1759:1;2598:7;:18;2336:287::o;588:104:22:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;680:1;672:13;665:20;588:104;-1:-1:-1;;;588:104:22:o;4368:723:43:-;4618:6;;;4608:16;;;4618:6;;4608:16;:51;;;;-1:-1:-1;4649:9:43;;;4628:31;;;4649:9;;4628:31;4608:51;4604:374;;;4675:22;4700:24;4716:7;;4700:11;:15;;:24;;;;:::i;:::-;4675:49;-1:-1:-1;4738:29:43;4675:49;4738:29;;:::i;:::-;;;4953:14;4942:7;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4604:374:43;4992:15;;4988:97;;5023:51;:27;;;5051:9;5062:11;5023:27;:51::i;2089:158::-;2145:15;:13;:15::i;:::-;2141:100;;;2202:9;;2214:6;;2222:7;;2183:47;;;;;2202:9;;;;2183:47;;;30350:34:51;2214:6:43;;;;30400:18:51;;;30393:43;30452:18;;;30445:34;30262:18;;2183:47:43;30087:398:51;2141:100:43;2089:158::o;763:205:16:-;902:58;;40165:42:51;40153:55;;902:58:16;;;40135:74:51;40225:18;;;40218:34;;;875:86:16;;895:5;;925:23;;40108:18:51;;902:58:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;875:19;:86::i;974:241::-;1139:68;;30299:42:51;30368:15;;;1139:68:16;;;30350:34:51;30420:15;;30400:18;;;30393:43;30452:18;;;30445:34;;;1112:96:16;;1132:5;;1162:27;;30262:18:51;;1139:68:16;30087:398:51;1112:96:16;974:241;;;;:::o;1931:152:43:-;2011:9;;1979:4;;2003:32;2011:9;2003:32;;;:56;;-1:-1:-1;2039:6:43;;:20;:6;:20;;2003:56;:72;;;-1:-1:-1;2063:7:43;;:12;;2003:72;1995:81;;1931:152;:::o;567:129:49:-;625:7;680:6;669:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;659:29;;669:18;659:29;;;;;567:129;-1:-1:-1;;567:129:49:o;1075:155:25:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;18150:4582:44:-;18386:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18386:25:44;18447:18;18468:13;:6;:11;:13::i;:::-;18592:78;;;3701:1;18592:78;;;;;;;;;18447:34;;-1:-1:-1;18496:27:44;;18555:34;;18592:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;18817:12:44;;4055:4:38;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;18801:30:44;;;;4149:16:38;;;4142:27;18833:31:44;;;3967:22:38;4189:16;;4182:27;4246:4;4235:16;;4222:30;;18555:115:44;;-1:-1:-1;18688:15:44;18737:1;4134;18704:34;18688:51;;;;;;;;:::i;:::-;;;;;;:194;;;;18952:485;19015:6;:18;;;19034:13;19015:33;;;;;;;;:::i;:::-;;;;;;;:39;;;18999:57;;19078:6;:18;;;19097:13;19078:33;;;;;;;;:::i;:::-;;;;;;;:42;;;18952:485;;19142:6;:18;;;19161:13;19142:33;;;;;;;;:::i;:::-;;;;;;;:41;;;19205:12;:26;19218:6;:12;;;19205:26;;;;;;;;;;;;;;;:67;19232:6;:18;;;19251:13;19232:33;;;;;;;;:::i;:::-;;;;;;;:39;;;19205:67;;;;;;;;;;;;;;;:135;19273:6;:18;;;19292:13;19273:33;;;;;;;;:::i;:::-;;;;;;;:66;;;19205:135;;;;;;;;;;;;19418:1;5980:4:38;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;18952:485:44;18901:15;18947:1;4669;18917:31;18901:48;;;;;;;;:::i;:::-;;;;;;:536;;;;19508:495;19571:6;:19;;;19591:14;19571:35;;;;;;;;:::i;:::-;;;;;;;:41;;;19555:59;;19636:6;:19;;;19656:14;19636:35;;;;;;;;:::i;:::-;;;;;;;:44;;;19508:495;;19702:6;:19;;;19722:14;19702:35;;;;;;;;:::i;:::-;;;;;;;:43;;;19767:12;:26;19780:6;:12;;;19767:26;;;;;;;;;;;;;;;:69;19794:6;:19;;;19814:14;19794:35;;;;;;;;:::i;:::-;;;;;;;:41;;;19767:69;;;;;;;;;;;;;;;:139;19837:6;:19;;;19857:14;19837:35;;;;;;;;:::i;19508:495::-;19456:15;19503:1;4836;19472:32;19456:49;;;;;;;;:::i;:::-;;;;;;:547;;;;20032:49;20049:15;20066:14;20032:16;:49::i;:::-;20021:60;;18537:1559;20272:25;20336:6;:12;;;20320:30;;20272:79;;20366:23;20391:21;20416:6;:16;;;:28;;;:33;;;20467:6;:16;;;:22;;;20491:10;20503:52;20527:6;:16;;;:27;;;20503:23;:52::i;:::-;20557:8;20416:163;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20365:214;;;;20594:23;20620:6;20643:1;20627:6;:13;:17;20620:25;;;;;;;;:::i;:::-;;;;;;;20594:51;;20659:21;20683:6;20706:1;20690:6;:13;:17;20683:25;;;;;;;;:::i;:::-;;;;;;;20659:49;;20902:458;20942:6;:19;;;20962:14;20942:35;;;;;;;;:::i;:::-;;;;;;;:44;;;20902:458;;503:6:40;20902:15:44;:22;;:458;;;;;:::i;:::-;20884:476;;21556:479;21598:6;:19;;;21618:14;21598:35;;;;;;;;:::i;:::-;;;;;;;:44;;;21660:6;:18;;;21679:13;21660:33;;;;;;;;:::i;:::-;;;;;;;:42;;;416:1:40;21556:13:44;:24;;:479;;;;;;:::i;:::-;21540:495;;22196:186;22233:12;:26;22246:6;:12;;;22233:26;;;;;;;;;;;;;;;:69;22260:6;:19;;;22280:14;22260:35;;;;;;;;:::i;:::-;;;;;;;:41;;;22233:69;;;;;;;;;;;;;;;:135;22303:6;:19;;;22323:14;22303:35;;;;;;;;:::i;:::-;;;;;;;:64;;;22233:135;;;;;;;;;;;;22196:15;:19;;:186;;;;:::i;:::-;3283:4:38;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;22178:204:44;;-1:-1:-1;22518:8:44;4329:1;22518:37;;;;;;;;:::i;:::-;;;;;;:97;;;;22637:78;;;;;;;;22656:15;22637:78;;;;22673:13;22637:78;;;;22688:8;22637:78;;;;22698:10;22637:78;;;;22710:4;22637:78;;;22630:85;;;;;;;;;18150:4582;;;;;;;:::o;646:163:39:-;738:7;764:38;:1;773;339:4:40;793:8:39;764;:38::i;:::-;757:45;646:163;-1:-1:-1;;;;646:163:39:o;23310:2586:44:-;23590:6;23500:19;:27;;;4669:1;23500:56;;;;;;;;:::i;:::-;;;;;;;5653:1;23500:87;;;;;;;;:::i;:::-;;;;;;:96;;;;;23697:7;23606:19;:27;;;4836:1;23606:57;;;;;;;;:::i;:::-;;;;;;;5653:1;23606:88;;;;;;;;:::i;:::-;;;;;;;;;;:98;23719:10;;23715:363;;23829:12;;23816:26;;;;;;:12;:26;;;;;;23876:27;;;;:56;;24061:6;;23816:26;23876:27;4669:1;;23876:56;;;;;;:::i;:::-;;;;;;;4954:1;23876:80;;;;;;;;:::i;:::-;;;;;;;23816:156;;;;;;;;;;;;;;;:241;23973:19;:27;;;4669:1;23973:56;;;;;;;;:::i;:::-;;;;;;;5196:1;23973:83;;;;;;;;:::i;:::-;;;;;;;23816:241;;;;;;;;;;;;:251;;;;;;;:::i;:::-;;;;-1:-1:-1;;23715:363:44;24091:11;;24087:368;;24203:12;;24190:26;;;;;;:12;:26;;;;;;24250:27;;;;:57;;24437:7;;24190:26;24250:27;4836:1;;24250:57;;;;;;:::i;:::-;;;;;;;4954:1;24250:81;;;;;;;;:::i;:::-;;;;;;;24190:157;;;;;;;;;;;;;;;:243;24348:19;:27;;;4836:1;24348:57;;;;;;;;:::i;:::-;;;;;;;5196:1;24348:84;;;;;;;;:::i;:::-;;;;;;;24190:243;;;;;;;;;;;;:254;;;;;;;:::i;:::-;;;;-1:-1:-1;;24087:368:44;24621:48;24629:10;24641:19;:27;;;24621:48;;;;;;;:::i;:::-;;;;;;;;24900:23;;;;:30;:34;24896:147;;24950:6;:16;;;:22;;;:26;;;24977:19;:29;;;25008:19;:23;;;24950:82;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24896:147;25201:6;:15;;;25197:693;;;25351:29;25384:6;:16;;;:28;;;:33;;;25435:6;:16;;;:22;;;25475:19;:29;;;25522:46;25540:6;:16;;;:27;;;25522:17;:46::i;:::-;25586:19;:27;;;25384:243;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25348:279;;;25773:1;25751:12;:19;:23;25747:133;;;25794:6;:16;;;:22;;;:26;;;25821:19;:29;;;25852:12;25794:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25218:672;23310:2586;;;;:::o;3258:1690:50:-;3432:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:23:50;3467:41;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3467:41:50;3886:30;;;;3839:32;;3564:385;;3839:96;;:32;3918:16;3839:46;:96::i;:::-;3564:34;;;:38;:385::i;:::-;3532:417;;4315:32;;;;4266:34;;3993:387;;4266:100;;:34;4349:16;4266:48;:100::i;:::-;3993:32;;;:36;:387::i;:::-;3963:27;;;;:417;;;;4591:32;;;4547:29;;:95;;4625:16;4547:43;:95::i;:::-;4500:28;;;:142;4848:30;;;;;4806:27;;;;:91;;4880:16;4806:41;:91::i;:::-;4761:26;;;:136;:26;3258:1690;-1:-1:-1;;;3258:1690:50:o;6469:198:17:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;3747:706:16:-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;4192:27;;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:16;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;;;;44635:2:51;4351:85:16;;;44617:21:51;44674:2;44654:18;;;44647:30;44713:34;44693:18;;;44686:62;44784:12;44764:18;;;44757:40;44814:19;;4351:85:16;44433:406:51;550:376:25;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:25;;550:376;-1:-1:-1;550:376:25:o;631:34::-;-1:-1:-1;846:1:25;835:13;829:20;691:16;825:32;667:18:24;883:36:25;;550:376::o;7162:2290:32:-;7297:18;7355:24;7396:14;:21;7382:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7382:36:32;;7355:63;;7567:21;7641:1;7617:14;:21;:25;:57;;7673:1;7617:57;;;7645:14;:21;7669:1;7645:25;7617:57;7595:11;:18;7591:1;:22;:84;7567:108;;7690:26;7735:13;7719:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:59;;7763:14;7813:17;3283:4:38;3277:11;;3315:1;3301:16;;2284:10:32;3348:4:38;3337:16;;3330:27;2322:4:32;3377:16:38;;;3370:27;2207:16:32;3423::38;;3410:30;;;3277:11;1931:152:43;7813:17:32;7795:7;7803:6;7795:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7850:9;7845:140;7869:11;:18;7865:1;:22;7845:140;;;7912:8;;;;;;;7956:11;7968:1;7956:14;;;;;;;;:::i;:::-;;;;;;;7938:7;7946:6;7938:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7889:3;;7845:140;;;-1:-1:-1;8003:21:32;;:25;7999:1408;;8048:8;;;;;;;8092:7;8074;8082:6;8074:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8123:9;8118:1275;8142:14;:21;8138:1;:25;8118:1275;;;8820:284;8886:14;8901:1;8886:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8940:81;8969:51;8994:14;9009:1;8994:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:23;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8969:51:32;7455:58:20;;45756:66:51;7455:58:20;;;45744:79:51;45839:12;;;45832:28;;;7325:7:20;;45876:12:51;;7455:58:20;;;;;;;;;;;;7445:69;;;;;;7438:76;;7256:265;;;;8940:81:32;9051:14;9066:1;9051:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8820:36;:284::i;:::-;8192:1010;;9160:19;;;;;;;;2252:25:51;;;2225:18;;9160:19:32;2106:177:51;8192:1010:32;9253:14;9268:1;9253:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9237:42;;9224:7;9232:1;9224:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9301:8;;;;;;;9349:14;9364:1;9349:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9331:7;9339:6;9331:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8165:3;;8118:1275;;;;7999:1408;-1:-1:-1;9428:7:32;7162:2290;-1:-1:-1;;;;;7162:2290:32:o;9698:213:44:-;9775:15;1052:2:34;1019:35;;;;;2883:1:44;1018:103:34;9809:95:44;816:322:34;7076:898:41;7168:7;7238:15;253:2:40;7215:38:41;7211:747;;;253:2:40;7296:38:41;;;416:1:40;7356:22:41;;:26;7352:195;;7413:34;7430:2;7434:12;7413:16;:34::i;:::-;7406:41;;;;;7352:195;7501:27;7511:2;7515:12;7501:9;:27::i;7211:747::-;253:2:40;7571:15:41;:38;7567:391;;;7650:38;;;503:6:40;7710:22:41;;:26;7706:190;;7767:33;7785:2;7789:10;7767:17;:33::i;7706:190::-;7854:23;7862:2;7866:10;7854:7;:23::i;7567:391::-;-1:-1:-1;7941:2:41;7934:9;;10263:901;10398:7;10462:10;10449:23;;:10;:23;;;10445:703;;;10511:23;;;503:6:40;10556:22:41;;:26;10552:198;;10613:37;10631:6;10639:10;10613:37;;:17;:37::i;:::-;10606:44;;;;;10552:198;10704:27;10712:6;10720:10;10704:27;;:7;:27::i;10445:703::-;10787:10;10774:23;;:10;:23;;;10770:378;;;10838:23;;;416:1:40;10883:22:41;;:26;10879:203;;10940:38;10957:6;10965:12;10940:38;;:16;:38::i;10879:203::-;11032:31;11042:6;11050:12;11032:31;;:9;:31::i;10770:378::-;-1:-1:-1;11127:6:41;;10263:901;-1:-1:-1;;;10263:901:41:o;5724:337:22:-;5863:7;5882:14;5899:25;5906:1;5909;5912:11;5899:6;:25::i;:::-;5882:42;-1:-1:-1;5950:11:22;5938:8;:23;;;;;;;;:::i;:::-;;:56;;;;;5993:1;5978:11;5965:25;;;;;:::i;:::-;5975:1;5972;5965:25;:29;5938:56;5934:98;;;6010:11;6020:1;6010:11;;:::i;:::-;;;5934:98;6048:6;5724:337;-1:-1:-1;;;;;5724:337:22:o;9917:195:44:-;9988:15;1059:47:34;1052:2;1019:35;;;;;1018:89;10022:83:44;816:322:34;6853:325:17;6994:12;7019;7033:23;7060:6;:19;;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:17:o;3873:223::-;4006:12;4037:52;4059:6;4067:4;4073:1;4076:12;4037:21;:52::i;1039:667:21:-;1175:4;1192:17;1211:24;1239:33;1256:4;1262:9;1239:16;:33::i;:::-;1191:81;;-1:-1:-1;1191:81:21;-1:-1:-1;1295:26:21;1286:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1338:6;1325:19;;:9;:19;;;1286:58;1282:100;;;1367:4;1360:11;;;;;;1282:100;1393:12;1407:19;1430:6;:17;;1484:34;;;1520:4;1526:9;1461:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1430:116;;;;1461:75;1430:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1392:154;;;;1564:7;:42;;;;;1587:6;:13;1604:2;1587:19;1564:42;:134;;;;-1:-1:-1;1622:29:21;;1663:34;;1622:29;;;;;;;;;;;;:::i;:::-;:76;1564:134;1556:143;1039:667;-1:-1:-1;;;;;;;;1039:667:21:o;4877:613:41:-;4960:10;726:2:40;5010:12:41;:37;5006:468;;5072:7;;:15;;5086:1;5072:15;;;5082:1;5072:15;5067:20;;;;5006:468;;;5139:2;:18;;;;5180:2;5139:18;5180:7;;;;:::i;:::-;;5175:12;;5408:2;5403;:7;5397:2;:13;5393:67;;-1:-1:-1;5440:1:41;5434:7;;4877:613;-1:-1:-1;;4877:613:41:o;4659:212::-;4735:7;726:2:40;4785:12:41;:37;;:69;;4841:12;4835:2;:18;4829:2;:25;;;;;:::i;:::-;;4785:69;;;-1:-1:-1;4825:1:41;;4659:212;-1:-1:-1;;4659:212:41:o;3552:702::-;3634:10;726:2:40;3684:10:41;:35;3680:558;;3744:7;;:31;;3758:17;3744:31;;;3754:1;3744:31;3739:36;;3680:558;;;-1:-1:-1;3957:2:41;:16;;;3996:7;;;;:2;3957:16;3996:7;3957:16;4185:7;;;;:::i;:::-;;:13;:38;;4206:17;4185:38;;2593:700;2772:2;:16;;;2813:7;2772:16;2813:2;:7;:::i;:::-;2808:12;;726:2:40;3190:10:41;:35;3186:101;;3246:7;;:30;;3260:16;3266:10;3260:2;:16;:::i;:::-;3246:30;;1667:3925:22;1779:14;;;2319:6;2316:1;2313;2306:20;2359:1;2356;2352:9;2343:18;;2414:5;2410:2;2407:13;2399:5;2395:2;2391:14;2387:34;2378:43;;;2516:5;2525:1;2516:10;2512:75;;2561:11;2553:5;:19;;;;;:::i;:::-;;2546:26;;;;;;2512:75;2711:5;2697:11;:19;2689:28;;;;;;2973:17;3108:11;3105:1;3102;3095:25;4486:1;3656;3641:12;;:16;;3626:32;;3761:22;;;;4467:1;:15;;4466:21;;4719;;;4715:25;;4704:36;4788:21;;;4784:25;;4773:36;4858:21;;;4854:25;;4843:36;4928:21;;;4924:25;;4913:36;4998:21;;;4994:25;;4983:36;5069:21;;;5065:25;;;5054:36;;;3611:12;4006;;;4002:23;;;3998:31;;;3222:20;;;3211:32;;;4118:12;;;;3269:21;;3859:16;;;;4109:21;;;;5533:15;;;-1:-1:-1;;;;1667:3925:22:o;7466:628:17:-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;1465:19;;;;7908:60;;;;;;;48061:2:51;7908:60:17;;;48043:21:51;48100:2;48080:18;;;48073:30;48139:31;48119:18;;;48112:59;48188:18;;7908:60:17;47859:353:51;7908:60:17;-1:-1:-1;8003:10:17;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;4960:446::-;5125:12;5182:5;5157:21;:30;;5149:81;;;;;;;48419:2:51;5149:81:17;;;48401:21:51;48458:2;48438:18;;;48431:30;48497:34;48477:18;;;48470:62;48568:8;48548:18;;;48541:36;48594:19;;5149:81:17;48217:402:51;5149:81:17;5241:12;5255:23;5282:6;:11;;5301:5;5308:4;5282:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:73;;;;5330:69;5357:6;5365:7;5374:10;5386:12;5330:26;:69::i;:::-;5323:76;4960:446;-1:-1:-1;;;;;;;4960:446:17:o;2145:730:20:-;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:20;;-1:-1:-1;2822:35:20;2259:610;2145:730;;;;;:::o;8616:540:17:-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;;;;;;;;;;:::i;5069:1494:20:-;5195:7;;6119:66;6106:79;;6102:161;;;-1:-1:-1;6217:1:20;;-1:-1:-1;6221:30:20;6201:51;;6102:161;6374:24;;;6357:14;6374:24;;;;;;;;;49075:25:51;;;49148:4;49136:17;;49116:18;;;49109:45;;;;49170:18;;;49163:34;;;49213:18;;;49206:34;;;6374:24:20;;49047:19:51;;6374:24:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6374:24:20;;;;;;-1:-1:-1;;6412:20:20;;;6408:101;;6464:1;6468:29;6448:50;;;;;;;6408:101;6527:6;-1:-1:-1;6535:20:20;;-1:-1:-1;5069:1494:20;;;;;;;;:::o;14:162:51:-;81:5;126:2;117:6;112:3;108:16;104:25;101:45;;;142:1;139;132:12;101:45;-1:-1:-1;164:6:51;14:162;-1:-1:-1;14:162:51:o;181:253::-;275:6;328:2;316:9;307:7;303:23;299:32;296:52;;;344:1;341;334:12;296:52;367:61;420:7;409:9;367:61;:::i;439:177::-;548:42;541:5;537:54;530:5;527:65;517:93;;606:1;603;596:12;621:1013;749:6;757;765;773;781;834:3;822:9;813:7;809:23;805:33;802:53;;;851:1;848;841:12;802:53;890:9;877:23;909:54;957:5;909:54;:::i;:::-;982:5;-1:-1:-1;1039:2:51;1024:18;;1011:32;1052:56;1011:32;1052:56;:::i;:::-;1127:7;-1:-1:-1;1181:2:51;1166:18;;1153:32;;-1:-1:-1;1236:2:51;1221:18;;1208:32;1259:18;1289:14;;;1286:34;;;1316:1;1313;1306:12;1286:34;1354:6;1343:9;1339:22;1329:32;;1399:7;1392:4;1388:2;1384:13;1380:27;1370:55;;1421:1;1418;1411:12;1370:55;1461:2;1448:16;1487:2;1479:6;1476:14;1473:34;;;1503:1;1500;1493:12;1473:34;1548:7;1543:2;1534:6;1530:2;1526:15;1522:24;1519:37;1516:57;;;1569:1;1566;1559:12;1516:57;621:1013;;;;-1:-1:-1;621:1013:51;;-1:-1:-1;1600:2:51;1592:11;;1622:6;621:1013;-1:-1:-1;;;621:1013:51:o;1831:270::-;1890:6;1943:2;1931:9;1922:7;1918:23;1914:32;1911:52;;;1959:1;1956;1949:12;1911:52;1998:9;1985:23;2017:54;2065:5;2017:54;:::i;2288:392::-;2379:6;2432:2;2420:9;2411:7;2407:23;2403:32;2400:52;;;2448:1;2445;2438:12;2400:52;2488:9;2475:23;2521:18;2513:6;2510:30;2507:50;;;2553:1;2550;2543:12;2507:50;2576:22;;2632:3;2614:16;;;2610:26;2607:46;;;2649:1;2646;2639:12;2685:165;2754:5;2799:3;2790:6;2785:3;2781:16;2777:26;2774:46;;;2816:1;2813;2806:12;2855:375;2951:6;3004:2;2992:9;2983:7;2979:23;2975:32;2972:52;;;3020:1;3017;3010:12;2972:52;3060:9;3047:23;3093:18;3085:6;3082:30;3079:50;;;3125:1;3122;3115:12;3079:50;3148:76;3216:7;3207:6;3196:9;3192:22;3148:76;:::i;3488:184::-;3540:77;3537:1;3530:88;3637:4;3634:1;3627:15;3661:4;3658:1;3651:15;3677:253;3749:2;3743:9;3791:4;3779:17;;3826:18;3811:34;;3847:22;;;3808:62;3805:88;;;3873:18;;:::i;:::-;3909:2;3902:22;3677:253;:::o;3935:334::-;4006:2;4000:9;4062:2;4052:13;;4067:66;4048:86;4036:99;;4165:18;4150:34;;4186:22;;;4147:62;4144:88;;;4212:18;;:::i;:::-;4248:2;4241:22;3935:334;;-1:-1:-1;3935:334:51:o;4274:118::-;4360:5;4353:13;4346:21;4339:5;4336:32;4326:60;;4382:1;4379;4372:12;4397:128;4462:20;;4491:28;4462:20;4491:28;:::i;:::-;4397:128;;;:::o;4530:637::-;4586:5;4634:4;4622:9;4617:3;4613:19;4609:30;4606:50;;;4652:1;4649;4642:12;4606:50;4674:22;;:::i;:::-;4665:31;;4733:9;4720:23;4752:56;4800:7;4752:56;:::i;:::-;4817:22;;4891:2;4876:18;;4863:32;4904:56;4863:32;4904:56;:::i;:::-;4987:2;4976:14;;4969:31;5052:2;5037:18;;5024:32;5065:56;5024:32;5065:56;:::i;:::-;5148:2;5137:14;;5130:31;5141:5;4530:637;-1:-1:-1;;4530:637:51:o;5172:185::-;5234:4;5267:18;5259:6;5256:30;5253:56;;;5289:18;;:::i;:::-;-1:-1:-1;5334:1:51;5330:14;5346:4;5326:25;;5172:185::o;5362:156::-;5428:20;;5488:4;5477:16;;5467:27;;5457:55;;5508:1;5505;5498:12;5523:442;5572:5;5620:4;5608:9;5603:3;5599:19;5595:30;5592:50;;;5638:1;5635;5628:12;5592:50;5660:22;;:::i;:::-;5651:31;;5719:9;5706:23;5738:56;5786:7;5738:56;:::i;:::-;5803:22;;5857:36;5889:2;5874:18;;5857:36;:::i;:::-;5852:2;5845:5;5841:14;5834:60;5954:2;5943:9;5939:18;5926:32;5921:2;5914:5;5910:14;5903:56;5523:442;;;;:::o;5970:703::-;6026:5;6079:3;6072:4;6064:6;6060:17;6056:27;6046:55;;6097:1;6094;6087:12;6046:55;6133:6;6120:20;6159:4;6183:62;6199:45;6241:2;6199:45;:::i;:::-;6183:62;:::i;:::-;6279:15;;;6341:4;6384:11;;;6372:24;;6368:33;;;6310:12;;;;6267:3;6413:15;;;6410:35;;;6441:1;6438;6431:12;6410:35;6477:2;6469:6;6465:15;6489:155;6505:6;6500:3;6497:15;6489:155;;;6571:30;6597:3;6592;6571:30;:::i;:::-;6559:43;;6622:12;;;;6522;;6489:155;;;-1:-1:-1;6662:5:51;;5970:703;-1:-1:-1;;;;;;;5970:703:51:o;6678:1071::-;6730:5;6778:4;6766:9;6761:3;6757:19;6753:30;6750:50;;;6796:1;6793;6786:12;6750:50;6829:2;6823:9;6871:4;6863:6;6859:17;6895:18;6963:6;6951:10;6948:22;6943:2;6931:10;6928:18;6925:46;6922:72;;;6974:18;;:::i;:::-;7014:10;7010:2;7003:22;7043:6;7034:15;;7086:9;7073:23;7058:38;;7105:56;7153:7;7105:56;:::i;:::-;7185:7;7177:6;7170:23;7226:35;7257:2;7246:9;7242:18;7226:35;:::i;:::-;7221:2;7213:6;7209:15;7202:60;7295:52;7343:3;7338:2;7327:9;7323:18;7295:52;:::i;:::-;7290:2;7282:6;7278:15;7271:77;7399:4;7388:9;7384:20;7371:34;7357:48;;7428:2;7420:6;7417:14;7414:34;;;7444:1;7441;7434:12;7414:34;7483:59;7538:3;7529:6;7518:9;7514:22;7483:59;:::i;:::-;7476:4;7468:6;7464:17;7457:86;7596:3;7585:9;7581:19;7568:33;7552:49;;7626:2;7616:8;7613:16;7610:36;;;7642:1;7639;7632:12;7610:36;;7681:61;7738:3;7727:8;7716:9;7712:24;7681:61;:::i;:::-;7674:4;7666:6;7662:17;7655:88;;;6678:1071;;;;:::o;7754:589::-;7796:5;7849:3;7842:4;7834:6;7830:17;7826:27;7816:55;;7867:1;7864;7857:12;7816:55;7903:6;7890:20;7929:18;7925:2;7922:26;7919:52;;;7951:18;;:::i;:::-;7995:114;8103:4;8034:66;8027:4;8023:2;8019:13;8015:86;8011:97;7995:114;:::i;:::-;8134:2;8125:7;8118:19;8180:3;8173:4;8168:2;8160:6;8156:15;8152:26;8149:35;8146:55;;;8197:1;8194;8187:12;8146:55;8262:2;8255:4;8247:6;8243:17;8236:4;8227:7;8223:18;8210:55;8310:1;8285:16;;;8303:4;8281:27;8274:38;;;;8289:7;7754:589;-1:-1:-1;;;7754:589:51:o;8348:2577::-;8417:5;8470:3;8463:4;8455:6;8451:17;8447:27;8437:55;;8488:1;8485;8478:12;8437:55;8524:6;8511:20;8550:4;8574:62;8590:45;8632:2;8590:45;:::i;8574:62::-;8670:15;;;8756:1;8752:10;;;;8740:23;;8736:32;;;8701:12;;;;8780:15;;;8777:35;;;8808:1;8805;8798:12;8777:35;8844:2;8836:6;8832:15;8856:2040;8872:6;8867:3;8864:15;8856:2040;;;8958:3;8945:17;8985:18;9035:2;9022:11;9019:19;9016:39;;;9051:1;9048;9041:12;9016:39;9078:24;;;;9209:4;9126:12;;;9140:66;9122:85;9118:96;9115:186;;;9255:1;9284:2;9280;9273:14;9115:186;9327:22;;:::i;:::-;9398:2;9394;9390:11;9377:25;9415:56;9463:7;9415:56;:::i;:::-;9484:22;;9529:2;9573:11;;;9560:25;9601:16;;;9598:106;;;9658:1;9687:2;9683;9676:14;9598:106;9727:17;;9779:2;9771:11;;9767:21;-1:-1:-1;9757:119:51;;9830:1;9859:2;9855;9848:14;9757:119;9921:2;9917;9913:11;9900:25;9951:63;9967:46;10009:3;9967:46;:::i;9951:63::-;10058:18;;;10157:1;10153:11;;;;10145:20;;10141:29;;;10098:14;;;;10186:17;;;10183:110;;;10245:1;10275:3;10270;10263:16;10183:110;10319:11;;;;10343:174;10361:8;10354:5;10351:19;10343:174;;;10443:19;;10429:34;;10382:14;;;;10489;;;;10343:174;;;10537:14;;;10530:29;-1:-1:-1;;;10609:4:51;10601:13;;10588:27;10631:16;;;10628:109;;;10689:1;10719:3;10714;10707:16;10628:109;10773:49;10818:3;10813:2;10802:8;10798:2;10794:17;10790:26;10773:49;:::i;:::-;10757:14;;;10750:73;;;;-1:-1:-1;10836:18:51;;-1:-1:-1;;10874:12:51;;;;8889;;8856:2040;;;-1:-1:-1;10914:5:51;8348:2577;-1:-1:-1;;;;;;8348:2577:51:o;10930:1276::-;11223:6;11231;11239;11247;11255;11308:3;11296:9;11287:7;11283:23;11279:33;11276:53;;;11325:1;11322;11315:12;11276:53;11365:9;11352:23;11394:18;11435:2;11427:6;11424:14;11421:34;;;11451:1;11448;11441:12;11421:34;11474:56;11522:7;11513:6;11502:9;11498:22;11474:56;:::i;:::-;11464:66;;11583:2;11572:9;11568:18;11555:32;11539:48;;11612:2;11602:8;11599:16;11596:36;;;11628:1;11625;11618:12;11596:36;11651:58;11701:7;11690:8;11679:9;11675:24;11651:58;:::i;:::-;11641:68;;11728:72;11792:7;11787:2;11776:9;11772:18;11728:72;:::i;:::-;11718:82;;11853:3;11842:9;11838:19;11825:33;11809:49;;11883:2;11873:8;11870:16;11867:36;;;11899:1;11896;11889:12;11867:36;11922:78;11992:7;11981:8;11970:9;11966:24;11922:78;:::i;:::-;11912:88;;12053:3;12042:9;12038:19;12025:33;12009:49;;12083:2;12073:8;12070:16;12067:36;;;12099:1;12096;12089:12;12067:36;;12122:78;12192:7;12181:8;12170:9;12166:24;12122:78;:::i;:::-;12112:88;;;10930:1276;;;;;;;;:::o;12211:626::-;12308:6;12316;12369:2;12357:9;12348:7;12344:23;12340:32;12337:52;;;12385:1;12382;12375:12;12337:52;12425:9;12412:23;12454:18;12495:2;12487:6;12484:14;12481:34;;;12511:1;12508;12501:12;12481:34;12549:6;12538:9;12534:22;12524:32;;12594:7;12587:4;12583:2;12579:13;12575:27;12565:55;;12616:1;12613;12606:12;12565:55;12656:2;12643:16;12682:2;12674:6;12671:14;12668:34;;;12698:1;12695;12688:12;12668:34;12751:7;12746:2;12736:6;12733:1;12729:14;12725:2;12721:23;12717:32;12714:45;12711:65;;;12772:1;12769;12762:12;12711:65;12803:2;12795:11;;;;;12825:6;;-1:-1:-1;12211:626:51;;-1:-1:-1;;;;12211:626:51:o;12842:250::-;12927:1;12937:113;12951:6;12948:1;12945:13;12937:113;;;13027:11;;;13021:18;13008:11;;;13001:39;12973:2;12966:10;12937:113;;;-1:-1:-1;;13084:1:51;13066:16;;13059:27;12842:250::o;13097:329::-;13138:3;13176:5;13170:12;13203:6;13198:3;13191:19;13219:76;13288:6;13281:4;13276:3;13272:14;13265:4;13258:5;13254:16;13219:76;:::i;:::-;13340:2;13328:15;13345:66;13324:88;13315:98;;;;13415:4;13311:109;;13097:329;-1:-1:-1;;13097:329:51:o;13431:614::-;13482:3;13520:5;13514:12;13547:6;13542:3;13535:19;13573:4;13614:2;13609:3;13605:12;13639:11;13666;13659:18;;13716:6;13713:1;13709:14;13702:5;13698:26;13686:38;;13758:2;13751:5;13747:14;13779:1;13789:230;13803:6;13800:1;13797:13;13789:230;;;13874:5;13868:4;13864:16;13859:3;13852:29;13902:37;13934:4;13925:6;13919:13;13902:37;:::i;:::-;13997:12;;;;13894:45;-1:-1:-1;13962:15:51;;;;13825:1;13818:9;13789:230;;;-1:-1:-1;14035:4:51;;13431:614;-1:-1:-1;;;;;;;13431:614:51:o;14050:277::-;14247:2;14236:9;14229:21;14210:4;14267:54;14317:2;14306:9;14302:18;14294:6;14267:54;:::i;14332:502::-;14409:6;14417;14425;14478:2;14466:9;14457:7;14453:23;14449:32;14446:52;;;14494:1;14491;14484:12;14446:52;14533:9;14520:23;14552:54;14600:5;14552:54;:::i;:::-;14625:5;-1:-1:-1;14682:2:51;14667:18;;14654:32;14695:56;14654:32;14695:56;:::i;:::-;14332:502;;14770:7;;-1:-1:-1;;;14824:2:51;14809:18;;;;14796:32;;14332:502::o;14839:338::-;14907:6;14915;14968:2;14956:9;14947:7;14943:23;14939:32;14936:52;;;14984:1;14981;14974:12;14936:52;15023:9;15010:23;15042:54;15090:5;15042:54;:::i;:::-;15115:5;15167:2;15152:18;;;;15139:32;;-1:-1:-1;;;14839:338:51:o;15182:386::-;15267:6;15320:2;15308:9;15299:7;15295:23;15291:32;15288:52;;;15336:1;15333;15326:12;15288:52;15376:9;15363:23;15409:18;15401:6;15398:30;15395:50;;;15441:1;15438;15431:12;15395:50;15464:22;;15520:3;15502:16;;;15498:26;15495:46;;;15537:1;15534;15527:12;15830:184;15882:77;15879:1;15872:88;15979:4;15976:1;15969:15;16003:4;16000:1;15993:15;16019:128;16086:9;;;16107:11;;;16104:37;;;16121:18;;:::i;16152:386::-;16257:5;16244:19;16272:56;16320:7;16272:56;:::i;:::-;16362:42;16349:56;16337:69;;16462:4;16451:16;;;16438:30;16422:14;;;16415:54;16525:4;16514:16;;;16501:30;16485:14;;16478:54;16152:386::o;16543:473::-;16844:42;16832:55;;16814:74;;16801:3;16786:19;;16897:69;16962:2;16947:18;;16939:6;16897:69;:::i;:::-;17003:6;16997:3;16986:9;16982:19;16975:35;16543:473;;;;;;:::o;17021:325::-;17109:6;17104:3;17097:19;17161:6;17154:5;17147:4;17142:3;17138:14;17125:43;;17213:1;17206:4;17197:6;17192:3;17188:16;17184:27;17177:38;17079:3;17335:4;17265:66;17260:2;17252:6;17248:15;17244:88;17239:3;17235:98;17231:109;17224:116;;17021:325;;;;:::o;17351:618::-;17591:4;17620:42;17701:2;17693:6;17689:15;17678:9;17671:34;17753:2;17745:6;17741:15;17736:2;17725:9;17721:18;17714:43;;17793:6;17788:2;17777:9;17773:18;17766:34;17836:6;17831:2;17820:9;17816:18;17809:34;17880:3;17874;17863:9;17859:19;17852:32;17901:62;17958:3;17947:9;17943:19;17935:6;17927;17901:62;:::i;17974:184::-;18044:6;18097:2;18085:9;18076:7;18072:23;18068:32;18065:52;;;18113:1;18110;18103:12;18065:52;-1:-1:-1;18136:16:51;;17974:184;-1:-1:-1;17974:184:51:o;18765:392::-;18867:4;18925:11;18912:25;19015:66;19004:8;18988:14;18984:29;18980:102;18960:18;18956:127;18946:155;;19097:1;19094;19087:12;18946:155;19118:33;;;;;18765:392;-1:-1:-1;;18765:392:51:o;19468:615::-;19572:4;19578:6;19638:11;19625:25;19728:66;19717:8;19701:14;19697:29;19693:102;19673:18;19669:127;19659:155;;19810:1;19807;19800:12;19659:155;19837:33;;19889:20;;;-1:-1:-1;19932:18:51;19921:30;;19918:50;;;19964:1;19961;19954:12;19918:50;19997:4;19985:17;;-1:-1:-1;20048:1:51;20044:14;;;20028;20024:35;20014:46;;20011:66;;;20073:1;20070;20063:12;20697:358;20797:6;20792:3;20785:19;20767:3;20827:66;20819:6;20816:78;20813:98;;;20907:1;20904;20897:12;20813:98;20943:6;20940:1;20936:14;20995:8;20988:5;20981:4;20976:3;20972:14;20959:45;21024:18;;;;21044:4;21020:29;;20697:358;-1:-1:-1;;;20697:358:51:o;21060:435::-;21113:3;21151:5;21145:12;21178:6;21173:3;21166:19;21204:4;21233:2;21228:3;21224:12;21217:19;;21270:2;21263:5;21259:14;21291:1;21301:169;21315:6;21312:1;21309:13;21301:169;;;21376:13;;21364:26;;21410:12;;;;21445:15;;;;21337:1;21330:9;21301:169;;;-1:-1:-1;21486:3:51;;21060:435;-1:-1:-1;;;;;21060:435:51:o;21500:1760::-;21886:2;21898:21;;;21871:18;;21954:22;;;-1:-1:-1;22007:3:51;22057:1;22053:14;;;22038:30;;22034:40;;;21992:19;;22097:6;-1:-1:-1;22131:858:51;22145:6;22142:1;22139:13;22131:858;;;22234:66;22222:9;22214:6;22210:22;22206:95;22201:3;22194:108;22354:6;22341:20;22441:66;22432:6;22416:14;22412:27;22408:100;22388:18;22384:125;22374:153;;22523:1;22520;22513:12;22374:153;22553:31;;22653:4;22685:14;;;;22611:19;;22726:18;22715:30;;22712:50;;;22758:1;22755;22748:12;22712:50;22811:6;22795:14;22791:27;22782:7;22778:41;22775:61;;;22832:1;22829;22822:12;22775:61;22859:50;22902:6;22894;22885:7;22859:50;:::i;:::-;22849:60;-1:-1:-1;22967:12:51;;;;22932:15;;;;;-1:-1:-1;;22167:1:51;22160:9;22131:858;;;22135:3;;;23039:9;23031:6;23027:22;23020:4;23009:9;23005:20;22998:52;23073:61;23127:6;23119;23111;23073:61;:::i;:::-;23059:75;;23182:9;23174:6;23170:22;23165:2;23154:9;23150:18;23143:50;23210:44;23247:6;23239;23210:44;:::i;23265:641::-;23406:6;23414;23422;23475:2;23463:9;23454:7;23450:23;23446:32;23443:52;;;23491:1;23488;23481:12;23443:52;23523:9;23517:16;23542:54;23590:5;23542:54;:::i;:::-;23665:2;23650:18;;23644:25;23615:5;;-1:-1:-1;23678:56:51;23644:25;23678:56;:::i;:::-;23805:2;23790:18;;23784:25;23753:7;;-1:-1:-1;23818:56:51;23784:25;23818:56;:::i;:::-;23893:7;23883:17;;;23265:641;;;;;:::o;23911:184::-;23963:77;23960:1;23953:88;24060:4;24057:1;24050:15;24084:4;24081:1;24074:15;24100:580;24177:4;24183:6;24243:11;24230:25;24333:66;24322:8;24306:14;24302:29;24298:102;24278:18;24274:127;24264:155;;24415:1;24412;24405:12;24264:155;24442:33;;24494:20;;;-1:-1:-1;24537:18:51;24526:30;;24523:50;;;24569:1;24566;24559:12;24523:50;24602:4;24590:17;;-1:-1:-1;24633:14:51;24629:27;;;24619:38;;24616:58;;;24670:1;24667;24660:12;24685:630;24801:4;24807:6;24867:11;24854:25;24957:66;24946:8;24930:14;24926:29;24922:102;24902:18;24898:127;24888:155;;25039:1;25036;25029:12;24888:155;25066:33;;25118:20;;;-1:-1:-1;25161:18:51;25150:30;;25147:50;;;25193:1;25190;25183:12;25147:50;25226:4;25214:17;;-1:-1:-1;25285:4:51;25273:17;;25257:14;25253:38;25243:49;;25240:69;;;25305:1;25302;25295:12;25320:218;25400:6;25453:2;25441:9;25432:7;25428:23;25424:32;25421:52;;;25469:1;25466;25459:12;25421:52;25492:40;25524:7;25513:9;25492:40;:::i;25543:664::-;25598:3;25636:5;25630:12;25663:6;25658:3;25651:19;25689:4;25718:2;25713:3;25709:12;25702:19;;25755:2;25748:5;25744:14;25776:1;25786:396;25800:6;25797:1;25794:13;25786:396;;;25859:13;;25901:9;;25912:42;25897:58;25885:71;;26000:11;;;25994:18;26014:4;25990:29;25976:12;;;25969:51;26043:4;26087:11;;;26081:18;26067:12;;;26060:40;26129:4;26120:14;;;;26157:15;;;;25822:1;25815:9;25786:396;;26212:833;26260:3;26288:42;26369:2;26361:5;26355:12;26351:21;26346:3;26339:34;26436:4;26429:5;26425:16;26419:23;26412:31;26405:39;26398:4;26393:3;26389:14;26382:63;26491:4;26484:5;26480:16;26474:23;26554:2;26539:12;26533:19;26529:28;26522:4;26517:3;26513:14;26506:52;26624:2;26616:4;26602:12;26598:23;26592:30;26588:39;26583:2;26578:3;26574:12;26567:61;26695:2;26687:4;26673:12;26669:23;26663:30;26659:39;26653:3;26648;26644:13;26637:62;;;26747:2;26740:5;26736:14;26730:21;26783:4;26776;26771:3;26767:14;26760:28;26809:62;26865:4;26860:3;26856:14;26840;26809:62;:::i;:::-;26797:74;;26919:3;26912:5;26908:15;26902:22;26966:3;26960:4;26956:14;26949:4;26944:3;26940:14;26933:38;26987:52;27034:4;27018:14;26987:52;:::i;27050:579::-;27305:4;27334:42;27415:2;27407:6;27403:15;27392:9;27385:34;27467:2;27459:6;27455:15;27450:2;27439:9;27435:18;27428:43;;27507:3;27502:2;27491:9;27487:18;27480:31;27528:52;27575:3;27564:9;27560:19;27552:6;27528:52;:::i;:::-;27520:60;;27616:6;27611:2;27600:9;27596:18;27589:34;27050:579;;;;;;;:::o;27634:435::-;27859:42;27851:6;27847:55;27836:9;27829:74;27939:6;27934:2;27923:9;27919:18;27912:34;27982:2;27977;27966:9;27962:18;27955:30;27810:4;28002:61;28059:2;28048:9;28044:18;28036:6;28028;28002:61;:::i;28719:392::-;28821:4;28879:11;28866:25;28969:66;28958:8;28942:14;28938:29;28934:102;28914:18;28910:127;28900:155;;29051:1;29048;29041:12;29116:966;29236:9;29295:4;29287:5;29271:14;29267:26;29263:37;29260:57;;;29313:1;29310;29303:12;29260:57;29346:2;29340:9;29388:4;29380:6;29376:17;29412:18;29480:6;29468:10;29465:22;29460:2;29448:10;29445:18;29442:46;29439:72;;;29491:18;;:::i;:::-;29531:10;29527:2;29520:22;29578:5;29565:19;29551:33;;29607:2;29599:6;29596:14;29593:34;;;29623:1;29620;29613:12;29593:34;29651:59;29695:14;29686:6;29679:5;29675:18;29651:59;:::i;:::-;29643:6;29636:75;29768:2;29761:5;29757:14;29744:28;29739:2;29731:6;29727:15;29720:53;29830:2;29823:5;29819:14;29806:28;29801:2;29793:6;29789:15;29782:53;29884:2;29877:5;29873:14;29860:28;29844:44;;29913:2;29903:8;29900:16;29897:36;;;29929:1;29926;29919:12;29897:36;;29966:81;30032:14;30021:8;30014:5;30010:20;29966:81;:::i;:::-;29961:2;29949:15;;29942:106;-1:-1:-1;29953:6:51;29116:966;-1:-1:-1;;29116:966:51:o;30822:125::-;30887:9;;;30908:10;;;30905:36;;;30921:18;;:::i;30952:2000::-;31196:4;31225:42;31306:2;31298:6;31294:15;31283:9;31276:34;31329:2;31367:3;31362:2;31351:9;31347:18;31340:31;31406:6;31400:13;31450:3;31444;31433:9;31429:19;31422:32;31477:58;31530:3;31519:9;31515:19;31501:12;31477:58;:::i;:::-;31463:72;;31590:2;31582:6;31578:15;31572:22;31566:3;31555:9;31551:19;31544:51;31614:4;31673:2;31665:6;31661:15;31655:22;31649:3;31638:9;31634:19;31627:51;31697:4;31750:2;31742:6;31738:15;31732:22;31819:66;31807:9;31799:6;31795:22;31791:95;31785:3;31774:9;31770:19;31763:124;31907:6;31942:14;31936:21;31981:6;31973;31966:22;32016:2;32008:6;32004:15;31997:22;;32075:2;32065:6;32062:1;32058:14;32050:6;32046:27;32042:36;32121:2;32105:14;32101:23;32087:37;;32142:1;32152:685;32166:6;32163:1;32160:13;32152:685;;;32252:66;32243:6;32235;32231:19;32227:92;32222:3;32215:105;32349:6;32343:13;32399:2;32394;32388:9;32384:18;32376:6;32369:34;32452:2;32448;32444:11;32438:18;32493:2;32488;32480:6;32476:15;32469:27;32523:61;32580:2;32572:6;32568:15;32552:14;32523:61;:::i;:::-;32625:11;;;32619:18;32674:19;;;32657:15;;;32650:44;32619:18;32509:75;-1:-1:-1;32717:40:51;32509:75;32619:18;32717:40;:::i;:::-;32780:15;;;;32815:12;;;;32707:50;-1:-1:-1;;;32188:1:51;32181:9;32152:685;;;-1:-1:-1;32876:18:51;;;32869:34;;;;-1:-1:-1;;32919:18:51;;;32912:34;;;;-1:-1:-1;32854:6:51;;30952:2000;-1:-1:-1;;;;;;30952:2000:51:o;32957:1077::-;33291:4;33320:3;33362:42;33354:6;33350:55;33339:9;33332:74;33442:2;33437;33426:9;33422:18;33415:30;33468:51;33515:2;33504:9;33500:18;33492:6;33468:51;:::i;:::-;33454:65;;33567:9;33559:6;33555:22;33550:2;33539:9;33535:18;33528:50;33595:39;33627:6;33619;33595:39;:::i;:::-;33587:47;;;33683:6;33670:20;33665:2;33654:9;33650:18;33643:48;33753:2;33745:6;33741:15;33728:29;33722:3;33711:9;33707:19;33700:58;33820:2;33812:6;33808:15;33795:29;33789:3;33778:9;33774:19;33767:58;33887:2;33879:6;33875:15;33862:29;33856:3;33845:9;33841:19;33834:58;33954:3;33946:6;33942:16;33929:30;33923:3;33912:9;33908:19;33901:59;34022:3;34014:6;34010:16;33997:30;33991:3;33980:9;33976:19;33969:59;32957:1077;;;;;;;:::o;34597:195::-;34636:3;34667:66;34660:5;34657:77;34654:103;;34737:18;;:::i;:::-;-1:-1:-1;34784:1:51;34773:13;;34597:195::o;34797:189::-;34897:9;34934:46;34965:14;34958:5;34934:46;:::i;34991:593::-;35072:5;35079:6;35139:3;35126:17;35221:66;35210:8;35194:14;35190:29;35186:102;35166:18;35162:127;35152:155;;35303:1;35300;35293:12;35152:155;35331:33;;35435:4;35422:18;;;-1:-1:-1;35383:21:51;;-1:-1:-1;35463:18:51;35452:30;;35449:50;;;35495:1;35492;35485:12;35449:50;35554:4;35546:6;35542:17;35526:14;35522:38;35515:5;35511:50;35508:70;;;35574:1;35571;35564:12;35589:776;35700:6;35695:3;35688:19;35670:3;35726:4;35755:2;35750:3;35746:12;35739:19;;35781:5;35804:1;35814:526;35828:6;35825:1;35822:13;35814:526;;;35905:6;35892:20;35925:56;35973:7;35925:56;:::i;:::-;36019:42;36006:56;35994:69;;36136:4;36101:33;36118:15;;;36101:33;:::i;:::-;36097:44;36083:12;;;36076:66;36165:4;36216:15;;;36203:29;36189:12;;;36182:51;36256:4;36280:12;;;;36315:15;;;;35850:1;35843:9;35814:526;;36370:1879;36568:4;36597:42;36678:2;36670:6;36666:15;36655:9;36648:34;36718:2;36713;36702:9;36698:18;36691:30;36756:6;36743:20;36772:54;36820:5;36772:54;:::i;:::-;36862:14;;36857:2;36842:18;;36835:42;36926:2;36914:15;;36901:29;36939:30;36901:29;36939:30;:::i;:::-;37013:15;37006:23;37000:3;36985:19;;36978:52;37079:4;37067:17;;37054:31;37094:56;37054:31;37094:56;:::i;:::-;37187:16;;37181:3;37166:19;;37159:45;37253:2;37241:15;;37228:29;37266:56;37228:29;37266:56;:::i;:::-;37359:16;;37353:3;37338:19;;37331:45;37425:3;37413:16;;37400:30;37439:56;37400:30;37439:56;:::i;:::-;37533:16;37526:4;37511:20;;37504:46;37593:79;37667:3;37655:16;;37659:6;37593:79;:::i;:::-;37709:4;37703:3;37692:9;37688:19;37681:33;37737:97;37829:3;37818:9;37814:19;37800:12;37786;37737:97;:::i;:::-;37723:111;;;37881:79;37955:3;37947:6;37943:16;37935:6;37881:79;:::i;:::-;38025:66;38013:9;38005:6;38001:22;37997:95;37991:3;37980:9;37976:19;37969:124;38110:88;38191:6;38175:14;38159;38110:88;:::i;:::-;38102:96;;;;;38236:6;38229:4;38218:9;38214:20;38207:36;36370:1879;;;;;;:::o;38254:399::-;38525:42;38513:55;;38495:74;;38482:3;38467:19;;38578:69;38643:2;38628:18;;38620:6;38578:69;:::i;38911:685::-;39264:2;39253:9;39246:21;39227:4;39290:54;39340:2;39329:9;39325:18;39317:6;39290:54;:::i;:::-;39392:9;39384:6;39380:22;39375:2;39364:9;39360:18;39353:50;39426:44;39463:6;39455;39426:44;:::i;:::-;39412:58;;39518:9;39510:6;39506:22;39501:2;39490:9;39486:18;39479:50;39546:44;39583:6;39575;39546:44;:::i;40263:254::-;40440:2;40429:9;40422:21;40403:4;40460:51;40507:2;40496:9;40492:18;40484:6;40460:51;:::i;40522:217::-;40669:2;40658:9;40651:21;40632:4;40689:44;40729:2;40718:9;40714:18;40706:6;40689:44;:::i;40744:638::-;40807:3;40845:5;40839:12;40872:6;40867:3;40860:19;40898:4;40939:2;40934:3;40930:12;40964:11;40991;40984:18;;41041:6;41038:1;41034:14;41027:5;41023:26;41011:38;;41083:2;41076:5;41072:14;41104:1;41114:242;41128:6;41125:1;41122:13;41114:242;;;41199:5;41193:4;41189:16;41184:3;41177:29;41227:49;41271:4;41262:6;41256:13;41227:49;:::i;:::-;41334:12;;;;41219:57;-1:-1:-1;41299:15:51;;;;41150:1;41143:9;41114:242;;41387:687;41814:42;41806:6;41802:55;41791:9;41784:74;41894:6;41889:2;41878:9;41874:18;41867:34;41937:6;41932:2;41921:9;41917:18;41910:34;41980:3;41975:2;41964:9;41960:18;41953:31;41765:4;42001:67;42063:3;42052:9;42048:19;42040:6;42001:67;:::i;42079:661::-;42144:5;42197:3;42190:4;42182:6;42178:17;42174:27;42164:55;;42215:1;42212;42205:12;42164:55;42244:6;42238:13;42270:4;42294:62;42310:45;42352:2;42310:45;:::i;42294:62::-;42390:15;;;42476:1;42472:10;;;;42460:23;;42456:32;;;42421:12;;;;42500:15;;;42497:35;;;42528:1;42525;42518:12;42497:35;42564:2;42556:6;42552:15;42576:135;42592:6;42587:3;42584:15;42576:135;;;42658:10;;42646:23;;42689:12;;;;42609;;42576:135;;42745:614;42874:6;42882;42935:2;42923:9;42914:7;42910:23;42906:32;42903:52;;;42951:1;42948;42941:12;42903:52;42984:9;42978:16;43013:18;43054:2;43046:6;43043:14;43040:34;;;43070:1;43067;43060:12;43040:34;43093:72;43157:7;43148:6;43137:9;43133:22;43093:72;:::i;:::-;43083:82;;43211:2;43200:9;43196:18;43190:25;43174:41;;43240:2;43230:8;43227:16;43224:36;;;43256:1;43253;43246:12;43224:36;;43279:74;43345:7;43334:8;43323:9;43319:24;43279:74;:::i;:::-;43269:84;;;42745:614;;;;;:::o;43364:441::-;43633:42;43625:6;43621:55;43610:9;43603:74;43713:2;43708;43697:9;43693:18;43686:30;43584:4;43733:66;43795:2;43784:9;43780:18;43772:6;43733:66;:::i;43810:368::-;44053:6;44042:9;44035:25;44096:2;44091;44080:9;44076:18;44069:30;44016:4;44116:56;44168:2;44157:9;44153:18;44145:6;44116:56;:::i;44183:245::-;44250:6;44303:2;44291:9;44282:7;44278:23;44274:32;44271:52;;;44319:1;44316;44309:12;44271:52;44351:9;44345:16;44370:28;44392:5;44370:28;:::i;44844:184::-;44896:77;44893:1;44886:88;44993:4;44990:1;44983:15;45017:4;45014:1;45007:15;45033:184;45085:77;45082:1;45075:88;45182:4;45179:1;45172:15;45206:4;45203:1;45196:15;45222:287;45351:3;45389:6;45383:13;45405:66;45464:6;45459:3;45452:4;45444:6;45440:17;45405:66;:::i;45899:288::-;46074:6;46063:9;46056:25;46117:2;46112;46101:9;46097:18;46090:30;46037:4;46137:44;46177:2;46166:9;46162:18;46154:6;46137:44;:::i;46192:168::-;46265:9;;;46296;;46313:15;;;46307:22;;46293:37;46283:71;;46334:18;;:::i;46365:482::-;46454:1;46497:5;46454:1;46511:330;46532:7;46522:8;46519:21;46511:330;;;46651:4;46583:66;46579:77;46573:4;46570:87;46567:113;;;46660:18;;:::i;:::-;46710:7;46700:8;46696:22;46693:55;;;46730:16;;;;46693:55;46809:22;;;;46769:15;;;;46511:330;;;46515:3;46365:482;;;;;:::o;46852:866::-;46901:5;46931:8;46921:80;;-1:-1:-1;46972:1:51;46986:5;;46921:80;47020:4;47010:76;;-1:-1:-1;47057:1:51;47071:5;;47010:76;47102:4;47120:1;47115:59;;;;47188:1;47183:130;;;;47095:218;;47115:59;47145:1;47136:10;;47159:5;;;47183:130;47220:3;47210:8;47207:17;47204:43;;;47227:18;;:::i;:::-;-1:-1:-1;;47283:1:51;47269:16;;47298:5;;47095:218;;47397:2;47387:8;47384:16;47378:3;47372:4;47369:13;47365:36;47359:2;47349:8;47346:16;47341:2;47335:4;47332:12;47328:35;47325:77;47322:159;;;-1:-1:-1;47434:19:51;;;47466:5;;47322:159;47513:34;47538:8;47532:4;47513:34;:::i;:::-;47643:6;47575:66;47571:79;47562:7;47559:92;47556:118;;;47654:18;;:::i;:::-;47692:20;;46852:866;-1:-1:-1;;;46852:866:51:o;47723:131::-;47783:5;47812:36;47839:8;47833:4;47812:36;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))": "70276678", - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", - "deposit((address,uint256,uint256))": "e6b62636", - "flashFee(address,uint256)": "d9d98ce4", - "flashLoan(address,address,uint256,bytes)": "5cffe9de", - "maxFlashLoan(address)": "613255ab", - "multicall(bytes[])": "ac9650d8", - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", - "takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))": "7a8048df", - "vaultBalance(address,address,uint256)": "d97b2e48", - "withdraw((address,uint256,uint256))": "4f266187" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV1ConstructionConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV1\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct DepositConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderHash\",\"type\":\"uint256\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct WithdrawConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV1\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"sources\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfig\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext_\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext_\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct DepositConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order_\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"output\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"input\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrdersConfig\",\"name\":\"takeOrders_\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalInput_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalOutput_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct WithdrawConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,(address,uint256,uint256))\":{\"params\":{\"config\":\"All config sent to the `deposit` call.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,uint256)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,uint256)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,uint256)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,(address,uint256,uint256),uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the config amount if the vault does not have the funds available to cover the config amount. For example an active order might move tokens before the withdraw completes.\",\"config\":\"All config sent to the `withdraw` call.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit((address,uint256,uint256))\":{\"params\":{\"config\":\"All config for the deposit.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"}},\"takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalInput_\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalOutput_\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"withdraw((address,uint256,uint256))\":{\"params\":{\"config\":\"All config required to withdraw. Notably if the amount is less than the current vault balance then the vault will be cleared to 0 rather than the withdraw transaction reverting.\"}}},\"stateVariables\":{\"vaultBalance\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"return\":\"The current balance of the vault.\",\"returns\":{\"_0\":\"The current balance of the vault.\"}}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,(address,uint256,uint256))\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,uint256)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,uint256)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,uint256)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,(address,uint256,uint256),uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit((address,uint256,uint256))\":{\"notice\":\"`msg.sender` deposits tokens according to config. The config specifies the vault to deposit tokens under. Delegated depositing is NOT supported. Depositing DOES NOT mint shares (unlike ERC4626) so the overall vaulted experience is much simpler as there is always a 1:1 relationship between deposited assets and vault balances globally and individually. This mitigates rounding/dust issues, speculative behaviour on derived assets, possible regulatory issues re: whether a vault share is a security, code bloat on the vault, complex mint/deposit/withdraw/redeem 4-way logic, the need for preview functions, etc. etc. At the same time, allowing vault IDs to be specified by the depositor allows much more granular and direct control over token movements within Orderbook than either ERC4626 vault shares or mere contract-level ERC20 allowances can facilitate.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw((address,uint256,uint256))\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":100000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/rain.interpreter/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/rain.interpreter/lib/openzeppelin-contracts/contracts/\",\":rain.interface.interpreter/=lib/rain.interface.interpreter/src/\",\":rain.interface.orderbook/=lib/rain.interface.orderbook/src/\",\":rain.interpreter/=lib/rain.interpreter/src/\",\":rain.lib.hash/=lib/rain.interface.interpreter/lib/rain.lib.hash/src/\",\":rain.lib.interpreter/=lib/rain.lib.interpreter/src/\",\":rain.lib.memkv/=lib/rain.lib.interpreter/lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.interpreter/lib/rain.metadata/src/\",\":sol.lib.datacontract/=lib/sol.lib.datacontract/src/\",\":sol.lib.memory/=lib/rain.lib.interpreter/lib/sol.lib.memory/src/\",\":sol.metadata/=lib/sol.metadata/src/\"]},\"sources\":{\"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\":\"0x190dd6f8d592b7e4e930feb7f4313aeb8e1c4ad3154c27ce1cf6a512fc30d8cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ce8dfb62d0c4fa260d6eec8f1cd47f5f2a044e11bde5b31d18072fa6e7d9010\",\"dweb:/ipfs/QmTyFztU3tLEcEDnqqiaW4UJetqsU77LXc6pjc9oTXCK5u\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0x35e30a35e23f856cbcee3558b7efdd83f6017a8f1b419710645143d98e892463\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dae8b319a276abec4bb2f134251597daddbacd03779c707105a348e53cfd72a\",\"dweb:/ipfs/QmXPnLLsoWDKSa4NocGr6HonQhHnfxy72gYLgV8oitH1WQ\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbc8d1f66b26e211a1f6f40a17453e9d5020ec96749014379205cff100809884c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9c056a3068bb6fe41b28239bd71acd3a5249d23ed089c874182a4e3d7e47df1\",\"dweb:/ipfs/QmdFFG7dxiZ5jBaaYDXPMiKVG9rNoMhvR7cBt5997E2pat\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"lib/rain.interface.interpreter/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.interpreter/lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.interpreter/lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV1.sol\":{\"keccak256\":\"0xa77654c83162f29850efc8e40e108fd800b800348c4007bd078a6ec1c9df626a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7393afc0fb0109d788e7c17f33d654372338eb1a94526b12f8436ea2cc56c5d4\",\"dweb:/ipfs/QmWbbD9S42BGeBhXH98HgPXfsDkFUsND3Ma6ecCzspk3j9\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0xe93e1663f30d95cef4df5e19a371282cef6739b1cda72868439a2c39403732dc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://de3d740e4174bd1b080b0d67e7c694a665aeec6028c13257506abe2bceb8fa60\",\"dweb:/ipfs/QmYS1KFuu5XfZLikK8oa8Tn8wypNBrxAMz5y7MDUW5MZYb\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/LibContext.sol\":{\"keccak256\":\"0x4e8bc140250ffe9747dad4c61959b00b1db29d26b92cce0e384e2f7a5282a3f0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://237788dcd51fd0fe4ab4bcc957298f583d3fc91c13a989e1bfbb4ec42f32c994\",\"dweb:/ipfs/QmWpmKbLKJdoKXdkt1Y7dayHT2iRNmSF2fiMtMoHMtmaxn\"]},\"lib/rain.interpreter/src/lib/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0xa4585885c30fd796b5ae877469f0b2db8e72f08b33f9c534e1a6b0fe7e12d80c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://599d54e48716b692a8214cf671f62eb035fffaaeecfca0173640f451271efc0f\",\"dweb:/ipfs/QmScYbE8hHgiFFmtqZeqU3faxuPtMBhE3YdDZPihwGqGAL\"]},\"lib/rain.interpreter/src/lib/LibEncodedDispatch.sol\":{\"keccak256\":\"0xfb12f41d1a287db207c1893237ab2f68ca5a80e4dea988c9b1595fa7490b3565\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f800664e82a45c56b295a6262143d249bf184919398944254e40ce49235b8da\",\"dweb:/ipfs/QmcFr5JZrRv8mBJgHaXvd3dLUj8kG78HkQjifPnMBv1DyF\"]},\"lib/rain.interpreter/src/lib/LibEvaluable.sol\":{\"keccak256\":\"0xcb179258811491a7556173a5ac5b835034a24b1f5cf7eece98e1583a0045af3c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://14758e64af1d24094ab82cba8bb2b5f4e0bb794ac9ca127ac6117584ea4dbff6\",\"dweb:/ipfs/QmQcJa2xbJhzVuNiJ5an3XY7YSFQ77gim9dmqHSRnPM8sg\"]},\"lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec\",\"dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy\"]},\"lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol\":{\"keccak256\":\"0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36\",\"dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR\"]},\"src/abstract/OrderBookFlashLender.sol\":{\"keccak256\":\"0x81315016eec8557153b8e9a0cf7e11d9af9656c93cf8842b9286ed58fbb8e67f\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://77c97d2736f807e57b503cdb6dcd658ac0421381983cf348594dbb4fc0e4d8f3\",\"dweb:/ipfs/QmR9YHknMUUAoH2Jz1r3D9SnU2AdjPoDaBbbeUj1o8R5Nf\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0xce7524b3e705cd00f53ad332a4a80c37e9b5b4980cc195e141d5813e3db04117\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c7f71730a12553e42bbd5258d7adb86f82ad0a6f5fcb420e40e072599115195d\",\"dweb:/ipfs/QmVM5FxNacvApgL5hdDYQaee8EnpuLrwhEYs53TYFjenQ4\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0x0e5ae5d299854a119010703b3aba61412b2f2daa98846821b994de55cacb7feb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a49787b9c848304bf06337e9538d700110d9800caa347ab176d3ea514ad45caf\",\"dweb:/ipfs/QmdeMDJCiRaFB2877R4Zd8NhJEBZd36Z1sgrXLVJ1HVGEc\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0x673854a52bc87607a4e546f3e17d83536275a48f745863c7bf70c1607d629d50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://07d62f5376c6a97852aab3572d96c634783442008d00ce669e94e24f29b1957c\",\"dweb:/ipfs/QmRjD6mAjUuS6RxaNfFCs3eJfDwfcK1FwsNXvsMev37mj6\"]},\"src/lib/LibOrderBook.sol\":{\"keccak256\":\"0xa0dc092bf0193f9a65557889a6571f29b48c680a9e3774304ab5687eae3c77b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bcd5f8dcc94b6faab819213b34566bd5462895036d08d2ef8df5852f735a3b42\",\"dweb:/ipfs/QmcXHN9Bp27g4mmJnB7NNjTGfiSWLzNVRbfQeuo6Yxf7mi\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.18+commit.87f61d96" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct DeployerDiscoverableMetaV1ConstructionConfig", - "name": "config_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "type": "error", - "name": "ActiveDebt" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "type": "error", - "name": "FlashLenderCallbackFailed" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "type": "error", - "name": "InvalidSignature" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "type": "error", - "name": "MinimumInput" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "NotOrderOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "type": "error", - "name": "NotRainMetaV1" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "SameOwner" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "type": "error", - "name": "TokenMismatch" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedMetaHash" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroReceiver" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroToken" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "contract IExpressionDeployerV1", - "name": "expressionDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "orderHash", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AddOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "AfterClear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "Clear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]", - "indexed": false - } - ], - "type": "event", - "name": "Context", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct DepositConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "subject", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "MetaV1", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "orderHash", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "OrderExceedsMaxRatio", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "orderHash", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "OrderNotFound", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "orderHash", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "OrderZeroAmount", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "orderHash", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RemoveOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "output", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TakeOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct WithdrawConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdraw", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "struct OrderConfig", - "name": "config_", - "type": "tuple", - "components": [ - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct EvaluableConfig", - "name": "evaluableConfig", - "type": "tuple", - "components": [ - { - "internalType": "contract IExpressionDeployerV1", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes[]", - "name": "sources", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ] - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addOrder" - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "alice_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct Order", - "name": "bob_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig_", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "clear" - }, - { - "inputs": [ - { - "internalType": "struct DepositConfig", - "name": "config_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver_", - "type": "address" - }, - { - "internalType": "address", - "name": "token_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "order_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeOrder" - }, - { - "inputs": [ - { - "internalType": "struct TakeOrdersConfig", - "name": "takeOrders_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "output", - "type": "address" - }, - { - "internalType": "address", - "name": "input", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ] - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalInput_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalOutput_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct WithdrawConfig", - "name": "config_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))": { - "params": { - "config": "All config required to build an `Order`." - } - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "params": { - "alice": "Some order to clear.", - "aliceSignedContext": "Optional signed context that is relevant to A.", - "bob": "Another order to clear.", - "bobSignedContext": "Optional signed context that is relevant to B.", - "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." - } - }, - "deposit((address,uint256,uint256))": { - "params": { - "config": "All config for the deposit." - } - }, - "flashFee(address,uint256)": { - "details": "The fee to be charged for a given loan.", - "params": { - "amount": "The amount of tokens lent.", - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." - } - }, - "flashLoan(address,address,uint256,bytes)": { - "details": "Initiate a flash loan.", - "params": { - "amount": "The amount of tokens lent.", - "data": "Arbitrary data structure, intended to contain user-defined parameters.", - "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", - "token": "The loan currency." - } - }, - "maxFlashLoan(address)": { - "details": "The amount of currency available to be lent.", - "params": { - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` that can be borrowed." - } - }, - "multicall(bytes[])": { - "details": "Receives and executes a batch of function calls on this contract." - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "params": { - "order": "The `Order` data exactly as it was added." - } - }, - "takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))": { - "params": { - "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." - }, - "returns": { - "totalInput_": "Total tokens sent to `msg.sender`, taken from order vaults processed.", - "totalOutput_": "Total tokens taken from `msg.sender` and distributed between vaults." - } - }, - "withdraw((address,uint256,uint256))": { - "params": { - "config": "All config required to withdraw. Notably if the amount is less than the current vault balance then the vault will be cleared to 0 rather than the withdraw transaction reverting." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes[],uint256[]),bytes))": { - "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own." - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" - }, - "constructor": { - "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." - }, - "deposit((address,uint256,uint256))": { - "notice": "`msg.sender` deposits tokens according to config. The config specifies the vault to deposit tokens under. Delegated depositing is NOT supported. Depositing DOES NOT mint shares (unlike ERC4626) so the overall vaulted experience is much simpler as there is always a 1:1 relationship between deposited assets and vault balances globally and individually. This mitigates rounding/dust issues, speculative behaviour on derived assets, possible regulatory issues re: whether a vault share is a security, code bloat on the vault, complex mint/deposit/withdraw/redeem 4-way logic, the need for preview functions, etc. etc. At the same time, allowing vault IDs to be specified by the depositor allows much more granular and direct control over token movements within Orderbook than either ERC4626 vault shares or mere contract-level ERC20 allowances can facilitate." - }, - "maxFlashLoan(address)": { - "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." - }, - "takeOrders((address,address,uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[]))": { - "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." - }, - "vaultBalance(address,address,uint256)": { - "notice": "Get the current balance of a vault for a given owner, token and vault ID." - }, - "withdraw((address,uint256,uint256))": { - "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":erc4626-tests/=lib/rain.interpreter/lib/openzeppelin-contracts/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/", - ":openzeppelin/=lib/rain.interpreter/lib/openzeppelin-contracts/contracts/", - ":rain.interface.interpreter/=lib/rain.interface.interpreter/src/", - ":rain.interface.orderbook/=lib/rain.interface.orderbook/src/", - ":rain.interpreter/=lib/rain.interpreter/src/", - ":rain.lib.hash/=lib/rain.interface.interpreter/lib/rain.lib.hash/src/", - ":rain.lib.interpreter/=lib/rain.lib.interpreter/src/", - ":rain.lib.memkv/=lib/rain.lib.interpreter/lib/rain.lib.memkv/src/", - ":rain.lib.typecast/=lib/rain.lib.typecast/src/", - ":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - ":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - ":rain.metadata/=lib/rain.interpreter/lib/rain.metadata/src/", - ":sol.lib.datacontract/=lib/sol.lib.datacontract/src/", - ":sol.lib.memory/=lib/rain.lib.interpreter/lib/sol.lib.memory/src/", - ":sol.metadata/=lib/sol.metadata/src/" - ], - "optimizer": { - "enabled": true, - "runs": 100000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "src/concrete/OrderBook.sol": "OrderBook" - }, - "libraries": {} - }, - "sources": { - "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": "0x190dd6f8d592b7e4e930feb7f4313aeb8e1c4ad3154c27ce1cf6a512fc30d8cc", - "urls": [ - "bzz-raw://4ce8dfb62d0c4fa260d6eec8f1cd47f5f2a044e11bde5b31d18072fa6e7d9010", - "dweb:/ipfs/QmTyFztU3tLEcEDnqqiaW4UJetqsU77LXc6pjc9oTXCK5u" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b", - "urls": [ - "bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34", - "dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { - "keccak256": "0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329", - "urls": [ - "bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95", - "dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238", - "urls": [ - "bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6", - "dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1", - "urls": [ - "bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269", - "dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { - "keccak256": "0x35e30a35e23f856cbcee3558b7efdd83f6017a8f1b419710645143d98e892463", - "urls": [ - "bzz-raw://7dae8b319a276abec4bb2f134251597daddbacd03779c707105a348e53cfd72a", - "dweb:/ipfs/QmXPnLLsoWDKSa4NocGr6HonQhHnfxy72gYLgV8oitH1WQ" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a", - "urls": [ - "bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634", - "dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { - "keccak256": "0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba", - "urls": [ - "bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb", - "dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { - "keccak256": "0xbc8d1f66b26e211a1f6f40a17453e9d5020ec96749014379205cff100809884c", - "urls": [ - "bzz-raw://b9c056a3068bb6fe41b28239bd71acd3a5249d23ed089c874182a4e3d7e47df1", - "dweb:/ipfs/QmdFFG7dxiZ5jBaaYDXPMiKVG9rNoMhvR7cBt5997E2pat" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6", - "urls": [ - "bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b", - "dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz" - ], - "license": "MIT" - }, - "lib/rain.interface.interpreter/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { - "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", - "urls": [ - "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", - "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/rain.metadata/src/IMetaV1.sol": { - "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", - "urls": [ - "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", - "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/rain.metadata/src/LibMeta.sol": { - "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", - "urls": [ - "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", - "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV1.sol": { - "keccak256": "0xa77654c83162f29850efc8e40e108fd800b800348c4007bd078a6ec1c9df626a", - "urls": [ - "bzz-raw://7393afc0fb0109d788e7c17f33d654372338eb1a94526b12f8436ea2cc56c5d4", - "dweb:/ipfs/QmWbbD9S42BGeBhXH98HgPXfsDkFUsND3Ma6ecCzspk3j9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { - "keccak256": "0xe93e1663f30d95cef4df5e19a371282cef6739b1cda72868439a2c39403732dc", - "urls": [ - "bzz-raw://de3d740e4174bd1b080b0d67e7c694a665aeec6028c13257506abe2bceb8fa60", - "dweb:/ipfs/QmYS1KFuu5XfZLikK8oa8Tn8wypNBrxAMz5y7MDUW5MZYb" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { - "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", - "urls": [ - "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", - "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/LibContext.sol": { - "keccak256": "0x4e8bc140250ffe9747dad4c61959b00b1db29d26b92cce0e384e2f7a5282a3f0", - "urls": [ - "bzz-raw://237788dcd51fd0fe4ab4bcc957298f583d3fc91c13a989e1bfbb4ec42f32c994", - "dweb:/ipfs/QmWpmKbLKJdoKXdkt1Y7dayHT2iRNmSF2fiMtMoHMtmaxn" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/LibDeployerDiscoverable.sol": { - "keccak256": "0xa4585885c30fd796b5ae877469f0b2db8e72f08b33f9c534e1a6b0fe7e12d80c", - "urls": [ - "bzz-raw://599d54e48716b692a8214cf671f62eb035fffaaeecfca0173640f451271efc0f", - "dweb:/ipfs/QmScYbE8hHgiFFmtqZeqU3faxuPtMBhE3YdDZPihwGqGAL" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/LibEncodedDispatch.sol": { - "keccak256": "0xfb12f41d1a287db207c1893237ab2f68ca5a80e4dea988c9b1595fa7490b3565", - "urls": [ - "bzz-raw://2f800664e82a45c56b295a6262143d249bf184919398944254e40ce49235b8da", - "dweb:/ipfs/QmcFr5JZrRv8mBJgHaXvd3dLUj8kG78HkQjifPnMBv1DyF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/LibEvaluable.sol": { - "keccak256": "0xcb179258811491a7556173a5ac5b835034a24b1f5cf7eece98e1583a0045af3c", - "urls": [ - "bzz-raw://14758e64af1d24094ab82cba8bb2b5f4e0bb794ac9ca127ac6117584ea4dbff6", - "dweb:/ipfs/QmQcJa2xbJhzVuNiJ5an3XY7YSFQ77gim9dmqHSRnPM8sg" - ], - "license": "CAL" - }, - "lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.lib.interpreter/lib/sol.lib.memory/src/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol": { - "keccak256": "0xa3ceeec424fea362a1e4505aba6f0b16bfe821f237bd1fc2b2b42c77f4217da0", - "urls": [ - "bzz-raw://f102eb1be7b514de113d813ae7da1495926b7570001288a9adf845eb46eaadec", - "dweb:/ipfs/QmZiakyaVWnwveM7ZHeM9X7eiZeEqaPY58fPRAjLQW4ULy" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol": { - "keccak256": "0xe9dc01284107997c9d1a810188d330c9907274a1e1bd00b8db79329eba6a11c1", - "urls": [ - "bzz-raw://03c1a4894e9082f50cc621c23526c4bcfcbf6db33059d645ddcf6a3ee22dfb36", - "dweb:/ipfs/QmbmEkiJA1J8Db7v73nCMRcmrw98bQMw8o8GNyJUkmwtQR" - ], - "license": "CAL" - }, - "src/abstract/OrderBookFlashLender.sol": { - "keccak256": "0x81315016eec8557153b8e9a0cf7e11d9af9656c93cf8842b9286ed58fbb8e67f", - "urls": [ - "bzz-raw://77c97d2736f807e57b503cdb6dcd658ac0421381983cf348594dbb4fc0e4d8f3", - "dweb:/ipfs/QmR9YHknMUUAoH2Jz1r3D9SnU2AdjPoDaBbbeUj1o8R5Nf" - ], - "license": "CAL" - }, - "src/concrete/OrderBook.sol": { - "keccak256": "0xce7524b3e705cd00f53ad332a4a80c37e9b5b4980cc195e141d5813e3db04117", - "urls": [ - "bzz-raw://c7f71730a12553e42bbd5258d7adb86f82ad0a6f5fcb420e40e072599115195d", - "dweb:/ipfs/QmVM5FxNacvApgL5hdDYQaee8EnpuLrwhEYs53TYFjenQ4" - ], - "license": "CAL" - }, - "src/interface/IOrderBookV2.sol": { - "keccak256": "0x0e5ae5d299854a119010703b3aba61412b2f2daa98846821b994de55cacb7feb", - "urls": [ - "bzz-raw://a49787b9c848304bf06337e9538d700110d9800caa347ab176d3ea514ad45caf", - "dweb:/ipfs/QmdeMDJCiRaFB2877R4Zd8NhJEBZd36Z1sgrXLVJ1HVGEc" - ], - "license": "CAL" - }, - "src/interface/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", - "urls": [ - "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", - "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" - ], - "license": "CC0" - }, - "src/interface/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", - "urls": [ - "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", - "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" - ], - "license": "CC0" - }, - "src/lib/LibOrder.sol": { - "keccak256": "0x673854a52bc87607a4e546f3e17d83536275a48f745863c7bf70c1607d629d50", - "urls": [ - "bzz-raw://07d62f5376c6a97852aab3572d96c634783442008d00ce669e94e24f29b1957c", - "dweb:/ipfs/QmRjD6mAjUuS6RxaNfFCs3eJfDwfcK1FwsNXvsMev37mj6" - ], - "license": "CAL" - }, - "src/lib/LibOrderBook.sol": { - "keccak256": "0xa0dc092bf0193f9a65557889a6571f29b48c680a9e3774304ab5687eae3c77b9", - "urls": [ - "bzz-raw://bcd5f8dcc94b6faab819213b34566bd5462895036d08d2ef8df5852f735a3b42", - "dweb:/ipfs/QmcXHN9Bp27g4mmJnB7NNjTGfiSWLzNVRbfQeuo6Yxf7mi" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/concrete/OrderBook.sol", - "id": 30273, - "exportedSymbols": { - "ActiveDebt": [ - 28470 - ], - "CALCULATE_ORDER_ENTRYPOINT": [ - 28855 - ], - "CALCULATE_ORDER_MAX_OUTPUTS": [ - 28871 - ], - "CALCULATE_ORDER_MIN_OUTPUTS": [ - 28867 - ], - "CALLER_META_HASH": [ - 28839 - ], - "CALLING_CONTEXT_COLUMNS": [ - 28883 - ], - "CONTEXT_BASE_COLUMN": [ - 28887 - ], - "CONTEXT_CALCULATIONS_COLUMN": [ - 28895 - ], - "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 28891 - ], - "CONTEXT_VAULT_INPUTS_COLUMN": [ - 28899 - ], - "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 28919 - ], - "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 28923 - ], - "CONTEXT_VAULT_IO_ROWS": [ - 28927 - ], - "CONTEXT_VAULT_IO_TOKEN": [ - 28907 - ], - "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 28911 - ], - "CONTEXT_VAULT_IO_VAULT_ID": [ - 28915 - ], - "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 28903 - ], - "ClearConfig": [ - 30368 - ], - "ClearStateChange": [ - 30377 - ], - "DEAD_ORDER": [ - 28847 - ], - "DEFAULT_STATE_NAMESPACE": [ - 26778 - ], - "DeployerDiscoverableMetaV1": [ - 26653 - ], - "DeployerDiscoverableMetaV1ConstructionConfig": [ - 26608 - ], - "DepositConfig": [ - 30284 - ], - "ECDSA": [ - 25490 - ], - "EncodedDispatch": [ - 26766 - ], - "Evaluable": [ - 27306 - ], - "EvaluableConfig": [ - 27297 - ], - "FIXED_POINT_DECIMALS": [ - 27760 - ], - "FIXED_POINT_ONE": [ - 27764 - ], - "FLAG_MAX_INT": [ - 27780 - ], - "FLAG_ROUND_UP": [ - 27768 - ], - "FLAG_SATURATE": [ - 27774 - ], - "FLASH_FEE": [ - 28474 - ], - "FixedPointDecimalArithmeticOpenZeppelin": [ - 27754 - ], - "FixedPointDecimalScale": [ - 28266 - ], - "FlashLenderCallbackFailed": [ - 28461 - ], - "FullyQualifiedNamespace": [ - 26727 - ], - "HANDLE_IO_ENTRYPOINT": [ - 28863 - ], - "HANDLE_IO_MAX_OUTPUTS": [ - 28879 - ], - "HANDLE_IO_MIN_OUTPUTS": [ - 28875 - ], - "HASH_NIL": [ - 26443 - ], - "IERC20": [ - 24252 - ], - "IERC3156FlashBorrower": [ - 30867 - ], - "IERC3156FlashLender": [ - 30904 - ], - "IExpressionDeployerV1": [ - 26692 - ], - "IInterpreterCallerV2": [ - 26722 - ], - "IInterpreterStoreV1": [ - 26759 - ], - "IInterpreterV1": [ - 26809 - ], - "IO": [ - 30298 - ], - "IOrderBookV2": [ - 30557 - ], - "InvalidSignature": [ - 26853 - ], - "LIVE_ORDER": [ - 28843 - ], - "LibContext": [ - 27138 - ], - "LibEncodedDispatch": [ - 27282 - ], - "LibEvaluable": [ - 27319 - ], - "LibHashNoAlloc": [ - 26485 - ], - "LibMemCpy": [ - 27351 - ], - "LibMeta": [ - 26598 - ], - "LibOrder": [ - 30929 - ], - "LibOrderBook": [ - 31043 - ], - "LibPointer": [ - 27475 - ], - "LibUint256Array": [ - 27703 - ], - "Math": [ - 26438 - ], - "MinimumInput": [ - 28827 - ], - "Multicall": [ - 24954 - ], - "NO_STORE": [ - 26736 - ], - "NotOrderOwner": [ - 28813 - ], - "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ - 30850 - ], - "OVERFLOW_RESCALE_OOMS": [ - 27784 - ], - "Operand": [ - 26770 - ], - "Order": [ - 30328 - ], - "OrderBook": [ - 30272 - ], - "OrderBookFlashLender": [ - 28782 - ], - "OrderConfig": [ - 30312 - ], - "OrderIOCalculation": [ - 30951 - ], - "OutOfBoundsTruncate": [ - 27485 - ], - "Pointer": [ - 27355 - ], - "ReentrancyGuard": [ - 24174 - ], - "SIGNED_CONTEXT_CONTEXT_OFFSET": [ - 26708 - ], - "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ - 26711 - ], - "SIGNED_CONTEXT_SIGNER_OFFSET": [ - 26705 - ], - "SafeERC20": [ - 24569 - ], - "SameOwner": [ - 28832 - ], - "SignatureChecker": [ - 25573 - ], - "SignedContextV1": [ - 26702 - ], - "SourceIndex": [ - 26764 - ], - "StateNamespace": [ - 26768 - ], - "TakeOrderConfig": [ - 30355 - ], - "TakeOrdersConfig": [ - 30343 - ], - "TokenMismatch": [ - 28820 - ], - "WithdrawConfig": [ - 30291 - ], - "ZeroReceiver": [ - 28456 - ], - "ZeroToken": [ - 28453 - ] - }, - "nodeType": "SourceUnit", - "src": "32:25867:44", - "nodes": [ - { - "id": 28784, - "nodeType": "PragmaDirective", - "src": "32:24:44", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".18" - ] - }, - { - "id": 28786, - "nodeType": "ImportDirective", - "src": "58:74:44", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "openzeppelin-contracts/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 26439, - "symbolAliases": [ - { - "foreign": { - "id": 28785, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26438, - "src": "66:4:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 28788, - "nodeType": "ImportDirective", - "src": "133:79:44", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "file": "openzeppelin-contracts/contracts/utils/Multicall.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 24955, - "symbolAliases": [ - { - "foreign": { - "id": 28787, - "name": "Multicall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24954, - "src": "141:9:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 28790, - "nodeType": "ImportDirective", - "src": "213:79:44", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 24253, - "symbolAliases": [ - { - "foreign": { - "id": 28789, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24252, - "src": "221:6:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 28792, - "nodeType": "ImportDirective", - "src": "293:91:44", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "file": "openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 24570, - "symbolAliases": [ - { - "foreign": { - "id": 28791, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24569, - "src": "301:9:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 28794, - "nodeType": "ImportDirective", - "src": "385:94:44", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 24175, - "symbolAliases": [ - { - "foreign": { - "id": 28793, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24174, - "src": "393:15:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 28795, - "nodeType": "ImportDirective", - "src": "481:74:44", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/FixedPointDecimalArithmeticOpenZeppelin.sol", - "file": "rain.math.fixedpoint/FixedPointDecimalArithmeticOpenZeppelin.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 27755, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28796, - "nodeType": "ImportDirective", - "src": "556:57:44", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/FixedPointDecimalScale.sol", - "file": "rain.math.fixedpoint/FixedPointDecimalScale.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 28267, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28797, - "nodeType": "ImportDirective", - "src": "614:53:44", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/LibEncodedDispatch.sol", - "file": "rain.interpreter/lib/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 27283, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28798, - "nodeType": "ImportDirective", - "src": "668:45:44", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/LibContext.sol", - "file": "rain.interpreter/lib/LibContext.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 27139, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28802, - "nodeType": "ImportDirective", - "src": "714:169:44", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV1.sol", - "file": "rain.interpreter/abstract/DeployerDiscoverableMetaV1.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 26654, - "symbolAliases": [ - { - "foreign": { - "id": 28799, - "name": "DeployerDiscoverableMetaV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26653, - "src": "727:26:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 28800, - "name": "DeployerDiscoverableMetaV1ConstructionConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26608, - "src": "759:44:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 28801, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26598, - "src": "809:7:44", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 28803, - "nodeType": "ImportDirective", - "src": "885:39:44", - "nodes": [], - "absolutePath": "src/interface/IOrderBookV2.sol", - "file": "../interface/IOrderBookV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 30558, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28804, - "nodeType": "ImportDirective", - "src": "925:29:44", - "nodes": [], - "absolutePath": "src/lib/LibOrder.sol", - "file": "../lib/LibOrder.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 30930, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28805, - "nodeType": "ImportDirective", - "src": "955:33:44", - "nodes": [], - "absolutePath": "src/lib/LibOrderBook.sol", - "file": "../lib/LibOrderBook.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 31044, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28806, - "nodeType": "ImportDirective", - "src": "989:46:44", - "nodes": [], - "absolutePath": "src/abstract/OrderBookFlashLender.sol", - "file": "../abstract/OrderBookFlashLender.sol", - "nameLocation": "-1:-1:-1", - "scope": 30273, - "sourceUnit": 28783, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 28813, - "nodeType": "ErrorDefinition", - "src": "1211:51:44", - "nodes": [], - "documentation": { - "id": 28807, - "nodeType": "StructuredDocumentation", - "src": "1037:174:44", - "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." - }, - "errorSelector": "4702b914", - "name": "NotOrderOwner", - "nameLocation": "1217:13:44", - "parameters": { - "id": 28812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28809, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1239:6:44", - "nodeType": "VariableDeclaration", - "scope": 28813, - "src": "1231:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28808, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1231:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 28811, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1255:5:44", - "nodeType": "VariableDeclaration", - "scope": 28813, - "src": "1247:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1247:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1230:31:44" - } - }, - { - "id": 28820, - "nodeType": "ErrorDefinition", - "src": "1479:58:44", - "nodes": [], - "documentation": { - "id": 28814, - "nodeType": "StructuredDocumentation", - "src": "1264:215:44", - "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." - }, - "errorSelector": "f902523f", - "name": "TokenMismatch", - "nameLocation": "1485:13:44", - "parameters": { - "id": 28819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28816, - "mutability": "mutable", - "name": "aliceToken", - "nameLocation": "1507:10:44", - "nodeType": "VariableDeclaration", - "scope": 28820, - "src": "1499:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1499:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 28818, - "mutability": "mutable", - "name": "bobToken", - "nameLocation": "1527:8:44", - "nodeType": "VariableDeclaration", - "scope": 28820, - "src": "1519:16:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1519:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1498:38:44" - } - }, - { - "id": 28827, - "nodeType": "ErrorDefinition", - "src": "1683:56:44", - "nodes": [], - "documentation": { - "id": 28821, - "nodeType": "StructuredDocumentation", - "src": "1539:144:44", - "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." - }, - "errorSelector": "45094d88", - "name": "MinimumInput", - "nameLocation": "1689:12:44", - "parameters": { - "id": 28826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28823, - "mutability": "mutable", - "name": "minimumInput", - "nameLocation": "1710:12:44", - "nodeType": "VariableDeclaration", - "scope": 28827, - "src": "1702:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1702:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 28825, - "mutability": "mutable", - "name": "input", - "nameLocation": "1732:5:44", - "nodeType": "VariableDeclaration", - "scope": 28827, - "src": "1724:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1724:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1701:37:44" - } - }, - { - "id": 28832, - "nodeType": "ErrorDefinition", - "src": "1845:31:44", - "nodes": [], - "documentation": { - "id": 28828, - "nodeType": "StructuredDocumentation", - "src": "1741:104:44", - "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." - }, - "errorSelector": "227e4ce9", - "name": "SameOwner", - "nameLocation": "1851:9:44", - "parameters": { - "id": 28831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28830, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1869:5:44", - "nodeType": "VariableDeclaration", - "scope": 28832, - "src": "1861:13:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 28829, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1861:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1860:15:44" - } - }, - { - "id": 28839, - "nodeType": "VariableDeclaration", - "src": "1942:111:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLER_META_HASH", - "nameLocation": "1959:16:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28834, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1942:7:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307832336637373363333631383534366664636330376265303666393432343931303436326139306264326239313936383461346238353661666134306631333834", - "id": 28837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1986:66:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_16268159893704184928837356448898433775429341601071432415989839163113241252740_by_1", - "typeString": "int_const 1626...(69 digits omitted)...2740" - }, - "value": "0x23f773c3618546fdcc07be06f9424910462a90bd2b919684a4b856afa40f1384" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_16268159893704184928837356448898433775429341601071432415989839163113241252740_by_1", - "typeString": "int_const 1626...(69 digits omitted)...2740" - } - ], - "id": 28836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1978:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 28835, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1978:7:44", - "typeDescriptions": {} - } - }, - "id": 28838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1978:75:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 28843, - "nodeType": "VariableDeclaration", - "src": "2173:31:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "LIVE_ORDER", - "nameLocation": "2190:10:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2173:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 28842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2203:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 28847, - "nodeType": "VariableDeclaration", - "src": "2284:31:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "DEAD_ORDER", - "nameLocation": "2301:10:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2284:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 28846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2314:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 28855, - "nodeType": "VariableDeclaration", - "src": "2387:69:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "2408:26:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 28850, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 28849, - "name": "SourceIndex", - "nameLocations": [ - "2387:11:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26764, - "src": "2387:11:44" - }, - "referencedDeclaration": 26764, - "src": "2387:11:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "30", - "id": 28853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2454:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 28851, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26764, - "src": "2437:11:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$26764_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 28852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2449:4:44", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2437:16:44", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$26764_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 28854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2437:19:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 28863, - "nodeType": "VariableDeclaration", - "src": "2579:63:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "2600:20:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 28858, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 28857, - "name": "SourceIndex", - "nameLocations": [ - "2579:11:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26764, - "src": "2579:11:44" - }, - "referencedDeclaration": 26764, - "src": "2579:11:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 28861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2640:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "id": 28859, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26764, - "src": "2623:11:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$26764_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 28860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2635:4:44", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "2623:16:44", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$26764_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 28862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2623:19:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 28867, - "nodeType": "VariableDeclaration", - "src": "2716:48:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "2733:27:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2716:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 28866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2763:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 28871, - "nodeType": "VariableDeclaration", - "src": "2837:47:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "2853:27:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 28869, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "2837:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "32", - "id": 28870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2883:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 28875, - "nodeType": "VariableDeclaration", - "src": "2961:42:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "2978:21:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2961:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 28874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3002:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 28879, - "nodeType": "VariableDeclaration", - "src": "3079:41:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "3095:21:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 28877, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3079:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "30", - "id": 28878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3119:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 28883, - "nodeType": "VariableDeclaration", - "src": "3658:44:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "3675:23:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3658:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 28882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3701:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 28887, - "nodeType": "VariableDeclaration", - "src": "3743:40:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "3760:19:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3743:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 28886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3782:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 28891, - "nodeType": "VariableDeclaration", - "src": "4084:51:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "4101:30:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28889, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4084:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 28890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4134:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 28895, - "nodeType": "VariableDeclaration", - "src": "4282:48:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "4299:27:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4282:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 28894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4329:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 28899, - "nodeType": "VariableDeclaration", - "src": "4622:48:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "4639:27:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4622:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 28898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4669:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 28903, - "nodeType": "VariableDeclaration", - "src": "4788:49:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "4805:28:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4788:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 28902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4836:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 28907, - "nodeType": "VariableDeclaration", - "src": "4912:43:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "4929:22:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28905, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4912:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 28906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4954:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 28911, - "nodeType": "VariableDeclaration", - "src": "5030:52:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "5047:31:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5030:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 28910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5081:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 28915, - "nodeType": "VariableDeclaration", - "src": "5151:46:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "5168:25:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28913, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5151:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 28914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5196:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 28919, - "nodeType": "VariableDeclaration", - "src": "5304:52:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "5321:31:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28917, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5304:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 28918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5355:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 28923, - "nodeType": "VariableDeclaration", - "src": "5604:50:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "5621:29:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5604:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 28922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5653:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 28927, - "nodeType": "VariableDeclaration", - "src": "5694:42:44", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "5711:21:44", - "scope": 30273, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5694:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 28926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5735:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "id": 30272, - "nodeType": "ContractDefinition", - "src": "5807:20091:44", - "nodes": [ - { - "id": 28941, - "nodeType": "UsingForDirective", - "src": "5926:23:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28939, - "name": "Math", - "nameLocations": [ - "5932:4:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26438, - "src": "5932:4:44" - }, - "typeName": { - "id": 28940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5941:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 28945, - "nodeType": "UsingForDirective", - "src": "5954:36:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28942, - "name": "LibUint256Array", - "nameLocations": [ - "5960:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 27703, - "src": "5960:15:44" - }, - "typeName": { - "baseType": { - "id": 28943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5980:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 28944, - "nodeType": "ArrayTypeName", - "src": "5980:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - { - "id": 28949, - "nodeType": "UsingForDirective", - "src": "5995:27:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28946, - "name": "SafeERC20", - "nameLocations": [ - "6001:9:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24569, - "src": "6001:9:44" - }, - "typeName": { - "id": 28948, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 28947, - "name": "IERC20", - "nameLocations": [ - "6015:6:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24252, - "src": "6015:6:44" - }, - "referencedDeclaration": 24252, - "src": "6015:6:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24252", - "typeString": "contract IERC20" - } - } - }, - { - "id": 28952, - "nodeType": "UsingForDirective", - "src": "6027:58:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28950, - "name": "FixedPointDecimalArithmeticOpenZeppelin", - "nameLocations": [ - "6033:39:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 27754, - "src": "6033:39:44" - }, - "typeName": { - "id": 28951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6077:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 28955, - "nodeType": "UsingForDirective", - "src": "6090:41:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28953, - "name": "FixedPointDecimalScale", - "nameLocations": [ - "6096:22:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 28266, - "src": "6096:22:44" - }, - "typeName": { - "id": 28954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6123:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 28959, - "nodeType": "UsingForDirective", - "src": "6136:25:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28956, - "name": "LibOrder", - "nameLocations": [ - "6142:8:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30929, - "src": "6142:8:44" - }, - "typeName": { - "id": 28958, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 28957, - "name": "Order", - "nameLocations": [ - "6155:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "6155:5:44" - }, - "referencedDeclaration": 30328, - "src": "6155:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - } - }, - { - "id": 28962, - "nodeType": "UsingForDirective", - "src": "6166:34:44", - "nodes": [], - "global": false, - "libraryName": { - "id": 28960, - "name": "LibUint256Array", - "nameLocations": [ - "6172:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 27703, - "src": "6172:15:44" - }, - "typeName": { - "id": 28961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6192:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 28967, - "nodeType": "VariableDeclaration", - "src": "6710:43:44", - "nodes": [], - "constant": false, - "documentation": { - "id": 28963, - "nodeType": "StructuredDocumentation", - "src": "6206:499:44", - "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing and gives a gas refund on removal.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" - }, - "mutability": "mutable", - "name": "orders", - "nameLocation": "6747:6:44", - "scope": 30272, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 28966, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 28964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6718:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "6710:27:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 28965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6729:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "id": 28976, - "nodeType": "VariableDeclaration", - "src": "6793:87:44", - "nodes": [], - "baseFunctions": [ - 30496 - ], - "constant": false, - "documentation": { - "id": 28968, - "nodeType": "StructuredDocumentation", - "src": "6760:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "d97b2e48", - "mutability": "mutable", - "name": "vaultBalance", - "nameLocation": "6868:12:44", - "scope": 30272, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "typeName": { - "id": 28975, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 28969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6801:7:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "6793:67:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 28974, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 28970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6820:7:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "6812:47:44", - "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": 28973, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 28971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6839:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "6831:27:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 28972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6850:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "public" - }, - { - "id": 28988, - "nodeType": "FunctionDefinition", - "src": "7182:141:44", - "nodes": [], - "body": { - "id": 28987, - "nodeType": "Block", - "src": "7321:2:44", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 28977, - "nodeType": "StructuredDocumentation", - "src": "6887:290:44", - "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 28983, - "name": "CALLER_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28839, - "src": "7290:16:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 28984, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28980, - "src": "7308:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV1ConstructionConfig_$26608_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV1ConstructionConfig memory" - } - } - ], - "id": 28985, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 28982, - "name": "DeployerDiscoverableMetaV1", - "nameLocations": [ - "7263:26:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26653, - "src": "7263:26:44" - }, - "nodeType": "ModifierInvocation", - "src": "7263:53:44" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 28981, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28980, - "mutability": "mutable", - "name": "config_", - "nameLocation": "7246:7:44", - "nodeType": "VariableDeclaration", - "scope": 28988, - "src": "7194:59:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV1ConstructionConfig_$26608_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV1ConstructionConfig" - }, - "typeName": { - "id": 28979, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 28978, - "name": "DeployerDiscoverableMetaV1ConstructionConfig", - "nameLocations": [ - "7194:44:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26608, - "src": "7194:44:44" - }, - "referencedDeclaration": 26608, - "src": "7194:44:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV1ConstructionConfig_$26608_storage_ptr", - "typeString": "struct DeployerDiscoverableMetaV1ConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "7193:61:44" - }, - "returnParameters": { - "id": 28986, - "nodeType": "ParameterList", - "parameters": [], - "src": "7321:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 29033, - "nodeType": "FunctionDefinition", - "src": "7362:490:44", - "nodes": [], - "body": { - "id": 29032, - "nodeType": "Block", - "src": "7433:419:44", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 28998, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7650:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 28999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7654:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7650:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29000, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28992, - "src": "7662:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - ], - "id": 28997, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30390, - "src": "7642:7:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_DepositConfig_$30284_memory_ptr_$returns$__$", - "typeString": "function (address,struct DepositConfig memory)" - } - }, - "id": 29001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7642:28:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29002, - "nodeType": "EmitStatement", - "src": "7637:33:44" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 29008, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7719:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7723:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7719:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 29012, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7739:4:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$30272", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$30272", - "typeString": "contract OrderBook" - } - ], - "id": 29011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7731:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 29010, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7731:7:44", - "typeDescriptions": {} - } - }, - "id": 29013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7731:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29014, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28992, - "src": "7746:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - }, - "id": 29015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7754:6:44", - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 30283, - "src": "7746:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 29004, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28992, - "src": "7687:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - }, - "id": 29005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7695:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30279, - "src": "7687:13:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29003, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24252, - "src": "7680:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$24252_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 29006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7680:21:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24252", - "typeString": "contract IERC20" - } - }, - "id": 29007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7702:16:44", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24346, - "src": "7680:38:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$24252_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$24252_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 29016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7680:81:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29017, - "nodeType": "ExpressionStatement", - "src": "7680:81:44" - }, - { - "expression": { - "id": 29030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29018, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "7771:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29025, - "indexExpression": { - "expression": { - "id": 29019, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7784:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7788:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7784:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7771:24:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29026, - "indexExpression": { - "expression": { - "id": 29021, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28992, - "src": "7796:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - }, - "id": 29022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7804:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30279, - "src": "7796:13:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7771:39:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29027, - "indexExpression": { - "expression": { - "id": 29023, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28992, - "src": "7811:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - }, - "id": 29024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7819:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30281, - "src": "7811:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7771:56:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "expression": { - "id": 29028, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28992, - "src": "7831:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig calldata" - } - }, - "id": 29029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7839:6:44", - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 30283, - "src": "7831:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7771:74:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29031, - "nodeType": "ExpressionStatement", - "src": "7771:74:44" - } - ] - }, - "baseFunctions": [ - 30503 - ], - "documentation": { - "id": 28989, - "nodeType": "StructuredDocumentation", - "src": "7329:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "e6b62636", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 28995, - "kind": "modifierInvocation", - "modifierName": { - "id": 28994, - "name": "nonReentrant", - "nameLocations": [ - "7420:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24150, - "src": "7420:12:44" - }, - "nodeType": "ModifierInvocation", - "src": "7420:12:44" - } - ], - "name": "deposit", - "nameLocation": "7371:7:44", - "parameters": { - "id": 28993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 28992, - "mutability": "mutable", - "name": "config_", - "nameLocation": "7402:7:44", - "nodeType": "VariableDeclaration", - "scope": 29033, - "src": "7379:30:44", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_calldata_ptr", - "typeString": "struct DepositConfig" - }, - "typeName": { - "id": 28991, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 28990, - "name": "DepositConfig", - "nameLocations": [ - "7379:13:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30284, - "src": "7379:13:44" - }, - "referencedDeclaration": 30284, - "src": "7379:13:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DepositConfig_$30284_storage_ptr", - "typeString": "struct DepositConfig" - } - }, - "visibility": "internal" - } - ], - "src": "7378:32:44" - }, - "returnParameters": { - "id": 28996, - "nodeType": "ParameterList", - "parameters": [], - "src": "7433:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 29094, - "nodeType": "FunctionDefinition", - "src": "7891:678:44", - "nodes": [], - "body": { - "id": 29093, - "nodeType": "Block", - "src": "7964:605:44", - "nodes": [], - "statements": [ - { - "assignments": [ - 29043 - ], - "declarations": [ - { - "constant": false, - "id": 29043, - "mutability": "mutable", - "name": "vaultBalance_", - "nameLocation": "7982:13:44", - "nodeType": "VariableDeclaration", - "scope": 29093, - "src": "7974:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7974:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29054, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29044, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "7998:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29047, - "indexExpression": { - "expression": { - "id": 29045, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8011:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8015:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8011:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7998:24:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29050, - "indexExpression": { - "expression": { - "id": 29048, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8023:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - "id": 29049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8031:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30286, - "src": "8023:13:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7998:39:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29053, - "indexExpression": { - "expression": { - "id": 29051, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8038:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - "id": 29052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8046:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30288, - "src": "8038:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7998:56:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7974:80:44" - }, - { - "assignments": [ - 29056 - ], - "declarations": [ - { - "constant": false, - "id": 29056, - "mutability": "mutable", - "name": "withdrawAmount_", - "nameLocation": "8072:15:44", - "nodeType": "VariableDeclaration", - "scope": 29093, - "src": "8064:23:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8064:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29062, - "initialValue": { - "arguments": [ - { - "id": 29060, - "name": "vaultBalance_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29043, - "src": "8109:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 29057, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8090:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - "id": 29058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8098:6:44", - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 30290, - "src": "8090:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8105:3:44", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 25616, - "src": "8090:18:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 29061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8090:33:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8064:59:44" - }, - { - "expression": { - "id": 29076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29063, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "8326:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29070, - "indexExpression": { - "expression": { - "id": 29064, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8339:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8343:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8339:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8326:24:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29071, - "indexExpression": { - "expression": { - "id": 29066, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8351:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - "id": 29067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8359:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30286, - "src": "8351:13:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8326:39:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29072, - "indexExpression": { - "expression": { - "id": 29068, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8366:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - "id": 29069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8374:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30288, - "src": "8366:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8326:56:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 29073, - "name": "vaultBalance_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29043, - "src": "8385:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 29074, - "name": "withdrawAmount_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29056, - "src": "8401:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8385:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8326:90:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29077, - "nodeType": "ExpressionStatement", - "src": "8326:90:44" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29079, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8440:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8444:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8440:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29081, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8452:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - { - "id": 29082, - "name": "withdrawAmount_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29056, - "src": "8461:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29078, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30400, - "src": "8431:8:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_WithdrawConfig_$30291_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,struct WithdrawConfig memory,uint256)" - } - }, - "id": 29083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8431:46:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29084, - "nodeType": "EmitStatement", - "src": "8426:51:44" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 29086, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29037, - "src": "8519:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig calldata" - } - }, - "id": 29087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8527:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30286, - "src": "8519:13:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8534:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8538:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8534:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29090, - "name": "withdrawAmount_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29056, - "src": "8546:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29085, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28598, - "src": "8487:31:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8487:75:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29092, - "nodeType": "ExpressionStatement", - "src": "8487:75:44" - } - ] - }, - "baseFunctions": [ - 30510 - ], - "documentation": { - "id": 29034, - "nodeType": "StructuredDocumentation", - "src": "7858:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "4f266187", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 29040, - "kind": "modifierInvocation", - "modifierName": { - "id": 29039, - "name": "nonReentrant", - "nameLocations": [ - "7951:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24150, - "src": "7951:12:44" - }, - "nodeType": "ModifierInvocation", - "src": "7951:12:44" - } - ], - "name": "withdraw", - "nameLocation": "7900:8:44", - "parameters": { - "id": 29038, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29037, - "mutability": "mutable", - "name": "config_", - "nameLocation": "7933:7:44", - "nodeType": "VariableDeclaration", - "scope": 29094, - "src": "7909:31:44", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_calldata_ptr", - "typeString": "struct WithdrawConfig" - }, - "typeName": { - "id": 29036, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29035, - "name": "WithdrawConfig", - "nameLocations": [ - "7909:14:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30291, - "src": "7909:14:44" - }, - "referencedDeclaration": 30291, - "src": "7909:14:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WithdrawConfig_$30291_storage_ptr", - "typeString": "struct WithdrawConfig" - } - }, - "visibility": "internal" - } - ], - "src": "7908:33:44" - }, - "returnParameters": { - "id": 29041, - "nodeType": "ParameterList", - "parameters": [], - "src": "7964:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 29201, - "nodeType": "FunctionDefinition", - "src": "8608:1084:44", - "nodes": [], - "body": { - "id": 29200, - "nodeType": "Block", - "src": "8678:1014:44", - "nodes": [], - "statements": [ - { - "assignments": [ - 29105, - 29108, - 29110 - ], - "declarations": [ - { - "constant": false, - "id": 29105, - "mutability": "mutable", - "name": "interpreter_", - "nameLocation": "8704:12:44", - "nodeType": "VariableDeclaration", - "scope": 29200, - "src": "8689:27:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$26809", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 29104, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29103, - "name": "IInterpreterV1", - "nameLocations": [ - "8689:14:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26809, - "src": "8689:14:44" - }, - "referencedDeclaration": 26809, - "src": "8689:14:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$26809", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29108, - "mutability": "mutable", - "name": "store_", - "nameLocation": "8738:6:44", - "nodeType": "VariableDeclaration", - "scope": 29200, - "src": "8718:26:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 29107, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29106, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "8718:19:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26759, - "src": "8718:19:44" - }, - "referencedDeclaration": 26759, - "src": "8718:19:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29110, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "8754:11:44", - "nodeType": "VariableDeclaration", - "scope": 29200, - "src": "8746:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8746:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 29127, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 29115, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "8871:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8879:15:44", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 30309, - "src": "8871:23:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", - "typeString": "struct EvaluableConfig calldata" - } - }, - "id": 29117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8895:7:44", - "memberName": "sources", - "nodeType": "MemberAccess", - "referencedDeclaration": 27293, - "src": "8871:31:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - { - "expression": { - "expression": { - "id": 29118, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "8916:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8924:15:44", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 30309, - "src": "8916:23:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", - "typeString": "struct EvaluableConfig calldata" - } - }, - "id": 29120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8940:9:44", - "memberName": "constants", - "nodeType": "MemberAccess", - "referencedDeclaration": 27296, - "src": "8916:33:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "arguments": [ - { - "id": 29123, - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28867, - "src": "8989:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29124, - "name": "HANDLE_IO_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28875, - "src": "9018:21:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 29121, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27703, - "src": "8963:15:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 29122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8979:9:44", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 27562, - "src": "8963:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 29125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8963:77:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 29111, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "8769:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8790:15:44", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 30309, - "src": "8769:36:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", - "typeString": "struct EvaluableConfig calldata" - } - }, - "id": 29113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8819:8:44", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 27290, - "src": "8769:58:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV1_$26692", - "typeString": "contract IExpressionDeployerV1" - } - }, - "id": 29114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8841:16:44", - "memberName": "deployExpression", - "nodeType": "MemberAccess", - "referencedDeclaration": 26691, - "src": "8769:88:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$26809_$_t_contract$_IInterpreterStoreV1_$26759_$_t_address_$", - "typeString": "function (bytes memory[] memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "id": 29126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8769:281:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$26809_$_t_contract$_IInterpreterStoreV1_$26759_$_t_address_$", - "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8688:362:44" - }, - { - "assignments": [ - 29130 - ], - "declarations": [ - { - "constant": false, - "id": 29130, - "mutability": "mutable", - "name": "order_", - "nameLocation": "9073:6:44", - "nodeType": "VariableDeclaration", - "scope": 29200, - "src": "9060:19:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 29129, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29128, - "name": "Order", - "nameLocations": [ - "9060:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "9060:5:44" - }, - "referencedDeclaration": 30328, - "src": "9060:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 29155, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 29132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9101:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9105:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9101:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 29134, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9125:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9133:15:44", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 30309, - "src": "9125:23:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", - "typeString": "struct EvaluableConfig calldata" - } - }, - "id": 29136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9149:7:44", - "memberName": "sources", - "nodeType": "MemberAccess", - "referencedDeclaration": 27293, - "src": "9125:31:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - "id": 29141, - "indexExpression": { - "arguments": [ - { - "id": 29139, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28863, - "src": "9176:20:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - ], - "expression": { - "id": 29137, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26764, - "src": "9157:11:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$26764_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 29138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9169:6:44", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "9157:18:44", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$26764_$returns$_t_uint16_$", - "typeString": "function (SourceIndex) pure returns (uint16)" - } - }, - "id": 29140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9157:40:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9125:73:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 29142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9199:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9125:80:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 29143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9208:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9125:84:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "arguments": [ - { - "id": 29146, - "name": "interpreter_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29105, - "src": "9233:12:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$26809", - "typeString": "contract IInterpreterV1" - } - }, - { - "id": 29147, - "name": "store_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29108, - "src": "9247:6:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 29148, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29110, - "src": "9255:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterV1_$26809", - "typeString": "contract IInterpreterV1" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29145, - "name": "Evaluable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27306, - "src": "9223:9:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Evaluable_$27306_storage_ptr_$", - "typeString": "type(struct Evaluable storage pointer)" - } - }, - "id": 29149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9223:44:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - { - "expression": { - "id": 29150, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9281:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9289:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30302, - "src": "9281:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - { - "expression": { - "id": 29152, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9314:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9322:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30306, - "src": "9314:20:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - ], - "id": 29131, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30328, - "src": "9082:5:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$30328_storage_ptr_$", - "typeString": "type(struct Order storage pointer)" - } - }, - "id": 29154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9082:262:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9060:284:44" - }, - { - "assignments": [ - 29157 - ], - "declarations": [ - { - "constant": false, - "id": 29157, - "mutability": "mutable", - "name": "orderHash_", - "nameLocation": "9362:10:44", - "nodeType": "VariableDeclaration", - "scope": 29200, - "src": "9354:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9354:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29161, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29158, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29130, - "src": "9375:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29159, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9382:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "9375:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9375:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9354:34:44" - }, - { - "expression": { - "id": 29166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 29162, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28967, - "src": "9399:6:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29164, - "indexExpression": { - "id": 29163, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29157, - "src": "9406:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9399:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 29165, - "name": "LIVE_ORDER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28843, - "src": "9420:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9399:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29167, - "nodeType": "ExpressionStatement", - "src": "9399:31:44" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29169, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9454:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9458:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9454:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "expression": { - "id": 29171, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9466:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9474:15:44", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 30309, - "src": "9466:23:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfig_$27297_calldata_ptr", - "typeString": "struct EvaluableConfig calldata" - } - }, - "id": 29173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9490:8:44", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 27290, - "src": "9466:32:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV1_$26692", - "typeString": "contract IExpressionDeployerV1" - } - }, - { - "id": 29174, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29130, - "src": "9500:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 29175, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29157, - "src": "9508:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IExpressionDeployerV1_$26692", - "typeString": "contract IExpressionDeployerV1" - }, - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29168, - "name": "AddOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30413, - "src": "9445:8:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV1_$26692_$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,contract IExpressionDeployerV1,struct Order memory,uint256)" - } - }, - "id": 29176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9445:74:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29177, - "nodeType": "EmitStatement", - "src": "9440:79:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 29178, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9534:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9542:4:44", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 30311, - "src": "9534:12:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 29180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9547:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9534:19:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 29181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9556:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9534:23:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29199, - "nodeType": "IfStatement", - "src": "9530:156:44", - "trueBody": { - "id": 29198, - "nodeType": "Block", - "src": "9559:127:44", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 29186, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9599:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9607:4:44", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 30311, - "src": "9599:12:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 29183, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26598, - "src": "9573:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$26598_$", - "typeString": "type(library LibMeta)" - } - }, - "id": 29185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9581:17:44", - "memberName": "checkMetaUnhashed", - "nodeType": "MemberAccess", - "referencedDeclaration": 26568, - "src": "9573:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 29188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9573:39:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29189, - "nodeType": "ExpressionStatement", - "src": "9573:39:44" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29191, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9638:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9642:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9638:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29193, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29157, - "src": "9650:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29194, - "name": "config_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29098, - "src": "9662:7:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig calldata" - } - }, - "id": 29195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9670:4:44", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 30311, - "src": "9662:12:44", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 29190, - "name": "MetaV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26513, - "src": "9631:6:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 29196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9631:44:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29197, - "nodeType": "EmitStatement", - "src": "9626:49:44" - } - ] - } - } - ] - }, - "baseFunctions": [ - 30517 - ], - "documentation": { - "id": 29095, - "nodeType": "StructuredDocumentation", - "src": "8575:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "70276678", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 29101, - "kind": "modifierInvocation", - "modifierName": { - "id": 29100, - "name": "nonReentrant", - "nameLocations": [ - "8665:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24150, - "src": "8665:12:44" - }, - "nodeType": "ModifierInvocation", - "src": "8665:12:44" - } - ], - "name": "addOrder", - "nameLocation": "8617:8:44", - "parameters": { - "id": 29099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29098, - "mutability": "mutable", - "name": "config_", - "nameLocation": "8647:7:44", - "nodeType": "VariableDeclaration", - "scope": 29201, - "src": "8626:28:44", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_calldata_ptr", - "typeString": "struct OrderConfig" - }, - "typeName": { - "id": 29097, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29096, - "name": "OrderConfig", - "nameLocations": [ - "8626:11:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30312, - "src": "8626:11:44" - }, - "referencedDeclaration": 30312, - "src": "8626:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfig_$30312_storage_ptr", - "typeString": "struct OrderConfig" - } - }, - "visibility": "internal" - } - ], - "src": "8625:30:44" - }, - "returnParameters": { - "id": 29102, - "nodeType": "ParameterList", - "parameters": [], - "src": "8678:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 29217, - "nodeType": "FunctionDefinition", - "src": "9698:213:44", - "nodes": [], - "body": { - "id": 29216, - "nodeType": "Block", - "src": "9792:119:44", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 29211, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29203, - "src": "9835:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29212, - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28855, - "src": "9848:26:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - }, - { - "id": 29213, - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28871, - "src": "9876:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 29209, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27282, - "src": "9809:18:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$27282_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 29210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9828:6:44", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 27233, - "src": "9809:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$26764_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 29214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9809:95:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 29208, - "id": 29215, - "nodeType": "Return", - "src": "9802:102:44" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateOrderDispatch", - "nameLocation": "9707:23:44", - "parameters": { - "id": 29204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29203, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "9739:11:44", - "nodeType": "VariableDeclaration", - "scope": 29217, - "src": "9731:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9731:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9730:21:44" - }, - "returnParameters": { - "id": 29208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29207, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 29217, - "src": "9775:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 29206, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29205, - "name": "EncodedDispatch", - "nameLocations": [ - "9775:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26766, - "src": "9775:15:44" - }, - "referencedDeclaration": 26766, - "src": "9775:15:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "9774:17:44" - }, - "scope": 30272, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 29233, - "nodeType": "FunctionDefinition", - "src": "9917:195:44", - "nodes": [], - "body": { - "id": 29232, - "nodeType": "Block", - "src": "10005:107:44", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 29227, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29219, - "src": "10048:11:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29228, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28863, - "src": "10061:20:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - } - }, - { - "id": 29229, - "name": "HANDLE_IO_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28879, - "src": "10083:21:44", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$26764", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 29225, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27282, - "src": "10022:18:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$27282_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 29226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10041:6:44", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 27233, - "src": "10022:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$26764_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 29230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10022:83:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 29224, - "id": 29231, - "nodeType": "Return", - "src": "10015:90:44" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_handleIODispatch", - "nameLocation": "9926:17:44", - "parameters": { - "id": 29220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29219, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "9952:11:44", - "nodeType": "VariableDeclaration", - "scope": 29233, - "src": "9944:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9944:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9943:21:44" - }, - "returnParameters": { - "id": 29224, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29223, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 29233, - "src": "9988:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 29222, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29221, - "name": "EncodedDispatch", - "nameLocations": [ - "9988:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26766, - "src": "9988:15:44" - }, - "referencedDeclaration": 26766, - "src": "9988:15:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "9987:17:44" - }, - "scope": 30272, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 29276, - "nodeType": "FunctionDefinition", - "src": "10151:324:44", - "nodes": [], - "body": { - "id": 29275, - "nodeType": "Block", - "src": "10217:258:44", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29242, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10231:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10235:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "10231:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 29244, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29237, - "src": "10245:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 29245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10252:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "10245:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10231:26:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29255, - "nodeType": "IfStatement", - "src": "10227:103:44", - "trueBody": { - "id": 29254, - "nodeType": "Block", - "src": "10259:71:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 29248, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10294:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10298:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "10294:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29250, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29237, - "src": "10306:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 29251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10313:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "10306:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29247, - "name": "NotOrderOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28813, - "src": "10280:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 29252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10280:39:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29253, - "nodeType": "RevertStatement", - "src": "10273:46:44" - } - ] - } - }, - { - "assignments": [ - 29257 - ], - "declarations": [ - { - "constant": false, - "id": 29257, - "mutability": "mutable", - "name": "orderHash_", - "nameLocation": "10347:10:44", - "nodeType": "VariableDeclaration", - "scope": 29275, - "src": "10339:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10339:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29261, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29258, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29237, - "src": "10360:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 29259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10367:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "10360:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10360:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10339:34:44" - }, - { - "expression": { - "id": 29266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10383:27:44", - "subExpression": { - "components": [ - { - "baseExpression": { - "id": 29262, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28967, - "src": "10391:6:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29264, - "indexExpression": { - "id": 29263, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29257, - "src": "10398:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10391:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 29265, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10390:20:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29267, - "nodeType": "ExpressionStatement", - "src": "10383:27:44" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29269, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10437:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10441:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "10437:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29271, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29237, - "src": "10449:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - { - "id": 29272, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29257, - "src": "10457:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", - "typeString": "struct Order calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29268, - "name": "RemoveOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30423, - "src": "10425:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,struct Order memory,uint256)" - } - }, - "id": 29273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10425:43:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29274, - "nodeType": "EmitStatement", - "src": "10420:48:44" - } - ] - }, - "baseFunctions": [ - 30524 - ], - "documentation": { - "id": 29234, - "nodeType": "StructuredDocumentation", - "src": "10118:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "e23746a3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 29240, - "kind": "modifierInvocation", - "modifierName": { - "id": 29239, - "name": "nonReentrant", - "nameLocations": [ - "10204:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24150, - "src": "10204:12:44" - }, - "nodeType": "ModifierInvocation", - "src": "10204:12:44" - } - ], - "name": "removeOrder", - "nameLocation": "10160:11:44", - "parameters": { - "id": 29238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29237, - "mutability": "mutable", - "name": "order_", - "nameLocation": "10187:6:44", - "nodeType": "VariableDeclaration", - "scope": 29276, - "src": "10172:21:44", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_calldata_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 29236, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29235, - "name": "Order", - "nameLocations": [ - "10172:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "10172:5:44" - }, - "referencedDeclaration": 30328, - "src": "10172:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "src": "10171:23:44" - }, - "returnParameters": { - "id": 29241, - "nodeType": "ParameterList", - "parameters": [], - "src": "10217:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 29528, - "nodeType": "FunctionDefinition", - "src": "10514:3413:44", - "nodes": [], - "body": { - "id": 29527, - "nodeType": "Block", - "src": "10675:3252:44", - "nodes": [], - "statements": [ - { - "assignments": [ - 29290 - ], - "declarations": [ - { - "constant": false, - "id": 29290, - "mutability": "mutable", - "name": "i_", - "nameLocation": "10693:2:44", - "nodeType": "VariableDeclaration", - "scope": 29527, - "src": "10685:10:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10685:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29292, - "initialValue": { - "hexValue": "30", - "id": 29291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10698:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10685:14:44" - }, - { - "assignments": [ - 29295 - ], - "declarations": [ - { - "constant": false, - "id": 29295, - "mutability": "mutable", - "name": "takeOrder_", - "nameLocation": "10732:10:44", - "nodeType": "VariableDeclaration", - "scope": 29527, - "src": "10709:33:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig" - }, - "typeName": { - "id": 29294, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29293, - "name": "TakeOrderConfig", - "nameLocations": [ - "10709:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30355, - "src": "10709:15:44" - }, - "referencedDeclaration": 30355, - "src": "10709:15:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_storage_ptr", - "typeString": "struct TakeOrderConfig" - } - }, - "visibility": "internal" - } - ], - "id": 29296, - "nodeType": "VariableDeclarationStatement", - "src": "10709:33:44" - }, - { - "assignments": [ - 29299 - ], - "declarations": [ - { - "constant": false, - "id": 29299, - "mutability": "mutable", - "name": "order_", - "nameLocation": "10765:6:44", - "nodeType": "VariableDeclaration", - "scope": 29527, - "src": "10752:19:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 29298, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29297, - "name": "Order", - "nameLocations": [ - "10752:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "10752:5:44" - }, - "referencedDeclaration": 30328, - "src": "10752:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 29300, - "nodeType": "VariableDeclarationStatement", - "src": "10752:19:44" - }, - { - "assignments": [ - 29302 - ], - "declarations": [ - { - "constant": false, - "id": 29302, - "mutability": "mutable", - "name": "remainingInput_", - "nameLocation": "10789:15:44", - "nodeType": "VariableDeclaration", - "scope": 29527, - "src": "10781:23:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10781:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29305, - "initialValue": { - "expression": { - "id": 29303, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "10807:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10819:12:44", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30336, - "src": "10807:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10781:50:44" - }, - { - "body": { - "id": 29484, - "nodeType": "Block", - "src": "10903:2289:44", - "statements": [ - { - "expression": { - "id": 29320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29315, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "10917:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "id": 29316, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "10930:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10942:6:44", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 30342, - "src": "10930:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$30355_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 29319, - "indexExpression": { - "id": 29318, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29290, - "src": "10949:2:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10930:22:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "src": "10917:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29321, - "nodeType": "ExpressionStatement", - "src": "10917:35:44" - }, - { - "expression": { - "id": 29325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29322, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "10966:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 29323, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "10975:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10986:5:44", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 30346, - "src": "10975:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "src": "10966:25:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29326, - "nodeType": "ExpressionStatement", - "src": "10966:25:44" - }, - { - "assignments": [ - 29328 - ], - "declarations": [ - { - "constant": false, - "id": 29328, - "mutability": "mutable", - "name": "orderHash_", - "nameLocation": "11013:10:44", - "nodeType": "VariableDeclaration", - "scope": 29484, - "src": "11005:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11005:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29332, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29329, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11026:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11033:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "11026:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11026:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11005:34:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 29333, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28967, - "src": "11057:6:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29335, - "indexExpression": { - "id": 29334, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29328, - "src": "11064:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11057:18:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 29336, - "name": "DEAD_ORDER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28847, - "src": "11079:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11057:32:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 29478, - "nodeType": "Block", - "src": "11186:1935:44", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29347, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11208:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11215:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "11208:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29351, - "indexExpression": { - "expression": { - "id": 29349, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11227:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29350, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11238:12:44", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30348, - "src": "11227:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11208:43:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11252:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "11208:49:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 29353, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "11261:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11273:6:44", - "memberName": "output", - "nodeType": "MemberAccess", - "referencedDeclaration": 30330, - "src": "11261:18:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11208:71:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29368, - "nodeType": "IfStatement", - "src": "11204:209:44", - "trueBody": { - "id": 29367, - "nodeType": "Block", - "src": "11281:132:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 29357, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11324:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11331:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "11324:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29361, - "indexExpression": { - "expression": { - "id": 29359, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11343:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11354:12:44", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30348, - "src": "11343:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11324:43:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11368:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "11324:49:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29363, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "11375:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11387:6:44", - "memberName": "output", - "nodeType": "MemberAccess", - "referencedDeclaration": 30330, - "src": "11375:18:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29356, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "11310:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 29365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11310:84:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29366, - "nodeType": "RevertStatement", - "src": "11303:91:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29369, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11434:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29370, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11441:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "11434:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29373, - "indexExpression": { - "expression": { - "id": 29371, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11454:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11465:13:44", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30350, - "src": "11454:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11434:45:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29374, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11480:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "11434:51:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 29375, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "11489:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11501:5:44", - "memberName": "input", - "nodeType": "MemberAccess", - "referencedDeclaration": 30332, - "src": "11489:17:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11434:72:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29390, - "nodeType": "IfStatement", - "src": "11430:211:44", - "trueBody": { - "id": 29389, - "nodeType": "Block", - "src": "11508:133:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 29379, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11551:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11558:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "11551:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29383, - "indexExpression": { - "expression": { - "id": 29381, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11571:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29382, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11582:13:44", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30350, - "src": "11571:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11551:45:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11597:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "11551:51:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29385, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "11604:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11616:5:44", - "memberName": "input", - "nodeType": "MemberAccess", - "referencedDeclaration": 30332, - "src": "11604:17:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29378, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "11537:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 29387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11537:85:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29388, - "nodeType": "RevertStatement", - "src": "11530:92:44" - } - ] - } - }, - { - "assignments": [ - 29393 - ], - "declarations": [ - { - "constant": false, - "id": 29393, - "mutability": "mutable", - "name": "orderIOCalculation_", - "nameLocation": "11685:19:44", - "nodeType": "VariableDeclaration", - "scope": 29478, - "src": "11659:45:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 29392, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29391, - "name": "OrderIOCalculation", - "nameLocations": [ - "11659:18:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30951, - "src": "11659:18:44" - }, - "referencedDeclaration": 30951, - "src": "11659:18:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 29405, - "initialValue": { - "arguments": [ - { - "id": 29395, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11746:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 29396, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11754:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11765:12:44", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30348, - "src": "11754:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29398, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11779:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11790:13:44", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30350, - "src": "11779:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11805:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11809:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "11805:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29402, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "11817:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 29403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11828:13:44", - "memberName": "signedContext", - "nodeType": "MemberAccess", - "referencedDeclaration": 30354, - "src": "11817:24:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 29394, - "name": "_calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30100, - "src": "11707:17:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 29404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11707:152:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11659:200:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29406, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29393, - "src": "12209:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 29407, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12229:7:44", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 30940, - "src": "12209:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 29408, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "12239:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12251:14:44", - "memberName": "maximumIORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 30338, - "src": "12239:26:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12209:56:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29420, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29393, - "src": "12381:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 29421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12401:9:44", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 30938, - "src": "12381:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 29422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12414:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12381:34:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 29475, - "nodeType": "Block", - "src": "12522:585:44", - "statements": [ - { - "assignments": [ - 29434 - ], - "declarations": [ - { - "constant": false, - "id": 29434, - "mutability": "mutable", - "name": "input_", - "nameLocation": "12613:6:44", - "nodeType": "VariableDeclaration", - "scope": 29475, - "src": "12605:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12605:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29440, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 29437, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29393, - "src": "12642:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 29438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12662:9:44", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 30938, - "src": "12642:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 29435, - "name": "remainingInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29302, - "src": "12622:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12638:3:44", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 25616, - "src": "12622:19:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 29439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12622:50:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12605:67:44" - }, - { - "assignments": [ - 29442 - ], - "declarations": [ - { - "constant": false, - "id": 29442, - "mutability": "mutable", - "name": "output_", - "nameLocation": "12758:7:44", - "nodeType": "VariableDeclaration", - "scope": 29475, - "src": "12750:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12750:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29451, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 29445, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29393, - "src": "12789:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 29446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12809:7:44", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 30940, - "src": "12789:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 29447, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26438, - "src": "12818:4:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$26438_$", - "typeString": "type(library Math)" - } - }, - "id": 29448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12823:8:44", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 25580, - "src": "12818:13:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$25580_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 29449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12832:2:44", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 25578, - "src": "12818:16:44", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$25580", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$25580", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "id": 29443, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29434, - "src": "12768:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12775:13:44", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 27732, - "src": "12768:20:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$25580_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 29450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12768:67:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12750:85:44" - }, - { - "expression": { - "id": 29454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29452, - "name": "remainingInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29302, - "src": "12858:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 29453, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29434, - "src": "12877:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12858:25:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29455, - "nodeType": "ExpressionStatement", - "src": "12858:25:44" - }, - { - "expression": { - "id": 29458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29456, - "name": "totalOutput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29287, - "src": "12905:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 29457, - "name": "output_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29442, - "src": "12921:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12905:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29459, - "nodeType": "ExpressionStatement", - "src": "12905:23:44" - }, - { - "expression": { - "arguments": [ - { - "id": 29461, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "12966:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 29462, - "name": "output_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29442, - "src": "12974:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29463, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29434, - "src": "12983:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29464, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29393, - "src": "12991:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 29460, - "name": "_recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30271, - "src": "12951:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 29465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12951:60:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29466, - "nodeType": "ExpressionStatement", - "src": "12951:60:44" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29468, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13048:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13052:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13048:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29470, - "name": "takeOrder_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29295, - "src": "13060:10:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - { - "id": 29471, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29434, - "src": "13072:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29472, - "name": "output_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29442, - "src": "13080:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_TakeOrderConfig_$30355_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29467, - "name": "TakeOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30435, - "src": "13038:9:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$30355_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" - } - }, - "id": 29473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13038:50:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29474, - "nodeType": "EmitStatement", - "src": "13033:55:44" - } - ] - }, - "id": 29476, - "nodeType": "IfStatement", - "src": "12377:730:44", - "trueBody": { - "id": 29432, - "nodeType": "Block", - "src": "12417:99:44", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29425, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12460:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12464:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12460:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29427, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "12472:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12479:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "12472:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29429, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29328, - "src": "12486:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29424, - "name": "OrderZeroAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30453, - "src": "12444:15:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12444:53:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29431, - "nodeType": "EmitStatement", - "src": "12439:58:44" - } - ] - } - }, - "id": 29477, - "nodeType": "IfStatement", - "src": "12205:902:44", - "trueBody": { - "id": 29419, - "nodeType": "Block", - "src": "12267:104:44", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29412, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12315:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12319:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12315:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29414, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "12327:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12334:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "12327:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29416, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29328, - "src": "12341:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29411, - "name": "OrderExceedsMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30462, - "src": "12294:20:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12294:58:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29418, - "nodeType": "EmitStatement", - "src": "12289:63:44" - } - ] - } - } - ] - }, - "id": 29479, - "nodeType": "IfStatement", - "src": "11053:2068:44", - "trueBody": { - "id": 29346, - "nodeType": "Block", - "src": "11091:89:44", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29339, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11128:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11132:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "11128:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29341, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29299, - "src": "11140:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11147:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "11140:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29343, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29328, - "src": "11154:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29338, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30444, - "src": "11114:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11114:51:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29345, - "nodeType": "EmitStatement", - "src": "11109:56:44" - } - ] - } - }, - { - "id": 29483, - "nodeType": "UncheckedBlock", - "src": "13135:47:44", - "statements": [ - { - "expression": { - "id": 29481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13163:4:44", - "subExpression": { - "id": 29480, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29290, - "src": "13163:2:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29482, - "nodeType": "ExpressionStatement", - "src": "13163:4:44" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 29314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 29306, - "name": "i_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29290, - "src": "10848:2:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "id": 29307, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "10853:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10865:6:44", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 30342, - "src": "10853:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$30355_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 29309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10872:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10853:25:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10848:30:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 29311, - "name": "remainingInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29302, - "src": "10882:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 29312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10900:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10882:19:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10848:53:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29485, - "nodeType": "WhileStatement", - "src": "10841:2351:44" - }, - { - "expression": { - "id": 29491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29486, - "name": "totalInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29285, - "src": "13201:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29487, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "13215:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13227:12:44", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30336, - "src": "13215:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 29489, - "name": "remainingInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29302, - "src": "13242:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13215:42:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13201:56:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29492, - "nodeType": "ExpressionStatement", - "src": "13201:56:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 29493, - "name": "totalInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29285, - "src": "13272:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 29494, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "13286:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13298:12:44", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30334, - "src": "13286:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13272:38:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29504, - "nodeType": "IfStatement", - "src": "13268:127:44", - "trueBody": { - "id": 29503, - "nodeType": "Block", - "src": "13312:83:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 29498, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "13346:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13358:12:44", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30334, - "src": "13346:24:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29500, - "name": "totalInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29285, - "src": "13372:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29497, - "name": "MinimumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28827, - "src": "13333:12:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 29501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13333:51:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29502, - "nodeType": "RevertStatement", - "src": "13326:58:44" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 29510, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13684:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13688:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13684:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 29514, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13704:4:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$30272", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$30272", - "typeString": "contract OrderBook" - } - ], - "id": 29513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13696:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 29512, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13696:7:44", - "typeDescriptions": {} - } - }, - "id": 29515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13696:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29516, - "name": "totalOutput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29287, - "src": "13711:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 29506, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "13647:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13659:6:44", - "memberName": "output", - "nodeType": "MemberAccess", - "referencedDeclaration": 30330, - "src": "13647:18:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29505, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24252, - "src": "13640:6:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$24252_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 29508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13640:26:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24252", - "typeString": "contract IERC20" - } - }, - "id": 29509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13667:16:44", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 24346, - "src": "13640:43:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$24252_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$24252_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 29517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13640:84:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29518, - "nodeType": "ExpressionStatement", - "src": "13640:84:44" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 29520, - "name": "takeOrders_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29280, - "src": "13877:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig calldata" - } - }, - "id": 29521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13889:5:44", - "memberName": "input", - "nodeType": "MemberAccess", - "referencedDeclaration": 30332, - "src": "13877:17:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13896:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13900:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13896:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29524, - "name": "totalInput_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29285, - "src": "13908:11:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29519, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28598, - "src": "13845:31:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13845:75:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29526, - "nodeType": "ExpressionStatement", - "src": "13845:75:44" - } - ] - }, - "baseFunctions": [ - 30535 - ], - "documentation": { - "id": 29277, - "nodeType": "StructuredDocumentation", - "src": "10481:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "7a8048df", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 29283, - "kind": "modifierInvocation", - "modifierName": { - "id": 29282, - "name": "nonReentrant", - "nameLocations": [ - "10598:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24150, - "src": "10598:12:44" - }, - "nodeType": "ModifierInvocation", - "src": "10598:12:44" - } - ], - "name": "takeOrders", - "nameLocation": "10523:10:44", - "parameters": { - "id": 29281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29280, - "mutability": "mutable", - "name": "takeOrders_", - "nameLocation": "10560:11:44", - "nodeType": "VariableDeclaration", - "scope": 29528, - "src": "10534:37:44", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_calldata_ptr", - "typeString": "struct TakeOrdersConfig" - }, - "typeName": { - "id": 29279, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29278, - "name": "TakeOrdersConfig", - "nameLocations": [ - "10534:16:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30343, - "src": "10534:16:44" - }, - "referencedDeclaration": 30343, - "src": "10534:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfig_$30343_storage_ptr", - "typeString": "struct TakeOrdersConfig" - } - }, - "visibility": "internal" - } - ], - "src": "10533:39:44" - }, - "returnParameters": { - "id": 29288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29285, - "mutability": "mutable", - "name": "totalInput_", - "nameLocation": "10636:11:44", - "nodeType": "VariableDeclaration", - "scope": 29528, - "src": "10628:19:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10628:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29287, - "mutability": "mutable", - "name": "totalOutput_", - "nameLocation": "10657:12:44", - "nodeType": "VariableDeclaration", - "scope": 29528, - "src": "10649:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10649:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10627:43:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 29795, - "nodeType": "FunctionDefinition", - "src": "13966:3475:44", - "nodes": [], - "body": { - "id": 29794, - "nodeType": "Block", - "src": "14214:3227:44", - "nodes": [], - "statements": [ - { - "id": 29671, - "nodeType": "Block", - "src": "14224:1594:44", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29551, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "14242:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14249:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "14242:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 29553, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "14258:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14263:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "14258:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14242:26:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29562, - "nodeType": "IfStatement", - "src": "14238:95:44", - "trueBody": { - "id": 29561, - "nodeType": "Block", - "src": "14270:63:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 29557, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "14305:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14312:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "14305:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29556, - "name": "SameOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28832, - "src": "14295:9:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 29559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14295:23:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29560, - "nodeType": "RevertStatement", - "src": "14288:30:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29563, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "14367:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14374:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "14367:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29567, - "indexExpression": { - "expression": { - "id": 29565, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "14387:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14400:18:44", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30359, - "src": "14387:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14367:52:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29568, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14420:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14367:58:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29569, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "14449:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29570, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14454:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "14449:16:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29573, - "indexExpression": { - "expression": { - "id": 29571, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "14466:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14479:15:44", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30361, - "src": "14466:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14449:46:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14496:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14449:52:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14367:134:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29592, - "nodeType": "IfStatement", - "src": "14346:395:44", - "trueBody": { - "id": 29591, - "nodeType": "Block", - "src": "14516:225:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 29577, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "14576:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14583:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "14576:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29581, - "indexExpression": { - "expression": { - "id": 29579, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "14596:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14609:18:44", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30359, - "src": "14596:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14576:52:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29582, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14629:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14576:58:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 29583, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "14656:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14661:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "14656:16:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29587, - "indexExpression": { - "expression": { - "id": 29585, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "14673:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14686:15:44", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30361, - "src": "14673:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14656:46:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29588, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14703:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14656:52:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29576, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "14541:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 29589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14541:185:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29590, - "nodeType": "RevertStatement", - "src": "14534:192:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29593, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "14776:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14781:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "14776:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29597, - "indexExpression": { - "expression": { - "id": 29595, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "14794:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14807:16:44", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30363, - "src": "14794:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14776:48:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14825:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14776:54:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29599, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "14854:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14861:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "14854:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29603, - "indexExpression": { - "expression": { - "id": 29601, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "14873:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14886:17:44", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30357, - "src": "14873:30:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14854:50:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14905:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14854:56:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14776:134:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29622, - "nodeType": "IfStatement", - "src": "14755:395:44", - "trueBody": { - "id": 29621, - "nodeType": "Block", - "src": "14925:225:44", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 29607, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "14985:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14992:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "14985:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29611, - "indexExpression": { - "expression": { - "id": 29609, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "15004:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15017:17:44", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30357, - "src": "15004:30:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14985:50:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29612, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15036:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "14985:56:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 29613, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "15063:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15068:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "15063:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29617, - "indexExpression": { - "expression": { - "id": 29615, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "15081:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15094:16:44", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30363, - "src": "15081:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15063:48:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15112:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "15063:54:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29606, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28820, - "src": "14950:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 29619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14950:185:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29620, - "nodeType": "RevertStatement", - "src": "14943:192:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 29623, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28967, - "src": "15375:6:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29627, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29624, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "15382:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15389:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "15382:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15382:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15375:21:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 29628, - "name": "DEAD_ORDER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28847, - "src": "15400:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15375:35:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29642, - "nodeType": "IfStatement", - "src": "15371:157:44", - "trueBody": { - "id": 29641, - "nodeType": "Block", - "src": "15412:116:44", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29631, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15449:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15453:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15449:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29633, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "15461:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15468:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "15461:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29635, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "15475:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15482:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "15475:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15475:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29630, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30444, - "src": "15435:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15435:54:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29639, - "nodeType": "EmitStatement", - "src": "15430:59:44" - }, - { - "functionReturnParameters": 29550, - "id": 29640, - "nodeType": "Return", - "src": "15507:7:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 29643, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28967, - "src": "15545:6:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29647, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29644, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "15552:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15557:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "15552:9:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15552:11:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15545:19:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 29648, - "name": "DEAD_ORDER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28847, - "src": "15568:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15545:33:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29662, - "nodeType": "IfStatement", - "src": "15541:151:44", - "trueBody": { - "id": 29661, - "nodeType": "Block", - "src": "15580:112:44", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15617:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15621:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15617:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 29653, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "15629:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15634:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "15629:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29655, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "15641:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15646:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "15641:9:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15641:11:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29650, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30444, - "src": "15603:13:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 29658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15603:50:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29659, - "nodeType": "EmitStatement", - "src": "15598:55:44" - }, - { - "functionReturnParameters": 29550, - "id": 29660, - "nodeType": "Return", - "src": "15671:7:44" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29664, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15768:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15772:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15768:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29666, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "15780:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 29667, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "15788:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 29668, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "15794:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - ], - "id": 29663, - "name": "Clear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30476, - "src": "15762:5:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$30328_memory_ptr_$_t_struct$_Order_$30328_memory_ptr_$_t_struct$_ClearConfig_$30368_memory_ptr_$returns$__$", - "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" - } - }, - "id": 29669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15762:45:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29670, - "nodeType": "EmitStatement", - "src": "15757:50:44" - } - ] - }, - { - "assignments": [ - 29674 - ], - "declarations": [ - { - "constant": false, - "id": 29674, - "mutability": "mutable", - "name": "aliceOrderIOCalculation_", - "nameLocation": "15853:24:44", - "nodeType": "VariableDeclaration", - "scope": 29794, - "src": "15827:50:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 29673, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29672, - "name": "OrderIOCalculation", - "nameLocations": [ - "15827:18:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30951, - "src": "15827:18:44" - }, - "referencedDeclaration": 30951, - "src": "15827:18:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 29685, - "initialValue": { - "arguments": [ - { - "id": 29676, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "15911:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 29677, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "15919:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15932:17:44", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30357, - "src": "15919:30:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29679, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "15951:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15964:18:44", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30359, - "src": "15951:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29681, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "15984:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15989:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "15984:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29683, - "name": "bobSignedContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29546, - "src": "15996:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 29675, - "name": "_calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30100, - "src": "15880:17:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 29684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15880:143:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15827:196:44" - }, - { - "assignments": [ - 29688 - ], - "declarations": [ - { - "constant": false, - "id": 29688, - "mutability": "mutable", - "name": "bobOrderIOCalculation_", - "nameLocation": "16059:22:44", - "nodeType": "VariableDeclaration", - "scope": 29794, - "src": "16033:48:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 29687, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29686, - "name": "OrderIOCalculation", - "nameLocations": [ - "16033:18:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30951, - "src": "16033:18:44" - }, - "referencedDeclaration": 30951, - "src": "16033:18:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 29699, - "initialValue": { - "arguments": [ - { - "id": 29690, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "16115:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 29691, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "16121:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16134:15:44", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30361, - "src": "16121:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29693, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "16151:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16164:16:44", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30363, - "src": "16151:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29695, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "16182:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29696, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16189:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "16182:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29697, - "name": "aliceSignedContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29542, - "src": "16196:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 29689, - "name": "_calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30100, - "src": "16084:17:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 29698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16084:141:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16033:192:44" - }, - { - "assignments": [ - 29702 - ], - "declarations": [ - { - "constant": false, - "id": 29702, - "mutability": "mutable", - "name": "clearStateChange_", - "nameLocation": "16259:17:44", - "nodeType": "VariableDeclaration", - "scope": 29794, - "src": "16235:41:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 29701, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29700, - "name": "ClearStateChange", - "nameLocations": [ - "16235:16:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30377, - "src": "16235:16:44" - }, - "referencedDeclaration": 30377, - "src": "16235:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "id": 29708, - "initialValue": { - "arguments": [ - { - "id": 29705, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29674, - "src": "16322:24:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 29706, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29688, - "src": "16348:22:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "expression": { - "id": 29703, - "name": "LibOrderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31043, - "src": "16291:12:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibOrderBook_$31043_$", - "typeString": "type(library LibOrderBook)" - } - }, - "id": 29704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16304:17:44", - "memberName": "_clearStateChange", - "nodeType": "MemberAccess", - "referencedDeclaration": 31042, - "src": "16291:30:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$_t_struct$_ClearStateChange_$30377_memory_ptr_$", - "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" - } - }, - "id": 29707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16291:80:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16235:136:44" - }, - { - "expression": { - "arguments": [ - { - "id": 29710, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "16397:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 29711, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16405:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16423:10:44", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30374, - "src": "16405:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29713, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16435:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29714, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16453:11:44", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30370, - "src": "16435:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29715, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29674, - "src": "16466:24:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 29709, - "name": "_recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30271, - "src": "16382:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 29716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16382:109:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29717, - "nodeType": "ExpressionStatement", - "src": "16382:109:44" - }, - { - "expression": { - "arguments": [ - { - "id": 29719, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "16516:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 29720, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16522:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16540:8:44", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30376, - "src": "16522:26:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 29722, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16550:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29723, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16568:9:44", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30372, - "src": "16550:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 29724, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29688, - "src": "16579:22:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 29718, - "name": "_recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30271, - "src": "16501:14:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$30328_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$30951_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 29725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16501:101:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29726, - "nodeType": "ExpressionStatement", - "src": "16501:101:44" - }, - { - "id": 29787, - "nodeType": "Block", - "src": "16613:765:44", - "statements": [ - { - "assignments": [ - 29728 - ], - "declarations": [ - { - "constant": false, - "id": 29728, - "mutability": "mutable", - "name": "aliceBounty_", - "nameLocation": "16767:12:44", - "nodeType": "VariableDeclaration", - "scope": 29787, - "src": "16759:20:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16759:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29734, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29729, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16782:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16800:11:44", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30370, - "src": "16782:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 29731, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16814:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29732, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16832:8:44", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30376, - "src": "16814:26:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16782:58:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16759:81:44" - }, - { - "assignments": [ - 29736 - ], - "declarations": [ - { - "constant": false, - "id": 29736, - "mutability": "mutable", - "name": "bobBounty_", - "nameLocation": "16862:10:44", - "nodeType": "VariableDeclaration", - "scope": 29787, - "src": "16854:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16854:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29742, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29737, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16875:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16893:9:44", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30372, - "src": "16875:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 29739, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "16905:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 29740, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16923:10:44", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 30374, - "src": "16905:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16875:58:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16854:79:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 29743, - "name": "aliceBounty_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29728, - "src": "16951:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 29744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16966:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16951:16:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29764, - "nodeType": "IfStatement", - "src": "16947:209:44", - "trueBody": { - "id": 29763, - "nodeType": "Block", - "src": "16969:187:44", - "statements": [ - { - "expression": { - "id": 29761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29746, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "16987:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29757, - "indexExpression": { - "expression": { - "id": 29747, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17000:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17004:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17000:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16987:24:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29758, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29749, - "name": "alice_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29532, - "src": "17012:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17019:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "17012:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29753, - "indexExpression": { - "expression": { - "id": 29751, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "17032:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17045:18:44", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30359, - "src": "17032:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17012:52:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17065:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "17012:58:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16987:84:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29759, - "indexExpression": { - "expression": { - "id": 29755, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "17072:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17106:18:44", - "memberName": "aliceBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30365, - "src": "17072:52:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16987:138:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 29760, - "name": "aliceBounty_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29728, - "src": "17129:12:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16987:154:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29762, - "nodeType": "ExpressionStatement", - "src": "16987:154:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 29765, - "name": "bobBounty_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29736, - "src": "17173:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 29766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17186:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17173:14:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29786, - "nodeType": "IfStatement", - "src": "17169:199:44", - "trueBody": { - "id": 29785, - "nodeType": "Block", - "src": "17189:179:44", - "statements": [ - { - "expression": { - "id": 29783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29768, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "17207:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29779, - "indexExpression": { - "expression": { - "id": 29769, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17220:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17224:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17220:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17207:24:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29780, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29771, - "name": "bob_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29535, - "src": "17232:4:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17237:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "17232:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29775, - "indexExpression": { - "expression": { - "id": 29773, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "17250:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17263:16:44", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 30363, - "src": "17250:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17232:48:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17281:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "17232:54:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17207:80:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29781, - "indexExpression": { - "expression": { - "id": 29777, - "name": "clearConfig_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29538, - "src": "17288:12:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 29778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17322:16:44", - "memberName": "bobBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30367, - "src": "17288:50:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17207:132:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 29782, - "name": "bobBounty_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29736, - "src": "17343:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17207:146:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29784, - "nodeType": "ExpressionStatement", - "src": "17207:146:44" - } - ] - } - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 29789, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17404:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17408:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17404:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 29791, - "name": "clearStateChange_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29702, - "src": "17416:17:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_ClearStateChange_$30377_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - ], - "id": 29788, - "name": "AfterClear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30484, - "src": "17393:10:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$30377_memory_ptr_$returns$__$", - "typeString": "function (address,struct ClearStateChange memory)" - } - }, - "id": 29792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17393:41:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29793, - "nodeType": "EmitStatement", - "src": "17388:46:44" - } - ] - }, - "baseFunctions": [ - 30556 - ], - "documentation": { - "id": 29529, - "nodeType": "StructuredDocumentation", - "src": "13933:28:44", - "text": "@inheritdoc IOrderBookV2" - }, - "functionSelector": "9e18968b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 29549, - "kind": "modifierInvocation", - "modifierName": { - "id": 29548, - "name": "nonReentrant", - "nameLocations": [ - "14201:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24150, - "src": "14201:12:44" - }, - "nodeType": "ModifierInvocation", - "src": "14201:12:44" - } - ], - "name": "clear", - "nameLocation": "13975:5:44", - "parameters": { - "id": 29547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29532, - "mutability": "mutable", - "name": "alice_", - "nameLocation": "14003:6:44", - "nodeType": "VariableDeclaration", - "scope": 29795, - "src": "13990:19:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 29531, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29530, - "name": "Order", - "nameLocations": [ - "13990:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "13990:5:44" - }, - "referencedDeclaration": 30328, - "src": "13990:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29535, - "mutability": "mutable", - "name": "bob_", - "nameLocation": "14032:4:44", - "nodeType": "VariableDeclaration", - "scope": 29795, - "src": "14019:17:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 29534, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29533, - "name": "Order", - "nameLocations": [ - "14019:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "14019:5:44" - }, - "referencedDeclaration": 30328, - "src": "14019:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29538, - "mutability": "mutable", - "name": "clearConfig_", - "nameLocation": "14067:12:44", - "nodeType": "VariableDeclaration", - "scope": 29795, - "src": "14046:33:44", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_calldata_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 29537, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29536, - "name": "ClearConfig", - "nameLocations": [ - "14046:11:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30368, - "src": "14046:11:44" - }, - "referencedDeclaration": 30368, - "src": "14046:11:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$30368_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29542, - "mutability": "mutable", - "name": "aliceSignedContext_", - "nameLocation": "14114:19:44", - "nodeType": "VariableDeclaration", - "scope": 29795, - "src": "14089:44:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 29540, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29539, - "name": "SignedContextV1", - "nameLocations": [ - "14089:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26702, - "src": "14089:15:44" - }, - "referencedDeclaration": 26702, - "src": "14089:15:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$26702_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 29541, - "nodeType": "ArrayTypeName", - "src": "14089:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29546, - "mutability": "mutable", - "name": "bobSignedContext_", - "nameLocation": "14168:17:44", - "nodeType": "VariableDeclaration", - "scope": 29795, - "src": "14143:42:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 29544, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29543, - "name": "SignedContextV1", - "nameLocations": [ - "14143:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26702, - "src": "14143:15:44" - }, - "referencedDeclaration": 26702, - "src": "14143:15:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$26702_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 29545, - "nodeType": "ArrayTypeName", - "src": "14143:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "13980:211:44" - }, - "returnParameters": { - "id": 29550, - "nodeType": "ParameterList", - "parameters": [], - "src": "14214:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 30100, - "nodeType": "FunctionDefinition", - "src": "18150:4582:44", - "nodes": [], - "body": { - "id": 30099, - "nodeType": "Block", - "src": "18413:4319:44", - "nodes": [], - "statements": [ - { - "id": 30098, - "nodeType": "UncheckedBlock", - "src": "18423:4303:44", - "statements": [ - { - "assignments": [ - 29816 - ], - "declarations": [ - { - "constant": false, - "id": 29816, - "mutability": "mutable", - "name": "orderHash_", - "nameLocation": "18455:10:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "18447:18:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18447:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 29820, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 29817, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "18468:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18475:4:44", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 30928, - "src": "18468:11:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$30328_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Order_$30328_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (uint256)" - } - }, - "id": 29819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18468:13:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18447:34:44" - }, - { - "assignments": [ - 29826 - ], - "declarations": [ - { - "constant": false, - "id": 29826, - "mutability": "mutable", - "name": "context_", - "nameLocation": "18515:8:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "18496:27:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 29823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18496:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29824, - "nodeType": "ArrayTypeName", - "src": "18496:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 29825, - "nodeType": "ArrayTypeName", - "src": "18496:11:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 29827, - "nodeType": "VariableDeclarationStatement", - "src": "18496:27:44" - }, - { - "id": 29971, - "nodeType": "Block", - "src": "18537:1559:44", - "statements": [ - { - "assignments": [ - 29833 - ], - "declarations": [ - { - "constant": false, - "id": 29833, - "mutability": "mutable", - "name": "callingContext_", - "nameLocation": "18574:15:44", - "nodeType": "VariableDeclaration", - "scope": 29971, - "src": "18555:34:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 29830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18555:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29831, - "nodeType": "ArrayTypeName", - "src": "18555:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 29832, - "nodeType": "ArrayTypeName", - "src": "18555:11:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 29840, - "initialValue": { - "arguments": [ - { - "id": 29838, - "name": "CALLING_CONTEXT_COLUMNS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28883, - "src": "18629:23:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 29837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "18592:15:44", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 29834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18596:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29835, - "nodeType": "ArrayTypeName", - "src": "18596:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 29836, - "nodeType": "ArrayTypeName", - "src": "18596:11:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - } - }, - "id": 29839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18592:78:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18555:115:44" - }, - { - "expression": { - "id": 29865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 29841, - "name": "callingContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29833, - "src": "18688:15:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 29845, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 29842, - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28891, - "src": "18704:30:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 29843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18737:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18704:34:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18688:51:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 29848, - "name": "orderHash_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29816, - "src": "18789:10:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 29853, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "18817:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29854, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18824:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "18817:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18809:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 29851, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "18809:7:44", - "typeDescriptions": {} - } - }, - "id": 29855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18809:21:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 29850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18801:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 29849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18801:7:44", - "typeDescriptions": {} - } - }, - "id": 29856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18801:30:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 29861, - "name": "counterparty_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29805, - "src": "18849:13:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18841:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 29859, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "18841:7:44", - "typeDescriptions": {} - } - }, - "id": 29862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18841:22:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 29858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18833:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 29857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18833:7:44", - "typeDescriptions": {} - } - }, - "id": 29863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18833:31:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 29846, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27703, - "src": "18742:15:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 29847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18758:9:44", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 27577, - "src": "18742:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 29864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18742:140:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "18688:194:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 29866, - "nodeType": "ExpressionStatement", - "src": "18688:194:44" - }, - { - "expression": { - "id": 29913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 29867, - "name": "callingContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29833, - "src": "18901:15:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 29871, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 29868, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28899, - "src": "18917:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 29869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18947:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "18917:31:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18901:48:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 29878, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19015:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29879, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19022:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "19015:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29881, - "indexExpression": { - "id": 29880, - "name": "inputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29801, - "src": "19034:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19015:33:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19049:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "19015:39:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19007:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 29876, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "19007:7:44", - "typeDescriptions": {} - } - }, - "id": 29883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19007:48:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 29875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18999:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 29874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18999:7:44", - "typeDescriptions": {} - } - }, - "id": 29884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18999:57:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 29885, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19078:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29886, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19085:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "19078:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29888, - "indexExpression": { - "id": 29887, - "name": "inputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29801, - "src": "19097:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19078:33:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19112:8:44", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 30295, - "src": "19078:42:44", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 29890, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19142:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19149:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "19142:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29893, - "indexExpression": { - "id": 29892, - "name": "inputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29801, - "src": "19161:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19142:33:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19176:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30297, - "src": "19142:41:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29895, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "19205:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29898, - "indexExpression": { - "expression": { - "id": 29896, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19218:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19225:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "19218:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19205:26:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29904, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29899, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19232:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19239:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "19232:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29902, - "indexExpression": { - "id": 29901, - "name": "inputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29801, - "src": "19251:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19232:33:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19266:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "19232:39:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19205:67:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29910, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29905, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19273:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19280:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "19273:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29908, - "indexExpression": { - "id": 29907, - "name": "inputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29801, - "src": "19292:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19273:33:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19332:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30297, - "src": "19273:66:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19205:135:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 29911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19418:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 29872, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27703, - "src": "18952:15:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 29873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18968:9:44", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 27613, - "src": "18952:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 29912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18952:485:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "18901:536:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 29914, - "nodeType": "ExpressionStatement", - "src": "18901:536:44" - }, - { - "expression": { - "id": 29961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 29915, - "name": "callingContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29833, - "src": "19456:15:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 29919, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 29918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 29916, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28903, - "src": "19472:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 29917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19503:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "19472:32:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19456:49:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 29926, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19571:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19578:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "19571:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29929, - "indexExpression": { - "id": 29928, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "19591:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19571:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19607:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "19571:41:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19563:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 29924, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "19563:7:44", - "typeDescriptions": {} - } - }, - "id": 29931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19563:50:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 29923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19555:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 29922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19555:7:44", - "typeDescriptions": {} - } - }, - "id": 29932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19555:59:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 29933, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19636:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19643:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "19636:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29936, - "indexExpression": { - "id": 29935, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "19656:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19636:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19672:8:44", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 30295, - "src": "19636:44:44", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 29938, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19702:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19709:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "19702:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29941, - "indexExpression": { - "id": 29940, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "19722:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19702:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29942, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19738:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30297, - "src": "19702:43:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 29943, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "19767:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 29946, - "indexExpression": { - "expression": { - "id": 29944, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19780:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19787:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "19780:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19767:26:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 29952, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29947, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19794:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29948, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19801:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "19794:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29950, - "indexExpression": { - "id": 29949, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "19814:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19794:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19830:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "19794:41:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19767:69:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 29958, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 29953, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "19837:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19844:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "19837:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 29956, - "indexExpression": { - "id": 29955, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "19857:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19837:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 29957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19898:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30297, - "src": "19837:68:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19767:139:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 29959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19984:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 29920, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27703, - "src": "19508:15:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 29921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19524:9:44", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 27613, - "src": "19508:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 29960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19508:495:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "19456:547:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 29962, - "nodeType": "ExpressionStatement", - "src": "19456:547:44" - }, - { - "expression": { - "id": 29969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29963, - "name": "context_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29826, - "src": "20021:8:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 29966, - "name": "callingContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29833, - "src": "20049:15:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 29967, - "name": "signedContext_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29809, - "src": "20066:14:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "expression": { - "id": 29964, - "name": "LibContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27138, - "src": "20032:10:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$27138_$", - "typeString": "type(library LibContext)" - } - }, - "id": 29965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20043:5:44", - "memberName": "build", - "nodeType": "MemberAccess", - "referencedDeclaration": 27137, - "src": "20032:16:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" - } - }, - "id": 29968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20032:49:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "src": "20021:60:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 29970, - "nodeType": "ExpressionStatement", - "src": "20021:60:44" - } - ] - }, - { - "assignments": [ - 29974 - ], - "declarations": [ - { - "constant": false, - "id": 29974, - "mutability": "mutable", - "name": "namespace_", - "nameLocation": "20287:10:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "20272:25:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 29973, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29972, - "name": "StateNamespace", - "nameLocations": [ - "20272:14:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26768, - "src": "20272:14:44" - }, - "referencedDeclaration": 26768, - "src": "20272:14:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - } - ], - "id": 29986, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 29981, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "20336:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20343:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "20336:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 29980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20328:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 29979, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "20328:7:44", - "typeDescriptions": {} - } - }, - "id": 29983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20328:21:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 29978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20320:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 29977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20320:7:44", - "typeDescriptions": {} - } - }, - "id": 29984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20320:30:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 29975, - "name": "StateNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26768, - "src": "20300:14:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$26768_$", - "typeString": "type(StateNamespace)" - } - }, - "id": 29976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20315:4:44", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20300:19:44", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$26768_$", - "typeString": "function (uint256) pure returns (StateNamespace)" - } - }, - "id": 29985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20300:51:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20272:79:44" - }, - { - "assignments": [ - 29991, - 29994 - ], - "declarations": [ - { - "constant": false, - "id": 29991, - "mutability": "mutable", - "name": "stack_", - "nameLocation": "20383:6:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "20366:23:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 29989, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20366:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29990, - "nodeType": "ArrayTypeName", - "src": "20366:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29994, - "mutability": "mutable", - "name": "kvs_", - "nameLocation": "20408:4:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "20391:21:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 29992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20391:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29993, - "nodeType": "ArrayTypeName", - "src": "20391:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 30010, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 29999, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "20467:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20474:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "20467:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20484:5:44", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 27303, - "src": "20467:22:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 30002, - "name": "namespace_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29974, - "src": "20491:10:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 30004, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "20527:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30005, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20534:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "20527:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20544:10:44", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 27305, - "src": "20527:27:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 30003, - "name": "_calculateOrderDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29217, - "src": "20503:23:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 30007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20503:52:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - } - }, - { - "id": 30008, - "name": "context_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29826, - "src": "20557:8:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 29995, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "20416:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 29996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20423:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "20416:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 29997, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20433:11:44", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 27300, - "src": "20416:28:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$26809", - "typeString": "contract IInterpreterV1" - } - }, - "id": 29998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20445:4:44", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 26808, - "src": "20416:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$26759_$_t_userDefinedValueType$_StateNamespace_$26768_$_t_userDefinedValueType$_EncodedDispatch_$26766_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 30009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20416:163:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20365:214:44" - }, - { - "assignments": [ - 30012 - ], - "declarations": [ - { - "constant": false, - "id": 30012, - "mutability": "mutable", - "name": "orderOutputMax_", - "nameLocation": "20602:15:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "20594:23:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20594:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 30019, - "initialValue": { - "baseExpression": { - "id": 30013, - "name": "stack_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29991, - "src": "20620:6:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30018, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 30014, - "name": "stack_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29991, - "src": "20627:6:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20634:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "20627:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "32", - "id": 30016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20643:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "20627:17:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20620:25:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20594:51:44" - }, - { - "assignments": [ - 30021 - ], - "declarations": [ - { - "constant": false, - "id": 30021, - "mutability": "mutable", - "name": "orderIORatio_", - "nameLocation": "20667:13:44", - "nodeType": "VariableDeclaration", - "scope": 30098, - "src": "20659:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20659:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 30028, - "initialValue": { - "baseExpression": { - "id": 30022, - "name": "stack_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29991, - "src": "20683:6:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30027, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 30023, - "name": "stack_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29991, - "src": "20690:6:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20697:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "20690:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 30025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20706:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "20690:17:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20683:25:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20659:49:44" - }, - { - "expression": { - "id": 30039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 30029, - "name": "orderOutputMax_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30012, - "src": "20884:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 30032, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "20942:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30033, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20949:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "20942:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 30035, - "indexExpression": { - "id": 30034, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "20962:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20942:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 30036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20978:8:44", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 30295, - "src": "20942:44:44", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 30037, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27774, - "src": "21333:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 30030, - "name": "orderOutputMax_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30012, - "src": "20902:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20918:6:44", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 28109, - "src": "20902:22:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 30038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20902:458:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20884:476:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30040, - "nodeType": "ExpressionStatement", - "src": "20884:476:44" - }, - { - "expression": { - "id": 30056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 30041, - "name": "orderIORatio_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30021, - "src": "21540:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 30044, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "21598:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30045, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21605:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "21598:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 30047, - "indexExpression": { - "id": 30046, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "21618:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21598:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 30048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21634:8:44", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 30295, - "src": "21598:44:44", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 30049, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "21660:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21667:11:44", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30323, - "src": "21660:18:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 30052, - "indexExpression": { - "id": 30051, - "name": "inputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29801, - "src": "21679:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21660:33:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 30053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21694:8:44", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 30295, - "src": "21660:42:44", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 30054, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27768, - "src": "22008:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 30042, - "name": "orderIORatio_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30021, - "src": "21556:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21570:10:44", - "memberName": "scaleRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 28265, - "src": "21556:24:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$_t_uint8_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint8,uint8,uint256) pure returns (uint256)" - } - }, - "id": 30055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21556:479:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21540:495:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30057, - "nodeType": "ExpressionStatement", - "src": "21540:495:44" - }, - { - "expression": { - "id": 30078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 30058, - "name": "orderOutputMax_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30012, - "src": "22178:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 30061, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "22233:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 30064, - "indexExpression": { - "expression": { - "id": 30062, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "22246:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22253:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "22246:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22233:26:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 30070, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 30065, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "22260:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22267:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "22260:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 30068, - "indexExpression": { - "id": 30067, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "22280:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22260:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 30069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22296:5:44", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 30293, - "src": "22260:41:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22233:69:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 30076, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 30071, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29799, - "src": "22303:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22310:12:44", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30327, - "src": "22303:19:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$30298_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 30074, - "indexExpression": { - "id": 30073, - "name": "outputIOIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29803, - "src": "22323:14:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22303:35:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$30298_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 30075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22360:7:44", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 30297, - "src": "22303:64:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22233:135:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 30059, - "name": "orderOutputMax_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30012, - "src": "22196:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22212:3:44", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 25616, - "src": "22196:19:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 30077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22196:186:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22178:204:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30079, - "nodeType": "ExpressionStatement", - "src": "22178:204:44" - }, - { - "expression": { - "id": 30088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 30080, - "name": "context_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29826, - "src": "22518:8:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30082, - "indexExpression": { - "id": 30081, - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28895, - "src": "22527:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22518:37:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 30085, - "name": "orderOutputMax_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30012, - "src": "22584:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 30086, - "name": "orderIORatio_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30021, - "src": "22601:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 30083, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27703, - "src": "22558:15:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$27703_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 30084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22574:9:44", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 27562, - "src": "22558:25:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 30087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22558:57:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "22518:97:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30089, - "nodeType": "ExpressionStatement", - "src": "22518:97:44" - }, - { - "expression": { - "arguments": [ - { - "id": 30091, - "name": "orderOutputMax_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30012, - "src": "22656:15:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 30092, - "name": "orderIORatio_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30021, - "src": "22673:13:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 30093, - "name": "context_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29826, - "src": "22688:8:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 30094, - "name": "namespace_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29974, - "src": "22698:10:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - { - "id": 30095, - "name": "kvs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29994, - "src": "22710:4:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 30090, - "name": "OrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30951, - "src": "22637:18:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$30951_storage_ptr_$", - "typeString": "type(struct OrderIOCalculation storage pointer)" - } - }, - "id": 30096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22637:78:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "functionReturnParameters": 29814, - "id": 30097, - "nodeType": "Return", - "src": "22630:85:44" - } - ] - } - ] - }, - "documentation": { - "id": 29796, - "nodeType": "StructuredDocumentation", - "src": "17447:698:44", - "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order_ The order to evaluate.\n @param inputIOIndex_ The index of the input token being calculated for.\n @param outputIOIndex_ The index of the output token being calculated for.\n @param counterparty_ The counterparty of the order as it is currently\n being cleared against.\n @param signedContext_ Any signed context provided by the clearer/taker\n that the order may need for its calculations." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateOrderIO", - "nameLocation": "18159:17:44", - "parameters": { - "id": 29810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29799, - "mutability": "mutable", - "name": "order_", - "nameLocation": "18199:6:44", - "nodeType": "VariableDeclaration", - "scope": 30100, - "src": "18186:19:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 29798, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29797, - "name": "Order", - "nameLocations": [ - "18186:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "18186:5:44" - }, - "referencedDeclaration": 30328, - "src": "18186:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29801, - "mutability": "mutable", - "name": "inputIOIndex_", - "nameLocation": "18223:13:44", - "nodeType": "VariableDeclaration", - "scope": 30100, - "src": "18215:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18215:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29803, - "mutability": "mutable", - "name": "outputIOIndex_", - "nameLocation": "18254:14:44", - "nodeType": "VariableDeclaration", - "scope": 30100, - "src": "18246:22:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18246:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29805, - "mutability": "mutable", - "name": "counterparty_", - "nameLocation": "18286:13:44", - "nodeType": "VariableDeclaration", - "scope": 30100, - "src": "18278:21:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18278:7:44", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29809, - "mutability": "mutable", - "name": "signedContext_", - "nameLocation": "18334:14:44", - "nodeType": "VariableDeclaration", - "scope": 30100, - "src": "18309:39:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 29807, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29806, - "name": "SignedContextV1", - "nameLocations": [ - "18309:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26702, - "src": "18309:15:44" - }, - "referencedDeclaration": 26702, - "src": "18309:15:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$26702_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 29808, - "nodeType": "ArrayTypeName", - "src": "18309:17:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$26702_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "18176:178:44" - }, - "returnParameters": { - "id": 29814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29813, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 30100, - "src": "18386:25:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 29812, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29811, - "name": "OrderIOCalculation", - "nameLocations": [ - "18386:18:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30951, - "src": "18386:18:44" - }, - "referencedDeclaration": 30951, - "src": "18386:18:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "18385:27:44" - }, - "scope": 30272, - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "id": 30271, - "nodeType": "FunctionDefinition", - "src": "23310:2586:44", - "nodes": [], - "body": { - "id": 30270, - "nodeType": "Block", - "src": "23490:2406:44", - "nodes": [], - "statements": [ - { - "expression": { - "id": 30122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 30114, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "23500:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23520:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "23500:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30119, - "indexExpression": { - "id": 30116, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28899, - "src": "23528:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23500:56:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30120, - "indexExpression": { - "id": 30117, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28923, - "src": "23557:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "23500:87:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 30121, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30106, - "src": "23590:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23500:96:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30123, - "nodeType": "ExpressionStatement", - "src": "23500:96:44" - }, - { - "expression": { - "id": 30132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 30124, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "23606:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23626:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "23606:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30129, - "indexExpression": { - "id": 30126, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28903, - "src": "23634:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23606:57:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30130, - "indexExpression": { - "id": 30127, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28923, - "src": "23664:29:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "23606:88:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 30131, - "name": "output_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30108, - "src": "23697:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23606:98:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30133, - "nodeType": "ExpressionStatement", - "src": "23606:98:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 30134, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30106, - "src": "23719:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 30135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23728:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23719:10:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 30165, - "nodeType": "IfStatement", - "src": "23715:363:44", - "trueBody": { - "id": 30164, - "nodeType": "Block", - "src": "23731:347:44", - "statements": [ - { - "expression": { - "id": 30162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 30137, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "23816:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 30158, - "indexExpression": { - "expression": { - "id": 30138, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "23829:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23836:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "23829:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23816:26:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 30159, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 30144, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "23876:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30145, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23896:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "23876:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30147, - "indexExpression": { - "id": 30146, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28899, - "src": "23904:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23876:56:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30149, - "indexExpression": { - "id": 30148, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28907, - "src": "23933:22:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23876:80:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 30143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23868:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 30142, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "23868:7:44", - "typeDescriptions": {} - } - }, - "id": 30150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23868:89:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 30141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23843:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 30140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23843:7:44", - "typeDescriptions": {} - } - }, - "id": 30151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23843:128:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23816:156:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 30160, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 30152, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "23973:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30153, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23993:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "23973:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30155, - "indexExpression": { - "id": 30154, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28899, - "src": "24001:27:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23973:56:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30157, - "indexExpression": { - "id": 30156, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28915, - "src": "24030:25:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23973:83:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "23816:241:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 30161, - "name": "input_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30106, - "src": "24061:6:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23816:251:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30163, - "nodeType": "ExpressionStatement", - "src": "23816:251:44" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 30166, - "name": "output_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30108, - "src": "24091:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 30167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24101:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24091:11:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 30197, - "nodeType": "IfStatement", - "src": "24087:368:44", - "trueBody": { - "id": 30196, - "nodeType": "Block", - "src": "24104:351:44", - "statements": [ - { - "expression": { - "id": 30194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 30169, - "name": "vaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28976, - "src": "24190:12:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 30190, - "indexExpression": { - "expression": { - "id": 30170, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "24203:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30171, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24210:5:44", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 30314, - "src": "24203:12:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24190:26:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 30191, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 30176, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "24250:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30177, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24270:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "24250:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30179, - "indexExpression": { - "id": 30178, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28903, - "src": "24278:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24250:57:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30181, - "indexExpression": { - "id": 30180, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28907, - "src": "24308:22:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24250:81:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 30175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24242:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 30174, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "24242:7:44", - "typeDescriptions": {} - } - }, - "id": 30182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24242:90:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 30173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24217:7:44", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 30172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24217:7:44", - "typeDescriptions": {} - } - }, - "id": 30183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24217:129:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24190:157:44", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 30192, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 30184, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "24348:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24368:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "24348:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 30187, - "indexExpression": { - "id": 30186, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28903, - "src": "24376:28:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24348:57:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30189, - "indexExpression": { - "id": 30188, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 28915, - "src": "24406:25:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24348:84:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "24190:243:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 30193, - "name": "output_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30108, - "src": "24437:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24190:254:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30195, - "nodeType": "ExpressionStatement", - "src": "24190:254:44" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 30199, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24629:3:44", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 30200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24633:6:44", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "24629:10:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 30201, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "24641:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24661:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "24641:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "id": 30198, - "name": "Context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26721, - "src": "24621:7:44", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,uint256[] memory[] memory)" - } - }, - "id": 30203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24621:48:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 30204, - "nodeType": "EmitStatement", - "src": "24616:53:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 30205, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "24900:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24920:3:44", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30950, - "src": "24900:23:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24924:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "24900:30:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 30208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24933:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24900:34:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 30224, - "nodeType": "IfStatement", - "src": "24896:147:44", - "trueBody": { - "id": 30223, - "nodeType": "Block", - "src": "24936:107:44", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 30217, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "24977:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24997:9:44", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 30947, - "src": "24977:29:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - { - "expression": { - "id": 30219, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "25008:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25028:3:44", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 30950, - "src": "25008:23:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 30210, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "24950:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24957:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "24950:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24967:5:44", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 27303, - "src": "24950:22:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 30216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24973:3:44", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 26747, - "src": "24950:26:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$26768_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 30221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24950:82:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 30222, - "nodeType": "ExpressionStatement", - "src": "24950:82:44" - } - ] - } - }, - { - "condition": { - "expression": { - "id": 30225, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "25201:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25208:8:44", - "memberName": "handleIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 30316, - "src": "25201:15:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 30269, - "nodeType": "IfStatement", - "src": "25197:693:44", - "trueBody": { - "id": 30268, - "nodeType": "Block", - "src": "25218:672:44", - "statements": [ - { - "assignments": [ - null, - 30231 - ], - "declarations": [ - null, - { - "constant": false, - "id": 30231, - "mutability": "mutable", - "name": "handleIOKVs_", - "nameLocation": "25368:12:44", - "nodeType": "VariableDeclaration", - "scope": 30268, - "src": "25351:29:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 30229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25351:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 30230, - "nodeType": "ArrayTypeName", - "src": "25351:9:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 30249, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 30236, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "25435:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25442:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "25435:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30238, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25452:5:44", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 27303, - "src": "25435:22:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "expression": { - "id": 30239, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "25475:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30240, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25495:9:44", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 30947, - "src": "25475:29:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 30242, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "25540:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30243, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25547:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "25540:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30244, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25557:10:44", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 27305, - "src": "25540:27:44", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 30241, - "name": "_handleIODispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29233, - "src": "25522:17:44", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$26766_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 30245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25522:46:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - } - }, - { - "expression": { - "id": 30246, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "25586:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25606:7:44", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 30944, - "src": "25586:27:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$26766", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 30232, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "25384:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25391:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "25384:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30234, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25401:11:44", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 27300, - "src": "25384:28:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$26809", - "typeString": "contract IInterpreterV1" - } - }, - "id": 30235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25413:4:44", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 26808, - "src": "25384:33:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$26759_$_t_userDefinedValueType$_StateNamespace_$26768_$_t_userDefinedValueType$_EncodedDispatch_$26766_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 30248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25384:243:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25348:279:44" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 30253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 30250, - "name": "handleIOKVs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30231, - "src": "25751:12:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 30251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25764:6:44", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "25751:19:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 30252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25773:1:44", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25751:23:44", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 30267, - "nodeType": "IfStatement", - "src": "25747:133:44", - "trueBody": { - "id": 30266, - "nodeType": "Block", - "src": "25776:104:44", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 30261, - "name": "orderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30111, - "src": "25821:19:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 30262, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25841:9:44", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 30947, - "src": "25821:29:44", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - } - }, - { - "id": 30263, - "name": "handleIOKVs_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30231, - "src": "25852:12:44", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$26768", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 30254, - "name": "order_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30104, - "src": "25794:6:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 30258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25801:9:44", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 30319, - "src": "25794:16:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$27306_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 30259, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25811:5:44", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 27303, - "src": "25794:22:44", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$26759", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 30260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25817:3:44", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 26747, - "src": "25794:26:44", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$26768_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 30264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25794:71:44", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 30265, - "nodeType": "ExpressionStatement", - "src": "25794:71:44" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 30101, - "nodeType": "StructuredDocumentation", - "src": "22738:567:44", - "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order_ The order that is being cleared.\n @param input_ The exact token input amount to move into the owner's\n vault.\n @param output_ The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation_ The verbatim order IO calculation returned by\n `_calculateOrderIO`." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_recordVaultIO", - "nameLocation": "23319:14:44", - "parameters": { - "id": 30112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 30104, - "mutability": "mutable", - "name": "order_", - "nameLocation": "23356:6:44", - "nodeType": "VariableDeclaration", - "scope": 30271, - "src": "23343:19:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 30103, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30102, - "name": "Order", - "nameLocations": [ - "23343:5:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30328, - "src": "23343:5:44" - }, - "referencedDeclaration": 30328, - "src": "23343:5:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$30328_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 30106, - "mutability": "mutable", - "name": "input_", - "nameLocation": "23380:6:44", - "nodeType": "VariableDeclaration", - "scope": 30271, - "src": "23372:14:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23372:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 30108, - "mutability": "mutable", - "name": "output_", - "nameLocation": "23404:7:44", - "nodeType": "VariableDeclaration", - "scope": 30271, - "src": "23396:15:44", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 30107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23396:7:44", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 30111, - "mutability": "mutable", - "name": "orderIOCalculation_", - "nameLocation": "23447:19:44", - "nodeType": "VariableDeclaration", - "scope": 30271, - "src": "23421:45:44", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 30110, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 30109, - "name": "OrderIOCalculation", - "nameLocations": [ - "23421:18:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30951, - "src": "23421:18:44" - }, - "referencedDeclaration": 30951, - "src": "23421:18:44", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$30951_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "23333:139:44" - }, - "returnParameters": { - "id": 30113, - "nodeType": "ParameterList", - "parameters": [], - "src": "23490:0:44" - }, - "scope": 30272, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 28929, - "name": "IOrderBookV2", - "nameLocations": [ - "5829:12:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 30557, - "src": "5829:12:44" - }, - "id": 28930, - "nodeType": "InheritanceSpecifier", - "src": "5829:12:44" - }, - { - "baseName": { - "id": 28931, - "name": "ReentrancyGuard", - "nameLocations": [ - "5843:15:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24174, - "src": "5843:15:44" - }, - "id": 28932, - "nodeType": "InheritanceSpecifier", - "src": "5843:15:44" - }, - { - "baseName": { - "id": 28933, - "name": "Multicall", - "nameLocations": [ - "5860:9:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24954, - "src": "5860:9:44" - }, - "id": 28934, - "nodeType": "InheritanceSpecifier", - "src": "5860:9:44" - }, - { - "baseName": { - "id": 28935, - "name": "OrderBookFlashLender", - "nameLocations": [ - "5871:20:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 28782, - "src": "5871:20:44" - }, - "id": 28936, - "nodeType": "InheritanceSpecifier", - "src": "5871:20:44" - }, - { - "baseName": { - "id": 28937, - "name": "DeployerDiscoverableMetaV1", - "nameLocations": [ - "5893:26:44" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 26653, - "src": "5893:26:44" - }, - "id": 28938, - "nodeType": "InheritanceSpecifier", - "src": "5893:26:44" - } - ], - "canonicalName": "OrderBook", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 28928, - "nodeType": "StructuredDocumentation", - "src": "5739:68:44", - "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 30272, - 26653, - 26514, - 28782, - 24954, - 24174, - 30557, - 26722, - 30904 - ], - "name": "OrderBook", - "nameLocation": "5816:9:44", - "scope": 30273, - "usedErrors": [ - 26494, - 26499, - 26853, - 28453, - 28456, - 28461, - 28470, - 28813, - 28820, - 28827, - 28832 - ] - } - ], - "license": "CAL" - }, - "id": 44 -} \ No newline at end of file diff --git a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs b/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs deleted file mode 100644 index 89e6fd921a..0000000000 --- a/subgraph/tests/utils/deploy/deploy_orderbook/mod.rs +++ /dev/null @@ -1,14 +0,0 @@ -// use ethers::utils::AnvilInstance; - -// use super::touch_deployer::deploy_touch_deployer; - -// pub async fn deploy_orderbook(anvil: &AnvilInstance) -> anyhow::Result<()> { -// let _touch_deployer = deploy_touch_deployer(anvil).await?; -// // let mut json = String::new(); -// // let mut file = File::open("tests/utils/deploy/deploy_orderbook/OrderBook.json")?; -// // file.read_to_string(&mut json)?; - -// // let json: Value = serde_json::from_str(&json)?; - -// Ok(()) -// } diff --git a/subgraph/tests/utils/deploy/erc20_mock/mod.rs b/subgraph/tests/utils/deploy/erc20_mock/mod.rs new file mode 100644 index 0000000000..15cbc3f02a --- /dev/null +++ b/subgraph/tests/utils/deploy/erc20_mock/mod.rs @@ -0,0 +1,37 @@ +use crate::utils::{setup::get_provider, utils::get_wallet}; + +// #[path = "../../../generated/abigen/mod.rs"] +// mod abigen; +// use abigen::ERC20Mock::ERC20Mock; +// use abige +use crate::generated::ERC20Mock; + +use anyhow::Result; +use ethers::{ + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Middleware, Provider}, + signers::{Signer, Wallet}, +}; +use std::sync::Arc; + +pub async fn deploy_erc20_mock( + wallet: Option>, +) -> Result, Wallet>>> { + let wallet = wallet.unwrap_or(get_wallet(0)); + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.with_chain_id(chain_id.as_u64()), + )); + + let contract = ERC20Mock::deploy(client, ()) + .expect("cannot get the ERC20Mock") + .send() + .await + .expect("failed to send ERC20Mock"); + + Ok(contract) +} diff --git a/subgraph/tests/utils/deploy/meta_getter/mod.rs b/subgraph/tests/utils/deploy/meta_getter/mod.rs index 765760b631..bf708f0976 100644 --- a/subgraph/tests/utils/deploy/meta_getter/mod.rs +++ b/subgraph/tests/utils/deploy/meta_getter/mod.rs @@ -1,6 +1,7 @@ use crate::generated::AuthoringMetaGetter; use crate::utils::setup::get_provider; use crate::utils::utils::get_wallet; +use anyhow::Result; use ethers::prelude::SignerMiddleware; use ethers::providers::{Http, Middleware}; use ethers::types::{Bytes, H160}; @@ -42,7 +43,7 @@ pub async fn get_meta_address(provider: &Provider) -> Result<&'static H160 .map_err(|e| MetaGetterError::DeployError(Box::new(e))) } -pub async fn authoring_meta_getter_deploy(provider: &Provider) -> anyhow::Result { +pub async fn authoring_meta_getter_deploy(provider: &Provider) -> Result { let wallet = get_wallet(0); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index c73a34e6c0..137bf34fa7 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -1,4 +1,6 @@ -pub mod deploy1820; -pub mod deploy_orderbook; +// pub mod orderbook; +pub mod erc20_mock; pub mod meta_getter; +pub mod registry1820; pub mod touch_deployer; +pub mod orderbook; diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs new file mode 100644 index 0000000000..80eace541e --- /dev/null +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -0,0 +1,66 @@ +use super::touch_deployer::deploy_touch_deployer; +use crate::generated::{OrderBook, ORDERBOOK_ABI, ORDERBOOK_BYTECODE}; +use crate::utils::{setup::get_provider, utils::get_wallet}; +use anyhow::Result; +use ethers::{ + abi::Token, + contract::ContractFactory, + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Middleware, Provider}, + signers::{Signer, Wallet}, +}; +use std::{env, fs::File, io::Read, sync::Arc}; + +pub async fn deploy_orderbook( + wallet: Option>, +) -> Result, Wallet>>> { + let wallet = wallet.unwrap_or(get_wallet(0)); + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(chain_id.as_u64()), + )); + + // Deploying deployer + let expression_deployer = deploy_touch_deployer(Some(wallet.clone())) + .await + .expect("cannot touch deployer (ob)"); + + // Obtaining OB Meta bytes + let meta_directory = env::current_dir() + .expect("cannot get the current directory") + .parent() + .expect("cannot get the parent from current dir") + .join("meta/OrderBook.rain.meta"); + + let mut file = File::open(meta_directory).expect("cannot open the file"); + let mut contents = Vec::new(); + file.read_to_end(&mut contents) + .expect("failed on read_to_end"); + + let args = vec![Token::Tuple(vec![ + Token::Address(expression_deployer.address()), + Token::Bytes(contents), + ])]; + + // Obtaining OB deploy transaction + let deploy_transaction = ContractFactory::new( + ORDERBOOK_ABI.clone(), + ORDERBOOK_BYTECODE.clone(), + client.clone(), + ); + + let contract = deploy_transaction + .deploy_tokens(args) + .expect("failed deploy tokens") + .send() + .await + .expect("failed at deployment"); + + let orderbook = OrderBook::new(contract.address(), client); + + return Ok(orderbook); +} diff --git a/subgraph/tests/utils/deploy/deploy1820/mod.rs b/subgraph/tests/utils/deploy/registry1820/mod.rs similarity index 98% rename from subgraph/tests/utils/deploy/deploy1820/mod.rs rename to subgraph/tests/utils/deploy/registry1820/mod.rs index 022bd2fec4..88bd9929c8 100644 --- a/subgraph/tests/utils/deploy/deploy1820/mod.rs +++ b/subgraph/tests/utils/deploy/registry1820/mod.rs @@ -1,11 +1,11 @@ -use anyhow; +use anyhow::Result; use ethers::{ providers::{Http, Middleware, Provider}, types::BlockId, types::{Bytes, NameOrAddress, TransactionRequest, U256}, }; -pub async fn deploy1820(provider: &Provider) -> anyhow::Result<()> { +pub async fn deploy1820(provider: &Provider) -> Result<()> { let signature_address: NameOrAddress = "0xa990077c3205cbDf861e17Fa532eeB069cE9fF96".parse()?; let registry_address = "0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24"; let cost: U256 = U256::from("80000000000000000"); diff --git a/subgraph/tests/utils/deploy/touch_deployer/mod.rs b/subgraph/tests/utils/deploy/touch_deployer/mod.rs index 5c08d0a390..869be9d50c 100644 --- a/subgraph/tests/utils/deploy/touch_deployer/mod.rs +++ b/subgraph/tests/utils/deploy/touch_deployer/mod.rs @@ -5,6 +5,7 @@ use crate::generated::{ }; use crate::utils::setup::get_provider; use crate::utils::utils::get_wallet; +use anyhow::Result; use ethers::{ abi::Token, contract::ContractFactory, @@ -18,9 +19,7 @@ use std::sync::Arc; pub async fn deploy_touch_deployer( wallet: Option>, -) -> anyhow::Result< - RainterpreterExpressionDeployer, Wallet>>, -> { +) -> Result, Wallet>>> { let wallet = Some(wallet.unwrap_or(get_wallet(0))); let rainterpreter = rainterpreter_deploy(wallet.clone()).await?; @@ -37,7 +36,7 @@ pub async fn deploy_touch_deployer( pub async fn rainterpreter_deploy( wallet: Option>, -) -> anyhow::Result, Wallet>>> { +) -> Result, Wallet>>> { let wallet = wallet.unwrap_or(get_wallet(0)); let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); @@ -54,7 +53,7 @@ pub async fn rainterpreter_deploy( pub async fn rainterpreter_store_deploy( wallet: Option>, -) -> anyhow::Result, Wallet>>> { +) -> Result, Wallet>>> { let wallet = wallet.unwrap_or(get_wallet(0)); let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); @@ -73,9 +72,7 @@ pub async fn rainterpreter_expression_deployer_deploy( rainiterpreter_address: H160, store_address: H160, wallet: Option>, -) -> anyhow::Result< - RainterpreterExpressionDeployer, Wallet>>, -> { +) -> Result, Wallet>>> { let wallet = wallet.unwrap_or(get_wallet(0)); let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs new file mode 100644 index 0000000000..2b4b7b3663 --- /dev/null +++ b/subgraph/tests/utils/events.rs @@ -0,0 +1,79 @@ +use ethers::{abi::AbiEncode, prelude::*}; +use ethers::{ + providers::PendingTransaction, + types::{Log, Topic, TransactionReceipt, TxHash, ValueOrArray}, +}; + +// use crate::abigen::ERC20Mock::{ERC20Mock, TransferFilter}; +use crate::generated::{ERC20Mock, TransferFilter}; + +// use crate::generated::{erc20_mock, ERC20MockEvents}; + +use ethers::{ + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Middleware, Provider}, + signers::Wallet, +}; + +pub fn get_matched_log(logs: Vec, topic: ValueOrArray>) -> Option { + let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); + + for log in logs.iter() { + if let Some(first_topic) = log.topics.get(0) { + if first_topic == &topic_hash { + return Some(log.clone()); + } + } + } + + None +} + +/// Transfer event decode from receipt +/// +/// ## Arguments +/// +/// * `contract` - The contract that contain the event/filter/topic +/// +/// ## Returns +/// +/// The struct value +pub async fn get_transfer_event( + contract: ERC20Mock, Wallet>>, + tx: PendingTransaction<'_, Http>, +) -> () { + let tx_receipt: TransactionReceipt = tx.await.expect("Failed to get the receipt").unwrap(); + + let topic: ValueOrArray> = + contract.transfer_filter().filter.topics[0].clone().unwrap(); + + let log = get_matched_log(tx_receipt.logs.clone(), topic) + .expect("there is no topic matched in the transaction"); + + // contract.transfer_filter() + // TransferFilter::default() + // ERC20MockEvents::TransferFilter((TransferFilter:)) + + let aver = contract + .decode_event::("Transfer", log.topics, log.data) + .unwrap(); + + println!("aver: {:?}", aver); + println!("aver: {:?}", aver.value); +} + +/// Try to extract the hash value from a Topic (ValueOrArray) type +fn extract_topic_hash(topic: ValueOrArray>) -> Option { + match topic { + Topic::Value(Some(data)) => Some(data), + Topic::Array(topic) => { + if let Some(data) = topic.get(0) { + return data.clone(); + } else { + return None; + } + } + _ => None, + } +} diff --git a/subgraph/tests/utils/gen_abigen/mod.rs b/subgraph/tests/utils/gen_abigen/mod.rs new file mode 100644 index 0000000000..262853c0ee --- /dev/null +++ b/subgraph/tests/utils/gen_abigen/mod.rs @@ -0,0 +1,62 @@ +use ethers::prelude::*; +use std::{env, fs}; + +pub fn _abigen_rust_generation() -> anyhow::Result<()> { + process_abi_json_to_rust("tests/generated"); + + Ok(()) +} + +/// Use the given path (relative to the current directory) to search ABI JSON +/// files and generate a definition in Rust using abigen. +/// +/// The output path will be the same that the provided. +fn process_abi_json_to_rust(dir_path: &str) { + let current_directory = env::current_dir().expect("cannot get current directory"); + let output_directory = current_directory.join(dir_path.to_owned() + "/abigen"); + + if !output_directory.is_dir() { + if let Err(err) = fs::create_dir_all(&output_directory) { + eprintln!("Error creating directory: {}", err); + } + } + + if let Ok(entries) = fs::read_dir(dir_path) { + for entry in entries { + if let Ok(entry) = entry { + let path = entry.path(); + if let Some(extension) = path.extension() { + // Only reading ABI JSON files + if extension == "json" { + // The source path of this ABI + let abi_source_path = path.to_str().unwrap(); + + // The ABI name based on the path without the extension + let abi_name = path + .file_stem() + .expect("cannot get filename") + .to_str() + .unwrap(); + + // The out path where the .rs file will be write + let out_file = current_directory + // .join(abi_source_path.clone().replace(".json", ".rs")); + .join(dir_path.to_owned() + "/abigen/" + abi_name + ".rs"); + + // This allow to remove old files + if out_file.exists() { + fs::remove_file(&out_file).expect("cannot delete file"); + } + + Abigen::new(abi_name, abi_source_path) + .expect("failed on new call") + .generate() + .expect("failed on generate") + .write_to_file(out_file) + .expect("failed on write"); + } + } + } + } + } +} diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index ef64cafc6c..74f010ddf9 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -1,3 +1,6 @@ pub mod deploy; +pub mod events; +pub mod gen_abigen; +pub mod number; pub mod setup; pub mod utils; diff --git a/subgraph/tests/utils/number.rs b/subgraph/tests/utils/number.rs new file mode 100644 index 0000000000..dbd1acea0d --- /dev/null +++ b/subgraph/tests/utils/number.rs @@ -0,0 +1,8 @@ +use ethers::types::U256; +use std::ops::Mul; + +pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { + let result: U256 = U256::from(amount).mul(U256::from(10).pow(U256::from(decimals))); + + return result; +} diff --git a/subgraph/tests/utils/setup.rs b/subgraph/tests/utils/setup.rs index 6a1a1a6d8d..dff8dfdcd1 100644 --- a/subgraph/tests/utils/setup.rs +++ b/subgraph/tests/utils/setup.rs @@ -1,4 +1,4 @@ -use super::deploy::{deploy1820::deploy1820, meta_getter::get_meta_address}; +use super::deploy::{registry1820::deploy1820, meta_getter::get_meta_address}; use ethers::providers::{Http, Provider}; use once_cell::sync::Lazy; use reqwest; From 992026c11b5a7ed29efdac2a60e802b7edb349a1 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 08:27:00 -0400 Subject: [PATCH 017/163] wip: queries ob --- subgraph/abis/ERC20.json | 8266 ++++ subgraph/abis/OrderBook.json | 33887 +++++++++++++ subgraph/subgraph.template.yaml | 4 +- subgraph/tests/OrderBook.rain.meta | Bin 5786 -> 0 bytes subgraph/tests/common/query/orderbook/mod.rs | 70 +- .../common/query/orderbook/orderbook.graphql | 4 +- subgraph/tests/common/query/schema.json | 39375 +++++++++++++++- subgraph/tests/common/wait/mod.rs | 48 +- subgraph/tests/deploy_orderbook.rs | 49 +- subgraph/tests/utils/deploy/erc20_mock/mod.rs | 4 - subgraph/tests/utils/events.rs | 10 +- subgraph/tests/utils/number.rs | 2 +- .../AuthoringMetaGetter.sol | 0 13 files changed, 80247 insertions(+), 1472 deletions(-) create mode 100644 subgraph/abis/ERC20.json create mode 100644 subgraph/abis/OrderBook.json delete mode 100644 subgraph/tests/OrderBook.rain.meta rename test/util/{concrete => subgraph}/AuthoringMetaGetter.sol (100%) diff --git a/subgraph/abis/ERC20.json b/subgraph/abis/ERC20.json new file mode 100644 index 0000000000..3c62a19040 --- /dev/null +++ b/subgraph/abis/ERC20.json @@ -0,0 +1,8266 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b5060405162000dd938038062000dd983398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610ae580620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", + "sourceMap": "1532:11312:23:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:23;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:212;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:212;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:212;;;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:212: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:212;;;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:212;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:212;;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:212;;;3992:26;3943:89;-1:-1:-1;;2747:1:212;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:212;;;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:212;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:212;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:212:o;:::-;1532:11312:23;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", + "sourceMap": "1532:11312:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1251:14:212;;1244:22;1226:41;;1214:2;1199:18;4444:197:23;1086:187:212;3255:106:23;3342:12;;3255:106;;;1424:25:212;;;1412:2;1397:18;3255:106:23;1278:177:212;5203:256:23;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1935:36:212;;1923:2;1908:18;3104:91:23;1793:184:212;5854:234:23;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;3519:18;;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;4102:18;;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149;2158:98;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:29;4581:32:23;719:10:29;4597:7:23;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:29;5356:38:23;5372:4;719:10:29;5387:6:23;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:23;;5203:256;-1:-1:-1;;;;5203:256:23:o;5854:234::-;719:10:29;5942:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;5942:4;;719:10:29;5996:64:23;;719:10:29;;4102:27:23;;6021:38;;6049:10;;6021:38;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;719:10:29;6668:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;6668:4;;719:10:29;6812:15:23;6792:16;:35;;6784:85;;;;;;;3366:2:212;6784:85:23;;;3348:21:212;3405:2;3385:18;;;3378:30;3444:34;3424:18;;;3417:62;3515:7;3495:18;;;3488:35;3540:19;;6784:85:23;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:29;3873:28:23;719:10:29;3890:2:23;3894:6;3873:9;:28::i;10457:340::-;10558:19;;;10550:68;;;;;;;3772:2:212;10550:68:23;;;3754:21:212;3811:2;3791:18;;;3784:30;3850:34;3830:18;;;3823:62;3921:6;3901:18;;;3894:34;3945:19;;10550:68:23;3570:400:212;10550:68:23;10636:21;;;10628:68;;;;;;;4177:2:212;10628:68:23;;;4159:21:212;4216:2;4196:18;;;4189:30;4255:34;4235:18;;;4228:62;4326:4;4306:18;;;4299:32;4348:19;;10628:68:23;3975:398:212;10628:68:23;10707:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1424:25:212;;;10758:32:23;;1397:18:212;10758:32:23;;;;;;;10457:340;;;:::o;11078:411::-;4102:18;;;;11178:24;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;11264:17;11244:37;;11240:243;;11325:6;11305:16;:26;;11297:68;;;;;;;4580:2:212;11297:68:23;;;4562:21:212;4619:2;4599:18;;;4592:30;4658:31;4638:18;;;4631:59;4707:18;;11297:68:23;4378:353:212;11297:68:23;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;7552:18;;;7544:68;;;;;;;4938:2:212;7544:68:23;;;4920:21:212;4977:2;4957:18;;;4950:30;5016:34;4996:18;;;4989:62;5087:7;5067:18;;;5060:35;5112:19;;7544:68:23;4736:401:212;7544:68:23;7630:16;;;7622:64;;;;;;;5344:2:212;7622:64:23;;;5326:21:212;5383:2;5363:18;;;5356:30;5422:34;5402:18;;;5395:62;5493:5;5473:18;;;5466:33;5516:19;;7622:64:23;5142:399:212;7622:64:23;7768:15;;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;;;;5748:2:212;7793:72:23;;;5730:21:212;5787:2;5767:18;;;5760:30;5826:34;5806:18;;;5799:62;5897:8;5877:18;;;5870:36;5923:19;;7793:72:23;5546:402:212;7793:72:23;7899:15;;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1424:25:212;;;8114:13:23;;8163:26;;1397:18:212;8163:26:23;;;;;;;8200:37;12073:91;14:607:212;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:196::-;694:20;;754:42;743:54;;733:65;;723:93;;812:1;809;802:12;723:93;626:196;;;:::o;827:254::-;895:6;903;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;1071:2;1056:18;;;;1043:32;;-1:-1:-1;;;827:254:212:o;1460:328::-;1537:6;1545;1553;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;1645:29;1664:9;1645:29;:::i;:::-;1635:39;;1693:38;1727:2;1716:9;1712:18;1693:38;:::i;:::-;1683:48;;1778:2;1767:9;1763:18;1750:32;1740:42;;1460:328;;;;;:::o;1982:186::-;2041:6;2094:2;2082:9;2073:7;2069:23;2065:32;2062:52;;;2110:1;2107;2100:12;2062:52;2133:29;2152:9;2133:29;:::i;:::-;2123:39;1982:186;-1:-1:-1;;;1982:186:212:o;2173:260::-;2241:6;2249;2302:2;2290:9;2281:7;2277:23;2273:32;2270:52;;;2318:1;2315;2308:12;2270:52;2341:29;2360:9;2341:29;:::i;:::-;2331:39;;2389:38;2423:2;2412:9;2408:18;2389:38;:::i;:::-;2379:48;;2173:260;;;;;:::o;2438:437::-;2517:1;2513:12;;;;2560;;;2581:61;;2635:4;2627:6;2623:17;2613:27;;2581:61;2688:2;2680:6;2677:14;2657:18;2654:38;2651:218;;2725:77;2722:1;2715:88;2826:4;2823:1;2816:15;2854:4;2851:1;2844:15;2651:218;;2438:437;;;:::o;2880:279::-;2945:9;;;2966:10;;;2963:190;;;3009:77;3006:1;2999:88;3110:4;3107:1;3100:15;3138:4;3135:1;3128:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "increaseAllowance(address,uint256)": "39509351", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "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": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "spender", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "constructor": { + "details": "Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": "ERC20" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { + "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", + "urls": [ + "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", + "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", + "urls": [ + "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", + "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", + "id": 44299, + "exportedSymbols": { + "Context": [ + 45165 + ], + "ERC20": [ + 44298 + ], + "IERC20": [ + 44376 + ], + "IERC20Metadata": [ + 44401 + ] + }, + "nodeType": "SourceUnit", + "src": "105:12740:23", + "nodes": [ + { + "id": 43713, + "nodeType": "PragmaDirective", + "src": "105:23:23", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] + }, + { + "id": 43714, + "nodeType": "ImportDirective", + "src": "130:22:23", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "./IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 44299, + "sourceUnit": 44377, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 43715, + "nodeType": "ImportDirective", + "src": "153:41:23", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "./extensions/IERC20Metadata.sol", + "nameLocation": "-1:-1:-1", + "scope": 44299, + "sourceUnit": 44402, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 43716, + "nodeType": "ImportDirective", + "src": "195:33:23", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "nameLocation": "-1:-1:-1", + "scope": 44299, + "sourceUnit": 45166, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 44298, + "nodeType": "ContractDefinition", + "src": "1532:11312:23", + "nodes": [ + { + "id": 43727, + "nodeType": "VariableDeclaration", + "src": "1588:45:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1624:9:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 43726, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 43724, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1596:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1588:27:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1607:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "id": 43733, + "nodeType": "VariableDeclaration", + "src": "1640:67:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_allowances", + "nameLocation": "1696:11:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 43732, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 43728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1648:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1640:47:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43731, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 43729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1667:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1659:27:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1678:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "id": 43735, + "nodeType": "VariableDeclaration", + "src": "1714:28:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1730:12:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1714:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "id": 43737, + "nodeType": "VariableDeclaration", + "src": "1749:20:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1764:5:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 43736, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1749:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "id": 43739, + "nodeType": "VariableDeclaration", + "src": "1775:22:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1790:7:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 43738, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1775:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "id": 43756, + "nodeType": "FunctionDefinition", + "src": "1980:113:23", + "nodes": [], + "body": { + "id": 43755, + "nodeType": "Block", + "src": "2036:57:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 43747, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43737, + "src": "2046:5:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 43748, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43742, + "src": "2054:5:23", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2046:13:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43750, + "nodeType": "ExpressionStatement", + "src": "2046:13:23" + }, + { + "expression": { + "id": 43753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 43751, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43739, + "src": "2069:7:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 43752, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43744, + "src": "2079:7:23", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2069:17:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43754, + "nodeType": "ExpressionStatement", + "src": "2069:17:23" + } + ] + }, + "documentation": { + "id": 43740, + "nodeType": "StructuredDocumentation", + "src": "1804:171:23", + "text": " @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 43745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43742, + "mutability": "mutable", + "name": "name_", + "nameLocation": "2006:5:23", + "nodeType": "VariableDeclaration", + "scope": 43756, + "src": "1992:19:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43741, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1992:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43744, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "2027:7:23", + "nodeType": "VariableDeclaration", + "scope": 43756, + "src": "2013:21:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43743, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2013:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1991:44:23" + }, + "returnParameters": { + "id": 43746, + "nodeType": "ParameterList", + "parameters": [], + "src": "2036:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 43766, + "nodeType": "FunctionDefinition", + "src": "2158:98:23", + "nodes": [], + "body": { + "id": 43765, + "nodeType": "Block", + "src": "2227:29:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43763, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43737, + "src": "2244:5:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 43762, + "id": 43764, + "nodeType": "Return", + "src": "2237:12:23" + } + ] + }, + "baseFunctions": [ + 44388 + ], + "documentation": { + "id": 43757, + "nodeType": "StructuredDocumentation", + "src": "2099:54:23", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "2167:4:23", + "overrides": { + "id": 43759, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2194:8:23" + }, + "parameters": { + "id": 43758, + "nodeType": "ParameterList", + "parameters": [], + "src": "2171:2:23" + }, + "returnParameters": { + "id": 43762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43761, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43766, + "src": "2212:13:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43760, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2212:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2211:15:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43776, + "nodeType": "FunctionDefinition", + "src": "2369:102:23", + "nodes": [], + "body": { + "id": 43775, + "nodeType": "Block", + "src": "2440:31:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43773, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43739, + "src": "2457:7:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 43772, + "id": 43774, + "nodeType": "Return", + "src": "2450:14:23" + } + ] + }, + "baseFunctions": [ + 44394 + ], + "documentation": { + "id": 43767, + "nodeType": "StructuredDocumentation", + "src": "2262:102:23", + "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." + }, + "functionSelector": "95d89b41", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "2378:6:23", + "overrides": { + "id": 43769, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2407:8:23" + }, + "parameters": { + "id": 43768, + "nodeType": "ParameterList", + "parameters": [], + "src": "2384:2:23" + }, + "returnParameters": { + "id": 43772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43771, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43776, + "src": "2425:13:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43770, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2425:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2424:15:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43786, + "nodeType": "FunctionDefinition", + "src": "3104:91:23", + "nodes": [], + "body": { + "id": 43785, + "nodeType": "Block", + "src": "3169:26:23", + "nodes": [], + "statements": [ + { + "expression": { + "hexValue": "3138", + "id": 43783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3186:2:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "functionReturnParameters": 43782, + "id": 43784, + "nodeType": "Return", + "src": "3179:9:23" + } + ] + }, + "baseFunctions": [ + 44400 + ], + "documentation": { + "id": 43777, + "nodeType": "StructuredDocumentation", + "src": "2477:622:23", + "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." + }, + "functionSelector": "313ce567", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "3113:8:23", + "overrides": { + "id": 43779, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3144:8:23" + }, + "parameters": { + "id": 43778, + "nodeType": "ParameterList", + "parameters": [], + "src": "3121:2:23" + }, + "returnParameters": { + "id": 43782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43781, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43786, + "src": "3162:5:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 43780, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3162:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "3161:7:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43796, + "nodeType": "FunctionDefinition", + "src": "3255:106:23", + "nodes": [], + "body": { + "id": 43795, + "nodeType": "Block", + "src": "3325:36:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43793, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43735, + "src": "3342:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 43792, + "id": 43794, + "nodeType": "Return", + "src": "3335:19:23" + } + ] + }, + "baseFunctions": [ + 44325 + ], + "documentation": { + "id": 43787, + "nodeType": "StructuredDocumentation", + "src": "3201:49:23", + "text": " @dev See {IERC20-totalSupply}." + }, + "functionSelector": "18160ddd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "3264:11:23", + "overrides": { + "id": 43789, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3298:8:23" + }, + "parameters": { + "id": 43788, + "nodeType": "ParameterList", + "parameters": [], + "src": "3275:2:23" + }, + "returnParameters": { + "id": 43792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43791, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43796, + "src": "3316:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3316:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3315:9:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43810, + "nodeType": "FunctionDefinition", + "src": "3419:125:23", + "nodes": [], + "body": { + "id": 43809, + "nodeType": "Block", + "src": "3502:42:23", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "id": 43805, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "3519:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 43807, + "indexExpression": { + "id": 43806, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43799, + "src": "3529:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3519:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 43804, + "id": 43808, + "nodeType": "Return", + "src": "3512:25:23" + } + ] + }, + "baseFunctions": [ + 44333 + ], + "documentation": { + "id": 43797, + "nodeType": "StructuredDocumentation", + "src": "3367:47:23", + "text": " @dev See {IERC20-balanceOf}." + }, + "functionSelector": "70a08231", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3428:9:23", + "overrides": { + "id": 43801, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3475:8:23" + }, + "parameters": { + "id": 43800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43799, + "mutability": "mutable", + "name": "account", + "nameLocation": "3446:7:23", + "nodeType": "VariableDeclaration", + "scope": 43810, + "src": "3438:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3438:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3437:17:23" + }, + "returnParameters": { + "id": 43804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43803, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43810, + "src": "3493:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43802, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3493:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3492:9:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43835, + "nodeType": "FunctionDefinition", + "src": "3740:189:23", + "nodes": [], + "body": { + "id": 43834, + "nodeType": "Block", + "src": "3825:104:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43822 + ], + "declarations": [ + { + "constant": false, + "id": 43822, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3843:5:23", + "nodeType": "VariableDeclaration", + "scope": 43834, + "src": "3835:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3835:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43825, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43823, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "3851:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3851:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3835:28:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43827, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43822, + "src": "3883:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43828, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43813, + "src": "3890:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43829, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43815, + "src": "3894:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43826, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44058, + "src": "3873:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3873:28:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43831, + "nodeType": "ExpressionStatement", + "src": "3873:28:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3918:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43820, + "id": 43833, + "nodeType": "Return", + "src": "3911:11:23" + } + ] + }, + "baseFunctions": [ + 44343 + ], + "documentation": { + "id": 43811, + "nodeType": "StructuredDocumentation", + "src": "3550:185:23", + "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." + }, + "functionSelector": "a9059cbb", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "3749:8:23", + "overrides": { + "id": 43817, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3801:8:23" + }, + "parameters": { + "id": 43816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43813, + "mutability": "mutable", + "name": "to", + "nameLocation": "3766:2:23", + "nodeType": "VariableDeclaration", + "scope": 43835, + "src": "3758:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3758:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43815, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3778:6:23", + "nodeType": "VariableDeclaration", + "scope": 43835, + "src": "3770:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3770:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3757:28:23" + }, + "returnParameters": { + "id": 43820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43819, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43835, + "src": "3819:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43818, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3819:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3818:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43853, + "nodeType": "FunctionDefinition", + "src": "3987:149:23", + "nodes": [], + "body": { + "id": 43852, + "nodeType": "Block", + "src": "4085:51:23", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 43846, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43733, + "src": "4102:11:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 43848, + "indexExpression": { + "id": 43847, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43838, + "src": "4114:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:18:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 43850, + "indexExpression": { + "id": 43849, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43840, + "src": "4121:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:27:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 43845, + "id": 43851, + "nodeType": "Return", + "src": "4095:34:23" + } + ] + }, + "baseFunctions": [ + 44353 + ], + "documentation": { + "id": 43836, + "nodeType": "StructuredDocumentation", + "src": "3935:47:23", + "text": " @dev See {IERC20-allowance}." + }, + "functionSelector": "dd62ed3e", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "3996:9:23", + "overrides": { + "id": 43842, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4058:8:23" + }, + "parameters": { + "id": 43841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43838, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4014:5:23", + "nodeType": "VariableDeclaration", + "scope": 43853, + "src": "4006:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4006:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43840, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4029:7:23", + "nodeType": "VariableDeclaration", + "scope": 43853, + "src": "4021:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43839, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4021:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4005:32:23" + }, + "returnParameters": { + "id": 43845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43844, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43853, + "src": "4076:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4076:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4075:9:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43878, + "nodeType": "FunctionDefinition", + "src": "4444:197:23", + "nodes": [], + "body": { + "id": 43877, + "nodeType": "Block", + "src": "4533:108:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43865 + ], + "declarations": [ + { + "constant": false, + "id": 43865, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4551:5:23", + "nodeType": "VariableDeclaration", + "scope": 43877, + "src": "4543:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4543:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43868, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43866, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "4559:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4559:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4543:28:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43865, + "src": "4590:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43871, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43856, + "src": "4597:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43872, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43858, + "src": "4606:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43869, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "4581:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4581:32:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43874, + "nodeType": "ExpressionStatement", + "src": "4581:32:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4630:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43863, + "id": 43876, + "nodeType": "Return", + "src": "4623:11:23" + } + ] + }, + "baseFunctions": [ + 44363 + ], + "documentation": { + "id": 43854, + "nodeType": "StructuredDocumentation", + "src": "4142:297:23", + "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "095ea7b3", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "4453:7:23", + "overrides": { + "id": 43860, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4509:8:23" + }, + "parameters": { + "id": 43859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43856, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4469:7:23", + "nodeType": "VariableDeclaration", + "scope": 43878, + "src": "4461:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43855, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4461:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43858, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4486:6:23", + "nodeType": "VariableDeclaration", + "scope": 43878, + "src": "4478:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4478:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4460:33:23" + }, + "returnParameters": { + "id": 43863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43862, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43878, + "src": "4527:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43861, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4527:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4526:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43911, + "nodeType": "FunctionDefinition", + "src": "5203:256:23", + "nodes": [], + "body": { + "id": 43910, + "nodeType": "Block", + "src": "5306:153:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43892 + ], + "declarations": [ + { + "constant": false, + "id": 43892, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5324:7:23", + "nodeType": "VariableDeclaration", + "scope": 43910, + "src": "5316:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5316:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43895, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43893, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "5334:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5334:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5316:30:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43897, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43881, + "src": "5372:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43898, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43892, + "src": "5378:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43899, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43885, + "src": "5387:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43896, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44275, + "src": "5356:15:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5356:38:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43901, + "nodeType": "ExpressionStatement", + "src": "5356:38:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43903, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43881, + "src": "5414:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43904, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43883, + "src": "5420:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43905, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43885, + "src": "5424:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43902, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44058, + "src": "5404:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5404:27:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43907, + "nodeType": "ExpressionStatement", + "src": "5404:27:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5448:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43890, + "id": 43909, + "nodeType": "Return", + "src": "5441:11:23" + } + ] + }, + "baseFunctions": [ + 44375 + ], + "documentation": { + "id": 43879, + "nodeType": "StructuredDocumentation", + "src": "4647:551:23", + "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." + }, + "functionSelector": "23b872dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "5212:12:23", + "overrides": { + "id": 43887, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5282:8:23" + }, + "parameters": { + "id": 43886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43881, + "mutability": "mutable", + "name": "from", + "nameLocation": "5233:4:23", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5225:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5225:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43883, + "mutability": "mutable", + "name": "to", + "nameLocation": "5247:2:23", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5239:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5239:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43885, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5259:6:23", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5251:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5251:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5224:42:23" + }, + "returnParameters": { + "id": 43890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43889, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5300:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43888, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5300:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5299:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43940, + "nodeType": "FunctionDefinition", + "src": "5854:234:23", + "nodes": [], + "body": { + "id": 43939, + "nodeType": "Block", + "src": "5948:140:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43922 + ], + "declarations": [ + { + "constant": false, + "id": 43922, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5966:5:23", + "nodeType": "VariableDeclaration", + "scope": 43939, + "src": "5958:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43921, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5958:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43925, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43923, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "5974:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5974:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5958:28:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43927, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43922, + "src": "6005:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43928, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43914, + "src": "6012:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 43934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 43930, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43922, + "src": "6031:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43931, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43914, + "src": "6038:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 43929, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43853, + "src": "6021:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 43932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6021:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 43933, + "name": "addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43916, + "src": "6049:10:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6021:38:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43926, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "5996:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5996:64:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43936, + "nodeType": "ExpressionStatement", + "src": "5996:64:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6077:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43920, + "id": 43938, + "nodeType": "Return", + "src": "6070:11:23" + } + ] + }, + "documentation": { + "id": 43912, + "nodeType": "StructuredDocumentation", + "src": "5465:384:23", + "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "39509351", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseAllowance", + "nameLocation": "5863:17:23", + "parameters": { + "id": 43917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43914, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5889:7:23", + "nodeType": "VariableDeclaration", + "scope": 43940, + "src": "5881:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43913, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5881:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43916, + "mutability": "mutable", + "name": "addedValue", + "nameLocation": "5906:10:23", + "nodeType": "VariableDeclaration", + "scope": 43940, + "src": "5898:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5898:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5880:37:23" + }, + "returnParameters": { + "id": 43920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43919, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43940, + "src": "5942:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5942:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5941:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43981, + "nodeType": "FunctionDefinition", + "src": "6575:427:23", + "nodes": [], + "body": { + "id": 43980, + "nodeType": "Block", + "src": "6674:328:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43951 + ], + "declarations": [ + { + "constant": false, + "id": 43951, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6692:5:23", + "nodeType": "VariableDeclaration", + "scope": 43980, + "src": "6684:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43950, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6684:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43954, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43952, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "6700:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6700:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6684:28:23" + }, + { + "assignments": [ + 43956 + ], + "declarations": [ + { + "constant": false, + "id": 43956, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "6730:16:23", + "nodeType": "VariableDeclaration", + "scope": 43980, + "src": "6722:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6722:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 43961, + "initialValue": { + "arguments": [ + { + "id": 43958, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43951, + "src": "6759:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43959, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43943, + "src": "6766:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 43957, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43853, + "src": "6749:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 43960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6749:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6722:52:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 43965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 43963, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43956, + "src": "6792:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 43964, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43945, + "src": "6812:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6792:35:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", + "id": 43966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6829:39:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + }, + "value": "ERC20: decreased allowance below zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + } + ], + "id": 43962, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6784:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 43967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6784:85:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43968, + "nodeType": "ExpressionStatement", + "src": "6784:85:23" + }, + { + "id": 43977, + "nodeType": "UncheckedBlock", + "src": "6879:95:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 43970, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43951, + "src": "6912:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43971, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43943, + "src": "6919:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 43974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 43972, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43956, + "src": "6928:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 43973, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43945, + "src": "6947:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6928:34:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43969, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "6903:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6903:60:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43976, + "nodeType": "ExpressionStatement", + "src": "6903:60:23" + } + ] + }, + { + "expression": { + "hexValue": "74727565", + "id": 43978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6991:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43949, + "id": 43979, + "nodeType": "Return", + "src": "6984:11:23" + } + ] + }, + "documentation": { + "id": 43941, + "nodeType": "StructuredDocumentation", + "src": "6094:476:23", + "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." + }, + "functionSelector": "a457c2d7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decreaseAllowance", + "nameLocation": "6584:17:23", + "parameters": { + "id": 43946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43943, + "mutability": "mutable", + "name": "spender", + "nameLocation": "6610:7:23", + "nodeType": "VariableDeclaration", + "scope": 43981, + "src": "6602:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6602:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43945, + "mutability": "mutable", + "name": "subtractedValue", + "nameLocation": "6627:15:23", + "nodeType": "VariableDeclaration", + "scope": 43981, + "src": "6619:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6619:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6601:42:23" + }, + "returnParameters": { + "id": 43949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43948, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43981, + "src": "6668:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6668:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6667:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 44058, + "nodeType": "FunctionDefinition", + "src": "7456:788:23", + "nodes": [], + "body": { + "id": 44057, + "nodeType": "Block", + "src": "7534:710:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 43997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 43992, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7552:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 43995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7568:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 43994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7560:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 43993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7560:7:23", + "typeDescriptions": {} + } + }, + "id": 43996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7560:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7552:18:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", + "id": 43998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7572:39:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + }, + "value": "ERC20: transfer from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + } + ], + "id": 43991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7544:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 43999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7544:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44000, + "nodeType": "ExpressionStatement", + "src": "7544:68:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44002, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "7630:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7644:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7636:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7636:7:23", + "typeDescriptions": {} + } + }, + "id": 44006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7636:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7630:16:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", + "id": 44008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7648:37:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + }, + "value": "ERC20: transfer to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + } + ], + "id": 44001, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7622:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7622:64:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44010, + "nodeType": "ExpressionStatement", + "src": "7622:64:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44012, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7718:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44013, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "7724:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44014, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "7728:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44011, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44286, + "src": "7697:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7697:38:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44016, + "nodeType": "ExpressionStatement", + "src": "7697:38:23" + }, + { + "assignments": [ + 44018 + ], + "declarations": [ + { + "constant": false, + "id": 44018, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "7754:11:23", + "nodeType": "VariableDeclaration", + "scope": 44057, + "src": "7746:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7746:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 44022, + "initialValue": { + "baseExpression": { + "id": 44019, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "7768:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44021, + "indexExpression": { + "id": 44020, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7778:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7768:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7746:37:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44024, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44018, + "src": "7801:11:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 44025, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "7816:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7801:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", + "id": 44027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7824:40:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + }, + "value": "ERC20: transfer amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + } + ], + "id": 44023, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7793:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7793:72:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44029, + "nodeType": "ExpressionStatement", + "src": "7793:72:23" + }, + { + "id": 44044, + "nodeType": "UncheckedBlock", + "src": "7875:273:23", + "statements": [ + { + "expression": { + "id": 44036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44030, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "7899:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44032, + "indexExpression": { + "id": 44031, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7909:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7899:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44033, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44018, + "src": "7917:11:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 44034, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "7931:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7917:20:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7899:38:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44037, + "nodeType": "ExpressionStatement", + "src": "7899:38:23" + }, + { + "expression": { + "id": 44042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44038, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "8114:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44040, + "indexExpression": { + "id": 44039, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "8124:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8114:13:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 44041, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "8131:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8114:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44043, + "nodeType": "ExpressionStatement", + "src": "8114:23:23" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 44046, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "8172:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44047, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "8178:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44048, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "8182:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44045, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44310, + "src": "8163:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8163:26:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44050, + "nodeType": "EmitStatement", + "src": "8158:31:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44052, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "8220:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44053, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "8226:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44054, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "8230:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44051, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44297, + "src": "8200:19:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8200:37:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44056, + "nodeType": "ExpressionStatement", + "src": "8200:37:23" + } + ] + }, + "documentation": { + "id": 43982, + "nodeType": "StructuredDocumentation", + "src": "7008:443:23", + "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "7465:9:23", + "parameters": { + "id": 43989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43984, + "mutability": "mutable", + "name": "from", + "nameLocation": "7483:4:23", + "nodeType": "VariableDeclaration", + "scope": 44058, + "src": "7475:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43983, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7475:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43986, + "mutability": "mutable", + "name": "to", + "nameLocation": "7497:2:23", + "nodeType": "VariableDeclaration", + "scope": 44058, + "src": "7489:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43985, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7489:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43988, + "mutability": "mutable", + "name": "amount", + "nameLocation": "7509:6:23", + "nodeType": "VariableDeclaration", + "scope": 44058, + "src": "7501:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43987, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7501:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7474:42:23" + }, + "returnParameters": { + "id": 43990, + "nodeType": "ParameterList", + "parameters": [], + "src": "7534:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44115, + "nodeType": "FunctionDefinition", + "src": "8520:535:23", + "nodes": [], + "body": { + "id": 44114, + "nodeType": "Block", + "src": "8585:470:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44067, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8603:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8622:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8614:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44068, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8614:7:23", + "typeDescriptions": {} + } + }, + "id": 44071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8614:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8603:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "id": 44073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8626:33:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + }, + "value": "ERC20: mint to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + } + ], + "id": 44066, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8595:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8595:65:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44075, + "nodeType": "ExpressionStatement", + "src": "8595:65:23" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 44079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8700:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8692:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8692:7:23", + "typeDescriptions": {} + } + }, + "id": 44080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8692:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44081, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8704:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44082, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8713:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44076, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44286, + "src": "8671:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8671:49:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44084, + "nodeType": "ExpressionStatement", + "src": "8671:49:23" + }, + { + "expression": { + "id": 44087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 44085, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43735, + "src": "8731:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 44086, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8747:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8731:22:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44088, + "nodeType": "ExpressionStatement", + "src": "8731:22:23" + }, + { + "id": 44095, + "nodeType": "UncheckedBlock", + "src": "8763:175:23", + "statements": [ + { + "expression": { + "id": 44093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44089, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "8899:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44091, + "indexExpression": { + "id": 44090, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8909:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8899:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 44092, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8921:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8899:28:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44094, + "nodeType": "ExpressionStatement", + "src": "8899:28:23" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 44099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8969:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8961:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8961:7:23", + "typeDescriptions": {} + } + }, + "id": 44100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8961:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44101, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8973:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44102, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8982:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44096, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44310, + "src": "8952:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8952:37:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44104, + "nodeType": "EmitStatement", + "src": "8947:42:23" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 44108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9028:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9020:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9020:7:23", + "typeDescriptions": {} + } + }, + "id": 44109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9020:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44110, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "9032:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44111, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "9041:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44105, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44297, + "src": "9000:19:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9000:48:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44113, + "nodeType": "ExpressionStatement", + "src": "9000:48:23" + } + ] + }, + "documentation": { + "id": 44059, + "nodeType": "StructuredDocumentation", + "src": "8250:265:23", + "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "8529:5:23", + "parameters": { + "id": 44064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44061, + "mutability": "mutable", + "name": "account", + "nameLocation": "8543:7:23", + "nodeType": "VariableDeclaration", + "scope": 44115, + "src": "8535:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8535:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44063, + "mutability": "mutable", + "name": "amount", + "nameLocation": "8560:6:23", + "nodeType": "VariableDeclaration", + "scope": 44115, + "src": "8552:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8552:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8534:33:23" + }, + "returnParameters": { + "id": 44065, + "nodeType": "ParameterList", + "parameters": [], + "src": "8585:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44187, + "nodeType": "FunctionDefinition", + "src": "9375:659:23", + "nodes": [], + "body": { + "id": 44186, + "nodeType": "Block", + "src": "9440:594:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44124, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9458:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9477:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9469:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9469:7:23", + "typeDescriptions": {} + } + }, + "id": 44128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9469:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9458:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", + "id": 44130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9481:35:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + }, + "value": "ERC20: burn from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + } + ], + "id": 44123, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9450:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9450:67:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44132, + "nodeType": "ExpressionStatement", + "src": "9450:67:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44134, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9549:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 44137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9566:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9558:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9558:7:23", + "typeDescriptions": {} + } + }, + "id": 44138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9558:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44139, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9570:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44133, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44286, + "src": "9528:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9528:49:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44141, + "nodeType": "ExpressionStatement", + "src": "9528:49:23" + }, + { + "assignments": [ + 44143 + ], + "declarations": [ + { + "constant": false, + "id": 44143, + "mutability": "mutable", + "name": "accountBalance", + "nameLocation": "9596:14:23", + "nodeType": "VariableDeclaration", + "scope": 44186, + "src": "9588:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9588:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 44147, + "initialValue": { + "baseExpression": { + "id": 44144, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "9613:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44146, + "indexExpression": { + "id": 44145, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9613:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9588:43:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44149, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44143, + "src": "9649:14:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 44150, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9667:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9649:24:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", + "id": 44152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9675:36:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + }, + "value": "ERC20: burn amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + } + ], + "id": 44148, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9641:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9641:71:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44154, + "nodeType": "ExpressionStatement", + "src": "9641:71:23" + }, + { + "id": 44167, + "nodeType": "UncheckedBlock", + "src": "9722:194:23", + "statements": [ + { + "expression": { + "id": 44161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44155, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "9746:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44157, + "indexExpression": { + "id": 44156, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9756:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9746:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44158, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44143, + "src": "9767:14:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 44159, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9784:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9767:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9746:44:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44162, + "nodeType": "ExpressionStatement", + "src": "9746:44:23" + }, + { + "expression": { + "id": 44165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 44163, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43735, + "src": "9883:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 44164, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9899:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9883:22:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44166, + "nodeType": "ExpressionStatement", + "src": "9883:22:23" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 44169, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9940:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 44172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9957:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9949:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9949:7:23", + "typeDescriptions": {} + } + }, + "id": 44173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9949:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44174, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9961:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44168, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44310, + "src": "9931:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9931:37:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44176, + "nodeType": "EmitStatement", + "src": "9926:42:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44178, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9999:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 44181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10016:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10008:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10008:7:23", + "typeDescriptions": {} + } + }, + "id": 44182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10008:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44183, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "10020:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44177, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44297, + "src": "9979:19:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9979:48:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44185, + "nodeType": "ExpressionStatement", + "src": "9979:48:23" + } + ] + }, + "documentation": { + "id": 44116, + "nodeType": "StructuredDocumentation", + "src": "9061:309:23", + "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "9384:5:23", + "parameters": { + "id": 44121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44118, + "mutability": "mutable", + "name": "account", + "nameLocation": "9398:7:23", + "nodeType": "VariableDeclaration", + "scope": 44187, + "src": "9390:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9390:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44120, + "mutability": "mutable", + "name": "amount", + "nameLocation": "9415:6:23", + "nodeType": "VariableDeclaration", + "scope": 44187, + "src": "9407:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9407:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9389:33:23" + }, + "returnParameters": { + "id": 44122, + "nodeType": "ParameterList", + "parameters": [], + "src": "9440:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44232, + "nodeType": "FunctionDefinition", + "src": "10457:340:23", + "nodes": [], + "body": { + "id": 44231, + "nodeType": "Block", + "src": "10540:257:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44198, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44190, + "src": "10558:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10575:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10567:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10567:7:23", + "typeDescriptions": {} + } + }, + "id": 44202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10567:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10558:19:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", + "id": 44204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10579:38:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + }, + "value": "ERC20: approve from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + } + ], + "id": 44197, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10550:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10550:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44206, + "nodeType": "ExpressionStatement", + "src": "10550:68:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44208, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44192, + "src": "10636:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10655:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10647:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10647:7:23", + "typeDescriptions": {} + } + }, + "id": 44212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10647:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10636:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", + "id": 44214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10659:36:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + }, + "value": "ERC20: approve to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + } + ], + "id": 44207, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10628:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10628:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44216, + "nodeType": "ExpressionStatement", + "src": "10628:68:23" + }, + { + "expression": { + "id": 44223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 44217, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43733, + "src": "10707:11:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 44220, + "indexExpression": { + "id": 44218, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44190, + "src": "10719:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10707:18:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44221, + "indexExpression": { + "id": 44219, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44192, + "src": "10726:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10707:27:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 44222, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44194, + "src": "10737:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10707:36:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44224, + "nodeType": "ExpressionStatement", + "src": "10707:36:23" + }, + { + "eventCall": { + "arguments": [ + { + "id": 44226, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44190, + "src": "10767:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44227, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44192, + "src": "10774:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44228, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44194, + "src": "10783:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44225, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44319, + "src": "10758:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10758:32:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44230, + "nodeType": "EmitStatement", + "src": "10753:37:23" + } + ] + }, + "documentation": { + "id": 44188, + "nodeType": "StructuredDocumentation", + "src": "10040:412:23", + "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "10466:8:23", + "parameters": { + "id": 44195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44190, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10483:5:23", + "nodeType": "VariableDeclaration", + "scope": 44232, + "src": "10475:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10475:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44192, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10498:7:23", + "nodeType": "VariableDeclaration", + "scope": 44232, + "src": "10490:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10490:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44194, + "mutability": "mutable", + "name": "amount", + "nameLocation": "10515:6:23", + "nodeType": "VariableDeclaration", + "scope": 44232, + "src": "10507:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10507:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10474:48:23" + }, + "returnParameters": { + "id": 44196, + "nodeType": "ParameterList", + "parameters": [], + "src": "10540:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44275, + "nodeType": "FunctionDefinition", + "src": "11078:411:23", + "nodes": [], + "body": { + "id": 44274, + "nodeType": "Block", + "src": "11168:321:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 44243 + ], + "declarations": [ + { + "constant": false, + "id": 44243, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "11186:16:23", + "nodeType": "VariableDeclaration", + "scope": 44274, + "src": "11178:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11178:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 44248, + "initialValue": { + "arguments": [ + { + "id": 44245, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44235, + "src": "11215:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44246, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44237, + "src": "11222:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 44244, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43853, + "src": "11205:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 44247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11205:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11178:52:23" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44249, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44243, + "src": "11244:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 44252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11269:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 44251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11269:7:23", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 44250, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "11264:4:23", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 44253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11264:13:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 44254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11278:3:23", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "11264:17:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11244:37:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 44273, + "nodeType": "IfStatement", + "src": "11240:243:23", + "trueBody": { + "id": 44272, + "nodeType": "Block", + "src": "11283:200:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44257, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44243, + "src": "11305:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 44258, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44239, + "src": "11325:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11305:26:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "id": 44260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11333:31:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + }, + "value": "ERC20: insufficient allowance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + } + ], + "id": 44256, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11297:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11297:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44262, + "nodeType": "ExpressionStatement", + "src": "11297:68:23" + }, + { + "id": 44271, + "nodeType": "UncheckedBlock", + "src": "11379:94:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 44264, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44235, + "src": "11416:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44265, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44237, + "src": "11423:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44266, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44243, + "src": "11432:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 44267, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44239, + "src": "11451:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11432:25:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44263, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "11407:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11407:51:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44270, + "nodeType": "ExpressionStatement", + "src": "11407:51:23" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 44233, + "nodeType": "StructuredDocumentation", + "src": "10803:270:23", + "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_spendAllowance", + "nameLocation": "11087:15:23", + "parameters": { + "id": 44240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44235, + "mutability": "mutable", + "name": "owner", + "nameLocation": "11111:5:23", + "nodeType": "VariableDeclaration", + "scope": 44275, + "src": "11103:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11103:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44237, + "mutability": "mutable", + "name": "spender", + "nameLocation": "11126:7:23", + "nodeType": "VariableDeclaration", + "scope": 44275, + "src": "11118:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11118:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44239, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11143:6:23", + "nodeType": "VariableDeclaration", + "scope": 44275, + "src": "11135:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11135:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11102:48:23" + }, + "returnParameters": { + "id": 44241, + "nodeType": "ParameterList", + "parameters": [], + "src": "11168:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44286, + "nodeType": "FunctionDefinition", + "src": "12073:91:23", + "nodes": [], + "body": { + "id": 44285, + "nodeType": "Block", + "src": "12162:2:23", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 44276, + "nodeType": "StructuredDocumentation", + "src": "11495:573:23", + "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "12082:20:23", + "parameters": { + "id": 44283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44278, + "mutability": "mutable", + "name": "from", + "nameLocation": "12111:4:23", + "nodeType": "VariableDeclaration", + "scope": 44286, + "src": "12103:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12103:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44280, + "mutability": "mutable", + "name": "to", + "nameLocation": "12125:2:23", + "nodeType": "VariableDeclaration", + "scope": 44286, + "src": "12117:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12117:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44282, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12137:6:23", + "nodeType": "VariableDeclaration", + "scope": 44286, + "src": "12129:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12129:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12102:42:23" + }, + "returnParameters": { + "id": 44284, + "nodeType": "ParameterList", + "parameters": [], + "src": "12162:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44297, + "nodeType": "FunctionDefinition", + "src": "12752:90:23", + "nodes": [], + "body": { + "id": 44296, + "nodeType": "Block", + "src": "12840:2:23", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 44287, + "nodeType": "StructuredDocumentation", + "src": "12170:577:23", + "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterTokenTransfer", + "nameLocation": "12761:19:23", + "parameters": { + "id": 44294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44289, + "mutability": "mutable", + "name": "from", + "nameLocation": "12789:4:23", + "nodeType": "VariableDeclaration", + "scope": 44297, + "src": "12781:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44288, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12781:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44291, + "mutability": "mutable", + "name": "to", + "nameLocation": "12803:2:23", + "nodeType": "VariableDeclaration", + "scope": 44297, + "src": "12795:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12795:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44293, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12815:6:23", + "nodeType": "VariableDeclaration", + "scope": 44297, + "src": "12807:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12807:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12780:42:23" + }, + "returnParameters": { + "id": 44295, + "nodeType": "ParameterList", + "parameters": [], + "src": "12840:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 43718, + "name": "Context", + "nameLocations": [ + "1550:7:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45165, + "src": "1550:7:23" + }, + "id": 43719, + "nodeType": "InheritanceSpecifier", + "src": "1550:7:23" + }, + { + "baseName": { + "id": 43720, + "name": "IERC20", + "nameLocations": [ + "1559:6:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44376, + "src": "1559:6:23" + }, + "id": 43721, + "nodeType": "InheritanceSpecifier", + "src": "1559:6:23" + }, + { + "baseName": { + "id": 43722, + "name": "IERC20Metadata", + "nameLocations": [ + "1567:14:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44401, + "src": "1567:14:23" + }, + "id": 43723, + "nodeType": "InheritanceSpecifier", + "src": "1567:14:23" + } + ], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 43717, + "nodeType": "StructuredDocumentation", + "src": "230:1301:23", + "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 44298, + 44401, + 44376, + 45165 + ], + "name": "ERC20", + "nameLocation": "1541:5:23", + "scope": 44299, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 23 +} \ No newline at end of file diff --git a/subgraph/abis/OrderBook.json b/subgraph/abis/OrderBook.json new file mode 100644 index 0000000000..273aec993e --- /dev/null +++ b/subgraph/abis/OrderBook.json @@ -0,0 +1,33887 @@ +{ + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", + "name": "config", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ActiveDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "name": "FlashLenderCallbackFailed", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "name": "InvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "name": "MinimumInput", + "type": "error" + }, + { + "inputs": [], + "name": "NoOrders", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NotOrderOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "name": "NotRainMetaV1", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoHandleIO", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoInputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoOutputs", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderNoSources", + "type": "error" + }, + { + "inputs": [], + "name": "ReentrancyGuardReentrantCall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "SameOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "name": "SourceOffsetOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "aliceTokenDecimals", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "bobTokenDecimals", + "type": "uint8" + } + ], + "name": "TokenDecimalsMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "name": "TokenMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "name": "UnexpectedMetaHash", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "ZeroDepositAmount", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroReceiver", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "ZeroWithdrawTargetAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IExpressionDeployerV2", + "name": "expressionDeployer", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "AddOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple" + } + ], + "name": "AfterClear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + } + ], + "name": "Clear", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]" + } + ], + "name": "Context", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subject", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "name": "MetaV1", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderExceedsMaxRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderNotFound", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "OrderZeroAmount", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "RemoveOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "indexed": false, + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "input", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "output", + "type": "uint256" + } + ], + "name": "TakeOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IExpressionDeployerV2", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ], + "internalType": "struct EvaluableConfigV2", + "name": "evaluableConfig", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ], + "internalType": "struct OrderConfigV2", + "name": "config", + "type": "tuple" + } + ], + "name": "addOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "alice", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "bob", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext", + "type": "tuple[]" + } + ], + "name": "clear", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + } + ], + "name": "removeOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ], + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]" + } + ], + "internalType": "struct Order", + "name": "order", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]" + } + ], + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct TakeOrdersConfigV2", + "name": "config", + "type": "tuple" + } + ], + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalTakerInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalTakerOutput", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517f71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee90829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "8997:33509:172:-:0;;;1858:76:169;;;-1:-1:-1;;;;;;1858:76:169;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:172;1821:22:22;1109:11:79;;;;6419:66:172;;10962:6;;1075:46:79;;6419:66:172;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:172;8997:33509;;1424:292:154;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:154;;;;;3082:25:209;;;3123:18;;;3116:34;;;3055:18;;1619:46:154;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:93:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:93;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:93;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:93:o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:154;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;-1:-1:-1;;;;;825:32:154;667:18:153;883:36:154;;550:376::o;14:127:209:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:209;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:209;508:40;;-1:-1:-1;;;;;563:34:209;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:209:o;687:131::-;-1:-1:-1;;;;;762:31:209;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:209;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:209;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:209;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:209;;;2179:29;-1:-1:-1;2190:5:209;1078:1160;-1:-1:-1;;;1078:1160:209:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:209;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:209:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:209:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:209;;3161:435;-1:-1:-1;;;;;3161:435:209:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:209;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:209;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:209:o;:::-;8997:33509:172;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "8997:33509:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:209;;904:22;886:41;;874:2;859:18;11833:151:172;;;;;;;;5614:2666:169;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:209;;;2296:2;2281:18;8721:162:169;2162:177:209;13693:2174:172;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:209;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:172;3147:248:209;24689:4247:172;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:172:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:169:-;;;;;;:::i;:::-;;:::i;15906:448:172:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:172::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:172::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:209::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:172::1;::::0;15943:3:209;15928:19;12422:43:172::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:172;;;:::o;2303:20:22:-;12023:640:172;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:172::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:169:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:175;6965:6:169;:40;6961:111;;7028:33;;;;;;;;2308:25:209;;;2281:18;;7028:33:169;2162:177:209;6961:111:169;7450:14;;;-1:-1:-1;7482:10:169;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:169;;5614:2666;-1:-1:-1;;;;;;5614:2666:169:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:209;8838:23:169;;;;;;17954:18:209;;8838:38:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:169:o;13693:2174:172:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:172::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:172::1;::::0;-1:-1:-1;;;13824:56:172:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:209::0;17954:18;;13933:26:172::1;17835:226:209::0;13890:80:172::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:209::0;17954:18;;14022:27:172::1;17835:226:209::0;13979:81:172::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:209::0;17954:18;;14126:25:172::1;17835:226:209::0;14069:93:172::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:209::0;17954:18;;14229:26:172::1;17835:226:209::0;14171:95:172::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:160::0;3277:11;;3335:1:172::1;3301:16:160::0;;;3348:4;3337:16;;3330:27;3574:1:172::1;3377:16:160::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:172::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:172::1;::::0;-1:-1:-1;14882:27:172::1;::::0;-1:-1:-1;;14882:102:172:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:172::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:172::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:172::1;::::0;-1:-1:-1;;;15724:38:172:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:172;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:172::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:172::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:172;-1:-1:-1;17129:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:172::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:172::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:209;28256:15;;;17240:199:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:172::1;28003:327:209::0;17031:423:172::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:172::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:209;28706:17;;;18246:213:172::1;::::0;::::1;28688:36:209::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:172::1;28522:262:209::0;18031:443:172::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:172::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:172::1;::::0;15512:2:209;15497:18;19124:49:172::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:172::1;::::0;15512:2:209;15497:18;19933:56:172::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:172::1;::::0;15512:2:209;15497:18;20103:51:172::1;15322:398:209::0;20014:2488:172::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:172::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:149;21000:27:172;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:149;21906:13:172;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:172::1;::::0;-1:-1:-1;22120:76:172::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:149;22120:41:172;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:172::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:172::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:172::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:172;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:209::0;3362:18;;;3355:34;;;3294:18;;22729:50:172::1;3147:248:209::0;22665:125:172::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:172::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:172::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:172::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:172::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:172::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:172;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:172;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:209;17999:55;;;25011:22:172::1;::::0;::::1;17981:74:209::0;17954:18;;25011:22:172::1;17835:226:209::0;24956:92:172::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:209;28256:15;;;25252:181:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:172::1;28003:327:209::0;25061:387:172::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:209::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:172::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:209;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:172::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:172;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:172::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:172::1;-1:-1:-1::0;;28889:40:172::1;::::0;;28900:10:::1;32657:74:209::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:172::1;::::0;32644:3:209;32629:19;28889:40:172::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:172;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:172:-;2261:21:22;:19;:21::i;:::-;12810:12:172::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:172::1;15322:398:209::0;12806:107:172::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:172;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:209;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:172::1;::::0;33416:3:209;33401:19;13491:66:172::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:172;11720:7;3098::22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:172::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:172::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:209;28256:15;;;16061:38:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:172::1;28003:327:209::0;16009:101:172::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:172;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:172::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:209;2460:63:22;;;37243:21:209;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:209;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:209;15603:15;;;1482:68:27;;;15585:34:209;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:209;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:169:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:209;2555:7:169;;;;15635:18:209;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:169;15322:398:209;2481:109:169;2429:167::o;941:175:27:-;1050:58;;37623:42:209;37611:55;;1050:58:27;;;37593:74:209;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:209;;1050:58:27;37419:297:209;2258:165:169;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:169;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:169;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:91:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:91;;476:349;-1:-1:-1;476:349:91:o;568:59::-;-1:-1:-1;802:4:91;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:91:o;537:118:180:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:172:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:172;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:172;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:172;;4055:4:160;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:172;;;;4149:16:160;;;4142:27;30311:30:172;;;3967:22:160;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:172;;-1:-1:-1;30160:14:172;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:160;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:172;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:160;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:172;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:172;;;;;;;;;;;-1:-1:-1;;;;34596:141:172;;;;-1:-1:-1;34596:141:172;29640:5114::o;6057:849:151:-;6141:7;6211:8;253:2:149;6188:31:151;6184:706;;;253:2:149;6259:31:151;;;503:6:149;6312:21:151;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:149;6517:8:151;:31;6513:377;;;6590:31;;;416:1:149;6643:21:151;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:151;6867:8;;649:163:150;741:7;767:38;:1;776;339:4:149;796:8:150;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:150:o;7325:878:151:-;7414:7;7484:14;253:2:149;7461:37:151;7457:730;;;253:2:149;7540:37:151;;;416:1:149;7599:21:151;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:149;7809:14:151;:37;7805:382;;;7886:37;;;503:6:149;7945:21:151;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:172:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:172;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:172;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:172;-1:-1:-1;38505:22:172;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:169:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:169;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:169;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:169;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:172:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:172;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:209;5720:111:27;;;42026:21:209;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:209;1950:412:91;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:91:o;550:376:154:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;691:16;825:32;667:18:153;883:36:154;;550:376::o;7166:2290:92:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:92;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:160;3277:11;;3315:1;3301:16;;2288:10:92;3348:4:160;3337:16;;3330:27;2326:4:92;3377:16:160;;;3370:27;2211:16:92;3423::160;;3410:30;;;3277:11;2258:165:169;7817:17:92;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:92;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:146;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:92;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:92;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:209;;;2281:18;;9164:19:92;2162:177:209;8196:1010:92;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:92;7166:2290;-1:-1:-1;;;;;7166:2290:92:o;42090:213:172:-;42167:15;1048:2:94;1016:34;;;;;3455:1:172;1015:100:94;42201:95:172;816:316:94;3534:689:151;3614:9;726:2:149;3663:9:151;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:151;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:149;3179:9:151;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:151;;2590:688;-1:-1:-1;;2590:688:151:o;5172:598::-;5253:9;726:2:149;5302:11:151;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:151;5715:6;;5172:598;-1:-1:-1;;5172:598:151:o;4596:207::-;4670:7;726:2:149;4720:11:151;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:172:-;42380:15;1055:46:94;1048:2;1016:34;;;;;1015:87;42414:83:172;816:316:94;40029:2055:172;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:172;;;40835:183;;;-1:-1:-1;40992:13:172;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:172:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:91:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:91;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:91;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:209;2952:53:36;;;45067:21:209;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:209;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:209;8113:60:28;;;45417:21:209;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:209;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:209;5354:81:28;;;45775:21:209;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:209;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:209;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:209;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:209:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:209;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:209:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:209;;561:180;-1:-1:-1;561:180:209:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:209;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:209;1437:18;;1424:32;;-1:-1:-1;1507:2:209;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:209;;-1:-1:-1;1871:2:209;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:209:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:209:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:209:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:209;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:209;;5790:703;-1:-1:-1;;;;;;;5790:703:209:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:209:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:209;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:209;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:209;;-1:-1:-1;;10648:12:209;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:209;8145:2554;-1:-1:-1;;;;;;8145:2554:209:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:209;;-1:-1:-1;;;;12066:626:209:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:209;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:209:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:209;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:209;;13286:859;-1:-1:-1;;;;;;;13286:859:209:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:209;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:209;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:209:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:209:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:209;;17464:184;-1:-1:-1;17464:184:209:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:209:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:209;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:209;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:209;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:209;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:209;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:209;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:209;;20766:435;-1:-1:-1;;;;;20766:435:209:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:209;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:209;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:209;26645:966;-1:-1:-1;;26645:966:209:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:209;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:209;30554:9;30525:685;;;-1:-1:-1;31249:18:209;;;31242:34;;;;-1:-1:-1;;31292:18:209;;;31285:34;;;;-1:-1:-1;31227:6:209;;29325:2000;-1:-1:-1;;;;;;29325:2000:209:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:209;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:209;;-1:-1:-1;34383:18:209;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:209;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:209;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:209;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:209;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:209;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:209:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": "847a1bc9", + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", + "deposit(address,uint256,uint256)": "0efe6a8b", + "flashFee(address,uint256)": "d9d98ce4", + "flashLoan(address,address,uint256,bytes)": "5cffe9de", + "maxFlashLoan(address)": "613255ab", + "multicall(bytes[])": "ac9650d8", + "orderExists(bytes32)": "2cb77e9f", + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": "8a44689c", + "vaultBalance(address,address,uint256)": "d97b2e48", + "withdraw(address,uint256,uint256)": "b5c5f672" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV2ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoOrders\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoSources\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"aliceTokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"bobTokenDecimals\",\"type\":\"uint8\"}],\"name\":\"TokenDecimalsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroDepositAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroWithdrawTargetAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV2\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTakerInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTakerOutput\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"OrderNoHandleIO(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoInputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoOutputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoSources(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"params\":{\"aliceTokenDecimals\":\"The input or output decimals of one order.\",\"bobTokenDecimals\":\"The input or output decimals of the other order.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}],\"ZeroDepositAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` depositing tokens.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` withdrawing tokens.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the target amount if the vault does not have the funds available to cover the target amount. For example an active order might move tokens before the withdraw completes.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\",\"targetAmount\":\"The amount of tokens requested to withdraw.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"},\"returns\":{\"stateChanged\":\"True if the order was added, false if it already existed.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"token\":\"The token to deposit.\",\"vaultId\":\"The vault ID to deposit under.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"_0\":\"True if the order exists, false otherwise.\"}},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"},\"returns\":{\"stateChanged\":\"True if the order was removed, false if it did not exist.\"}},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalTakerInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalTakerOutput\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"vaultBalance(address,address,uint256)\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"returns\":{\"_0\":\"The current balance of the vault.\"}},\"withdraw(address,uint256,uint256)\":{\"params\":{\"targetAmount\":\"The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.\",\"token\":\"The token to withdraw.\",\"vaultId\":\"The vault ID to withdraw from.\"}}},\"stateVariables\":{\"sVaultBalances\":{\"details\":\"Vault balances are stored in a mapping of owner => token => vault ID This gives 1:1 parity with the `IOrderBookV1` interface but keeping the `sFoo` naming convention for storage variables.\"}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NoOrders()\":[{\"notice\":\"Thrown when take orders is called with no orders.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"OrderNoHandleIO(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"This will exist in a future version of Open Zeppelin if their main branch is to be believed.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"notice\":\"Thrown when the input and output token decimals don't match, in either direction.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroAmount()\":[{\"notice\":\"Thrown when `flashLoan` amount is zero.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `withdraw` if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens if the vault balance is zero, or the withdrawal is used to repay a flash loan.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,bytes32)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"orderExists(bytes32)\":{\"notice\":\"Returns true if the order exists, false otherwise.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw(address,uint256,uint256)\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0\",\"dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol\":{\"keccak256\":\"0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a\",\"dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768\",\"dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibContext.sol\":{\"keccak256\":\"0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05\",\"dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF\"]},\"lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb\",\"dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c\",\"dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP\"]},\"lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28\",\"dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"src/abstract/OrderBookV3FlashLender.sol\":{\"keccak256\":\"0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa\",\"dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86\",\"dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798\",\"dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc\",\"dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206\",\"dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "type": "error", + "name": "ActiveDebt" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "result", + "type": "bytes32" + } + ], + "type": "error", + "name": "FlashLenderCallbackFailed" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "i", + "type": "uint256" + } + ], + "type": "error", + "name": "InvalidSignature" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256" + } + ], + "type": "error", + "name": "MinimumInput" + }, + { + "inputs": [], + "type": "error", + "name": "NoOrders" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "NotOrderOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "unmeta", + "type": "bytes" + } + ], + "type": "error", + "name": "NotRainMetaV1" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoHandleIO" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoInputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoOutputs" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "type": "error", + "name": "OrderNoSources" + }, + { + "inputs": [], + "type": "error", + "name": "ReentrancyGuardReentrantCall" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "type": "error", + "name": "SameOwner" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "sourceIndex", + "type": "uint256" + } + ], + "type": "error", + "name": "SourceOffsetOutOfBounds" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "aliceTokenDecimals", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "bobTokenDecimals", + "type": "uint8" + } + ], + "type": "error", + "name": "TokenDecimalsMismatch" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aliceToken", + "type": "address" + }, + { + "internalType": "address", + "name": "bobToken", + "type": "address" + } + ], + "type": "error", + "name": "TokenMismatch" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expectedHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actualHash", + "type": "bytes32" + } + ], + "type": "error", + "name": "UnexpectedMetaHash" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroAmount" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroDepositAmount" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroReceiver" + }, + { + "inputs": [], + "type": "error", + "name": "ZeroToken" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroWithdrawTargetAmount" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "contract IExpressionDeployerV2", + "name": "expressionDeployer", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "AddOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct ClearStateChange", + "name": "clearStateChange", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInput", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "AfterClear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ], + "indexed": false + } + ], + "type": "event", + "name": "Clear", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256[][]", + "name": "context", + "type": "uint256[][]", + "indexed": false + } + ], + "type": "event", + "name": "Context", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "token", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Deposit", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "subject", + "type": "uint256", + "indexed": false + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "MetaV1", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderExceedsMaxRatio", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderNotFound", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "OrderZeroAmount", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "RemoveOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "struct TakeOrderConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "indexed": false + }, + { + "internalType": "uint256", + "name": "input", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "output", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "TakeOrder", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "token", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Withdraw", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "struct OrderConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct EvaluableConfigV2", + "name": "evaluableConfig", + "type": "tuple", + "components": [ + { + "internalType": "contract IExpressionDeployerV2", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "bytecode", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "constants", + "type": "uint256[]" + } + ] + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "addOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct Order", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "struct ClearConfig", + "name": "clearConfig", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "aliceInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobInputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobOutputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "aliceBountyVaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bobBountyVaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "aliceSignedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + }, + { + "internalType": "struct SignedContextV1[]", + "name": "bobSignedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clear" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deposit" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function", + "name": "flashFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "flashLoan", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "maxFlashLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "removeOrder", + "outputs": [ + { + "internalType": "bool", + "name": "stateChanged", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct TakeOrdersConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "minimumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maximumIORatio", + "type": "uint256" + }, + { + "internalType": "struct TakeOrderConfig[]", + "name": "orders", + "type": "tuple[]", + "components": [ + { + "internalType": "struct Order", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct Evaluable", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV1", + "name": "interpreter", + "type": "address" + }, + { + "internalType": "contract IInterpreterStoreV1", + "name": "store", + "type": "address" + }, + { + "internalType": "address", + "name": "expression", + "type": "address" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validInputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IO[]", + "name": "validOutputs", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "uint256", + "name": "inputIOIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputIOIndex", + "type": "uint256" + }, + { + "internalType": "struct SignedContextV1[]", + "name": "signedContext", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "context", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ] + } + ] + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "takeOrders", + "outputs": [ + { + "internalType": "uint256", + "name": "totalTakerInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalTakerOutput", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { + "params": { + "config": "All config required to build an `Order`." + }, + "returns": { + "stateChanged": "True if the order was added, false if it already existed." + } + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "params": { + "alice": "Some order to clear.", + "aliceSignedContext": "Optional signed context that is relevant to A.", + "bob": "Another order to clear.", + "bobSignedContext": "Optional signed context that is relevant to B.", + "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." + } + }, + "deposit(address,uint256,uint256)": { + "params": { + "amount": "The amount of tokens to deposit.", + "token": "The token to deposit.", + "vaultId": "The vault ID to deposit under." + } + }, + "flashFee(address,uint256)": { + "details": "The fee to be charged for a given loan.", + "params": { + "amount": "The amount of tokens lent.", + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." + } + }, + "flashLoan(address,address,uint256,bytes)": { + "details": "Initiate a flash loan.", + "params": { + "amount": "The amount of tokens lent.", + "data": "Arbitrary data structure, intended to contain user-defined parameters.", + "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", + "token": "The loan currency." + } + }, + "maxFlashLoan(address)": { + "details": "The amount of currency available to be lent.", + "params": { + "token": "The loan currency." + }, + "returns": { + "_0": "The amount of `token` that can be borrowed." + } + }, + "multicall(bytes[])": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Receives and executes a batch of function calls on this contract." + }, + "orderExists(bytes32)": { + "params": { + "orderHash": "The hash of the order to check." + }, + "returns": { + "_0": "True if the order exists, false otherwise." + } + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "params": { + "order": "The `Order` data exactly as it was added." + }, + "returns": { + "stateChanged": "True if the order was removed, false if it did not exist." + } + }, + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { + "params": { + "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." + }, + "returns": { + "totalTakerInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", + "totalTakerOutput": "Total tokens taken from `msg.sender` and distributed between vaults." + } + }, + "vaultBalance(address,address,uint256)": { + "params": { + "id": "The vault ID to read.", + "owner": "The owner of the vault.", + "token": "The token the vault is for." + }, + "returns": { + "_0": "The current balance of the vault." + } + }, + "withdraw(address,uint256,uint256)": { + "params": { + "targetAmount": "The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.", + "token": "The token to withdraw.", + "vaultId": "The vault ID to withdraw from." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { + "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true." + }, + "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { + "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" + }, + "constructor": { + "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." + }, + "deposit(address,uint256,uint256)": { + "notice": "Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero." + }, + "maxFlashLoan(address)": { + "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." + }, + "orderExists(bytes32)": { + "notice": "Returns true if the order exists, false otherwise." + }, + "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { + "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." + }, + "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { + "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." + }, + "vaultBalance(address,address,uint256)": { + "notice": "Get the current balance of a vault for a given owner, token and vault ID." + }, + "withdraw(address,uint256,uint256)": { + "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "src/concrete/OrderBook.sol": "OrderBook" + }, + "libraries": {} + }, + "sources": { + "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": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", + "urls": [ + "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", + "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", + "urls": [ + "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", + "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1", + "urls": [ + "bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68", + "dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { + "keccak256": "0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4", + "urls": [ + "bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0", + "dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58", + "urls": [ + "bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2", + "dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { + "keccak256": "0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80", + "urls": [ + "bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d", + "dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol": { + "keccak256": "0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db", + "urls": [ + "bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a", + "dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { + "keccak256": "0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6", + "urls": [ + "bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768", + "dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { + "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", + "urls": [ + "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", + "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", + "urls": [ + "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", + "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { + "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", + "urls": [ + "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", + "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { + "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", + "urls": [ + "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", + "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", + "urls": [ + "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", + "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibContext.sol": { + "keccak256": "0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a", + "urls": [ + "bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05", + "dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol": { + "keccak256": "0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085", + "urls": [ + "bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb", + "dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { + "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", + "urls": [ + "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", + "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { + "keccak256": "0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364", + "urls": [ + "bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c", + "dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP" + ], + "license": "CAL" + }, + "lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { + "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", + "urls": [ + "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", + "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { + "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", + "urls": [ + "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", + "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol": { + "keccak256": "0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc", + "urls": [ + "bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28", + "dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5" + ], + "license": "CAL" + }, + "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { + "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", + "urls": [ + "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", + "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" + ], + "license": "CAL" + }, + "lib/rain.metadata/src/IMetaV1.sol": { + "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", + "urls": [ + "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", + "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" + ], + "license": "CAL" + }, + "lib/rain.metadata/src/LibMeta.sol": { + "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", + "urls": [ + "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", + "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibBytes.sol": { + "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", + "urls": [ + "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", + "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibMemCpy.sol": { + "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", + "urls": [ + "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", + "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibPointer.sol": { + "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", + "urls": [ + "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", + "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" + ], + "license": "CAL" + }, + "lib/rain.solmem/src/lib/LibUint256Array.sol": { + "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", + "urls": [ + "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", + "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" + ], + "license": "CAL" + }, + "src/abstract/OrderBookV3FlashLender.sol": { + "keccak256": "0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471", + "urls": [ + "bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa", + "dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd" + ], + "license": "CAL" + }, + "src/concrete/OrderBook.sol": { + "keccak256": "0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b", + "urls": [ + "bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86", + "dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA" + ], + "license": "CAL" + }, + "src/interface/IOrderBookV2.sol": { + "keccak256": "0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a", + "urls": [ + "bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798", + "dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR" + ], + "license": "CAL" + }, + "src/interface/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", + "urls": [ + "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", + "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" + ], + "license": "CC0" + }, + "src/interface/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", + "urls": [ + "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", + "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" + ], + "license": "CC0" + }, + "src/interface/unstable/IOrderBookV3.sol": { + "keccak256": "0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da", + "urls": [ + "bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc", + "dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo" + ], + "license": "CAL" + }, + "src/interface/unstable/IOrderBookV3OrderTaker.sol": { + "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", + "urls": [ + "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", + "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" + ], + "license": "CAL" + }, + "src/lib/LibOrder.sol": { + "keccak256": "0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280", + "urls": [ + "bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206", + "dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/concrete/OrderBook.sol", + "id": 77005, + "exportedSymbols": { + "ActiveDebt": [ + 74215 + ], + "CALCULATE_ORDER_ENTRYPOINT": [ + 74875 + ], + "CALCULATE_ORDER_MAX_OUTPUTS": [ + 74891 + ], + "CALCULATE_ORDER_MIN_OUTPUTS": [ + 74887 + ], + "CALLER_META_HASH": [ + 74954 + ], + "CALLING_CONTEXT_COLUMNS": [ + 74903 + ], + "CONTEXT_BASE_COLUMN": [ + 74907 + ], + "CONTEXT_CALCULATIONS_COLUMN": [ + 74915 + ], + "CONTEXT_CALLING_CONTEXT_COLUMN": [ + 74911 + ], + "CONTEXT_VAULT_INPUTS_COLUMN": [ + 74919 + ], + "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ + 74939 + ], + "CONTEXT_VAULT_IO_BALANCE_DIFF": [ + 74943 + ], + "CONTEXT_VAULT_IO_ROWS": [ + 74947 + ], + "CONTEXT_VAULT_IO_TOKEN": [ + 74927 + ], + "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ + 74931 + ], + "CONTEXT_VAULT_IO_VAULT_ID": [ + 74935 + ], + "CONTEXT_VAULT_OUTPUTS_COLUMN": [ + 74923 + ], + "ClearConfig": [ + 77262 + ], + "ClearStateChange": [ + 77271 + ], + "DEFAULT_STATE_NAMESPACE": [ + 56316 + ], + "DeployerDiscoverableMetaV2": [ + 55357 + ], + "DeployerDiscoverableMetaV2ConstructionConfig": [ + 55312 + ], + "ECDSA": [ + 45815 + ], + "EncodedDispatch": [ + 56304 + ], + "Evaluable": [ + 57280 + ], + "EvaluableConfig": [ + 57262 + ], + "EvaluableConfigV2": [ + 57271 + ], + "FIXED_POINT_DECIMALS": [ + 71235 + ], + "FIXED_POINT_ONE": [ + 71239 + ], + "FLAG_MAX_INT": [ + 71255 + ], + "FLAG_ROUND_UP": [ + 71243 + ], + "FLAG_SATURATE": [ + 71249 + ], + "FLASH_FEE": [ + 74219 + ], + "FlashLenderCallbackFailed": [ + 74206 + ], + "FullyQualifiedNamespace": [ + 56265 + ], + "HANDLE_IO_ENTRYPOINT": [ + 74883 + ], + "HANDLE_IO_MAX_OUTPUTS": [ + 74899 + ], + "HANDLE_IO_MIN_OUTPUTS": [ + 74895 + ], + "HASH_NIL": [ + 71096 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ + 56194 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ + 56403 + ], + "IERC20": [ + 44376 + ], + "IERC3156FlashBorrower": [ + 77476 + ], + "IERC3156FlashLender": [ + 77513 + ], + "IExpressionDeployerV1": [ + 56230 + ], + "IExpressionDeployerV2": [ + 56438 + ], + "IInterpreterCallerV2": [ + 56260 + ], + "IInterpreterStoreV1": [ + 56297 + ], + "IInterpreterV1": [ + 56347 + ], + "IO": [ + 77192 + ], + "IOrderBookV3": [ + 77796 + ], + "IOrderBookV3OrderTaker": [ + 77828 + ], + "Input18Amount": [ + 74979 + ], + "InvalidSignature": [ + 56776 + ], + "LibBytecode": [ + 56762 + ], + "LibBytes": [ + 72126 + ], + "LibContext": [ + 57061 + ], + "LibEncodedDispatch": [ + 57246 + ], + "LibEvaluable": [ + 57293 + ], + "LibFixedPointDecimalArithmeticOpenZeppelin": [ + 71310 + ], + "LibFixedPointDecimalScale": [ + 71716 + ], + "LibHashNoAlloc": [ + 71138 + ], + "LibMemCpy": [ + 72158 + ], + "LibMeta": [ + 72048 + ], + "LibOrder": [ + 77850 + ], + "LibPointer": [ + 72293 + ], + "LibUint256Array": [ + 72684 + ], + "Math": [ + 46816 + ], + "MinimumInput": [ + 74854 + ], + "Multicall": [ + 45220 + ], + "NO_STORE": [ + 56274 + ], + "NoOrders": [ + 77527 + ], + "NotOrderOwner": [ + 74833 + ], + "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ + 77459 + ], + "ORDER_DEAD": [ + 74867 + ], + "ORDER_LIVE": [ + 74863 + ], + "OVERFLOW_RESCALE_OOMS": [ + 71259 + ], + "Operand": [ + 56308 + ], + "Order": [ + 77222 + ], + "OrderBook": [ + 77004 + ], + "OrderBookV3FlashLender": [ + 74539 + ], + "OrderConfigV2": [ + 77541 + ], + "OrderIOCalculation": [ + 74975 + ], + "OutOfBoundsTruncate": [ + 72466 + ], + "Output18Amount": [ + 74977 + ], + "Pointer": [ + 72173 + ], + "ReentrancyGuard": [ + 43711 + ], + "ReentrancyGuardReentrantCall": [ + 74826 + ], + "SIGNED_CONTEXT_CONTEXT_OFFSET": [ + 56246 + ], + "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ + 56249 + ], + "SIGNED_CONTEXT_SIGNER_OFFSET": [ + 56243 + ], + "SafeERC20": [ + 44813 + ], + "SameOwner": [ + 74859 + ], + "SignatureChecker": [ + 45914 + ], + "SignedContextV1": [ + 56240 + ], + "SourceIndex": [ + 56302 + ], + "SourceOffsetOutOfBounds": [ + 56493 + ], + "StateNamespace": [ + 56306 + ], + "TakeOrderConfig": [ + 77249 + ], + "TakeOrdersConfigV2": [ + 77554 + ], + "TokenDecimalsMismatch": [ + 74847 + ], + "TokenMismatch": [ + 74840 + ], + "TruncateError": [ + 72058 + ], + "ZeroAmount": [ + 74201 + ], + "ZeroReceiver": [ + 74198 + ], + "ZeroToken": [ + 74195 + ] + }, + "nodeType": "SourceUnit", + "src": "32:42475:172", + "nodes": [ + { + "id": 74800, + "nodeType": "PragmaDirective", + "src": "32:24:172", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 74802, + "nodeType": "ImportDirective", + "src": "58:78:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 46817, + "symbolAliases": [ + { + "foreign": { + "id": 74801, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "66:4:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74804, + "nodeType": "ImportDirective", + "src": "137:83:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "file": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 45221, + "symbolAliases": [ + { + "foreign": { + "id": 74803, + "name": "Multicall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45220, + "src": "145:9:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74806, + "nodeType": "ImportDirective", + "src": "221:83:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 44377, + "symbolAliases": [ + { + "foreign": { + "id": 74805, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "229:6:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74808, + "nodeType": "ImportDirective", + "src": "305:95:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "file": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 44814, + "symbolAliases": [ + { + "foreign": { + "id": 74807, + "name": "SafeERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44813, + "src": "313:9:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74810, + "nodeType": "ImportDirective", + "src": "401:98:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "file": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 43712, + "symbolAliases": [ + { + "foreign": { + "id": 74809, + "name": "ReentrancyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43711, + "src": "409:15:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74811, + "nodeType": "ImportDirective", + "src": "501:89:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", + "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 71311, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74812, + "nodeType": "ImportDirective", + "src": "591:72:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", + "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 71717, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74813, + "nodeType": "ImportDirective", + "src": "664:68:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "file": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 57247, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74814, + "nodeType": "ImportDirective", + "src": "733:60:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", + "file": "lib/rain.interpreter/src/lib/caller/LibContext.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 57062, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74818, + "nodeType": "ImportDirective", + "src": "794:177:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", + "file": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 55358, + "symbolAliases": [ + { + "foreign": { + "id": 74815, + "name": "DeployerDiscoverableMetaV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55357, + "src": "807:26:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 74816, + "name": "DeployerDiscoverableMetaV2ConstructionConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55312, + "src": "839:44:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 74817, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72048, + "src": "889:7:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 74819, + "nodeType": "ImportDirective", + "src": "972:63:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "file": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 56763, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74820, + "nodeType": "ImportDirective", + "src": "1037:48:172", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3.sol", + "file": "../interface/unstable/IOrderBookV3.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 77797, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74821, + "nodeType": "ImportDirective", + "src": "1086:58:172", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", + "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 77829, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74822, + "nodeType": "ImportDirective", + "src": "1145:29:172", + "nodes": [], + "absolutePath": "src/lib/LibOrder.sol", + "file": "../lib/LibOrder.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 77851, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74823, + "nodeType": "ImportDirective", + "src": "1175:48:172", + "nodes": [], + "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", + "file": "../abstract/OrderBookV3FlashLender.sol", + "nameLocation": "-1:-1:-1", + "scope": 77005, + "sourceUnit": 74540, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 74826, + "nodeType": "ErrorDefinition", + "src": "1326:37:172", + "nodes": [], + "documentation": { + "id": 74824, + "nodeType": "StructuredDocumentation", + "src": "1225:101:172", + "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." + }, + "errorSelector": "3ee5aeb5", + "name": "ReentrancyGuardReentrantCall", + "nameLocation": "1332:28:172", + "parameters": { + "id": 74825, + "nodeType": "ParameterList", + "parameters": [], + "src": "1360:2:172" + } + }, + { + "id": 74833, + "nodeType": "ErrorDefinition", + "src": "1539:51:172", + "nodes": [], + "documentation": { + "id": 74827, + "nodeType": "StructuredDocumentation", + "src": "1365:174:172", + "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." + }, + "errorSelector": "4702b914", + "name": "NotOrderOwner", + "nameLocation": "1545:13:172", + "parameters": { + "id": 74832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74829, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1567:6:172", + "nodeType": "VariableDeclaration", + "scope": 74833, + "src": "1559:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1559:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74831, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1583:5:172", + "nodeType": "VariableDeclaration", + "scope": 74833, + "src": "1575:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1575:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1558:31:172" + } + }, + { + "id": 74840, + "nodeType": "ErrorDefinition", + "src": "1807:58:172", + "nodes": [], + "documentation": { + "id": 74834, + "nodeType": "StructuredDocumentation", + "src": "1592:215:172", + "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." + }, + "errorSelector": "f902523f", + "name": "TokenMismatch", + "nameLocation": "1813:13:172", + "parameters": { + "id": 74839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74836, + "mutability": "mutable", + "name": "aliceToken", + "nameLocation": "1835:10:172", + "nodeType": "VariableDeclaration", + "scope": 74840, + "src": "1827:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1827:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74838, + "mutability": "mutable", + "name": "bobToken", + "nameLocation": "1855:8:172", + "nodeType": "VariableDeclaration", + "scope": 74840, + "src": "1847:16:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1847:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1826:38:172" + } + }, + { + "id": 74847, + "nodeType": "ErrorDefinition", + "src": "2107:78:172", + "nodes": [], + "documentation": { + "id": 74841, + "nodeType": "StructuredDocumentation", + "src": "1867:240:172", + "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." + }, + "errorSelector": "0f6ce477", + "name": "TokenDecimalsMismatch", + "nameLocation": "2113:21:172", + "parameters": { + "id": 74846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74843, + "mutability": "mutable", + "name": "aliceTokenDecimals", + "nameLocation": "2141:18:172", + "nodeType": "VariableDeclaration", + "scope": 74847, + "src": "2135:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 74842, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2135:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74845, + "mutability": "mutable", + "name": "bobTokenDecimals", + "nameLocation": "2167:16:172", + "nodeType": "VariableDeclaration", + "scope": 74847, + "src": "2161:22:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 74844, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2161:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2134:50:172" + } + }, + { + "id": 74854, + "nodeType": "ErrorDefinition", + "src": "2331:56:172", + "nodes": [], + "documentation": { + "id": 74848, + "nodeType": "StructuredDocumentation", + "src": "2187:144:172", + "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." + }, + "errorSelector": "45094d88", + "name": "MinimumInput", + "nameLocation": "2337:12:172", + "parameters": { + "id": 74853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74850, + "mutability": "mutable", + "name": "minimumInput", + "nameLocation": "2358:12:172", + "nodeType": "VariableDeclaration", + "scope": 74854, + "src": "2350:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2350:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74852, + "mutability": "mutable", + "name": "input", + "nameLocation": "2380:5:172", + "nodeType": "VariableDeclaration", + "scope": 74854, + "src": "2372:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2372:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2349:37:172" + } + }, + { + "id": 74859, + "nodeType": "ErrorDefinition", + "src": "2493:31:172", + "nodes": [], + "documentation": { + "id": 74855, + "nodeType": "StructuredDocumentation", + "src": "2389:104:172", + "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." + }, + "errorSelector": "227e4ce9", + "name": "SameOwner", + "nameLocation": "2499:9:172", + "parameters": { + "id": 74858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 74857, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2517:5:172", + "nodeType": "VariableDeclaration", + "scope": 74859, + "src": "2509:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 74856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2509:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2508:15:172" + } + }, + { + "id": 74863, + "nodeType": "VariableDeclaration", + "src": "2652:31:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_LIVE", + "nameLocation": "2669:10:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2652:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 74862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2682:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 74867, + "nodeType": "VariableDeclaration", + "src": "2856:31:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_DEAD", + "nameLocation": "2873:10:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2856:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2886:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74875, + "nodeType": "VariableDeclaration", + "src": "2959:69:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nameLocation": "2980:26:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 74870, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74869, + "name": "SourceIndex", + "nameLocations": [ + "2959:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56302, + "src": "2959:11:172" + }, + "referencedDeclaration": 56302, + "src": "2959:11:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "30", + "id": 74873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3026:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 74871, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56302, + "src": "3009:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 74872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3021:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "3009:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 74874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3009:19:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 74883, + "nodeType": "VariableDeclaration", + "src": "3151:63:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_ENTRYPOINT", + "nameLocation": "3172:20:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + "typeName": { + "id": 74878, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74877, + "name": "SourceIndex", + "nameLocations": [ + "3151:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56302, + "src": "3151:11:172" + }, + "referencedDeclaration": 56302, + "src": "3151:11:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "value": { + "arguments": [ + { + "hexValue": "31", + "id": 74881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3212:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "id": 74879, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56302, + "src": "3195:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 74880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3207:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "3195:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "function (uint16) pure returns (SourceIndex)" + } + }, + "id": 74882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3195:19:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + "visibility": "internal" + }, + { + "id": 74887, + "nodeType": "VariableDeclaration", + "src": "3288:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nameLocation": "3305:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3288:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 74886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3335:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74891, + "nodeType": "VariableDeclaration", + "src": "3409:47:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nameLocation": "3425:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 74889, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3409:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32", + "id": 74890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3455:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74895, + "nodeType": "VariableDeclaration", + "src": "3533:42:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MIN_OUTPUTS", + "nameLocation": "3550:21:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3533:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3574:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74899, + "nodeType": "VariableDeclaration", + "src": "3651:41:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MAX_OUTPUTS", + "nameLocation": "3667:21:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 74897, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "3651:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "30", + "id": 74898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3691:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74903, + "nodeType": "VariableDeclaration", + "src": "4230:44:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLING_CONTEXT_COLUMNS", + "nameLocation": "4247:23:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4230:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 74902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4273:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 74907, + "nodeType": "VariableDeclaration", + "src": "4315:40:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_BASE_COLUMN", + "nameLocation": "4332:19:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4315:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4354:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74911, + "nodeType": "VariableDeclaration", + "src": "4656:51:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nameLocation": "4673:30:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4656:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 74910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4706:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 74915, + "nodeType": "VariableDeclaration", + "src": "4854:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nameLocation": "4871:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4854:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 74914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4901:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74919, + "nodeType": "VariableDeclaration", + "src": "5194:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nameLocation": "5211:27:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5194:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 74918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5241:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 74923, + "nodeType": "VariableDeclaration", + "src": "5360:49:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nameLocation": "5377:28:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5360:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 74922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5408:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 74927, + "nodeType": "VariableDeclaration", + "src": "5484:43:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN", + "nameLocation": "5501:22:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5484:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 74926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5526:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 74931, + "nodeType": "VariableDeclaration", + "src": "5602:52:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", + "nameLocation": "5619:31:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5602:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 74930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5653:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 74935, + "nodeType": "VariableDeclaration", + "src": "5723:46:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nameLocation": "5740:25:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74933, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5723:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 74934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5768:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 74939, + "nodeType": "VariableDeclaration", + "src": "5876:52:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", + "nameLocation": "5893:31:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74937, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5876:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 74938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5927:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 74943, + "nodeType": "VariableDeclaration", + "src": "6176:50:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nameLocation": "6193:29:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6176:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 74942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6225:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 74947, + "nodeType": "VariableDeclaration", + "src": "6266:42:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_ROWS", + "nameLocation": "6283:21:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74945, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6266:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "35", + "id": 74946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6307:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "id": 74954, + "nodeType": "VariableDeclaration", + "src": "6375:111:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLER_META_HASH", + "nameLocation": "6392:16:172", + "scope": 77005, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 74949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6375:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307837316665326634663638663137646665366165376162613262626436636266653561326134386139336562626338623166313930303838376239373865656565", + "id": 74952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6419:66:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", + "typeString": "int_const 5156...(69 digits omitted)...4718" + }, + "value": "0x71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", + "typeString": "int_const 5156...(69 digits omitted)...4718" + } + ], + "id": 74951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6411:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 74950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6411:7:172", + "typeDescriptions": {} + } + }, + "id": 74953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6411:75:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 74975, + "nodeType": "StructDefinition", + "src": "8613:249:172", + "nodes": [], + "canonicalName": "OrderIOCalculation", + "members": [ + { + "constant": false, + "id": 74957, + "mutability": "mutable", + "name": "order", + "nameLocation": "8651:5:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8645:11:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 74956, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74955, + "name": "Order", + "nameLocations": [ + "8645:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "8645:5:172" + }, + "referencedDeclaration": 77222, + "src": "8645:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74959, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "8670:13:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8662:21:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8662:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74962, + "mutability": "mutable", + "name": "outputMax", + "nameLocation": "8704:9:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8689:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 74961, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74960, + "name": "Output18Amount", + "nameLocations": [ + "8689:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "8689:14:172" + }, + "referencedDeclaration": 74977, + "src": "8689:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74964, + "mutability": "mutable", + "name": "IORatio", + "nameLocation": "8778:7:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8770:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74963, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8770:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74968, + "mutability": "mutable", + "name": "context", + "nameLocation": "8803:7:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8791:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 74965, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8791:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74966, + "nodeType": "ArrayTypeName", + "src": "8791:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 74967, + "nodeType": "ArrayTypeName", + "src": "8791:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74971, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "8831:9:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8816:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 74970, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74969, + "name": "StateNamespace", + "nameLocations": [ + "8816:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56306, + "src": "8816:14:172" + }, + "referencedDeclaration": 56306, + "src": "8816:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 74974, + "mutability": "mutable", + "name": "kvs", + "nameLocation": "8856:3:172", + "nodeType": "VariableDeclaration", + "scope": 74975, + "src": "8846:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 74972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8846:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74973, + "nodeType": "ArrayTypeName", + "src": "8846:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "name": "OrderIOCalculation", + "nameLocation": "8620:18:172", + "scope": 77005, + "visibility": "public" + }, + { + "id": 74977, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "8864:31:172", + "nodes": [], + "canonicalName": "Output18Amount", + "name": "Output18Amount", + "nameLocation": "8869:14:172", + "underlyingType": { + "id": 74976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8887:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 74979, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "8897:30:172", + "nodes": [], + "canonicalName": "Input18Amount", + "name": "Input18Amount", + "nameLocation": "8902:13:172", + "underlyingType": { + "id": 74978, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8919:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 77004, + "nodeType": "ContractDefinition", + "src": "8997:33509:172", + "nodes": [ + { + "id": 74994, + "nodeType": "UsingForDirective", + "src": "9118:36:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 74991, + "name": "LibUint256Array", + "nameLocations": [ + "9124:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72684, + "src": "9124:15:172" + }, + "typeName": { + "baseType": { + "id": 74992, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9144:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 74993, + "nodeType": "ArrayTypeName", + "src": "9144:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "id": 74998, + "nodeType": "UsingForDirective", + "src": "9159:27:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 74995, + "name": "SafeERC20", + "nameLocations": [ + "9165:9:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44813, + "src": "9165:9:172" + }, + "typeName": { + "id": 74997, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 74996, + "name": "IERC20", + "nameLocations": [ + "9179:6:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44376, + "src": "9179:6:172" + }, + "referencedDeclaration": 44376, + "src": "9179:6:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + } + }, + { + "id": 75002, + "nodeType": "UsingForDirective", + "src": "9191:25:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 74999, + "name": "LibOrder", + "nameLocations": [ + "9197:8:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77850, + "src": "9197:8:172" + }, + "typeName": { + "id": 75001, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75000, + "name": "Order", + "nameLocations": [ + "9210:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "9210:5:172" + }, + "referencedDeclaration": 77222, + "src": "9210:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + } + }, + { + "id": 75005, + "nodeType": "UsingForDirective", + "src": "9221:34:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75003, + "name": "LibUint256Array", + "nameLocations": [ + "9227:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72684, + "src": "9227:15:172" + }, + "typeName": { + "id": 75004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9247:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75008, + "nodeType": "UsingForDirective", + "src": "9260:23:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75006, + "name": "Math", + "nameLocations": [ + "9266:4:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 46816, + "src": "9266:4:172" + }, + "typeName": { + "id": 75007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9275:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75011, + "nodeType": "UsingForDirective", + "src": "9288:44:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75009, + "name": "LibFixedPointDecimalScale", + "nameLocations": [ + "9294:25:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71716, + "src": "9294:25:172" + }, + "typeName": { + "id": 75010, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9324:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75014, + "nodeType": "UsingForDirective", + "src": "9337:61:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 75012, + "name": "LibFixedPointDecimalArithmeticOpenZeppelin", + "nameLocations": [ + "9343:42:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 71310, + "src": "9343:42:172" + }, + "typeName": { + "id": 75013, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9390:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 75019, + "nodeType": "VariableDeclaration", + "src": "9997:63:172", + "nodes": [], + "constant": false, + "documentation": { + "id": 75015, + "nodeType": "StructuredDocumentation", + "src": "9404:465:172", + "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" + }, + "mutability": "mutable", + "name": "sOrders", + "nameLocation": "10053:7:172", + "scope": 77004, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 75018, + "keyName": "orderHash", + "keyNameLocation": "10013:9:172", + "keyType": { + "id": 75016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10005:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "9997:46:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueName": "liveness", + "valueNameLocation": "10034:8:172", + "valueType": { + "id": 75017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10026:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "id": 75028, + "nodeType": "VariableDeclaration", + "src": "10408:127:172", + "nodes": [], + "constant": false, + "documentation": { + "id": 75020, + "nodeType": "StructuredDocumentation", + "src": "10067:213:172", + "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." + }, + "mutability": "mutable", + "name": "sVaultBalances", + "nameLocation": "10521:14:172", + "scope": 77004, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "typeName": { + "id": 75027, + "keyName": "owner", + "keyNameLocation": "10424:5:172", + "keyType": { + "id": 75021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10416:7:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "10408:95:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 75026, + "keyName": "token", + "keyNameLocation": "10449:5:172", + "keyType": { + "id": 75022, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10441:7:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "10433:69:172", + "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": 75025, + "keyName": "vaultId", + "keyNameLocation": "10474:7:172", + "keyType": { + "id": 75023, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10466:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "10458:43:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "balance", + "valueNameLocation": "10493:7:172", + "valueType": { + "id": 75024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10485:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + } + }, + "visibility": "internal" + }, + { + "id": 75040, + "nodeType": "FunctionDefinition", + "src": "10837:139:172", + "nodes": [], + "body": { + "id": 75039, + "nodeType": "Block", + "src": "10974:2:172", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 75029, + "nodeType": "StructuredDocumentation", + "src": "10542:290:172", + "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 75035, + "name": "CALLER_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74954, + "src": "10944:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 75036, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75032, + "src": "10962:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" + } + } + ], + "id": 75037, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 75034, + "name": "DeployerDiscoverableMetaV2", + "nameLocations": [ + "10917:26:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55357, + "src": "10917:26:172" + }, + "nodeType": "ModifierInvocation", + "src": "10917:52:172" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 75033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75032, + "mutability": "mutable", + "name": "config", + "nameLocation": "10901:6:172", + "nodeType": "VariableDeclaration", + "scope": 75040, + "src": "10849:58:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" + }, + "typeName": { + "id": 75031, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75030, + "name": "DeployerDiscoverableMetaV2ConstructionConfig", + "nameLocations": [ + "10849:44:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55312, + "src": "10849:44:172" + }, + "referencedDeclaration": 55312, + "src": "10849:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_storage_ptr", + "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "10848:60:172" + }, + "returnParameters": { + "id": 75038, + "nodeType": "ParameterList", + "parameters": [], + "src": "10974:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 75052, + "nodeType": "ModifierDefinition", + "src": "11090:148:172", + "nodes": [], + "body": { + "id": 75051, + "nodeType": "Block", + "src": "11118:120:172", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75043, + "name": "_reentrancyGuardEntered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43710, + "src": "11132:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 75044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11132:25:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75049, + "nodeType": "IfStatement", + "src": "11128:93:172", + "trueBody": { + "id": 75048, + "nodeType": "Block", + "src": "11159:62:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75045, + "name": "ReentrancyGuardReentrantCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74826, + "src": "11180:28:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 75046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11180:30:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75047, + "nodeType": "RevertStatement", + "src": "11173:37:172" + } + ] + } + }, + { + "id": 75050, + "nodeType": "PlaceholderStatement", + "src": "11230:1:172" + } + ] + }, + "documentation": { + "id": 75041, + "nodeType": "StructuredDocumentation", + "src": "10982:103:172", + "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" + }, + "name": "nonReentrantView", + "nameLocation": "11099:16:172", + "parameters": { + "id": 75042, + "nodeType": "ParameterList", + "parameters": [], + "src": "11115:2:172" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 75076, + "nodeType": "FunctionDefinition", + "src": "11562:232:172", + "nodes": [], + "body": { + "id": 75075, + "nodeType": "Block", + "src": "11733:61:172", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75067, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "11750:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75069, + "indexExpression": { + "id": 75068, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75055, + "src": "11765:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11750:21:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75071, + "indexExpression": { + "id": 75070, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75057, + "src": "11772:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11750:28:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75073, + "indexExpression": { + "id": 75072, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75059, + "src": "11779:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11750:37:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 75066, + "id": 75074, + "nodeType": "Return", + "src": "11743:44:172" + } + ] + }, + "baseFunctions": [ + 77717 + ], + "documentation": { + "id": 75053, + "nodeType": "StructuredDocumentation", + "src": "11244:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "d97b2e48", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75063, + "kind": "modifierInvocation", + "modifierName": { + "id": 75062, + "name": "nonReentrantView", + "nameLocations": [ + "11686:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 75052, + "src": "11686:16:172" + }, + "nodeType": "ModifierInvocation", + "src": "11686:16:172" + } + ], + "name": "vaultBalance", + "nameLocation": "11571:12:172", + "overrides": { + "id": 75061, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11669:8:172" + }, + "parameters": { + "id": 75060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75055, + "mutability": "mutable", + "name": "owner", + "nameLocation": "11592:5:172", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11584:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11584:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75057, + "mutability": "mutable", + "name": "token", + "nameLocation": "11607:5:172", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11599:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11599:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75059, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "11622:7:172", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11614:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11614:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11583:47:172" + }, + "returnParameters": { + "id": 75066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75065, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75076, + "src": "11720:7:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11720:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11719:9:172" + }, + "scope": 77004, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 75094, + "nodeType": "FunctionDefinition", + "src": "11833:151:172", + "nodes": [], + "body": { + "id": 75093, + "nodeType": "Block", + "src": "11928:56:172", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75087, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "11945:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75089, + "indexExpression": { + "id": 75088, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75079, + "src": "11953:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11945:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75090, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74863, + "src": "11967:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11945:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 75086, + "id": 75092, + "nodeType": "Return", + "src": "11938:39:172" + } + ] + }, + "baseFunctions": [ + 77754 + ], + "documentation": { + "id": 75077, + "nodeType": "StructuredDocumentation", + "src": "11800:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "2cb77e9f", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75083, + "kind": "modifierInvocation", + "modifierName": { + "id": 75082, + "name": "nonReentrantView", + "nameLocations": [ + "11896:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 75052, + "src": "11896:16:172" + }, + "nodeType": "ModifierInvocation", + "src": "11896:16:172" + } + ], + "name": "orderExists", + "nameLocation": "11842:11:172", + "overrides": { + "id": 75081, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11887:8:172" + }, + "parameters": { + "id": 75080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75079, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "11862:9:172", + "nodeType": "VariableDeclaration", + "scope": 75094, + "src": "11854:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75078, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11854:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11853:19:172" + }, + "returnParameters": { + "id": 75086, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75085, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 75094, + "src": "11922:4:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 75084, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11922:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11921:6:172" + }, + "scope": 77004, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 75151, + "nodeType": "FunctionDefinition", + "src": "12023:640:172", + "nodes": [], + "body": { + "id": 75150, + "nodeType": "Block", + "src": "12110:553:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75106, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12124:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12134:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12124:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75117, + "nodeType": "IfStatement", + "src": "12120:94:172", + "trueBody": { + "id": 75116, + "nodeType": "Block", + "src": "12137:77:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75110, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12176:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12180:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12176:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75112, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12188:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75113, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75099, + "src": "12195:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75109, + "name": "ZeroDepositAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77568, + "src": "12158:17:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 75114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12158:45:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75115, + "nodeType": "RevertStatement", + "src": "12151:52:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75119, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12430:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12434:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12430:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75121, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12442:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75122, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75099, + "src": "12449:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75123, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12458:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75118, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77608, + "src": "12422:7:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 75124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12422:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75125, + "nodeType": "EmitStatement", + "src": "12417:48:172" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75130, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12560:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12564:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12560:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 75134, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "12580:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + ], + "id": 75133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12572:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 75132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12572:7:172", + "typeDescriptions": {} + } + }, + "id": 75135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12572:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75136, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12587:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75127, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12536:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75126, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "12529:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 75128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12529:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 75129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12543:16:172", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44497, + "src": "12529:30:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 75137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12529:65:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75138, + "nodeType": "ExpressionStatement", + "src": "12529:65:172" + }, + { + "expression": { + "id": 75148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75139, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "12604:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75144, + "indexExpression": { + "expression": { + "id": 75140, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12619:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12623:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12619:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12604:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75145, + "indexExpression": { + "id": 75142, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75097, + "src": "12631:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12604:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75146, + "indexExpression": { + "id": 75143, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75099, + "src": "12638:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12604:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75147, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75101, + "src": "12650:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12604:52:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75149, + "nodeType": "ExpressionStatement", + "src": "12604:52:172" + } + ] + }, + "baseFunctions": [ + 77727 + ], + "documentation": { + "id": 75095, + "nodeType": "StructuredDocumentation", + "src": "11990:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "0efe6a8b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75104, + "kind": "modifierInvocation", + "modifierName": { + "id": 75103, + "name": "nonReentrant", + "nameLocations": [ + "12097:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "12097:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "12097:12:172" + } + ], + "name": "deposit", + "nameLocation": "12032:7:172", + "parameters": { + "id": 75102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75097, + "mutability": "mutable", + "name": "token", + "nameLocation": "12048:5:172", + "nodeType": "VariableDeclaration", + "scope": 75151, + "src": "12040:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12040:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75099, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "12063:7:172", + "nodeType": "VariableDeclaration", + "scope": 75151, + "src": "12055:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12055:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75101, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12080:6:172", + "nodeType": "VariableDeclaration", + "scope": 75151, + "src": "12072:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12072:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12039:48:172" + }, + "returnParameters": { + "id": 75105, + "nodeType": "ParameterList", + "parameters": [], + "src": "12110:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75228, + "nodeType": "FunctionDefinition", + "src": "12702:952:172", + "nodes": [], + "body": { + "id": 75227, + "nodeType": "Block", + "src": "12796:858:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75163, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75158, + "src": "12810:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12826:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12810:17:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75174, + "nodeType": "IfStatement", + "src": "12806:107:172", + "trueBody": { + "id": 75173, + "nodeType": "Block", + "src": "12829:84:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75167, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12875:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12879:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12875:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75169, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "12887:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75170, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "12894:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75166, + "name": "ZeroWithdrawTargetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77577, + "src": "12850:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 75171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12850:52:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75172, + "nodeType": "RevertStatement", + "src": "12843:59:172" + } + ] + } + }, + { + "assignments": [ + 75176 + ], + "declarations": [ + { + "constant": false, + "id": 75176, + "mutability": "mutable", + "name": "currentVaultBalance", + "nameLocation": "12930:19:172", + "nodeType": "VariableDeclaration", + "scope": 75227, + "src": "12922:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12922:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75185, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75177, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "12952:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75180, + "indexExpression": { + "expression": { + "id": 75178, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12967:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12971:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12967:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75182, + "indexExpression": { + "id": 75181, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "12979:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75184, + "indexExpression": { + "id": 75183, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "12986:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12922:72:172" + }, + { + "assignments": [ + 75187 + ], + "declarations": [ + { + "constant": false, + "id": 75187, + "mutability": "mutable", + "name": "withdrawAmount", + "nameLocation": "13084:14:172", + "nodeType": "VariableDeclaration", + "scope": 75227, + "src": "13076:22:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75186, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13076:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75192, + "initialValue": { + "arguments": [ + { + "id": 75190, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75176, + "src": "13118:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75188, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75158, + "src": "13101:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13114:3:172", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 45993, + "src": "13101:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 75191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13101:37:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13076:62:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75193, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13152:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13169:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13152:18:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75226, + "nodeType": "IfStatement", + "src": "13148:500:172", + "trueBody": { + "id": 75225, + "nodeType": "Block", + "src": "13172:476:172", + "statements": [ + { + "expression": { + "id": 75207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 75196, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "13391:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 75201, + "indexExpression": { + "expression": { + "id": 75197, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13406:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13410:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13406:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13391:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 75202, + "indexExpression": { + "id": 75199, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "13418:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13391:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 75203, + "indexExpression": { + "id": 75200, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "13425:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13391:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75204, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75176, + "src": "13436:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 75205, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13458:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13436:36:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13391:81:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75208, + "nodeType": "ExpressionStatement", + "src": "13391:81:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75210, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13500:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13504:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13500:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75212, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "13512:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75213, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75156, + "src": "13519:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75214, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75158, + "src": "13528:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75215, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13542:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75209, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77621, + "src": "13491:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256,uint256)" + } + }, + "id": 75216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13491:66:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75217, + "nodeType": "EmitStatement", + "src": "13486:71:172" + }, + { + "expression": { + "arguments": [ + { + "id": 75219, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75154, + "src": "13603:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75220, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13610:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13614:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13610:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75222, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75187, + "src": "13622:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75218, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74350, + "src": "13571:31:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,address,uint256) returns (uint256)" + } + }, + "id": 75223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13571:66:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75224, + "nodeType": "ExpressionStatement", + "src": "13571:66:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 77737 + ], + "documentation": { + "id": 75152, + "nodeType": "StructuredDocumentation", + "src": "12669:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "b5c5f672", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75161, + "kind": "modifierInvocation", + "modifierName": { + "id": 75160, + "name": "nonReentrant", + "nameLocations": [ + "12783:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "12783:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "12783:12:172" + } + ], + "name": "withdraw", + "nameLocation": "12711:8:172", + "parameters": { + "id": 75159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75154, + "mutability": "mutable", + "name": "token", + "nameLocation": "12728:5:172", + "nodeType": "VariableDeclaration", + "scope": 75228, + "src": "12720:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12720:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75156, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "12743:7:172", + "nodeType": "VariableDeclaration", + "scope": 75228, + "src": "12735:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75155, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12735:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75158, + "mutability": "mutable", + "name": "targetAmount", + "nameLocation": "12760:12:172", + "nodeType": "VariableDeclaration", + "scope": 75228, + "src": "12752:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12752:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12719:54:172" + }, + "returnParameters": { + "id": 75162, + "nodeType": "ParameterList", + "parameters": [], + "src": "12796:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75405, + "nodeType": "FunctionDefinition", + "src": "13693:2174:172", + "nodes": [], + "body": { + "id": 75404, + "nodeType": "Block", + "src": "13792:2075:172", + "nodes": [], + "statements": [ + { + "assignments": [ + 75240 + ], + "declarations": [ + { + "constant": false, + "id": 75240, + "mutability": "mutable", + "name": "sourceCount", + "nameLocation": "13810:11:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "13802:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13802:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75247, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75243, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "13848:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13855:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "13848:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13871:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57267, + "src": "13848:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 75241, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56762, + "src": "13824:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 75242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13836:11:172", + "memberName": "sourceCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 56521, + "src": "13824:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 75246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13824:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13802:78:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75248, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75240, + "src": "13894:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13909:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13894:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75257, + "nodeType": "IfStatement", + "src": "13890:80:172", + "trueBody": { + "id": 75256, + "nodeType": "Block", + "src": "13912:58:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75252, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13948:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13952:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13948:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75251, + "name": "OrderNoSources", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77582, + "src": "13933:14:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13933:26:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75255, + "nodeType": "RevertStatement", + "src": "13926:33:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75258, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75240, + "src": "13983:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 75259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13998:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13983:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75267, + "nodeType": "IfStatement", + "src": "13979:81:172", + "trueBody": { + "id": 75266, + "nodeType": "Block", + "src": "14001:59:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75262, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14038:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14042:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14038:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75261, + "name": "OrderNoHandleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77587, + "src": "14022:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14022:27:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75265, + "nodeType": "RevertStatement", + "src": "14015:34:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75268, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14073:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14080:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77531, + "src": "14073:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14092:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14073:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14102:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14073:30:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75279, + "nodeType": "IfStatement", + "src": "14069:93:172", + "trueBody": { + "id": 75278, + "nodeType": "Block", + "src": "14105:57:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75274, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14140:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14144:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14140:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75273, + "name": "OrderNoInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77592, + "src": "14126:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14126:25:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75277, + "nodeType": "RevertStatement", + "src": "14119:32:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75280, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14175:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14182:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77535, + "src": "14175:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14195:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14175:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14205:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14175:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75291, + "nodeType": "IfStatement", + "src": "14171:95:172", + "trueBody": { + "id": 75290, + "nodeType": "Block", + "src": "14208:58:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75286, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14244:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14248:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14244:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75285, + "name": "OrderNoOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77597, + "src": "14229:14:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 75288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14229:26:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75289, + "nodeType": "RevertStatement", + "src": "14222:33:172" + } + ] + } + }, + { + "assignments": [ + 75294, + 75297, + 75299 + ], + "declarations": [ + { + "constant": false, + "id": 75294, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "14291:11:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14276:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + }, + "typeName": { + "id": 75293, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75292, + "name": "IInterpreterV1", + "nameLocations": [ + "14276:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56347, + "src": "14276:14:172" + }, + "referencedDeclaration": 56347, + "src": "14276:14:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75297, + "mutability": "mutable", + "name": "store", + "nameLocation": "14324:5:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14304:25:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 75296, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75295, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "14304:19:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56297, + "src": "14304:19:172" + }, + "referencedDeclaration": 56297, + "src": "14304:19:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75299, + "mutability": "mutable", + "name": "expression", + "nameLocation": "14339:10:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14331:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14331:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 75316, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75304, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14454:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14461:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14454:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14477:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57267, + "src": "14454:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "expression": { + "expression": { + "id": 75307, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14499:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14506:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14499:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14522:9:172", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 57270, + "src": "14499:32:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "arguments": [ + { + "id": 75312, + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74887, + "src": "14571:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75313, + "name": "HANDLE_IO_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74895, + "src": "14600:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75310, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "14545:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 75311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14561:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72543, + "src": "14545:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 75314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14545:77:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 75300, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14353:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14373:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14353:35:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14402:8:172", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 57265, + "src": "14353:57:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeString": "contract IExpressionDeployerV2" + } + }, + "id": 75303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14424:16:172", + "memberName": "deployExpression", + "nodeType": "MemberAccess", + "referencedDeclaration": 56437, + "src": "14353:87:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", + "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "id": 75315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14353:279:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", + "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14275:357:172" + }, + { + "assignments": [ + 75319 + ], + "declarations": [ + { + "constant": false, + "id": 75319, + "mutability": "mutable", + "name": "order", + "nameLocation": "14831:5:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "14818:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75318, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75317, + "name": "Order", + "nameLocations": [ + "14818:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "14818:5:172" + }, + "referencedDeclaration": 77222, + "src": "14818:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 75345, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 75321, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14858:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14862:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14858:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 75325, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "14910:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14917:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "14910:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14933:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57267, + "src": "14910:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "arguments": [ + { + "id": 75330, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74883, + "src": "14962:20:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + ], + "expression": { + "id": 75328, + "name": "SourceIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56302, + "src": "14943:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", + "typeString": "type(SourceIndex)" + } + }, + "id": 75329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14955:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "14943:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56302_$returns$_t_uint16_$", + "typeString": "function (SourceIndex) pure returns (uint16)" + } + }, + "id": 75331, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14943:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 75323, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56762, + "src": "14882:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 75324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14894:15:172", + "memberName": "sourceOpsLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 56616, + "src": "14882:27:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (uint256)" + } + }, + "id": 75332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14882:102:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14987:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14882:106:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "id": 75336, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75294, + "src": "15012:11:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + { + "id": 75337, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75297, + "src": "15025:5:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 75338, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75299, + "src": "15032:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75335, + "name": "Evaluable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57280, + "src": "15002:9:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Evaluable_$57280_storage_ptr_$", + "typeString": "type(struct Evaluable storage pointer)" + } + }, + "id": 75339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15002:41:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + { + "expression": { + "id": 75340, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15057:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15064:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77531, + "src": "15057:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + { + "expression": { + "id": 75342, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15089:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15096:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77535, + "src": "15089:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + ], + "id": 75320, + "name": "Order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77222, + "src": "14839:5:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Order_$77222_storage_ptr_$", + "typeString": "type(struct Order storage pointer)" + } + }, + "id": 75344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14839:279:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14818:300:172" + }, + { + "assignments": [ + 75347 + ], + "declarations": [ + { + "constant": false, + "id": 75347, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "15136:9:172", + "nodeType": "VariableDeclaration", + "scope": 75404, + "src": "15128:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15128:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75351, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75348, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75319, + "src": "15148:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15154:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "15148:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15148:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15128:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75352, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "15250:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75354, + "indexExpression": { + "id": 75353, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15258:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15250:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75355, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "15272:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15250:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75403, + "nodeType": "IfStatement", + "src": "15246:615:172", + "trueBody": { + "id": 75402, + "nodeType": "Block", + "src": "15284:577:172", + "statements": [ + { + "expression": { + "id": 75359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75357, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75237, + "src": "15298:12:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 75358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15313:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15298:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75360, + "nodeType": "ExpressionStatement", + "src": "15298:19:172" + }, + { + "expression": { + "id": 75365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75361, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "15390:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75363, + "indexExpression": { + "id": 75362, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15398:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15390:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75364, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74863, + "src": "15411:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15390:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75366, + "nodeType": "ExpressionStatement", + "src": "15390:31:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75368, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15449:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15453:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15449:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "expression": { + "id": 75370, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15461:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15468:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 77538, + "src": "15461:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeString": "struct EvaluableConfigV2 calldata" + } + }, + "id": 75372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15484:8:172", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 57265, + "src": "15461:31:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeString": "contract IExpressionDeployerV2" + } + }, + { + "id": 75373, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75319, + "src": "15494:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75374, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15501:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeString": "contract IExpressionDeployerV2" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75367, + "name": "AddOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77634, + "src": "15440:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56438_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" + } + }, + "id": 75375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15440:71:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75376, + "nodeType": "EmitStatement", + "src": "15435:76:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75377, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15682:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15689:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 77540, + "src": "15682:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 75379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15694:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15682:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15703:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15682:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75401, + "nodeType": "IfStatement", + "src": "15678:173:172", + "trueBody": { + "id": 75400, + "nodeType": "Block", + "src": "15706:145:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75385, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15750:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15757:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 77540, + "src": "15750:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 75382, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72048, + "src": "15724:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibMeta_$72048_$", + "typeString": "type(library LibMeta)" + } + }, + "id": 75384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15732:17:172", + "memberName": "checkMetaUnhashed", + "nodeType": "MemberAccess", + "referencedDeclaration": 72018, + "src": "15724:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 75387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15724:38:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75388, + "nodeType": "ExpressionStatement", + "src": "15724:38:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75390, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15792:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15796:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15792:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 75394, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75347, + "src": "15812:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15804:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 75392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15804:7:172", + "typeDescriptions": {} + } + }, + "id": 75395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15804:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75396, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75232, + "src": "15824:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 75397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15831:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 77540, + "src": "15824:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 75389, + "name": "MetaV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71963, + "src": "15785:6:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 75398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15785:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75399, + "nodeType": "EmitStatement", + "src": "15780:56:172" + } + ] + } + } + ] + } + } + ] + }, + "baseFunctions": [ + 77746 + ], + "documentation": { + "id": 75229, + "nodeType": "StructuredDocumentation", + "src": "13660:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "847a1bc9", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75235, + "kind": "modifierInvocation", + "modifierName": { + "id": 75234, + "name": "nonReentrant", + "nameLocations": [ + "13751:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "13751:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "13751:12:172" + } + ], + "name": "addOrder", + "nameLocation": "13702:8:172", + "parameters": { + "id": 75233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75232, + "mutability": "mutable", + "name": "config", + "nameLocation": "13734:6:172", + "nodeType": "VariableDeclaration", + "scope": 75405, + "src": "13711:29:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeString": "struct OrderConfigV2" + }, + "typeName": { + "id": 75231, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75230, + "name": "OrderConfigV2", + "nameLocations": [ + "13711:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77541, + "src": "13711:13:172" + }, + "referencedDeclaration": 77541, + "src": "13711:13:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$77541_storage_ptr", + "typeString": "struct OrderConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "13710:31:172" + }, + "returnParameters": { + "id": 75238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75237, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "13778:12:172", + "nodeType": "VariableDeclaration", + "scope": 75405, + "src": "13773:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 75236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13773:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13772:19:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 75461, + "nodeType": "FunctionDefinition", + "src": "15906:448:172", + "nodes": [], + "body": { + "id": 75460, + "nodeType": "Block", + "src": "15999:355:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75416, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16013:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16017:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16013:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 75418, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16027:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16033:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "16027:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16013:25:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75429, + "nodeType": "IfStatement", + "src": "16009:101:172", + "trueBody": { + "id": 75428, + "nodeType": "Block", + "src": "16040:70:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75422, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16075:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16079:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16075:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75424, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16087:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16093:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "16087:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75421, + "name": "NotOrderOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74833, + "src": "16061:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 75426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16061:38:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75427, + "nodeType": "RevertStatement", + "src": "16054:45:172" + } + ] + } + }, + { + "assignments": [ + 75431 + ], + "declarations": [ + { + "constant": false, + "id": 75431, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "16127:9:172", + "nodeType": "VariableDeclaration", + "scope": 75460, + "src": "16119:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16119:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75435, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75432, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16139:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16145:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "16139:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16139:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16119:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75436, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "16165:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75438, + "indexExpression": { + "id": 75437, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75431, + "src": "16173:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16165:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75439, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74863, + "src": "16187:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16165:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75459, + "nodeType": "IfStatement", + "src": "16161:187:172", + "trueBody": { + "id": 75458, + "nodeType": "Block", + "src": "16199:149:172", + "statements": [ + { + "expression": { + "id": 75443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75441, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75414, + "src": "16213:12:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 75442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16228:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16213:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75444, + "nodeType": "ExpressionStatement", + "src": "16213:19:172" + }, + { + "expression": { + "id": 75449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 75445, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "16246:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75447, + "indexExpression": { + "id": 75446, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75431, + "src": "16254:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16246:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75448, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "16267:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16246:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75450, + "nodeType": "ExpressionStatement", + "src": "16246:31:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75452, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16308:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16312:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16308:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75454, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75409, + "src": "16320:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + { + "id": 75455, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75431, + "src": "16327:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75451, + "name": "RemoveOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77644, + "src": "16296:11:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,struct Order memory,bytes32)" + } + }, + "id": 75456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16296:41:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75457, + "nodeType": "EmitStatement", + "src": "16291:46:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 77763 + ], + "documentation": { + "id": 75406, + "nodeType": "StructuredDocumentation", + "src": "15873:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "e23746a3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75412, + "kind": "modifierInvocation", + "modifierName": { + "id": 75411, + "name": "nonReentrant", + "nameLocations": [ + "15958:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "15958:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "15958:12:172" + } + ], + "name": "removeOrder", + "nameLocation": "15915:11:172", + "parameters": { + "id": 75410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75409, + "mutability": "mutable", + "name": "order", + "nameLocation": "15942:5:172", + "nodeType": "VariableDeclaration", + "scope": 75461, + "src": "15927:20:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75408, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75407, + "name": "Order", + "nameLocations": [ + "15927:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "15927:5:172" + }, + "referencedDeclaration": 77222, + "src": "15927:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "src": "15926:22:172" + }, + "returnParameters": { + "id": 75415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75414, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "15985:12:172", + "nodeType": "VariableDeclaration", + "scope": 75461, + "src": "15980:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 75413, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15980:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15979:19:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76010, + "nodeType": "FunctionDefinition", + "src": "16393:8257:172", + "nodes": [], + "body": { + "id": 76009, + "nodeType": "Block", + "src": "16559:8091:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75474, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16573:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16580:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "16573:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16587:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16573:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16597:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16573:25:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75483, + "nodeType": "IfStatement", + "src": "16569:73:172", + "trueBody": { + "id": 75482, + "nodeType": "Block", + "src": "16600:42:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75479, + "name": "NoOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77527, + "src": "16621:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 75480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16621:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75481, + "nodeType": "RevertStatement", + "src": "16614:17:172" + } + ] + } + }, + { + "assignments": [ + 75485 + ], + "declarations": [ + { + "constant": false, + "id": 75485, + "mutability": "mutable", + "name": "i", + "nameLocation": "16660:1:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16652:9:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16652:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75487, + "initialValue": { + "hexValue": "30", + "id": 75486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16664:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "16652:13:172" + }, + { + "assignments": [ + 75490 + ], + "declarations": [ + { + "constant": false, + "id": 75490, + "mutability": "mutable", + "name": "takeOrderConfig", + "nameLocation": "16698:15:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16675:38:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig" + }, + "typeName": { + "id": 75489, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75488, + "name": "TakeOrderConfig", + "nameLocations": [ + "16675:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77249, + "src": "16675:15:172" + }, + "referencedDeclaration": 77249, + "src": "16675:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_storage_ptr", + "typeString": "struct TakeOrderConfig" + } + }, + "visibility": "internal" + } + ], + "id": 75491, + "nodeType": "VariableDeclarationStatement", + "src": "16675:38:172" + }, + { + "assignments": [ + 75494 + ], + "declarations": [ + { + "constant": false, + "id": 75494, + "mutability": "mutable", + "name": "order", + "nameLocation": "16736:5:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16723:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 75493, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75492, + "name": "Order", + "nameLocations": [ + "16723:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "16723:5:172" + }, + "referencedDeclaration": 77222, + "src": "16723:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + } + ], + "id": 75495, + "nodeType": "VariableDeclarationStatement", + "src": "16723:18:172" + }, + { + "assignments": [ + 75497 + ], + "declarations": [ + { + "constant": false, + "id": 75497, + "mutability": "mutable", + "name": "remainingTakerInput", + "nameLocation": "16760:19:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "16752:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16752:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75500, + "initialValue": { + "expression": { + "id": 75498, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16782:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16789:12:172", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77545, + "src": "16782:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16752:49:172" + }, + { + "body": { + "id": 75893, + "nodeType": "Block", + "src": "16871:5715:172", + "statements": [ + { + "expression": { + "id": 75515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75510, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "16885:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 75511, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16903:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16910:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "16903:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75514, + "indexExpression": { + "id": 75513, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75485, + "src": "16917:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16903:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "src": "16885:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75516, + "nodeType": "ExpressionStatement", + "src": "16885:34:172" + }, + { + "expression": { + "id": 75520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75517, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "16933:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 75518, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "16941:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16957:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "16941:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "src": "16933:29:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75521, + "nodeType": "ExpressionStatement", + "src": "16933:29:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75522, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17052:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17058:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17052:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75526, + "indexExpression": { + "expression": { + "id": 75524, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17070:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17086:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17070:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17052:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75527, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17100:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17052:53:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75528, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17129:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17136:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17129:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75531, + "indexExpression": { + "hexValue": "30", + "id": 75530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17143:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17129:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17146:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17129:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17152:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17129:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75539, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75534, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17164:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17171:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17164:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75537, + "indexExpression": { + "hexValue": "30", + "id": 75536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17178:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17164:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17181:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17164:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17129:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17195:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17129:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17052:148:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75565, + "nodeType": "IfStatement", + "src": "17031:423:172", + "trueBody": { + "id": 75564, + "nodeType": "Block", + "src": "17215:239:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75543, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17275:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17281:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17275:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75547, + "indexExpression": { + "expression": { + "id": 75545, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17293:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75546, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17309:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17293:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17275:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17323:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17275:53:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75549, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17350:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17357:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17350:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75552, + "indexExpression": { + "hexValue": "30", + "id": 75551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17364:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17350:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17367:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17350:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17373:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "17350:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75560, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75555, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17385:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17392:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17385:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75558, + "indexExpression": { + "hexValue": "30", + "id": 75557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17399:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17385:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17402:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "17385:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17350:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17416:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17350:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75542, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "17240:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 75562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17240:199:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75563, + "nodeType": "RevertStatement", + "src": "17233:206:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75566, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17544:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75567, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17550:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17544:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75570, + "indexExpression": { + "expression": { + "id": 75568, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17563:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75569, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17579:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17563:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17544:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17594:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17544:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75572, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17623:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17630:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17623:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75575, + "indexExpression": { + "hexValue": "30", + "id": 75574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17637:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17623:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17640:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17623:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17646:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17623:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75583, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75578, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17659:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17666:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17659:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75581, + "indexExpression": { + "hexValue": "30", + "id": 75580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17673:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17659:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17676:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17659:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17623:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17691:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17623:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17544:152:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75609, + "nodeType": "IfStatement", + "src": "17523:431:172", + "trueBody": { + "id": 75608, + "nodeType": "Block", + "src": "17711:243:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75587, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "17771:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17777:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17771:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75591, + "indexExpression": { + "expression": { + "id": 75589, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "17790:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17806:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17790:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17771:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17821:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17771:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75593, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17848:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17855:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17848:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75596, + "indexExpression": { + "hexValue": "30", + "id": 75595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17862:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17848:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17865:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "17848:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17871:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "17848:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75604, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75599, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "17884:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17891:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "17884:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75602, + "indexExpression": { + "hexValue": "30", + "id": 75601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17898:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17884:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17901:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "17884:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17848:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17916:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "17848:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75586, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "17736:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 75606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17736:203:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75607, + "nodeType": "RevertStatement", + "src": "17729:210:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 75629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75610, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18052:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75611, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18058:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18052:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75614, + "indexExpression": { + "expression": { + "id": 75612, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18070:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75613, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18086:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18070:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18052:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75615, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18100:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18052:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75616, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18132:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18139:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18132:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75619, + "indexExpression": { + "hexValue": "30", + "id": 75618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18146:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18132:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18149:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18132:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18155:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18132:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75627, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75622, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18167:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18174:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18167:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75625, + "indexExpression": { + "hexValue": "30", + "id": 75624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18181:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18167:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18184:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18167:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18132:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18198:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18132:74:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "18052:154:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75653, + "nodeType": "IfStatement", + "src": "18031:443:172", + "trueBody": { + "id": 75652, + "nodeType": "Block", + "src": "18221:253:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75631, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18289:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75632, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18295:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18289:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75635, + "indexExpression": { + "expression": { + "id": 75633, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18307:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18323:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18307:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18289:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18337:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18289:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75637, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18367:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18374:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18367:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75640, + "indexExpression": { + "hexValue": "30", + "id": 75639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18381:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18367:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18384:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18367:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18390:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "18367:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75648, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75643, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18402:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18409:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18402:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75646, + "indexExpression": { + "hexValue": "30", + "id": 75645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18416:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18402:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18419:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "18402:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18367:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18433:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18367:74:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 75630, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "18246:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 75650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18246:213:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75651, + "nodeType": "RevertStatement", + "src": "18239:220:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 75673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75654, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18573:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18579:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18573:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75658, + "indexExpression": { + "expression": { + "id": 75656, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18592:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75657, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18608:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18592:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18573:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75659, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18623:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18573:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75660, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18655:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18662:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18655:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75663, + "indexExpression": { + "hexValue": "30", + "id": 75662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18669:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18655:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18672:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18655:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18678:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18655:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75671, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75666, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18691:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18698:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18691:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75669, + "indexExpression": { + "hexValue": "30", + "id": 75668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18705:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18691:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18708:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18691:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18655:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18723:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18655:76:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "18573:158:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75697, + "nodeType": "IfStatement", + "src": "18552:451:172", + "trueBody": { + "id": 75696, + "nodeType": "Block", + "src": "18746:257:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75675, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "18814:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18820:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18814:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75679, + "indexExpression": { + "expression": { + "id": 75677, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "18833:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18849:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18833:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18814:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18864:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18814:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75681, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18894:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18901:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18894:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75684, + "indexExpression": { + "hexValue": "30", + "id": 75683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18908:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18894:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18911:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "18894:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18917:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "18894:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75692, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75687, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "18930:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18937:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "18930:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75690, + "indexExpression": { + "hexValue": "30", + "id": 75689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18944:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18930:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18947:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "18930:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18894:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18962:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "18894:76:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 75674, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "18771:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 75694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18771:217:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75695, + "nodeType": "RevertStatement", + "src": "18764:224:172" + } + ] + } + }, + { + "assignments": [ + 75699 + ], + "declarations": [ + { + "constant": false, + "id": 75699, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "19025:9:172", + "nodeType": "VariableDeclaration", + "scope": 75893, + "src": "19017:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 75698, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19017:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 75703, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 75700, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19037:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75701, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19043:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "19037:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 75702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19037:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19017:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 75704, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "19067:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 75706, + "indexExpression": { + "id": 75705, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "19075:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19067:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 75707, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "19089:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19067:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 75887, + "nodeType": "Block", + "src": "19194:3322:172", + "statements": [ + { + "assignments": [ + 75720 + ], + "declarations": [ + { + "constant": false, + "id": 75720, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "19238:18:172", + "nodeType": "VariableDeclaration", + "scope": 75887, + "src": "19212:44:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 75719, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75718, + "name": "OrderIOCalculation", + "nameLocations": [ + "19212:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "19212:18:172" + }, + "referencedDeclaration": 74975, + "src": "19212:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 75732, + "initialValue": { + "arguments": [ + { + "id": 75722, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19297:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 75723, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "19324:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19340:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "19324:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75725, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "19374:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19390:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "19374:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75727, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19425:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19429:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19425:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75729, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "19457:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19473:13:172", + "memberName": "signedContext", + "nodeType": "MemberAccess", + "referencedDeclaration": 77248, + "src": "19457:29:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 75721, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76653, + "src": "19259:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 75731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19259:245:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19212:292:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75733, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "19854:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19873:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "19854:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 75735, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "19883:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19890:14:172", + "memberName": "maximumIORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 77547, + "src": "19883:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19854:50:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 75749, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "20040:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20059:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "20040:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75747, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "20018:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20033:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "20018:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20018:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 75752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20073:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "20018:56:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 75884, + "nodeType": "Block", + "src": "20179:2323:172", + "statements": [ + { + "assignments": [ + 75764 + ], + "declarations": [ + { + "constant": false, + "id": 75764, + "mutability": "mutable", + "name": "takerInputDecimals", + "nameLocation": "20207:18:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "20201:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 75763, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "20201:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 75771, + "initialValue": { + "expression": { + "baseExpression": { + "expression": { + "id": 75765, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "20228:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20234:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "20228:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75769, + "indexExpression": { + "expression": { + "id": 75767, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "20247:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20263:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "20247:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20228:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20278:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "20228:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20201:85:172" + }, + { + "assignments": [ + 75774 + ], + "declarations": [ + { + "constant": false, + "id": 75774, + "mutability": "mutable", + "name": "takerInput18", + "nameLocation": "20397:12:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "20383:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 75773, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75772, + "name": "Input18Amount", + "nameLocations": [ + "20383:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "20383:13:172" + }, + "referencedDeclaration": 74979, + "src": "20383:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75783, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75779, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "20453:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20472:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "20453:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75777, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "20431:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20446:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "20431:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20431:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75775, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "20412:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20426:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20412:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 75782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20412:71:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20383:100:172" + }, + { + "id": 75811, + "nodeType": "Block", + "src": "20784:506:172", + "statements": [ + { + "assignments": [ + 75786 + ], + "declarations": [ + { + "constant": false, + "id": 75786, + "mutability": "mutable", + "name": "remainingTakerInput18", + "nameLocation": "20929:21:172", + "nodeType": "VariableDeclaration", + "scope": 75811, + "src": "20915:35:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 75785, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75784, + "name": "Input18Amount", + "nameLocations": [ + "20915:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "20915:13:172" + }, + "referencedDeclaration": 74979, + "src": "20915:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75795, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 75791, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75764, + "src": "21028:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75792, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71249, + "src": "21048:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75789, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "21000:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21020:7:172", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 71561, + "src": "21000:27:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21000:62:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75787, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "20981:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20995:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "20981:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 75794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20981:82:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20915:148:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 75798, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "21114:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75796, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "21093:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21107:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21093:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21093:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 75802, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75786, + "src": "21151:21:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75800, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "21130:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21144:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21130:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21130:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21093:80:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75810, + "nodeType": "IfStatement", + "src": "21089:179:172", + "trueBody": { + "id": 75809, + "nodeType": "Block", + "src": "21175:93:172", + "statements": [ + { + "expression": { + "id": 75807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75805, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "21205:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 75806, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75786, + "src": "21220:21:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "src": "21205:36:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "id": 75808, + "nodeType": "ExpressionStatement", + "src": "21205:36:172" + } + ] + } + } + ] + }, + { + "assignments": [ + 75813 + ], + "declarations": [ + { + "constant": false, + "id": 75813, + "mutability": "mutable", + "name": "takerOutput", + "nameLocation": "21320:11:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "21312:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21312:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75814, + "nodeType": "VariableDeclarationStatement", + "src": "21312:19:172" + }, + { + "id": 75849, + "nodeType": "Block", + "src": "21353:724:172", + "statements": [ + { + "assignments": [ + 75817 + ], + "declarations": [ + { + "constant": false, + "id": 75817, + "mutability": "mutable", + "name": "takerOutput18", + "nameLocation": "21477:13:172", + "nodeType": "VariableDeclaration", + "scope": 75849, + "src": "21462:28:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 75816, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75815, + "name": "Output18Amount", + "nameLocations": [ + "21462:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "21462:14:172" + }, + "referencedDeclaration": 74977, + "src": "21462:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 75832, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 75825, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "21744:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 75826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21763:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "21744:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 75827, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "21772:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", + "typeString": "type(library Math)" + } + }, + "id": 75828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21777:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45957, + "src": "21772:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 75829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21786:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45955, + "src": "21772:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 75822, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "21683:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75820, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "21662:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21676:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21662:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21662:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21697:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 71288, + "src": "21662:48:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 75830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21662:156:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 75818, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "21493:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21508:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "21493:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 75831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21493:351:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21462:382:172" + }, + { + "expression": { + "id": 75847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75833, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "21870:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 75839, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "21957:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21963:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "21957:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 75843, + "indexExpression": { + "expression": { + "id": 75841, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "21975:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + "id": 75842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21991:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "21975:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21957:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 75844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22005:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "21957:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75845, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71243, + "src": "22015:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75836, + "name": "takerOutput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75817, + "src": "21906:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 75834, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "21884:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 75835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21899:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "21884:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 75837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21884:36:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21921:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "21884:43:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21884:170:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21870:184:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75848, + "nodeType": "ExpressionStatement", + "src": "21870:184:172" + } + ] + }, + { + "assignments": [ + 75851 + ], + "declarations": [ + { + "constant": false, + "id": 75851, + "mutability": "mutable", + "name": "takerInput", + "nameLocation": "22107:10:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "22099:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22099:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75860, + "initialValue": { + "arguments": [ + { + "id": 75857, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75764, + "src": "22162:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 75858, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71249, + "src": "22182:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 75854, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75774, + "src": "22141:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 75852, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "22120:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 75853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22134:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "22120:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 75855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22120:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22155:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "22120:41:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 75859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22120:76:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22099:97:172" + }, + { + "expression": { + "id": 75863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75861, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "22219:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 75862, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75851, + "src": "22242:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22219:33:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75864, + "nodeType": "ExpressionStatement", + "src": "22219:33:172" + }, + { + "expression": { + "id": 75867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75865, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "22274:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 75866, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "22294:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22274:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75868, + "nodeType": "ExpressionStatement", + "src": "22274:31:172" + }, + { + "expression": { + "arguments": [ + { + "id": 75870, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "22342:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 75871, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "22349:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75872, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75851, + "src": "22362:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75873, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75720, + "src": "22374:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 75869, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76830, + "src": "22328:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 75874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22328:65:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75875, + "nodeType": "ExpressionStatement", + "src": "22328:65:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75877, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "22430:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22434:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "22430:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75879, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75490, + "src": "22442:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + } + }, + { + "id": 75880, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75851, + "src": "22459:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75881, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75813, + "src": "22471:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeString": "struct TakeOrderConfig memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75876, + "name": "TakeOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77656, + "src": "22420:9:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77249_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" + } + }, + "id": 75882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22420:63:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75883, + "nodeType": "EmitStatement", + "src": "22415:68:172" + } + ] + }, + "id": 75885, + "nodeType": "IfStatement", + "src": "20014:2488:172", + "trueBody": { + "id": 75762, + "nodeType": "Block", + "src": "20076:97:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75755, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "20119:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20123:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "20119:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75757, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "20131:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75758, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20137:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "20131:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75759, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "20144:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75754, + "name": "OrderZeroAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77674, + "src": "20103:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20103:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75761, + "nodeType": "EmitStatement", + "src": "20098:56:172" + } + ] + } + }, + "id": 75886, + "nodeType": "IfStatement", + "src": "19850:2652:172", + "trueBody": { + "id": 75746, + "nodeType": "Block", + "src": "19906:102:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75739, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19954:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19958:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19954:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75741, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19966:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19972:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "19966:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75743, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "19979:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75738, + "name": "OrderExceedsMaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77683, + "src": "19933:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19933:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75745, + "nodeType": "EmitStatement", + "src": "19928:61:172" + } + ] + } + } + ] + }, + "id": 75888, + "nodeType": "IfStatement", + "src": "19063:3453:172", + "trueBody": { + "id": 75717, + "nodeType": "Block", + "src": "19101:87:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 75710, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "19138:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19142:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19138:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75712, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75494, + "src": "19150:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 75713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19156:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "19150:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75714, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75699, + "src": "19163:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 75709, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77665, + "src": "19124:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 75715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19124:49:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75716, + "nodeType": "EmitStatement", + "src": "19119:54:172" + } + ] + } + }, + { + "id": 75892, + "nodeType": "UncheckedBlock", + "src": "22530:46:172", + "statements": [ + { + "expression": { + "id": 75890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22558:3:172", + "subExpression": { + "id": 75889, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75485, + "src": "22558:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75891, + "nodeType": "ExpressionStatement", + "src": "22558:3:172" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 75509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75501, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75485, + "src": "16818:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "id": 75502, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "16822:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16829:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "16822:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16836:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16822:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16818:24:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75506, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "16846:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16868:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16846:23:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16818:51:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75894, + "nodeType": "WhileStatement", + "src": "16811:5775:172" + }, + { + "expression": { + "id": 75900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 75895, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "22595:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 75896, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "22613:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22620:12:172", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77545, + "src": "22613:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 75898, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75497, + "src": "22635:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22613:41:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22595:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 75901, + "nodeType": "ExpressionStatement", + "src": "22595:59:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75902, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "22669:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 75903, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "22687:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22694:12:172", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77543, + "src": "22687:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22669:37:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75913, + "nodeType": "IfStatement", + "src": "22665:125:172", + "trueBody": { + "id": 75912, + "nodeType": "Block", + "src": "22708:82:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 75907, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "22742:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22749:12:172", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77543, + "src": "22742:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75909, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "22763:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75906, + "name": "MinimumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74854, + "src": "22729:12:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 75910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22729:50:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75911, + "nodeType": "RevertStatement", + "src": "22722:57:172" + } + ] + } + }, + { + "assignments": [ + 75915 + ], + "declarations": [ + { + "constant": false, + "id": 75915, + "mutability": "mutable", + "name": "takerInputAmountSent", + "nameLocation": "23580:20:172", + "nodeType": "VariableDeclaration", + "scope": 76009, + "src": "23572:28:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23572:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 75934, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75917, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23648:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23655:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23648:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75920, + "indexExpression": { + "hexValue": "30", + "id": 75919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23662:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23648:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23665:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "23648:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23671:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "23648:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75928, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75923, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23684:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23691:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23684:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75926, + "indexExpression": { + "hexValue": "30", + "id": 75925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23698:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23684:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23701:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "23684:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23648:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23716:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "23648:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 75930, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23723:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23727:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23723:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75932, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75470, + "src": "23735:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 75916, + "name": "_decreaseFlashDebtThenSendToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74350, + "src": "23603:31:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,address,uint256) returns (uint256)" + } + }, + "id": 75933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23603:157:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23572:188:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 75935, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23774:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23781:4:172", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 77553, + "src": "23774:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 75937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23786:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "23774:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23795:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23774:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75978, + "nodeType": "IfStatement", + "src": "23770:395:172", + "trueBody": { + "id": 75977, + "nodeType": "Block", + "src": "23798:367:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75945, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23877:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23884:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23877:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75948, + "indexExpression": { + "hexValue": "30", + "id": 75947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23891:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23877:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23894:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "23877:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23900:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "23877:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75956, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75951, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23913:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23920:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23913:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75954, + "indexExpression": { + "hexValue": "30", + "id": 75953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23927:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23913:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23930:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77244, + "src": "23913:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23877:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23945:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "23877:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75958, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "23968:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23975:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "23968:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75961, + "indexExpression": { + "hexValue": "30", + "id": 75960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23982:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23968:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23985:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "23968:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23991:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "23968:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75969, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75964, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24003:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24010:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "24003:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75967, + "indexExpression": { + "hexValue": "30", + "id": 75966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24017:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24003:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24020:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "24003:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23968:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24034:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "23968:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 75971, + "name": "takerInputAmountSent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75915, + "src": "24057:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 75972, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "24095:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 75973, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24129:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24136:4:172", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 77553, + "src": "24129:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 75941, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23835:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23839:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23835:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75940, + "name": "IOrderBookV3OrderTaker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77828, + "src": "23812:22:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$77828_$", + "typeString": "type(contract IOrderBookV3OrderTaker)" + } + }, + "id": 75943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23812:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$77828", + "typeString": "contract IOrderBookV3OrderTaker" + } + }, + "id": 75944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23847:12:172", + "memberName": "onTakeOrders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77827, + "src": "23812:47:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 75975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23812:342:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 75976, + "nodeType": "ExpressionStatement", + "src": "23812:342:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 75981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 75979, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "24179:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 75980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24198:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24179:20:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76008, + "nodeType": "IfStatement", + "src": "24175:469:172", + "trueBody": { + "id": 76007, + "nodeType": "Block", + "src": "24201:443:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 75998, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "24576:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 75999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24580:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "24576:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 76002, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "24596:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeString": "contract OrderBook" + } + ], + "id": 76001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24588:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24588:7:172", + "typeDescriptions": {} + } + }, + "id": 76003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24588:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76004, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75472, + "src": "24603:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75983, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24469:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24476:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "24469:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75986, + "indexExpression": { + "hexValue": "30", + "id": 75985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24483:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24469:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24486:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 77240, + "src": "24469:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeString": "struct Order calldata" + } + }, + "id": 75988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24492:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "24469:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 75994, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 75989, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75465, + "src": "24504:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 75990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24511:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 77551, + "src": "24504:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata[] calldata" + } + }, + "id": 75992, + "indexExpression": { + "hexValue": "30", + "id": 75991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24518:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24504:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeString": "struct TakeOrderConfig calldata" + } + }, + "id": 75993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24521:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77242, + "src": "24504:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24469:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 75995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24535:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "24469:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 75982, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "24462:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 75996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24462:79:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 75997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24542:16:172", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44497, + "src": "24462:96:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 76005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24462:171:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76006, + "nodeType": "ExpressionStatement", + "src": "24462:171:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 77774 + ], + "documentation": { + "id": 75462, + "nodeType": "StructuredDocumentation", + "src": "16360:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "8a44689c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 75468, + "kind": "modifierInvocation", + "modifierName": { + "id": 75467, + "name": "nonReentrant", + "nameLocations": [ + "16474:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "16474:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "16474:12:172" + } + ], + "name": "takeOrders", + "nameLocation": "16402:10:172", + "parameters": { + "id": 75466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75465, + "mutability": "mutable", + "name": "config", + "nameLocation": "16441:6:172", + "nodeType": "VariableDeclaration", + "scope": 76010, + "src": "16413:34:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2" + }, + "typeName": { + "id": 75464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75463, + "name": "TakeOrdersConfigV2", + "nameLocations": [ + "16413:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77554, + "src": "16413:18:172" + }, + "referencedDeclaration": 77554, + "src": "16413:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_storage_ptr", + "typeString": "struct TakeOrdersConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "16412:36:172" + }, + "returnParameters": { + "id": 75473, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75470, + "mutability": "mutable", + "name": "totalTakerInput", + "nameLocation": "16512:15:172", + "nodeType": "VariableDeclaration", + "scope": 76010, + "src": "16504:23:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16504:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75472, + "mutability": "mutable", + "name": "totalTakerOutput", + "nameLocation": "16537:16:172", + "nodeType": "VariableDeclaration", + "scope": 76010, + "src": "16529:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16529:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16503:51:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76336, + "nodeType": "FunctionDefinition", + "src": "24689:4247:172", + "nodes": [], + "body": { + "id": 76335, + "nodeType": "Block", + "src": "24932:4004:172", + "nodes": [], + "statements": [ + { + "id": 76213, + "nodeType": "Block", + "src": "24942:2410:172", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76033, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "24960:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24966:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "24960:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 76035, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "24975:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76036, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24979:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "24975:9:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24960:24:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76044, + "nodeType": "IfStatement", + "src": "24956:92:172", + "trueBody": { + "id": 76043, + "nodeType": "Block", + "src": "24986:62:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 76039, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25021:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76040, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25027:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "25021:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76038, + "name": "SameOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74859, + "src": "25011:9:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 76041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25011:22:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76042, + "nodeType": "RevertStatement", + "src": "25004:29:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76045, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25082:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25088:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25082:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76049, + "indexExpression": { + "expression": { + "id": 76047, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25101:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25113:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25101:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25082:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25133:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25082:56:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76051, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25162:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25166:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25162:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76055, + "indexExpression": { + "expression": { + "id": 76053, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25178:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25190:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25178:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25162:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25207:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25162:50:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "25082:130:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76074, + "nodeType": "IfStatement", + "src": "25061:387:172", + "trueBody": { + "id": 76073, + "nodeType": "Block", + "src": "25227:221:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76059, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25287:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25293:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25287:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76063, + "indexExpression": { + "expression": { + "id": 76061, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25306:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25318:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25306:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25287:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76064, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25338:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25287:56:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76065, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25365:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25369:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25365:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76069, + "indexExpression": { + "expression": { + "id": 76067, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25381:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25393:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25381:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25365:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25410:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25365:50:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76058, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "25252:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25252:181:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76072, + "nodeType": "RevertStatement", + "src": "25245:188:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 76087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76075, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25483:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76076, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25489:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25483:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76079, + "indexExpression": { + "expression": { + "id": 76077, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25502:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25514:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25502:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25483:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25534:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25483:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76081, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25566:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76082, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25570:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25566:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76085, + "indexExpression": { + "expression": { + "id": 76083, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25582:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25594:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25582:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25566:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76086, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25611:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25566:53:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "25483:136:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76104, + "nodeType": "IfStatement", + "src": "25462:407:172", + "trueBody": { + "id": 76103, + "nodeType": "Block", + "src": "25634:235:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76089, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25702:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25708:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25702:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76093, + "indexExpression": { + "expression": { + "id": 76091, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25721:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25733:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "25721:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25702:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25753:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25702:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76095, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25783:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25787:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25783:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76099, + "indexExpression": { + "expression": { + "id": 76097, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25799:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25811:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "25799:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25783:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25828:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "25783:53:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 76088, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "25659:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 76101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25659:195:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76102, + "nodeType": "RevertStatement", + "src": "25652:202:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76105, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "25904:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25908:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "25904:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76109, + "indexExpression": { + "expression": { + "id": 76107, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25921:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25933:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "25921:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25904:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25951:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25904:52:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76111, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "25980:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25986:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "25980:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76115, + "indexExpression": { + "expression": { + "id": 76113, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "25998:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26010:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "25998:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25980:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26029:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "25980:54:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "25904:130:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76134, + "nodeType": "IfStatement", + "src": "25883:387:172", + "trueBody": { + "id": 76133, + "nodeType": "Block", + "src": "26049:221:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76119, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26109:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26115:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "26109:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76123, + "indexExpression": { + "expression": { + "id": 76121, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26127:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26139:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "26127:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26109:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76124, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26158:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "26109:54:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76125, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "26185:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76126, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26189:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "26185:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76129, + "indexExpression": { + "expression": { + "id": 76127, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26202:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26214:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "26202:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26185:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26232:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "26185:52:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76118, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74840, + "src": "26074:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26074:181:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76132, + "nodeType": "RevertStatement", + "src": "26067:188:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 76147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76135, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "26305:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26309:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "26305:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76139, + "indexExpression": { + "expression": { + "id": 76137, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26322:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26334:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "26322:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26305:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26352:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26305:55:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76141, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26384:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26390:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "26384:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76145, + "indexExpression": { + "expression": { + "id": 76143, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26402:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26414:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "26402:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26384:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76146, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26433:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26384:57:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "26305:136:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76164, + "nodeType": "IfStatement", + "src": "26284:407:172", + "trueBody": { + "id": 76163, + "nodeType": "Block", + "src": "26456:235:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76149, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26524:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76150, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26530:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "26524:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76153, + "indexExpression": { + "expression": { + "id": 76151, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26542:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26554:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "26542:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26524:48:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26573:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26524:57:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76155, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "26603:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26607:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "26603:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76159, + "indexExpression": { + "expression": { + "id": 76157, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "26620:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26632:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "26620:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26603:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76160, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26650:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "26603:55:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 76148, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74847, + "src": "26481:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 76161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26481:195:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76162, + "nodeType": "RevertStatement", + "src": "26474:202:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76165, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "26916:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76169, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76166, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "26924:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26930:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "26924:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26924:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26916:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76170, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "26941:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26916:35:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76184, + "nodeType": "IfStatement", + "src": "26912:155:172", + "trueBody": { + "id": 76183, + "nodeType": "Block", + "src": "26953:114:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76173, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "26990:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26994:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26990:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76175, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27002:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76176, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27008:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27002:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76177, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27015:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27021:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "27015:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27015:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76172, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77665, + "src": "26976:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26976:52:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76181, + "nodeType": "EmitStatement", + "src": "26971:57:172" + }, + { + "functionReturnParameters": 76032, + "id": 76182, + "nodeType": "Return", + "src": "27046:7:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76185, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75019, + "src": "27084:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76189, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76186, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27092:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27096:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "27092:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27092:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27084:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76190, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74867, + "src": "27107:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27084:33:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76204, + "nodeType": "IfStatement", + "src": "27080:149:172", + "trueBody": { + "id": 76203, + "nodeType": "Block", + "src": "27119:110:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76193, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27156:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27160:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27156:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76195, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27168:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76196, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27172:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27168:9:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76197, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27179:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76198, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27183:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "27179:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27179:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76192, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77665, + "src": "27142:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27142:48:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76201, + "nodeType": "EmitStatement", + "src": "27137:53:172" + }, + { + "functionReturnParameters": 76032, + "id": 76202, + "nodeType": "Return", + "src": "27208:7:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27305:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27309:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27305:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76208, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27317:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 76209, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27324:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 76210, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27329:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + ], + "id": 76205, + "name": "Clear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77697, + "src": "27299:5:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_ClearConfig_$77262_memory_ptr_$returns$__$", + "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" + } + }, + "id": 76211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27299:42:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76212, + "nodeType": "EmitStatement", + "src": "27294:47:172" + } + ] + }, + { + "assignments": [ + 76216 + ], + "declarations": [ + { + "constant": false, + "id": 76216, + "mutability": "mutable", + "name": "aliceOrderIOCalculation_", + "nameLocation": "27387:24:172", + "nodeType": "VariableDeclaration", + "scope": 76335, + "src": "27361:50:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76215, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76214, + "name": "OrderIOCalculation", + "nameLocations": [ + "27361:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "27361:18:172" + }, + "referencedDeclaration": 74975, + "src": "27361:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 76227, + "initialValue": { + "arguments": [ + { + "id": 76218, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27444:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76219, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27451:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27463:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77251, + "src": "27451:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76221, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27482:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27494:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "27482:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76223, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27514:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27518:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27514:9:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76225, + "name": "bobSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76028, + "src": "27525:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 76217, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76653, + "src": "27414:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 76226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27414:137:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27361:190:172" + }, + { + "assignments": [ + 76230 + ], + "declarations": [ + { + "constant": false, + "id": 76230, + "mutability": "mutable", + "name": "bobOrderIOCalculation_", + "nameLocation": "27587:22:172", + "nodeType": "VariableDeclaration", + "scope": 76335, + "src": "27561:48:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76229, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76228, + "name": "OrderIOCalculation", + "nameLocations": [ + "27561:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "27561:18:172" + }, + "referencedDeclaration": 74975, + "src": "27561:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "id": 76241, + "initialValue": { + "arguments": [ + { + "id": 76232, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "27642:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76233, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27647:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27659:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77255, + "src": "27647:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76235, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "27676:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27688:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "27676:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76237, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27706:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27712:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "27706:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76239, + "name": "aliceSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76024, + "src": "27719:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 76231, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76653, + "src": "27612:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" + } + }, + "id": 76240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27612:135:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27561:186:172" + }, + { + "assignments": [ + 76244 + ], + "declarations": [ + { + "constant": false, + "id": 76244, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "27781:16:172", + "nodeType": "VariableDeclaration", + "scope": 76335, + "src": "27757:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 76243, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76242, + "name": "ClearStateChange", + "nameLocations": [ + "27757:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77271, + "src": "27757:16:172" + }, + "referencedDeclaration": 77271, + "src": "27757:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "id": 76249, + "initialValue": { + "arguments": [ + { + "id": 76246, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76216, + "src": "27838:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 76247, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76230, + "src": "27864:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76245, + "name": "calculateClearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76856, + "src": "27812:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$_t_struct$_ClearStateChange_$77271_memory_ptr_$", + "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" + } + }, + "id": 76248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27812:75:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27757:130:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76251, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "27912:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76252, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "27919:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27936:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77268, + "src": "27919:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76254, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "27948:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27965:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77264, + "src": "27948:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76256, + "name": "aliceOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76216, + "src": "27978:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76250, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76830, + "src": "27898:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 76257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27898:105:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76258, + "nodeType": "ExpressionStatement", + "src": "27898:105:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76260, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "28027:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "expression": { + "id": 76261, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28032:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28049:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77270, + "src": "28032:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76263, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28059:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28076:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77266, + "src": "28059:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76265, + "name": "bobOrderIOCalculation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76230, + "src": "28087:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76259, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76830, + "src": "28013:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" + } + }, + "id": 76266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28013:97:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76267, + "nodeType": "ExpressionStatement", + "src": "28013:97:172" + }, + { + "id": 76328, + "nodeType": "Block", + "src": "28121:753:172", + "statements": [ + { + "assignments": [ + 76269 + ], + "declarations": [ + { + "constant": false, + "id": 76269, + "mutability": "mutable", + "name": "aliceBounty", + "nameLocation": "28275:11:172", + "nodeType": "VariableDeclaration", + "scope": 76328, + "src": "28267:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28267:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76275, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76270, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28289:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28306:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77264, + "src": "28289:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 76272, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28320:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28337:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77270, + "src": "28320:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28289:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28267:78:172" + }, + { + "assignments": [ + 76277 + ], + "declarations": [ + { + "constant": false, + "id": 76277, + "mutability": "mutable", + "name": "bobBounty", + "nameLocation": "28367:9:172", + "nodeType": "VariableDeclaration", + "scope": 76328, + "src": "28359:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28359:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76283, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76278, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28379:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28396:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77266, + "src": "28379:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 76280, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28408:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28425:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77268, + "src": "28408:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28379:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28359:76:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76284, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76269, + "src": "28453:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28467:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28453:15:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76305, + "nodeType": "IfStatement", + "src": "28449:206:172", + "trueBody": { + "id": 76304, + "nodeType": "Block", + "src": "28470:185:172", + "statements": [ + { + "expression": { + "id": 76302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76287, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "28488:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76298, + "indexExpression": { + "expression": { + "id": 76288, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28503:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28507:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28503:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28488:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76299, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76290, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76014, + "src": "28515:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28521:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "28515:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76294, + "indexExpression": { + "expression": { + "id": 76292, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28534:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28546:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77253, + "src": "28534:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28515:50:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28566:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "28515:56:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28488:84:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76300, + "indexExpression": { + "expression": { + "id": 76296, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28573:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28606:18:172", + "memberName": "aliceBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77259, + "src": "28573:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28488:137:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76301, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76269, + "src": "28629:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28488:152:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76303, + "nodeType": "ExpressionStatement", + "src": "28488:152:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76306, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76277, + "src": "28672:9:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28684:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28672:13:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76327, + "nodeType": "IfStatement", + "src": "28668:196:172", + "trueBody": { + "id": 76326, + "nodeType": "Block", + "src": "28687:177:172", + "statements": [ + { + "expression": { + "id": 76324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76309, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "28705:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76320, + "indexExpression": { + "expression": { + "id": 76310, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28720:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28724:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28720:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28705:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76321, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76312, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76017, + "src": "28732:3:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28736:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "28732:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76316, + "indexExpression": { + "expression": { + "id": 76314, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28749:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28761:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 77257, + "src": "28749:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28732:46:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76317, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28779:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "28732:52:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28705:80:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76322, + "indexExpression": { + "expression": { + "id": 76318, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "28786:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 76319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28819:16:172", + "memberName": "bobBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77261, + "src": "28786:49:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28705:131:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76323, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76277, + "src": "28840:9:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28705:144:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76325, + "nodeType": "ExpressionStatement", + "src": "28705:144:172" + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76330, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28900:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28904:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28900:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76332, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76244, + "src": "28912:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + ], + "id": 76329, + "name": "AfterClear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77705, + "src": "28889:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77271_memory_ptr_$returns$__$", + "typeString": "function (address,struct ClearStateChange memory)" + } + }, + "id": 76333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28889:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76334, + "nodeType": "EmitStatement", + "src": "28884:45:172" + } + ] + }, + "baseFunctions": [ + 77795 + ], + "documentation": { + "id": 76011, + "nodeType": "StructuredDocumentation", + "src": "24656:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "9e18968b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76031, + "kind": "modifierInvocation", + "modifierName": { + "id": 76030, + "name": "nonReentrant", + "nameLocations": [ + "24919:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "24919:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "24919:12:172" + } + ], + "name": "clear", + "nameLocation": "24698:5:172", + "parameters": { + "id": 76029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76014, + "mutability": "mutable", + "name": "alice", + "nameLocation": "24726:5:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24713:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76013, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76012, + "name": "Order", + "nameLocations": [ + "24713:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "24713:5:172" + }, + "referencedDeclaration": 77222, + "src": "24713:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76017, + "mutability": "mutable", + "name": "bob", + "nameLocation": "24754:3:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24741:16:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76016, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76015, + "name": "Order", + "nameLocations": [ + "24741:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "24741:5:172" + }, + "referencedDeclaration": 77222, + "src": "24741:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76020, + "mutability": "mutable", + "name": "clearConfig", + "nameLocation": "24788:11:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24767:32:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 76019, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76018, + "name": "ClearConfig", + "nameLocations": [ + "24767:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77262, + "src": "24767:11:172" + }, + "referencedDeclaration": 77262, + "src": "24767:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$77262_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76024, + "mutability": "mutable", + "name": "aliceSignedContext", + "nameLocation": "24834:18:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24809:43:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 76022, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76021, + "name": "SignedContextV1", + "nameLocations": [ + "24809:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56240, + "src": "24809:15:172" + }, + "referencedDeclaration": 56240, + "src": "24809:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 76023, + "nodeType": "ArrayTypeName", + "src": "24809:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76028, + "mutability": "mutable", + "name": "bobSignedContext", + "nameLocation": "24887:16:172", + "nodeType": "VariableDeclaration", + "scope": 76336, + "src": "24862:41:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 76026, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76025, + "name": "SignedContextV1", + "nameLocations": [ + "24862:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56240, + "src": "24862:15:172" + }, + "referencedDeclaration": 56240, + "src": "24862:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 76027, + "nodeType": "ArrayTypeName", + "src": "24862:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "24703:206:172" + }, + "returnParameters": { + "id": 76032, + "nodeType": "ParameterList", + "parameters": [], + "src": "24932:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76653, + "nodeType": "FunctionDefinition", + "src": "29640:5114:172", + "nodes": [], + "body": { + "id": 76652, + "nodeType": "Block", + "src": "29889:4865:172", + "nodes": [], + "statements": [ + { + "id": 76651, + "nodeType": "UncheckedBlock", + "src": "29899:4849:172", + "statements": [ + { + "assignments": [ + 76357 + ], + "declarations": [ + { + "constant": false, + "id": 76357, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "29931:9:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "29923:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29923:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 76361, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76358, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "29943:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29949:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 77849, + "src": "29943:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeString": "function (struct Order memory) pure returns (bytes32)" + } + }, + "id": 76360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29943:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29923:32:172" + }, + { + "assignments": [ + 76367 + ], + "declarations": [ + { + "constant": false, + "id": 76367, + "mutability": "mutable", + "name": "context", + "nameLocation": "29989:7:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "29970:26:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 76364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29970:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76365, + "nodeType": "ArrayTypeName", + "src": "29970:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76366, + "nodeType": "ArrayTypeName", + "src": "29970:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 76368, + "nodeType": "VariableDeclarationStatement", + "src": "29970:26:172" + }, + { + "id": 76515, + "nodeType": "Block", + "src": "30010:1540:172", + "statements": [ + { + "assignments": [ + 76374 + ], + "declarations": [ + { + "constant": false, + "id": 76374, + "mutability": "mutable", + "name": "callingContext", + "nameLocation": "30047:14:172", + "nodeType": "VariableDeclaration", + "scope": 76515, + "src": "30028:33:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 76371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30028:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76372, + "nodeType": "ArrayTypeName", + "src": "30028:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76373, + "nodeType": "ArrayTypeName", + "src": "30028:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 76381, + "initialValue": { + "arguments": [ + { + "id": 76379, + "name": "CALLING_CONTEXT_COLUMNS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74903, + "src": "30101:23:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "30064:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 76375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30068:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76376, + "nodeType": "ArrayTypeName", + "src": "30068:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76377, + "nodeType": "ArrayTypeName", + "src": "30068:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + } + }, + "id": 76380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30064:78:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "30028:114:172" + }, + { + "expression": { + "id": 76409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76382, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "30160:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76386, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 76383, + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74911, + "src": "30175:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30208:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30175:34:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30160:50:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 76391, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76357, + "src": "30268:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30260:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30260:7:172", + "typeDescriptions": {} + } + }, + "id": 76392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30260:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76397, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30296:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30302:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "30296:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30288:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76395, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30288:7:172", + "typeDescriptions": {} + } + }, + "id": 76399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30288:20:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30280:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30280:7:172", + "typeDescriptions": {} + } + }, + "id": 76400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30280:29:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 76405, + "name": "counterparty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76346, + "src": "30327:12:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30319:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76403, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30319:7:172", + "typeDescriptions": {} + } + }, + "id": 76406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30319:21:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30311:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30311:7:172", + "typeDescriptions": {} + } + }, + "id": 76407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30311:30:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76387, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "30213:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30229:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72558, + "src": "30213:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30213:146:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30160:199:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76410, + "nodeType": "ExpressionStatement", + "src": "30160:199:172" + }, + { + "expression": { + "id": 76457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76411, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "30378:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76415, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 76412, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "30393:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30423:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30393:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30378:47:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76422, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30491:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76423, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30497:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30491:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76425, + "indexExpression": { + "id": 76424, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30509:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30491:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30523:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "30491:37:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30483:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76420, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "30483:7:172", + "typeDescriptions": {} + } + }, + "id": 76427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30483:46:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30475:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30475:7:172", + "typeDescriptions": {} + } + }, + "id": 76428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30475:55:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76429, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30552:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30558:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30552:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76432, + "indexExpression": { + "id": 76431, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30570:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30552:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30584:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "30552:40:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76434, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30614:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30620:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30614:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76437, + "indexExpression": { + "id": 76436, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30632:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30614:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30646:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "30614:39:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76439, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "30675:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76442, + "indexExpression": { + "expression": { + "id": 76440, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30690:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30696:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "30690:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30675:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76448, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76443, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30703:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76444, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30709:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30703:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76446, + "indexExpression": { + "id": 76445, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30721:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30703:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30735:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "30703:37:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30675:66:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76454, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76449, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "30742:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30748:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77217, + "src": "30742:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76452, + "indexExpression": { + "id": 76451, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76342, + "src": "30760:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30742:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76453, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30799:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "30742:64:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30675:132:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 76455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30885:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 76416, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "30428:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30444:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72594, + "src": "30428:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30428:476:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30378:526:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76458, + "nodeType": "ExpressionStatement", + "src": "30378:526:172" + }, + { + "expression": { + "id": 76505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76459, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "30923:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76463, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 76460, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "30938:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30969:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "30938:32:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30923:48:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76470, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31037:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76471, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31043:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31037:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76473, + "indexExpression": { + "id": 76472, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31056:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31037:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76474, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31071:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "31037:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31029:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76468, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "31029:7:172", + "typeDescriptions": {} + } + }, + "id": 76475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31029:48:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31021:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31021:7:172", + "typeDescriptions": {} + } + }, + "id": 76476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31021:57:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76477, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31100:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31106:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31100:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76480, + "indexExpression": { + "id": 76479, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31119:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31100:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76481, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31134:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "31100:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 76482, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31164:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76483, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31170:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31164:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76485, + "indexExpression": { + "id": 76484, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31183:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31164:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31198:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "31164:41:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76487, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "31227:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76490, + "indexExpression": { + "expression": { + "id": 76488, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31242:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76489, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31248:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "31242:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31227:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76496, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76491, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31255:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31261:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31255:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76494, + "indexExpression": { + "id": 76493, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31274:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31255:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76495, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31289:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "31255:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31227:68:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76502, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76497, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31296:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31302:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "31296:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76500, + "indexExpression": { + "id": 76499, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "31315:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31296:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76501, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31355:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "31296:66:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31227:136:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 76503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31441:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 76464, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "30974:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30990:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72594, + "src": "30974:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30974:486:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "30923:537:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76506, + "nodeType": "ExpressionStatement", + "src": "30923:537:172" + }, + { + "expression": { + "id": 76513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76507, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "31478:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 76510, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76374, + "src": "31505:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 76511, + "name": "signedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76350, + "src": "31521:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "expression": { + "id": 76508, + "name": "LibContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57061, + "src": "31488:10:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibContext_$57061_$", + "typeString": "type(library LibContext)" + } + }, + "id": 76509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31499:5:172", + "memberName": "build", + "nodeType": "MemberAccess", + "referencedDeclaration": 57060, + "src": "31488:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" + } + }, + "id": 76512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31488:47:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "src": "31478:57:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76514, + "nodeType": "ExpressionStatement", + "src": "31478:57:172" + } + ] + }, + { + "assignments": [ + 76518 + ], + "declarations": [ + { + "constant": false, + "id": 76518, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "31741:9:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "31726:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 76517, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76516, + "name": "StateNamespace", + "nameLocations": [ + "31726:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56306, + "src": "31726:14:172" + }, + "referencedDeclaration": 56306, + "src": "31726:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + } + ], + "id": 76530, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76525, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "31789:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31795:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "31789:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31781:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76523, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "31781:7:172", + "typeDescriptions": {} + } + }, + "id": 76527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31781:20:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31773:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31773:7:172", + "typeDescriptions": {} + } + }, + "id": 76528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31773:29:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76519, + "name": "StateNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56306, + "src": "31753:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56306_$", + "typeString": "type(StateNamespace)" + } + }, + "id": 76520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31768:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "31753:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56306_$", + "typeString": "function (uint256) pure returns (StateNamespace)" + } + }, + "id": 76529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31753:50:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "31726:77:172" + }, + { + "assignments": [ + 76535, + 76538 + ], + "declarations": [ + { + "constant": false, + "id": 76535, + "mutability": "mutable", + "name": "calculateOrderStack", + "nameLocation": "32162:19:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32145:36:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32145:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76534, + "nodeType": "ArrayTypeName", + "src": "32145:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76538, + "mutability": "mutable", + "name": "calculateOrderKVs", + "nameLocation": "32200:17:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32183:34:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32183:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76537, + "nodeType": "ArrayTypeName", + "src": "32183:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 76554, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76543, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32305:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32311:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "32305:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32321:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "32305:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 76546, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76518, + "src": "32328:9:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 76548, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32363:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32369:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "32363:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32379:10:172", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 57279, + "src": "32363:26:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76547, + "name": "_calculateOrderDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76987, + "src": "32339:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 76551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32339:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + { + "id": 76552, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "32392:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76539, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32221:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32244:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "32221:32:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32271:11:172", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 57274, + "src": "32221:61:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + "id": 76542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32300:4:172", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 56346, + "src": "32221:83:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 76553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32221:179:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32144:256:172" + }, + { + "assignments": [ + 76557 + ], + "declarations": [ + { + "constant": false, + "id": 76557, + "mutability": "mutable", + "name": "orderOutputMax18", + "nameLocation": "32430:16:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32415:31:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76556, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76555, + "name": "Output18Amount", + "nameLocations": [ + "32415:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "32415:14:172" + }, + "referencedDeclaration": 74977, + "src": "32415:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76567, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 76560, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32469:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76565, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76561, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32489:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32509:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32489:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "32", + "id": 76563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32518:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "32489:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32469:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76558, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "32449:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32464:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "32449:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32449:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32415:106:172" + }, + { + "assignments": [ + 76569 + ], + "declarations": [ + { + "constant": false, + "id": 76569, + "mutability": "mutable", + "name": "orderIORatio", + "nameLocation": "32543:12:172", + "nodeType": "VariableDeclaration", + "scope": 76651, + "src": "32535:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76568, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32535:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76576, + "initialValue": { + "baseExpression": { + "id": 76570, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32558:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76575, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76571, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76535, + "src": "32578:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32598:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32578:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 76573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32607:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "32578:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32558:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32535:74:172" + }, + { + "id": 76627, + "nodeType": "Block", + "src": "32624:1718:172", + "statements": [ + { + "assignments": [ + 76578 + ], + "declarations": [ + { + "constant": false, + "id": 76578, + "mutability": "mutable", + "name": "ownerVaultBalance", + "nameLocation": "32786:17:172", + "nodeType": "VariableDeclaration", + "scope": 76627, + "src": "32778:25:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32778:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76595, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76579, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "32806:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76582, + "indexExpression": { + "expression": { + "id": 76580, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32821:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32827:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "32821:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32806:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76588, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76583, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32834:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76584, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32840:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "32834:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76586, + "indexExpression": { + "id": 76585, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "32853:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32834:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32868:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 77187, + "src": "32834:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32806:68:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76594, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76589, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "32875:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32902:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "32875:39:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76592, + "indexExpression": { + "id": 76591, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "32915:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32875:54:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32930:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 77191, + "src": "32875:62:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32806:132:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32778:160:172" + }, + { + "assignments": [ + 76598 + ], + "declarations": [ + { + "constant": false, + "id": 76598, + "mutability": "mutable", + "name": "ownerVaultBalance18", + "nameLocation": "34006:19:172", + "nodeType": "VariableDeclaration", + "scope": 76627, + "src": "33991:34:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76597, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76596, + "name": "Output18Amount", + "nameLocations": [ + "33991:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "33991:14:172" + }, + "referencedDeclaration": 74977, + "src": "33991:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76611, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76603, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "34094:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34100:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "34094:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76606, + "indexExpression": { + "id": 76605, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "34113:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34094:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34128:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "34094:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 76608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34138:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "id": 76601, + "name": "ownerVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76578, + "src": "34068:17:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34086:7:172", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 71561, + "src": "34068:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 76609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34068:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76599, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34048:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34063:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "34048:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34048:93:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33991:150:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 76614, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34185:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76612, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34163:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34178:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34163:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34163:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 76618, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76598, + "src": "34227:19:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76616, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34205:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34220:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34205:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34205:42:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34163:84:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76626, + "nodeType": "IfStatement", + "src": "34159:169:172", + "trueBody": { + "id": 76625, + "nodeType": "Block", + "src": "34249:79:172", + "statements": [ + { + "expression": { + "id": 76623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76621, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34271:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76622, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76598, + "src": "34290:19:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "src": "34271:38:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "id": 76624, + "nodeType": "ExpressionStatement", + "src": "34271:38:172" + } + ] + } + } + ] + }, + { + "expression": { + "id": 76639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76628, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "34439:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76630, + "indexExpression": { + "id": 76629, + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74915, + "src": "34447:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "34439:36:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 76635, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34542:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76633, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "34520:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34535:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "34520:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34520:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76637, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "34561:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76631, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72684, + "src": "34494:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 76632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34510:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 72543, + "src": "34494:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" + } + }, + "id": 76638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34494:80:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "34439:135:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76640, + "nodeType": "ExpressionStatement", + "src": "34439:135:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76642, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76340, + "src": "34632:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + { + "id": 76643, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76344, + "src": "34639:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76644, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76557, + "src": "34654:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + { + "id": 76645, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "34672:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76646, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76367, + "src": "34686:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 76647, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76518, + "src": "34695:9:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "id": 76648, + "name": "calculateOrderKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76538, + "src": "34706:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 76641, + "name": "OrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74975, + "src": "34596:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$74975_storage_ptr_$", + "typeString": "type(struct OrderIOCalculation storage pointer)" + } + }, + "id": 76649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34596:141:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "functionReturnParameters": 76355, + "id": 76650, + "nodeType": "Return", + "src": "34589:148:172" + } + ] + } + ] + }, + "documentation": { + "id": 76337, + "nodeType": "StructuredDocumentation", + "src": "28942:693:172", + "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateOrderIO", + "nameLocation": "29649:16:172", + "parameters": { + "id": 76351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76340, + "mutability": "mutable", + "name": "order", + "nameLocation": "29688:5:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29675:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76339, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76338, + "name": "Order", + "nameLocations": [ + "29675:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "29675:5:172" + }, + "referencedDeclaration": 77222, + "src": "29675:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76342, + "mutability": "mutable", + "name": "inputIOIndex", + "nameLocation": "29711:12:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29703:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76341, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29703:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76344, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "29741:13:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29733:21:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29733:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76346, + "mutability": "mutable", + "name": "counterparty", + "nameLocation": "29772:12:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29764:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29764:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76350, + "mutability": "mutable", + "name": "signedContext", + "nameLocation": "29819:13:172", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29794:38:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 76348, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76347, + "name": "SignedContextV1", + "nameLocations": [ + "29794:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56240, + "src": "29794:15:172" + }, + "referencedDeclaration": 56240, + "src": "29794:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 76349, + "nodeType": "ArrayTypeName", + "src": "29794:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "29665:173:172" + }, + "returnParameters": { + "id": 76355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 76653, + "src": "29862:25:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76353, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76352, + "name": "OrderIOCalculation", + "nameLocations": [ + "29862:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "29862:18:172" + }, + "referencedDeclaration": 74975, + "src": "29862:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "29861:27:172" + }, + "scope": 77004, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76830, + "nodeType": "FunctionDefinition", + "src": "35328:3665:172", + "nodes": [], + "body": { + "id": 76829, + "nodeType": "Block", + "src": "35495:3498:172", + "nodes": [], + "statements": [ + { + "expression": { + "id": 76675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76667, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35505:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35524:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35505:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76672, + "indexExpression": { + "id": 76669, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "35532:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35505:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76673, + "indexExpression": { + "id": 76670, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74943, + "src": "35561:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35505:86:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76674, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76659, + "src": "35594:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35505:94:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76676, + "nodeType": "ExpressionStatement", + "src": "35505:94:172" + }, + { + "expression": { + "id": 76685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76677, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35609:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35628:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35609:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76682, + "indexExpression": { + "id": 76679, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "35636:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35609:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76683, + "indexExpression": { + "id": 76680, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74943, + "src": "35666:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35609:87:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76684, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76661, + "src": "35699:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35609:96:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76686, + "nodeType": "ExpressionStatement", + "src": "35609:96:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76687, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76659, + "src": "35720:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35728:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "35720:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76718, + "nodeType": "IfStatement", + "src": "35716:360:172", + "trueBody": { + "id": 76717, + "nodeType": "Block", + "src": "35731:345:172", + "statements": [ + { + "expression": { + "id": 76715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76690, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "35816:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76711, + "indexExpression": { + "expression": { + "id": 76691, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "35831:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76692, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35837:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "35831:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35816:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76712, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76697, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35877:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76698, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35896:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35877:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76700, + "indexExpression": { + "id": 76699, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "35904:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35877:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76702, + "indexExpression": { + "id": 76701, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74927, + "src": "35933:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35877:79:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35869:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76695, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "35869:7:172", + "typeDescriptions": {} + } + }, + "id": 76703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35869:88:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35844:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35844:7:172", + "typeDescriptions": {} + } + }, + "id": 76704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35844:127:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35816:156:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76713, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76705, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "35973:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35992:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "35973:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76708, + "indexExpression": { + "id": 76707, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74919, + "src": "36000:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35973:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76710, + "indexExpression": { + "id": 76709, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74935, + "src": "36029:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35973:82:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35816:240:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76714, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76659, + "src": "36060:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35816:249:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76716, + "nodeType": "ExpressionStatement", + "src": "35816:249:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76719, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76661, + "src": "36089:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36098:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "36089:10:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76750, + "nodeType": "IfStatement", + "src": "36085:365:172", + "trueBody": { + "id": 76749, + "nodeType": "Block", + "src": "36101:349:172", + "statements": [ + { + "expression": { + "id": 76747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76722, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75028, + "src": "36187:14:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" + } + }, + "id": 76743, + "indexExpression": { + "expression": { + "id": 76723, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "36202:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36208:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 77208, + "src": "36202:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36187:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76744, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76729, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36248:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36267:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "36248:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76732, + "indexExpression": { + "id": 76731, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "36275:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36248:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76734, + "indexExpression": { + "id": 76733, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74927, + "src": "36305:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36248:80:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36240:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 76727, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "36240:7:172", + "typeDescriptions": {} + } + }, + "id": 76735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36240:89:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 76726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36215:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36215:7:172", + "typeDescriptions": {} + } + }, + "id": 76736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36215:128:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36187:157:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76745, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 76737, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36345:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36364:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "36345:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 76740, + "indexExpression": { + "id": 76739, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74923, + "src": "36372:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36345:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76742, + "indexExpression": { + "id": 76741, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74935, + "src": "36402:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36345:83:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "36187:242:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 76746, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76661, + "src": "36433:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "36187:252:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76748, + "nodeType": "ExpressionStatement", + "src": "36187:252:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76752, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "36624:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36628:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "36624:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76754, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36636:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76755, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36655:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "36636:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "id": 76751, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56259, + "src": "36616:7:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory[] memory)" + } + }, + "id": 76756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36616:47:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76757, + "nodeType": "EmitStatement", + "src": "36611:52:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 76758, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "36894:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36913:3:172", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 74974, + "src": "36894:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36917:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "36894:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36926:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "36894:33:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76777, + "nodeType": "IfStatement", + "src": "36890:470:172", + "trueBody": { + "id": 76776, + "nodeType": "Block", + "src": "36929:431:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76770, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "37296:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37315:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 74971, + "src": "37296:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "expression": { + "id": 76772, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "37326:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37345:3:172", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 74974, + "src": "37326:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76763, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "37270:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76767, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37276:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "37270:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37286:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "37270:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 76769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37292:3:172", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 56285, + "src": "37270:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 76774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37270:79:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76775, + "nodeType": "ExpressionStatement", + "src": "37270:79:172" + } + ] + } + }, + { + "condition": { + "expression": { + "id": 76778, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "37518:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37524:8:172", + "memberName": "handleIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 77210, + "src": "37518:14:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76828, + "nodeType": "IfStatement", + "src": "37514:1473:172", + "trueBody": { + "id": 76827, + "nodeType": "Block", + "src": "37534:1453:172", + "statements": [ + { + "assignments": [ + 76784, + 76787 + ], + "declarations": [ + { + "constant": false, + "id": 76784, + "mutability": "mutable", + "name": "handleIOStack", + "nameLocation": "38009:13:172", + "nodeType": "VariableDeclaration", + "scope": 76827, + "src": "37992:30:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37992:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76783, + "nodeType": "ArrayTypeName", + "src": "37992:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76787, + "mutability": "mutable", + "name": "handleIOKVs", + "nameLocation": "38041:11:172", + "nodeType": "VariableDeclaration", + "scope": 76827, + "src": "38024:28:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "38024:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76786, + "nodeType": "ArrayTypeName", + "src": "38024:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 76805, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76792, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38106:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38112:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38106:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76794, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38122:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "38106:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "expression": { + "id": 76795, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "38145:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38164:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 74971, + "src": "38145:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 76798, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38209:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76799, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38215:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38209:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38225:10:172", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 57279, + "src": "38209:26:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76797, + "name": "_handleIODispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77003, + "src": "38191:17:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 76801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38191:45:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + { + "expression": { + "id": 76802, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "38254:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38273:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 74968, + "src": "38254:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76788, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38056:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76789, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38062:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38056:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38072:11:172", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 57274, + "src": "38056:27:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", + "typeString": "contract IInterpreterV1" + } + }, + "id": 76791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38084:4:172", + "memberName": "eval", + "nodeType": "MemberAccess", + "referencedDeclaration": 56346, + "src": "38056:32:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 76804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38056:238:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "37991:303:172" + }, + { + "expression": { + "components": [ + { + "id": 76806, + "name": "handleIOStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76784, + "src": "38367:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 76807, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "38366:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76808, + "nodeType": "ExpressionStatement", + "src": "38366:15:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76809, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76787, + "src": "38505:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 76810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38517:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "38505:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38526:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "38505:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76826, + "nodeType": "IfStatement", + "src": "38501:476:172", + "trueBody": { + "id": 76825, + "nodeType": "Block", + "src": "38529:448:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76820, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76664, + "src": "38920:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76821, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38939:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 74971, + "src": "38920:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + } + }, + { + "id": 76822, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76787, + "src": "38950:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76813, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76657, + "src": "38894:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38900:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 77213, + "src": "38894:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeString": "struct Evaluable memory" + } + }, + "id": 76818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38910:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 57277, + "src": "38894:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 76819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38916:3:172", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 56285, + "src": "38894:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 76823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38894:68:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76824, + "nodeType": "ExpressionStatement", + "src": "38894:68:172" + } + ] + } + } + ] + } + } + ] + }, + "documentation": { + "id": 76654, + "nodeType": "StructuredDocumentation", + "src": "34760:563:172", + "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recordVaultIO", + "nameLocation": "35337:13:172", + "parameters": { + "id": 76665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76657, + "mutability": "mutable", + "name": "order", + "nameLocation": "35373:5:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35360:18:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order" + }, + "typeName": { + "id": 76656, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76655, + "name": "Order", + "nameLocations": [ + "35360:5:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77222, + "src": "35360:5:172" + }, + "referencedDeclaration": 77222, + "src": "35360:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeString": "struct Order" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76659, + "mutability": "mutable", + "name": "input", + "nameLocation": "35396:5:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35388:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35388:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76661, + "mutability": "mutable", + "name": "output", + "nameLocation": "35419:6:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35411:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35411:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76664, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "35461:18:172", + "nodeType": "VariableDeclaration", + "scope": 76830, + "src": "35435:44:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76663, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76662, + "name": "OrderIOCalculation", + "nameLocations": [ + "35435:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "35435:18:172" + }, + "referencedDeclaration": 74975, + "src": "35435:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "35350:135:172" + }, + "returnParameters": { + "id": 76666, + "nodeType": "ParameterList", + "parameters": [], + "src": "35495:0:172" + }, + "scope": 77004, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76856, + "nodeType": "FunctionDefinition", + "src": "39537:486:172", + "nodes": [], + "body": { + "id": 76855, + "nodeType": "Block", + "src": "39759:264:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 76844, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76841, + "src": "39794:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + { + "id": 76845, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76834, + "src": "39812:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 76846, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76837, + "src": "39837:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76843, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76971, + "src": "39769:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" + } + }, + "id": 76847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39769:90:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76848, + "nodeType": "ExpressionStatement", + "src": "39769:90:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76850, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76841, + "src": "39951:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + { + "id": 76851, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76837, + "src": "39969:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + { + "id": 76852, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76834, + "src": "39992:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + ], + "id": 76849, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76971, + "src": "39926:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" + } + }, + "id": 76853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39926:90:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76854, + "nodeType": "ExpressionStatement", + "src": "39926:90:172" + } + ] + }, + "documentation": { + "id": 76831, + "nodeType": "StructuredDocumentation", + "src": "38999:533:172", + "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateChange", + "nameLocation": "39546:25:172", + "parameters": { + "id": 76838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76834, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "39607:23:172", + "nodeType": "VariableDeclaration", + "scope": 76856, + "src": "39581:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76833, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76832, + "name": "OrderIOCalculation", + "nameLocations": [ + "39581:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "39581:18:172" + }, + "referencedDeclaration": 74975, + "src": "39581:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76837, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "39666:21:172", + "nodeType": "VariableDeclaration", + "scope": 76856, + "src": "39640:47:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76836, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76835, + "name": "OrderIOCalculation", + "nameLocations": [ + "39640:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "39640:18:172" + }, + "referencedDeclaration": 74975, + "src": "39640:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "39571:122:172" + }, + "returnParameters": { + "id": 76842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76841, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "39741:16:172", + "nodeType": "VariableDeclaration", + "scope": 76856, + "src": "39717:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 76840, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76839, + "name": "ClearStateChange", + "nameLocations": [ + "39717:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77271, + "src": "39717:16:172" + }, + "referencedDeclaration": 77271, + "src": "39717:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "src": "39716:42:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76971, + "nodeType": "FunctionDefinition", + "src": "40029:2055:172", + "nodes": [], + "body": { + "id": 76970, + "nodeType": "Block", + "src": "40249:1835:172", + "nodes": [], + "statements": [ + { + "assignments": [ + 76870 + ], + "declarations": [ + { + "constant": false, + "id": 76870, + "mutability": "mutable", + "name": "bobInputMax18", + "nameLocation": "40466:13:172", + "nodeType": "VariableDeclaration", + "scope": 76970, + "src": "40452:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 76869, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76868, + "name": "Input18Amount", + "nameLocations": [ + "40452:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "40452:13:172" + }, + "referencedDeclaration": 74979, + "src": "40452:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76886, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76879, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "40600:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40622:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "40600:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 76881, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "40631:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", + "typeString": "type(library Math)" + } + }, + "id": 76882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40636:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45957, + "src": "40631:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 76883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40645:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45955, + "src": "40631:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 76875, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "40536:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40558:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "40536:31:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76873, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "40514:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40529:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40514:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40514:54:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40569:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 71288, + "src": "40514:68:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 76884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40514:147:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76871, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "40482:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40496:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "40482:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 76885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40482:189:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "40452:219:172" + }, + { + "assignments": [ + 76889 + ], + "declarations": [ + { + "constant": false, + "id": 76889, + "mutability": "mutable", + "name": "aliceOutputMax18", + "nameLocation": "40696:16:172", + "nodeType": "VariableDeclaration", + "scope": 76970, + "src": "40681:31:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76888, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76887, + "name": "Output18Amount", + "nameLocations": [ + "40681:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74977, + "src": "40681:14:172" + }, + "referencedDeclaration": 74977, + "src": "40681:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76892, + "initialValue": { + "expression": { + "id": 76890, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "40715:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40739:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 74962, + "src": "40715:33:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "40681:67:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 76895, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "40861:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76893, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "40839:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40854:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40839:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40839:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 76899, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76870, + "src": "40902:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76897, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "40881:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40895:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40881:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40881:35:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "40839:77:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76913, + "nodeType": "IfStatement", + "src": "40835:183:172", + "trueBody": { + "id": 76912, + "nodeType": "Block", + "src": "40918:100:172", + "statements": [ + { + "expression": { + "id": 76910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76902, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "40932:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 76907, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76870, + "src": "40992:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76905, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "40971:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40985:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "40971:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40971:35:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76903, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "40951:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40966:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "40951:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40951:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "src": "40932:75:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + }, + "id": 76911, + "nodeType": "ExpressionStatement", + "src": "40932:75:172" + } + ] + } + }, + { + "expression": { + "id": 76931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 76914, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76859, + "src": "41149:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76916, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "41166:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77264, + "src": "41149:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 76922, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "41240:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41264:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 74957, + "src": "41240:29:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76924, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41270:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "41240:42:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76927, + "indexExpression": { + "expression": { + "id": 76925, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "41283:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76926, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41307:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 74959, + "src": "41283:37:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41240:81:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41322:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "41240:90:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 76929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41332:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "arguments": [ + { + "id": 76919, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "41202:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76917, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "41180:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41195:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41180:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41180:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41220:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "41180:46:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 76930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41180:163:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41149:194:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76932, + "nodeType": "ExpressionStatement", + "src": "41149:194:172" + }, + { + "assignments": [ + 76935 + ], + "declarations": [ + { + "constant": false, + "id": 76935, + "mutability": "mutable", + "name": "aliceInput18", + "nameLocation": "41446:12:172", + "nodeType": "VariableDeclaration", + "scope": 76970, + "src": "41432:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 76934, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76933, + "name": "Input18Amount", + "nameLocations": [ + "41432:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74979, + "src": "41432:13:172" + }, + "referencedDeclaration": 74979, + "src": "41432:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76950, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76943, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76862, + "src": "41547:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76944, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41571:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 74964, + "src": "41547:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 76945, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46816, + "src": "41580:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", + "typeString": "type(library Math)" + } + }, + "id": 76946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41585:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 45957, + "src": "41580:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 76947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41594:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 45955, + "src": "41580:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$45957", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 76940, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76889, + "src": "41515:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76938, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74977, + "src": "41493:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41508:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41493:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41493:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41533:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 71288, + "src": "41493:53:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 76948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41493:104:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76936, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "41461:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41475:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "41461:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 76949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41461:146:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "41432:175:172" + }, + { + "expression": { + "id": 76968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 76951, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76859, + "src": "41617:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 76953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "41634:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 77268, + "src": "41617:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 76959, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "41966:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41988:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 74957, + "src": "41966:27:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeString": "struct Order memory" + } + }, + "id": 76961, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41994:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 77221, + "src": "41966:40:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76964, + "indexExpression": { + "expression": { + "id": 76962, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "42007:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation memory" + } + }, + "id": 76963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42029:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 74959, + "src": "42007:35:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "41966:77:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76965, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42044:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 77189, + "src": "41966:86:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 76966, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71243, + "src": "42054:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 76956, + "name": "aliceInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76935, + "src": "41932:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76954, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74979, + "src": "41911:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41925:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "41911:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41911:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41946:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 71636, + "src": "41911:41:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 76967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41911:166:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "41617:460:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76969, + "nodeType": "ExpressionStatement", + "src": "41617:460:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateAlice", + "nameLocation": "40038:24:172", + "parameters": { + "id": 76866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76859, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "40096:16:172", + "nodeType": "VariableDeclaration", + "scope": 76971, + "src": "40072:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 76858, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76857, + "name": "ClearStateChange", + "nameLocations": [ + "40072:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77271, + "src": "40072:16:172" + }, + "referencedDeclaration": 77271, + "src": "40072:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76862, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "40148:23:172", + "nodeType": "VariableDeclaration", + "scope": 76971, + "src": "40122:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76861, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76860, + "name": "OrderIOCalculation", + "nameLocations": [ + "40122:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "40122:18:172" + }, + "referencedDeclaration": 74975, + "src": "40122:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76865, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "40207:21:172", + "nodeType": "VariableDeclaration", + "scope": 76971, + "src": "40181:47:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeString": "struct OrderIOCalculation" + }, + "typeName": { + "id": 76864, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76863, + "name": "OrderIOCalculation", + "nameLocations": [ + "40181:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74975, + "src": "40181:18:172" + }, + "referencedDeclaration": 74975, + "src": "40181:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeString": "struct OrderIOCalculation" + } + }, + "visibility": "internal" + } + ], + "src": "40062:172:172" + }, + "returnParameters": { + "id": 76867, + "nodeType": "ParameterList", + "parameters": [], + "src": "40249:0:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 76987, + "nodeType": "FunctionDefinition", + "src": "42090:213:172", + "nodes": [], + "body": { + "id": 76986, + "nodeType": "Block", + "src": "42184:119:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 76981, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76973, + "src": "42227:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76982, + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74875, + "src": "42240:26:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + { + "id": 76983, + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74891, + "src": "42268:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 76979, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57246, + "src": "42201:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 76980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42220:6:172", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57197, + "src": "42201:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 76984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42201:95:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 76978, + "id": 76985, + "nodeType": "Return", + "src": "42194:102:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_calculateOrderDispatch", + "nameLocation": "42099:23:172", + "parameters": { + "id": 76974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76973, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "42131:11:172", + "nodeType": "VariableDeclaration", + "scope": 76987, + "src": "42123:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42123:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42122:21:172" + }, + "returnParameters": { + "id": 76978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76977, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 76987, + "src": "42167:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 76976, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76975, + "name": "EncodedDispatch", + "nameLocations": [ + "42167:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56304, + "src": "42167:15:172" + }, + "referencedDeclaration": 56304, + "src": "42167:15:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "42166:17:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 77003, + "nodeType": "FunctionDefinition", + "src": "42309:195:172", + "nodes": [], + "body": { + "id": 77002, + "nodeType": "Block", + "src": "42397:107:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 76997, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76989, + "src": "42440:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76998, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74883, + "src": "42453:20:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + } + }, + { + "id": 76999, + "name": "HANDLE_IO_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74899, + "src": "42475:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", + "typeString": "SourceIndex" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 76995, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57246, + "src": "42414:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 76996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42433:6:172", + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 57197, + "src": "42414:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", + "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" + } + }, + "id": 77000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42414:83:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 76994, + "id": 77001, + "nodeType": "Return", + "src": "42407:90:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_handleIODispatch", + "nameLocation": "42318:17:172", + "parameters": { + "id": 76990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76989, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "42344:11:172", + "nodeType": "VariableDeclaration", + "scope": 77003, + "src": "42336:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42336:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42335:21:172" + }, + "returnParameters": { + "id": 76994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76993, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 77003, + "src": "42380:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 76992, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76991, + "name": "EncodedDispatch", + "nameLocations": [ + "42380:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56304, + "src": "42380:15:172" + }, + "referencedDeclaration": 56304, + "src": "42380:15:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "42379:17:172" + }, + "scope": 77004, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 74981, + "name": "IOrderBookV3", + "nameLocations": [ + "9019:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 77796, + "src": "9019:12:172" + }, + "id": 74982, + "nodeType": "InheritanceSpecifier", + "src": "9019:12:172" + }, + { + "baseName": { + "id": 74983, + "name": "ReentrancyGuard", + "nameLocations": [ + "9033:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43711, + "src": "9033:15:172" + }, + "id": 74984, + "nodeType": "InheritanceSpecifier", + "src": "9033:15:172" + }, + { + "baseName": { + "id": 74985, + "name": "Multicall", + "nameLocations": [ + "9050:9:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45220, + "src": "9050:9:172" + }, + "id": 74986, + "nodeType": "InheritanceSpecifier", + "src": "9050:9:172" + }, + { + "baseName": { + "id": 74987, + "name": "OrderBookV3FlashLender", + "nameLocations": [ + "9061:22:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 74539, + "src": "9061:22:172" + }, + "id": 74988, + "nodeType": "InheritanceSpecifier", + "src": "9061:22:172" + }, + { + "baseName": { + "id": 74989, + "name": "DeployerDiscoverableMetaV2", + "nameLocations": [ + "9085:26:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55357, + "src": "9085:26:172" + }, + "id": 74990, + "nodeType": "InheritanceSpecifier", + "src": "9085:26:172" + } + ], + "canonicalName": "OrderBook", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 74980, + "nodeType": "StructuredDocumentation", + "src": "8929:68:172", + "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 77004, + 55357, + 71964, + 74539, + 45220, + 43711, + 77796, + 56260, + 77513 + ], + "name": "OrderBook", + "nameLocation": "9006:9:172", + "scope": 77005, + "usedErrors": [ + 56493, + 56776, + 71944, + 71949, + 74195, + 74198, + 74201, + 74206, + 74215, + 74826, + 74833, + 74840, + 74847, + 74854, + 74859, + 77527, + 77568, + 77577, + 77582, + 77587, + 77592, + 77597 + ] + } + ], + "license": "CAL" + }, + "id": 172 +} \ No newline at end of file diff --git a/subgraph/subgraph.template.yaml b/subgraph/subgraph.template.yaml index 9e573d8b33..62342fde9b 100755 --- a/subgraph/subgraph.template.yaml +++ b/subgraph/subgraph.template.yaml @@ -19,7 +19,7 @@ dataSources: - name: OrderBook file: ./abis/OrderBook.json - name: ReserveToken - file: ./abis/ReserveToken.json + file: ./abis/ERC20.json eventHandlers: - event: AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32) handler: handleAddOrder @@ -61,7 +61,7 @@ templates: - EmissionsERC20 abis: - name: ReserveToken - file: ./abis/ReserveToken.json + file: ./abis/ERC20.json eventHandlers: - event: Transfer(indexed address,indexed address,uint256) handler: handleTransfer diff --git a/subgraph/tests/OrderBook.rain.meta b/subgraph/tests/OrderBook.rain.meta deleted file mode 100644 index 8f567572bbc714dcbd4370e28d0be7b931f36336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5786 zcmV;L7G>%G3W>&a?s#;i09gh(?OaQ5+c*&ZD+`}d+?;X*WNxdn_ah-&hHWtYtXE^-k!I2(*4k(+)QVhQ0pB@kAoB`YXq)bA@ zNN~5B!{Fwt)-@4$SBE=UkeiT8X>XaIh@sS9k< zS`LS7K?3UE(nm&Q96`^?Lds|uhr?t<$-EZ3LMw*qCEt|JQLHsNqh zbYIhrV!7A(Zh0JeAS}cpgn6sKV-or4Pnm#C&m}kO_AUO`U$2v&9`~W3*%r7W zl(2><+hr}ftc5z7%>+o?(9!H1t%TolQxm$UhNTIp2X~33x&)7gBoNspoK|sQ(3tXR zJq67|rr!+}A(7rw&n?z0bc4Ti`L$Z2dURWG!Q#Sl4xR-68(P&8yL;43fp{_|LB)8z z=zmx`RRX8k?zIQ$_14ctY*iJ3yxvqkerIW zM``{`<&z(gmpc+YLXA)fy6G!yMW$y618|g;0m2}9mb$5rOloOiWPoM{1C!y^a-Iyr z=p&6$?z87L*IGVZ%fPG3G?kox&I3K}so<-q_U096euqf|GKK#tCu{5AZXa8%tCZj^ z23lZJ70H8cN~b@g@jN2^o*Fab){_Yj=`P%}BeIg|$C}v7xHmT;nK584S{@)j+La*cG8hyME^TqwI{Zz>V84 zxYp}SF{P1sX=}-Mi@woK>oZ)<-y`_P>4(+vzn#`x1V9iUF>7^!ApU6JlUHoX>XNbf zGbF7j9q{%$W9N*WGj{LO*eN94foeHOaFF02;axxiI!EmltHwnej;gYuww~Ua$6j<& zkFPJ09V|t$lw^D5>b_D1>{io6rJXZdxU9`Qta4%hy!YBbYa@+^iFtMsw1;Ie08qV5 z?(+Q(kH2td~6_!{XH zWz4RY9)K@y$Z||1*NB`iK;(KaPvleVZVHOo$&E52^3@=xlu!QUi7 z?vKr-2(zh=b-N?aYwKe9vOtFroz`6ywbJ5T ztbRMknKozIEX813uGr^=uJ&c@Ia4DfVN#SDn`U=#jpmus%WRW{Mep^7nqgDSRd`Jo z8blXl@y!O86@q7?1fi>a{CuQf{c_tZX6mK629$A;j*E1hIe3?mj;qFT5a1x-LqmY8 zzNsPd2CHx6E~;%laGFW&*KI?t=>y9L^{`1gldO(q;+o#U$!@{CO&Y0plE>c`8|_gZ z-9%B#$1M4x$2CBGz-mde$o)K{s+N2k`Hk_#r{m9G)MrP|c@*&%)7%~2S6Ld*uTN@= zwA5~V=Y+M%AM8A5&{cApkB}^{?O5roSqlm;tyxh5HxaO8KeDJ7B8*UP{rQQy9mx}p z)W>v0IqjWpPsf{izOHqnLM?K)%4WAWE-rO(sf$ZL?j`)h086t<=q)793!?7-Q8Bcc zJEAbk6)x9Q95@Vi80;|E6+*c}r~@v9lFfxrCQY9EjHG#Dx<#iAOAs9{%H?)&%lJ@o ziH$fq>R~B0kx@-a*6T*m_O^6Cd9g{h&p8PQ^Ij`2)G2yDnEYTvS(%pPi!KH0l_s40 z1_2xY<^Qy!|191DaA9z8Y-wX*bZKvHFKTmdZUbjzWoB$)bY%o$Wp1SaSr7fKT5WF| zxe@*=gunRiAUko|3l2fAfMn}>LJ}*mom|sv5L3I9M0mBUTkcv>i~jdMGedH@dWqX! z5g?X!$(iB2J~PxmPfEQqC$CPXb#7`ks;Y;R!HJ&P>*TS2nj4ql(Xdn%J)PmHYL>cD zxmg$0)+yK2x-koDoT|;bHqMld$(44>;zNxm_+ObX^vc<)#4_D1@d#8(tjX=8&0Adv zeRr)uV2UM$Otr zZEUktt2V=bRc+MVmPRdVjX$|it-$mVe3sP)L>>%e(^#mBqRKQMqRg@P5uf-hCEje+ z3>=rn)~ec+5O~0=h*t%ky4(`&%&Z$#&DE(}f}%UcsffPcqTUWalKv`Zo47l#^~MwS zva}^BLDw@21=L%AvdNWGRjIUEoBE7bs+o2ca$s`_vV2ZardZ0YO=joY^q6!gXtLQD zY+<@MdX{0AEf-#)oyo)|-FFzeX=~D!TInx#)vlCYRc$GU(ZU2OTer}K#Bs+v^ETn*znqcvB^$VS$*;GA;VdXolABbCdH8D*w8Bwt1BdsEWM#Jb8d70OW zKX!&=9XR^AQhzViPZhbTUabo=AR9VM>K9KOiZk(%)ZOdrA)nNr4c|xdUh}?2m*K#W z<>LACR~Mu~>pU?Wz`ClS1*KZzL?!e+vxRNgmsvm&_*_lqWD40gQhL2M8fNVaGujbm z=*`fH@CrhBMUWWQiTliV} zEFN}?N9UyT$uza1E;gDn3j3=KNd%{Qh(QK2^0yXEXANV{ryob`O+-`rdo-96ViPbROOLcRK0bYAi_3aO!-v{qH<_ z;uWDK4SA=iEesSRkBkpRZY8T3*YI&&lr*c_BA1GV61OIk=?4?p<+e6#$T`wgwlo@X zyi-vhtKv~~2%a?r&~>vV;c~doKuu#EckOyz)s*@@S#{d+a;Iu#P}FjXolR9g#G=a; zLY=O3{Xjv|Zcq2lo^OFMY?cNM$`sTgUNazHqe8oJDDz$JkyO?hO+2xz$}?7%=9+=i z_llJSkOv}Lr2Ja*t7?wyDOF~rOT92FMEU?Rs|$L~IS;lho3pwtOFSB=x8n~3Wt!}q z_4^M~S7!?j_FN+9Ox!YN3m@h<_`;yHBNIUXy0%mT*g~|BjR6XYa^VTDcd2RH06#2z9!J( zTn!P_9*V&^0}9OQ%2638A~>S*^r+$dv%;`tSzZ#CAx8I=!QE)AZpQD1lPfj)s4j;?)g9r`8X|8{4!XilqG==y{oVfgfB(fsx z%W5yTeefrEur>mD+|sTG%rUTY)hZ-7D$xP2;-ju>R62+QPzA+1${HI^kf`I7kON%J z7;)PGO_@BC9pC-z!B=f4c}roULMn$QcbwT$Hx+`mAm1n|&Q@S5A|(w@fQ^MkAZrJN z;JDMU)J)`U=BZofS^>6v@PHAJopTZx1schqb(97e;}c@^Y4)@#&8d2Sdv!-vud8;k zM7A@(QG*S$b$n-c&otZRH1Nd+%J zGR{7NUd0R^ZbbsAK0h;1BySOJ8}k%Oh8uJ-%+Q8$oNk*6dDDYd(8mWkTvEt|0`xj3 zl!B(D*m4{$xyjZ(X);!#EWXpmc#TP@oNiEm7pGBBPdbKg)F6XXmeZr6PEnL8(OAb$ zf|>-cw-^xEuvuDebU?ybt{4RYO6a`wwIXp_P7MsxX0%3F(|$1rqS7hPkK_hWZJRiY}E49L?Bydp{wcmR$Wi;U=qj^=}F#~Pz}i- zL^b+2pTK>-Bp?$Ly|1KXXF+pWRfHIcBNtNT=$sFYO8(-x;!LH1DSeM7Zi1)OLXdbI zIr|cFdk&U!jvNt`>qzYPz1{`yNzXww_j;=Crmx4>>h1Ky`0e=m?skCv#WoIP!n{Wp z1jnRMx9gn8Hwo|1J^G3i`u?szYotUtDY!`S)Kihh2ww-OpgCGiCXE{O9tt$*=5zvf zKk6U#V`XzE#lW}hHHrtV%m7k3QL@Z~j#xYfLr~7sOlxIy$eK6f(eRex1nK2g4X>}l z$6qFQKdY;c*Tc7yOEnt48D3wG)$nG_mbrcZ?%nj}ZhV!x)%5z!NA=6}=Jl;tNLTe}w4Y*x&MKkd{hnG&Psik4c*V@iZp;|UI-g8<7UDgEArfT}-!nmnwh#+Z zuA{z*UU01A>8b+~6enhmbYN+e5}Vlr(@ySdeZt~;EsB;-AjlaYJFVw(ZdXPEt4qJ3 z+mnP&8OxU9aWmh=Gg9yMiBu@kspilnGgVUHeT%g6;(Op5?-^Yp!tqRKK5dCIhkgMC z6_kjL2kMetx85|a>V_w%4h4E=!om!#`CMMlKK1dFJSXY6PSBWJk;efekp|Ly;5+9I zW8u)bwhj)slmT}b8(Xe?BtR)I!-z@C4^SsAE&xF0+wB z5_34gu6cKd(Z?Gw?RC`z(A!NB!$j6atd-vF5NE;oruI(nGlrDZHO=@!+sw01V6t}I zc+JX9O2l)FXE`4b@=Ex)Lj}~TK=J~#AdOY6 z`0Ao1uoLo8SH7h_LtRKAhvsQz+U|72XN;Nn?gp>#CzDQs4;S~$F0qC+yF&**p=65; z_Ip!WJcopw=)wR+z5aOlY-Lt6sE^xj!gUWk>B`Y|)ON-_4`Klt$R4Px+|IDV`5_qn zM^}TGOgP*E#^Q%(G91LyU*mNmBA1oXyG%?ThP%W(r;%f6HgXEQ;k47E^?}(YqW@ zyuH^ZrC^haG>|S&39_c;+&tH|X4pg?`$anO0I|b*V5)Y-efhdtbIX?p$ksK1J}hKv zU_6o$DzsbTgFA;_MDa|<5V(}9mMvv6YWFJ{XA`PZa`47ag@k9DFy+wYoLw8a@8F5A z&l*I=L4#d8k|tfg(%cy8_2mk-m6nmwf(M>>6RxTHxO5QugwQAl{LphBGKlQ+Ufw}v zrzW@iDP~8jin898hXeh}#y-TC}S?)TyoRyn%>TDcTUpS)`7)(lR_0Zbhq z&T$BOD&H@~o~f&jFc|H;k-qKtPMX7JvN(gvdqggoX%d-B(>21-;CMO=i5v@a6-TKD z6Xcnk;mjK(O%ZXUy7c7xOoI*m#dx(Na0CxnbXG^leg504zKU13mJ=A>8y>k<9t&TO;{zfqog4s^$Pf} z=8fTtT`X%$9y8M~Jp65B`ul?3MOg<^svY?f{rX&V*6D4}ai;O`eLFH#?ESi7*KTLL zY1cJ^?z|bl<{Mu8ukzqEhy3s|Ir3Mzq`EoEEM0We1tY*q{4a%lKGT!3xu+&hSL4gc z+u<9`J#KN4GQR2qMV^9_O*iPb!)TFyIB;fne$jF~sqNT174nF&t2nCYE3SJUMyEV) z=mxQpdo%hS2ZQil?mS>Srguhs_Piv_L;4bgr^op3^RSiNY4(lvA*mM~hY!6f;#)>E zF?{jqD^N1A-Wj5VF$)dI=F~U@q##YF>`#9p)F zEKGyLL<)}8##zOVh|JwjhmYom!7eOjB4<%qdrp(6tzW16wtGCb> z{}jhVezMOpQai$Pa&?>!zdJE;QQH~L>hj4)ElhqZK70g{)8Bj!GSQXcDst+;~1z6LbdB-K}w(zv8UIy zPY2?j#GM>RLZHXsD=~0r-7$7gMM00&*TUf7!Y8;M4+Kx`a3rKJ4^lrA3x3n@4~F!h zPe+57=&5knkuLmR;b=Uh)5yJDhXZ0qlE?xPA^-jj0UQ6q8^4Ck8JhxdVQ_G4X=7n@ YX>V>XYIARH17~DqW^7?}WdvenZfWI4LjV8( diff --git a/subgraph/tests/common/query/orderbook/mod.rs b/subgraph/tests/common/query/orderbook/mod.rs index 4abb19fdc4..44a16a6ea8 100644 --- a/subgraph/tests/common/query/orderbook/mod.rs +++ b/subgraph/tests/common/query/orderbook/mod.rs @@ -1,68 +1,72 @@ -use self::meta_board::ResponseData; +// use self::orderbook::ResponseData; +use self::order_book::ResponseData; use crate::common::wait::wait; -use anyhow::anyhow; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes}; use graphql_client::{GraphQLQuery, Response}; use reqwest::Url; -use rust_bigint::BigInt; use serde::{Deserialize, Serialize}; -use serde_bytes::ByteBuf as Bytes; -use std::fmt::Debug; use std::str::FromStr; -use web3::types::{Address, H160, U256}; +// The paths are relative to the directory where your `Cargo.toml` is located. +// Both json and the GraphQL schema language are supported as sources for the schema #[derive(GraphQLQuery)] #[graphql( - // schema_path = "tests/common/query/schema.json", + schema_path = "tests/common/query/schema.json", query_path = "tests/common/query/orderbook/orderbook.graphql", reseponse_derives = "Debug, Serialize, Deserialize" )] - -pub struct MetaBoard; +pub struct OrderBook; #[derive(Serialize, Deserialize, Debug)] -pub struct MetaV1Response { +pub struct OrderBookResponse { pub id: Address, + pub deployer: Address, pub address: Address, - pub meta_count: U256, - pub metas: Vec, + pub meta: Bytes, } -impl MetaV1Response { - pub fn from(response: ResponseData) -> MetaV1Response { - let meta_board = response.meta_board.unwrap(); - let metas = meta_board.metas.unwrap(); +impl OrderBookResponse { + pub fn from(response: ResponseData) -> OrderBookResponse { + let orderbook = response.order_book.unwrap(); + + let meta_bytes = orderbook + .meta + .unwrap_or(order_book::OrderBookOrderBookMeta { + id: Bytes::from([0u8, 32]), + }) + .id; - MetaV1Response { - id: H160::from_str(&String::from_utf8(meta_board.id.to_vec()).unwrap()).unwrap(), - address: H160::from_str(&String::from_utf8(meta_board.address.to_vec()).unwrap()) - .unwrap(), - meta_count: U256::from_dec_str(&meta_board.meta_count.to_str_radix(16)).unwrap(), - metas: metas - .iter() - .map(|meta| String::from_utf8_lossy(&meta.id.to_vec()).to_string()) - .collect(), + OrderBookResponse { + id: Address::from_slice(&orderbook.id), + address: Address::from_slice(&orderbook.address), + deployer: Address::from_slice(&orderbook.deployer.unwrap_or_default()), + meta: meta_bytes, } } } -pub async fn get_meta_board(meta_board_id: &str) -> anyhow::Result { +pub async fn get_orderbook_query(orderbook_id: &str) -> Result { wait().await?; - let url = Url::from_str(&"http://localhost:8000/subgraphs/name/test/test")?; - let variables = meta_board::Variables { - metaboard: meta_board_id.to_string().into(), + // TODO: Make a fix string to share + let url = Url::from_str(&"http://localhost:8000/subgraphs/name/test/test") + .expect("cannot get the sg url"); + + let variables = order_book::Variables { + orderbook: orderbook_id.to_string().into(), }; - let request_body = MetaBoard::build_query(variables); + let request_body = OrderBook::build_query(variables); let client = reqwest::Client::new(); let res = client.post(url.clone()).json(&request_body).send().await?; - let response_body: Response = res.json().await?; + let response_body: Response = res.json().await?; match response_body.data { Some(data) => { - let response: MetaV1Response = MetaV1Response::from(data); + let response = OrderBookResponse::from(data); Ok(response) } - None => Err(anyhow!("Failed to get metaboard")), + None => Err(anyhow!("Failed to get OrderBookResponse")), } } diff --git a/subgraph/tests/common/query/orderbook/orderbook.graphql b/subgraph/tests/common/query/orderbook/orderbook.graphql index 7386bbb599..e7bd5127ca 100644 --- a/subgraph/tests/common/query/orderbook/orderbook.graphql +++ b/subgraph/tests/common/query/orderbook/orderbook.graphql @@ -1,5 +1,5 @@ -query OrderBook($metaboard: String) { - orderbook(id: $metaboard) { +query OrderBook($orderbook: String) { + orderBook(id: $orderbook) { id deployer address diff --git a/subgraph/tests/common/query/schema.json b/subgraph/tests/common/query/schema.json index 12c9222ca7..0205e3b122 100644 --- a/subgraph/tests/common/query/schema.json +++ b/subgraph/tests/common/query/schema.json @@ -115,142 +115,6 @@ "name": "Subscription" }, "types": [ - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "BigDecimal", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "BigInt", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "number_gte", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "hash", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "number", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "number_gte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Block_height", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Boolean", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Bytes", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Float", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "ID", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Int", - "possibleTypes": null - }, { "description": null, "enumValues": null, @@ -272,34 +136,73 @@ } }, { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "address", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } } - } - }, - { - "args": [], + ], "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metaCount", + "name": "orders", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } } } }, @@ -331,7 +234,7 @@ "name": "orderBy", "type": { "kind": "ENUM", - "name": "MetaV1_orderBy", + "name": "VaultWithdraw_orderBy", "ofType": null } }, @@ -351,7 +254,7 @@ "name": "where", "type": { "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", + "name": "VaultWithdraw_filter", "ofType": null } } @@ -359,7 +262,7 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metas", + "name": "withdraws", "type": { "kind": "LIST", "name": null, @@ -368,88 +271,211 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MetaV1", + "name": "VaultWithdraw", "ofType": null } } } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "MetaBoard", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } }, { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + ], + "deprecationReason": null, "description": null, - "name": "id_gte", + "isDeprecated": false, + "name": "deposits", "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } } }, { - "defaultValue": null, + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + ], + "deprecationReason": null, "description": null, - "name": "id_lte", + "isDeprecated": false, + "name": "ordersCleared", "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } } }, { - "defaultValue": null, + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Bounty_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + } + ], + "deprecationReason": null, "description": null, - "name": "id_in", + "isDeprecated": false, + "name": "bounties", "type": { "kind": "LIST", "name": null, @@ -457,17 +483,70 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Bytes", + "kind": "OBJECT", + "name": "Bounty", "ofType": null } } } }, { - "defaultValue": null, + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + ], + "deprecationReason": null, "description": null, - "name": "id_not_in", + "isDeprecated": false, + "name": "takeOrderEntities", "type": { "kind": "LIST", "name": null, @@ -475,37 +554,242 @@ "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Bytes", + "kind": "OBJECT", + "name": "TakeOrderEntity", "ofType": null } } } }, { - "defaultValue": null, + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Vault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + } + ], + "deprecationReason": null, "description": null, - "name": "id_contains", + "isDeprecated": false, + "name": "vaults", "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } } }, { - "defaultValue": null, + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + ], + "deprecationReason": null, "description": null, - "name": "id_not_contains", + "isDeprecated": false, + "name": "tokenVaults", "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } } }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Account", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ { "defaultValue": null, "description": null, - "name": "address", + "name": "id", "type": { "kind": "SCALAR", "name": "Bytes", @@ -515,7 +799,7 @@ { "defaultValue": null, "description": null, - "name": "address_not", + "name": "id_not", "type": { "kind": "SCALAR", "name": "Bytes", @@ -525,7 +809,7 @@ { "defaultValue": null, "description": null, - "name": "address_gt", + "name": "id_gt", "type": { "kind": "SCALAR", "name": "Bytes", @@ -535,7 +819,7 @@ { "defaultValue": null, "description": null, - "name": "address_lt", + "name": "id_lt", "type": { "kind": "SCALAR", "name": "Bytes", @@ -545,7 +829,7 @@ { "defaultValue": null, "description": null, - "name": "address_gte", + "name": "id_gte", "type": { "kind": "SCALAR", "name": "Bytes", @@ -555,7 +839,7 @@ { "defaultValue": null, "description": null, - "name": "address_lte", + "name": "id_lte", "type": { "kind": "SCALAR", "name": "Bytes", @@ -565,7 +849,7 @@ { "defaultValue": null, "description": null, - "name": "address_in", + "name": "id_in", "type": { "kind": "LIST", "name": null, @@ -583,7 +867,7 @@ { "defaultValue": null, "description": null, - "name": "address_not_in", + "name": "id_not_in", "type": { "kind": "LIST", "name": null, @@ -601,7 +885,7 @@ { "defaultValue": null, "description": null, - "name": "address_contains", + "name": "id_contains", "type": { "kind": "SCALAR", "name": "Bytes", @@ -611,7 +895,7 @@ { "defaultValue": null, "description": null, - "name": "address_not_contains", + "name": "id_not_contains", "type": { "kind": "SCALAR", "name": "Bytes", @@ -621,106 +905,90 @@ { "defaultValue": null, "description": null, - "name": "metaCount", + "name": "orders_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "Order_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_not", + "name": "withdraws_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_gt", + "name": "deposits_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_lt", + "name": "ordersCleared_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_gte", + "name": "bounties_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_lte", + "name": "takeOrderEntities_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_in", + "name": "vaults_", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaCount_not_in", + "name": "tokenVaults_", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metas_", + "name": "events_", "type": { "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", + "name": "Event_filter", "ofType": null } }, @@ -743,7 +1011,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "MetaBoard_filter", + "name": "Account_filter", "ofType": null } } @@ -757,7 +1025,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "MetaBoard_filter", + "name": "Account_filter", "ofType": null } } @@ -765,7 +1033,7 @@ ], "interfaces": null, "kind": "INPUT_OBJECT", - "name": "MetaBoard_filter", + "name": "Account_filter", "possibleTypes": null }, { @@ -781,60 +1049,176 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "address" + "name": "orders" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "withdraws" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deposits" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ordersCleared" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metaCount" + "name": "tokenVaults" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metas" + "name": "events" } ], "fields": null, "inputFields": null, "interfaces": null, "kind": "ENUM", - "name": "MetaBoard_orderBy", + "name": "Account_orderBy", "possibleTypes": null }, { "description": null, "enumValues": null, - "fields": [ + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigDecimal", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ { - "args": [], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "id", + "name": "number_gte", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "Int", "ofType": null } } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "hash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "number", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } }, + { + "defaultValue": null, + "description": null, + "name": "number_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Block_height", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ { "args": [], "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "sender", + "name": "id", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } } @@ -842,15 +1226,15 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The clearer who received this bounty", "isDeprecated": false, - "name": "meta", + "name": "clearer", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Bytes", + "kind": "OBJECT", + "name": "Account", "ofType": null } } @@ -858,15 +1242,15 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The Clear event that paid this bounty", "isDeprecated": false, - "name": "subject", + "name": "orderClear", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "OBJECT", + "name": "OrderClear", "ofType": null } } @@ -874,15 +1258,15 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The Vault that bounty token A was deposited into", "isDeprecated": false, - "name": "metaBoard", + "name": "bountyVaultA", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "MetaBoard", + "name": "Vault", "ofType": null } } @@ -890,15 +1274,15 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The Vault that bounty token B was deposited into", "isDeprecated": false, - "name": "payload", + "name": "bountyVaultB", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Bytes", + "kind": "OBJECT", + "name": "Vault", "ofType": null } } @@ -906,15 +1290,15 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The A token for the bounty", "isDeprecated": false, - "name": "magicNumber", + "name": "bountyTokenA", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "OBJECT", + "name": "ERC20", "ofType": null } } @@ -922,31 +1306,79 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The B token for the bounty", "isDeprecated": false, - "name": "contentType", + "name": "bountyTokenB", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "ERC20", "ofType": null } } }, + { + "args": [], + "deprecationReason": null, + "description": "The amount paid for bounty token A", + "isDeprecated": false, + "name": "bountyAmountA", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, { "args": [], "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "contentEncoding", + "name": "bountyAmountADisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount paid for bounty token B", + "isDeprecated": false, + "name": "bountyAmountB", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountBDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Transaction", "ofType": null } } @@ -956,13 +1388,13 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "contentLanguage", + "name": "emitter", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "Account", "ofType": null } } @@ -972,7 +1404,7 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "blockNumber", + "name": "timestamp", "type": { "kind": "NON_NULL", "name": null, @@ -987,7 +1419,7 @@ "inputFields": null, "interfaces": [], "kind": "OBJECT", - "name": "MetaV1", + "name": "Bounty", "possibleTypes": null }, { @@ -1001,7 +1433,7 @@ "name": "id", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } }, @@ -1011,7 +1443,7 @@ "name": "id_not", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } }, @@ -1021,7 +1453,7 @@ "name": "id_gt", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } }, @@ -1031,7 +1463,7 @@ "name": "id_lt", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } }, @@ -1041,7 +1473,7 @@ "name": "id_gte", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } }, @@ -1051,7 +1483,7 @@ "name": "id_lte", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } }, @@ -1067,7 +1499,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } } @@ -1085,7 +1517,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } } @@ -1094,87 +1526,67 @@ { "defaultValue": null, "description": null, - "name": "id_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_contains", + "name": "clearer", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender", + "name": "clearer_not", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender_not", + "name": "clearer_gt", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender_gt", + "name": "clearer_lt", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender_lt", + "name": "clearer_gte", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender_gte", + "name": "clearer_lte", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_in", + "name": "clearer_in", "type": { "kind": "LIST", "name": null, @@ -1183,7 +1595,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } } @@ -1192,7 +1604,7 @@ { "defaultValue": null, "description": null, - "name": "sender_not_in", + "name": "clearer_not_in", "type": { "kind": "LIST", "name": null, @@ -1201,7 +1613,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } } @@ -1210,203 +1622,197 @@ { "defaultValue": null, "description": null, - "name": "sender_contains", + "name": "clearer_contains", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "sender_not_contains", + "name": "clearer_contains_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta", + "name": "clearer_not_contains", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_not", + "name": "clearer_not_contains_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_gt", + "name": "clearer_starts_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_lt", + "name": "clearer_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_gte", + "name": "clearer_not_starts_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_lte", + "name": "clearer_not_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_in", + "name": "clearer_ends_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_not_in", + "name": "clearer_ends_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_contains", + "name": "clearer_not_ends_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "meta_not_contains", + "name": "clearer_not_ends_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject", + "name": "orderClear", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject_not", + "name": "orderClear_not", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject_gt", + "name": "orderClear_gt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject_lt", + "name": "orderClear_lt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject_gte", + "name": "orderClear_gte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject_lte", + "name": "orderClear_lte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "subject_in", + "name": "orderClear_in", "type": { "kind": "LIST", "name": null, @@ -1415,7 +1821,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -1424,7 +1830,7 @@ { "defaultValue": null, "description": null, - "name": "subject_not_in", + "name": "orderClear_not_in", "type": { "kind": "LIST", "name": null, @@ -1433,7 +1839,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -1442,7 +1848,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard", + "name": "orderClear_contains", "type": { "kind": "SCALAR", "name": "String", @@ -1452,7 +1858,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not", + "name": "orderClear_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1462,7 +1868,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_gt", + "name": "orderClear_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -1472,7 +1878,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_lt", + "name": "orderClear_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1482,7 +1888,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_gte", + "name": "orderClear_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -1492,7 +1898,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_lte", + "name": "orderClear_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1502,43 +1908,27 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_in", + "name": "orderClear_not_starts_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaBoard_not_in", + "name": "orderClear_not_starts_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "metaBoard_contains", + "name": "orderClear_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -1548,7 +1938,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_contains_nocase", + "name": "orderClear_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1558,7 +1948,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not_contains", + "name": "orderClear_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -1568,7 +1958,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not_contains_nocase", + "name": "orderClear_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1578,7 +1968,17 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_starts_with", + "name": "orderClear_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA", "type": { "kind": "SCALAR", "name": "String", @@ -1588,7 +1988,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_starts_with_nocase", + "name": "bountyVaultA_not", "type": { "kind": "SCALAR", "name": "String", @@ -1598,7 +1998,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not_starts_with", + "name": "bountyVaultA_gt", "type": { "kind": "SCALAR", "name": "String", @@ -1608,7 +2008,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not_starts_with_nocase", + "name": "bountyVaultA_lt", "type": { "kind": "SCALAR", "name": "String", @@ -1618,7 +2018,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_ends_with", + "name": "bountyVaultA_gte", "type": { "kind": "SCALAR", "name": "String", @@ -1628,7 +2028,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_ends_with_nocase", + "name": "bountyVaultA_lte", "type": { "kind": "SCALAR", "name": "String", @@ -1638,7 +2038,43 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not_ends_with", + "name": "bountyVaultA_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_contains", "type": { "kind": "SCALAR", "name": "String", @@ -1648,7 +2084,7 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_not_ends_with_nocase", + "name": "bountyVaultA_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1658,193 +2094,177 @@ { "defaultValue": null, "description": null, - "name": "metaBoard_", + "name": "bountyVaultA_not_contains", "type": { - "kind": "INPUT_OBJECT", - "name": "MetaBoard_filter", + "kind": "SCALAR", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload", + "name": "bountyVaultA_not_contains_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_not", + "name": "bountyVaultA_starts_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_gt", + "name": "bountyVaultA_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_lt", + "name": "bountyVaultA_not_starts_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_gte", + "name": "bountyVaultA_not_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_lte", + "name": "bountyVaultA_ends_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_in", + "name": "bountyVaultA_ends_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_not_in", + "name": "bountyVaultA_not_ends_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_contains", + "name": "bountyVaultA_not_ends_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_not_contains", + "name": "bountyVaultA_", "type": { - "kind": "SCALAR", - "name": "Bytes", + "kind": "INPUT_OBJECT", + "name": "Vault_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber", + "name": "bountyVaultB", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_not", + "name": "bountyVaultB_not", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_gt", + "name": "bountyVaultB_gt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_lt", + "name": "bountyVaultB_lt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_gte", + "name": "bountyVaultB_gte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_lte", + "name": "bountyVaultB_lte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_in", + "name": "bountyVaultB_in", "type": { "kind": "LIST", "name": null, @@ -1853,7 +2273,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -1862,7 +2282,7 @@ { "defaultValue": null, "description": null, - "name": "magicNumber_not_in", + "name": "bountyVaultB_not_in", "type": { "kind": "LIST", "name": null, @@ -1871,7 +2291,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -1880,7 +2300,7 @@ { "defaultValue": null, "description": null, - "name": "contentType", + "name": "bountyVaultB_contains", "type": { "kind": "SCALAR", "name": "String", @@ -1890,7 +2310,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not", + "name": "bountyVaultB_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1900,7 +2320,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_gt", + "name": "bountyVaultB_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -1910,7 +2330,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_lt", + "name": "bountyVaultB_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -1920,7 +2340,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_gte", + "name": "bountyVaultB_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -1930,93 +2350,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_starts_with", + "name": "bountyVaultB_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2026,7 +2360,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_starts_with_nocase", + "name": "bountyVaultB_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -2036,7 +2370,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_starts_with", + "name": "bountyVaultB_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2046,7 +2380,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_starts_with_nocase", + "name": "bountyVaultB_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -2056,7 +2390,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_ends_with", + "name": "bountyVaultB_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2066,7 +2400,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_ends_with_nocase", + "name": "bountyVaultB_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -2076,7 +2410,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_ends_with", + "name": "bountyVaultB_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2086,17 +2420,17 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_ends_with_nocase", + "name": "bountyVaultB_", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "Vault_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contentEncoding", + "name": "bountyTokenA", "type": { "kind": "SCALAR", "name": "String", @@ -2106,7 +2440,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not", + "name": "bountyTokenA_not", "type": { "kind": "SCALAR", "name": "String", @@ -2116,7 +2450,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_gt", + "name": "bountyTokenA_gt", "type": { "kind": "SCALAR", "name": "String", @@ -2126,7 +2460,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_lt", + "name": "bountyTokenA_lt", "type": { "kind": "SCALAR", "name": "String", @@ -2136,7 +2470,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_gte", + "name": "bountyTokenA_gte", "type": { "kind": "SCALAR", "name": "String", @@ -2146,7 +2480,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_lte", + "name": "bountyTokenA_lte", "type": { "kind": "SCALAR", "name": "String", @@ -2156,7 +2490,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_in", + "name": "bountyTokenA_in", "type": { "kind": "LIST", "name": null, @@ -2174,7 +2508,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_in", + "name": "bountyTokenA_not_in", "type": { "kind": "LIST", "name": null, @@ -2192,7 +2526,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_contains", + "name": "bountyTokenA_contains", "type": { "kind": "SCALAR", "name": "String", @@ -2202,7 +2536,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_contains_nocase", + "name": "bountyTokenA_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2212,7 +2546,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_contains", + "name": "bountyTokenA_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -2222,7 +2556,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_contains_nocase", + "name": "bountyTokenA_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2232,7 +2566,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_starts_with", + "name": "bountyTokenA_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -2242,7 +2576,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_starts_with_nocase", + "name": "bountyTokenA_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2252,7 +2586,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_starts_with", + "name": "bountyTokenA_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -2262,7 +2596,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_starts_with_nocase", + "name": "bountyTokenA_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2272,7 +2606,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_ends_with", + "name": "bountyTokenA_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -2282,7 +2616,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_ends_with_nocase", + "name": "bountyTokenA_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2292,7 +2626,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_ends_with", + "name": "bountyTokenA_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -2302,7 +2636,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_ends_with_nocase", + "name": "bountyTokenA_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2312,7 +2646,17 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage", + "name": "bountyTokenA_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB", "type": { "kind": "SCALAR", "name": "String", @@ -2322,7 +2666,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not", + "name": "bountyTokenB_not", "type": { "kind": "SCALAR", "name": "String", @@ -2332,7 +2676,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_gt", + "name": "bountyTokenB_gt", "type": { "kind": "SCALAR", "name": "String", @@ -2342,7 +2686,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_lt", + "name": "bountyTokenB_lt", "type": { "kind": "SCALAR", "name": "String", @@ -2352,7 +2696,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_gte", + "name": "bountyTokenB_gte", "type": { "kind": "SCALAR", "name": "String", @@ -2362,7 +2706,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_lte", + "name": "bountyTokenB_lte", "type": { "kind": "SCALAR", "name": "String", @@ -2372,7 +2716,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_in", + "name": "bountyTokenB_in", "type": { "kind": "LIST", "name": null, @@ -2390,7 +2734,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_in", + "name": "bountyTokenB_not_in", "type": { "kind": "LIST", "name": null, @@ -2408,7 +2752,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_contains", + "name": "bountyTokenB_contains", "type": { "kind": "SCALAR", "name": "String", @@ -2418,7 +2762,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_contains_nocase", + "name": "bountyTokenB_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2428,7 +2772,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_contains", + "name": "bountyTokenB_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -2438,7 +2782,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_contains_nocase", + "name": "bountyTokenB_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2448,7 +2792,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_starts_with", + "name": "bountyTokenB_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -2458,7 +2802,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_starts_with_nocase", + "name": "bountyTokenB_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2468,7 +2812,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_starts_with", + "name": "bountyTokenB_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -2478,7 +2822,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_starts_with_nocase", + "name": "bountyTokenB_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2488,7 +2832,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_ends_with", + "name": "bountyTokenB_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -2498,7 +2842,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_ends_with_nocase", + "name": "bountyTokenB_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2508,7 +2852,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_ends_with", + "name": "bountyTokenB_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -2518,7 +2862,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_ends_with_nocase", + "name": "bountyTokenB_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -2528,7 +2872,17 @@ { "defaultValue": null, "description": null, - "name": "blockNumber", + "name": "bountyTokenB_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA", "type": { "kind": "SCALAR", "name": "BigInt", @@ -2538,7 +2892,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_not", + "name": "bountyAmountA_not", "type": { "kind": "SCALAR", "name": "BigInt", @@ -2548,7 +2902,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_gt", + "name": "bountyAmountA_gt", "type": { "kind": "SCALAR", "name": "BigInt", @@ -2558,7 +2912,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_lt", + "name": "bountyAmountA_lt", "type": { "kind": "SCALAR", "name": "BigInt", @@ -2568,7 +2922,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_gte", + "name": "bountyAmountA_gte", "type": { "kind": "SCALAR", "name": "BigInt", @@ -2578,7 +2932,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_lte", + "name": "bountyAmountA_lte", "type": { "kind": "SCALAR", "name": "BigInt", @@ -2588,7 +2942,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_in", + "name": "bountyAmountA_in", "type": { "kind": "LIST", "name": null, @@ -2606,7 +2960,7 @@ { "defaultValue": null, "description": null, - "name": "blockNumber_not_in", + "name": "bountyAmountA_not_in", "type": { "kind": "LIST", "name": null, @@ -2623,842 +2977,37107 @@ }, { "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", + "description": null, + "name": "bountyAmountADisplay", "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", + "kind": "SCALAR", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "and", + "name": "bountyAmountADisplay_not", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", - "ofType": null - } + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "or", + "name": "bountyAmountADisplay_gt", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", - "ofType": null - } + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "sender" + "name": "bountyAmountADisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "meta" + "name": "bountyAmountADisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "subject" + "name": "bountyAmountADisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoard" + "name": "bountyAmountADisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoard__id" + "name": "bountyAmountADisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoard__address" - }, + "name": "bountyAmountB", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoard__metaCount" + "name": "bountyAmountB_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "payload" + "name": "bountyAmountB_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "magicNumber" + "name": "bountyAmountB_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "contentType" + "name": "bountyAmountB_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "contentEncoding" + "name": "bountyAmountB_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "contentLanguage" + "name": "bountyAmountB_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "blockNumber" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "MetaV1_orderBy", - "possibleTypes": null - }, - { - "description": "Defines the order direction, either ascending or descending", - "enumValues": [ + "name": "bountyAmountB_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "asc" + "name": "bountyAmountBDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } }, { - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "desc" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "OrderDirection", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ + "name": "bountyAmountBDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoard", + "name": "bountyAmountBDisplay_gt", "type": { - "kind": "OBJECT", - "name": "MetaBoard", + "kind": "SCALAR", + "name": "BigDecimal", "ofType": null } }, { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigDecimal", "ofType": null } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "MetaBoard_orderBy", + "name": "BigDecimal", "ofType": null } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "MetaBoard_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } } - ], - "deprecationReason": null, + } + }, + { + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoards", + "name": "transaction", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MetaBoard", - "ofType": null - } - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaV1", + "name": "transaction_not", "type": { - "kind": "OBJECT", - "name": "MetaV1", + "kind": "SCALAR", + "name": "String", "ofType": null } }, { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "MetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", + "name": "String", "ofType": null } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } } - ], - "deprecationReason": null, + } + }, + { + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaV1S", + "name": "transaction_not_in", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MetaV1", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } } } }, { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Access to subgraph metadata", - "isDeprecated": false, - "name": "_meta", + "defaultValue": null, + "description": null, + "name": "transaction_contains", "type": { - "kind": "OBJECT", - "name": "_Meta_", + "kind": "SCALAR", + "name": "String", "ofType": null } - } - ], + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultA__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultA__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultB__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultB__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountADisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountBDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Bounty_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Bytes", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ClearOrderConfig", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultOutput" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ClearOrderConfig_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Base caller", + "isDeprecated": false, + "name": "caller", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Base contract", + "isDeprecated": false, + "name": "contract", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Contextual data available to both calculate order and handle IO", + "isDeprecated": false, + "name": "callingContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Contains the DECIMAL RESCALED calculations", + "isDeprecated": false, + "name": "calculationsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The inputs context data", + "isDeprecated": false, + "name": "vaultInputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The outputs context data", + "isDeprecated": false, + "name": "vaultOutputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Optional signed context relevant to the transaction", + "isDeprecated": false, + "name": "signedContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Transaction where this event was emitted.", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Account that sent the transaction this event was emitted in.", + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "ContextEntity", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "caller" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "caller__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract__deployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract__address" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "callingContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "calculationsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultInputsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultOutputsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ContextEntity_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "symbol", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupply", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupplyDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ERC20", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ERC20_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Transaction this event was emitted in.", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Account that sent the transaction this event was emitted in.", + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": null, + "kind": "INTERFACE", + "name": "Event", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + ] + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Event_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Float", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "index", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "IO", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_not", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "index" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "IO_orderBy", + "possibleTypes": null + }, + { + "description": "4 bytes signed integer\n", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null + }, + { + "description": "8 bytes signed integer\n", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int8", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The hash of the Map Rain Meta document or CBOR Item", + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The payload present on the index 0 of the Rain meta Document", + "isDeprecated": false, + "name": "payload", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The magic number that is used to track the payload", + "isDeprecated": false, + "name": "magicNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The header name info for Content-Type", + "isDeprecated": false, + "name": "contentType", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The header name info for Content-Encoding. It's optional", + "isDeprecated": false, + "name": "contentEncoding", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The header name info for Content-Language. It's optional", + "isDeprecated": false, + "name": "contentLanguage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "RainMeta documents bytes that have this content", + "isDeprecated": false, + "name": "documents", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MetaContentV1", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "documents_", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "payload" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "magicNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentType" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentEncoding" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentLanguage" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "documents" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "MetaContentV1_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The hash of the order", + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The hash of the order", + "isDeprecated": false, + "name": "orderHash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The address that added the order", + "isDeprecated": false, + "name": "owner", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The IInterpreter address that is used to add the order", + "isDeprecated": false, + "name": "interpreter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The IInterpreterStore address that is used to add the order", + "isDeprecated": false, + "name": "interpreterStore", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The IExpressionDeployer contract address that is used to add the order", + "isDeprecated": false, + "name": "expressionDeployer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The address to the rain expression for the Order", + "isDeprecated": false, + "name": "expression", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Whether the order is active or inactive", + "isDeprecated": false, + "name": "orderActive", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Flag that check if there is a handle_IO entrypoint to run. If false the order book MAY skip calling the interpreter to save gas", + "isDeprecated": false, + "name": "handleIO", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "validInputs", + "isDeprecated": false, + "name": "validInputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "validOutputs", + "isDeprecated": false, + "name": "validOutputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderJSONString", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expressionJSONString", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Timestamp when the order was added", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Take Order entities that use this order", + "isDeprecated": false, + "name": "takeOrders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Order Clear entities that use this order", + "isDeprecated": false, + "name": "ordersClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "Order", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deployer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "address", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The RainMetaV1 decode information", + "isDeprecated": false, + "name": "meta", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "OrderBook", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "address" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__metaBytes" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderBook_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The sender address who cleared the Orders", + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The clearer address who cleared this order", + "isDeprecated": false, + "name": "clearer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Order A being cleared", + "isDeprecated": false, + "name": "orderA", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Order B being cleared", + "isDeprecated": false, + "name": "orderB", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Account_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "The owners of the Orders that were cleared [Order A, Order B]", + "isDeprecated": false, + "name": "owners", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token input index cleared into Order A", + "isDeprecated": false, + "name": "aInputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token output index cleared into Order A", + "isDeprecated": false, + "name": "aOutputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token input index cleared into Order B", + "isDeprecated": false, + "name": "bInputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token output index cleared into Order B", + "isDeprecated": false, + "name": "bOutputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The bounty paid when this order was cleared", + "isDeprecated": false, + "name": "bounty", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The state change that occurred because of this Clear", + "isDeprecated": false, + "name": "stateChange", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "OrderClear", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "OrderClearStateChange", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bInput" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderClearStateChange_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bounty_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "stateChange_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owners" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountADisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountBDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__aOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__bOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__aInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__bInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderClear_orderBy", + "possibleTypes": null + }, + { + "description": "Defines the order direction, either ascending or descending", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "asc" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "desc" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderDirection", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__metaBytes" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "validInputs" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "validOutputs" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrders" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ordersClears" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Order_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBook", + "type": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderBook_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBooks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaContentV1", + "type": { + "kind": "OBJECT", + "name": "MetaContentV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaContentV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaContentV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaContentV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "io", + "type": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ios", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Vault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrder", + "type": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposit", + "type": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposits", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraw", + "type": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraws", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20", + "type": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ERC20_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty", + "type": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Bounty_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntity", + "type": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChange", + "type": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClearStateChange_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChanges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfig", + "type": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ClearOrderConfig_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfigs", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "account", + "type": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Account_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "accounts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Transaction_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transactions", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntity", + "type": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContextEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext", + "type": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContexts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "event", + "type": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Access to subgraph metadata", + "isDeprecated": false, + "name": "_meta", + "type": { + "kind": "OBJECT", + "name": "_Meta_", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Hash of the meta directly emitted by the contract", + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Original meta bytes directly emitted from the contract", + "isDeprecated": false, + "name": "metaBytes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaContentV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "The meta content V1 decoded from the meta bytes emitted", + "isDeprecated": false, + "name": "content", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaContentV1", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "RainMetaV1", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBytes" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "content" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "SignedContext", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "SignedContext_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBook", + "type": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderBook_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBooks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaContentV1", + "type": { + "kind": "OBJECT", + "name": "MetaContentV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "MetaContentV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaContentV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaContentV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaContentV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "io", + "type": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ios", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Vault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrder", + "type": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposit", + "type": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposits", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraw", + "type": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraws", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20", + "type": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ERC20_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty", + "type": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Bounty_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntity", + "type": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChange", + "type": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClearStateChange_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChanges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfig", + "type": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ClearOrderConfig_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfigs", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "account", + "type": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Account_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "accounts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Transaction_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transactions", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntity", + "type": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContextEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext", + "type": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContexts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "event", + "type": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Access to subgraph metadata", + "isDeprecated": false, + "name": "_meta", + "type": { + "kind": "OBJECT", + "name": "_Meta_", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Subscription", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The input amount from the perspective of sender", + "isDeprecated": false, + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The output amount from the perspective of sender", + "isDeprecated": false, + "name": "output", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "IO Ratio", + "isDeprecated": false, + "name": "IORatio", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The index of the input token in order to match with the take order output", + "isDeprecated": false, + "name": "inputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The index of the output token in order to match with the take order input.", + "isDeprecated": false, + "name": "outputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Input token from the perspective of the order taker", + "isDeprecated": false, + "name": "inputToken", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Output token from the perspective of the order taker", + "isDeprecated": false, + "name": "outputToken", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context", + "type": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "TakeOrderEntity", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "output", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "input" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "output" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "IORatio" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context__timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The owner of this Vault", + "isDeprecated": false, + "name": "owner", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The id of this vault", + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token that has a balance for this vault and owner.", + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The balance of this token, for this vault, for this owner", + "isDeprecated": false, + "name": "balance", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "balanceDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Orders that reference this vault, owner and token", + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "TokenVault", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__input" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__inputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__output" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__outputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__IORatio" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__inputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__outputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrders" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "TokenVault_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Transaction", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "events_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Transaction_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The owner of this Vault", + "isDeprecated": false, + "name": "owner", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Tokens in this Vault", + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Deposits into this Vault", + "isDeprecated": false, + "name": "deposits", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Withdrawals from this Vault", + "isDeprecated": false, + "name": "withdraws", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Vault", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The transaction sender of this deposit", + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token that was deposited", + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The vaultId that was deposited into", + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Vault that was deposited into", + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount that was deposited", + "isDeprecated": false, + "name": "amount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The current balance of this token for this Vault", + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "VaultDeposit", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The transaction sender of this withdrawal", + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token that was withdrawn", + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The vaultId that was withdrawn from", + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Vault that was withdrawn from", + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount that was requested be withdrawn", + "isDeprecated": false, + "name": "requestedAmount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "requestedAmountDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount that was withdrawn", + "isDeprecated": false, + "name": "amount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The current balance of this token for this Vault", + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], "kind": "OBJECT", - "name": "Query", + "name": "VaultWithdraw", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", "possibleTypes": null }, { "description": null, - "enumValues": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "requestedAmount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "requestedAmountDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], "fields": null, "inputFields": null, "interfaces": null, - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", "possibleTypes": null }, { "description": null, "enumValues": null, - "fields": [ + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoard", + "name": "owner_lte", "type": { - "kind": "OBJECT", - "name": "MetaBoard", + "kind": "SCALAR", + "name": "String", "ofType": null } }, { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { + "defaultValue": null, + "description": null, + "name": "owner_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "MetaBoard_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "MetaBoard_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", + "name": "String", "ofType": null } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } } - ], - "deprecationReason": null, + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaBoards", + "name": "owner_", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MetaBoard", - "ofType": null - } - } - } + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null } }, { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaV1", + "name": "tokenVaults_", "type": { - "kind": "OBJECT", - "name": "MetaV1", + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", "ofType": null } }, { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "MetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "MetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "metaV1S", + "name": "deposits_", "type": { - "kind": "NON_NULL", + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "withdraws_", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", "name": null, "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "MetaV1", - "ofType": null - } - } + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null } } }, { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null } - ], + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { "deprecationReason": null, - "description": "Access to subgraph metadata", + "description": null, "isDeprecated": false, - "name": "_meta", - "type": { - "kind": "OBJECT", - "name": "_Meta_", - "ofType": null - } + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deposits" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "withdraws" } ], + "fields": null, "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Subscription", + "interfaces": null, + "kind": "ENUM", + "name": "Vault_orderBy", "possibleTypes": null }, { diff --git a/subgraph/tests/common/wait/mod.rs b/subgraph/tests/common/wait/mod.rs index a75c73f3e9..cf14f0f5a1 100644 --- a/subgraph/tests/common/wait/mod.rs +++ b/subgraph/tests/common/wait/mod.rs @@ -1,3 +1,5 @@ +use crate::utils::setup::get_provider; +use crate::utils::utils::_get_block_number; use anyhow::{anyhow, format_err}; use graphql_client::{GraphQLQuery, Response}; use reqwest::Url; @@ -8,8 +10,8 @@ use std::{ time::{Duration, SystemTime, UNIX_EPOCH}, }; use web3::types::U256; + use self::sync_status::Health; -use super::get_web3; #[derive(GraphQLQuery)] #[graphql( @@ -21,38 +23,46 @@ use super::get_web3; pub struct SyncStatus; pub async fn wait() -> anyhow::Result { - let block_number = get_web3()?.eth().block_number().await?; + // let block_number = get_web3()?.eth().block_number().await?; + let provider = get_provider().await.expect("cannot get provider"); + let block_number = _get_block_number(provider.clone()).await; let url = Url::from_str(&"http://localhost:8030/graphql")?; let variables = sync_status::Variables {}; let request_body = SyncStatus::build_query(variables); - let clint = reqwest::Client::new(); + let client = reqwest::Client::new(); let deadline = SystemTime::now().duration_since(UNIX_EPOCH)? + Duration::from_secs(5); loop { let current_time = SystemTime::now().duration_since(UNIX_EPOCH)?; - - let response = clint.post(url.clone()).json(&request_body).send().await?; - - let response_body: Response = response.json().await?; - + let response = client.post(url.clone()).json(&request_body).send().await?; + + let response_body: Response = + response.json().await.expect("cannot awit json respon sg"); + if let Some(data) = response_body.data.and_then(|data| Some(data)) { - let sync_data = data.indexing_status_for_current_version.unwrap(); + let sync_data = data + .indexing_status_for_current_version + .expect("failed on: getting indexing_status_for_current_version"); - let chain = &sync_data.chains[0]; + if sync_data.synced { + let chain = &sync_data.chains[0]; - let latest_block = &chain.latest_block.as_ref().unwrap().number; - let latest_block = U256::from_dec_str(&latest_block.to_str_radix(16)) - .unwrap() - .as_u64(); + let latest_block = &chain.latest_block.as_ref().unwrap().number; + let latest_block = U256::from_dec_str(&latest_block.to_str_radix(16)) + .unwrap() + .as_u64(); - let health = &sync_data.health; + let health = &sync_data.health; - if sync_data.synced && latest_block >= block_number.as_u64() { - return Ok(true); - } else if let Health::failed = health { - return Err(format_err!("Fatal error : {:?}", response_body.errors)); + if latest_block >= block_number.as_u64() { + return Ok(true); + } else if let Health::failed = health { + return Err(format_err!("Fatal error : {:?}", response_body.errors)); + } else if deadline < current_time { + return Err(anyhow!("wait function timeout")); + } } else if deadline < current_time { return Err(anyhow!("wait function timeout")); } diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs index 47f7ce024a..8054780b41 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/deploy_orderbook.rs @@ -4,56 +4,49 @@ mod common; mod generated; mod utils; +use anyhow::Result; use common::{ deploy::{deploy, Config}, + query::orderbook::get_orderbook_query, wait::wait, }; - -use abigen::OrderBook::{EvaluableConfigV2, Io, Order, OrderConfigV2, TakeOrderConfig}; -use hex::FromHex; +use ethers::signers::Signer; use utils::deploy::orderbook::deploy_orderbook; -use utils::gen_abigen::_abigen_rust_generation; -use utils::setup::get_provider; +use utils::setup::{get_provider, is_sugraph_node_init}; use utils::utils::_get_block_number; - -use std::ops::Mul; -use std::path::{self, Path}; - -use anyhow::Result; -use ethers::{abi::AbiEncode, prelude::*}; -use ethers::{ - abi::{encode, Token}, - signers::Signer, - types::{Address, Bytes, U256}, -}; - -use utils::deploy::{erc20_mock::deploy_erc20_mock, touch_deployer::deploy_touch_deployer}; -use utils::events::{get_matched_log, get_transfer_event}; -use utils::number::get_amount_tokens; - -use std::fs::File; -use std::io::{self, Read}; -use std::{env, fs}; +// use utils::gen_abigen::_abigen_rust_generation; #[tokio::main] #[test] async fn orderbook_entity_test() -> Result<()> { + let _ = is_sugraph_node_init().await.expect("failed sg node init"); + let provider = get_provider().await.expect("cannot get provider"); let block_number = _get_block_number(provider.clone()).await; + let wallet_0 = utils::utils::get_wallet(0); - let orderbook = deploy_orderbook(None) + let orderbook = deploy_orderbook(Some(wallet_0.clone())) .await .expect("failed when calling deploy orderbook"); + let ob_address = format!("{:?}", orderbook.address()); + let sg_config = Config { - contract_address: orderbook.address().to_string(), + contract_address: ob_address.clone(), block_number: block_number.as_u64(), }; let _ = deploy(sg_config).await.expect("cannot deploy sg"); - // let is_sync = wait().await.expect("cannot get SG sync status"); - // println!("Sg sync: {}", is_sync); + let _ = wait().await.expect("cannot get SG sync status"); + + let response = get_orderbook_query(&ob_address.clone()) + .await + .expect("cannot get the ob query response"); + + assert_eq!(orderbook.address(), response.id); + assert_eq!(orderbook.address(), response.address); + assert_eq!(wallet_0.address(), response.deployer); // _abigen_rust_generation(); // let mut file = File::open("../meta/OrderBook.rain.meta")?; diff --git a/subgraph/tests/utils/deploy/erc20_mock/mod.rs b/subgraph/tests/utils/deploy/erc20_mock/mod.rs index 15cbc3f02a..47314f5fbe 100644 --- a/subgraph/tests/utils/deploy/erc20_mock/mod.rs +++ b/subgraph/tests/utils/deploy/erc20_mock/mod.rs @@ -1,9 +1,5 @@ use crate::utils::{setup::get_provider, utils::get_wallet}; -// #[path = "../../../generated/abigen/mod.rs"] -// mod abigen; -// use abigen::ERC20Mock::ERC20Mock; -// use abige use crate::generated::ERC20Mock; use anyhow::Result; diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 2b4b7b3663..6d7d07a6e8 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,4 +1,4 @@ -use ethers::{abi::AbiEncode, prelude::*}; +// use ethers::{abi::AbiEncode, prelude::*}; use ethers::{ providers::PendingTransaction, types::{Log, Topic, TransactionReceipt, TxHash, ValueOrArray}, @@ -12,11 +12,11 @@ use crate::generated::{ERC20Mock, TransferFilter}; use ethers::{ core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, - providers::{Http, Middleware, Provider}, + providers::{Http, Provider}, signers::Wallet, }; -pub fn get_matched_log(logs: Vec, topic: ValueOrArray>) -> Option { +pub fn _get_matched_log(logs: Vec, topic: ValueOrArray>) -> Option { let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); for log in logs.iter() { @@ -39,7 +39,7 @@ pub fn get_matched_log(logs: Vec, topic: ValueOrArray>) -> O /// ## Returns /// /// The struct value -pub async fn get_transfer_event( +pub async fn _get_transfer_event( contract: ERC20Mock, Wallet>>, tx: PendingTransaction<'_, Http>, ) -> () { @@ -48,7 +48,7 @@ pub async fn get_transfer_event( let topic: ValueOrArray> = contract.transfer_filter().filter.topics[0].clone().unwrap(); - let log = get_matched_log(tx_receipt.logs.clone(), topic) + let log = _get_matched_log(tx_receipt.logs.clone(), topic) .expect("there is no topic matched in the transaction"); // contract.transfer_filter() diff --git a/subgraph/tests/utils/number.rs b/subgraph/tests/utils/number.rs index dbd1acea0d..d458c697ec 100644 --- a/subgraph/tests/utils/number.rs +++ b/subgraph/tests/utils/number.rs @@ -1,7 +1,7 @@ use ethers::types::U256; use std::ops::Mul; -pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { +pub fn _get_amount_tokens(amount: u64, decimals: u8) -> U256 { let result: U256 = U256::from(amount).mul(U256::from(10).pow(U256::from(decimals))); return result; diff --git a/test/util/concrete/AuthoringMetaGetter.sol b/test/util/subgraph/AuthoringMetaGetter.sol similarity index 100% rename from test/util/concrete/AuthoringMetaGetter.sol rename to test/util/subgraph/AuthoringMetaGetter.sol From 70722ae39914da1090764bb42549ac37221ba08d Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 08:30:14 -0400 Subject: [PATCH 018/163] wip: sg test ci --- .github/workflows/subgraph-test.yaml | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/subgraph-test.yaml diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml new file mode 100644 index 0000000000..fdbd36d5c5 --- /dev/null +++ b/.github/workflows/subgraph-test.yaml @@ -0,0 +1,29 @@ +name: OrderBook Subgraph CI +on: [push] + +jobs: + subgraph-test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + - name: Install stable + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Start docker container + run: docker-compose -f subgraph/docker/docker-compose.yml up -d + + - name: install npm dependencies + working-directory: ./subgraph + run: npm install + + - name: Run test + working-directory: ./subgraph + run: RUST_TEST_THREADS=1 cargo test + + - name: Stop docker container + run: docker-compose -f subgraph/docker/docker-compose.yml down From 0669cc20ea2feb5caed2173b690a1e2b1a912504 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 08:39:01 -0400 Subject: [PATCH 019/163] wip: fix misspell docker compose file --- .github/workflows/subgraph-test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index fdbd36d5c5..3c263e48ea 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -15,7 +15,7 @@ jobs: toolchain: stable - name: Start docker container - run: docker-compose -f subgraph/docker/docker-compose.yml up -d + run: docker-compose -f subgraph/docker/docker-compose.yaml up -d - name: install npm dependencies working-directory: ./subgraph @@ -26,4 +26,4 @@ jobs: run: RUST_TEST_THREADS=1 cargo test - name: Stop docker container - run: docker-compose -f subgraph/docker/docker-compose.yml down + run: docker-compose -f subgraph/docker/docker-compose.yaml down From 5e433d9607e3b6e985a75320c800549943769ed7 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 08:53:20 -0400 Subject: [PATCH 020/163] wip: fix wrong module --- subgraph/tests/deploy_orderbook.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/deploy_orderbook.rs index 8054780b41..dda825bbd2 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/deploy_orderbook.rs @@ -1,5 +1,5 @@ -#[path = "./generated/abigen/mod.rs"] -mod abigen; +// #[path = "./generated/abigen/mod.rs"] +// mod abigen; mod common; mod generated; mod utils; From 9687287cd5cee9d7c39eb89c19de1a49ef6ba6cc Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 21:16:20 -0400 Subject: [PATCH 021/163] wip: removed unused deps in sg package.json --- subgraph/package-lock.json | 26622 ++++++++--------------------------- subgraph/package.json | 52 +- 2 files changed, 5629 insertions(+), 21045 deletions(-) diff --git a/subgraph/package-lock.json b/subgraph/package-lock.json index 494934325b..f95ae623a0 100644 --- a/subgraph/package-lock.json +++ b/subgraph/package-lock.json @@ -1,257 +1,113 @@ { "name": "@rainprotocol/orderbook-subgraph", - "version": "0.0.1", + "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@rainprotocol/orderbook-subgraph", - "version": "0.0.1", + "version": "0.1.0", "license": "CAL", "dependencies": { - "@chainlink/contracts": "^0.5.1", - "@graphprotocol/graph-cli": "^0.46.1", - "@graphprotocol/graph-ts": "^0.28.1", - "@openzeppelin/contracts-upgradeable": "=4.8.2", - "@prb/math": "^3.3.1", - "@rainprotocol/assemblyscript-cbor": "^0.0.6", - "0xsequence": "^0.39.0", - "colors": "^1.4.0", - "commander": "^10.0.0", - "etherscan-api": "^10.3.0", - "hardhat": "^2.13.0", - "mustache": "^3.2.1", - "node-fetch": "^2.6.11", - "polygonscan-api": "^1.0.4" + "@graphprotocol/graph-cli": "0.46.1", + "@graphprotocol/graph-ts": "0.28.1", + "@rainprotocol/assemblyscript-cbor": "0.0.6" }, "devDependencies": { - "@nomicfoundation/hardhat-foundry": "^1.0.0", - "@nomiclabs/hardhat-ethers": "^2.2.2", - "@nomiclabs/hardhat-waffle": "^2.0.5", - "@rainprotocol/rainlang": "^2.2.2", - "@typechain/hardhat": "^6.1.5", - "@types/chai": "^4.3.4", - "@types/mocha": "^10.0.1", - "@types/string-math": "=1.0.0", - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.57.0", - "apollo-fetch": "^0.7.0", - "assert": "^2.0.0", - "cbor": "=8.1.0", - "chai": "^4.3.7", - "dotenv": "^16.0.3", - "eslint": "^8.37.0", - "eslint-config-prettier": "^8.8.0", - "eslint-config-standard": "^17.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", - "string-math": "=1.2.2", - "ts-node": "^10.9.1", - "typechain": "^8.1.1", - "typescript": "^5.0.2" - } - }, - "node_modules/@0xsequence/abi": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/abi/-/abi-0.39.6.tgz", - "integrity": "sha512-ROHfAyQvN1N2G6DeVyWR4wxi0dd0HjJZQ+2UkxvYJrdywQZONmrUPD6MfT4Fd+JrQwdIxkcNu2/QfgkyZDerFw==" - }, - "node_modules/@0xsequence/api": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/api/-/api-0.39.6.tgz", - "integrity": "sha512-UWwPRCRl5OBJKUllzMh7gmiPgM7Jtn07WKEolpdgl1bouYs2h/it7FfOVjVkDbQYYwoY8qy+aadgMqKptiZy1Q==", - "dependencies": { - "cross-fetch": "^3.1.5" - } - }, - "node_modules/@0xsequence/auth": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/auth/-/auth-0.39.6.tgz", - "integrity": "sha512-BSank/ZhIgiqf7CxJo697O3HyYWvyWSEvbDyTcpAs/RgfQnLZ3AuH45ohUNuXVChZj/d8Ntl+lGCXHJdjxzx2A==", - "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/api": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/ethauth": "^0.7.0", - "@0xsequence/indexer": "^0.39.6", - "@0xsequence/metadata": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@0xsequence/wallet": "^0.39.6", - "ethers": "^5.5.2" - } - }, - "node_modules/@0xsequence/config": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/config/-/config-0.39.6.tgz", - "integrity": "sha512-AKsTyCezmRwCNSs7QjHAJOGjEUM81V60Ih/99sudoP1Cz8vQLmN4WJ30XD7iJhHhR65Jkxj4X7Y4hbhA10ftoA==", - "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/multicall": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "ethers": "^5.5.2" + "mustache": "3.2.1" } }, - "node_modules/@0xsequence/ethauth": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@0xsequence/ethauth/-/ethauth-0.7.0.tgz", - "integrity": "sha512-pghfR+OLm82wLMR9Uvvf53f0LniZLhcqw0G4EthFw1ME71/CWUskhR2MIeYKh1t7+OE3TqCbOBJ/p/buv8XynQ==", + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "js-base64": "^3.7.2" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, - "peerDependencies": { - "ethers": "^5.5.2" - } - }, - "node_modules/@0xsequence/guard": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/guard/-/guard-0.39.6.tgz", - "integrity": "sha512-PZk4KulqSWStO5OBSHAn9Mxq2Vul86PcV1/Eqy0s906CG6GgtfqDUV4/RE7wbIMBgctqElcHwdrD2mQnIs5qKA==" - }, - "node_modules/@0xsequence/indexer": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/indexer/-/indexer-0.39.6.tgz", - "integrity": "sha512-FmiwCsTrhyc1XJUNdhj0Hje0yZTr6bj7s1rXHIQVtNBoFig0G4xvK9dM8CvquRfALD5H8+U/eccvstt6HG87Fg==", - "dependencies": { - "cross-fetch": "^3.1.5" - } - }, - "node_modules/@0xsequence/metadata": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/metadata/-/metadata-0.39.6.tgz", - "integrity": "sha512-egC7pe6TQCaKTxgWzZ9s/GstQlruA001/sPDLPCJKO+nsjeRhIsq5o+rzmN5v8Ols1vaCakvKQGLGRb+jt53hg==", - "dependencies": { - "cross-fetch": "^3.1.5" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@0xsequence/multicall": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/multicall/-/multicall-0.39.6.tgz", - "integrity": "sha512-oHgxAuYoanYXKArrzPF+a8f9CAzDX5xYp+U+bcCd3qOagIn1xeQCEW4zbnGDRD+ZguhlcP2I7wiW1eImmoOi1g==", + "node_modules/@babel/code-frame/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==", "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@0xsequence/network": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/network/-/network-0.39.6.tgz", - "integrity": "sha512-esmdTCT98tjjbYoiYjaOmJIG0aSgadg9wR1FB6lzPdAVuq+xOGvxygtTiqhTqXF+YI2Alc4b5EP7tUWC9OA10Q==", + "node_modules/@babel/code-frame/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==", "dependencies": { - "@0xsequence/utils": "^0.39.6", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@0xsequence/provider": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/provider/-/provider-0.39.6.tgz", - "integrity": "sha512-i8ZLRwuGvqEulWPnbWpEhXOMwShQ7oaD8DCbOs0+y7i8xuAsm+lCAZXJdmYRPt+DRHiG+lVnCAWoucdBbC1LMw==", + "node_modules/@babel/code-frame/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==", "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/auth": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@0xsequence/wallet": "^0.39.6", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/providers": "^5.5.1", - "@ethersproject/web": "^5.5.1", - "ethers": "^5.5.2", - "eventemitter2": "^6.4.5", - "webextension-polyfill-ts": "^0.26.0" + "color-name": "1.1.3" } }, - "node_modules/@0xsequence/relayer": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/relayer/-/relayer-0.39.6.tgz", - "integrity": "sha512-sgeNeb5DvpcznmAqN5oeYQCY+iC9W5hrg3ohSavm15d67x7SIKW/ia9drqEj806MlC30zU+vPFzO2UjPHcBdJw==", - "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2", - "fetch-ponyfill": "^7.1.0" - } + "node_modules/@babel/code-frame/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==" }, - "node_modules/@0xsequence/transactions": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/transactions/-/transactions-0.39.6.tgz", - "integrity": "sha512-6GWxnQbNgWvZa13i6q02GdGzrijctfH1wZUsFAcxYMBmuE/tC79rJhUPUQxnKjwIpawOjIQaEGYSYkWaI6Hc6A==", - "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/abi": "^5.5.0", - "ethers": "^5.5.2" + "node_modules/@babel/code-frame/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==", + "engines": { + "node": ">=0.8.0" } }, - "node_modules/@0xsequence/utils": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/utils/-/utils-0.39.6.tgz", - "integrity": "sha512-Zf5NTRSzrOrc48SXsmtRDs1uaJ0gaOjwQYkANoIco54Rq+IA1Dlz9HWRebgyjeCUrXLnGCckljBemAUoZbVgIg==", - "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "ethers": "^5.5.2", - "js-base64": "^3.7.2" - } - }, - "node_modules/@0xsequence/wallet": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/wallet/-/wallet-0.39.6.tgz", - "integrity": "sha512-PlVxXMQZvocXeEwT3QjhmLFJaITWkyjiQq6euddIhe/Y3M/Xon/hFR1FYEJbkQA23p1FewqVzTkX7Sh0J0xxpw==", - "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/guard": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/relayer": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/abi": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2", - "fetch-ponyfill": "^7.1.0" + "node_modules/@babel/code-frame/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==", + "engines": { + "node": ">=4" } }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "node_modules/@babel/code-frame/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==", "dependencies": { - "@babel/highlight": "^7.18.6" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -322,16 +178,6 @@ "node": ">=4" } }, - "node_modules/@chainlink/contracts": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.5.1.tgz", - "integrity": "sha512-3PDBJ38Sd6Ml9h7FNK/tZQti+kTCdXUq1qzE6E59CnlzycsV9ElPvf2hTvs9Mi9C6pEx2Mmw9yhZMfBktYUInQ==", - "dependencies": { - "@eth-optimism/contracts": "^0.5.21", - "@openzeppelin/contracts": "^4.3.3", - "@openzeppelin/contracts-v0.7": "npm:@openzeppelin/contracts@v3.4.2" - } - }, "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", @@ -343,602 +189,168 @@ "node": ">=12" } }, - "node_modules/@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dev": true, - "peer": true, + "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==", "dependencies": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "node_modules/@ensdomains/ens/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "@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/@ensdomains/ens/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "@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/@ensdomains/ens/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "@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/@ensdomains/ens/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "peer": true - }, - "node_modules/@ensdomains/ens/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "dev": true, - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "@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/@ensdomains/ens/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/@ensdomains/ens/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" + "@ethersproject/bytes": "^5.7.0" } }, - "node_modules/@ensdomains/ens/node_modules/solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - }, - "bin": { - "solcjs": "solcjs" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" } }, - "node_modules/@ensdomains/ens/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@ensdomains/ens/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "peer": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true, - "peer": true - }, - "node_modules/@ensdomains/ens/node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "dev": true, - "peer": true, - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "node_modules/@ensdomains/ens/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "dev": true, - "peer": true, - "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, - "node_modules/@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dev": true, - "peer": true - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.1", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/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==", - "dev": true - }, - "node_modules/@eslint/eslintrc/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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/js": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", - "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eth-optimism/contracts": { - "version": "0.5.40", - "resolved": "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.5.40.tgz", - "integrity": "sha512-MrzV0nvsymfO/fursTB7m/KunkPsCndltVgfdHaT1Aj5Vi6R/doKIGGkOofHX+8B6VMZpuZosKCMQ5lQuqjt8w==", - "dependencies": { - "@eth-optimism/core-utils": "0.12.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0" - }, - "peerDependencies": { - "ethers": "^5" - } - }, - "node_modules/@eth-optimism/core-utils": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", - "integrity": "sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==", - "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/contracts": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/providers": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bufio": "^1.0.7", - "chai": "^4.3.4" - } - }, - "node_modules/@ethereum-waffle/chai": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-4.0.10.tgz", - "integrity": "sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereum-waffle/provider": "4.0.5", - "debug": "^4.3.4", - "json-bigint": "^1.0.0" - }, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "ethers": "*" - } - }, - "node_modules/@ethereum-waffle/compiler": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", - "integrity": "sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==", - "dev": true, - "peer": true, - "dependencies": { - "@resolver-engine/imports": "^0.3.3", - "@resolver-engine/imports-fs": "^0.3.3", - "@typechain/ethers-v5": "^10.0.0", - "@types/mkdirp": "^0.5.2", - "@types/node-fetch": "^2.6.1", - "mkdirp": "^0.5.1", - "node-fetch": "^2.6.7" - }, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "ethers": "*", - "solc": "*", - "typechain": "^8.0.0" - } - }, - "node_modules/@ethereum-waffle/ens": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-4.0.3.tgz", - "integrity": "sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "@ensdomains/ens": "^0.4.4", - "@ensdomains/resolver": "^0.2.4", - "ethers": "*" - } - }, - "node_modules/@ethereum-waffle/mock-contract": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz", - "integrity": "sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "ethers": "*" - } - }, - "node_modules/@ethereum-waffle/provider": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-4.0.5.tgz", - "integrity": "sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereum-waffle/ens": "4.0.3", - "@ganache/ethereum-options": "0.1.4", - "debug": "^4.3.4", - "ganache": "7.4.3" - }, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "ethers": "*" - } - }, - "node_modules/@ethereumjs/block": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", - "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/common": "^2.6.5", - "@ethereumjs/tx": "^3.5.2", - "ethereumjs-util": "^7.1.5", - "merkle-patricia-tree": "^4.2.4" - } - }, - "node_modules/@ethereumjs/block/node_modules/@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "peer": true, - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethereumjs/block/node_modules/@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethereumjs/block/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==", - "dev": true, - "peer": true, - "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/@ethereumjs/blockchain": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", - "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/common": "^2.6.4", - "@ethereumjs/ethash": "^1.1.0", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.5", - "level-mem": "^5.0.1", - "lru-cache": "^5.1.1", - "semaphore-async-await": "^1.5.1" - } - }, - "node_modules/@ethereumjs/blockchain/node_modules/@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "peer": true, - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethereumjs/blockchain/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==", - "dev": true, - "peer": true, - "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/@ethereumjs/common": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.0.tgz", - "integrity": "sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==", - "dev": true, - "peer": true, - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.3" - } - }, - "node_modules/@ethereumjs/ethash": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/block": "^3.5.0", - "@types/levelup": "^4.3.0", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.1.1", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/@ethereumjs/tx": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.4.0.tgz", - "integrity": "sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/common": "^2.6.0", - "ethereumjs-util": "^7.1.3" - } - }, - "node_modules/@ethereumjs/vm": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.6.0.tgz", - "integrity": "sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/block": "^3.6.0", - "@ethereumjs/blockchain": "^5.5.0", - "@ethereumjs/common": "^2.6.0", - "@ethereumjs/tx": "^3.4.0", - "async-eventemitter": "^0.2.4", - "core-js-pure": "^3.0.1", - "debug": "^2.2.0", - "ethereumjs-util": "^7.1.3", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.2", - "rustbn.js": "~0.2.0" - } - }, - "node_modules/@ethereumjs/vm/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, + "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" + } + ], "dependencies": { - "ms": "2.0.0" + "@ethersproject/bignumber": "^5.7.0" } }, - "node_modules/@ethereumjs/vm/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "peer": true - }, - "node_modules/@ethersproject/abi": { + "node_modules/@ethersproject/hash": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -950,21 +362,21 @@ } ], "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/constants": "^5.7.0", - "@ethersproject/hash": "^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/abstract-provider": { + "node_modules/@ethersproject/keccak256": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "funding": [ { "type": "individual", @@ -976,19 +388,14 @@ } ], "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" + "js-sha3": "0.8.0" } }, - "node_modules/@ethersproject/abstract-signer": { + "node_modules/@ethersproject/logger": { "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==", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", "funding": [ { "type": "individual", @@ -998,19 +405,12 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ], - "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==", + "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", @@ -1022,17 +422,13 @@ } ], "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/logger": "^5.7.0" } }, - "node_modules/@ethersproject/base64": { + "node_modules/@ethersproject/properties": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "funding": [ { "type": "individual", @@ -1044,13 +440,13 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0" + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@ethersproject/basex": { + "node_modules/@ethersproject/rlp": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "funding": [ { "type": "individual", @@ -1063,13 +459,13 @@ ], "dependencies": { "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@ethersproject/bignumber": { + "node_modules/@ethersproject/signing-key": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "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", @@ -1083,13 +479,16 @@ "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "node_modules/@ethersproject/bytes": { + "node_modules/@ethersproject/strings": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "funding": [ { "type": "individual", @@ -1101,31 +500,15 @@ } ], "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", "@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" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "node_modules/@ethersproject/contracts": { + "node_modules/@ethersproject/transactions": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -1137,22 +520,21 @@ } ], "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", "@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/transactions": "^5.7.0" + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^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==", + "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", @@ -1164,1434 +546,1028 @@ } ], "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/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "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==", "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "@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/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "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==" + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.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" - } - ], + "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==", "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "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" - } - ] + "node_modules/@graphprotocol/graph-cli": { + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.46.1.tgz", + "integrity": "sha512-594BiH2m9gThP1xdvxguVzvVlOb1KzJyVdh2F4dV78NPfMRFY2fe1nakmadKcewc72VVLXNgfdBu/J4IPfo0eg==", + "dependencies": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.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.4", + "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "graphql": "15.5.0", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", + "prettier": "1.19.1", + "request": "2.88.2", + "semver": "7.3.8", + "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": "dist/bin.js" + }, + "engines": { + "node": ">=14" + } }, - "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" - } - ], + "node_modules/@graphprotocol/graph-ts": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.28.1.tgz", + "integrity": "sha512-1wMLQ0cu84/6Ml3zcz9ya1zFzrDAzCj0dIGZ7Rz9upnRSXg5jjqU4DefO/OYrl2K2/OPso9hSAr6I4aue2pL1Q==", "dependencies": { - "@ethersproject/logger": "^5.7.0" + "assemblyscript": "0.19.10" } }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "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==", "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" + "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/@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" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" + "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==", + "bin": { + "wasm-opt": "bin/wasm-opt" } }, - "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "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==" + }, + "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==", "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" + "cborg": "^1.6.0", + "multiformats": "^9.5.4" } }, - "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "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==", "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "cborg": "^1.5.4", + "multiformats": "^9.5.4" } }, - "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" - } - ], + "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==", "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "multiformats": "^9.5.4" } }, - "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.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" - } - ], + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "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==", "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" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "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==", "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "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" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "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==", + "engines": { + "node": ">= 8" } }, - "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" - } - ], + "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==", "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" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/@oclif/core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz", + "integrity": "sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg==", "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@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/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "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==", "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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" - } - ], + "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==", "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" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.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==", + "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==", "dependencies": { - "@rescript/std": "9.0.0", - "graphql": "^16.6.0", - "graphql-import-node": "^0.0.5", - "js-yaml": "^4.1.0" + "tslib": "^2.0.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==" - }, - "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + "node": ">=8.0.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==", + "node_modules/@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", "dependencies": { - "argparse": "^2.0.1" + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10.12.0" } }, - "node_modules/@ganache/ethereum-address": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", - "integrity": "sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw==", - "dev": true, - "peer": true, - "dependencies": { - "@ganache/utils": "0.1.4" - } + "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==" }, - "node_modules/@ganache/ethereum-options": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz", - "integrity": "sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw==", - "dev": true, - "peer": true, - "dependencies": { - "@ganache/ethereum-address": "0.1.4", - "@ganache/ethereum-utils": "0.1.4", - "@ganache/options": "0.1.4", - "@ganache/utils": "0.1.4", - "bip39": "3.0.4", - "seedrandom": "3.0.5" - } + "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==" }, - "node_modules/@ganache/ethereum-utils": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz", - "integrity": "sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg==", - "dev": true, - "peer": true, - "dependencies": { - "@ethereumjs/common": "2.6.0", - "@ethereumjs/tx": "3.4.0", - "@ethereumjs/vm": "5.6.0", - "@ganache/ethereum-address": "0.1.4", - "@ganache/rlp": "0.1.4", - "@ganache/utils": "0.1.4", - "emittery": "0.10.0", - "ethereumjs-abi": "0.6.8", - "ethereumjs-util": "7.1.3" - } - }, - "node_modules/@ganache/options": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/options/-/options-0.1.4.tgz", - "integrity": "sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw==", - "dev": true, - "peer": true, - "dependencies": { - "@ganache/utils": "0.1.4", - "bip39": "3.0.4", - "seedrandom": "3.0.5" - } + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, - "node_modules/@ganache/rlp": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/rlp/-/rlp-0.1.4.tgz", - "integrity": "sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ==", - "dev": true, - "peer": true, - "dependencies": { - "@ganache/utils": "0.1.4", - "rlp": "2.2.6" - } + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" }, - "node_modules/@ganache/utils": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/utils/-/utils-0.1.4.tgz", - "integrity": "sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "emittery": "0.10.0", - "keccak": "3.0.1", - "seedrandom": "3.0.5" - }, - "optionalDependencies": { - "@trufflesuite/bigint-buffer": "1.1.9" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.46.1.tgz", - "integrity": "sha512-594BiH2m9gThP1xdvxguVzvVlOb1KzJyVdh2F4dV78NPfMRFY2fe1nakmadKcewc72VVLXNgfdBu/J4IPfo0eg==", - "dependencies": { - "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", - "@oclif/core": "2.8.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.4", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "4.2.1", - "ipfs-http-client": "55.0.0", - "jayson": "4.0.0", - "js-yaml": "3.14.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.8", - "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": "dist/bin.js" - }, - "engines": { - "node": ">=14" - } + "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==" }, - "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==", - "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/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" }, - "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==", - "bin": { - "wasm-opt": "bin/wasm-opt" - } + "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==" }, - "node_modules/@graphprotocol/graph-cli/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==", + "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==" + }, + "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==" + }, + "node_modules/@rainprotocol/assemblyscript-cbor": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", + "integrity": "sha512-RNQfi/BH3fTJCGjU3b2AGHOduziPr+9QTRXz7kt0QBcX2LxYCByXm+d2Hc87Ozh2XKjccemy3iSLHe7TEkq/EA==" + }, + "node_modules/@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "node_modules/@types/bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-dkpZu0szUtn9UXTmw+e0AJFd4D2XAxDnsCLdc05SfqpqzPEBft8eQr8uaFitfo/dUUOZERaLec2hHMG87A4Dxg==", "dependencies": { - "balanced-match": "^1.0.0" + "@types/node": "*" } }, - "node_modules/@graphprotocol/graph-cli/node_modules/glob": { - "version": "9.3.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.4.tgz", - "integrity": "sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==", + "node_modules/@types/cli-progress": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.3.tgz", + "integrity": "sha512-/+C9xAdVtc+g5yHHkGBThgAA8rYpi5B+2ve3wLtybYj0JHEBs57ivR4x/zGfSsplRnV+psE91Nfin1soNKqz5Q==", "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" + "@types/node": "*" } }, - "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==" - }, - "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==", + "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==", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@types/node": "*" } }, - "node_modules/@graphprotocol/graph-cli/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dependencies": { + "@types/node": "*" } }, - "node_modules/@graphprotocol/graph-ts": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.28.1.tgz", - "integrity": "sha512-1wMLQ0cu84/6Ml3zcz9ya1zFzrDAzCj0dIGZ7Rz9upnRSXg5jjqU4DefO/OYrl2K2/OPso9hSAr6I4aue2pL1Q==", + "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==", "dependencies": { - "assemblyscript": "0.19.10" + "@types/node": "*" } }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "dev": true, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } + "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==" }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "dev": true, + "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==" + }, + "node_modules/@types/node": { + "version": "20.8.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", + "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" + "undici-types": "~5.25.1" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dependencies": { + "@types/node": "*" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" }, - "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==", + "node_modules/@types/secp256k1": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-oN0PFsYxDZnX/qSJ5S5OwaEDTYfekhvaM5vqui2bu1AA39pKofmgL104Q29KiOXizXS2yLjSzc5YdTyMKdcy4A==", "dependencies": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" + "@types/node": "*" } }, - "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==", + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", "dependencies": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" + "@types/node": "*" } }, - "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==", + "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==" + }, + "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==", "dependencies": { - "multiformats": "^9.5.4" + "@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/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" + "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==", + "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/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "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==", + "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==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" } }, - "node_modules/@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "dependencies": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=12.0.0" + "node": ">=0.4.0" } }, - "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@metamask/eth-sig-util/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==" - }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/@morgan-stanley/ts-mocking-bird": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz", - "integrity": "sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==", - "dev": true, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "lodash": "^4.17.16", - "uuid": "^7.0.3" - }, - "peerDependencies": { - "jasmine": "2.x || 3.x || 4.x", - "jest": "26.x || 27.x || 28.x", - "typescript": ">=4.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "peerDependenciesMeta": { - "jasmine": { - "optional": true - }, - "jest": { - "optional": true - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@morgan-stanley/ts-mocking-bird/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "engines": { + "node": ">=6" } }, - "node_modules/@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", - "funding": [ - { - "type": "individual", - "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==", + "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==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==", "engines": { - "node": ">= 8" + "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==", + "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==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nohns/algebra.js": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@nohns/algebra.js/-/algebra.js-0.2.9.tgz", - "integrity": "sha512-L9+AXigZJHrRgggYTPXZE6p6nnUoQHvnOJwKcrEBZlv3UV3PShnJFV9zyWPkJnuaYdHuZROjY36MTSDzyVm8hw==", - "dev": true + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" }, - "node_modules/@nomicfoundation/ethereumjs-block": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz", - "integrity": "sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==", - "dependencies": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-tx": "4.1.2", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "ethereum-cryptography": "0.1.3" - }, - "engines": { - "node": ">=14" + "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==", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" } }, - "node_modules/@nomicfoundation/ethereumjs-blockchain": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz", - "integrity": "sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==", - "dependencies": { - "@nomicfoundation/ethereumjs-block": "4.2.2", - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-ethash": "2.0.5", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "abstract-level": "^1.0.3", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "level": "^8.0.0", - "lru-cache": "^5.1.1", - "memory-level": "^1.0.0" + "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==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=14" + "node": ">= 8" } }, - "node_modules/@nomicfoundation/ethereumjs-common": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", - "integrity": "sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==", + "node_modules/apisauce": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", + "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", "dependencies": { - "@nomicfoundation/ethereumjs-util": "8.0.6", - "crc-32": "^1.2.0" + "axios": "^0.21.2", + "ramda": "^0.25.0" } }, - "node_modules/@nomicfoundation/ethereumjs-ethash": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz", - "integrity": "sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==", - "dependencies": { - "@nomicfoundation/ethereumjs-block": "4.2.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "abstract-level": "^1.0.3", - "bigint-crypto-utils": "^3.0.23", - "ethereum-cryptography": "0.1.3" - }, - "engines": { - "node": ">=14" - } + "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==" }, - "node_modules/@nomicfoundation/ethereumjs-evm": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz", - "integrity": "sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==", - "dependencies": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "@types/async-eventemitter": "^0.2.1", - "async-eventemitter": "^0.2.4", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "mcl-wasm": "^0.7.1", - "rustbn.js": "~0.2.0" - }, - "engines": { - "node": ">=14" - } + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, - "node_modules/@nomicfoundation/ethereumjs-rlp": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", - "integrity": "sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==", - "bin": { - "rlp": "bin/rlp" - }, - "engines": { - "node": ">=14" + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/@nomicfoundation/ethereumjs-statemanager": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz", - "integrity": "sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==", - "dependencies": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "functional-red-black-tree": "^1.0.1" - } - }, - "node_modules/@nomicfoundation/ethereumjs-trie": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", - "integrity": "sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==", - "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "ethereum-cryptography": "0.1.3", - "readable-stream": "^3.6.0" - }, + "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==", "engines": { - "node": ">=14" + "node": ">=8" } }, - "node_modules/@nomicfoundation/ethereumjs-trie/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==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "safer-buffer": "~2.1.0" } }, - "node_modules/@nomicfoundation/ethereumjs-tx": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz", - "integrity": "sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==", + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "dependencies": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "ethereum-cryptography": "0.1.3" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" }, "engines": { - "node": ">=14" + "node": ">=12.0.0" } }, - "node_modules/@nomicfoundation/ethereumjs-util": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz", - "integrity": "sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==", + "node_modules/assemblyscript": { + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "ethereum-cryptography": "0.1.3" + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" }, - "engines": { - "node": ">=14" + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" } }, - "node_modules/@nomicfoundation/ethereumjs-vm": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz", - "integrity": "sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==", - "dependencies": { - "@nomicfoundation/ethereumjs-block": "4.2.2", - "@nomicfoundation/ethereumjs-blockchain": "6.2.2", - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-evm": "1.3.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-statemanager": "1.0.5", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-tx": "4.1.2", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "@types/async-eventemitter": "^0.2.1", - "async-eventemitter": "^0.2.4", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "rustbn.js": "~0.2.0" - }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { - "node": ">=14" + "node": ">=0.8" } }, - "node_modules/@nomicfoundation/hardhat-foundry": { + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-foundry/-/hardhat-foundry-1.0.0.tgz", - "integrity": "sha512-/2cmtIZPnsQj/SRIu9idbBan5j19RD35MECAGmZCcuXX4AO6Wn0nOnpUwpcvGomKW403h4+rXh8AHMWC4Vvw0Q==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2" - }, - "peerDependencies": { - "hardhat": "^2.12.6" + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" } }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true, + "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==" + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "dependencies": { - "color-name": "1.1.3" + "safe-buffer": "^5.0.1" } }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true + "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" + } + ] }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" } }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@nomicfoundation/hardhat-foundry/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==", - "dev": true, + "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==", "dependencies": { - "has-flag": "^3.0.0" + "axios": "^0.21.1", + "rimraf": "^3.0.2", + "tar": "^6.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/@nomicfoundation/solidity-analyzer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", - "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", - "engines": { - "node": ">= 12" - }, - "optionalDependencies": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", - "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "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==", + "bin": { + "wasm-opt": "bin/wasm-opt" } }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", - "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", - "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } + "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==" }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", - "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "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==", + "dependencies": { + "browser-readablestream-to-it": "^1.0.3" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", - "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } + "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==" }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", - "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "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==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", - "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", - "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", - "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } + "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==" }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", - "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "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==", + "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/@nomiclabs/hardhat-ethers": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.2.tgz", - "integrity": "sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==", - "dev": true, - "peerDependencies": { - "ethers": "^5.0.0", - "hardhat": "^2.0.0" + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dependencies": { + "base-x": "^3.0.2" } }, - "node_modules/@nomiclabs/hardhat-waffle": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.5.tgz", - "integrity": "sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==", - "dev": true, - "peerDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.0", - "ethereum-waffle": "*", - "ethers": "^5.0.0", - "hardhat": "^2.0.0" + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/@oclif/core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz", - "integrity": "sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg==", - "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" + "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" + } + ], + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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": ">=14.0.0" + "node": ">=10.16.0" } }, - "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==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "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==" + }, + "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==", + "bin": { + "cborg": "cli.js" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { + "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==", @@ -2602,7 +1578,50 @@ "node": ">=8" } }, - "node_modules/@oclif/core/node_modules/clean-stack": { + "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/" + } + ], + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "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==", + "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==", @@ -2616,1541 +1635,1109 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@oclif/core/node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "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==", "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "restore-cursor": "^3.1.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@oclif/core/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==", "engines": { "node": ">=8" } }, - "node_modules/@oclif/core/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==", + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "string-width": "^4.2.3" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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==", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@oclif/core/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@openzeppelin/contracts": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", - "integrity": "sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==" - }, - "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.2.tgz", - "integrity": "sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==" - }, - "node_modules/@openzeppelin/contracts-v0.7": { - "name": "@openzeppelin/contracts", - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" - }, - "node_modules/@peculiar/asn1-schema": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", - "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "node_modules/cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dependencies": { - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.2", - "tslib": "^2.4.0" + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" } }, - "node_modules/@peculiar/asn1-schema/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "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==", - "dependencies": { - "tslib": "^2.0.0" - }, + "node_modules/cli-table3/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/@peculiar/json-schema/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } }, - "node_modules/@peculiar/webcrypto": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", - "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "node_modules/cli-table3/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dependencies": { - "@peculiar/asn1-schema": "^2.3.6", - "@peculiar/json-schema": "^1.1.12", - "pvtsutils": "^1.3.2", - "tslib": "^2.5.0", - "webcrypto-core": "^1.7.7" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=10.12.0" + "node": ">=4" } }, - "node_modules/@peculiar/webcrypto/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@prb/math": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@prb/math/-/math-3.3.1.tgz", - "integrity": "sha512-k1nnpZwCvvztainqJfvkYpBQuZ3pHKnS6vovUAp+i1hSzlcSWluM+nRxxZbb6wsXqyCJAxrw8Vd7bAG/VeMIUA==" - }, - "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==" - }, - "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==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "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==", + "node_modules/cli-table3/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "node_modules/@rainprotocol/assemblyscript-cbor": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", - "integrity": "sha512-RNQfi/BH3fTJCGjU3b2AGHOduziPr+9QTRXz7kt0QBcX2LxYCByXm+d2Hc87Ozh2XKjccemy3iSLHe7TEkq/EA==" - }, - "node_modules/@rainprotocol/meta": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rainprotocol/meta/-/meta-1.1.0.tgz", - "integrity": "sha512-cMOPThYdSoRkWCR9xM7Vnge6tFv7zdP20sK8EuU2MG3mdxBRE64bO4NRRJoqAXOtFN5xY3SzaSCRCWhFBdXvJg==", - "dev": true, - "dependencies": { - "ajv": "^8.12.0", - "buffer": "^6.0.3", - "cbor-web": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", - "ethers": "^5.7.2", - "graphql": "^16.6.0", - "graphql-request": "^5.2.0", - "pako": "^2.1.0", - "prettier": "^2.8.7", - "string-math": "^1.2.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==", + "engines": { + "node": ">=0.8" } }, - "node_modules/@rainprotocol/meta/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, + "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==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "color-name": "~1.1.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@rainprotocol/meta/node_modules/graphql": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", - "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", - "dev": true, "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + "node": ">=7.0.0" } }, - "node_modules/@rainprotocol/meta/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "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==" }, - "node_modules/@rainprotocol/meta/node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, + "node_modules/colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", "engines": { - "node": ">=0.10.0" + "node": ">=0.1.90" } }, - "node_modules/@rainprotocol/rainlang": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@rainprotocol/rainlang/-/rainlang-2.3.0.tgz", - "integrity": "sha512-/3pZxl9TazkW5iG8xeFlCQBoKErM0P6vQtN+ke8S1/D2ZikvyKnrI3tL+sUWHOSl1IVMWtTbBAIGUUNEWg9Z9Q==", - "dev": true, + "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==", "dependencies": { - "@nohns/algebra.js": "^0.2.9", - "@rainprotocol/meta": "^1.1.0", - "ethers": "^5.7.2", - "string-math": "^1.2.2", - "vscode-languageserver-textdocument": "^1.0.8", - "vscode-languageserver-types": "^3.17.3" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/@rescript/std": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", - "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + "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==" }, - "node_modules/@resolver-engine/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", - "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "dev": true, - "peer": true, - "dependencies": { - "debug": "^3.1.0", - "is-url": "^1.2.4", - "request": "^2.85.0" - } + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/@resolver-engine/core/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, + "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" + ], "dependencies": { - "ms": "^2.1.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/@resolver-engine/fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", - "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "dev": true, - "peer": true, + "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==" + }, + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dependencies": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@resolver-engine/fs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "ms": "^2.1.1" + "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/@resolver-engine/imports": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", - "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0", - "path-browserify": "^1.0.0", - "url": "^0.11.0" + "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/@resolver-engine/imports-fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", - "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "dev": true, - "peer": true, + "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==" + }, + "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==", "dependencies": { - "@resolver-engine/fs": "^0.3.3", - "@resolver-engine/imports": "^0.3.3", - "debug": "^3.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@resolver-engine/imports-fs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { - "ms": "^2.1.1" + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/@resolver-engine/imports/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@scure/base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", - "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } - ], - "dependencies": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" } }, - "node_modules/@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "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==", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "clone": "^1.0.2" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { - "node": ">=6" + "node": ">=0.4.0" } }, - "node_modules/@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "dependencies": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "engines": { - "node": ">=6" + "node": ">=0.3.1" } }, - "node_modules/@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "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==", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "path-type": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "engines": { - "node": ">=6" + "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==", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" } }, - "node_modules/@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "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==", "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "yaml": "^1.10.2" }, "engines": { - "node": ">=6" + "node": ">= 6.0.0" } }, - "node_modules/@trufflesuite/bigint-buffer": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz", - "integrity": "sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "peer": true, + "node_modules/docker-modem": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", + "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", "dependencies": { - "node-gyp-build": "4.3.0" + "debug": "^3.2.6", + "JSONStream": "1.3.2", + "readable-stream": "~1.0.26-4", + "split-ca": "^1.0.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.8" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "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==" - }, - "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==" + "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==", + "dependencies": { + "ms": "^2.1.1" + } }, - "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" + "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==" }, - "node_modules/@typechain/ethers-v5": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.0.tgz", - "integrity": "sha512-ikaq0N/w9fABM+G01OFmU3U3dNnyRwEahkdvi9mqy1a3XwKiPZaF/lu54OcNaEWnpvEYyhhS0N7buCtLQqC92w==", - "dev": true, - "peer": true, - "dependencies": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" - }, - "peerDependencies": { - "@ethersproject/abi": "^5.0.0", - "@ethersproject/bytes": "^5.0.0", - "@ethersproject/providers": "^5.0.0", - "ethers": "^5.1.3", - "typechain": "^8.1.1", - "typescript": ">=4.3.0" - } - }, - "node_modules/@typechain/hardhat": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.5.tgz", - "integrity": "sha512-lg7LW4qDZpxFMknp3Xool61Fg6Lays8F8TXdFGBG+MxyYcYU5795P1U2XdStuzGq9S2Dzdgh+1jGww9wvZ6r4Q==", - "dev": true, + "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==", "dependencies": { - "fs-extra": "^9.1.0" - }, - "peerDependencies": { - "@ethersproject/abi": "^5.4.7", - "@ethersproject/providers": "^5.4.7", - "@typechain/ethers-v5": "^10.2.0", - "ethers": "^5.4.7", - "hardhat": "^2.9.9", - "typechain": "^8.1.1" - } - }, - "node_modules/@types/abstract-leveldown": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.1.tgz", - "integrity": "sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==", - "dev": true, - "peer": true + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } }, - "node_modules/@types/async-eventemitter": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", - "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + "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==" }, - "node_modules/@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "node_modules/dockerode": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", + "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", "dependencies": { - "@types/node": "*" + "concat-stream": "~1.6.2", + "docker-modem": "^1.0.8", + "tar-fs": "~1.16.3" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", - "dev": true - }, - "node_modules/@types/cli-progress": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.3.tgz", - "integrity": "sha512-/+C9xAdVtc+g5yHHkGBThgAA8rYpi5B+2ve3wLtybYj0JHEBs57ivR4x/zGfSsplRnV+psE91Nfin1soNKqz5Q==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dependencies": { - "@types/node": "*" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "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==", + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dependencies": { - "@types/node": "*" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/connect": { - "version": "3.4.36", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", - "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "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==", "dependencies": { - "@types/node": "*" + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" } }, - "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==", + "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==", "dependencies": { - "@types/node": "*" + "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/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", - "dev": true, - "peer": true - }, - "node_modules/@types/levelup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "dev": true, - "peer": true, - "dependencies": { - "@types/abstract-leveldown": "*", - "@types/level-errors": "*", - "@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==" - }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + "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==" }, - "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==" + "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==" }, - "node_modules/@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dev": true, - "peer": true, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dependencies": { - "@types/node": "*" + "iconv-lite": "^0.6.2" } }, - "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.15.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz", - "integrity": "sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==" - }, - "node_modules/@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" + "once": "^1.4.0" } }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "node_modules/enquirer": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", + "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", "dependencies": { - "@types/node": "*" + "ansi-colors": "^3.2.1" + }, + "engines": { + "node": ">=8.6" } }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "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==" }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "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==", "dependencies": { - "@types/node": "*" + "is-arrayish": "^0.2.1" } }, - "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true - }, - "node_modules/@types/string-math": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/string-math/-/string-math-1.0.0.tgz", - "integrity": "sha512-E3f76+cpdbIiOoi5uuxtXSSKGNZl4XFnJRBrpUUhqwZezFxInTxLpUTTgGbSnAJNb+3RY8vGhu8i2vLC78C+pg==", - "dev": true + "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==" }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "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==", "dependencies": { - "@types/node": "*" + "es6-promise": "^4.0.3" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz", - "integrity": "sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/type-utils": "5.57.0", - "@typescript-eslint/utils": "5.57.0", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, + "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==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", - "integrity": "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", - "debug": "^4.3.4" + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=4" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", - "integrity": "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==", - "dev": true, + "node_modules/ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "js-sha3": "^0.8.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz", - "integrity": "sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==", - "dev": true, + "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==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.57.0", - "@typescript-eslint/utils": "5.57.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", - "integrity": "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@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/@typescript-eslint/typescript-estree": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz", - "integrity": "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==", - "dev": true, + "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==", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@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": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=10.0.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", - "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", - "dev": 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==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", - "integrity": "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.57.0", - "eslint-visitor-keys": "^3.3.0" - }, + "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==" + }, + "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==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6" } }, - "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==" - }, - "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==", + "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==", "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" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.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==", + "node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", "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" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/@whatwg-node/node-fetch/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] }, - "node_modules/0xsequence": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/0xsequence/-/0xsequence-0.39.6.tgz", - "integrity": "sha512-1o1LEA+VOib244cVh3p/n6Ma0lZtvaJJrJSxpxW/acnlBA//sJJJnRBNXRoukePgTBqMBVu+abb+4v7xJ4vN0Q==", - "dependencies": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/api": "^0.39.6", - "@0xsequence/auth": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/guard": "^0.39.6", - "@0xsequence/indexer": "^0.39.6", - "@0xsequence/metadata": "^0.39.6", - "@0xsequence/multicall": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/provider": "^0.39.6", - "@0xsequence/relayer": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@0xsequence/wallet": "^0.39.6", - "ethers": "^5.5.2" + "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/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==", + "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==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "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==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dependencies": { - "event-target-shim": "^5.0.0" + "@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": ">=6.5" + "node": ">=8.6.0" } }, - "node_modules/abstract-level": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", - "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "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==", "dependencies": { - "buffer": "^6.0.3", - "catering": "^2.1.0", - "is-buffer": "^2.0.5", - "level-supports": "^4.0.0", - "level-transcoder": "^1.0.1", - "module-error": "^1.0.1", - "queue-microtask": "^1.2.3" - }, - "engines": { - "node": ">=12" + "fast-decode-uri-component": "^1.0.1" } }, - "node_modules/abstract-leveldown": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" + "punycode": "^1.3.2" } }, - "node_modules/abstract-leveldown/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "reusify": "^1.0.4" } }, - "node_modules/abstract-leveldown/node_modules/level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "xtend": "^4.0.2" - }, - "engines": { - "node": ">=6" + "minimatch": "^5.0.1" } }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "bin": { - "acorn": "bin/acorn" + "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==", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=10" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">=0.4.0" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { - "node": ">=0.3.0" + "node": "*" } }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dependencies": { - "debug": "4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.12" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "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==" + }, + "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==", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/fs-jetpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", + "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "minimatch": "^3.0.2", + "rimraf": "^2.6.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=4" } }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" + "node_modules/fs-jetpack/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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "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==", + "node_modules/fs-jetpack/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "type-fest": "^0.21.3" + "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": ">=8" + "node": "*" }, "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==", - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/isaacs" } }, - "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==", + "node_modules/fs-jetpack/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "color-convert": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "*" } }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" - }, - "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==", + "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==", "dependencies": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.3" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "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==", + "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==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "minipass": "^3.0.0" }, "engines": { "node": ">= 8" } }, - "node_modules/apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", - "dependencies": { - "axios": "^0.21.2", - "ramda": "^0.25.0" - } - }, - "node_modules/apollo-fetch": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/apollo-fetch/-/apollo-fetch-0.7.0.tgz", - "integrity": "sha512-0oHsDW3Zxx+Of1wuqcOXruNj4Kv55WN69tkIjwkCQDEIrgCpgA2scjChFsgflSVMy/1mkTKCY1Mc0TYJhNRzmw==", - "dev": true, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "cross-fetch": "^1.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/apollo-fetch/node_modules/cross-fetch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-1.1.1.tgz", - "integrity": "sha512-+VJE04+UfxxmBfcnmAu/lKor53RUCx/1ilOti4p+JgrnLQ4AZZIRoe2OEd76VaHyWQmQxqKnV+TaqjHC4r0HWw==", - "dev": true, - "dependencies": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" - } + "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==" }, - "node_modules/apollo-fetch/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/apollo-fetch/node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "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==" - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "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==" }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, + "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==", "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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==", + "engines": { + "node": ">=4" } }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "pump": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "assert-plus": "^1.0.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, + "node_modules/glob": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.4.tgz", + "integrity": "sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/asn1js": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", - "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", + "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==", "dependencies": { - "pvtsutils": "^1.3.2", - "pvutils": "^1.1.3", - "tslib": "^2.4.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=12.0.0" + "node": ">= 6" } }, - "node_modules/asn1js/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "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" }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/assert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", - "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", - "dev": true, + "node_modules/gluegun": { + "version": "4.3.1", + "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", + "license": "MIT", "dependencies": { - "es6-object-assign": "^1.1.0", - "is-nan": "^1.2.1", - "object-is": "^1.0.1", - "util": "^0.12.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "engines": { - "node": "*" + "apisauce": "^1.0.1", + "app-module-path": "^2.2.0", + "cli-table3": "~0.5.0", + "colors": "1.3.3", + "cosmiconfig": "6.0.0", + "cross-spawn": "^7.0.0", + "ejs": "^2.6.1", + "enquirer": "2.3.4", + "execa": "^3.0.0", + "fs-jetpack": "^2.2.2", + "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.0", + "pluralize": "^8.0.0", + "ramdasauce": "^2.1.0", + "semver": "^7.0.0", + "which": "^2.0.0", + "yargs-parser": "^16.1.0" + }, + "bin": { + "gluegun": "bin/gluegun" } }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" + "node_modules/gluegun/node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dependencies": { - "async": "^2.4.0" + "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==" + }, + "node_modules/graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", + "engines": { + "node": ">= 10.x" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "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==", + "peerDependencies": { + "graphql": "*" + } }, - "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==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "engines": { - "node": ">= 4.0.0" + "node": ">=4" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "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==", "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "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==", "dependencies": { - "follow-redirects": "^1.14.0" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" } }, - "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==" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "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==", "dependencies": { - "safe-buffer": "^5.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "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==", + "node_modules/hash-base/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", @@ -4166,213 +2753,97 @@ } ] }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "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==", "dependencies": { - "tweetnacl": "^0.14.3" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "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==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } }, - "node_modules/bigint-crypto-utils": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", - "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "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==", "dependencies": { - "bigint-mod-arith": "^3.1.0" + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" }, "engines": { - "node": ">=10.4.0" + "node": ">=6.0.0" } }, - "node_modules/bigint-mod-arith": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", - "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==", + "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==", + "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==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, "engines": { - "node": ">=10.4.0" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/bignumber.js": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", - "dev": true, - "peer": true, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "engines": { - "node": "*" + "node": ">=8.12.0" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "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==", "engines": { - "node": ">=8" + "node": ">=4" } }, - "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==", + "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==", "dependencies": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" + "safer-buffer": ">= 2.1.2 < 3.0.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==", - "bin": { - "wasm-opt": "bin/wasm-opt" + "node": ">=0.10.0" } }, - "node_modules/bip39": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", - "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", - "dev": true, - "peer": true, - "dependencies": { - "@types/node": "11.11.6", - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1" - } - }, - "node_modules/bip39/node_modules/@types/node": { - "version": "11.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", - "dev": true, - "peer": true - }, - "node_modules/blakejs": { + "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "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==", - "dependencies": { - "browser-readablestream-to-it": "^1.0.3" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true, - "peer": true - }, - "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==" - }, - "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==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.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==" - }, - "node_modules/browser-level": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", - "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", - "dependencies": { - "abstract-level": "^1.0.2", - "catering": "^2.1.1", - "module-error": "^1.0.2", - "run-parallel-limit": "^1.1.0" - } - }, - "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==" - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "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==", - "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/browserify-aes/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==" - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "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==", - "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==", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -4386,14636 +2857,4187 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "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==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" } }, - "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==" - }, - "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==" - }, - "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==" - }, - "node_modules/buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.1" - } + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" }, - "node_modules/bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "hasInstallScript": true, - "optional": true, - "peer": true, + "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==", "dependencies": { - "node-gyp-build": "^4.3.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=6.14.2" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bufio": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", - "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==", + "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==", "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "peer": true, - "dependencies": { - "semver": "^7.0.0" + "node": ">=8" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "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==", "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "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==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } + "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==" }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "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==", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "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==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", "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==" - }, - "node_modules/catering": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", - "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", - "engines": { - "node": ">=6" + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" } }, - "node_modules/cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "dev": true, - "dependencies": { - "nofilter": "^3.1.0" - }, - "engines": { - "node": ">=12.19" + "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==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "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/cbor-web": { - "version": "8.1.0", - "resolved": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", - "integrity": "sha512-ph4ncYfGr8tLISa3rVl6QvFT1Nv/ogEWL7PZTIfTlqXcpxweQRzjnKuBSggBeWK01IXDv+9BHw/wTeVPpp3T6A==", - "dev": true, - "license": "MIT", + "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==", + "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", + "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": ">=12.19" - } - }, - "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==", - "bin": { - "cborg": "cli.js" + "node": ">=14.0.0", + "npm": ">=3.0.0" } }, - "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "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==", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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": ">=8" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "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==" + }, + "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==" + }, + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { - "node": "*" + "node": ">=8" } }, - "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/" - } - ], - "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" + "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==", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">= 8.10.0" + "node": ">=8" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "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==" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "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==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "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==", + "engines": { + "node": ">=8" } }, - "node_modules/classic-level": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", - "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", - "hasInstallScript": true, + "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==", "dependencies": { - "abstract-level": "^1.0.2", - "catering": "^2.1.0", - "module-error": "^1.0.1", - "napi-macros": "~2.0.0", - "node-gyp-build": "^4.3.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "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==", "engines": { - "node": ">=6" + "node": ">=6.5.0", + "npm": ">=3" } }, - "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==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, + "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==", "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==", + "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==", "dependencies": { - "string-width": "^4.2.3" + "ip-regex": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cli-progress/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==", + "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==", "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/cli-progress/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "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==", "engines": { "node": ">=8" } }, - "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "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==", "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "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==", "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" + "node": ">=8" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/cliui/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==", - "engines": { - "node": ">=8" - } + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/cliui/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "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==", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" + "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==", + "peerDependencies": { + "ws": "*" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, - "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==", + "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==" + }, + "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==" + }, + "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==", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" } }, - "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==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" + "node_modules/it-glob/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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "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==", + "node_modules/it-glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "delayed-stream": "~1.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.8" + "node": "*" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "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==" + }, + "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==" }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, + "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==" + }, + "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==", "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" + "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/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, + "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==", "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">= 6" } }, - "node_modules/command-line-usage/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==", - "dev": true, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dependencies": { - "color-convert": "^1.9.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/jake/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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/command-line-usage/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==", - "dev": true, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/command-line-usage/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==", - "dev": true, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/command-line-usage/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==", - "dev": true - }, - "node_modules/command-line-usage/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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/command-line-usage/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==", - "dev": true, + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/command-line-usage/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==", - "dev": true, + "node_modules/jake/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==", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/commander": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", - "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", + "node_modules/jayson": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", + "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": ">=14" + "node": ">=8" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "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==" }, - "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" - ], + "node_modules/jayson/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==", "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/core-js-pure": { - "version": "3.29.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.29.1.tgz", - "integrity": "sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg==", - "dev": true, - "hasInstallScript": true, - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } + "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==" }, - "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==" + "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==" }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "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==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" + "js-yaml": "bin/js-yaml.js" } }, - "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==", - "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/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, - "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==", - "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/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==" }, - "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==" + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "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==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "universalify": "^2.0.0" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "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==", + "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" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" }, "engines": { - "node": ">= 8" + "node": "*" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, "engines": { - "node": ">=0.10" + "node": ">=0.6.0" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "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, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "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==", "dependencies": { - "type-detect": "^4.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.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==" }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "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==" }, - "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==", + "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==" + }, + "node_modules/lodash.lowercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", + "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "node_modules/lodash.repeat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", + "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==", "dependencies": { - "clone": "^1.0.2" + "chalk": "^2.4.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/deferred-leveldown/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, + "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==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "color-name": "1.1.3" } }, - "node_modules/deferred-leveldown/node_modules/level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, - "dependencies": { - "xtend": "^4.0.2" - }, + "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==" + }, + "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==", "engines": { - "node": ">=6" + "node": ">=0.8.0" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, + "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==", + "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==", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "has-flag": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "14 || >=16.14" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" + "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==" + }, + "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==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "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==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { - "node": ">=0.3.1" + "node": ">= 8" } }, - "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==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "path-type": "^4.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "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==", - "dependencies": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" + "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==", + "engines": { + "node": ">= 0.6" } }, - "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==", + "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==", "dependencies": { - "yaml": "^1.10.2" + "mime-db": "1.52.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.6" } }, - "node_modules/docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "dependencies": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, + "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==", "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==", - "dependencies": { - "ms": "^2.1.1" + "node": ">=6" } }, - "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==" - }, - "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==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } + "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==" }, - "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==" + "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==" }, - "node_modules/dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", + "node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dependencies": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, + "node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "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==", + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "encoding": "^0.1.13" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "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==", - "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/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "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==" - }, - "node_modules/email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + "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==" }, - "node_modules/emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "node_modules/multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", + "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/emoji-regex": { + "node_modules/multiaddr-to-uri": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", "dependencies": { - "iconv-lite": "^0.6.2" + "multiaddr": "^10.0.0" } }, - "node_modules/encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, + "node_modules/mustache": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", + "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==", "dev": true, - "peer": true, - "dependencies": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" + "bin": { + "mustache": "bin/mustache" }, "engines": { - "node": ">=6" + "npm": ">=1.4.0" } }, - "node_modules/encoding/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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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==", - "dependencies": { - "once": "^1.4.0" + "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==", + "peerDependencies": { + "abort-controller": "*" } }, - "node_modules/enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", - "dependencies": { - "ansi-colors": "^3.2.1" - }, - "engines": { - "node": ">=8.6" + "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==", + "peerDependencies": { + "node-fetch": "*" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "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==", "engines": { - "node": ">=6" + "node": "*" } }, - "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==" + "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==" }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "prr": "~1.0.1" + "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.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "bin": { - "errno": "cli.js" + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "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==", - "dependencies": { - "is-arrayish": "^0.2.1" + "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==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dev": true, + "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==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "path-key": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, + "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==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.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==" }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "*" } }, - "node_modules/es6-object-assign": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", - "dev": true + "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==", + "engines": { + "node": ">=0.10.0" + } }, - "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==" + "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==", + "engines": { + "node": ">= 10" + } }, - "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==", + "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==", "dependencies": { - "es6-promise": "^4.0.3" + "wrappy": "1" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { "node": ">=6" - } - }, - "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==", - "engines": { - "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", - "dev": true, + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.37.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0" + "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==", + "engines": { + "node": ">=8" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, + "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==", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" + "node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "engines": { + "node": ">=8" } }, - "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, + "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==", "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "callsites": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, + "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==" + }, + "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==", "dependencies": { - "debug": "^3.2.7" + "@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": ">=4" + "node": ">=8" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, + "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==", "dependencies": { - "ms": "^2.1.1" + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" } }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, + "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==", "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, + "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==", "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" + "node": ">=8" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dependencies": { - "esutils": "^2.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "peer": true, - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "peer": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, + "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==", "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-node/node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" + "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": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" + "node": ">=0.12" } }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { + "node_modules/performance-now": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { - "node": ">=6" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "engines": { "node": ">=4" } }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "node": ">=4" } }, - "node_modules/eslint-plugin-promise": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } + "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==" }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, + "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==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" + "asap": "~2.0.6" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "peer": true, + "node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "@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" }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, - "node_modules/eslint/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==", - "dev": true + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, + "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==" + }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "tslib": "^2.6.1" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", + "engines": { + "node": ">=6.0.0" } }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.6" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, + "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" + } + ] + }, + "node_modules/ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + }, + "node_modules/ramdasauce": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", + "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "ramda": "^0.24.1" } }, - "node_modules/eslint/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==", - "dev": true, + "node_modules/ramdasauce/node_modules/ramda": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "safe-buffer": "^5.1.0" } }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, + "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==", "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "p-defer": "^3.0.0" } }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, + "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==", "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "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/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { - "p-limit": "^3.0.2" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.10.0" } }, - "node_modules/eslint/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", - "dev": true, + "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==", + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 6" } }, - "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==", + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "uuid": "bin/uuid" + } + }, + "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==", "engines": { "node": ">=4" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, + "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==", "dependencies": { - "estraverse": "^5.1.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "engines": { - "node": ">=4.0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { - "estraverse": "^5.2.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=4.0" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" + "node_modules/rimraf/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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, "engines": { - "node": ">=4.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "dev": true, - "peer": true, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/eth-ens-namehash/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true, - "peer": true - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "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==", - "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" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/ethereum-waffle": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz", - "integrity": "sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==", - "dev": true, - "peer": true, + "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==", "dependencies": { - "@ethereum-waffle/chai": "4.0.10", - "@ethereum-waffle/compiler": "4.0.3", - "@ethereum-waffle/mock-contract": "4.0.4", - "@ethereum-waffle/provider": "4.0.5", - "solc": "0.8.15", - "typechain": "^8.0.0" + "bn.js": "^5.2.0" }, "bin": { - "waffle": "bin/waffle" - }, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "ethers": "*" + "rlp": "bin/rlp" } }, - "node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "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" + } + ], "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } + "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==" }, - "node_modules/ethereumjs-abi/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==" + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, - "node_modules/ethereumjs-util": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", - "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", + "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, "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" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/etherscan-api": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/etherscan-api/-/etherscan-api-10.3.0.tgz", - "integrity": "sha512-XH+E7J2c6Wq750stvFuIIMdiLv5v65nTRftQojXuQXNfEsQaZOOgeY11WHdrGh6yh90ekDJQldgf033tIS1rCw==", - "dependencies": { - "axios": "1.2.2", - "gh-pages": "4.0.0", - "querystring": "0.2.1" - } - }, - "node_modules/etherscan-api/node_modules/axios": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", - "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/etherscan-api/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/etherscan-api/node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/semver/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==", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.4.x" + "node": ">=10" } }, - "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==", + "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==" + }, + "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==", "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "bin": { + "sha.js": "bin.js" } }, - "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==" - }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "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==", "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=8" } }, - "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==", + "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==", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/eventemitter2": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", - "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" - }, - "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==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } + "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==" }, - "node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">=8" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extract-files": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", - "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", - "dev": true, + "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==", "engines": { - "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/jaydenseric" + "node": ">=0.10.0" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "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/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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/fast-decode-uri-component": { + "node_modules/split-ca": { "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==" + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "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==" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "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-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "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==", - "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==", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/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==" - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fetch-ponyfill": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", - "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", - "dependencies": { - "node-fetch": "~2.6.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "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==", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/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==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "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==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg==", - "dependencies": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/filenamify-url/node_modules/filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/filenamify-url/node_modules/filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", - "dependencies": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dependencies": { - "locate-path": "^2.0.0" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" - }, - "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==" - }, - "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==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": ">=10" - } - }, - "node_modules/fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "dependencies": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "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==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "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==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.4.3.tgz", - "integrity": "sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA==", - "bundleDependencies": [ - "@trufflesuite/bigint-buffer", - "emittery", - "keccak", - "leveldown", - "secp256k1", - "@types/bn.js", - "@types/lru-cache", - "@types/seedrandom" - ], - "dev": true, - "hasShrinkwrap": true, - "peer": true, - "dependencies": { - "@trufflesuite/bigint-buffer": "1.1.10", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "5.1.1", - "@types/seedrandom": "3.0.1", - "emittery": "0.10.0", - "keccak": "3.0.2", - "leveldown": "6.1.0", - "secp256k1": "4.0.3" - }, - "bin": { - "ganache": "dist/node/cli.js", - "ganache-cli": "dist/node/cli.js" - }, - "optionalDependencies": { - "bufferutil": "4.0.5", - "utf-8-validate": "5.0.7" - } - }, - "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", - "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "node-gyp-build": "4.4.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/ganache/node_modules/@trufflesuite/bigint-buffer/node_modules/node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/ganache/node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache/node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/@types/seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/ganache/node_modules/bufferutil": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", - "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - } - }, - "node_modules/ganache/node_modules/catering": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", - "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "queue-tick": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "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/ganache/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==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/ganache/node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/ganache/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "BSD-3-Clause", - "peer": true - }, - "node_modules/ganache/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, - "node_modules/ganache/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache/node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "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/ganache/node_modules/leveldown": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", - "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "abstract-leveldown": "^7.2.0", - "napi-macros": "~2.0.0", - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/ganache/node_modules/leveldown/node_modules/abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "buffer": "^6.0.3", - "catering": "^2.0.0", - "is-buffer": "^2.0.5", - "level-concat-iterator": "^3.0.0", - "level-supports": "^2.0.1", - "queue-microtask": "^1.2.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ganache/node_modules/leveldown/node_modules/level-concat-iterator": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", - "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "catering": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ganache/node_modules/leveldown/node_modules/level-supports": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", - "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, - "node_modules/ganache/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": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/ganache/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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/queue-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", - "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache/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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/ganache/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache/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==", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/ganache/node_modules/utf-8-validate": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", - "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - } - }, - "node_modules/ganache/node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "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==" - }, - "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==", - "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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/gh-pages": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", - "integrity": "sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ==", - "dependencies": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gh-pages/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/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==" - }, - "node_modules/gh-pages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gh-pages/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gh-pages/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gluegun": { - "version": "4.3.1", - "resolved": "git+ssh://git@github.com/edgeandnode/gluegun.git#b34b9003d7bf556836da41b57ef36eb21570620a", - "license": "MIT", - "dependencies": { - "apisauce": "^1.0.1", - "app-module-path": "^2.2.0", - "cli-table3": "~0.5.0", - "colors": "1.3.3", - "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "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.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - }, - "bin": { - "gluegun": "bin/gluegun" - } - }, - "node_modules/gluegun/node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "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==" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "engines": { - "node": ">= 10.x" - } - }, - "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==", - "peerDependencies": { - "graphql": "*" - } - }, - "node_modules/graphql-request": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", - "integrity": "sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ==", - "dev": true, - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "cross-fetch": "^3.1.5", - "extract-files": "^9.0.0", - "form-data": "^3.0.0" - }, - "peerDependencies": { - "graphql": "14 - 16" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hardhat": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.13.0.tgz", - "integrity": "sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==", - "dependencies": { - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/ethereumjs-block": "^4.0.0", - "@nomicfoundation/ethereumjs-blockchain": "^6.0.0", - "@nomicfoundation/ethereumjs-common": "^3.0.0", - "@nomicfoundation/ethereumjs-evm": "^1.0.0", - "@nomicfoundation/ethereumjs-rlp": "^4.0.0", - "@nomicfoundation/ethereumjs-statemanager": "^1.0.0", - "@nomicfoundation/ethereumjs-trie": "^5.0.0", - "@nomicfoundation/ethereumjs-tx": "^4.0.0", - "@nomicfoundation/ethereumjs-util": "^8.0.0", - "@nomicfoundation/ethereumjs-vm": "^6.0.0", - "@nomicfoundation/solidity-analyzer": "^0.1.0", - "@sentry/node": "^5.18.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^1.0.3", - "ethereumjs-abi": "^0.6.8", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "7.2.0", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "keccak": "^3.0.2", - "lodash": "^4.17.11", - "mnemonist": "^0.38.0", - "mocha": "^10.0.0", - "p-map": "^4.0.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "tsort": "0.0.1", - "undici": "^5.14.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "bin": { - "hardhat": "internal/cli/bootstrap.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "ts-node": "*", - "typescript": "*" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/hardhat/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/hardhat/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==" - }, - "node_modules/hardhat/node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "node_modules/hardhat/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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/hardhat/node_modules/ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "dependencies": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" - } - }, - "node_modules/hardhat/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/hardhat/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/hardhat/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" - }, - "node_modules/hardhat/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/hardhat/node_modules/keccak": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", - "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", - "hasInstallScript": true, - "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/hardhat/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hardhat/node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hardhat/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/hardhat/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/hardhat/node_modules/solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solcjs" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/hardhat/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==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "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==", - "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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "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==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "peer": true - }, - "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==", - "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-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "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==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ==", - "dependencies": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dev": true, - "peer": true, - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.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" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", - "dev": true, - "peer": true - }, - "node_modules/immutable": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", - "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==" - }, - "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==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "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==", - "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==", - "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==" - }, - "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==", - "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==" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dependencies": { - "fp-ts": "^1.0.0" - } - }, - "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==", - "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==", - "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", - "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==", - "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", - "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==", - "deprecated": "js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details", - "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==", - "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==", - "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==" - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==", - "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==", - "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==", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true, - "peer": true - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true, - "peer": true - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "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==", - "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==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "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==" - }, - "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==" - }, - "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==", - "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==" - }, - "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==" - }, - "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==" - }, - "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==", - "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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "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/jake/node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jayson": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", - "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", - "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==" - }, - "node_modules/jayson/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==" - }, - "node_modules/jayson/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==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/js-base64": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz", - "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" - }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "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==" - }, - "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==" - }, - "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==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "dev": true, - "peer": true, - "dependencies": { - "bignumber.js": "^9.0.0" - } - }, - "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==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "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==" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "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" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dev": true, - "peer": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/level": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", - "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", - "dependencies": { - "browser-level": "^1.0.1", - "classic-level": "^1.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/level" - } - }, - "node_modules/level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dev": true, - "peer": true, - "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-codec/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dev": true, - "peer": true, - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-iterator-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==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/level-mem": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "dev": true, - "peer": true, - "dependencies": { - "level-packager": "^5.0.3", - "memdown": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "dev": true, - "peer": true, - "dependencies": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-supports": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", - "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/level-transcoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", - "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", - "dependencies": { - "buffer": "^6.0.3", - "module-error": "^1.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/level-ws": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-ws/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==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/levelup": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "dev": true, - "peer": true, - "dependencies": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/levelup/node_modules/level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, - "dependencies": { - "xtend": "^4.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.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==" - }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dev": true, - "peer": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", - "dev": true, - "peer": true - }, - "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==" - }, - "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==" - }, - "node_modules/lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==" - }, - "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==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==" - }, - "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==" - }, - "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==" - }, - "node_modules/lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "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==" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", - "dev": true, - "peer": true - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "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==" - }, - "node_modules/mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", - "engines": { - "node": ">=8.9.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==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/memdown": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "dev": true, - "peer": true, - "dependencies": { - "abstract-leveldown": "~6.2.1", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memdown/node_modules/abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, - "peer": true, - "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memdown/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/memdown/node_modules/immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", - "dev": true, - "peer": true - }, - "node_modules/memdown/node_modules/level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, - "dependencies": { - "xtend": "^4.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memory-level": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", - "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", - "dependencies": { - "abstract-level": "^1.0.0", - "functional-red-black-tree": "^1.0.1", - "module-error": "^1.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "engines": { - "node": ">= 0.10.0" - } - }, - "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==", - "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==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/merkle-patricia-tree": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "dev": true, - "peer": true, - "dependencies": { - "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "level-ws": "^2.0.0", - "readable-stream": "^3.6.0", - "semaphore-async-await": "^1.5.1" - } - }, - "node_modules/merkle-patricia-tree/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==", - "dev": true, - "peer": true, - "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/merkle-patricia-tree/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==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/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==", - "dev": true, - "peer": true - }, - "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==", - "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==", - "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==", - "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==" - }, - "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==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", - "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", - "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==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "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==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "dependencies": { - "obliterator": "^2.0.0" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/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==" - }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/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==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/minimatch/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==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/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==" - }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/module-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", - "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", - "engines": { - "node": ">=10" - } - }, - "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==" - }, - "node_modules/multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", - "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==", - "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri", - "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==" - }, - "node_modules/mustache": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", - "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==", - "bin": { - "mustache": "bin/mustache" - }, - "engines": { - "npm": ">=1.4.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" - }, - "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==", - "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==", - "peerDependencies": { - "node-fetch": "*" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "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==", - "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==" - }, - "node_modules/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", - "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.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", - "dev": true, - "engines": { - "node": ">=12.19" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "peer": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", - "dependencies": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obliterator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", - "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" - }, - "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==", - "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==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dependencies": { - "color-convert": "^1.9.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==", - "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==" - }, - "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==", - "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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/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==", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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==", - "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/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dev": true, - "peer": true, - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==", - "dependencies": { - "fast-fifo": "^1.0.0", - "p-defer": "^3.0.0" - } - }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", - "dev": true - }, - "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==", - "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==" - }, - "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==", - "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==", - "dependencies": { - "ansi-escapes": "^4.3.2", - "cross-spawn": "^7.0.3" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "peer": true - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "engines": { - "node": "*" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "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" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/polygonscan-api": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/polygonscan-api/-/polygonscan-api-1.0.4.tgz", - "integrity": "sha512-lGBBLc8ymA2cwntwWl+UpNk8nIGO7bTlRcGQ9puXQTVbfTeqgQ+n/q5Ea1UR/v9gofn5kcmZvq1/abc6Rooyyg==", - "dependencies": { - "axios": "^0.19.0", - "gh-pages": "^2.1.1", - "querystring": "^0.2.0" - } - }, - "node_modules/polygonscan-api/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/polygonscan-api/node_modules/axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", - "dependencies": { - "follow-redirects": "1.5.10" - } - }, - "node_modules/polygonscan-api/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==" - }, - "node_modules/polygonscan-api/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/polygonscan-api/node_modules/follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dependencies": { - "debug": "=3.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/polygonscan-api/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/polygonscan-api/node_modules/gh-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", - "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", - "dependencies": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify-url": "^1.0.0", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/polygonscan-api/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/polygonscan-api/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/polygonscan-api/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/polygonscan-api/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "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==" - }, - "node_modules/protobufjs": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", - "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", - "hasInstallScript": true, - "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/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "peer": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pvtsutils": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", - "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", - "dependencies": { - "tslib": "^2.6.1" - } - }, - "node_modules/pvtsutils/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/pvutils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", - "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", - "dependencies": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, - "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" - } - ] - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, - "node_modules/ramdasauce": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ramdasauce/-/ramdasauce-2.1.3.tgz", - "integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==", - "dependencies": { - "ramda": "^0.24.1" - } - }, - "node_modules/ramdasauce/node_modules/ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha512-HEm619G8PaZMfkqCa23qiOe7r3R0brPu7ZgOsgKUsnvLhd0qhc/vTjkUovomgPWa5ECBa08fJZixth9LaoBo5w==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "dependencies": { - "p-defer": "^3.0.0" - } - }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dev": true, - "peer": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, - "peer": true, - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "peer": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "peer": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.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==", - "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==" - }, - "node_modules/readable-stream/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "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==", - "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==", - "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true, - "peer": true - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==", - "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==" - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "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==", - "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==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", - "dependencies": { - "bn.js": "^4.11.1" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rlp/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==" - }, - "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" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/run-parallel-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", - "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "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" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "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, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/seedrandom": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", - "dev": true, - "peer": true - }, - "node_modules/semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.1" - } - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "peer": true - }, - "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==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "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==", - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "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==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/solc": { - "version": "0.8.15", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.15.tgz", - "integrity": "sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w==", - "dev": true, - "peer": true, - "dependencies": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solc.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/solc/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "peer": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true, - "peer": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "peer": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", - "dev": true, - "peer": true - }, - "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==" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "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/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", - "dev": true - }, - "node_modules/string-math": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string-math/-/string-math-1.2.2.tgz", - "integrity": "sha512-rfRZpMZbIy+0pepaW8iDCR+iW+GONxyi0jXfdyW4MgpFATH/Vlz+d3vt8UMu/a1RjA9xiejBDFayvTXzs/ROTw==", - "dev": true - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "peer": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-outer/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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/strip-url-auth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha512-++41PnXftlL3pvI6lpvhSEO+89g1kIJC4MYB5E6yH+WHa5InIqz51yGd1YOGd7VNSNdoEOfzTMqbAM/2PbgaHQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==", - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.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==", - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - } - }, - "node_modules/tar-fs/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-fs/node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/tar-fs/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==", - "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/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", - "dev": true, - "peer": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "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==", - "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==" - }, - "node_modules/then-request/node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/then-request/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==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "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==", - "dependencies": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.4", - "retimer": "^3.0.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/tmp-promise/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.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==" - }, - "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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-repeated/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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ts-command-line-args": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.4.2.tgz", - "integrity": "sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ==", - "dev": true, - "dependencies": { - "@morgan-stanley/ts-mocking-bird": "^0.6.2", - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - }, - "bin": { - "write-markdown": "dist/write-markdown.js" - } - }, - "node_modules/ts-command-line-args/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "dev": true, - "peerDependencies": { - "typescript": ">=3.7.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "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/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typechain": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", - "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", - "dev": true, - "dependencies": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - }, - "peerDependencies": { - "typescript": ">=4.3.0" - } - }, - "node_modules/typechain/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/typechain/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typechain/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/typechain/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/typechain/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "node_modules/typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz", - "integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==", - "dependencies": { - "busboy": "^1.6.0" - }, - "engines": { - "node": ">=12.18" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "dev": true, - "peer": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true, - "peer": true - }, - "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==" - }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "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==" - }, - "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==", - "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==" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "peer": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", - "dev": true - }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", - "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", - "dev": true - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "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==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi/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==", - "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/web3-eth-abi/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==" - }, - "node_modules/web3-eth-abi/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==", - "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": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", - "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^5.2.1", - "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/webcrypto-core": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", - "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.6", - "@peculiar/json-schema": "^1.1.12", - "asn1js": "^3.0.1", - "pvtsutils": "^1.3.2", - "tslib": "^2.4.0" - } - }, - "node_modules/webcrypto-core/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/webextension-polyfill": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz", - "integrity": "sha512-a19+DzlT6Kp9/UI+mF9XQopeZ+n2ussjhxHJ4/pmIGge9ijCDz7Gn93mNnjpZAk95T4Tae8iHZ6sSf869txqiQ==" - }, - "node_modules/webextension-polyfill-ts": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.26.0.tgz", - "integrity": "sha512-XEFL+aYVEsm/d4RajVwP75g56c/w2aSHnPwgtUv8/nCzbLNSzRQIix6aj1xqFkA5yr7OIDkk3OD/QTnPp8ThYA==", - "deprecated": "This project has moved to @types/webextension-polyfill", - "dependencies": { - "webextension-polyfill": "^0.8.0" - } - }, - "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==" - }, - "node_modules/whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha512-SA2KdOXATOroD3EBUYvcdugsusXS5YiQFqwskSbsp5b1gK8HpNi/YP0jcy/BDpdllp305HMnrsVf9K7Be9GiEQ==", - "dev": true - }, - "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==", - "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==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "dev": true, - "peer": true - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "dev": true, - "peer": true, - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" - }, - "node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - }, - "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==", - "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/wrap-ansi/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==" - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "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==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@0xsequence/abi": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/abi/-/abi-0.39.6.tgz", - "integrity": "sha512-ROHfAyQvN1N2G6DeVyWR4wxi0dd0HjJZQ+2UkxvYJrdywQZONmrUPD6MfT4Fd+JrQwdIxkcNu2/QfgkyZDerFw==" - }, - "@0xsequence/api": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/api/-/api-0.39.6.tgz", - "integrity": "sha512-UWwPRCRl5OBJKUllzMh7gmiPgM7Jtn07WKEolpdgl1bouYs2h/it7FfOVjVkDbQYYwoY8qy+aadgMqKptiZy1Q==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@0xsequence/auth": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/auth/-/auth-0.39.6.tgz", - "integrity": "sha512-BSank/ZhIgiqf7CxJo697O3HyYWvyWSEvbDyTcpAs/RgfQnLZ3AuH45ohUNuXVChZj/d8Ntl+lGCXHJdjxzx2A==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/api": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/ethauth": "^0.7.0", - "@0xsequence/indexer": "^0.39.6", - "@0xsequence/metadata": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@0xsequence/wallet": "^0.39.6", - "ethers": "^5.5.2" - } - }, - "@0xsequence/config": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/config/-/config-0.39.6.tgz", - "integrity": "sha512-AKsTyCezmRwCNSs7QjHAJOGjEUM81V60Ih/99sudoP1Cz8vQLmN4WJ30XD7iJhHhR65Jkxj4X7Y4hbhA10ftoA==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/multicall": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "ethers": "^5.5.2" - } - }, - "@0xsequence/ethauth": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@0xsequence/ethauth/-/ethauth-0.7.0.tgz", - "integrity": "sha512-pghfR+OLm82wLMR9Uvvf53f0LniZLhcqw0G4EthFw1ME71/CWUskhR2MIeYKh1t7+OE3TqCbOBJ/p/buv8XynQ==", - "requires": { - "js-base64": "^3.7.2" - } - }, - "@0xsequence/guard": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/guard/-/guard-0.39.6.tgz", - "integrity": "sha512-PZk4KulqSWStO5OBSHAn9Mxq2Vul86PcV1/Eqy0s906CG6GgtfqDUV4/RE7wbIMBgctqElcHwdrD2mQnIs5qKA==" - }, - "@0xsequence/indexer": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/indexer/-/indexer-0.39.6.tgz", - "integrity": "sha512-FmiwCsTrhyc1XJUNdhj0Hje0yZTr6bj7s1rXHIQVtNBoFig0G4xvK9dM8CvquRfALD5H8+U/eccvstt6HG87Fg==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@0xsequence/metadata": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/metadata/-/metadata-0.39.6.tgz", - "integrity": "sha512-egC7pe6TQCaKTxgWzZ9s/GstQlruA001/sPDLPCJKO+nsjeRhIsq5o+rzmN5v8Ols1vaCakvKQGLGRb+jt53hg==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@0xsequence/multicall": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/multicall/-/multicall-0.39.6.tgz", - "integrity": "sha512-oHgxAuYoanYXKArrzPF+a8f9CAzDX5xYp+U+bcCd3qOagIn1xeQCEW4zbnGDRD+ZguhlcP2I7wiW1eImmoOi1g==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2" - } - }, - "@0xsequence/network": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/network/-/network-0.39.6.tgz", - "integrity": "sha512-esmdTCT98tjjbYoiYjaOmJIG0aSgadg9wR1FB6lzPdAVuq+xOGvxygtTiqhTqXF+YI2Alc4b5EP7tUWC9OA10Q==", - "requires": { - "@0xsequence/utils": "^0.39.6", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2" - } - }, - "@0xsequence/provider": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/provider/-/provider-0.39.6.tgz", - "integrity": "sha512-i8ZLRwuGvqEulWPnbWpEhXOMwShQ7oaD8DCbOs0+y7i8xuAsm+lCAZXJdmYRPt+DRHiG+lVnCAWoucdBbC1LMw==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/auth": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@0xsequence/wallet": "^0.39.6", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/providers": "^5.5.1", - "@ethersproject/web": "^5.5.1", - "ethers": "^5.5.2", - "eventemitter2": "^6.4.5", - "webextension-polyfill-ts": "^0.26.0" - } - }, - "@0xsequence/relayer": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/relayer/-/relayer-0.39.6.tgz", - "integrity": "sha512-sgeNeb5DvpcznmAqN5oeYQCY+iC9W5hrg3ohSavm15d67x7SIKW/ia9drqEj806MlC30zU+vPFzO2UjPHcBdJw==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2", - "fetch-ponyfill": "^7.1.0" - } - }, - "@0xsequence/transactions": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/transactions/-/transactions-0.39.6.tgz", - "integrity": "sha512-6GWxnQbNgWvZa13i6q02GdGzrijctfH1wZUsFAcxYMBmuE/tC79rJhUPUQxnKjwIpawOjIQaEGYSYkWaI6Hc6A==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/abi": "^5.5.0", - "ethers": "^5.5.2" - } - }, - "@0xsequence/utils": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/utils/-/utils-0.39.6.tgz", - "integrity": "sha512-Zf5NTRSzrOrc48SXsmtRDs1uaJ0gaOjwQYkANoIco54Rq+IA1Dlz9HWRebgyjeCUrXLnGCckljBemAUoZbVgIg==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "ethers": "^5.5.2", - "js-base64": "^3.7.2" - } - }, - "@0xsequence/wallet": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/@0xsequence/wallet/-/wallet-0.39.6.tgz", - "integrity": "sha512-PlVxXMQZvocXeEwT3QjhmLFJaITWkyjiQq6euddIhe/Y3M/Xon/hFR1FYEJbkQA23p1FewqVzTkX7Sh0J0xxpw==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/guard": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/relayer": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@ethersproject/abi": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/providers": "^5.5.1", - "ethers": "^5.5.2", - "fetch-ponyfill": "^7.1.0" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@chainlink/contracts": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.5.1.tgz", - "integrity": "sha512-3PDBJ38Sd6Ml9h7FNK/tZQti+kTCdXUq1qzE6E59CnlzycsV9ElPvf2hTvs9Mi9C6pEx2Mmw9yhZMfBktYUInQ==", - "requires": { - "@eth-optimism/contracts": "^0.5.21", - "@openzeppelin/contracts": "^4.3.3", - "@openzeppelin/contracts-v0.7": "npm:@openzeppelin/contracts@v3.4.2" - } - }, - "@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==", - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - } - }, - "@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "dev": true, - "peer": true, - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "peer": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "dev": true, - "peer": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "peer": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "peer": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true - }, - "solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "peer": true, - "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "peer": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true, - "peer": true - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "dev": true, - "peer": true, - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "dev": true, - "peer": true, - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, - "@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "dev": true, - "peer": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.1", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@eslint/js": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", - "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", - "dev": true - }, - "@eth-optimism/contracts": { - "version": "0.5.40", - "resolved": "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.5.40.tgz", - "integrity": "sha512-MrzV0nvsymfO/fursTB7m/KunkPsCndltVgfdHaT1Aj5Vi6R/doKIGGkOofHX+8B6VMZpuZosKCMQ5lQuqjt8w==", - "requires": { - "@eth-optimism/core-utils": "0.12.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0" - } - }, - "@eth-optimism/core-utils": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", - "integrity": "sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/contracts": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/providers": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bufio": "^1.0.7", - "chai": "^4.3.4" - } - }, - "@ethereum-waffle/chai": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-4.0.10.tgz", - "integrity": "sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw==", - "dev": true, - "peer": true, - "requires": { - "@ethereum-waffle/provider": "4.0.5", - "debug": "^4.3.4", - "json-bigint": "^1.0.0" - } - }, - "@ethereum-waffle/compiler": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", - "integrity": "sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==", - "dev": true, - "peer": true, - "requires": { - "@resolver-engine/imports": "^0.3.3", - "@resolver-engine/imports-fs": "^0.3.3", - "@typechain/ethers-v5": "^10.0.0", - "@types/mkdirp": "^0.5.2", - "@types/node-fetch": "^2.6.1", - "mkdirp": "^0.5.1", - "node-fetch": "^2.6.7" - } - }, - "@ethereum-waffle/ens": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-4.0.3.tgz", - "integrity": "sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw==", - "dev": true, - "peer": true, - "requires": {} - }, - "@ethereum-waffle/mock-contract": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz", - "integrity": "sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA==", - "dev": true, - "peer": true, - "requires": {} - }, - "@ethereum-waffle/provider": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-4.0.5.tgz", - "integrity": "sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw==", - "dev": true, - "peer": true, - "requires": { - "@ethereum-waffle/ens": "4.0.3", - "@ganache/ethereum-options": "0.1.4", - "debug": "^4.3.4", - "ganache": "7.4.3" - } - }, - "@ethereumjs/block": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", - "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/common": "^2.6.5", - "@ethereumjs/tx": "^3.5.2", - "ethereumjs-util": "^7.1.5", - "merkle-patricia-tree": "^4.2.4" - }, - "dependencies": { - "@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "peer": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dev": true, - "peer": true, - "requires": { - "@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" - } - } - } - }, - "@ethereumjs/blockchain": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", - "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/common": "^2.6.4", - "@ethereumjs/ethash": "^1.1.0", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.5", - "level-mem": "^5.0.1", - "lru-cache": "^5.1.1", - "semaphore-async-await": "^1.5.1" - }, - "dependencies": { - "@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "peer": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dev": true, - "peer": true, - "requires": { - "@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" - } - } - } - }, - "@ethereumjs/common": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.0.tgz", - "integrity": "sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==", - "dev": true, - "peer": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.3" - } - }, - "@ethereumjs/ethash": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/block": "^3.5.0", - "@types/levelup": "^4.3.0", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.1.1", - "miller-rabin": "^4.0.0" - } - }, - "@ethereumjs/tx": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.4.0.tgz", - "integrity": "sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/common": "^2.6.0", - "ethereumjs-util": "^7.1.3" - } - }, - "@ethereumjs/vm": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.6.0.tgz", - "integrity": "sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/block": "^3.6.0", - "@ethereumjs/blockchain": "^5.5.0", - "@ethereumjs/common": "^2.6.0", - "@ethereumjs/tx": "^3.4.0", - "async-eventemitter": "^0.2.4", - "core-js-pure": "^3.0.1", - "debug": "^2.2.0", - "ethereumjs-util": "^7.1.3", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.2", - "rustbn.js": "~0.2.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "peer": true - } - } - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@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==", - "requires": { - "@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": { - "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==", - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@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==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@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/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@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==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@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==", - "requires": { - "@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/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@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/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@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" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@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==", - "requires": { - "@rescript/std": "9.0.0", - "graphql": "^16.6.0", - "graphql-import-node": "^0.0.5", - "js-yaml": "^4.1.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@ganache/ethereum-address": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", - "integrity": "sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw==", - "dev": true, - "peer": true, - "requires": { - "@ganache/utils": "0.1.4" - } - }, - "@ganache/ethereum-options": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz", - "integrity": "sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw==", - "dev": true, - "peer": true, - "requires": { - "@ganache/ethereum-address": "0.1.4", - "@ganache/ethereum-utils": "0.1.4", - "@ganache/options": "0.1.4", - "@ganache/utils": "0.1.4", - "bip39": "3.0.4", - "seedrandom": "3.0.5" - } - }, - "@ganache/ethereum-utils": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz", - "integrity": "sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg==", - "dev": true, - "peer": true, - "requires": { - "@ethereumjs/common": "2.6.0", - "@ethereumjs/tx": "3.4.0", - "@ethereumjs/vm": "5.6.0", - "@ganache/ethereum-address": "0.1.4", - "@ganache/rlp": "0.1.4", - "@ganache/utils": "0.1.4", - "emittery": "0.10.0", - "ethereumjs-abi": "0.6.8", - "ethereumjs-util": "7.1.3" - } - }, - "@ganache/options": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/options/-/options-0.1.4.tgz", - "integrity": "sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw==", - "dev": true, - "peer": true, - "requires": { - "@ganache/utils": "0.1.4", - "bip39": "3.0.4", - "seedrandom": "3.0.5" - } - }, - "@ganache/rlp": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/rlp/-/rlp-0.1.4.tgz", - "integrity": "sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ==", - "dev": true, - "peer": true, - "requires": { - "@ganache/utils": "0.1.4", - "rlp": "2.2.6" - } - }, - "@ganache/utils": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ganache/utils/-/utils-0.1.4.tgz", - "integrity": "sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w==", - "dev": true, - "peer": true, - "requires": { - "@trufflesuite/bigint-buffer": "1.1.9", - "emittery": "0.10.0", - "keccak": "3.0.1", - "seedrandom": "3.0.5" - } - }, - "@graphprotocol/graph-cli": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.46.1.tgz", - "integrity": "sha512-594BiH2m9gThP1xdvxguVzvVlOb1KzJyVdh2F4dV78NPfMRFY2fe1nakmadKcewc72VVLXNgfdBu/J4IPfo0eg==", - "requires": { - "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", - "@oclif/core": "2.8.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.4", - "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", - "graphql": "15.5.0", - "immutable": "4.2.1", - "ipfs-http-client": "55.0.0", - "jayson": "4.0.0", - "js-yaml": "3.14.1", - "prettier": "1.19.1", - "request": "2.88.2", - "semver": "7.3.8", - "sync-request": "6.1.0", - "tmp-promise": "3.0.3", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.10.2" - }, - "dependencies": { - "assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "requires": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - } - }, - "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==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "9.3.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.4.tgz", - "integrity": "sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==", - "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - } - }, - "long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - }, - "minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - } - } - }, - "@graphprotocol/graph-ts": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.28.1.tgz", - "integrity": "sha512-1wMLQ0cu84/6Ml3zcz9ya1zFzrDAzCj0dIGZ7Rz9upnRSXg5jjqU4DefO/OYrl2K2/OPso9hSAr6I4aue2pL1Q==", - "requires": { - "assemblyscript": "0.19.10" - } - }, - "@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "dev": true, - "requires": {} - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@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==", - "requires": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" - } - }, - "@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==", - "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - }, - "@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==", - "requires": { - "multiformats": "^9.5.4" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "requires": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "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==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "@morgan-stanley/ts-mocking-bird": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz", - "integrity": "sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==", - "dev": true, - "requires": { - "lodash": "^4.17.16", - "uuid": "^7.0.3" - }, - "dependencies": { - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true - } - } - }, - "@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==" - }, - "@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" - }, - "@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==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@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==" - }, - "@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==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nohns/algebra.js": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@nohns/algebra.js/-/algebra.js-0.2.9.tgz", - "integrity": "sha512-L9+AXigZJHrRgggYTPXZE6p6nnUoQHvnOJwKcrEBZlv3UV3PShnJFV9zyWPkJnuaYdHuZROjY36MTSDzyVm8hw==", - "dev": true - }, - "@nomicfoundation/ethereumjs-block": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz", - "integrity": "sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==", - "requires": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-tx": "4.1.2", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-blockchain": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz", - "integrity": "sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==", - "requires": { - "@nomicfoundation/ethereumjs-block": "4.2.2", - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-ethash": "2.0.5", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "abstract-level": "^1.0.3", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "level": "^8.0.0", - "lru-cache": "^5.1.1", - "memory-level": "^1.0.0" - } - }, - "@nomicfoundation/ethereumjs-common": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz", - "integrity": "sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==", - "requires": { - "@nomicfoundation/ethereumjs-util": "8.0.6", - "crc-32": "^1.2.0" - } - }, - "@nomicfoundation/ethereumjs-ethash": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz", - "integrity": "sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==", - "requires": { - "@nomicfoundation/ethereumjs-block": "4.2.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "abstract-level": "^1.0.3", - "bigint-crypto-utils": "^3.0.23", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-evm": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz", - "integrity": "sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==", - "requires": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "@types/async-eventemitter": "^0.2.1", - "async-eventemitter": "^0.2.4", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "mcl-wasm": "^0.7.1", - "rustbn.js": "~0.2.0" - } - }, - "@nomicfoundation/ethereumjs-rlp": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz", - "integrity": "sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==" - }, - "@nomicfoundation/ethereumjs-statemanager": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz", - "integrity": "sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==", - "requires": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "functional-red-black-tree": "^1.0.1" - } - }, - "@nomicfoundation/ethereumjs-trie": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz", - "integrity": "sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==", - "requires": { - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "ethereum-cryptography": "0.1.3", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "@nomicfoundation/ethereumjs-tx": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz", - "integrity": "sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==", - "requires": { - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-util": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz", - "integrity": "sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==", - "requires": { - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-vm": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz", - "integrity": "sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==", - "requires": { - "@nomicfoundation/ethereumjs-block": "4.2.2", - "@nomicfoundation/ethereumjs-blockchain": "6.2.2", - "@nomicfoundation/ethereumjs-common": "3.1.2", - "@nomicfoundation/ethereumjs-evm": "1.3.2", - "@nomicfoundation/ethereumjs-rlp": "4.0.3", - "@nomicfoundation/ethereumjs-statemanager": "1.0.5", - "@nomicfoundation/ethereumjs-trie": "5.0.5", - "@nomicfoundation/ethereumjs-tx": "4.1.2", - "@nomicfoundation/ethereumjs-util": "8.0.6", - "@types/async-eventemitter": "^0.2.1", - "async-eventemitter": "^0.2.4", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "rustbn.js": "~0.2.0" - } - }, - "@nomicfoundation/hardhat-foundry": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-foundry/-/hardhat-foundry-1.0.0.tgz", - "integrity": "sha512-/2cmtIZPnsQj/SRIu9idbBan5j19RD35MECAGmZCcuXX4AO6Wn0nOnpUwpcvGomKW403h4+rXh8AHMWC4Vvw0Q==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@nomicfoundation/solidity-analyzer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", - "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", - "requires": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" - } - }, - "@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", - "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", - "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-freebsd-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", - "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", - "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", - "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", - "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", - "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", - "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", - "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", - "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", - "optional": true - }, - "@nomiclabs/hardhat-ethers": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.2.tgz", - "integrity": "sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==", - "dev": true, - "requires": {} - }, - "@nomiclabs/hardhat-waffle": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.5.tgz", - "integrity": "sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==", - "dev": true, - "requires": {} - }, - "@oclif/core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz", - "integrity": "sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg==", - "requires": { - "@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" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "requires": { - "escape-string-regexp": "4.0.0" - } - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } + "node": ">=0.10.0" } }, - "@openzeppelin/contracts": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.2.tgz", - "integrity": "sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==" - }, - "@openzeppelin/contracts-upgradeable": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.2.tgz", - "integrity": "sha512-zIggnBwemUmmt9IS73qxi+tumALxCY4QEs3zLCII78k0Gfse2hAOdAkuAeLUzvWUpneMUfFE5sGHzEUSTvn4Ag==" + "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==", + "dependencies": { + "get-iterator": "^1.0.2" + } }, - "@openzeppelin/contracts-v0.7": { - "version": "npm:@openzeppelin/contracts@3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" + "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" + } }, - "@peculiar/asn1-schema": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", - "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", - "requires": { - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.2", - "tslib": "^2.4.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==", "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } + "safe-buffer": "~5.1.0" } }, - "@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==", - "requires": { - "tslib": "^2.0.0" - }, + "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==", "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "@peculiar/webcrypto": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", - "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", - "requires": { - "@peculiar/asn1-schema": "^2.3.6", - "@peculiar/json-schema": "^1.1.12", - "pvtsutils": "^1.3.2", - "tslib": "^2.5.0", - "webcrypto-core": "^1.7.7" - }, + "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==", "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "@prb/math": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@prb/math/-/math-3.3.1.tgz", - "integrity": "sha512-k1nnpZwCvvztainqJfvkYpBQuZ3pHKnS6vovUAp+i1hSzlcSWluM+nRxxZbb6wsXqyCJAxrw8Vd7bAG/VeMIUA==" - }, - "@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==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "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==", + "engines": { + "node": ">=6" } }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + "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==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + "node_modules/supports-hyperlinks/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + "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==", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } }, - "@rainprotocol/assemblyscript-cbor": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", - "integrity": "sha512-RNQfi/BH3fTJCGjU3b2AGHOduziPr+9QTRXz7kt0QBcX2LxYCByXm+d2Hc87Ozh2XKjccemy3iSLHe7TEkq/EA==" + "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==", + "dependencies": { + "get-port": "^3.1.0" + } }, - "@rainprotocol/meta": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rainprotocol/meta/-/meta-1.1.0.tgz", - "integrity": "sha512-cMOPThYdSoRkWCR9xM7Vnge6tFv7zdP20sK8EuU2MG3mdxBRE64bO4NRRJoqAXOtFN5xY3SzaSCRCWhFBdXvJg==", - "dev": true, - "requires": { - "ajv": "^8.12.0", - "buffer": "^6.0.3", - "cbor-web": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", - "ethers": "^5.7.2", - "graphql": "^16.6.0", - "graphql-request": "^5.2.0", - "pako": "^2.1.0", - "prettier": "^2.8.7", - "string-math": "^1.2.2" - }, + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "graphql": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", - "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - } + "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" } }, - "@rainprotocol/rainlang": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@rainprotocol/rainlang/-/rainlang-2.3.0.tgz", - "integrity": "sha512-/3pZxl9TazkW5iG8xeFlCQBoKErM0P6vQtN+ke8S1/D2ZikvyKnrI3tL+sUWHOSl1IVMWtTbBAIGUUNEWg9Z9Q==", - "dev": true, - "requires": { - "@nohns/algebra.js": "^0.2.9", - "@rainprotocol/meta": "^1.1.0", - "ethers": "^5.7.2", - "string-math": "^1.2.2", - "vscode-languageserver-textdocument": "^1.0.8", - "vscode-languageserver-types": "^3.17.3" + "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==", + "dependencies": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" } }, - "@rescript/std": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", - "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, - "@resolver-engine/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", - "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "dev": true, - "peer": true, - "requires": { - "debug": "^3.1.0", - "is-url": "^1.2.4", - "request": "^2.85.0" - }, + "node_modules/tar-fs/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==", "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - } + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tar-fs/node_modules/pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "@resolver-engine/fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", - "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "dev": true, - "peer": true, - "requires": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0" - }, + "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==", "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - } + "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" } }, - "@resolver-engine/imports": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", - "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "dev": true, - "peer": true, - "requires": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0", - "path-browserify": "^1.0.0", - "url": "^0.11.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - } + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" } }, - "@resolver-engine/imports-fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", - "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "dev": true, - "peer": true, - "requires": { - "@resolver-engine/fs": "^0.3.3", - "@resolver-engine/imports": "^0.3.3", - "debug": "^3.1.0" - }, + "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==", "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - } + "@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" } }, - "@scure/base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", - "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" + "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==" }, - "@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "requires": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" - } + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "requires": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" + "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==", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" } }, - "@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" } }, - "@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dependencies": { + "tmp": "^0.2.0" } }, - "@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } + "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==" }, - "@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "requires": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - } - }, - "@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" - }, - "@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "@trufflesuite/bigint-buffer": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz", - "integrity": "sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "4.3.0" + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } }, - "@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "@typechain/ethers-v5": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.0.tgz", - "integrity": "sha512-ikaq0N/w9fABM+G01OFmU3U3dNnyRwEahkdvi9mqy1a3XwKiPZaF/lu54OcNaEWnpvEYyhhS0N7buCtLQqC92w==", - "dev": true, - "peer": true, - "requires": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "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 + } } }, - "@typechain/hardhat": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.5.tgz", - "integrity": "sha512-lg7LW4qDZpxFMknp3Xool61Fg6Lays8F8TXdFGBG+MxyYcYU5795P1U2XdStuzGq9S2Dzdgh+1jGww9wvZ6r4Q==", - "dev": true, - "requires": { - "fs-extra": "^9.1.0" - } + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "@types/abstract-leveldown": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.1.tgz", - "integrity": "sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==", - "dev": true, - "peer": true + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } }, - "@types/async-eventemitter": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", - "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, - "@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "requires": { - "@types/node": "*" + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", - "dev": true + "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==" }, - "@types/cli-progress": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.3.tgz", - "integrity": "sha512-/+C9xAdVtc+g5yHHkGBThgAA8rYpi5B+2ve3wLtybYj0JHEBs57ivR4x/zGfSsplRnV+psE91Nfin1soNKqz5Q==", - "requires": { - "@types/node": "*" + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "@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==", - "requires": { - "@types/node": "*" + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dependencies": { + "multiformats": "^9.4.2" } }, - "@types/connect": { - "version": "3.4.36", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", - "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", - "requires": { - "@types/node": "*" + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" } }, - "@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==", - "requires": { - "@types/node": "*" + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" } }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "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==" }, - "@types/level-errors": { + "node_modules/utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", - "dev": true, - "peer": true + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, - "@types/levelup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "dev": true, - "peer": true, - "requires": { - "@types/abstract-leveldown": "*", - "@types/level-errors": "*", - "@types/node": "*" + "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==" + }, + "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==", + "bin": { + "uuid": "dist/bin/uuid" } }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + "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==" + }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, - "@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "*" + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" } }, - "@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", - "dev": true + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } }, - "@types/node": { - "version": "18.15.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz", - "integrity": "sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==" + "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==", + "dependencies": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.7.0" + }, + "engines": { + "node": ">=8.0.0" + } }, - "@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "*", - "form-data": "^3.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==", + "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" } }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "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==" }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" + "node_modules/webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" } }, - "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true + "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==" }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "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==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true + "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==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "@types/string-math": { + "node_modules/wordwrap": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/string-math/-/string-math-1.0.0.tgz", - "integrity": "sha512-E3f76+cpdbIiOoi5uuxtXSSKGNZl4XFnJRBrpUUhqwZezFxInTxLpUTTgGbSnAJNb+3RY8vGhu8i2vLC78C+pg==", - "dev": true - }, - "@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "requires": { - "@types/node": "*" - } + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, - "@typescript-eslint/eslint-plugin": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz", - "integrity": "sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/type-utils": "5.57.0", - "@typescript-eslint/utils": "5.57.0", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "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==", + "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" } }, - "@typescript-eslint/parser": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", - "integrity": "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", - "debug": "^4.3.4" - } + "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==" }, - "@typescript-eslint/scope-manager": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", - "integrity": "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0" + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "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 + } } }, - "@typescript-eslint/type-utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz", - "integrity": "sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.57.0", - "@typescript-eslint/utils": "5.57.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" } }, - "@typescript-eslint/types": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", - "integrity": "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==", - "dev": true + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "@typescript-eslint/typescript-estree": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz", - "integrity": "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" } }, - "@typescript-eslint/utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", - "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", - "integrity": "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.57.0", - "eslint-visitor-keys": "^3.3.0" + "node_modules/yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "@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==" - }, - "@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==", - "requires": { - "@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/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" } - }, - "@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==", + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@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" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } } } }, - "0xsequence": { - "version": "0.39.6", - "resolved": "https://registry.npmjs.org/0xsequence/-/0xsequence-0.39.6.tgz", - "integrity": "sha512-1o1LEA+VOib244cVh3p/n6Ma0lZtvaJJrJSxpxW/acnlBA//sJJJnRBNXRoukePgTBqMBVu+abb+4v7xJ4vN0Q==", - "requires": { - "@0xsequence/abi": "^0.39.6", - "@0xsequence/api": "^0.39.6", - "@0xsequence/auth": "^0.39.6", - "@0xsequence/config": "^0.39.6", - "@0xsequence/guard": "^0.39.6", - "@0xsequence/indexer": "^0.39.6", - "@0xsequence/metadata": "^0.39.6", - "@0xsequence/multicall": "^0.39.6", - "@0xsequence/network": "^0.39.6", - "@0xsequence/provider": "^0.39.6", - "@0xsequence/relayer": "^0.39.6", - "@0xsequence/transactions": "^0.39.6", - "@0xsequence/utils": "^0.39.6", - "@0xsequence/wallet": "^0.39.6", - "ethers": "^5.5.2" - } - }, - "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==", - "requires": { - "event-target-shim": "^5.0.0" - } + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, - "abstract-level": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", - "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", - "requires": { - "buffer": "^6.0.3", - "catering": "^2.1.0", - "is-buffer": "^2.0.5", - "level-supports": "^4.0.0", - "level-transcoder": "^1.0.1", - "module-error": "^1.0.1", - "queue-microtask": "^1.2.3" - } - }, - "abstract-leveldown": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "dev": true, - "peer": true, + "@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "peer": true, + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "color-name": "1.1.3" } }, - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "xtend": "^4.0.2" + "has-flag": "^3.0.0" } } } }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + "@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==", + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + "@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==", + "requires": { + "@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" + } }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "@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==", "requires": { - "debug": "4" + "@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" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "@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==", "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@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" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@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" } }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "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==", + "@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==", "requires": { - "type-fest": "^0.21.3" + "@ethersproject/bytes": "^5.7.0" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@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==", "requires": { - "color-convert": "^2.0.1" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" } }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" - }, - "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==", + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "requires": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.3" + "@ethersproject/logger": "^5.7.0" } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@ethersproject/bignumber": "^5.7.0" } }, - "apisauce": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", - "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "requires": { - "axios": "^0.21.2", - "ramda": "^0.25.0" + "@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" } }, - "apollo-fetch": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/apollo-fetch/-/apollo-fetch-0.7.0.tgz", - "integrity": "sha512-0oHsDW3Zxx+Of1wuqcOXruNj4Kv55WN69tkIjwkCQDEIrgCpgA2scjChFsgflSVMy/1mkTKCY1Mc0TYJhNRzmw==", - "dev": true, + "@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==", "requires": { - "cross-fetch": "^1.0.0" - }, - "dependencies": { - "cross-fetch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-1.1.1.tgz", - "integrity": "sha512-+VJE04+UfxxmBfcnmAu/lKor53RUCx/1ilOti4p+JgrnLQ4AZZIRoe2OEd76VaHyWQmQxqKnV+TaqjHC4r0HWw==", - "dev": true, - "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - } + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" } }, - "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==" - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { - "sprintf-js": "~1.0.2" + "@ethersproject/logger": "^5.7.0" } }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "@ethersproject/logger": "^5.7.0" } }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "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==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, + "@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==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@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" } }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@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" + } }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { - "safer-buffer": "~2.1.0" + "@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" } }, - "asn1js": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", - "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", + "@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==", "requires": { - "pvtsutils": "^1.3.2", - "pvutils": "^1.1.3", - "tslib": "^2.4.0" + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" }, "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } } } }, - "assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "@graphprotocol/graph-cli": { + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.46.1.tgz", + "integrity": "sha512-594BiH2m9gThP1xdvxguVzvVlOb1KzJyVdh2F4dV78NPfMRFY2fe1nakmadKcewc72VVLXNgfdBu/J4IPfo0eg==", "requires": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.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.4", + "gluegun": "git+https://github.com/edgeandnode/gluegun.git#v4.3.1-pin-colors-dep", + "graphql": "15.5.0", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", + "prettier": "1.19.1", + "request": "2.88.2", + "semver": "7.3.8", + "sync-request": "6.1.0", + "tmp-promise": "3.0.3", + "web3-eth-abi": "1.7.0", + "which": "2.0.2", + "yaml": "1.10.2" } }, - "assert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", - "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", - "dev": true, + "@graphprotocol/graph-ts": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.28.1.tgz", + "integrity": "sha512-1wMLQ0cu84/6Ml3zcz9ya1zFzrDAzCj0dIGZ7Rz9upnRSXg5jjqU4DefO/OYrl2K2/OPso9hSAr6I4aue2pL1Q==", "requires": { - "es6-object-assign": "^1.1.0", - "is-nan": "^1.2.1", - "object-is": "^1.0.1", - "util": "^0.12.0" + "assemblyscript": "0.19.10" + }, + "dependencies": { + "assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "requires": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + } + }, + "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==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "@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==", "requires": { - "lodash": "^4.17.14" + "cborg": "^1.6.0", + "multiformats": "^9.5.4" } }, - "async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "@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==", "requires": { - "async": "^2.4.0" + "cborg": "^1.5.4", + "multiformats": "^9.5.4" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "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==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "@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==", "requires": { - "follow-redirects": "^1.14.0" + "multiformats": "^9.5.4" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bigint-crypto-utils": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", - "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "@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==", "requires": { - "bigint-mod-arith": "^3.1.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "bigint-mod-arith": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", - "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==" - }, - "bignumber.js": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", - "dev": true, - "peer": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "@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==" }, - "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==", + "@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==", "requires": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "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==" - }, - "bip39": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", - "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", - "dev": true, - "peer": true, + "@oclif/core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz", + "integrity": "sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg==", "requires": { - "@types/node": "11.11.6", - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1" + "@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" }, "dependencies": { - "@types/node": { - "version": "11.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", - "dev": true, - "peer": true + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } } } }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "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==", - "requires": { - "browser-readablestream-to-it": "^1.0.3" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true, - "peer": true - }, - "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==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "@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==", "requires": { - "fill-range": "^7.0.1" + "tslib": "^2.0.0" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browser-level": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", - "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", "requires": { - "abstract-level": "^1.0.2", - "catering": "^2.1.1", - "module-error": "^1.0.2", - "run-parallel-limit": "^1.1.0" + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" } }, - "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==" + "@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==" }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "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" - }, - "dependencies": { - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - } - } + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" }, - "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==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" }, - "buffer-alloc-unsafe": { + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, - "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==" + "@rainprotocol/assemblyscript-cbor": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@rainprotocol/assemblyscript-cbor/-/assemblyscript-cbor-0.0.6.tgz", + "integrity": "sha512-RNQfi/BH3fTJCGjU3b2AGHOduziPr+9QTRXz7kt0QBcX2LxYCByXm+d2Hc87Ozh2XKjccemy3iSLHe7TEkq/EA==" }, - "buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "^5.1.1" - } + "@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==" }, - "bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, - "bufio": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", - "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==" + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "peer": true, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@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==" + }, + "@types/bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-dkpZu0szUtn9UXTmw+e0AJFd4D2XAxDnsCLdc05SfqpqzPEBft8eQr8uaFitfo/dUUOZERaLec2hHMG87A4Dxg==", "requires": { - "semver": "^7.0.0" + "@types/node": "*" } }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "@types/cli-progress": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.3.tgz", + "integrity": "sha512-/+C9xAdVtc+g5yHHkGBThgAA8rYpi5B+2ve3wLtybYj0JHEBs57ivR4x/zGfSsplRnV+psE91Nfin1soNKqz5Q==", "requires": { - "streamsearch": "^1.1.0" + "@types/node": "*" } }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "@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==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@types/node": "*" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" + "@types/node": "*" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "catering": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", - "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" - }, - "cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "dev": true, + "@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==", "requires": { - "nofilter": "^3.1.0" + "@types/node": "*" } }, - "cbor-web": { - "version": "https://gitpkg.now.sh/hildjj/node-cbor/packages/cbor-web?e593ce09b34cc1420f402b27ab0dd38a1306cecd", - "integrity": "sha512-ph4ncYfGr8tLISa3rVl6QvFT1Nv/ogEWL7PZTIfTlqXcpxweQRzjnKuBSggBeWK01IXDv+9BHw/wTeVPpp3T6A==", - "dev": true - }, - "cborg": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", - "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, - "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "@types/node": { + "version": "20.8.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", + "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "undici-types": "~5.25.1" } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" + "@types/node": "*" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" }, - "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==", + "@types/secp256k1": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-oN0PFsYxDZnX/qSJ5S5OwaEDTYfekhvaM5vqui2bu1AA39pKofmgL104Q29KiOXizXS2yLjSzc5YdTyMKdcy4A==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@types/node": "*" } }, - "classic-level": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", - "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", + "@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", "requires": { - "abstract-level": "^1.0.2", - "catering": "^2.1.0", - "module-error": "^1.0.1", - "napi-macros": "~2.0.0", - "node-gyp-build": "^4.3.0" + "@types/node": "*" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "@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==" }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "@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==", "requires": { - "restore-cursor": "^3.1.0" + "@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" } }, - "cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "@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==", "requires": { - "string-width": "^4.2.3" - }, - "dependencies": { - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } + "@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" } }, - "cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "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==", "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "event-target-shim": "^5.0.0" } }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true, - "peer": true + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" }, - "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==", + "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==", "requires": { - "color-name": "~1.1.4" + "type-fest": "^0.21.3" } }, - "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==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "delayed-stream": "~1.0.0" + "color-convert": "^2.0.1" } }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, + "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==", "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" } }, - "command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "apisauce": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-1.1.5.tgz", + "integrity": "sha512-gKC8qb/bDJsPsnEXLZnXJ7gVx7dh87CEVNeIwv1dvaffnXoh5GHwac5pWR1P2broLiVj/fqFMQvLDDt/RhjiqA==", + "requires": { + "axios": "^0.21.2", + "ramda": "^0.25.0" + } + }, + "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==" + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" } }, - "commander": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", - "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==" + "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==" }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" } }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + "assemblyscript": { + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", + "requires": { + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" + } }, - "core-js-pure": { - "version": "3.29.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.29.1.tgz", - "integrity": "sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg==", - "dev": true, - "peer": true + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, - "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==" + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "follow-redirects": "^1.14.0" } }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "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==", + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "safe-buffer": "^5.0.1" } }, - "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==", + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "requires": { - "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" + "tweetnacl": "^0.14.3" } }, - "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==" + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "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==", "requires": { - "node-fetch": "2.6.7" - }, - "dependencies": { - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - } + "axios": "^0.21.1", + "rimraf": "^3.0.2", + "tar": "^6.1.0" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "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==" + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "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==", "requires": { - "assert-plus": "^1.0.0" + "browser-readablestream-to-it": "^1.0.3" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "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==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { - "ms": "2.1.2" + "balanced-match": "^1.0.0" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "type-detect": "^4.0.0" + "fill-range": "^7.0.1" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "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==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "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": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "requires": { + "base-x": "^3.0.2" + } }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "requires": { - "clone": "^1.0.2" + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "dev": true, - "peer": true, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, - "peer": true, - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, - "requires": { - "xtend": "^4.0.2" - } - } + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "define-properties": { + "buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" + "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==" }, - "delayed-stream": { + "buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "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==" }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { - "path-type": "^4.0.0" + "streamsearch": "^1.1.0" } }, - "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==", - "requires": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" - } + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, - "docker-compose": { - "version": "0.23.19", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", - "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", "requires": { - "yaml": "^1.10.2" + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" } }, - "docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "requires": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "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==" - }, - "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==", + "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==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "has-flag": "^4.0.0" } - }, - "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==" } } }, - "dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "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==", "requires": { - "esutils": "^2.0.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "escape-string-regexp": "4.0.0" } }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "electron-fetch": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", - "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "requires": { - "encoding": "^0.1.13" + "restore-cursor": "^3.1.0" } }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", "requires": { - "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" - }, - "dependencies": { - "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==" - } + "string-width": "^4.2.3" } }, - "email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" - }, - "emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", - "dev": true, - "peer": true - }, - "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==" + "cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==" }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "requires": { - "iconv-lite": "^0.6.2" + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "dependencies": { - "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==", + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "ansi-regex": "^3.0.0" } } } }, - "encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "dev": true, - "peer": true, - "requires": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" - } + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" }, - "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==", + "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==", "requires": { - "once": "^1.4.0" + "color-name": "~1.1.4" } }, - "enquirer": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", - "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", + "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==" + }, + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { - "ansi-colors": "^3.2.1" + "delayed-stream": "~1.0.0" } }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + "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==" }, - "err-code": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "peer": true, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "prr": "~1.0.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "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==", - "requires": { - "is-arrayish": "^0.2.1" - } + "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==" }, - "es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, + "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==", "requires": { - "has": "^1.0.3" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, + "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==", "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "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" } }, - "es6-object-assign": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", - "dev": true + "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==" }, - "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==" + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "requires": { - "es6-promise": "^4.0.3" + "assert-plus": "^1.0.0" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } }, - "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==" + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, - "eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", - "dev": true, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.37.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } + "clone": "^1.0.2" } }, - "eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "requires": {} - }, - "eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", - "dev": true, - "requires": {} + "delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" } }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, + "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==", "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" } }, - "eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "peer": true, + "docker-compose": { + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true - } + "yaml": "^1.10.2" } }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dev": true, + "docker-modem": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", + "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "debug": "^3.2.6", + "JSONStream": "1.3.2", + "readable-stream": "~1.0.26-4", + "split-ca": "^1.0.0" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "requires": { "ms": "^2.1.1" } }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } + "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==" }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, + "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==", "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "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==" } } }, - "eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "peer": true, + "dockerode": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", + "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", "requires": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, - "dependencies": { - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "peer": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } + "concat-stream": "~1.6.2", + "docker-modem": "^1.0.8", + "tar-fs": "~1.16.3" } }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "dependencies": { - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "requires": { - "prettier-linter-helpers": "^1.0.0" + "jake": "^10.8.5" } }, - "eslint-plugin-promise": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, + "electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "encoding": "^0.1.13" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "peer": true, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "eslint-visitor-keys": "^2.0.0" + "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" }, "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "peer": true + "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==" } } }, - "eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", - "dev": true + "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==" }, - "espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", - "dev": true, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "iconv-lite": "^0.6.2" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, + "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==", "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "once": "^1.4.0" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "enquirer": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.4.tgz", + "integrity": "sha512-pkYrrDZumL2VS6VBGDhqbajCM2xpkUNLuKfGPjfKaSIBKYopQbqEFyrOkRMIb2HDR/rO1kGhEt/5twBwtzKBXw==", "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } + "ansi-colors": "^3.2.1" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "dev": true, - "peer": true, + "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==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true, - "peer": true - } + "es6-promise": "^4.0.3" } }, + "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==" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, "ethereum-bloom-filters": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", @@ -19025,84 +7047,31 @@ } }, "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==", - "requires": { - "@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" - } - }, - "ethereum-waffle": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz", - "integrity": "sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==", - "dev": true, - "peer": true, - "requires": { - "@ethereum-waffle/chai": "4.0.10", - "@ethereum-waffle/compiler": "4.0.3", - "@ethereum-waffle/mock-contract": "4.0.4", - "@ethereum-waffle/provider": "4.0.5", - "solc": "0.8.15", - "typechain": "^8.0.0" - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "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==" - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@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": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", - "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", "requires": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -19111,80 +7080,6 @@ "rlp": "^2.2.4" } }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "etherscan-api": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/etherscan-api/-/etherscan-api-10.3.0.tgz", - "integrity": "sha512-XH+E7J2c6Wq750stvFuIIMdiLv5v65nTRftQojXuQXNfEsQaZOOgeY11WHdrGh6yh90ekDJQldgf033tIS1rCw==", - "requires": { - "axios": "1.2.2", - "gh-pages": "4.0.0", - "querystring": "0.2.1" - }, - "dependencies": { - "axios": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", - "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" - } - } - }, "ethjs-unit": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", @@ -19201,25 +7096,11 @@ } } }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, "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==" }, - "eventemitter2": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", - "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" - }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", @@ -19251,12 +7132,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extract-files": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", - "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", - "dev": true - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -19277,21 +7152,15 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, "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==" }, "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -19305,12 +7174,6 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, "fast-querystring": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", @@ -19325,13 +7188,6 @@ "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", "requires": { "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - } } }, "fastq": { @@ -19342,23 +7198,6 @@ "reusify": "^1.0.4" } }, - "fetch-ponyfill": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", - "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", - "requires": { - "node-fetch": "~2.6.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, "filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -19367,14 +7206,6 @@ "minimatch": "^5.0.1" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -19385,47 +7216,6 @@ } } }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" - }, - "filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - } - }, - "filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg==", - "requires": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" - }, - "dependencies": { - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==" - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", - "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - } - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -19434,67 +7224,10 @@ "to-regex-range": "^5.0.1" } }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" }, "forever-agent": { "version": "0.6.1", @@ -19502,21 +7235,15 @@ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" }, "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, - "fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" - }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -19542,6 +7269,36 @@ "rimraf": "^2.6.3" }, "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -19559,474 +7316,27 @@ "requires": { "minipass": "^3.0.0" }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "ganache": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.4.3.tgz", - "integrity": "sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA==", - "dev": true, - "peer": true, - "requires": { - "@trufflesuite/bigint-buffer": "1.1.10", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "5.1.1", - "@types/seedrandom": "3.0.1", - "bufferutil": "4.0.5", - "emittery": "0.10.0", - "keccak": "3.0.2", - "leveldown": "6.1.0", - "secp256k1": "4.0.3", - "utf-8-validate": "5.0.7" - }, - "dependencies": { - "@trufflesuite/bigint-buffer": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz", - "integrity": "sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "node-gyp-build": "4.4.0" - }, - "dependencies": { - "node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "bundled": true, - "dev": true, - "peer": true - } - } - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "@types/node": "*" - } - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "bundled": true, - "dev": true, - "peer": true - }, - "@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==", - "bundled": true, - "dev": true, - "peer": true - }, - "@types/seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw==", - "bundled": true, - "dev": true, - "peer": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "bundled": true, - "dev": true, - "peer": true - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "bundled": true, - "dev": true, - "peer": true - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "bufferutil": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", - "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "catering": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.0.tgz", - "integrity": "sha512-M5imwzQn6y+ODBfgi+cfgZv2hIUI6oYU/0f35Mdb1ujGeqeoI5tOnl9Q13DTH7LW+7er+NYq8stNOKZD/Z3U/A==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "queue-tick": "^1.0.0" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "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" - }, - "dependencies": { - "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==", - "bundled": true, - "dev": true, - "peer": true - } - } - }, - "emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", - "bundled": true, - "dev": true, - "peer": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "bundled": true, - "dev": true, - "peer": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "bundled": true, - "dev": true, - "peer": true - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "bundled": true, - "dev": true, - "peer": true - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "leveldown": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz", - "integrity": "sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "abstract-leveldown": "^7.2.0", - "napi-macros": "~2.0.0", - "node-gyp-build": "^4.3.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "buffer": "^6.0.3", - "catering": "^2.0.0", - "is-buffer": "^2.0.5", - "level-concat-iterator": "^3.0.0", - "level-supports": "^2.0.1", - "queue-microtask": "^1.2.3" - } - }, - "level-concat-iterator": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz", - "integrity": "sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "catering": "^2.1.0" - } - }, - "level-supports": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz", - "integrity": "sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==", - "bundled": true, - "dev": true, - "peer": true - } - } - }, - "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==", - "bundled": true, - "dev": true, - "peer": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "bundled": true, - "dev": true, - "peer": true - }, - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", - "bundled": true, - "dev": true, - "peer": true - }, - "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==", - "bundled": true, - "dev": true, - "peer": true - }, - "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "bundled": true, - "dev": true, - "peer": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "bundled": true, - "dev": true, - "peer": true - }, - "queue-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz", - "integrity": "sha512-ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==", - "bundled": true, - "dev": true, - "peer": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "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==", - "bundled": true, - "dev": true, - "peer": true - }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "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==", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "utf-8-validate": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", - "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", - "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "requires": { - "node-gyp-build": "^4.3.0" + "yallist": "^4.0.0" } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "bundled": true, - "dev": true, - "peer": true } } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true }, "get-iterator": { "version": "1.0.2", @@ -20051,16 +7361,6 @@ "pump": "^3.0.0" } }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -20069,81 +7369,15 @@ "assert-plus": "^1.0.0" } }, - "gh-pages": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", - "integrity": "sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ==", - "requires": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "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==" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.4.tgz", + "integrity": "sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==", "requires": { "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" } }, "glob-parent": { @@ -20154,32 +7388,6 @@ "is-glob": "^4.0.1" } }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - }, - "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -20202,392 +7410,76 @@ "cli-table3": "~0.5.0", "colors": "1.3.3", "cosmiconfig": "6.0.0", - "cross-spawn": "^7.0.0", - "ejs": "^2.6.1", - "enquirer": "2.3.4", - "execa": "^3.0.0", - "fs-jetpack": "^2.2.2", - "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.0", - "pluralize": "^8.0.0", - "ramdasauce": "^2.1.0", - "semver": "^7.0.0", - "which": "^2.0.0", - "yargs-parser": "^16.1.0" - }, - "dependencies": { - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" - } - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "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==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "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==", - "requires": {} - }, - "graphql-request": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz", - "integrity": "sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ==", - "dev": true, - "requires": { - "@graphql-typed-document-node/core": "^3.1.1", - "cross-fetch": "^3.1.5", - "extract-files": "^9.0.0", - "form-data": "^3.0.0" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.13.0.tgz", - "integrity": "sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ==", - "requires": { - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/ethereumjs-block": "^4.0.0", - "@nomicfoundation/ethereumjs-blockchain": "^6.0.0", - "@nomicfoundation/ethereumjs-common": "^3.0.0", - "@nomicfoundation/ethereumjs-evm": "^1.0.0", - "@nomicfoundation/ethereumjs-rlp": "^4.0.0", - "@nomicfoundation/ethereumjs-statemanager": "^1.0.0", - "@nomicfoundation/ethereumjs-trie": "^5.0.0", - "@nomicfoundation/ethereumjs-tx": "^4.0.0", - "@nomicfoundation/ethereumjs-util": "^8.0.0", - "@nomicfoundation/ethereumjs-vm": "^6.0.0", - "@nomicfoundation/solidity-analyzer": "^0.1.0", - "@sentry/node": "^5.18.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^1.0.3", - "ethereumjs-abi": "^0.6.8", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "7.2.0", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "keccak": "^3.0.2", - "lodash": "^4.17.11", - "mnemonist": "^0.38.0", - "mocha": "^10.0.0", - "p-map": "^4.0.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "tsort": "0.0.1", - "undici": "^5.14.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "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==" - }, - "ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "requires": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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==" - }, - "immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "keccak": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", - "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "cross-spawn": "^7.0.0", + "ejs": "^2.6.1", + "enquirer": "2.3.4", + "execa": "^3.0.0", + "fs-jetpack": "^2.2.2", + "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.0", + "pluralize": "^8.0.0", + "ramdasauce": "^2.1.0", + "semver": "^7.0.0", + "which": "^2.0.0", + "yargs-parser": "^16.1.0" + }, + "dependencies": { + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" } } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "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==" + }, + "graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" + }, + "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==", + "requires": {} + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "requires": { - "function-bind": "^1.1.1" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -20607,6 +7499,11 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "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==" } } }, @@ -20619,11 +7516,6 @@ "minimalistic-assert": "^1.0.1" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -20634,13 +7526,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "peer": true - }, "http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", @@ -20652,18 +7537,6 @@ "parse-cache-control": "^1.0.1" } }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, "http-response-object": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", @@ -20689,50 +7562,22 @@ "sshpk": "^1.7.0" } }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" }, - "humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ==", - "requires": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" - } - }, "hyperlinker": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dev": true, - "peer": true, + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { - "punycode": "2.1.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "ieee754": { @@ -20745,13 +7590,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, - "immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", - "dev": true, - "peer": true - }, "immutable": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", @@ -20766,12 +7604,6 @@ "resolve-from": "^4.0.0" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -20806,32 +7638,6 @@ "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "dev": true, - "peer": true - }, - "io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "requires": { - "fp-ts": "^1.0.0" - } - }, "ip-regex": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", @@ -20939,41 +7745,11 @@ } } }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -20982,45 +7758,6 @@ "binary-extensions": "^2.0.0" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -21037,18 +7774,9 @@ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } + "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==" }, "is-glob": { "version": "4.0.3", @@ -21076,135 +7804,26 @@ "ip-regex": "^4.0.0" } }, - "is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, "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==" }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true, - "peer": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true, - "peer": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -21256,6 +7875,25 @@ "requires": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "it-last": { @@ -21309,10 +7947,14 @@ "minimatch": "^3.1.2" }, "dependencies": { - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, "chalk": { "version": "4.1.2", @@ -21322,6 +7964,22 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -21349,11 +8007,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" }, - "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==" - }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -21365,17 +8018,6 @@ } } }, - "js-base64": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz", - "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" - }, - "js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true - }, "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", @@ -21398,17 +8040,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "dev": true, - "peer": true, - "requires": { - "bignumber.js": "^9.0.0" - } + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -21425,26 +8057,11 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, "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==" }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -21480,161 +8097,19 @@ } }, "keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "requires": { "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dev": true, - "peer": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "level": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", - "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", - "requires": { - "browser-level": "^1.0.1", - "classic-level": "^1.2.0" - } - }, - "level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dev": true, - "peer": true, - "requires": { - "buffer": "^5.6.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", - "dev": true, - "peer": true - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dev": true, - "peer": true, - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "level-mem": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "dev": true, - "peer": true, - "requires": { - "level-packager": "^5.0.3", - "memdown": "^5.0.0" - } - }, - "level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "dev": true, - "peer": true, - "requires": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" - } - }, - "level-supports": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", - "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==" - }, - "level-transcoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", - "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", - "requires": { - "buffer": "^6.0.3", - "module-error": "^1.0.1" - } - }, - "level-ws": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.0", - "xtend": "^4.0.1" + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, "dependencies": { "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -21643,94 +8118,11 @@ } } }, - "levelup": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "dev": true, - "peer": true, - "requires": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "dependencies": { - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, - "requires": { - "xtend": "^4.0.2" - } - } - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, "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==" }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dev": true, - "peer": true, - "requires": { - "error-ex": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", - "dev": true, - "peer": true - }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -21751,12 +8143,6 @@ "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==" }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, "lodash.pad": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", @@ -21813,83 +8199,79 @@ "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" }, "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "chalk": "^2.4.2" }, "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" } } } }, "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "requires": { - "get-func-name": "^2.0.0" - } - }, - "lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", - "dev": true, - "peer": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" - }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -21900,80 +8282,6 @@ "safe-buffer": "^5.1.2" } }, - "memdown": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "dev": true, - "peer": true, - "requires": { - "abstract-leveldown": "~6.2.1", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, - "peer": true, - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", - "dev": true, - "peer": true - }, - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "peer": true, - "requires": { - "xtend": "^4.0.2" - } - } - } - }, - "memory-level": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", - "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", - "requires": { - "abstract-level": "^1.0.0", - "functional-red-black-tree": "^1.0.1", - "module-error": "^1.0.1" - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" - }, "merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", @@ -21990,50 +8298,7 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "merkle-patricia-tree": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "dev": true, - "peer": true, - "requires": { - "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "level-ws": "^2.0.0", - "readable-stream": "^3.6.0", - "semaphore-async-await": "^1.5.1" - }, - "dependencies": { - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dev": true, - "peer": true, - "requires": { - "@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" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { "version": "4.0.5", @@ -22044,26 +8309,6 @@ "picomatch": "^2.3.1" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "peer": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "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==", - "dev": true, - "peer": true - } - } - }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -22093,11 +8338,11 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minimist": { @@ -22106,9 +8351,9 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "minipass": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", - "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==" + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" }, "minizlib": { "version": "2.1.2", @@ -22126,179 +8371,13 @@ "requires": { "yallist": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "requires": { - "obliterator": "^2.0.0" - } - }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - } - } - }, - "module-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", - "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "ms": { "version": "2.1.2", @@ -22334,7 +8413,8 @@ "mustache": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", - "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==" + "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==", + "dev": true }, "mute-stream": { "version": "0.0.8", @@ -22342,14 +8422,9 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" - }, - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, "native-abort-controller": { "version": "1.0.4", @@ -22363,18 +8438,6 @@ "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", "requires": {} }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "natural-orderby": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", @@ -22386,62 +8449,23 @@ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "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==", "requires": { "whatwg-url": "^5.0.0" } }, "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "peer": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true - } - } + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -22450,13 +8474,6 @@ "path-key": "^3.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true, - "peer": true - }, "number-to-bn": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", @@ -22476,187 +8493,48 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "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==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "obliterator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", - "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "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==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "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==" - }, - "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==" - }, - "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==", - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "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==" + }, + "object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" }, - "os-locale": { + "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dev": true, - "peer": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { - "lcid": "^1.0.0" + "wrappy": "1" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "requires": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } }, "p-defer": { "version": "3.0.0", @@ -22677,41 +8555,6 @@ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -22750,18 +8593,6 @@ "cross-spawn": "^7.0.3" } }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "peer": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -22772,11 +8603,6 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, "path-scurry": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", @@ -22786,11 +8612,6 @@ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "dependencies": { - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" - }, "minipass": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", @@ -22803,11 +8624,6 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -22830,215 +8646,29 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } - } - }, "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" }, - "polygonscan-api": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/polygonscan-api/-/polygonscan-api-1.0.4.tgz", - "integrity": "sha512-lGBBLc8ymA2cwntwWl+UpNk8nIGO7bTlRcGQ9puXQTVbfTeqgQ+n/q5Ea1UR/v9gofn5kcmZvq1/abc6Rooyyg==", - "requires": { - "axios": "^0.19.0", - "gh-pages": "^2.1.1", - "querystring": "^0.2.0" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "requires": { - "follow-redirects": "1.5.10" - } - }, - "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==" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "gh-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", - "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", - "requires": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify-url": "^1.0.0", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" - }, "prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" }, "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==" }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, "protobufjs": { "version": "6.11.4", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", @@ -23057,20 +8687,15 @@ "@types/long": "^4.0.1", "@types/node": ">=13.7.0", "long": "^4.0.0" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } } }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "peer": true - }, "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -23086,9 +8711,9 @@ } }, "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, "pvtsutils": { "version": "1.3.5", @@ -23096,13 +8721,6 @@ "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", "requires": { "tslib": "^2.6.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } } }, "pvutils": { @@ -23111,26 +8729,9 @@ "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" }, "qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "queue-microtask": { "version": "1.2.3", @@ -23165,17 +8766,6 @@ "safe-buffer": "^5.1.0" } }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, "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", @@ -23184,66 +8774,6 @@ "p-defer": "^3.0.0" } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dev": true, - "peer": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, - "peer": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "peer": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "peer": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, "readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -23256,21 +8786,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -23297,29 +8812,6 @@ "esprima": "~4.0.0" } }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -23347,21 +8839,6 @@ "uuid": "^3.3.2" }, "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -23369,33 +8846,6 @@ } } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", - "dev": true, - "peer": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true, - "peer": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -23426,6 +8876,38 @@ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "ripemd160": { @@ -23438,18 +8920,11 @@ } }, "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { - "bn.js": "^4.11.1" - }, - "dependencies": { - "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==" - } + "bn.js": "^5.2.0" } }, "run-parallel": { @@ -23460,34 +8935,10 @@ "queue-microtask": "^1.2.2" } }, - "run-parallel-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", - "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, "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==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", @@ -23509,20 +8960,6 @@ "node-gyp-build": "^4.2.0" } }, - "seedrandom": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", - "dev": true, - "peer": true - }, - "semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", - "dev": true, - "peer": true - }, "semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -23538,39 +8975,14 @@ "requires": { "yallist": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "peer": true - }, "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==" }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -23593,16 +9005,6 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -23613,53 +9015,6 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, - "solc": { - "version": "0.8.15", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.15.tgz", - "integrity": "sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w==", - "dev": true, - "peer": true, - "requires": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "peer": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "requires": { - "is-plain-obj": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - } - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -23674,42 +9029,6 @@ "source-map": "^0.6.0" } }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "peer": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true, - "peer": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "peer": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", - "dev": true, - "peer": true - }, "split-ca": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", @@ -23734,35 +9053,8 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - } - } - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" - } } }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, "stream-to-it": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", @@ -23776,86 +9068,22 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" - }, "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==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, - "string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", - "dev": true - }, - "string-math": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string-math/-/string-math-1.2.2.tgz", - "integrity": "sha512-rfRZpMZbIy+0pepaW8iDCR+iW+GONxyi0jXfdyW4MgpFATH/Vlz+d3vt8UMu/a1RjA9xiejBDFayvTXzs/ROTw==", - "dev": true - }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { @@ -23866,16 +9094,6 @@ "ansi-regex": "^5.0.1" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "peer": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -23889,35 +9107,10 @@ "is-hex-prefixed": "1.0.0" } }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "requires": { - "escape-string-regexp": "^1.0.2" - }, - "dependencies": { - "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==" - } - } - }, - "strip-url-auth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha512-++41PnXftlL3pvI6lpvhSEO+89g1kIJC4MYB5E6yH+WHa5InIqz51yGd1YOGd7VNSNdoEOfzTMqbAM/2PbgaHQ==" - }, "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==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } @@ -23929,14 +9122,18 @@ "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" + }, + "dependencies": { + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, "sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", @@ -23955,54 +9152,23 @@ "get-port": "^3.1.0" } }, - "table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - } - } - }, "tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" } } }, @@ -24017,20 +9183,19 @@ "tar-stream": "^1.1.2" }, "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, "pump": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", @@ -24039,35 +9204,22 @@ "end-of-stream": "^1.1.0", "once": "^1.3.1" } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "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" - } } } }, - "testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "dev": true, - "peer": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "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" + } }, "then-request": { "version": "6.0.2", @@ -24091,24 +9243,6 @@ "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } } } }, @@ -24128,29 +9262,19 @@ } }, "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "requires": { - "os-tmpdir": "~1.0.2" + "rimraf": "^3.0.0" } }, "tmp-promise": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "requires": { - "tmp": "^0.2.0" - }, - "dependencies": { - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - } + "requires": { + "tmp": "^0.2.0" } }, "to-buffer": { @@ -24166,11 +9290,6 @@ "is-number": "^7.0.0" } }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -24192,53 +9311,6 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "requires": { - "escape-string-regexp": "^1.0.2" - }, - "dependencies": { - "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==" - } - } - }, - "ts-command-line-args": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.4.2.tgz", - "integrity": "sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ==", - "dev": true, - "requires": { - "@morgan-stanley/ts-mocking-bird": "^0.6.2", - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "dev": true, - "requires": {} - }, "ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -24257,53 +9329,12 @@ "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - } - } - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - } } }, "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "tunnel-agent": { "version": "0.6.0", @@ -24314,126 +9345,25 @@ } }, "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "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==" }, - "typechain": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", - "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", - "dev": true, - "requires": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==" - }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true }, "uint8arrays": { "version": "3.1.1", @@ -24443,61 +9373,28 @@ "multiformats": "^9.4.2" } }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "undici": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz", - "integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==", - "requires": { - "busboy": "^1.6.0" - } + "undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" - } - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "dev": true, - "peer": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" }, "dependencies": { "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true, - "peer": true + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" } } }, @@ -24506,34 +9403,11 @@ "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, "utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -24549,17 +9423,6 @@ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "peer": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", @@ -24582,18 +9445,6 @@ } } }, - "vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", - "dev": true - }, - "vscode-languageserver-types": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", - "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", - "dev": true - }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -24614,59 +9465,27 @@ "requires": { "@ethersproject/abi": "5.0.7", "web3-utils": "1.7.0" - }, - "dependencies": { - "@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==", - "requires": { - "@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" - } - }, - "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==" - }, - "web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "requires": { - "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" - } - } } }, "web3-utils": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", - "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", - "dev": true, - "peer": true, + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", + "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", "requires": { - "bn.js": "^5.2.1", + "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" + }, + "dependencies": { + "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==" + } } }, "webcrypto-core": { @@ -24679,26 +9498,6 @@ "asn1js": "^3.0.1", "pvtsutils": "^1.3.2", "tslib": "^2.4.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "webextension-polyfill": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz", - "integrity": "sha512-a19+DzlT6Kp9/UI+mF9XQopeZ+n2ussjhxHJ4/pmIGge9ijCDz7Gn93mNnjpZAk95T4Tae8iHZ6sSf869txqiQ==" - }, - "webextension-polyfill-ts": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.26.0.tgz", - "integrity": "sha512-XEFL+aYVEsm/d4RajVwP75g56c/w2aSHnPwgtUv8/nCzbLNSzRQIix6aj1xqFkA5yr7OIDkk3OD/QTnPp8ThYA==", - "requires": { - "webextension-polyfill": "^0.8.0" } }, "webidl-conversions": { @@ -24706,12 +9505,6 @@ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha512-SA2KdOXATOroD3EBUYvcdugsusXS5YiQFqwskSbsp5b1gK8HpNi/YP0jcy/BDpdllp305HMnrsVf9K7Be9GiEQ==", - "dev": true - }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -24729,106 +9522,19 @@ "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "dev": true, - "peer": true - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, "widest-line": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "requires": { "string-width": "^4.0.0" - }, - "dependencies": { - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "dev": true, - "peer": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, - "wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "dependencies": { - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - } - } - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -24837,23 +9543,6 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "wrappy": { @@ -24862,9 +9551,9 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "requires": {} }, "xtend": { @@ -24872,57 +9561,16 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "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==" - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } - }, "yargs-parser": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", @@ -24932,38 +9580,10 @@ "decamelize": "^1.2.0" } }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - } - } - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/subgraph/package.json b/subgraph/package.json index 9733e9fe2f..f3559eca30 100755 --- a/subgraph/package.json +++ b/subgraph/package.json @@ -1,16 +1,16 @@ { "name": "@rainprotocol/orderbook-subgraph", - "description": "orderbook subgraph", - "version": "0.0.1", + "description": "Rain OrderBook Subgraph", + "version": "0.1.0", "author": "rainprotocol", "license": "CAL", "repository": { "type": "git", - "url": "https://github.com/rainprotocol/rain-protocol-subgraph.git" + "url": "https://github.com/rainprotocol/rain.orderbook.git" }, "keywords": [], "bugs": { - "url": "https://github.com/rainprotocol/rain-protocol-subgraph/issues" + "url": "https://github.com/rainprotocol/rain.orderbook/issues" }, "scripts": { "test": "hardhat test", @@ -22,47 +22,11 @@ "prettier-write": "prettier . '!./docker' --write" }, "dependencies": { - "@chainlink/contracts": "^0.5.1", - "@graphprotocol/graph-cli": "^0.46.1", - "@graphprotocol/graph-ts": "^0.28.1", - "@openzeppelin/contracts-upgradeable": "=4.8.2", - "@prb/math": "^3.3.1", - "@rainprotocol/assemblyscript-cbor": "^0.0.6", - "0xsequence": "^0.39.0", - "colors": "^1.4.0", - "commander": "^10.0.0", - "etherscan-api": "^10.3.0", - "hardhat": "^2.13.0", - "mustache": "^3.2.1", - "node-fetch": "^2.6.11", - "polygonscan-api": "^1.0.4" + "@graphprotocol/graph-cli": "0.46.1", + "@graphprotocol/graph-ts": "0.28.1", + "@rainprotocol/assemblyscript-cbor": "0.0.6" }, "devDependencies": { - "@nomicfoundation/hardhat-foundry": "^1.0.0", - "@nomiclabs/hardhat-ethers": "^2.2.2", - "@nomiclabs/hardhat-waffle": "^2.0.5", - "@rainprotocol/rainlang": "^2.2.2", - "@typechain/hardhat": "^6.1.5", - "@types/chai": "^4.3.4", - "@types/mocha": "^10.0.1", - "@types/string-math": "=1.0.0", - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.57.0", - "apollo-fetch": "^0.7.0", - "assert": "^2.0.0", - "cbor": "=8.1.0", - "chai": "^4.3.7", - "dotenv": "^16.0.3", - "eslint": "^8.37.0", - "eslint-config-prettier": "^8.8.0", - "eslint-config-standard": "^17.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", - "string-math": "=1.2.2", - "ts-node": "^10.9.1", - "typechain": "^8.1.1", - "typescript": "^5.0.2" + "mustache": "3.2.1" } } From ed9ccb0799bfa681806ef7d56d85d2337b6d43fd Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 13 Oct 2023 21:46:38 -0400 Subject: [PATCH 022/163] remove submodule recursive --- .github/workflows/subgraph-test.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 3c263e48ea..7823a75461 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -6,10 +6,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Install stable + - uses: actions/checkout@v3 + # with: + # submodules: recursive + + - name: Install rustup stable uses: actions-rs/toolchain@v1 with: toolchain: stable From 71aa55c6e0cec802fb59046cb71bd267cdcebe03 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 15 Oct 2023 21:17:07 -0400 Subject: [PATCH 023/163] wip: refactor setup - better structuring --- subgraph/Cargo.lock | 217 ++++++++++-------- subgraph/tests/common/mod.rs | 10 - subgraph/tests/common/query/mod.rs | 1 - ...eploy_orderbook.rs => orderbook_entity.rs} | 81 +++---- .../tests/{common => subgraph}/deploy/mod.rs | 79 ++++--- subgraph/tests/subgraph/mod.rs | 7 + subgraph/tests/subgraph/query/mod.rs | 13 ++ .../query/orderbook/mod.rs | 11 +- .../query/orderbook/orderbook.graphql | 0 .../{common => subgraph}/query/schema.json | 0 .../tests/{common => subgraph}/wait/mod.rs | 61 ++++- .../{common => subgraph}/wait/query.graphql | 0 .../{common => subgraph}/wait/schema.json | 0 subgraph/tests/utils/deploy/erc20_mock/mod.rs | 8 +- .../tests/utils/deploy/meta_getter/mod.rs | 7 +- subgraph/tests/utils/deploy/mod.rs | 17 +- subgraph/tests/utils/deploy/orderbook/mod.rs | 37 +-- .../tests/utils/deploy/orderbook/setup.rs | 74 ++++++ .../tests/utils/deploy/touch_deployer/mod.rs | 13 +- subgraph/tests/utils/events.rs | 89 ++++--- subgraph/tests/utils/gen_abigen/mod.rs | 4 +- subgraph/tests/utils/mod.rs | 108 ++++++++- .../tests/utils/{number.rs => numbers.rs} | 0 subgraph/tests/utils/setup.rs | 115 ---------- subgraph/tests/utils/setup/mod.rs | 44 ++++ subgraph/tests/utils/utils.rs | 101 -------- 26 files changed, 586 insertions(+), 511 deletions(-) delete mode 100644 subgraph/tests/common/mod.rs delete mode 100644 subgraph/tests/common/query/mod.rs rename subgraph/tests/{deploy_orderbook.rs => orderbook_entity.rs} (52%) rename subgraph/tests/{common => subgraph}/deploy/mod.rs (50%) create mode 100644 subgraph/tests/subgraph/mod.rs create mode 100644 subgraph/tests/subgraph/query/mod.rs rename subgraph/tests/{common => subgraph}/query/orderbook/mod.rs (86%) rename subgraph/tests/{common => subgraph}/query/orderbook/orderbook.graphql (100%) rename subgraph/tests/{common => subgraph}/query/schema.json (100%) rename subgraph/tests/{common => subgraph}/wait/mod.rs (58%) rename subgraph/tests/{common => subgraph}/wait/query.graphql (100%) rename subgraph/tests/{common => subgraph}/wait/schema.json (100%) create mode 100644 subgraph/tests/utils/deploy/orderbook/setup.rs rename subgraph/tests/utils/{number.rs => numbers.rs} (100%) delete mode 100644 subgraph/tests/utils/setup.rs create mode 100644 subgraph/tests/utils/setup/mod.rs delete mode 100644 subgraph/tests/utils/utils.rs diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock index 9a6f7e5780..8e6171ca73 100644 --- a/subgraph/Cargo.lock +++ b/subgraph/Cargo.lock @@ -40,9 +40,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -124,13 +124,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -288,9 +288,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -333,9 +333,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] @@ -420,7 +420,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -513,9 +513,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa72a10d0e914cad6bcad4e7409e68d230c1c2db67896e19a37f758b1fcbdab5" +checksum = "c37be52ef5e3b394db27a2341010685ad5103c72ac15ce2e9420a7e8f93f342c" dependencies = [ "cfg-if", "cpufeatures", @@ -663,9 +663,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derive_more" @@ -777,9 +780,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" -version = "0.13.5" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ "base16ct", "crypto-bigint", @@ -838,25 +841,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ - "errno-dragonfly", "libc", "windows-sys", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "eth-keystore" version = "0.5.0" @@ -993,7 +985,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "syn 2.0.37", + "syn 2.0.38", "toml", "walkdir", ] @@ -1011,7 +1003,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -1037,7 +1029,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.37", + "syn 2.0.38", "tempfile", "thiserror", "tiny-keccak", @@ -1220,9 +1212,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -1340,7 +1332,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -1827,9 +1819,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" dependencies = [ "libc", ] @@ -1910,7 +1902,7 @@ dependencies = [ "lalrpop-util", "petgraph", "regex", - "regex-syntax", + "regex-syntax 0.7.5", "string_cache", "term", "tiny-keccak", @@ -1931,15 +1923,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.148" +version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "linux-raw-sys" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" @@ -1978,9 +1970,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memoffset" @@ -2074,9 +2066,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -2109,7 +2101,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2181,7 +2173,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2361,7 +2353,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2399,7 +2391,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -2430,6 +2422,12 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2449,14 +2447,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", @@ -2502,9 +2500,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -2605,25 +2603,25 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.6" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" +checksum = "aaac441002f822bc9705a681810a4dd2963094b9ca0ddc41cb963a4c189189ea" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax", + "regex-syntax 0.8.2", ] [[package]] name = "regex-automata" -version = "0.3.9" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" +checksum = "5011c7e263a695dc8ca064cddb722af1be54e517a280b12a5356f98366899e5d" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.2", ] [[package]] @@ -2632,11 +2630,17 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ "base64 0.21.4", "bytes", @@ -2662,6 +2666,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls", @@ -2776,9 +2781,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.15" +version = "0.38.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531" +checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" dependencies = [ "bitflags 2.4.0", "errno", @@ -2966,9 +2971,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] @@ -2987,9 +2992,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" dependencies = [ "serde_derive", ] @@ -3005,13 +3010,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3252,7 +3257,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3317,15 +3322,36 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.37" +version = "2.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tap" version = "1.0.1" @@ -3373,17 +3399,18 @@ checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] name = "time" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -3430,9 +3457,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -3455,7 +3482,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] @@ -3561,11 +3588,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -3573,20 +3599,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", ] @@ -3784,7 +3810,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", "wasm-bindgen-shared", ] @@ -3818,7 +3844,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.38", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3992,9 +4018,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.15" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" dependencies = [ "memchr", ] @@ -4090,11 +4116,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/subgraph/tests/common/mod.rs b/subgraph/tests/common/mod.rs deleted file mode 100644 index c272ff3820..0000000000 --- a/subgraph/tests/common/mod.rs +++ /dev/null @@ -1,10 +0,0 @@ -pub mod deploy; -pub mod query; -pub mod wait; - -use web3::{transports::Http, Web3}; - -pub fn get_web3() -> anyhow::Result> { - let web3 = web3::Web3::new(Http::new("http://localhost:8545")?); - Ok(web3) -} diff --git a/subgraph/tests/common/query/mod.rs b/subgraph/tests/common/query/mod.rs deleted file mode 100644 index 15603d3d50..0000000000 --- a/subgraph/tests/common/query/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub(crate) mod orderbook; diff --git a/subgraph/tests/deploy_orderbook.rs b/subgraph/tests/orderbook_entity.rs similarity index 52% rename from subgraph/tests/deploy_orderbook.rs rename to subgraph/tests/orderbook_entity.rs index dda825bbd2..cc06f79c90 100644 --- a/subgraph/tests/deploy_orderbook.rs +++ b/subgraph/tests/orderbook_entity.rs @@ -1,60 +1,37 @@ -// #[path = "./generated/abigen/mod.rs"] -// mod abigen; -mod common; mod generated; +mod subgraph; mod utils; use anyhow::Result; -use common::{ - deploy::{deploy, Config}, - query::orderbook::get_orderbook_query, - wait::wait, -}; -use ethers::signers::Signer; -use utils::deploy::orderbook::deploy_orderbook; -use utils::setup::{get_provider, is_sugraph_node_init}; -use utils::utils::_get_block_number; -// use utils::gen_abigen::_abigen_rust_generation; +use ethers::{signers::Signer, types::Bytes, utils::keccak256}; +use subgraph::{wait, Query}; +use utils::deploy::{get_orderbook, read_orderbook_meta}; #[tokio::main] #[test] async fn orderbook_entity_test() -> Result<()> { - let _ = is_sugraph_node_init().await.expect("failed sg node init"); + let orderbook = get_orderbook().await.expect("cannot get OB"); - let provider = get_provider().await.expect("cannot get provider"); - let block_number = _get_block_number(provider.clone()).await; - let wallet_0 = utils::utils::get_wallet(0); + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); - let orderbook = deploy_orderbook(Some(wallet_0.clone())) - .await - .expect("failed when calling deploy orderbook"); - - let ob_address = format!("{:?}", orderbook.address()); - - let sg_config = Config { - contract_address: ob_address.clone(), - block_number: block_number.as_u64(), - }; - - let _ = deploy(sg_config).await.expect("cannot deploy sg"); - - let _ = wait().await.expect("cannot get SG sync status"); - - let response = get_orderbook_query(&ob_address.clone()) + // Query the OrderBook entity + let response = Query::orderbook(orderbook.address()) .await .expect("cannot get the ob query response"); - assert_eq!(orderbook.address(), response.id); - assert_eq!(orderbook.address(), response.address); - assert_eq!(wallet_0.address(), response.deployer); + // This wallet is used to deploy the OrderBook at initialization, so it is the deployer + let wallet_0 = utils::get_wallet(0); - // _abigen_rust_generation(); - // let mut file = File::open("../meta/OrderBook.rain.meta")?; + // Read meta from root repository (output from nix command) and convert to Bytes + let ob_meta_hashed = Bytes::from(keccak256(read_orderbook_meta())); - // let wallet_0 = utils::utils::get_wallet(0); - // let wallet_1 = utils::utils::get_wallet(1); + assert_eq!(response.id, orderbook.address()); + assert_eq!(response.address, orderbook.address()); + assert_eq!(response.deployer, wallet_0.address()); + assert_eq!(response.meta, ob_meta_hashed); - // // Deploy ExpressionDeployerNP + // // Deploy ExpressionDeployerNP for the config // let expression_deployer = deploy_touch_deployer(None) // .await // .expect("cannot deploy expression_deployer"); @@ -92,7 +69,7 @@ async fn orderbook_entity_test() -> Result<()> { // .expect("cannot get value from parse"); // // An example rain doc (hardcoded - does not contain any well info. Only rain doc well formed) - // let rain_doc = Bytes::from_hex("0xffe5ffb4a3ff2cdea30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e")?; + // let rain_doc = Bytes::from_hex("0xff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e")?; // // Build EvaluableConfigV2 // let eval_config = EvaluableConfigV2 { @@ -105,13 +82,23 @@ async fn orderbook_entity_test() -> Result<()> { // valid_inputs: vec![io_input], // valid_outputs: vec![io_output], // evaluable_config: eval_config, - // meta: rain_doc, + // meta: rain_doc.clone(), // }; - // /////////////////////////////////////////////// - // let tx = contract.mint(wallet_0.address(), get_amount_tokens(, )).send().await; - // let receipt = tx.await; - // get_transfer_event(contract.clone(), tx).await; + // // Add the order + // let add_order_func = orderbook.add_order(config); + // let tx_add_order = add_order_func.send().await.expect("order not sent"); + + // let add_order_data = _get_add_order_event(orderbook, tx_add_order).await; + // println!("add_order_data: {:?}", add_order_data); + + // // // /////////////////////////////////////////////// + + // let mint_func = token_a.mint(wallet_0.address(), _get_amount_tokens(20, 18)); + // let tx_mint = mint_func.send().await.expect("mint not sent"); + + // let mint_data = _get_transfer_event(token_a, tx_mint).await; + // println!("mint_data: {:?}", mint_data); // let _ = is_sugraph_node_init() // .await diff --git a/subgraph/tests/common/deploy/mod.rs b/subgraph/tests/subgraph/deploy/mod.rs similarity index 50% rename from subgraph/tests/common/deploy/mod.rs rename to subgraph/tests/subgraph/deploy/mod.rs index 9192934c90..38514429b6 100644 --- a/subgraph/tests/common/deploy/mod.rs +++ b/subgraph/tests/subgraph/deploy/mod.rs @@ -2,15 +2,14 @@ use anyhow::anyhow; use mustache::MapBuilder; use std::{fs, process::Command}; -pub struct Config { +pub struct Config<'a> { // contracts address - pub contract_address: String, + pub contract_address: &'a String, // block-number pub block_number: u64, } -pub async fn deploy(config: Config) -> anyhow::Result<()> { - +pub fn deploy(config: Config) -> anyhow::Result { let subgraph_template = "subgraph.template.yaml"; let output_path = "subgraph.yaml"; let root_dir = "./"; @@ -23,7 +22,7 @@ pub async fn deploy(config: Config) -> anyhow::Result<()> { .insert_str("blockNumber", config.block_number.to_string()) .build(); - let template = fs::read_to_string(subgraph_template.clone()) + let template = fs::read_to_string(subgraph_template) .expect(&format!("Fail to read {}", subgraph_template)); let renderd = mustache::compile_str(&template) @@ -51,42 +50,42 @@ pub async fn deploy(config: Config) -> anyhow::Result<()> { return Err(anyhow!("{}", stderr)); } - let _output = Command::new("bash") - .current_dir(format!( - "{}/{}", - std::env::current_dir().unwrap().display(), - root_dir - )) - .args(&[ - "-c", - &format!("npx graph create --node {} {}", end_point, subgraph_name), - ]) - .output() - .expect("Failed graph create command"); + let _output = Command::new("bash") + .current_dir(format!( + "{}/{}", + std::env::current_dir().unwrap().display(), + root_dir + )) + .args(&[ + "-c", + &format!("npx graph create --node {} {}", end_point, subgraph_name), + ]) + .output() + .expect("Failed graph create command"); - let output = Command::new("bash") - .current_dir(format!( - "{}/{}", - std::env::current_dir().unwrap().display(), - root_dir - )) - .args(&[ - "-c", - &format!( - "npx graph deploy --node {} --ipfs http://localhost:5001 {} --version-label 1", - end_point, subgraph_name - ), - ]) - .output() - .expect("Failed local deploy command"); + let output = Command::new("bash") + .current_dir(format!( + "{}/{}", + std::env::current_dir().unwrap().display(), + root_dir + )) + .args(&[ + "-c", + &format!( + "npx graph deploy --node {} --ipfs http://localhost:5001 {} --version-label 1", + end_point, subgraph_name + ), + ]) + .output() + .expect("Failed local deploy command"); - if output.status.success() { - let stdout = String::from_utf8_lossy(&output.stdout); - println!("{}", stdout); - } else { - let stderr = String::from_utf8_lossy(&output.stderr); - return Err(anyhow!("{}", stderr)); - } + if output.status.success() { + let stdout = String::from_utf8_lossy(&output.stdout); + println!("{}", stdout); + } else { + let stderr = String::from_utf8_lossy(&output.stderr); + return Err(anyhow!("{}", stderr)); + } - Ok(()) + Ok(true) } diff --git a/subgraph/tests/subgraph/mod.rs b/subgraph/tests/subgraph/mod.rs new file mode 100644 index 0000000000..6fa437f896 --- /dev/null +++ b/subgraph/tests/subgraph/mod.rs @@ -0,0 +1,7 @@ +pub mod deploy; +pub mod query; +pub mod wait; + +pub use deploy::{deploy, Config}; +pub use query::Query; +pub use wait::wait; diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs new file mode 100644 index 0000000000..ff318ca126 --- /dev/null +++ b/subgraph/tests/subgraph/query/mod.rs @@ -0,0 +1,13 @@ +pub(crate) mod orderbook; + +use anyhow::Result; +use ethers::types::Address; +use orderbook::{get_orderbook_query, OrderBookResponse}; + +pub struct Query; + +impl Query { + pub async fn orderbook(address: Address) -> Result { + get_orderbook_query(address).await + } +} diff --git a/subgraph/tests/common/query/orderbook/mod.rs b/subgraph/tests/subgraph/query/orderbook/mod.rs similarity index 86% rename from subgraph/tests/common/query/orderbook/mod.rs rename to subgraph/tests/subgraph/query/orderbook/mod.rs index 44a16a6ea8..a982a8d0ef 100644 --- a/subgraph/tests/common/query/orderbook/mod.rs +++ b/subgraph/tests/subgraph/query/orderbook/mod.rs @@ -1,6 +1,5 @@ -// use self::orderbook::ResponseData; use self::order_book::ResponseData; -use crate::common::wait::wait; +use crate::subgraph::wait::wait; use anyhow::{anyhow, Result}; use ethers::types::{Address, Bytes}; use graphql_client::{GraphQLQuery, Response}; @@ -12,8 +11,8 @@ use std::str::FromStr; // Both json and the GraphQL schema language are supported as sources for the schema #[derive(GraphQLQuery)] #[graphql( - schema_path = "tests/common/query/schema.json", - query_path = "tests/common/query/orderbook/orderbook.graphql", + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/orderbook/orderbook.graphql", reseponse_derives = "Debug, Serialize, Deserialize" )] pub struct OrderBook; @@ -46,7 +45,7 @@ impl OrderBookResponse { } } -pub async fn get_orderbook_query(orderbook_id: &str) -> Result { +pub async fn get_orderbook_query(orderbook_address: Address) -> Result { wait().await?; // TODO: Make a fix string to share @@ -54,7 +53,7 @@ pub async fn get_orderbook_query(orderbook_id: &str) -> Result anyhow::Result { - // let block_number = get_web3()?.eth().block_number().await?; - let provider = get_provider().await.expect("cannot get provider"); - let block_number = _get_block_number(provider.clone()).await; + let block_number = get_block_number().await; let url = Url::from_str(&"http://localhost:8030/graphql")?; + let variables = sync_status::Variables {}; let request_body = SyncStatus::build_query(variables); @@ -72,3 +71,45 @@ pub async fn wait() -> anyhow::Result { thread::sleep(Duration::from_secs(1)); } } + +/// Check if the subgraph node is live to be able to deploy subgraphs +pub async fn _check_subgraph_node() -> bool { + let client = reqwest::Client::new(); + + let url = "http://localhost:8030"; + + let mut retries = 0; + // Max retries allowed + let max_retries = 6; + // Retry interval + let retry_interval = Duration::from_secs(5); + + loop { + retries += 1; + // Send an HTTP GET request with a timeout + let response = timeout(Duration::from_secs(5), client.get(url).send()) + .await + .expect("No reqyest sent to the url"); + + match response { + Ok(res) if (res.status().is_success()) => { + return true; + } + _ => { + if retries >= max_retries { + if retries >= max_retries { + println!("Max retries reached. Exiting."); + // return Err(reqwest::Error::from("Max retries reached")); + return false; + } + } + println!( + "Retry attempt {} failed. Retrying in {} seconds...", + retries, + retry_interval.as_secs() + ); + tokio::time::sleep(retry_interval).await; + } + } + } +} diff --git a/subgraph/tests/common/wait/query.graphql b/subgraph/tests/subgraph/wait/query.graphql similarity index 100% rename from subgraph/tests/common/wait/query.graphql rename to subgraph/tests/subgraph/wait/query.graphql diff --git a/subgraph/tests/common/wait/schema.json b/subgraph/tests/subgraph/wait/schema.json similarity index 100% rename from subgraph/tests/common/wait/schema.json rename to subgraph/tests/subgraph/wait/schema.json diff --git a/subgraph/tests/utils/deploy/erc20_mock/mod.rs b/subgraph/tests/utils/deploy/erc20_mock/mod.rs index 47314f5fbe..c772fad647 100644 --- a/subgraph/tests/utils/deploy/erc20_mock/mod.rs +++ b/subgraph/tests/utils/deploy/erc20_mock/mod.rs @@ -1,7 +1,7 @@ -use crate::utils::{setup::get_provider, utils::get_wallet}; - -use crate::generated::ERC20Mock; - +use crate::{ + generated::ERC20Mock, + utils::{get_provider, get_wallet}, +}; use anyhow::Result; use ethers::{ core::k256::ecdsa::SigningKey, diff --git a/subgraph/tests/utils/deploy/meta_getter/mod.rs b/subgraph/tests/utils/deploy/meta_getter/mod.rs index bf708f0976..1329f85f72 100644 --- a/subgraph/tests/utils/deploy/meta_getter/mod.rs +++ b/subgraph/tests/utils/deploy/meta_getter/mod.rs @@ -1,6 +1,7 @@ -use crate::generated::AuthoringMetaGetter; -use crate::utils::setup::get_provider; -use crate::utils::utils::get_wallet; +use crate::{ + generated::AuthoringMetaGetter, + utils::{get_provider, get_wallet}, +}; use anyhow::Result; use ethers::prelude::SignerMiddleware; use ethers::providers::{Http, Middleware}; diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index 137bf34fa7..7148646ea0 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -1,6 +1,11 @@ -// pub mod orderbook; -pub mod erc20_mock; -pub mod meta_getter; -pub mod registry1820; -pub mod touch_deployer; -pub mod orderbook; +mod erc20_mock; +mod meta_getter; +mod orderbook; +mod registry1820; +mod touch_deployer; + +pub use erc20_mock::deploy_erc20_mock; +pub use meta_getter::{authoring_meta_getter_deploy, get_meta_address}; +pub use orderbook::{deploy_orderbook, get_orderbook, read_orderbook_meta}; +pub use registry1820::deploy1820; +pub use touch_deployer::touch_deployer; diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs index 80eace541e..3be265e410 100644 --- a/subgraph/tests/utils/deploy/orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -1,6 +1,6 @@ -use super::touch_deployer::deploy_touch_deployer; +use super::touch_deployer::touch_deployer; use crate::generated::{OrderBook, ORDERBOOK_ABI, ORDERBOOK_BYTECODE}; -use crate::utils::{setup::get_provider, utils::get_wallet}; +use crate::utils::{get_provider, get_wallet}; use anyhow::Result; use ethers::{ abi::Token, @@ -12,6 +12,9 @@ use ethers::{ }; use std::{env, fs::File, io::Read, sync::Arc}; +mod setup; +pub use setup::get_orderbook; + pub async fn deploy_orderbook( wallet: Option>, ) -> Result, Wallet>>> { @@ -25,25 +28,16 @@ pub async fn deploy_orderbook( )); // Deploying deployer - let expression_deployer = deploy_touch_deployer(Some(wallet.clone())) + let expression_deployer = touch_deployer(Some(wallet.clone())) .await .expect("cannot touch deployer (ob)"); // Obtaining OB Meta bytes - let meta_directory = env::current_dir() - .expect("cannot get the current directory") - .parent() - .expect("cannot get the parent from current dir") - .join("meta/OrderBook.rain.meta"); - - let mut file = File::open(meta_directory).expect("cannot open the file"); - let mut contents = Vec::new(); - file.read_to_end(&mut contents) - .expect("failed on read_to_end"); + let meta = read_orderbook_meta(); let args = vec![Token::Tuple(vec![ Token::Address(expression_deployer.address()), - Token::Bytes(contents), + Token::Bytes(meta), ])]; // Obtaining OB deploy transaction @@ -64,3 +58,18 @@ pub async fn deploy_orderbook( return Ok(orderbook); } + +pub fn read_orderbook_meta() -> Vec { + let meta_directory = env::current_dir() + .expect("cannot get the current directory") + .parent() + .expect("cannot get the parent from current dir") + .join("meta/OrderBook.rain.meta"); + + let mut file = File::open(meta_directory).expect("cannot open the file"); + let mut contents = Vec::new(); + file.read_to_end(&mut contents) + .expect("failed on read_to_end"); + + return contents; +} diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs new file mode 100644 index 0000000000..a504f4f370 --- /dev/null +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -0,0 +1,74 @@ +use crate::{ + subgraph::{deploy, Config}, + generated::OrderBook, + utils::get_block_number, +}; +use anyhow::Result; +use ethers::{ + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Provider}, + signers::Wallet, +}; +use once_cell::sync::Lazy; +use thiserror::Error; +use tokio::sync::OnceCell; + +use super::deploy_orderbook; + +static ORDERBOOK: Lazy, Wallet>>>> = + Lazy::new(|| OnceCell::new()); + +#[derive(Error, Debug)] +pub enum OrderBookSetupError { + #[error("An error occurred when deploying OB at initialization provider instance: {0}")] + InitDeployOBError(#[from] Box), + #[error("An error occurred when deploying the OB subgraph")] + SgDeployError(), +} + +// PROVIDER CODE INIT +/// Deploy (initialize) an orderbook contract to be used across the setup +pub async fn init_orderbook( +) -> Result, Wallet>>, OrderBookSetupError> { + // By providing `None` as wallet, the function will use the default - The wallet at index 0. + let orderbook = deploy_orderbook(None) + .await + .expect("cannot deploy OB at setup initialization"); + + // let addrr = orderbook.address(); + // let ob_address = format!("{:?}", orderbook.address()); + + let sg_config = Config { + contract_address: &format!("{:?}", orderbook.address()), + block_number: get_block_number().await.as_u64(), + }; + + let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + + if is_sg_deployed { + Ok(orderbook) + } else { + Err(OrderBookSetupError::SgDeployError()) + } + + // Ok(orderbook) +} + +async fn try_ob_deploy( +) -> Result, Wallet>>, OrderBookSetupError> { + match init_orderbook().await { + Ok(data) => Ok(data), + Err(err) => Err(OrderBookSetupError::InitDeployOBError(Box::new(err))), + } +} + +pub async fn get_orderbook() -> Result< + &'static OrderBook, Wallet>>, + OrderBookSetupError, +> { + ORDERBOOK + .get_or_try_init(|| async { try_ob_deploy().await }) + .await + .map_err(|err| OrderBookSetupError::InitDeployOBError(Box::new(err))) +} diff --git a/subgraph/tests/utils/deploy/touch_deployer/mod.rs b/subgraph/tests/utils/deploy/touch_deployer/mod.rs index 869be9d50c..0a098bddef 100644 --- a/subgraph/tests/utils/deploy/touch_deployer/mod.rs +++ b/subgraph/tests/utils/deploy/touch_deployer/mod.rs @@ -1,10 +1,11 @@ use super::meta_getter::get_authoring_meta; -use crate::generated::{ - Rainterpreter, RainterpreterExpressionDeployer, RainterpreterStore, - RAINTERPRETEREXPRESSIONDEPLOYER_ABI, RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE, +use crate::{ + generated::{ + Rainterpreter, RainterpreterExpressionDeployer, RainterpreterStore, + RAINTERPRETEREXPRESSIONDEPLOYER_ABI, RAINTERPRETEREXPRESSIONDEPLOYER_BYTECODE, + }, + utils::{get_provider, get_wallet}, }; -use crate::utils::setup::get_provider; -use crate::utils::utils::get_wallet; use anyhow::Result; use ethers::{ abi::Token, @@ -17,7 +18,7 @@ use ethers::{ }; use std::sync::Arc; -pub async fn deploy_touch_deployer( +pub async fn touch_deployer( wallet: Option>, ) -> Result, Wallet>>> { let wallet = Some(wallet.unwrap_or(get_wallet(0))); diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 6d7d07a6e8..a491e35a5b 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,25 +1,21 @@ -// use ethers::{abi::AbiEncode, prelude::*}; -use ethers::{ - providers::PendingTransaction, - types::{Log, Topic, TransactionReceipt, TxHash, ValueOrArray}, -}; - -// use crate::abigen::ERC20Mock::{ERC20Mock, TransferFilter}; +use crate::generated::{AddOrderFilter, OrderBook}; use crate::generated::{ERC20Mock, TransferFilter}; - -// use crate::generated::{erc20_mock, ERC20MockEvents}; - use ethers::{ core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, - providers::{Http, Provider}, + providers::{Http, PendingTransaction, Provider}, signers::Wallet, + types::{Filter, Log, Topic, TransactionReceipt, TxHash, ValueOrArray}, }; -pub fn _get_matched_log(logs: Vec, topic: ValueOrArray>) -> Option { - let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); +async fn _get_matched_log(tx: PendingTransaction<'_, Http>, filter: Filter) -> Option { + let tx_receipt: TransactionReceipt = tx.await.expect("Failed to get the receipt").unwrap(); + + let topic = filter.topics[0].clone().expect("failed to get the topic"); - for log in logs.iter() { + let topic_hash = _extract_topic_hash(topic).expect("cannot get the hash from the topic"); + + for log in tx_receipt.logs.iter() { if let Some(first_topic) = log.topics.get(0) { if first_topic == &topic_hash { return Some(log.clone()); @@ -30,41 +26,8 @@ pub fn _get_matched_log(logs: Vec, topic: ValueOrArray>) -> None } -/// Transfer event decode from receipt -/// -/// ## Arguments -/// -/// * `contract` - The contract that contain the event/filter/topic -/// -/// ## Returns -/// -/// The struct value -pub async fn _get_transfer_event( - contract: ERC20Mock, Wallet>>, - tx: PendingTransaction<'_, Http>, -) -> () { - let tx_receipt: TransactionReceipt = tx.await.expect("Failed to get the receipt").unwrap(); - - let topic: ValueOrArray> = - contract.transfer_filter().filter.topics[0].clone().unwrap(); - - let log = _get_matched_log(tx_receipt.logs.clone(), topic) - .expect("there is no topic matched in the transaction"); - - // contract.transfer_filter() - // TransferFilter::default() - // ERC20MockEvents::TransferFilter((TransferFilter:)) - - let aver = contract - .decode_event::("Transfer", log.topics, log.data) - .unwrap(); - - println!("aver: {:?}", aver); - println!("aver: {:?}", aver.value); -} - /// Try to extract the hash value from a Topic (ValueOrArray) type -fn extract_topic_hash(topic: ValueOrArray>) -> Option { +fn _extract_topic_hash(topic: ValueOrArray>) -> Option { match topic { Topic::Value(Some(data)) => Some(data), Topic::Array(topic) => { @@ -77,3 +40,33 @@ fn extract_topic_hash(topic: ValueOrArray>) -> Option { _ => None, } } + +pub async fn _get_transfer_event( + contract: ERC20Mock, Wallet>>, + tx: PendingTransaction<'_, Http>, +) -> TransferFilter { + let filter = contract.transfer_filter().filter; + + let log = _get_matched_log(tx, filter) + .await + .expect("there is no topic matched in the transaction"); + + return contract + .decode_event::("Transfer", log.topics, log.data) + .expect("cannot decode the event"); +} + +pub async fn _get_add_order_event( + contract: OrderBook, Wallet>>, + tx: PendingTransaction<'_, Http>, +) -> AddOrderFilter { + let filter: Filter = contract.clone().add_order_filter().filter; + + let log = _get_matched_log(tx, filter) + .await + .expect("there is no topic matched in the transaction"); + + return contract + .decode_event::("AddOrder", log.topics, log.data) + .expect("cannot decode the event"); +} diff --git a/subgraph/tests/utils/gen_abigen/mod.rs b/subgraph/tests/utils/gen_abigen/mod.rs index 262853c0ee..075a7a5db7 100644 --- a/subgraph/tests/utils/gen_abigen/mod.rs +++ b/subgraph/tests/utils/gen_abigen/mod.rs @@ -2,7 +2,7 @@ use ethers::prelude::*; use std::{env, fs}; pub fn _abigen_rust_generation() -> anyhow::Result<()> { - process_abi_json_to_rust("tests/generated"); + _process_abi_json_to_rust("tests/generated"); Ok(()) } @@ -11,7 +11,7 @@ pub fn _abigen_rust_generation() -> anyhow::Result<()> { /// files and generate a definition in Rust using abigen. /// /// The output path will be the same that the provided. -fn process_abi_json_to_rust(dir_path: &str) { +fn _process_abi_json_to_rust(dir_path: &str) { let current_directory = env::current_dir().expect("cannot get current directory"); let output_directory = current_directory.join(dir_path.to_owned() + "/abigen"); diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 74f010ddf9..5697a41a51 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -1,6 +1,110 @@ pub mod deploy; pub mod events; pub mod gen_abigen; -pub mod number; +pub mod numbers; pub mod setup; -pub mod utils; + +pub use setup::get_provider; + +use ethers::{ + core::k256::ecdsa::SigningKey, + providers::Middleware, + signers::{coins_bip39::English, MnemonicBuilder, Wallet}, + types::U64, +}; +use std::{ + env, + io::{BufRead, BufReader}, + process::{Command, Stdio}, + thread, +}; + +pub async fn get_block_number() -> U64 { + let provider = get_provider().await.expect("cannot get provider"); + return provider.get_block_number().await.unwrap(); +} + +/// Get the wallet test at the given index +pub fn get_wallet(index: u32) -> Wallet { + let mnemonic = std::fs::read_to_string("./test-mnemonic").expect("Test mnemonic not found"); + + let wallet_builder = MnemonicBuilder::::default().phrase(mnemonic.as_str()); + + return wallet_builder + .clone() + .index(index) + .expect(format!("MnemonicBuilder cannot get index {}", index).as_str()) + .build() + .expect(format!("MnemonicBuilder cannot build wallet at the index {}", index).as_str()); +} + +// This function will work on the working directory +pub fn _run_cmd(main_cmd: &str, args: &[&str]) -> bool { + // Get the current working directory + let current_dir = env::current_dir().expect("Failed to get current directory"); + + // Create a new Command to run + let mut cmd = Command::new(main_cmd); + + // Add the arguments + cmd.args(args); + + // Set the directory from where the command wil run + cmd.current_dir(¤t_dir); + + // Tell what to do when try to print the process + cmd.stdout(Stdio::piped()); + cmd.stderr(Stdio::piped()); + + let full_cmd = format!("{} {}", main_cmd, args.join(" ")); + + println!("Running: {}", full_cmd); + + // Execute the command + let mut child = cmd + .spawn() + .expect(format!("Failed to run: {}", full_cmd).as_str()); + + // Read and print stdout in a separate thread + let stdout_child = child.stdout.take().expect("Failed to get stdout"); + let stdout_reader = BufReader::new(stdout_child); + + let stdout_handle = thread::spawn({ + move || { + for line in stdout_reader.lines() { + if let Ok(line) = line { + println!("{}", line); + } + } + } + }); + + // Read and print stderr in the main thread + let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); + for line in stderr_reader.lines() { + if let Ok(line) = line { + eprintln!("{}", line); + } + } + + // Wait for the command to finish and get the exit status + let status = child + .wait() + .expect(format!("Failed to wait: {}", full_cmd).as_str()); + + // Wait for the stdout thread to finish + stdout_handle.join().expect("Failed to join stdout thread"); + + if status.success() { + println!("Success: {}", full_cmd); + return true; + } else { + eprintln!( + "Fail: {} {}", + full_cmd, + format!("failed with exit code: {}", status.code().unwrap_or(-1)) + ); + + return false; + } +} diff --git a/subgraph/tests/utils/number.rs b/subgraph/tests/utils/numbers.rs similarity index 100% rename from subgraph/tests/utils/number.rs rename to subgraph/tests/utils/numbers.rs diff --git a/subgraph/tests/utils/setup.rs b/subgraph/tests/utils/setup.rs deleted file mode 100644 index dff8dfdcd1..0000000000 --- a/subgraph/tests/utils/setup.rs +++ /dev/null @@ -1,115 +0,0 @@ -use super::deploy::{registry1820::deploy1820, meta_getter::get_meta_address}; -use ethers::providers::{Http, Provider}; -use once_cell::sync::Lazy; -use reqwest; -use thiserror::Error; -use tokio::{ - sync::OnceCell, - time::{timeout, Duration}, -}; - -static SUBGRAPH: Lazy> = Lazy::new(|| OnceCell::new()); -static PROVIDER: Lazy>> = Lazy::new(|| OnceCell::new()); - -#[derive(Error, Debug)] -pub enum SetupError { - #[error("An error occurred during initialization: {0}")] - InitializationError(#[from] Box), - #[error("An error occurred when creating provider instance")] - ProviderInstanceError(), -} - -// PROVIDER CODE INIT -pub async fn init_provider() -> Result, SetupError> { - let provider_url = "http://localhost:8545"; - - let provider: Provider = - Provider::::try_from(provider_url).expect("could not instantiate Provider"); - - // Always checking if the Registry1820 is deployed. Deploy it otherwise - let _ = deploy1820(&provider).await; - - get_meta_address(&provider) - .await - .expect("cannot deploy AuthoringMetaGetter at initialization"); - - Ok(provider) -} - -async fn provider_node() -> Result, SetupError> { - match init_provider().await { - Ok(data) => Ok(data), - Err(_) => Err(SetupError::ProviderInstanceError()), - } -} - -pub async fn get_provider() -> Result<&'static Provider, SetupError> { - PROVIDER - .get_or_try_init(|| async { provider_node().await }) - .await - .map_err(|_| SetupError::ProviderInstanceError()) -} - -// SUBGRAPH CODE INIT -async fn subgraph_node_init() -> Result { - let is_running = check_subgraph_node().await; - - Ok(is_running) -} - -async fn subgraph_node() -> Result { - // If an error occurs, wrap it using MyError::InitializationError - match subgraph_node_init().await { - Ok(data) => Ok(data), - Err(err) => Err(SetupError::InitializationError(Box::new(err))), - } -} - -pub async fn is_sugraph_node_init() -> Result<&'static bool, SetupError> { - SUBGRAPH - .get_or_try_init(|| async { subgraph_node().await }) - .await - .map_err(|e| SetupError::InitializationError(Box::new(e))) -} - -/// Check if the subgraph node is live to be able to deploy subgraphs -pub async fn check_subgraph_node() -> bool { - let client = reqwest::Client::new(); - - let url = "http://localhost:8030"; - - let mut retries = 0; - // Max retries allowed - let max_retries = 6; - // Retry interval - let retry_interval = Duration::from_secs(5); - - loop { - retries += 1; - // Send an HTTP GET request with a timeout - let response = timeout(Duration::from_secs(5), client.get(url).send()) - .await - .expect("No reqyest sent to the url"); - - match response { - Ok(res) if (res.status().is_success()) => { - return true; - } - _ => { - if retries >= max_retries { - if retries >= max_retries { - println!("Max retries reached. Exiting."); - // return Err(reqwest::Error::from("Max retries reached")); - return false; - } - } - println!( - "Retry attempt {} failed. Retrying in {} seconds...", - retries, - retry_interval.as_secs() - ); - tokio::time::sleep(retry_interval).await; - } - } - } -} diff --git a/subgraph/tests/utils/setup/mod.rs b/subgraph/tests/utils/setup/mod.rs new file mode 100644 index 0000000000..f793599995 --- /dev/null +++ b/subgraph/tests/utils/setup/mod.rs @@ -0,0 +1,44 @@ +use crate::utils::deploy::{deploy1820, get_meta_address}; +use ethers::providers::{Http, Provider}; +use once_cell::sync::Lazy; +use thiserror::Error; +use tokio::sync::OnceCell; + +static PROVIDER: Lazy>> = Lazy::new(|| OnceCell::new()); + +#[derive(Error, Debug)] +pub enum SetupError { + #[error("An error occurred when creating provider instance: {0}")] + ProviderInstanceError(#[from] Box), +} + +// PROVIDER CODE INIT +pub async fn init_provider() -> Result, SetupError> { + let provider_url = "http://localhost:8545"; + + let provider: Provider = + Provider::::try_from(provider_url).expect("could not instantiate Provider"); + + // Always checking if the Registry1820 is deployed. Deploy it otherwise + let _ = deploy1820(&provider).await; + + get_meta_address(&provider) + .await + .expect("cannot deploy AuthoringMetaGetter at initialization"); + + Ok(provider) +} + +async fn provider_node() -> Result, SetupError> { + match init_provider().await { + Ok(data) => Ok(data), + Err(err) => Err(SetupError::ProviderInstanceError(Box::new(err))), + } +} + +pub async fn get_provider() -> Result<&'static Provider, SetupError> { + PROVIDER + .get_or_try_init(|| async { provider_node().await }) + .await + .map_err(|err| SetupError::ProviderInstanceError(Box::new(err))) +} diff --git a/subgraph/tests/utils/utils.rs b/subgraph/tests/utils/utils.rs deleted file mode 100644 index 7d011404fc..0000000000 --- a/subgraph/tests/utils/utils.rs +++ /dev/null @@ -1,101 +0,0 @@ -use ethers::{ - core::k256::ecdsa::SigningKey, - providers::{Http, Middleware, Provider}, - signers::{coins_bip39::English, MnemonicBuilder, Wallet}, - types::U64, -}; -use std::{ - env, - io::{BufRead, BufReader}, - process::{Command, Stdio}, - thread, -}; - -// This function will work on the working directory -pub fn _run_cmd(main_cmd: &str, args: &[&str]) -> bool { - // Get the current working directory - let current_dir = env::current_dir().expect("Failed to get current directory"); - - // Create a new Command to run - let mut cmd = Command::new(main_cmd); - - // Add the arguments - cmd.args(args); - - // Set the directory from where the command wil run - cmd.current_dir(¤t_dir); - - // Tell what to do when try to print the process - cmd.stdout(Stdio::piped()); - cmd.stderr(Stdio::piped()); - - let full_cmd = format!("{} {}", main_cmd, args.join(" ")); - - println!("Running: {}", full_cmd); - - // Execute the command - let mut child = cmd - .spawn() - .expect(format!("Failed to run: {}", full_cmd).as_str()); - - // Read and print stdout in a separate thread - let stdout_child = child.stdout.take().expect("Failed to get stdout"); - let stdout_reader = BufReader::new(stdout_child); - - let stdout_handle = thread::spawn({ - move || { - for line in stdout_reader.lines() { - if let Ok(line) = line { - println!("{}", line); - } - } - } - }); - - // Read and print stderr in the main thread - let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); - for line in stderr_reader.lines() { - if let Ok(line) = line { - eprintln!("{}", line); - } - } - - // Wait for the command to finish and get the exit status - let status = child - .wait() - .expect(format!("Failed to wait: {}", full_cmd).as_str()); - - // Wait for the stdout thread to finish - stdout_handle.join().expect("Failed to join stdout thread"); - - if status.success() { - println!("Success: {}", full_cmd); - return true; - } else { - eprintln!( - "Fail: {} {}", - full_cmd, - format!("failed with exit code: {}", status.code().unwrap_or(-1)) - ); - - return false; - } -} - -pub async fn _get_block_number(provider: Provider) -> U64 { - return provider.get_block_number().await.unwrap(); -} - -/// Get the wallet test at the given index -pub fn get_wallet(index: u32) -> Wallet { - let mnemonic = std::fs::read_to_string("./test-mnemonic").expect("Test mnemonic not found"); - - let wallet_builder = MnemonicBuilder::::default().phrase(mnemonic.as_str()); - - return wallet_builder - .clone() - .index(index) - .expect(format!("MnemonicBuilder cannot get index {}", index).as_str()) - .build() - .expect(format!("MnemonicBuilder cannot build wallet at the index {}", index).as_str()); -} From 8049f005bdbd6164bf6ca58d9b6b5482314c2ff9 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 16 Oct 2023 02:41:53 -0400 Subject: [PATCH 024/163] wip: moving test into same file --- .../{orderbook_entity.rs => entities.rs} | 46 ++++++++++++- subgraph/tests/subgraph/query/mod.rs | 8 ++- .../tests/subgraph/query/orderbook/mod.rs | 5 +- .../tests/subgraph/query/rain_meta_v1/mod.rs | 67 +++++++++++++++++++ .../query/rain_meta_v1/rain_meta_v1.graphql | 9 +++ subgraph/tests/subgraph/wait/mod.rs | 2 + subgraph/tests/utils/deploy/mod.rs | 2 +- .../tests/utils/deploy/orderbook/setup.rs | 5 +- 8 files changed, 135 insertions(+), 9 deletions(-) rename subgraph/tests/{orderbook_entity.rs => entities.rs} (68%) create mode 100644 subgraph/tests/subgraph/query/rain_meta_v1/mod.rs create mode 100644 subgraph/tests/subgraph/query/rain_meta_v1/rain_meta_v1.graphql diff --git a/subgraph/tests/orderbook_entity.rs b/subgraph/tests/entities.rs similarity index 68% rename from subgraph/tests/orderbook_entity.rs rename to subgraph/tests/entities.rs index cc06f79c90..aac395a787 100644 --- a/subgraph/tests/orderbook_entity.rs +++ b/subgraph/tests/entities.rs @@ -37,7 +37,13 @@ async fn orderbook_entity_test() -> Result<()> { // .expect("cannot deploy expression_deployer"); // /////////////////////////////////////////////// - // // Deploy ERC20 token contract (A) + // // Deploy ERC20 token contract (A)command) and convert to Bytes + // let ob_meta_hashed = Bytes::from(keccak256(read_orderbook_meta())); + + // assert_eq!(response.id, orderbook.address()); + // assert_eq!(response.address, orderbook.address()); + // assert_eq!(response.deployer, wallet_0.address()); + // assert_eq!(response.meta, ob_meta_hashed); // let token_a = deploy_erc20_mock(None) // .await // .expect("failed on deploy erc20 token A"); @@ -106,3 +112,41 @@ async fn orderbook_entity_test() -> Result<()> { Ok(()) } + +#[tokio::main] +#[test] +async fn rain_meta_v1_entity_test() -> Result<()> { + // Always checking if OB is deployed, so we attemp to obtaing it + let _ = get_orderbook().await.expect("cannot get OB"); + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // Read meta from root repository (output from nix command) and convert to Bytes + let ob_meta = read_orderbook_meta(); + let ob_meta_bytes = Bytes::from(ob_meta.clone()); + let ob_meta_hashed = Bytes::from(keccak256(ob_meta)); + + // Query the RainMetaV1 entity + let response = Query::rain_meta_v1(ob_meta_hashed.clone()) + .await + .expect("cannot get the rain meta query response"); + + assert_eq!(response.id, ob_meta_hashed); + assert_eq!(response.meta_bytes, ob_meta_bytes); + // assert_eq!(response.content, ob_meta_bytes); + + println!("response.content: {:?}", response.content); + + // let response = Query::rain_meta_v1(orderbook.address()) + // .await + // .expect("cannot get the rain meta query response"); + + // // This wallet is used to deploy the OrderBook at initialization, so it is the deployer + // let wallet_0 = utils::get_wallet(0); + + // // Read meta from root repository (output from nix command) and convert to Bytes + // let ob_meta_hashed = Bytes::from(keccak256(read_orderbook_meta())); + + Ok(()) +} diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index ff318ca126..8413d1668f 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,8 +1,10 @@ pub(crate) mod orderbook; +pub(crate) mod rain_meta_v1; use anyhow::Result; -use ethers::types::Address; +use ethers::types::{Address, Bytes}; use orderbook::{get_orderbook_query, OrderBookResponse}; +use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; pub struct Query; @@ -10,4 +12,8 @@ impl Query { pub async fn orderbook(address: Address) -> Result { get_orderbook_query(address).await } + + pub async fn rain_meta_v1(id: Bytes) -> Result { + get_rain_meta_v1(id).await + } } diff --git a/subgraph/tests/subgraph/query/orderbook/mod.rs b/subgraph/tests/subgraph/query/orderbook/mod.rs index a982a8d0ef..cd1924a0ff 100644 --- a/subgraph/tests/subgraph/query/orderbook/mod.rs +++ b/subgraph/tests/subgraph/query/orderbook/mod.rs @@ -1,5 +1,5 @@ use self::order_book::ResponseData; -use crate::subgraph::wait::wait; +use crate::subgraph::wait; use anyhow::{anyhow, Result}; use ethers::types::{Address, Bytes}; use graphql_client::{GraphQLQuery, Response}; @@ -27,7 +27,7 @@ pub struct OrderBookResponse { impl OrderBookResponse { pub fn from(response: ResponseData) -> OrderBookResponse { - let orderbook = response.order_book.unwrap(); + let orderbook: order_book::OrderBookOrderBook = response.order_book.unwrap(); let meta_bytes = orderbook .meta @@ -55,6 +55,7 @@ pub async fn get_orderbook_query(orderbook_address: Address) -> Result, +} + +impl RainMetaV1Response { + pub fn from(response: ResponseData) -> RainMetaV1Response { + let data = response.rain_meta_v1.unwrap(); + + let content_data: Vec = + data.content.unwrap_or(vec![RainMetaV1RainMetaV1Content { + id: Bytes::from([0u8, 32]), + }]); + + let content: Vec = content_data.iter().map(|meta| meta.id.clone()).collect(); + + RainMetaV1Response { + id: data.id, + meta_bytes: data.meta_bytes, + content, + } + } +} + +pub async fn get_rain_meta_v1(rain_meta_id: Bytes) -> Result { + wait().await?; + + let url = Url::from_str(&"http://localhost:8000/subgraphs/name/test/test") + .expect("cannot get the sg url"); + + let variables = rain_meta_v1::Variables { + rain_meta: rain_meta_id.to_string().into(), + }; + + let request_body = RainMetaV1::build_query(variables); + let client = reqwest::Client::new(); + let res = client.post(url.clone()).json(&request_body).send().await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response: RainMetaV1Response = RainMetaV1Response::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get metaboard")), + } +} diff --git a/subgraph/tests/subgraph/query/rain_meta_v1/rain_meta_v1.graphql b/subgraph/tests/subgraph/query/rain_meta_v1/rain_meta_v1.graphql new file mode 100644 index 0000000000..99a3724cef --- /dev/null +++ b/subgraph/tests/subgraph/query/rain_meta_v1/rain_meta_v1.graphql @@ -0,0 +1,9 @@ +query RainMetaV1($rain_meta: String) { + rainMetaV1(id: $rain_meta) { + id + metaBytes + content { + id + } + } +} diff --git a/subgraph/tests/subgraph/wait/mod.rs b/subgraph/tests/subgraph/wait/mod.rs index cc484bb228..24a0778a88 100644 --- a/subgraph/tests/subgraph/wait/mod.rs +++ b/subgraph/tests/subgraph/wait/mod.rs @@ -25,6 +25,8 @@ pub struct SyncStatus; pub async fn wait() -> anyhow::Result { let block_number = get_block_number().await; + // let _ = get_orderbook().await.expect("cannot get OB in waiting"); + let url = Url::from_str(&"http://localhost:8030/graphql")?; let variables = sync_status::Variables {}; diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index 7148646ea0..1384d841ba 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -1,6 +1,6 @@ mod erc20_mock; mod meta_getter; -mod orderbook; +pub mod orderbook; mod registry1820; mod touch_deployer; diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index a504f4f370..c8e179aaac 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -1,6 +1,6 @@ use crate::{ - subgraph::{deploy, Config}, generated::OrderBook, + subgraph::{deploy, Config}, utils::get_block_number, }; use anyhow::Result; @@ -36,9 +36,6 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - // let addrr = orderbook.address(); - // let ob_address = format!("{:?}", orderbook.address()); - let sg_config = Config { contract_address: &format!("{:?}", orderbook.address()), block_number: get_block_number().await.as_u64(), From aa98eb56938377592ccf202f90cbfdba0503802a Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 17 Oct 2023 01:21:53 -0400 Subject: [PATCH 025/163] wip: cbor decoder for rain meta docs --- subgraph/Cargo.lock | 7 +++ subgraph/Cargo.toml | 1 + subgraph/src/orderBook.ts | 26 +++++---- subgraph/tests/entities.rs | 25 ++++---- subgraph/tests/utils/cbor.rs | 109 +++++++++++++++++++++++++++++++++++ subgraph/tests/utils/mod.rs | 41 ++++++++++++- 6 files changed, 188 insertions(+), 21 deletions(-) create mode 100644 subgraph/tests/utils/cbor.rs diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock index 8e6171ca73..2670644951 100644 --- a/subgraph/Cargo.lock +++ b/subgraph/Cargo.lock @@ -1989,6 +1989,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minicbor" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d15f4203d71fdf90903c2696e55426ac97a363c67b218488a73b534ce7aca10" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -3271,6 +3277,7 @@ dependencies = [ "graphql_client", "hex", "lazy_static", + "minicbor", "mustache", "once_cell", "reqwest", diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index 1f094830dd..79161e1094 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -28,4 +28,5 @@ colored = "2.0.4" lazy_static = "1.4.0" thiserror = "1.0.49" once_cell = "1.18.0" +minicbor = "0.20.0" diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts index f2e492995e..05725145a4 100644 --- a/subgraph/src/orderBook.ts +++ b/subgraph/src/orderBook.ts @@ -357,8 +357,9 @@ export function handleAfterClear(event: AfterClear): void { const tokenVaultBounty_A = TokenVault.load(config.tokenVaultBountyAlice); if (tokenVaultBounty_A) { - tokenVaultBounty_A.balance = - tokenVaultBounty_A.balance.plus(bountyAmountA); + tokenVaultBounty_A.balance = tokenVaultBounty_A.balance.plus( + bountyAmountA + ); tokenVaultBounty_A.balanceDisplay = toDisplay( tokenVaultBounty_A.balance, tokenVaultBounty_A.token @@ -372,8 +373,9 @@ export function handleAfterClear(event: AfterClear): void { const tokenVaultBounty_B = TokenVault.load(config.tokenVaultBountyBob); if (tokenVaultBounty_B) { - tokenVaultBounty_B.balance = - tokenVaultBounty_B.balance.plus(bountyAmountB); + tokenVaultBounty_B.balance = tokenVaultBounty_B.balance.plus( + bountyAmountB + ); tokenVaultBounty_B.balanceDisplay = toDisplay( tokenVaultBounty_B.balance, tokenVaultBounty_B.token @@ -392,8 +394,9 @@ export function handleAfterClear(event: AfterClear): void { // Updating alice input/output balance const aliceTokenVaultInput = TokenVault.load(aliceTokenVaultInput_ID); if (aliceTokenVaultInput) { - aliceTokenVaultInput.balance = - aliceTokenVaultInput.balance.plus(aliceInput); + aliceTokenVaultInput.balance = aliceTokenVaultInput.balance.plus( + aliceInput + ); aliceTokenVaultInput.balanceDisplay = toDisplay( aliceTokenVaultInput.balance, aliceTokenVaultInput.token @@ -403,8 +406,9 @@ export function handleAfterClear(event: AfterClear): void { const aliceTokenVaultOutput = TokenVault.load(aliceTokenVaultOutput_ID); if (aliceTokenVaultOutput) { - aliceTokenVaultOutput.balance = - aliceTokenVaultOutput.balance.minus(aliceOutput); + aliceTokenVaultOutput.balance = aliceTokenVaultOutput.balance.minus( + aliceOutput + ); aliceTokenVaultOutput.balanceDisplay = toDisplay( aliceTokenVaultOutput.balance, aliceTokenVaultOutput.token @@ -425,8 +429,9 @@ export function handleAfterClear(event: AfterClear): void { const bobTokenVaultOutput = TokenVault.load(bobTokenVaultOutput_ID); if (bobTokenVaultOutput) { - bobTokenVaultOutput.balance = - bobTokenVaultOutput.balance.minus(bobOutput); + bobTokenVaultOutput.balance = bobTokenVaultOutput.balance.minus( + bobOutput + ); bobTokenVaultOutput.balanceDisplay = toDisplay( bobTokenVaultOutput.balance, bobTokenVaultOutput.token @@ -943,6 +948,7 @@ export function handleMetaV1(event: MetaV1): void { return; } } +// TODO: Update the ContentMeta to the Interpreter.ContentMeta code export class ContentMeta { rainMetaId: Bytes; payload: Bytes = Bytes.empty(); diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index aac395a787..353d4d6637 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -5,10 +5,13 @@ mod utils; use anyhow::Result; use ethers::{signers::Signer, types::Bytes, utils::keccak256}; use subgraph::{wait, Query}; -use utils::deploy::{get_orderbook, read_orderbook_meta}; +use utils::{ + cbor::{decode_rain_meta, RainMapDoc}, + deploy::{get_orderbook, read_orderbook_meta}, +}; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -114,7 +117,7 @@ async fn orderbook_entity_test() -> Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -138,15 +141,17 @@ async fn rain_meta_v1_entity_test() -> Result<()> { println!("response.content: {:?}", response.content); - // let response = Query::rain_meta_v1(orderbook.address()) - // .await - // .expect("cannot get the rain meta query response"); + Ok(()) +} - // // This wallet is used to deploy the OrderBook at initialization, so it is the deployer - // let wallet_0 = utils::get_wallet(0); +#[test] +fn aver_test() -> Result<()> { + // Read meta from root repository (output from nix command) and convert to Bytes + let ob_meta = read_orderbook_meta(); - // // Read meta from root repository (output from nix command) and convert to Bytes - // let ob_meta_hashed = Bytes::from(keccak256(read_orderbook_meta())); + let output: Vec = decode_rain_meta(ob_meta.into())?; + + println!("output.len: {}", output.len()); Ok(()) } diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs new file mode 100644 index 0000000000..f428828c8f --- /dev/null +++ b/subgraph/tests/utils/cbor.rs @@ -0,0 +1,109 @@ +use super::MagicNumber; +use anyhow::{anyhow, Result}; +use ethers::types::{Bytes, U256}; +use minicbor::data::Type; +use minicbor::decode::{Decode, Decoder, Error}; +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct RainMapDoc { + pub payload: Bytes, + pub magic_number: U256, + pub content_type: Option, + pub content_encoding: Option, + pub content_language: Option, +} + +impl RainMapDoc { + fn bad_meta_map() -> Result { + return Err(Error::message("Bad rain meta map")); + } + fn no_meta_map() -> Result { + return Err(Error::message("It is not a rain meta map")); + } +} + +impl<'b> Decode<'b, ()> for RainMapDoc { + fn decode(d: &mut Decoder<'b>, _: &mut ()) -> Result { + // Check what it's the current datatype. + let datatype = d.datatype()?; + + if datatype == Type::Map { + // Tecnically, it should not panic here since we already checked that + // it is a map (the length map) + let map_length = d.map()?.unwrap(); + + if map_length < 2 || map_length > 5 { + return Self::bad_meta_map(); + } + + let mut payload: Option = None; + let mut magic_number: Option = None; + let mut content_type: Option = None; + let mut content_encoding: Option = None; + let mut content_language: Option = None; + + for _ in 0..map_length { + let key = d.u8()?; + + match key { + 0 => payload = Some(d.bytes()?.to_vec().into()), + + 1 => magic_number = Some(d.u64()?.into()), + + 2 => content_type = Some(d.str()?.to_string()), + + 3 => content_encoding = Some(d.str()?.to_string()), + + 4 => content_language = Some(d.str()?.to_string()), + + // Does not allow other keys than the defnied by the metadata spec. + // See: https://github.com/rainprotocol/specs/blob/main/metadata-v1.md#header-name-aliases-cbor-map-keys + _ => return Self::bad_meta_map(), + } + } + + // This keys are mandatory + if payload.is_none() || magic_number.is_none() { + return Self::bad_meta_map(); + } + + Ok(RainMapDoc { + payload: payload.unwrap(), + magic_number: magic_number.unwrap(), + content_type, + content_encoding, + content_language, + }) + } else { + // Since it's starting to decode and it's not a map, error. + return Self::no_meta_map(); + } + } +} + +/// Receive a Rain Meta document with his prefix bytes and try to decode it. +pub fn decode_rain_meta(meta_data: Bytes) -> Result> { + let (doc_magic_number, cbor_data) = meta_data.split_at(8); + + if MagicNumber::rain_meta_document_v1() == doc_magic_number.to_vec() { + let cbor_data = cbor_data.to_vec(); + + return decode_cbor(cbor_data); + } + return Err(anyhow!("Cannot decode as a rain meta")); +} + +pub fn decode_cbor(cbor_data: Vec) -> Result> { + let mut decoder = Decoder::new(&cbor_data); + + let mut all_docs: Vec = vec![]; + + while decoder.position() < decoder.input().len() { + let doc: RainMapDoc = decoder.decode().unwrap(); + + all_docs.push(doc); + } + + return Ok(all_docs); +} diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 5697a41a51..446e8edf5c 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -1,3 +1,4 @@ +pub mod cbor; pub mod deploy; pub mod events; pub mod gen_abigen; @@ -10,8 +11,9 @@ use ethers::{ core::k256::ecdsa::SigningKey, providers::Middleware, signers::{coins_bip39::English, MnemonicBuilder, Wallet}, - types::U64, + types::{Bytes, U64}, }; +use hex::FromHex; use std::{ env, io::{BufRead, BufReader}, @@ -108,3 +110,40 @@ pub fn _run_cmd(main_cmd: &str, args: &[&str]) -> bool { return false; } } + +/// Rain Magic Numbers +pub struct MagicNumber; + +impl MagicNumber { + pub fn rain_meta_document_v1() -> Bytes { + Bytes::from_hex("0xff0a89c674ee7874").unwrap() + } + + pub fn solidity_abi_v2() -> Bytes { + Bytes::from_hex("0xffe5ffb4a3ff2cde").unwrap() + } + + pub fn op_meta_v1() -> Bytes { + Bytes::from_hex("0xffe5282f43e495b4").unwrap() + } + + pub fn interpreter_caller_meta_v1() -> Bytes { + Bytes::from_hex("0xffc21bbf86cc199b").unwrap() + } + + pub fn authoring_meta_v1() -> Bytes { + Bytes::from_hex("0xffe9e3a02ca8e235").unwrap() + } + + pub fn rainlang_v1() -> Bytes { + Bytes::from_hex("0xff1c198cec3b48a7").unwrap() + } + + pub fn dotrain_v1() -> Bytes { + Bytes::from_hex("0xffdac2f2f37be894").unwrap() + } + + pub fn expression_deployer_v2() -> Bytes { + Bytes::from_hex("0xffdb988a8cd04d32").unwrap() + } +} From 29942de2e4125add514c8389251a1ea2f5142357 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 17 Oct 2023 02:06:03 -0400 Subject: [PATCH 026/163] wip: handle response error when decode cbor --- subgraph/tests/entities.rs | 8 +++-- subgraph/tests/utils/cbor.rs | 57 ++++++++++++++++++++++++------------ 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 353d4d6637..5d866b6da7 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -147,9 +147,13 @@ async fn rain_meta_v1_entity_test() -> Result<()> { #[test] fn aver_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes - let ob_meta = read_orderbook_meta(); + // let ob_meta = read_orderbook_meta(); + + // let ob_meta = ::from_hex("0xff0a89c674ee7874A3011BFFE5FFB4A3FF2CDE0052946869735F69735F616E5F6578616D706C8502706170706C69636174696F6E2F6A736F6EA4011BFFE5FFB4A3FF2CDF0052746869735F69735F616E5F6578616D706C6502706170706C69636174696F6E2F63626F720362656E").expect("bad hex"); + + let ob_meta = ::from_hex("0xff0a89c674ee7874A2011BFFE5FFB4A3FF2CDE0052946869735F69735F616E5F6578616D706C8502706170706C69636174696F6E2F6A736F6EA4011BFFE5FFB4A3FF2CDF0052746869735F69735F616E5F6578616D706C6502706170706C69636174696F6E2F63626F720362656E").expect("bad hex"); - let output: Vec = decode_rain_meta(ob_meta.into())?; + let output: Vec = decode_rain_meta(ob_meta)?; println!("output.len: {}", output.len()); diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index f428828c8f..853eecbb6f 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -2,7 +2,8 @@ use super::MagicNumber; use anyhow::{anyhow, Result}; use ethers::types::{Bytes, U256}; use minicbor::data::Type; -use minicbor::decode::{Decode, Decoder, Error}; +use minicbor::decode::{Decode, Decoder, Error as DecodeError}; +use minicbor::encode::{Encode, Encoder, Error as EncodeError}; use serde::Deserialize; #[derive(Debug, Deserialize)] @@ -15,16 +16,16 @@ pub struct RainMapDoc { } impl RainMapDoc { - fn bad_meta_map() -> Result { - return Err(Error::message("Bad rain meta map")); + fn bad_meta_map() -> Result { + return Err(DecodeError::message("bad rain meta map")); } - fn no_meta_map() -> Result { - return Err(Error::message("It is not a rain meta map")); + fn no_meta_map() -> Result { + return Err(DecodeError::message("not rain meta map")); } } impl<'b> Decode<'b, ()> for RainMapDoc { - fn decode(d: &mut Decoder<'b>, _: &mut ()) -> Result { + fn decode(d: &mut Decoder<'b>, _: &mut ()) -> Result { // Check what it's the current datatype. let datatype = d.datatype()?; @@ -82,28 +83,48 @@ impl<'b> Decode<'b, ()> for RainMapDoc { } } -/// Receive a Rain Meta document with his prefix bytes and try to decode it. +/// Receive a Rain Meta document with his prefix bytes and try to decode it usin cbor. pub fn decode_rain_meta(meta_data: Bytes) -> Result> { let (doc_magic_number, cbor_data) = meta_data.split_at(8); if MagicNumber::rain_meta_document_v1() == doc_magic_number.to_vec() { - let cbor_data = cbor_data.to_vec(); + let mut decoder = Decoder::new(cbor_data); - return decode_cbor(cbor_data); + let mut all_docs: Vec = vec![]; + + while decoder.position() < decoder.input().len() { + let doc: std::result::Result = decoder.decode(); + + if doc.is_err() { + let errorsito = doc.unwrap_err(); + return Err(anyhow!("{}", errorsito.to_string())); + } + + all_docs.push(doc.unwrap()); + } + + return Ok(all_docs); } - return Err(anyhow!("Cannot decode as a rain meta")); + return Err(anyhow!("Unable to decode - missing rain doc prefix")); } -pub fn decode_cbor(cbor_data: Vec) -> Result> { - let mut decoder = Decoder::new(&cbor_data); +// pub fn decode_cbor(cbor_data: Vec) -> Result> { +// let mut decoder = Decoder::new(&cbor_data); - let mut all_docs: Vec = vec![]; +// let mut all_docs: Vec = vec![]; - while decoder.position() < decoder.input().len() { - let doc: RainMapDoc = decoder.decode().unwrap(); +// while decoder.position() < decoder.input().len() { +// // TODO: Create error response +// let doc: RainMapDoc = decoder.decode().unwrap(); - all_docs.push(doc); - } +// all_docs.push(doc); +// } + +// return Ok(all_docs); +// } - return Ok(all_docs); +/// Receive a vec of RainMapDoc and try to encode it. +pub fn _encode_rain_meta(_docs: Vec) -> Result> { + // + Ok([0].to_vec()) } From a6e91477c0807c552e4137a16f1801c2ae0c636f Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 17 Oct 2023 04:45:10 -0400 Subject: [PATCH 027/163] wip: missing encode rain docs. added queries --- subgraph/tests/entities.rs | 19 ++-- subgraph/tests/utils/cbor.rs | 182 +++++++++++++++++++++++++++++++---- 2 files changed, 170 insertions(+), 31 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 5d866b6da7..a240ea310e 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -6,12 +6,12 @@ use anyhow::Result; use ethers::{signers::Signer, types::Bytes, utils::keccak256}; use subgraph::{wait, Query}; use utils::{ - cbor::{decode_rain_meta, RainMapDoc}, + cbor::{_encode_rain_meta, decode_rain_meta, RainMapDoc}, deploy::{get_orderbook, read_orderbook_meta}, }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -117,7 +117,7 @@ async fn orderbook_entity_test() -> Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -145,17 +145,14 @@ async fn rain_meta_v1_entity_test() -> Result<()> { } #[test] -fn aver_test() -> Result<()> { +fn cbor_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes - // let ob_meta = read_orderbook_meta(); - - // let ob_meta = ::from_hex("0xff0a89c674ee7874A3011BFFE5FFB4A3FF2CDE0052946869735F69735F616E5F6578616D706C8502706170706C69636174696F6E2F6A736F6EA4011BFFE5FFB4A3FF2CDF0052746869735F69735F616E5F6578616D706C6502706170706C69636174696F6E2F63626F720362656E").expect("bad hex"); - - let ob_meta = ::from_hex("0xff0a89c674ee7874A2011BFFE5FFB4A3FF2CDE0052946869735F69735F616E5F6578616D706C8502706170706C69636174696F6E2F6A736F6EA4011BFFE5FFB4A3FF2CDF0052746869735F69735F616E5F6578616D706C6502706170706C69636174696F6E2F63626F720362656E").expect("bad hex"); + let ob_meta = read_orderbook_meta(); + // println!("ob_meta: {}", Bytes::from(ob_meta.clone())); - let output: Vec = decode_rain_meta(ob_meta)?; + let output: Vec = decode_rain_meta(ob_meta.into())?; - println!("output.len: {}", output.len()); + println!("output.len: {}\n", output.len()); Ok(()) } diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index 853eecbb6f..efaf1c3d05 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -1,9 +1,9 @@ use super::MagicNumber; -use anyhow::{anyhow, Result}; +use anyhow::{anyhow, Error, Result}; use ethers::types::{Bytes, U256}; use minicbor::data::Type; use minicbor::decode::{Decode, Decoder, Error as DecodeError}; -use minicbor::encode::{Encode, Encoder, Error as EncodeError}; +use minicbor::encode::{Encode, Encoder, Error as EncodeError, Write}; use serde::Deserialize; #[derive(Debug, Deserialize)] @@ -16,11 +16,28 @@ pub struct RainMapDoc { } impl RainMapDoc { + fn len(&self) -> usize { + // Starting on two (2) since payload and magic_number are not optional. + let mut count = 2; + + if self.content_type.is_some() { + count += 1; + } + if self.content_encoding.is_some() { + count += 1; + } + if self.content_language.is_some() { + count += 1; + } + + count + } + fn bad_meta_map() -> Result { - return Err(DecodeError::message("bad rain meta map")); + Err(DecodeError::message("bad rain meta map")) } fn no_meta_map() -> Result { - return Err(DecodeError::message("not rain meta map")); + Err(DecodeError::message("not rain meta map")) } } @@ -77,12 +94,38 @@ impl<'b> Decode<'b, ()> for RainMapDoc { content_language, }) } else { - // Since it's starting to decode and it's not a map, error. - return Self::no_meta_map(); + // Since it's starting to decode and it's not a map, return an error. + Self::no_meta_map() } } } +// impl Encode for RainMapDoc { +// fn encode( +// &self, +// enc: &mut Encoder, +// ctx: &mut C, +// ) -> Result<(), EncodeError> { +// println!("&self: {:?}\n", &self); + +// let doc_len = &self.len(); +// println!("doc_len: {:?}\n", doc_len); + +// enc.u8(20)?.end(); +// // enc.map(1) + +// // println!("xdd: {:?}", pave); +// // let averr = pave.ok(); +// // if pave.is_err() { +// // println!("pave failed"); +// // } else { +// // println!("pave is ok"); +// // } + +// Ok(()) +// } +// } + /// Receive a Rain Meta document with his prefix bytes and try to decode it usin cbor. pub fn decode_rain_meta(meta_data: Bytes) -> Result> { let (doc_magic_number, cbor_data) = meta_data.split_at(8); @@ -105,26 +148,125 @@ pub fn decode_rain_meta(meta_data: Bytes) -> Result> { return Ok(all_docs); } - return Err(anyhow!("Unable to decode - missing rain doc prefix")); + + Err(anyhow!("Unable to decode - missing rain doc prefix")) } -// pub fn decode_cbor(cbor_data: Vec) -> Result> { -// let mut decoder = Decoder::new(&cbor_data); +/// Receive a vec of RainMapDoc and try to encode it. +/// +/// **NOTE:** If the length of the Vec is greater than one (1), then the output will be +/// an cbor sequence. +pub fn _encode_rain_meta(docs: Vec) -> Result> { + let cbor_items: usize = docs.len(); + println!("cbor_items: {}", cbor_items); -// let mut all_docs: Vec = vec![]; + let mut main_buffer: Vec = Vec::new(); + let mut buffer = [0u8; 4]; + // let mut buffer = [0u8; 128]; -// while decoder.position() < decoder.input().len() { -// // TODO: Create error response -// let doc: RainMapDoc = decoder.decode().unwrap(); + let mut encoder = Encoder::new(&mut buffer[..]); -// all_docs.push(doc); -// } + let aver = encoder.map(1).unwrap().u8(0).unwrap().u8(200).unwrap(); -// return Ok(all_docs); -// } + println!("xd_0: {}", aver.writer().len()); + aver.writer_mut().fill(99u8); + + println!("xd_1: {}", aver.writer().len()); + + println!("buffer: {}", Bytes::from(buffer)); + + // let mut main_buffer: Vec = Vec::new(); + // // let mut encoder: Encoder<&mut [u8]> = Encoder::new(&mut main_buffer); + + // for doc_index in 0..cbor_items { + // let mut buffer = [0u8; 128]; + + // let mut encoder = Encoder::new(&mut buffer[..]); + + // let doc = docs.get(doc_index).unwrap(); + // let doc_len = doc.len() as u8; + + // // Creating the map based on the rain document length + // encoder.map(doc_len.into()).unwrap(); + + // for key in 0..doc_len { + // match key { + // 0 => { + // // + // encoder.u8(key); + // } + + // // 1 => magic_number = Some(d.u64()?.into()), + + // // 2 => content_type = Some(d.str()?.to_string()), + + // // 3 => content_encoding = Some(d.str()?.to_string()), + + // // 4 => content_language = Some(d.str()?.to_string()), + + // // Does not allow other keys than the defnied by the metadata spec. + // // See: https://github.com/rainprotocol/specs/blob/main/metadata-v1.md#header-name-aliases-cbor-map-keys + // _ => { + // // + // } + // } + // } + + // // + // } + + // let mut buffer = Vec::new(); + // let mut encoder: Encoder<&mut [u8]> = Encoder::new(&mut buffer); + + // // Iterate over your data chunks and encode them + // for chunk in data_chunks { + // encoder.encode(chunk)?; + // } + + // let response = encoder.encode(single_doc); + + // println!("buffer_end: {}", Bytes::from(buffer)); + + // encoder. + + // Encoder::encode(&mut self, single_doc); + + // let single_doc_0 = docs.get(0).unwrap(); + // let size_0: usize = single_doc_0.len(); + // println!("size_0: {}", size_0); + + // let single_doc_1 = docs.get(1).unwrap(); + // let size_1: usize = single_doc_1.len(); + // println!("size_1: {}", size_1); + // Encoder::map(&mut self, len) + + // for _ in 0..cbor_items { + // // + // } -/// Receive a vec of RainMapDoc and try to encode it. -pub fn _encode_rain_meta(_docs: Vec) -> Result> { - // Ok([0].to_vec()) } + +// TODO: Use this for recursive encode the RainDocs +// +// let mut data: [u8; 1024] = [1; 1024]; // Example filled array +// +// data[data.len() - 1] = 0; +// data[data.len() - 2] = 0; +// println!("1: {:?}", data.len()); +// +// let resp = remove_trailing_zeros(&data); +// println!("2: {:?}", resp.unwrap().len()); +fn _remove_trailing_zeros(arr: &[u8]) -> Option> { + // Find the position of the last non-zero element + let length = arr.iter().rposition(|&x| x != 0).map(|pos| pos + 1); + + match length { + Some(len) => { + // Create a new Vec with the non-zero data + let new_vec: Vec = arr[0..len].to_vec(); + Some(new_vec) + } + None => None, // All elements are zeros + } +} From cb057e719f4ce176c871072bb4f18667f083be9d Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 18 Oct 2023 20:10:43 -0400 Subject: [PATCH 028/163] update subgraph code --- subgraph/schema.graphql | 20 +++--- subgraph/src/orderBook.ts | 135 ++++++++++++++++++++++++++++---------- subgraph/src/utils.ts | 1 + 3 files changed, 112 insertions(+), 44 deletions(-) diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index f389a8c374..8bd7299b5b 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -12,24 +12,26 @@ type RainMetaV1 @entity { "Original meta bytes directly emitted from the contract" metaBytes: Bytes! # Original meta bytes emitted from the contract "The meta content V1 decoded from the meta bytes emitted" - content: [MetaContentV1!] @derivedFrom(field: "documents") + content: [ContentMetaV1!]! } -type MetaContentV1 @entity { - "The hash of the Map Rain Meta document or CBOR Item" - id: Bytes! # Hash of the whole stringify data. - "The payload present on the index 0 of the Rain meta Document" - payload: Bytes! - "The magic number that is used to track the payload" +type ContentMetaV1 @entity { + "The hash of this meta, this basically is the hash of 'rawBytes' field" + id: Bytes! + "The cbor map item bytes." + rawBytes: Bytes! + "The magic number associated with this meta" magicNumber: BigInt! + "The payload of this content" + payload: Bytes! + "The RainMeta records that have this cbor map as part of their sequence" + parents: [RainMetaV1!]! "The header name info for Content-Type" contentType: String "The header name info for Content-Encoding. It's optional" contentEncoding: String "The header name info for Content-Language. It's optional" contentLanguage: String - "RainMeta documents bytes that have this content" - documents: [RainMetaV1!]! } # Created with the first AddOrder event, then updated on the corresponding AddOrder/RemoveOrder events diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts index 05725145a4..7a301052fd 100644 --- a/subgraph/src/orderBook.ts +++ b/subgraph/src/orderBook.ts @@ -1,7 +1,7 @@ import { Bounty, IO, - MetaContentV1, + ContentMetaV1, Order, OrderClearStateChange, ClearOrderConfig, @@ -67,7 +67,7 @@ import { toDisplay, tuplePrefix, } from "./utils"; -import { CBORDecoder } from "@rainprotocol/assemblyscript-cbor"; +import { CBORDecoder, CBOREncoder } from "@rainprotocol/assemblyscript-cbor"; import { ExpressionJSONString, OrderString } from "./orderJsonString"; export function handleContext(event: Context): void { @@ -904,6 +904,9 @@ export function handleMetaV1(event: MetaV1): void { const data = new CBORDecoder(stringToArrayBuffer(meta)); const res = data.parse(); + // MetaV1.content + const auxContent = metaV1.content; + const contentArr: ContentMeta[] = []; if (res.isSequence) { @@ -940,17 +943,30 @@ export function handleMetaV1(event: MetaV1): void { } for (let i = 0; i < contentArr.length; i++) { - contentArr[i].generate(); + const metaContent_ = contentArr[i].generate(event.address.toHex()); + + // This include each meta content on the RainMeta related + if (!auxContent.includes(metaContent_.id)) { + auxContent.push(metaContent_.id); + } + } + + // Saving + for (let i = 0; i < contentArr.length; i++) { + contentArr[i].saveMeta(); } + + metaV1.content = auxContent; + metaV1.save(); } else { // The meta emitted does not include the RainMeta magic number, so does not // follow the RainMeta Desing return; } } -// TODO: Update the ContentMeta to the Interpreter.ContentMeta code export class ContentMeta { rainMetaId: Bytes; + encodedData: Bytes = Bytes.empty(); payload: Bytes = Bytes.empty(); // eslint-disable-next-line @typescript-eslint/ban-types magicNumber: BigInt = BigInt.zero(); @@ -958,6 +974,13 @@ export class ContentMeta { contentEncoding: string = ""; contentLanguage: string = ""; + private contentTypeAdded: boolean = false; + private contentEncodingAdded: boolean = false; + private contentLanguageAdded: boolean = false; + + private metaContent: ContentMetaV1 = new ContentMetaV1(Bytes.empty()); + private metaStored: boolean = false; + constructor( metaContentV1Object_: TypedMap, rainMetaID_: Bytes @@ -988,9 +1011,20 @@ export class ContentMeta { if (magicNumber) this.magicNumber = magicNumber.toBigInt(); // Keys optionals - if (contentType) this.contentType = contentType.toString(); - if (contentEncoding) this.contentEncoding = contentEncoding.toString(); - if (contentLanguage) this.contentLanguage = contentLanguage.toString(); + if (contentType) { + this.contentTypeAdded = true; + this.contentType = contentType.toString(); + } + + if (contentEncoding) { + this.contentEncodingAdded = true; + this.contentEncoding = contentEncoding.toString(); + } + + if (contentLanguage) { + this.contentLanguageAdded = true; + this.contentLanguage = contentLanguage.toString(); + } } /** @@ -1050,43 +1084,67 @@ export class ContentMeta { private getContentId(): Bytes { // Values as Bytes - const payloadB = this.payload; - const magicNumberB = Bytes.fromHexString(this.magicNumber.toHex()); - const contentTypeB = Bytes.fromUTF8(this.contentType); - const contentEncodingB = Bytes.fromUTF8(this.contentEncoding); - const contentLanguageB = Bytes.fromUTF8(this.contentLanguage); - - // payload + magicNumber + contentType + contentEncoding + contentLanguage - const contentId = getKeccak256FromBytes( - payloadB - .concat(magicNumberB) - .concat(contentTypeB) - .concat(contentEncodingB) - .concat(contentLanguageB) - ); + const encoder = new CBOREncoder(); + // Initially, the map always have two keys/values (payload and magic number) + let mapLength = 2; - return contentId; + if (this.contentTypeAdded) mapLength += 1; + if (this.contentEncodingAdded) mapLength += 1; + if (this.contentLanguageAdded) mapLength += 1; + + encoder.addObject(mapLength); + + // -- Add key 0 (payload) + encoder.addUint8(0); + encoder.addBytes(this.payload); + + // -- Add key 1 (magic number) + encoder.addUint8(1); + encoder.addUint64(this.magicNumber.toU64()); + + if (this.contentTypeAdded) { + // -- Add key 2 (Content-Type) + encoder.addUint8(2); + encoder.addString(this.contentType); + } + + if (this.contentEncodingAdded) { + // -- Add key 3 (Content-Encoding) + encoder.addUint8(3); + encoder.addString(this.contentEncoding); + } + + if (this.contentLanguageAdded) { + // -- Add key 4 (Content-Language) + encoder.addUint8(4); + encoder.addString(this.contentLanguage); + } + + this.encodedData = Bytes.fromHexString(encoder.serializeString()); + + return getKeccak256FromBytes(this.encodedData); } /** - * Create or generate a MetaContentV1 entity based on the current fields: + * Create or generate a ContentMetaV1 entity based on the current fields: * - * - If the MetaContentV1 does not exist, create the MetaContentV1 entity and + * - If the ContentMetaV1 does not exist, create the ContentMetaV1 entity and * made the relation to the rainMetaId. * - * - If the MetaContentV1 does exist, add the relation to the rainMetaId. + * - If the ContentMetaV1 does exist, add the relation to the rainMetaId. */ - generate(): MetaContentV1 { + generate(addressID: string): ContentMetaV1 { const contentId = this.getContentId(); - let metaContent = MetaContentV1.load(contentId); + let metaContent = ContentMetaV1.load(contentId); if (!metaContent) { - metaContent = new MetaContentV1(contentId); + metaContent = new ContentMetaV1(contentId); - metaContent.payload = this.payload; + metaContent.rawBytes = this.encodedData; metaContent.magicNumber = this.magicNumber; - metaContent.documents = []; + metaContent.payload = this.payload; + metaContent.parents = []; if (this.contentType != "") metaContent.contentType = this.contentType; @@ -1097,13 +1155,20 @@ export class ContentMeta { metaContent.contentLanguage = this.contentLanguage; } - const aux = metaContent.documents; - if (!aux.includes(this.rainMetaId)) aux.push(this.rainMetaId); + const auxParents = metaContent.parents; + if (!auxParents.includes(this.rainMetaId)) auxParents.push(this.rainMetaId); + metaContent.parents = auxParents; - metaContent.documents = aux; + this.metaContent = metaContent; + this.metaStored = true; + // metaContent.save(); - metaContent.save(); + return this.metaContent; + } - return metaContent; + saveMeta(): void { + if (this.metaStored && this.metaContent.id.notEqual(Bytes.empty())) { + this.metaContent.save(); + } } } diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index 2aef28f46e..7d7e3d60d6 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -247,6 +247,7 @@ export function getRainMetaV1(meta_: Bytes): RainMetaV1 { if (!metaV1) { metaV1 = new RainMetaV1(metaV1_ID); metaV1.metaBytes = meta_; + metaV1.content = []; metaV1.save(); } From c7f0ae8e45ac9db0c57ab95418ae6fe8f97fa345 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 18 Oct 2023 20:25:40 -0400 Subject: [PATCH 029/163] wip: more queries --- subgraph/tests/entities.rs | 13 +- subgraph/tests/utils/cbor.rs | 242 ++++++++++++++++------------------- subgraph/tests/utils/mod.rs | 32 ++++- 3 files changed, 146 insertions(+), 141 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index a240ea310e..8b60975bf9 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -6,7 +6,7 @@ use anyhow::Result; use ethers::{signers::Signer, types::Bytes, utils::keccak256}; use subgraph::{wait, Query}; use utils::{ - cbor::{_encode_rain_meta, decode_rain_meta, RainMapDoc}, + cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{get_orderbook, read_orderbook_meta}, }; @@ -147,12 +147,15 @@ async fn rain_meta_v1_entity_test() -> Result<()> { #[test] fn cbor_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes - let ob_meta = read_orderbook_meta(); - // println!("ob_meta: {}", Bytes::from(ob_meta.clone())); + let ob_meta: Vec = read_orderbook_meta(); + + let output: Vec = decode_rain_meta(ob_meta.clone().into())?; + + let (_, cbor_data) = ob_meta.split_at(8); - let output: Vec = decode_rain_meta(ob_meta.into())?; + let encoded_again = encode_rain_docs(output); - println!("output.len: {}\n", output.len()); + assert_eq!(cbor_data.to_vec(), encoded_again); Ok(()) } diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index efaf1c3d05..24cde05607 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -1,9 +1,9 @@ -use super::MagicNumber; -use anyhow::{anyhow, Error, Result}; +use super::{string_to_bytes, MagicNumber}; +use anyhow::{anyhow, Result}; use ethers::types::{Bytes, U256}; use minicbor::data::Type; use minicbor::decode::{Decode, Decoder, Error as DecodeError}; -use minicbor::encode::{Encode, Encoder, Error as EncodeError, Write}; +use minicbor::encode::Encoder; use serde::Deserialize; #[derive(Debug, Deserialize)] @@ -16,6 +16,9 @@ pub struct RainMapDoc { } impl RainMapDoc { + /// Keys prensent on the RainDocument + /// + /// See: https://github.com/rainprotocol/specs/blob/main/metadata-v1.md#header-name-aliases-cbor-map-keys fn len(&self) -> usize { // Starting on two (2) since payload and magic_number are not optional. let mut count = 2; @@ -33,6 +36,49 @@ impl RainMapDoc { count } + /// Length in bytes fo the rain document + fn len_bytes(&self) -> usize { + // The byte used by the known length/size map + let mut count = 1; + + // Getting the length of the payload + // Key(1 byte) + string type(1 byte) + arg bytes + data bytes + let payload_type_size = key_bytes_size(&self.payload); + count += 2 + payload_type_size + &self.payload.len(); + + // Tecnically, the magic number in RainDocument it should be a u64(8bytes) + // So, it should 1 byte from the map key, 1 byte for the u64 representaiton + // and 8 bytes for the number itself. So, in total is 10 bytes + // Later we could add support for receiving any number. + count += 10; // 10 bytes + + // Check for optional fiedls + if self.content_type.is_some() { + let string_bytes = string_to_bytes(self.content_type.clone().unwrap()); + let type_size = key_bytes_size(&string_bytes); + + // Key(1 byte) + string type(1 byte) + arg bytes + data bytes + count += 2 + type_size + string_bytes.len(); + } + if self.content_encoding.is_some() { + let string_bytes = string_to_bytes(self.content_encoding.clone().unwrap()); + let type_size = key_bytes_size(&string_bytes); + + // Key(1 byte) + string type(1 byte) + arg bytes + data bytes + count += 2 + type_size + string_bytes.len(); + } + if self.content_language.is_some() { + let string_bytes = string_to_bytes(self.content_language.clone().unwrap()); + let type_size = key_bytes_size(&string_bytes); + + // Key(1 byte) + string type(1 byte) + arg bytes + data bytes + count += 2 + type_size + string_bytes.len(); + } + + // return it + count + } + fn bad_meta_map() -> Result { Err(DecodeError::message("bad rain meta map")) } @@ -100,32 +146,6 @@ impl<'b> Decode<'b, ()> for RainMapDoc { } } -// impl Encode for RainMapDoc { -// fn encode( -// &self, -// enc: &mut Encoder, -// ctx: &mut C, -// ) -> Result<(), EncodeError> { -// println!("&self: {:?}\n", &self); - -// let doc_len = &self.len(); -// println!("doc_len: {:?}\n", doc_len); - -// enc.u8(20)?.end(); -// // enc.map(1) - -// // println!("xdd: {:?}", pave); -// // let averr = pave.ok(); -// // if pave.is_err() { -// // println!("pave failed"); -// // } else { -// // println!("pave is ok"); -// // } - -// Ok(()) -// } -// } - /// Receive a Rain Meta document with his prefix bytes and try to decode it usin cbor. pub fn decode_rain_meta(meta_data: Bytes) -> Result> { let (doc_magic_number, cbor_data) = meta_data.split_at(8); @@ -152,121 +172,85 @@ pub fn decode_rain_meta(meta_data: Bytes) -> Result> { Err(anyhow!("Unable to decode - missing rain doc prefix")) } -/// Receive a vec of RainMapDoc and try to encode it. -/// -/// **NOTE:** If the length of the Vec is greater than one (1), then the output will be +/// Receive a vec of RainMapDoc and try to encode it. If the length of the Vec is greater than one (1), then the output will be /// an cbor sequence. -pub fn _encode_rain_meta(docs: Vec) -> Result> { - let cbor_items: usize = docs.len(); - println!("cbor_items: {}", cbor_items); - +/// +/// **NOTE:** Do NOT include the rain doc magic number at the start. +pub fn encode_rain_docs(docs: Vec) -> Vec { let mut main_buffer: Vec = Vec::new(); - let mut buffer = [0u8; 4]; - // let mut buffer = [0u8; 128]; - let mut encoder = Encoder::new(&mut buffer[..]); + for doc_index in 0..docs.len() { + let doc = docs.get(doc_index).unwrap(); + let doc_len = doc.len() as u8; - let aver = encoder.map(1).unwrap().u8(0).unwrap().u8(200).unwrap(); + let mut inner_buffer: Vec = vec![0u8; doc.len_bytes()]; + let mut inner_encoder = Encoder::new(&mut inner_buffer[..]); - println!("xd_0: {}", aver.writer().len()); - aver.writer_mut().fill(99u8); + // Creating the map based on the rain document length + let _ = inner_encoder.map(doc_len.into()); - println!("xd_1: {}", aver.writer().len()); + // Key 0 + let _ = inner_encoder.u8(0); + let _ = inner_encoder.bytes(&doc.payload); - println!("buffer: {}", Bytes::from(buffer)); + // Key 1 + // Low_u64 to not panic (max u64 as the spec + let _ = inner_encoder.u8(1); + let _ = inner_encoder.u64(doc.magic_number.low_u64()); - // let mut main_buffer: Vec = Vec::new(); - // // let mut encoder: Encoder<&mut [u8]> = Encoder::new(&mut main_buffer); - - // for doc_index in 0..cbor_items { - // let mut buffer = [0u8; 128]; - - // let mut encoder = Encoder::new(&mut buffer[..]); - - // let doc = docs.get(doc_index).unwrap(); - // let doc_len = doc.len() as u8; - - // // Creating the map based on the rain document length - // encoder.map(doc_len.into()).unwrap(); - - // for key in 0..doc_len { - // match key { - // 0 => { - // // - // encoder.u8(key); - // } - - // // 1 => magic_number = Some(d.u64()?.into()), - - // // 2 => content_type = Some(d.str()?.to_string()), - - // // 3 => content_encoding = Some(d.str()?.to_string()), - - // // 4 => content_language = Some(d.str()?.to_string()), - - // // Does not allow other keys than the defnied by the metadata spec. - // // See: https://github.com/rainprotocol/specs/blob/main/metadata-v1.md#header-name-aliases-cbor-map-keys - // _ => { - // // - // } - // } - // } - - // // - // } - - // let mut buffer = Vec::new(); - // let mut encoder: Encoder<&mut [u8]> = Encoder::new(&mut buffer); - - // // Iterate over your data chunks and encode them - // for chunk in data_chunks { - // encoder.encode(chunk)?; - // } - - // let response = encoder.encode(single_doc); - - // println!("buffer_end: {}", Bytes::from(buffer)); - - // encoder. + if doc.content_type.is_some() { + let _ = inner_encoder.u8(2); + let _ = inner_encoder.str(&doc.content_type.clone().unwrap()); + } - // Encoder::encode(&mut self, single_doc); + if doc.content_encoding.is_some() { + let _ = inner_encoder.u8(3); + let _ = inner_encoder.str(&doc.content_encoding.clone().unwrap()); + } - // let single_doc_0 = docs.get(0).unwrap(); - // let size_0: usize = single_doc_0.len(); - // println!("size_0: {}", size_0); + if doc.content_language.is_some() { + let _ = inner_encoder.u8(4); + let _ = inner_encoder.str(&doc.content_language.clone().unwrap()); + } - // let single_doc_1 = docs.get(1).unwrap(); - // let size_1: usize = single_doc_1.len(); - // println!("size_1: {}", size_1); - // Encoder::map(&mut self, len) + // println!( + // "inner_buffer: {}", + // Bytes::from(_remove_trailing_zeros(&inner_buffer.as_slice())) + // ); - // for _ in 0..cbor_items { - // // - // } + main_buffer.append(&mut inner_buffer); + } - Ok([0].to_vec()) + return main_buffer; } -// TODO: Use this for recursive encode the RainDocs -// -// let mut data: [u8; 1024] = [1; 1024]; // Example filled array -// -// data[data.len() - 1] = 0; -// data[data.len() - 2] = 0; -// println!("1: {:?}", data.len()); -// -// let resp = remove_trailing_zeros(&data); -// println!("2: {:?}", resp.unwrap().len()); -fn _remove_trailing_zeros(arr: &[u8]) -> Option> { - // Find the position of the last non-zero element - let length = arr.iter().rposition(|&x| x != 0).map(|pos| pos + 1); - - match length { - Some(len) => { - // Create a new Vec with the non-zero data - let new_vec: Vec = arr[0..len].to_vec(); - Some(new_vec) +/// Based on the length of the bytes, return if it will need extra bytes to +/// store the byte length based in CBOR. +/// +/// ## Example: +/// ``` +/// // If size is 0, the bytes length will be in the args itself. +/// let size_0 = key_bytes_size(<>); +/// +/// // If size is 1, it will need 1 byte more to store the length. +/// let size_1 = key_bytes_size(<>); +/// +/// // If size is 2, it will need 2 byte more to store the length. +/// let size_2 = key_bytes_size(<>); +/// +/// ``` +fn key_bytes_size(bytes: &Bytes) -> usize { + let size_bytes = bytes.len(); + + if size_bytes < 119 { + return 0; + } else { + let mut bytes = 1; + let mut value = 255; + while size_bytes > value { + bytes *= 2; + value = (value << 8) | 255; } - None => None, // All elements are zeros + bytes } } diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 446e8edf5c..113888d5fb 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -111,6 +111,24 @@ pub fn _run_cmd(main_cmd: &str, args: &[&str]) -> bool { } } +pub fn string_to_bytes(value: String) -> Bytes { + Bytes::from(value.as_bytes().to_vec()) +} + +pub fn _remove_trailing_zeros(arr: &[u8]) -> Vec { + // Find the position of the last non-zero element + let length = arr.iter().rposition(|&x| x != 0).map(|pos| pos + 1); + + match length { + Some(len) => { + // Create a new Vec with the non-zero data + arr[0..len].to_vec() + } + // All elements are zeros, so return just one zero + None => vec![0], + } +} + /// Rain Magic Numbers pub struct MagicNumber; @@ -119,31 +137,31 @@ impl MagicNumber { Bytes::from_hex("0xff0a89c674ee7874").unwrap() } - pub fn solidity_abi_v2() -> Bytes { + pub fn _solidity_abi_v2() -> Bytes { Bytes::from_hex("0xffe5ffb4a3ff2cde").unwrap() } - pub fn op_meta_v1() -> Bytes { + pub fn _op_meta_v1() -> Bytes { Bytes::from_hex("0xffe5282f43e495b4").unwrap() } - pub fn interpreter_caller_meta_v1() -> Bytes { + pub fn _interpreter_caller_meta_v1() -> Bytes { Bytes::from_hex("0xffc21bbf86cc199b").unwrap() } - pub fn authoring_meta_v1() -> Bytes { + pub fn _authoring_meta_v1() -> Bytes { Bytes::from_hex("0xffe9e3a02ca8e235").unwrap() } - pub fn rainlang_v1() -> Bytes { + pub fn _rainlang_v1() -> Bytes { Bytes::from_hex("0xff1c198cec3b48a7").unwrap() } - pub fn dotrain_v1() -> Bytes { + pub fn _dotrain_v1() -> Bytes { Bytes::from_hex("0xffdac2f2f37be894").unwrap() } - pub fn expression_deployer_v2() -> Bytes { + pub fn _expression_deployer_v2() -> Bytes { Bytes::from_hex("0xffdb988a8cd04d32").unwrap() } } From 5b2e9e2350c8fb18ee8be5f484e794063a0833eb Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 18 Oct 2023 20:34:53 -0400 Subject: [PATCH 030/163] decode cbor implementation --- subgraph/tests/entities.rs | 4 +- subgraph/tests/utils/cbor.rs | 74 ++++++++++++++++++++---------------- 2 files changed, 43 insertions(+), 35 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 8b60975bf9..a60a41d1f5 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -11,7 +11,7 @@ use utils::{ }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -117,7 +117,7 @@ async fn orderbook_entity_test() -> Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index 24cde05607..5f69005598 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -3,7 +3,7 @@ use anyhow::{anyhow, Result}; use ethers::types::{Bytes, U256}; use minicbor::data::Type; use minicbor::decode::{Decode, Decoder, Error as DecodeError}; -use minicbor::encode::Encoder; +use minicbor::encode::{Encode, Encoder, Error as EncodeError, Write}; use serde::Deserialize; #[derive(Debug, Deserialize)] @@ -146,6 +146,45 @@ impl<'b> Decode<'b, ()> for RainMapDoc { } } +impl Encode for RainMapDoc { + fn encode( + &self, + enc: &mut Encoder, + _: &mut C, + ) -> Result<(), EncodeError> { + let doc_len = self.len() as u8; + + // Creating the map based on the rain document length + let _ = enc.map(doc_len.into()); + + // Key 0 + let _ = enc.u8(0); + let _ = enc.bytes(&self.payload); + + // Key 1 + // Low_u64 to not panic (max u64 as the spec + let _ = enc.u8(1); + let _ = enc.u64(self.magic_number.low_u64()); + + if self.content_type.is_some() { + let _ = enc.u8(2); + let _ = enc.str(&self.content_type.clone().unwrap()); + } + + if self.content_encoding.is_some() { + let _ = enc.u8(3); + let _ = enc.str(&self.content_encoding.clone().unwrap()); + } + + if self.content_language.is_some() { + let _ = enc.u8(4); + let _ = enc.str(&self.content_language.clone().unwrap()); + } + + Ok(()) + } +} + /// Receive a Rain Meta document with his prefix bytes and try to decode it usin cbor. pub fn decode_rain_meta(meta_data: Bytes) -> Result> { let (doc_magic_number, cbor_data) = meta_data.split_at(8); @@ -181,42 +220,11 @@ pub fn encode_rain_docs(docs: Vec) -> Vec { for doc_index in 0..docs.len() { let doc = docs.get(doc_index).unwrap(); - let doc_len = doc.len() as u8; let mut inner_buffer: Vec = vec![0u8; doc.len_bytes()]; let mut inner_encoder = Encoder::new(&mut inner_buffer[..]); - // Creating the map based on the rain document length - let _ = inner_encoder.map(doc_len.into()); - - // Key 0 - let _ = inner_encoder.u8(0); - let _ = inner_encoder.bytes(&doc.payload); - - // Key 1 - // Low_u64 to not panic (max u64 as the spec - let _ = inner_encoder.u8(1); - let _ = inner_encoder.u64(doc.magic_number.low_u64()); - - if doc.content_type.is_some() { - let _ = inner_encoder.u8(2); - let _ = inner_encoder.str(&doc.content_type.clone().unwrap()); - } - - if doc.content_encoding.is_some() { - let _ = inner_encoder.u8(3); - let _ = inner_encoder.str(&doc.content_encoding.clone().unwrap()); - } - - if doc.content_language.is_some() { - let _ = inner_encoder.u8(4); - let _ = inner_encoder.str(&doc.content_language.clone().unwrap()); - } - - // println!( - // "inner_buffer: {}", - // Bytes::from(_remove_trailing_zeros(&inner_buffer.as_slice())) - // ); + let _ = inner_encoder.encode(doc); main_buffer.append(&mut inner_buffer); } From c18082060e03c733a52bb0e797824e24d547bf1b Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 18 Oct 2023 21:56:19 -0400 Subject: [PATCH 031/163] improve meta tests --- subgraph/Cargo.lock | 1 + subgraph/Cargo.toml | 1 + subgraph/tests/entities.rs | 24 +++++++++++++++--------- subgraph/tests/utils/cbor.rs | 36 +++++++++++++++++++++++++++++------- 4 files changed, 46 insertions(+), 16 deletions(-) diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock index 2670644951..32e515f531 100644 --- a/subgraph/Cargo.lock +++ b/subgraph/Cargo.lock @@ -3286,6 +3286,7 @@ dependencies = [ "serde_bytes", "serde_json", "thiserror", + "tiny-keccak", "tokio", "web3", ] diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index 79161e1094..727a8ae466 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -29,4 +29,5 @@ lazy_static = "1.4.0" thiserror = "1.0.49" once_cell = "1.18.0" minicbor = "0.20.0" +tiny-keccak = "2.0.2" diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index a60a41d1f5..6ac4ceba75 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -11,7 +11,7 @@ use utils::{ }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -117,7 +117,7 @@ async fn orderbook_entity_test() -> Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -128,7 +128,8 @@ async fn rain_meta_v1_entity_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta = read_orderbook_meta(); let ob_meta_bytes = Bytes::from(ob_meta.clone()); - let ob_meta_hashed = Bytes::from(keccak256(ob_meta)); + let ob_meta_hashed = Bytes::from(keccak256(ob_meta.clone())); + let ob_meta_decoded = decode_rain_meta(ob_meta.clone().into())?; // Query the RainMetaV1 entity let response = Query::rain_meta_v1(ob_meta_hashed.clone()) @@ -137,25 +138,30 @@ async fn rain_meta_v1_entity_test() -> Result<()> { assert_eq!(response.id, ob_meta_hashed); assert_eq!(response.meta_bytes, ob_meta_bytes); - // assert_eq!(response.content, ob_meta_bytes); - println!("response.content: {:?}", response.content); + for content in ob_meta_decoded { + let content_id: Bytes = content.hash().to_fixed_bytes().into(); + assert!( + response.content.contains(&content_id), + "Missing id '{}' in decoded contents: {:?}", + content_id, + response.content + ); + } Ok(()) } #[test] -fn cbor_test() -> Result<()> { +fn util_cbor_meta_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); let output: Vec = decode_rain_meta(ob_meta.clone().into())?; - let (_, cbor_data) = ob_meta.split_at(8); - let encoded_again = encode_rain_docs(output); - assert_eq!(cbor_data.to_vec(), encoded_again); + assert_eq!(ob_meta, encoded_again); Ok(()) } diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index 5f69005598..fe36943f96 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -1,11 +1,14 @@ use super::{string_to_bytes, MagicNumber}; use anyhow::{anyhow, Result}; -use ethers::types::{Bytes, U256}; +use ethers::types::{Bytes, H256, U256}; use minicbor::data::Type; use minicbor::decode::{Decode, Decoder, Error as DecodeError}; use minicbor::encode::{Encode, Encoder, Error as EncodeError, Write}; use serde::Deserialize; +use tiny_keccak::Hasher; +use tiny_keccak::Keccak; + #[derive(Debug, Deserialize)] pub struct RainMapDoc { pub payload: Bytes, @@ -79,6 +82,29 @@ impl RainMapDoc { count } + /// Hash the rain map document using Keccak256 + pub fn hash(&self) -> H256 { + let doc_encoded = self.encode(); + + let mut keccak = Keccak::v256(); + keccak.update(&doc_encoded); + + let mut output = [0u8; 32]; + keccak.finalize(&mut output); + + H256::from(output) + } + + /// CBOR encode the Rain Document using CBOR. + pub fn encode(&self) -> Vec { + let mut buffer: Vec = vec![0u8; self.len_bytes()]; + let mut encoder = Encoder::new(&mut buffer[..]); + + let _ = encoder.encode(self); + + return buffer; + } + fn bad_meta_map() -> Result { Err(DecodeError::message("bad rain meta map")) } @@ -214,17 +240,13 @@ pub fn decode_rain_meta(meta_data: Bytes) -> Result> { /// Receive a vec of RainMapDoc and try to encode it. If the length of the Vec is greater than one (1), then the output will be /// an cbor sequence. /// -/// **NOTE:** Do NOT include the rain doc magic number at the start. pub fn encode_rain_docs(docs: Vec) -> Vec { - let mut main_buffer: Vec = Vec::new(); + let mut main_buffer = MagicNumber::rain_meta_document_v1().to_vec(); for doc_index in 0..docs.len() { let doc = docs.get(doc_index).unwrap(); - let mut inner_buffer: Vec = vec![0u8; doc.len_bytes()]; - let mut inner_encoder = Encoder::new(&mut inner_buffer[..]); - - let _ = inner_encoder.encode(doc); + let mut inner_buffer = doc.encode(); main_buffer.append(&mut inner_buffer); } From 796dd52852eee6a84d6aed3bebef2365eaf2ca0a Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 00:56:33 -0400 Subject: [PATCH 032/163] wip: more queries --- subgraph/Cargo.toml | 1 + subgraph/flake.nix | 1 - subgraph/tests/entities.rs | 41 + .../content_meta_v1/content_meta_v1.graphql | 14 + .../subgraph/query/content_meta_v1/mod.rs | 73 + subgraph/tests/subgraph/query/mod.rs | 12 + .../tests/subgraph/query/orderbook/mod.rs | 15 +- .../tests/subgraph/query/rain_meta_v1/mod.rs | 19 +- subgraph/tests/subgraph/query/schema.json | 4570 +++++++++-------- subgraph/tests/utils/mod.rs | 13 +- 10 files changed, 2571 insertions(+), 2188 deletions(-) create mode 100644 subgraph/tests/subgraph/query/content_meta_v1/content_meta_v1.graphql create mode 100644 subgraph/tests/subgraph/query/content_meta_v1/mod.rs diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index 727a8ae466..ee8a546aa5 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -31,3 +31,4 @@ once_cell = "1.18.0" minicbor = "0.20.0" tiny-keccak = "2.0.2" + diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 1adff88d25..e4150376a3 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -56,7 +56,6 @@ ci-test = pkgs.writeShellScriptBin "ci-test" ('' clear; cargo test -- --nocapture; - kill -9 $(lsof -t -i :8545); ''); diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 6ac4ceba75..7a8a89f434 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -152,6 +152,47 @@ async fn rain_meta_v1_entity_test() -> Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn content_meta_v1_entity_test() -> Result<()> { + // Always checking if OB is deployed, so we attemp to obtaing it + let _ = get_orderbook().await.expect("cannot get OB"); + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // Read meta from root repository (output from nix command) and convert to Bytes + let ob_meta = read_orderbook_meta(); + let ob_meta_hashed = Bytes::from(keccak256(ob_meta.clone())); + let ob_meta_decoded = decode_rain_meta(ob_meta.clone().into())?; + + for content in ob_meta_decoded { + // Query the ContentMetaV1 entity + let response = Query::content_meta_v1(content.hash().as_fixed_bytes().into()) + .await + .expect("cannot get the query response"); + + // Make the asserts + assert_eq!(response.id, content.hash().as_bytes().to_vec()); + assert_eq!(response.raw_bytes, content.encode()); + assert_eq!(response.magic_number, content.magic_number); + assert_eq!(response.payload, content.payload); + + assert_eq!(response.content_type, content.content_type); + assert_eq!(response.content_encoding, content.content_encoding); + assert_eq!(response.content_language, content.content_language); + + assert!( + response.parents.contains(&ob_meta_hashed), + "Missing parent id '{}' in {:?}", + ob_meta_hashed, + response.parents + ); + } + + Ok(()) +} + #[test] fn util_cbor_meta_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/content_meta_v1/content_meta_v1.graphql b/subgraph/tests/subgraph/query/content_meta_v1/content_meta_v1.graphql new file mode 100644 index 0000000000..35920c3752 --- /dev/null +++ b/subgraph/tests/subgraph/query/content_meta_v1/content_meta_v1.graphql @@ -0,0 +1,14 @@ +query ContentMetaV1($content_meta: String) { + contentMetaV1(id: $content_meta) { + id + rawBytes + magicNumber + payload + parents { + id + } + contentType + contentEncoding + contentLanguage + } +} diff --git a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs new file mode 100644 index 0000000000..2179dcac45 --- /dev/null +++ b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs @@ -0,0 +1,73 @@ +use self::content_meta_v1::ResponseData; +use super::SG_URL; +use crate::{subgraph::wait, utils::mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/content_meta_v1/content_meta_v1.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] +pub struct ContentMetaV1; + +#[derive(Serialize, Deserialize, Debug)] +pub struct ContentMetaV1Response { + pub id: Bytes, + pub raw_bytes: Bytes, + pub magic_number: U256, + pub payload: Bytes, + pub parents: Vec, + pub content_type: Option, + pub content_encoding: Option, + pub content_language: Option, +} + +impl ContentMetaV1Response { + pub fn from(response: ResponseData) -> ContentMetaV1Response { + let data = response.content_meta_v1.unwrap(); + + let parents: Vec = data.parents.iter().map(|meta| meta.id.clone()).collect(); + + ContentMetaV1Response { + id: data.id, + raw_bytes: data.raw_bytes, + magic_number: mn_mpz_to_u256(&data.magic_number), + payload: data.payload, + parents, + content_type: data.content_type, + content_encoding: data.content_encoding, + content_language: data.content_language, + } + } +} + +pub async fn get_content_meta_v1(id: Bytes) -> Result { + wait().await?; + + let variables = content_meta_v1::Variables { + content_meta: id.to_string().into(), + }; + + let request_body = ContentMetaV1::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response: ContentMetaV1Response = ContentMetaV1Response::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 8413d1668f..ee2863e938 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,11 +1,19 @@ +pub(crate) mod content_meta_v1; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; use anyhow::Result; use ethers::types::{Address, Bytes}; +use once_cell::sync::Lazy; +use reqwest::Url; + +use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; +pub static SG_URL: Lazy = + Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); + pub struct Query; impl Query { @@ -16,4 +24,8 @@ impl Query { pub async fn rain_meta_v1(id: Bytes) -> Result { get_rain_meta_v1(id).await } + + pub async fn content_meta_v1(id: Bytes) -> Result { + get_content_meta_v1(id).await + } } diff --git a/subgraph/tests/subgraph/query/orderbook/mod.rs b/subgraph/tests/subgraph/query/orderbook/mod.rs index cd1924a0ff..338e5d204f 100644 --- a/subgraph/tests/subgraph/query/orderbook/mod.rs +++ b/subgraph/tests/subgraph/query/orderbook/mod.rs @@ -3,9 +3,8 @@ use crate::subgraph::wait; use anyhow::{anyhow, Result}; use ethers::types::{Address, Bytes}; use graphql_client::{GraphQLQuery, Response}; -use reqwest::Url; use serde::{Deserialize, Serialize}; -use std::str::FromStr; +use super::SG_URL; // The paths are relative to the directory where your `Cargo.toml` is located. // Both json and the GraphQL schema language are supported as sources for the schema @@ -48,17 +47,17 @@ impl OrderBookResponse { pub async fn get_orderbook_query(orderbook_address: Address) -> Result { wait().await?; - // TODO: Make a fix string to share - let url = Url::from_str(&"http://localhost:8000/subgraphs/name/test/test") - .expect("cannot get the sg url"); - let variables = order_book::Variables { orderbook: format!("{:?}", orderbook_address).to_string().into(), }; let request_body = OrderBook::build_query(variables); let client = reqwest::Client::new(); - let res = client.post(url.clone()).json(&request_body).send().await?; + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; let response_body: Response = res.json().await?; @@ -67,6 +66,6 @@ pub async fn get_orderbook_query(orderbook_address: Address) -> Result Err(anyhow!("Failed to get OrderBookResponse")), + None => Err(anyhow!("Failed to get query")), } } diff --git a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs index 0aee09ae25..d5646deabd 100644 --- a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs @@ -1,11 +1,10 @@ use self::rain_meta_v1::{RainMetaV1RainMetaV1Content, ResponseData}; +use super::SG_URL; use crate::subgraph::wait; use anyhow::{anyhow, Result}; use ethers::types::Bytes; use graphql_client::{GraphQLQuery, Response}; -use reqwest::Url; use serde::{Deserialize, Serialize}; -use std::str::FromStr; #[derive(GraphQLQuery)] #[graphql( @@ -26,10 +25,7 @@ impl RainMetaV1Response { pub fn from(response: ResponseData) -> RainMetaV1Response { let data = response.rain_meta_v1.unwrap(); - let content_data: Vec = - data.content.unwrap_or(vec![RainMetaV1RainMetaV1Content { - id: Bytes::from([0u8, 32]), - }]); + let content_data: Vec = data.content; let content: Vec = content_data.iter().map(|meta| meta.id.clone()).collect(); @@ -44,16 +40,17 @@ impl RainMetaV1Response { pub async fn get_rain_meta_v1(rain_meta_id: Bytes) -> Result { wait().await?; - let url = Url::from_str(&"http://localhost:8000/subgraphs/name/test/test") - .expect("cannot get the sg url"); - let variables = rain_meta_v1::Variables { rain_meta: rain_meta_id.to_string().into(), }; let request_body = RainMetaV1::build_query(variables); let client = reqwest::Client::new(); - let res = client.post(url.clone()).json(&request_body).send().await?; + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; let response_body: Response = res.json().await?; @@ -62,6 +59,6 @@ pub async fn get_rain_meta_v1(rain_meta_id: Bytes) -> Result let response: RainMetaV1Response = RainMetaV1Response::from(data); Ok(response) } - None => Err(anyhow!("Failed to get metaboard")), + None => Err(anyhow!("Failed to get query")), } } diff --git a/subgraph/tests/subgraph/query/schema.json b/subgraph/tests/subgraph/query/schema.json index 0205e3b122..cfe05288b0 100644 --- a/subgraph/tests/subgraph/query/schema.json +++ b/subgraph/tests/subgraph/query/schema.json @@ -20,11 +20,7 @@ } ], "description": null, - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], + "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "name": "skip" }, { @@ -45,19 +41,13 @@ } ], "description": null, - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], + "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "name": "include" }, { "args": [], "description": "Marks the GraphQL type as indexable entity. Each type that should be an entity is required to be annotated with this directive.", - "locations": [ - "OBJECT" - ], + "locations": ["OBJECT"], "name": "entity" }, { @@ -78,9 +68,7 @@ } ], "description": "Defined a Subgraph ID for an object type", - "locations": [ - "OBJECT" - ], + "locations": ["OBJECT"], "name": "subgraphId" }, { @@ -101,9 +89,7 @@ } ], "description": "creates a virtual field on the entity that may be queried but cannot be set manually through the mappings API.", - "locations": [ - "FIELD_DEFINITION" - ], + "locations": ["FIELD_DEFINITION"], "name": "derivedFrom" } ], @@ -6098,7 +6084,7 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "The hash of this meta, this basically is the hash of 'rawBytes' field", "isDeprecated": false, "name": "id", "type": { @@ -6106,7 +6092,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } } @@ -6114,15 +6100,15 @@ { "args": [], "deprecationReason": null, - "description": "Base caller", + "description": "The cbor map item bytes.", "isDeprecated": false, - "name": "caller", + "name": "rawBytes", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Account", + "kind": "SCALAR", + "name": "Bytes", "ofType": null } } @@ -6130,15 +6116,15 @@ { "args": [], "deprecationReason": null, - "description": "Base contract", + "description": "The magic number associated with this meta", "isDeprecated": false, - "name": "contract", + "name": "magicNumber", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "OrderBook", + "kind": "SCALAR", + "name": "BigInt", "ofType": null } } @@ -6146,80 +6132,16 @@ { "args": [], "deprecationReason": null, - "description": "Contextual data available to both calculate order and handle IO", - "isDeprecated": false, - "name": "callingContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Contains the DECIMAL RESCALED calculations", - "isDeprecated": false, - "name": "calculationsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The inputs context data", - "isDeprecated": false, - "name": "vaultInputsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The outputs context data", + "description": "The payload of this content", "isDeprecated": false, - "name": "vaultOutputsContext", + "name": "payload", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } + "kind": "SCALAR", + "name": "Bytes", + "ofType": null } } }, @@ -6251,7 +6173,7 @@ "name": "orderBy", "type": { "kind": "ENUM", - "name": "SignedContext_orderBy", + "name": "RainMetaV1_orderBy", "ofType": null } }, @@ -6271,25 +6193,29 @@ "name": "where", "type": { "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", + "name": "RainMetaV1_filter", "ofType": null } } ], "deprecationReason": null, - "description": "Optional signed context relevant to the transaction", + "description": "The RainMeta records that have this cbor map as part of their sequence", "isDeprecated": false, - "name": "signedContext", + "name": "parents", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "OBJECT", - "name": "SignedContext", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } } } } @@ -6297,62 +6223,44 @@ { "args": [], "deprecationReason": null, - "description": "Transaction where this event was emitted.", + "description": "The header name info for Content-Type", "isDeprecated": false, - "name": "transaction", + "name": "contentType", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "args": [], "deprecationReason": null, - "description": "Account that sent the transaction this event was emitted in.", + "description": "The header name info for Content-Encoding. It's optional", "isDeprecated": false, - "name": "emitter", + "name": "contentEncoding", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "args": [], "deprecationReason": null, - "description": null, + "description": "The header name info for Content-Language. It's optional", "isDeprecated": false, - "name": "timestamp", + "name": "contentLanguage", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } } ], "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], + "interfaces": [], "kind": "OBJECT", - "name": "ContextEntity", + "name": "ContentMetaV1", "possibleTypes": null }, { @@ -6366,7 +6274,7 @@ "name": "id", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } }, @@ -6376,7 +6284,7 @@ "name": "id_not", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } }, @@ -6386,7 +6294,7 @@ "name": "id_gt", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } }, @@ -6396,7 +6304,7 @@ "name": "id_lt", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } }, @@ -6406,7 +6314,7 @@ "name": "id_gte", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } }, @@ -6416,7 +6324,7 @@ "name": "id_lte", "type": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } }, @@ -6432,7 +6340,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } } @@ -6450,7 +6358,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "Bytes", "ofType": null } } @@ -6459,67 +6367,87 @@ { "defaultValue": null, "description": null, - "name": "caller", + "name": "id_contains", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_not", + "name": "id_not_contains", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_gt", + "name": "rawBytes", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_lt", + "name": "rawBytes_not", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_gte", + "name": "rawBytes_gt", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_lte", + "name": "rawBytes_lt", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_in", + "name": "rawBytes_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_in", "type": { "kind": "LIST", "name": null, @@ -6528,7 +6456,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } } @@ -6537,7 +6465,7 @@ { "defaultValue": null, "description": null, - "name": "caller_not_in", + "name": "rawBytes_not_in", "type": { "kind": "LIST", "name": null, @@ -6546,7 +6474,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } } @@ -6555,197 +6483,239 @@ { "defaultValue": null, "description": null, - "name": "caller_contains", + "name": "rawBytes_contains", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_contains_nocase", + "name": "rawBytes_not_contains", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_not_contains", + "name": "magicNumber", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_not_contains_nocase", + "name": "magicNumber_not", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_starts_with", + "name": "magicNumber_gt", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_starts_with_nocase", + "name": "magicNumber_lt", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_not_starts_with", + "name": "magicNumber_gte", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_not_starts_with_nocase", + "name": "magicNumber_lte", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_ends_with", + "name": "magicNumber_in", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "caller_ends_with_nocase", + "name": "magicNumber_not_in", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "caller_not_ends_with", + "name": "payload", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_not_ends_with_nocase", + "name": "payload_not", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "caller_", + "name": "payload_gt", "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", + "kind": "SCALAR", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract", + "name": "payload_lt", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract_not", + "name": "payload_gte", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract_gt", + "name": "payload_lte", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract_lt", + "name": "payload_in", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "contract_gte", + "name": "payload_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_contains", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract_lte", + "name": "payload_not_contains", "type": { "kind": "SCALAR", - "name": "String", + "name": "Bytes", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract_in", + "name": "parents", "type": { "kind": "LIST", "name": null, @@ -6763,7 +6733,7 @@ { "defaultValue": null, "description": null, - "name": "contract_not_in", + "name": "parents_not", "type": { "kind": "LIST", "name": null, @@ -6781,67 +6751,89 @@ { "defaultValue": null, "description": null, - "name": "contract_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_contains_nocase", + "name": "parents_contains", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "contract_not_contains", + "name": "parents_contains_nocase", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "contract_not_contains_nocase", + "name": "parents_not_contains", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "contract_starts_with", + "name": "parents_not_contains_nocase", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "contract_starts_with_nocase", + "name": "parents_", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "contract_not_starts_with", + "name": "contentType", "type": { "kind": "SCALAR", "name": "String", @@ -6851,7 +6843,7 @@ { "defaultValue": null, "description": null, - "name": "contract_not_starts_with_nocase", + "name": "contentType_not", "type": { "kind": "SCALAR", "name": "String", @@ -6861,7 +6853,7 @@ { "defaultValue": null, "description": null, - "name": "contract_ends_with", + "name": "contentType_gt", "type": { "kind": "SCALAR", "name": "String", @@ -6871,7 +6863,7 @@ { "defaultValue": null, "description": null, - "name": "contract_ends_with_nocase", + "name": "contentType_lt", "type": { "kind": "SCALAR", "name": "String", @@ -6881,7 +6873,7 @@ { "defaultValue": null, "description": null, - "name": "contract_not_ends_with", + "name": "contentType_gte", "type": { "kind": "SCALAR", "name": "String", @@ -6891,7 +6883,7 @@ { "defaultValue": null, "description": null, - "name": "contract_not_ends_with_nocase", + "name": "contentType_lte", "type": { "kind": "SCALAR", "name": "String", @@ -6901,17 +6893,7 @@ { "defaultValue": null, "description": null, - "name": "contract_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext", + "name": "contentType_in", "type": { "kind": "LIST", "name": null, @@ -6920,7 +6902,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -6929,7 +6911,7 @@ { "defaultValue": null, "description": null, - "name": "callingContext_not", + "name": "contentType_not_in", "type": { "kind": "LIST", "name": null, @@ -6938,7 +6920,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -6947,331 +6929,187 @@ { "defaultValue": null, "description": null, - "name": "callingContext_contains", + "name": "contentType_contains", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "callingContext_contains_nocase", + "name": "contentType_contains_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "callingContext_not_contains", + "name": "contentType_not_contains", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "callingContext_not_contains_nocase", + "name": "contentType_not_contains_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "calculationsContext", + "name": "contentType_starts_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "calculationsContext_not", + "name": "contentType_starts_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "calculationsContext_contains", + "name": "contentType_not_starts_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "calculationsContext_contains_nocase", + "name": "contentType_not_starts_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "calculationsContext_not_contains", + "name": "contentType_ends_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "calculationsContext_not_contains_nocase", + "name": "contentType_ends_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultInputsContext", + "name": "contentType_not_ends_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultInputsContext_not", + "name": "contentType_not_ends_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultInputsContext_contains", + "name": "contentEncoding", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultInputsContext_contains_nocase", + "name": "contentEncoding_not", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultInputsContext_not_contains", + "name": "contentEncoding_gt", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultInputsContext_not_contains_nocase", + "name": "contentEncoding_lt", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultOutputsContext", + "name": "contentEncoding_gte", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultOutputsContext_not", + "name": "contentEncoding_lte", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultOutputsContext_contains", + "name": "contentEncoding_in", "type": { "kind": "LIST", "name": null, @@ -7280,7 +7118,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -7289,7 +7127,7 @@ { "defaultValue": null, "description": null, - "name": "vaultOutputsContext_contains_nocase", + "name": "contentEncoding_not_in", "type": { "kind": "LIST", "name": null, @@ -7298,7 +7136,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "String", "ofType": null } } @@ -7307,161 +7145,97 @@ { "defaultValue": null, "description": null, - "name": "vaultOutputsContext_not_contains", + "name": "contentEncoding_contains", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultOutputsContext_not_contains_nocase", + "name": "contentEncoding_contains_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext", + "name": "contentEncoding_not_contains", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext_not", + "name": "contentEncoding_not_contains_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext_contains", + "name": "contentEncoding_starts_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext_contains_nocase", + "name": "contentEncoding_starts_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext_not_contains", + "name": "contentEncoding_not_starts_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext_not_contains_nocase", + "name": "contentEncoding_not_starts_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "signedContext_", + "name": "contentEncoding_ends_with", "type": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", + "kind": "SCALAR", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "transaction", + "name": "contentEncoding_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7471,7 +7245,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not", + "name": "contentEncoding_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -7481,7 +7255,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_gt", + "name": "contentEncoding_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7491,7 +7265,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_lt", + "name": "contentLanguage", "type": { "kind": "SCALAR", "name": "String", @@ -7501,7 +7275,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_gte", + "name": "contentLanguage_not", "type": { "kind": "SCALAR", "name": "String", @@ -7511,7 +7285,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_lte", + "name": "contentLanguage_gt", "type": { "kind": "SCALAR", "name": "String", @@ -7521,7 +7295,37 @@ { "defaultValue": null, "description": null, - "name": "transaction_in", + "name": "contentLanguage_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_in", "type": { "kind": "LIST", "name": null, @@ -7539,7 +7343,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_in", + "name": "contentLanguage_not_in", "type": { "kind": "LIST", "name": null, @@ -7557,7 +7361,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_contains", + "name": "contentLanguage_contains", "type": { "kind": "SCALAR", "name": "String", @@ -7567,7 +7371,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_contains_nocase", + "name": "contentLanguage_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7577,7 +7381,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_contains", + "name": "contentLanguage_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -7587,7 +7391,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_contains_nocase", + "name": "contentLanguage_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7597,7 +7401,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_starts_with", + "name": "contentLanguage_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -7607,7 +7411,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_starts_with_nocase", + "name": "contentLanguage_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7617,7 +7421,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_starts_with", + "name": "contentLanguage_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -7627,7 +7431,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_starts_with_nocase", + "name": "contentLanguage_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7637,7 +7441,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_ends_with", + "name": "contentLanguage_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -7647,7 +7451,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_ends_with_nocase", + "name": "contentLanguage_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7657,7 +7461,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_ends_with", + "name": "contentLanguage_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -7667,7 +7471,7 @@ { "defaultValue": null, "description": null, - "name": "transaction_not_ends_with_nocase", + "name": "contentLanguage_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -7676,304 +7480,165 @@ }, { "defaultValue": null, - "description": null, - "name": "transaction_", + "description": "Filter for the block changed event.", + "name": "_change_block", "type": { "kind": "INPUT_OBJECT", - "name": "Transaction_filter", + "name": "BlockChangedFilter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "emitter", + "name": "and", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } } }, { "defaultValue": null, "description": null, - "name": "emitter_not", + "name": "or", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } } - }, + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "isDeprecated": false, + "name": "id" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "isDeprecated": false, + "name": "rawBytes" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "isDeprecated": false, + "name": "magicNumber" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "isDeprecated": false, + "name": "payload" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } + "isDeprecated": false, + "name": "parents" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } + "isDeprecated": false, + "name": "contentType" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } + "isDeprecated": false, + "name": "contentEncoding" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, + "isDeprecated": false, + "name": "contentLanguage" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ContentMetaV1_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ { - "defaultValue": null, + "args": [], + "deprecationReason": null, "description": null, - "name": "timestamp_lt", + "isDeprecated": false, + "name": "id", "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } } }, { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", + "args": [], + "deprecationReason": null, + "description": "Base caller", + "isDeprecated": false, + "name": "caller", "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } } }, { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", + "args": [], + "deprecationReason": null, + "description": "Base contract", + "isDeprecated": false, + "name": "contract", "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } } }, { - "defaultValue": null, - "description": null, - "name": "timestamp_in", + "args": [], + "deprecationReason": null, + "description": "Contextual data available to both calculate order and handle IO", + "isDeprecated": false, + "name": "callingContext", "type": { "kind": "LIST", "name": null, @@ -7989,9 +7654,11 @@ } }, { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", + "args": [], + "deprecationReason": null, + "description": "Contains the DECIMAL RESCALED calculations", + "isDeprecated": false, + "name": "calculationsContext", "type": { "kind": "LIST", "name": null, @@ -8006,239 +7673,129 @@ } } }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "caller" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "caller__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract__deployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract__address" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "callingContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "calculationsContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultInputsContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultOutputsContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signedContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "ContextEntity_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ { "args": [], "deprecationReason": null, - "description": null, + "description": "The inputs context data", "isDeprecated": false, - "name": "id", + "name": "vaultInputsContext", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } }, { "args": [], "deprecationReason": null, - "description": null, + "description": "The outputs context data", "isDeprecated": false, - "name": "name", + "name": "vaultOutputsContext", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } }, { - "args": [], + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + ], "deprecationReason": null, - "description": null, + "description": "Optional signed context relevant to the transaction", "isDeprecated": false, - "name": "symbol", + "name": "signedContext", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } } } }, { "args": [], "deprecationReason": null, - "description": null, + "description": "Transaction where this event was emitted.", "isDeprecated": false, - "name": "totalSupply", + "name": "transaction", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "OBJECT", + "name": "Transaction", "ofType": null } } @@ -8246,15 +7803,15 @@ { "args": [], "deprecationReason": null, - "description": null, + "description": "Account that sent the transaction this event was emitted in.", "isDeprecated": false, - "name": "totalSupplyDisplay", + "name": "emitter", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", + "kind": "OBJECT", + "name": "Account", "ofType": null } } @@ -8264,22 +7821,28 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "decimals", + "name": "timestamp", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } } ], "inputFields": null, - "interfaces": [], + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], "kind": "OBJECT", - "name": "ERC20", + "name": "ContextEntity", "possibleTypes": null }, { @@ -8386,7 +7949,7 @@ { "defaultValue": null, "description": null, - "name": "name", + "name": "caller", "type": { "kind": "SCALAR", "name": "String", @@ -8396,7 +7959,7 @@ { "defaultValue": null, "description": null, - "name": "name_not", + "name": "caller_not", "type": { "kind": "SCALAR", "name": "String", @@ -8406,7 +7969,7 @@ { "defaultValue": null, "description": null, - "name": "name_gt", + "name": "caller_gt", "type": { "kind": "SCALAR", "name": "String", @@ -8416,7 +7979,7 @@ { "defaultValue": null, "description": null, - "name": "name_lt", + "name": "caller_lt", "type": { "kind": "SCALAR", "name": "String", @@ -8426,7 +7989,7 @@ { "defaultValue": null, "description": null, - "name": "name_gte", + "name": "caller_gte", "type": { "kind": "SCALAR", "name": "String", @@ -8436,7 +7999,7 @@ { "defaultValue": null, "description": null, - "name": "name_lte", + "name": "caller_lte", "type": { "kind": "SCALAR", "name": "String", @@ -8446,7 +8009,7 @@ { "defaultValue": null, "description": null, - "name": "name_in", + "name": "caller_in", "type": { "kind": "LIST", "name": null, @@ -8464,7 +8027,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_in", + "name": "caller_not_in", "type": { "kind": "LIST", "name": null, @@ -8482,7 +8045,7 @@ { "defaultValue": null, "description": null, - "name": "name_contains", + "name": "caller_contains", "type": { "kind": "SCALAR", "name": "String", @@ -8492,7 +8055,7 @@ { "defaultValue": null, "description": null, - "name": "name_contains_nocase", + "name": "caller_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8502,7 +8065,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_contains", + "name": "caller_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -8512,7 +8075,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_contains_nocase", + "name": "caller_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8522,7 +8085,7 @@ { "defaultValue": null, "description": null, - "name": "name_starts_with", + "name": "caller_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -8532,7 +8095,7 @@ { "defaultValue": null, "description": null, - "name": "name_starts_with_nocase", + "name": "caller_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8542,7 +8105,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_starts_with", + "name": "caller_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -8552,7 +8115,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_starts_with_nocase", + "name": "caller_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8562,7 +8125,7 @@ { "defaultValue": null, "description": null, - "name": "name_ends_with", + "name": "caller_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -8572,7 +8135,7 @@ { "defaultValue": null, "description": null, - "name": "name_ends_with_nocase", + "name": "caller_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8582,7 +8145,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_ends_with", + "name": "caller_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -8592,7 +8155,7 @@ { "defaultValue": null, "description": null, - "name": "name_not_ends_with_nocase", + "name": "caller_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8602,7 +8165,17 @@ { "defaultValue": null, "description": null, - "name": "symbol", + "name": "caller_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contract", "type": { "kind": "SCALAR", "name": "String", @@ -8612,7 +8185,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not", + "name": "contract_not", "type": { "kind": "SCALAR", "name": "String", @@ -8622,7 +8195,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_gt", + "name": "contract_gt", "type": { "kind": "SCALAR", "name": "String", @@ -8632,7 +8205,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_lt", + "name": "contract_lt", "type": { "kind": "SCALAR", "name": "String", @@ -8642,7 +8215,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_gte", + "name": "contract_gte", "type": { "kind": "SCALAR", "name": "String", @@ -8652,7 +8225,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_lte", + "name": "contract_lte", "type": { "kind": "SCALAR", "name": "String", @@ -8662,7 +8235,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_in", + "name": "contract_in", "type": { "kind": "LIST", "name": null, @@ -8680,7 +8253,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_in", + "name": "contract_not_in", "type": { "kind": "LIST", "name": null, @@ -8698,7 +8271,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_contains", + "name": "contract_contains", "type": { "kind": "SCALAR", "name": "String", @@ -8708,7 +8281,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_contains_nocase", + "name": "contract_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8718,7 +8291,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_contains", + "name": "contract_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -8728,7 +8301,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_contains_nocase", + "name": "contract_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8738,7 +8311,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_starts_with", + "name": "contract_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -8748,7 +8321,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_starts_with_nocase", + "name": "contract_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8758,7 +8331,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_starts_with", + "name": "contract_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -8768,7 +8341,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_starts_with_nocase", + "name": "contract_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8778,7 +8351,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_ends_with", + "name": "contract_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -8788,7 +8361,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_ends_with_nocase", + "name": "contract_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8798,7 +8371,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_ends_with", + "name": "contract_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -8808,7 +8381,7 @@ { "defaultValue": null, "description": null, - "name": "symbol_not_ends_with_nocase", + "name": "contract_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -8818,67 +8391,53 @@ { "defaultValue": null, "description": null, - "name": "totalSupply", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_lt", + "name": "contract_", "type": { - "kind": "SCALAR", - "name": "BigInt", + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "totalSupply_gte", + "name": "callingContext", "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "totalSupply_lte", + "name": "callingContext_not", "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "totalSupply_in", + "name": "callingContext_contains", "type": { "kind": "LIST", "name": null, @@ -8896,7 +8455,7 @@ { "defaultValue": null, "description": null, - "name": "totalSupply_not_in", + "name": "callingContext_contains_nocase", "type": { "kind": "LIST", "name": null, @@ -8914,67 +8473,43 @@ { "defaultValue": null, "description": null, - "name": "totalSupplyDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_gte", + "name": "callingContext_not_contains", "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "totalSupplyDisplay_lte", + "name": "callingContext_not_contains_nocase", "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "totalSupplyDisplay_in", + "name": "calculationsContext", "type": { "kind": "LIST", "name": null, @@ -8983,7 +8518,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigDecimal", + "name": "BigInt", "ofType": null } } @@ -8992,7 +8527,7 @@ { "defaultValue": null, "description": null, - "name": "totalSupplyDisplay_not_in", + "name": "calculationsContext_not", "type": { "kind": "LIST", "name": null, @@ -9001,7 +8536,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigDecimal", + "name": "BigInt", "ofType": null } } @@ -9010,67 +8545,115 @@ { "defaultValue": null, "description": null, - "name": "decimals", + "name": "calculationsContext_contains", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "decimals_not", + "name": "calculationsContext_contains_nocase", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "decimals_gt", + "name": "calculationsContext_not_contains", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "decimals_lt", + "name": "calculationsContext_not_contains_nocase", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "decimals_gte", + "name": "vaultInputsContext", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "decimals_lte", + "name": "vaultInputsContext_not", "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "decimals_in", + "name": "vaultInputsContext_contains", "type": { "kind": "LIST", "name": null, @@ -9079,7 +8662,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } @@ -9088,7 +8671,7 @@ { "defaultValue": null, "description": null, - "name": "decimals_not_in", + "name": "vaultInputsContext_contains_nocase", "type": { "kind": "LIST", "name": null, @@ -9097,278 +8680,232 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } } }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, { "defaultValue": null, "description": null, - "name": "and", + "name": "vaultInputsContext_not_contains", "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } }, { "defaultValue": null, "description": null, - "name": "or", + "name": "vaultInputsContext_not_contains_nocase", "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "totalSupplyDisplay" }, { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "decimals" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "ERC20_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "id", + "name": "vaultOutputsContext", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } }, { - "args": [], - "deprecationReason": null, - "description": "Transaction this event was emitted in.", - "isDeprecated": false, - "name": "transaction", + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } }, { - "args": [], - "deprecationReason": null, - "description": "Account that sent the transaction this event was emitted in.", - "isDeprecated": false, - "name": "emitter", + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_contains", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } }, { - "args": [], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "timestamp", + "name": "vaultOutputsContext_contains_nocase", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } } - } - ], - "inputFields": null, - "interfaces": null, - "kind": "INTERFACE", - "name": "Event", - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Order", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null }, - { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - ] - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ { "defaultValue": null, "description": null, - "name": "id", + "name": "vaultOutputsContext_not_contains", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "id_not", + "name": "vaultOutputsContext_not_contains_nocase", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "id_gt", + "name": "signedContext", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "id_lt", + "name": "signedContext_not", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "id_gte", + "name": "signedContext_contains", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "id_lte", + "name": "signedContext_contains_nocase", "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "id_in", + "name": "signedContext_not_contains", "type": { "kind": "LIST", "name": null, @@ -9377,7 +8914,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } } @@ -9386,7 +8923,7 @@ { "defaultValue": null, "description": null, - "name": "id_not_in", + "name": "signedContext_not_contains_nocase", "type": { "kind": "LIST", "name": null, @@ -9395,12 +8932,22 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } } } }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, { "defaultValue": null, "description": null, @@ -9968,7 +9515,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "Event_filter", + "name": "ContextEntity_filter", "ofType": null } } @@ -9982,7 +9529,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "Event_filter", + "name": "ContextEntity_filter", "ofType": null } } @@ -9990,7 +9537,7 @@ ], "interfaces": null, "kind": "INPUT_OBJECT", - "name": "Event_filter", + "name": "ContextEntity_filter", "possibleTypes": null }, { @@ -10002,6 +9549,72 @@ "isDeprecated": false, "name": "id" }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "caller" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "caller__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract__deployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contract__address" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "callingContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "calculationsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultInputsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultOutputsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext" + }, { "deprecationReason": null, "description": null, @@ -10049,27 +9662,7 @@ "inputFields": null, "interfaces": null, "kind": "ENUM", - "name": "Event_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Float", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "ID", + "name": "ContextEntity_orderBy", "possibleTypes": null }, { @@ -10097,13 +9690,13 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "token", + "name": "name", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "ERC20", + "kind": "SCALAR", + "name": "String", "ofType": null } } @@ -10113,13 +9706,13 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "decimals", + "name": "symbol", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } } @@ -10129,13 +9722,13 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "vault", + "name": "totalSupply", "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "OBJECT", - "name": "Vault", + "kind": "SCALAR", + "name": "BigInt", "ofType": null } } @@ -10145,13 +9738,13 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "vaultId", + "name": "totalSupplyDisplay", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "BigDecimal", "ofType": null } } @@ -10160,162 +9753,346 @@ "args": [], "deprecationReason": null, "description": null, - "isDeprecated": false, - "name": "order", + "isDeprecated": false, + "name": "decimals", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ERC20", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_contains_nocase", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { - "args": [], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "tokenVault", + "name": "name_not_contains", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { - "args": [], - "deprecationReason": null, + "defaultValue": null, "description": null, - "isDeprecated": false, - "name": "index", + "name": "name_not_contains_nocase", "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "IO", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ + }, { "defaultValue": null, "description": null, - "name": "id", + "name": "name_starts_with", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_not", + "name": "name_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_gt", + "name": "name_not_starts_with", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_lt", + "name": "name_not_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_gte", + "name": "name_ends_with", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_lte", + "name": "name_ends_with_nocase", "type": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_in", + "name": "name_not_ends_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_not_in", + "name": "name_not_ends_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "token", + "name": "symbol", "type": { "kind": "SCALAR", "name": "String", @@ -10325,7 +10102,7 @@ { "defaultValue": null, "description": null, - "name": "token_not", + "name": "symbol_not", "type": { "kind": "SCALAR", "name": "String", @@ -10335,7 +10112,7 @@ { "defaultValue": null, "description": null, - "name": "token_gt", + "name": "symbol_gt", "type": { "kind": "SCALAR", "name": "String", @@ -10345,7 +10122,7 @@ { "defaultValue": null, "description": null, - "name": "token_lt", + "name": "symbol_lt", "type": { "kind": "SCALAR", "name": "String", @@ -10355,7 +10132,7 @@ { "defaultValue": null, "description": null, - "name": "token_gte", + "name": "symbol_gte", "type": { "kind": "SCALAR", "name": "String", @@ -10365,7 +10142,7 @@ { "defaultValue": null, "description": null, - "name": "token_lte", + "name": "symbol_lte", "type": { "kind": "SCALAR", "name": "String", @@ -10375,7 +10152,7 @@ { "defaultValue": null, "description": null, - "name": "token_in", + "name": "symbol_in", "type": { "kind": "LIST", "name": null, @@ -10393,7 +10170,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_in", + "name": "symbol_not_in", "type": { "kind": "LIST", "name": null, @@ -10411,7 +10188,7 @@ { "defaultValue": null, "description": null, - "name": "token_contains", + "name": "symbol_contains", "type": { "kind": "SCALAR", "name": "String", @@ -10421,7 +10198,7 @@ { "defaultValue": null, "description": null, - "name": "token_contains_nocase", + "name": "symbol_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -10431,7 +10208,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_contains", + "name": "symbol_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -10441,7 +10218,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_contains_nocase", + "name": "symbol_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -10451,7 +10228,7 @@ { "defaultValue": null, "description": null, - "name": "token_starts_with", + "name": "symbol_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -10461,7 +10238,7 @@ { "defaultValue": null, "description": null, - "name": "token_starts_with_nocase", + "name": "symbol_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -10471,7 +10248,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_starts_with", + "name": "symbol_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -10481,7 +10258,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_starts_with_nocase", + "name": "symbol_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -10491,7 +10268,7 @@ { "defaultValue": null, "description": null, - "name": "token_ends_with", + "name": "symbol_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -10501,7 +10278,7 @@ { "defaultValue": null, "description": null, - "name": "token_ends_with_nocase", + "name": "symbol_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -10511,7 +10288,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_ends_with", + "name": "symbol_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -10521,7 +10298,7 @@ { "defaultValue": null, "description": null, - "name": "token_not_ends_with_nocase", + "name": "symbol_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -10531,77 +10308,67 @@ { "defaultValue": null, "description": null, - "name": "token_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals", + "name": "totalSupply", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "decimals_not", + "name": "totalSupply_not", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "decimals_gt", + "name": "totalSupply_gt", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "decimals_lt", + "name": "totalSupply_lt", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "decimals_gte", + "name": "totalSupply_gte", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "decimals_lte", + "name": "totalSupply_lte", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "decimals_in", + "name": "totalSupply_in", "type": { "kind": "LIST", "name": null, @@ -10610,7 +10377,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } @@ -10619,7 +10386,7 @@ { "defaultValue": null, "description": null, - "name": "decimals_not_in", + "name": "totalSupply_not_in", "type": { "kind": "LIST", "name": null, @@ -10628,7 +10395,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } @@ -10637,67 +10404,67 @@ { "defaultValue": null, "description": null, - "name": "vault", + "name": "totalSupplyDisplay", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_not", + "name": "totalSupplyDisplay_not", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_gt", + "name": "totalSupplyDisplay_gt", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_lt", + "name": "totalSupplyDisplay_lt", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_gte", + "name": "totalSupplyDisplay_gte", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_lte", + "name": "totalSupplyDisplay_lte", "type": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_in", + "name": "totalSupplyDisplay_in", "type": { "kind": "LIST", "name": null, @@ -10706,7 +10473,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } } @@ -10715,7 +10482,7 @@ { "defaultValue": null, "description": null, - "name": "vault_not_in", + "name": "totalSupplyDisplay_not_in", "type": { "kind": "LIST", "name": null, @@ -10724,7 +10491,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "BigDecimal", "ofType": null } } @@ -10733,197 +10500,365 @@ { "defaultValue": null, "description": null, - "name": "vault_contains", + "name": "decimals", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_contains_nocase", + "name": "decimals_not", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_not_contains", + "name": "decimals_gt", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_not_contains_nocase", + "name": "decimals_lt", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_starts_with", + "name": "decimals_gte", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_starts_with_nocase", + "name": "decimals_lte", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_not_starts_with", + "name": "decimals_in", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } } }, { "defaultValue": null, "description": null, - "name": "vault_not_starts_with_nocase", + "name": "decimals_not_in", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } } }, { "defaultValue": null, - "description": null, - "name": "vault_ends_with", + "description": "Filter for the block changed event.", + "name": "_change_block", "type": { - "kind": "SCALAR", - "name": "String", + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vault_ends_with_nocase", + "name": "and", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } } }, { "defaultValue": null, "description": null, - "name": "vault_not_ends_with", + "name": "or", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" }, { - "defaultValue": null, + "deprecationReason": null, "description": null, - "name": "vault_not_ends_with_nocase", + "isDeprecated": false, + "name": "name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ERC20_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } } }, { - "defaultValue": null, + "args": [], + "deprecationReason": null, + "description": "Transaction this event was emitted in.", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Account that sent the transaction this event was emitted in.", + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, "description": null, - "name": "vault_", + "isDeprecated": false, + "name": "timestamp", "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } } + } + ], + "inputFields": null, + "interfaces": null, + "kind": "INTERFACE", + "name": "Event", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null }, + { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + ] + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ { "defaultValue": null, "description": null, - "name": "vaultId", + "name": "id", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultId_not", + "name": "id_not", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultId_gt", + "name": "id_gt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultId_lt", + "name": "id_lt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultId_gte", + "name": "id_gte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultId_lte", + "name": "id_lte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "vaultId_in", + "name": "id_in", "type": { "kind": "LIST", "name": null, @@ -10932,7 +10867,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } } @@ -10941,7 +10876,7 @@ { "defaultValue": null, "description": null, - "name": "vaultId_not_in", + "name": "id_not_in", "type": { "kind": "LIST", "name": null, @@ -10950,7 +10885,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "ID", "ofType": null } } @@ -10959,7 +10894,7 @@ { "defaultValue": null, "description": null, - "name": "order", + "name": "transaction", "type": { "kind": "SCALAR", "name": "String", @@ -10969,7 +10904,7 @@ { "defaultValue": null, "description": null, - "name": "order_not", + "name": "transaction_not", "type": { "kind": "SCALAR", "name": "String", @@ -10979,7 +10914,7 @@ { "defaultValue": null, "description": null, - "name": "order_gt", + "name": "transaction_gt", "type": { "kind": "SCALAR", "name": "String", @@ -10989,7 +10924,7 @@ { "defaultValue": null, "description": null, - "name": "order_lt", + "name": "transaction_lt", "type": { "kind": "SCALAR", "name": "String", @@ -10999,7 +10934,7 @@ { "defaultValue": null, "description": null, - "name": "order_gte", + "name": "transaction_gte", "type": { "kind": "SCALAR", "name": "String", @@ -11009,7 +10944,7 @@ { "defaultValue": null, "description": null, - "name": "order_lte", + "name": "transaction_lte", "type": { "kind": "SCALAR", "name": "String", @@ -11019,7 +10954,7 @@ { "defaultValue": null, "description": null, - "name": "order_in", + "name": "transaction_in", "type": { "kind": "LIST", "name": null, @@ -11037,7 +10972,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_in", + "name": "transaction_not_in", "type": { "kind": "LIST", "name": null, @@ -11055,7 +10990,7 @@ { "defaultValue": null, "description": null, - "name": "order_contains", + "name": "transaction_contains", "type": { "kind": "SCALAR", "name": "String", @@ -11065,7 +11000,7 @@ { "defaultValue": null, "description": null, - "name": "order_contains_nocase", + "name": "transaction_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11075,7 +11010,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_contains", + "name": "transaction_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -11085,7 +11020,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_contains_nocase", + "name": "transaction_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11095,7 +11030,7 @@ { "defaultValue": null, "description": null, - "name": "order_starts_with", + "name": "transaction_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -11105,7 +11040,7 @@ { "defaultValue": null, "description": null, - "name": "order_starts_with_nocase", + "name": "transaction_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11115,7 +11050,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_starts_with", + "name": "transaction_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -11125,7 +11060,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_starts_with_nocase", + "name": "transaction_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11135,7 +11070,7 @@ { "defaultValue": null, "description": null, - "name": "order_ends_with", + "name": "transaction_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -11145,7 +11080,7 @@ { "defaultValue": null, "description": null, - "name": "order_ends_with_nocase", + "name": "transaction_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11155,7 +11090,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_ends_with", + "name": "transaction_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -11165,7 +11100,7 @@ { "defaultValue": null, "description": null, - "name": "order_not_ends_with_nocase", + "name": "transaction_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11175,17 +11110,17 @@ { "defaultValue": null, "description": null, - "name": "order_", + "name": "transaction_", "type": { "kind": "INPUT_OBJECT", - "name": "Order_filter", + "name": "Transaction_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "tokenVault", + "name": "emitter", "type": { "kind": "SCALAR", "name": "String", @@ -11195,7 +11130,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not", + "name": "emitter_not", "type": { "kind": "SCALAR", "name": "String", @@ -11205,7 +11140,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_gt", + "name": "emitter_gt", "type": { "kind": "SCALAR", "name": "String", @@ -11215,7 +11150,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_lt", + "name": "emitter_lt", "type": { "kind": "SCALAR", "name": "String", @@ -11225,7 +11160,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_gte", + "name": "emitter_gte", "type": { "kind": "SCALAR", "name": "String", @@ -11235,7 +11170,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_lte", + "name": "emitter_lte", "type": { "kind": "SCALAR", "name": "String", @@ -11245,7 +11180,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_in", + "name": "emitter_in", "type": { "kind": "LIST", "name": null, @@ -11263,7 +11198,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_in", + "name": "emitter_not_in", "type": { "kind": "LIST", "name": null, @@ -11281,7 +11216,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_contains", + "name": "emitter_contains", "type": { "kind": "SCALAR", "name": "String", @@ -11291,7 +11226,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_contains_nocase", + "name": "emitter_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11301,7 +11236,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_contains", + "name": "emitter_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -11311,7 +11246,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_contains_nocase", + "name": "emitter_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11321,7 +11256,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_starts_with", + "name": "emitter_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -11331,7 +11266,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_starts_with_nocase", + "name": "emitter_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11341,7 +11276,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_starts_with", + "name": "emitter_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -11351,7 +11286,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_starts_with_nocase", + "name": "emitter_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11361,7 +11296,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_ends_with", + "name": "emitter_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -11371,7 +11306,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_ends_with_nocase", + "name": "emitter_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11381,7 +11316,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_ends_with", + "name": "emitter_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -11391,7 +11326,7 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_not_ends_with_nocase", + "name": "emitter_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -11401,77 +11336,77 @@ { "defaultValue": null, "description": null, - "name": "tokenVault_", + "name": "emitter_", "type": { "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", + "name": "Account_filter", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index", + "name": "timestamp", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index_not", + "name": "timestamp_not", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index_gt", + "name": "timestamp_gt", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index_lt", + "name": "timestamp_lt", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index_gte", + "name": "timestamp_gte", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index_lte", + "name": "timestamp_lte", "type": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "index_in", + "name": "timestamp_in", "type": { "kind": "LIST", "name": null, @@ -11480,7 +11415,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } @@ -11489,7 +11424,7 @@ { "defaultValue": null, "description": null, - "name": "index_not_in", + "name": "timestamp_not_in", "type": { "kind": "LIST", "name": null, @@ -11498,7 +11433,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "BigInt", "ofType": null } } @@ -11523,7 +11458,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "IO_filter", + "name": "Event_filter", "ofType": null } } @@ -11537,7 +11472,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "IO_filter", + "name": "Event_filter", "ofType": null } } @@ -11545,7 +11480,7 @@ ], "interfaces": null, "kind": "INPUT_OBJECT", - "name": "IO_filter", + "name": "Event_filter", "possibleTypes": null }, { @@ -11561,208 +11496,70 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "token" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderHash" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__interpreter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__interpreterStore" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expressionDeployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expression" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderActive" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__handleIO" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expressionJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__timestamp" + "name": "transaction" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "tokenVault" + "name": "transaction__id" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "tokenVault__id" + "name": "transaction__timestamp" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "tokenVault__vaultId" + "name": "transaction__blockNumber" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "tokenVault__balance" + "name": "emitter" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "tokenVault__balanceDisplay" + "name": "emitter__id" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "index" + "name": "timestamp" } ], "fields": null, "inputFields": null, "interfaces": null, "kind": "ENUM", - "name": "IO_orderBy", + "name": "Event_orderBy", "possibleTypes": null }, { - "description": "4 bytes signed integer\n", + "description": null, "enumValues": null, "fields": null, "inputFields": null, "interfaces": null, "kind": "SCALAR", - "name": "Int", + "name": "Float", "possibleTypes": null }, { - "description": "8 bytes signed integer\n", + "description": null, "enumValues": null, "fields": null, "inputFields": null, "interfaces": null, "kind": "SCALAR", - "name": "Int8", + "name": "ID", "possibleTypes": null }, { @@ -11772,7 +11569,7 @@ { "args": [], "deprecationReason": null, - "description": "The hash of the Map Rain Meta document or CBOR Item", + "description": null, "isDeprecated": false, "name": "id", "type": { @@ -11780,7 +11577,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "ID", "ofType": null } } @@ -11788,15 +11585,31 @@ { "args": [], "deprecationReason": null, - "description": "The payload present on the index 0 of the Rain meta Document", + "description": null, "isDeprecated": false, - "name": "payload", + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "Int", "ofType": null } } @@ -11804,9 +11617,25 @@ { "args": [], "deprecationReason": null, - "description": "The magic number that is used to track the payload", + "description": null, "isDeprecated": false, - "name": "magicNumber", + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", "type": { "kind": "NON_NULL", "name": null, @@ -11820,190 +11649,223 @@ { "args": [], "deprecationReason": null, - "description": "The header name info for Content-Type", + "description": null, "isDeprecated": false, - "name": "contentType", + "name": "order", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } } }, { "args": [], "deprecationReason": null, - "description": "The header name info for Content-Encoding. It's optional", + "description": null, "isDeprecated": false, - "name": "contentEncoding", + "name": "tokenVault", "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } } }, { "args": [], "deprecationReason": null, - "description": "The header name info for Content-Language. It's optional", + "description": null, "isDeprecated": false, - "name": "contentLanguage", + "name": "index", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "IO", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", "type": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "RainMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", + "name": "ID", "ofType": null } } - ], - "deprecationReason": null, - "description": "RainMeta documents bytes that have this content", - "isDeprecated": false, - "name": "documents", + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", "type": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } + "kind": "SCALAR", + "name": "ID", + "ofType": null } } } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "MetaContentV1", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ + }, { "defaultValue": null, "description": null, - "name": "id", + "name": "token", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_not", + "name": "token_not", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_gt", + "name": "token_gt", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_lt", + "name": "token_lt", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_gte", + "name": "token_gte", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_lte", + "name": "token_lte", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_in", + "name": "token_in", "type": { "kind": "LIST", "name": null, @@ -12012,7 +11874,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } } @@ -12021,7 +11883,7 @@ { "defaultValue": null, "description": null, - "name": "id_not_in", + "name": "token_not_in", "type": { "kind": "LIST", "name": null, @@ -12030,7 +11892,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } } @@ -12039,203 +11901,197 @@ { "defaultValue": null, "description": null, - "name": "id_contains", + "name": "token_contains", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "id_not_contains", + "name": "token_contains_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload", + "name": "token_not_contains", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_not", + "name": "token_not_contains_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_gt", + "name": "token_starts_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_lt", + "name": "token_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_gte", + "name": "token_not_starts_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_lte", + "name": "token_not_starts_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_in", + "name": "token_ends_with", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_not_in", + "name": "token_ends_with_nocase", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } + "kind": "SCALAR", + "name": "String", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_contains", + "name": "token_not_ends_with", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "payload_not_contains", + "name": "token_not_ends_with_nocase", "type": { "kind": "SCALAR", - "name": "Bytes", + "name": "String", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber", + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_not", + "name": "decimals_not", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_gt", + "name": "decimals_gt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_lt", + "name": "decimals_lt", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_gte", + "name": "decimals_gte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_lte", + "name": "decimals_lte", "type": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } }, { "defaultValue": null, "description": null, - "name": "magicNumber_in", + "name": "decimals_in", "type": { "kind": "LIST", "name": null, @@ -12244,7 +12100,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } } @@ -12253,7 +12109,7 @@ { "defaultValue": null, "description": null, - "name": "magicNumber_not_in", + "name": "decimals_not_in", "type": { "kind": "LIST", "name": null, @@ -12262,7 +12118,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "BigInt", + "name": "Int", "ofType": null } } @@ -12271,7 +12127,7 @@ { "defaultValue": null, "description": null, - "name": "contentType", + "name": "vault", "type": { "kind": "SCALAR", "name": "String", @@ -12281,7 +12137,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not", + "name": "vault_not", "type": { "kind": "SCALAR", "name": "String", @@ -12291,7 +12147,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_gt", + "name": "vault_gt", "type": { "kind": "SCALAR", "name": "String", @@ -12301,7 +12157,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_lt", + "name": "vault_lt", "type": { "kind": "SCALAR", "name": "String", @@ -12311,7 +12167,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_gte", + "name": "vault_gte", "type": { "kind": "SCALAR", "name": "String", @@ -12321,7 +12177,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_lte", + "name": "vault_lte", "type": { "kind": "SCALAR", "name": "String", @@ -12331,7 +12187,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_in", + "name": "vault_in", "type": { "kind": "LIST", "name": null, @@ -12349,7 +12205,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_in", + "name": "vault_not_in", "type": { "kind": "LIST", "name": null, @@ -12367,7 +12223,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_contains", + "name": "vault_contains", "type": { "kind": "SCALAR", "name": "String", @@ -12377,7 +12233,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_contains_nocase", + "name": "vault_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12387,7 +12243,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_contains", + "name": "vault_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -12397,7 +12253,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_contains_nocase", + "name": "vault_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12407,7 +12263,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_starts_with", + "name": "vault_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -12417,7 +12273,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_starts_with_nocase", + "name": "vault_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12427,7 +12283,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_starts_with", + "name": "vault_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -12437,7 +12293,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_starts_with_nocase", + "name": "vault_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12447,7 +12303,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_ends_with", + "name": "vault_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -12457,7 +12313,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_ends_with_nocase", + "name": "vault_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12467,7 +12323,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_ends_with", + "name": "vault_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -12477,7 +12333,7 @@ { "defaultValue": null, "description": null, - "name": "contentType_not_ends_with_nocase", + "name": "vault_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12487,7 +12343,113 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding", + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order", "type": { "kind": "SCALAR", "name": "String", @@ -12497,7 +12459,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not", + "name": "order_not", "type": { "kind": "SCALAR", "name": "String", @@ -12507,7 +12469,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_gt", + "name": "order_gt", "type": { "kind": "SCALAR", "name": "String", @@ -12517,7 +12479,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_lt", + "name": "order_lt", "type": { "kind": "SCALAR", "name": "String", @@ -12527,7 +12489,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_gte", + "name": "order_gte", "type": { "kind": "SCALAR", "name": "String", @@ -12537,7 +12499,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_lte", + "name": "order_lte", "type": { "kind": "SCALAR", "name": "String", @@ -12547,7 +12509,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_in", + "name": "order_in", "type": { "kind": "LIST", "name": null, @@ -12565,7 +12527,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_in", + "name": "order_not_in", "type": { "kind": "LIST", "name": null, @@ -12583,7 +12545,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_contains", + "name": "order_contains", "type": { "kind": "SCALAR", "name": "String", @@ -12593,7 +12555,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_contains_nocase", + "name": "order_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12603,7 +12565,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_contains", + "name": "order_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -12613,7 +12575,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_contains_nocase", + "name": "order_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12623,7 +12585,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_starts_with", + "name": "order_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -12633,7 +12595,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_starts_with_nocase", + "name": "order_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12643,7 +12605,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_starts_with", + "name": "order_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -12653,7 +12615,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_starts_with_nocase", + "name": "order_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12663,7 +12625,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_ends_with", + "name": "order_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -12673,7 +12635,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_ends_with_nocase", + "name": "order_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12683,7 +12645,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_ends_with", + "name": "order_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -12693,7 +12655,7 @@ { "defaultValue": null, "description": null, - "name": "contentEncoding_not_ends_with_nocase", + "name": "order_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12703,7 +12665,17 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage", + "name": "order_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", "type": { "kind": "SCALAR", "name": "String", @@ -12713,7 +12685,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not", + "name": "tokenVault_not", "type": { "kind": "SCALAR", "name": "String", @@ -12723,7 +12695,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_gt", + "name": "tokenVault_gt", "type": { "kind": "SCALAR", "name": "String", @@ -12733,7 +12705,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_lt", + "name": "tokenVault_lt", "type": { "kind": "SCALAR", "name": "String", @@ -12743,7 +12715,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_gte", + "name": "tokenVault_gte", "type": { "kind": "SCALAR", "name": "String", @@ -12753,7 +12725,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_lte", + "name": "tokenVault_lte", "type": { "kind": "SCALAR", "name": "String", @@ -12763,7 +12735,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_in", + "name": "tokenVault_in", "type": { "kind": "LIST", "name": null, @@ -12781,7 +12753,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_in", + "name": "tokenVault_not_in", "type": { "kind": "LIST", "name": null, @@ -12799,7 +12771,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_contains", + "name": "tokenVault_contains", "type": { "kind": "SCALAR", "name": "String", @@ -12809,7 +12781,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_contains_nocase", + "name": "tokenVault_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12819,7 +12791,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_contains", + "name": "tokenVault_not_contains", "type": { "kind": "SCALAR", "name": "String", @@ -12829,7 +12801,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_contains_nocase", + "name": "tokenVault_not_contains_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12839,7 +12811,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_starts_with", + "name": "tokenVault_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -12849,7 +12821,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_starts_with_nocase", + "name": "tokenVault_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12859,7 +12831,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_starts_with", + "name": "tokenVault_not_starts_with", "type": { "kind": "SCALAR", "name": "String", @@ -12869,7 +12841,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_starts_with_nocase", + "name": "tokenVault_not_starts_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12879,7 +12851,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_ends_with", + "name": "tokenVault_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -12889,7 +12861,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_ends_with_nocase", + "name": "tokenVault_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12899,7 +12871,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_ends_with", + "name": "tokenVault_not_ends_with", "type": { "kind": "SCALAR", "name": "String", @@ -12909,7 +12881,7 @@ { "defaultValue": null, "description": null, - "name": "contentLanguage_not_ends_with_nocase", + "name": "tokenVault_not_ends_with_nocase", "type": { "kind": "SCALAR", "name": "String", @@ -12919,79 +12891,77 @@ { "defaultValue": null, "description": null, - "name": "documents", + "name": "tokenVault_", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "documents_not", + "name": "index", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Int", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "documents_contains", + "name": "index_not", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Int", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "documents_contains_nocase", + "name": "index_gt", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null } }, { "defaultValue": null, "description": null, - "name": "documents_not_contains", + "name": "index_in", "type": { "kind": "LIST", "name": null, @@ -13000,7 +12970,7 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } } @@ -13009,7 +12979,7 @@ { "defaultValue": null, "description": null, - "name": "documents_not_contains_nocase", + "name": "index_not_in", "type": { "kind": "LIST", "name": null, @@ -13018,22 +12988,12 @@ "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } } } }, - { - "defaultValue": null, - "description": null, - "name": "documents_", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - }, { "defaultValue": null, "description": "Filter for the block changed event.", @@ -13053,7 +13013,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "IO_filter", "ofType": null } } @@ -13067,7 +13027,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "IO_filter", "ofType": null } } @@ -13075,7 +13035,7 @@ ], "interfaces": null, "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "IO_filter", "possibleTypes": null }, { @@ -13091,44 +13051,208 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "payload" + "name": "token" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "magicNumber" + "name": "token__id" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "contentType" + "name": "token__name" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "contentEncoding" + "name": "token__symbol" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "contentLanguage" + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" }, { "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "documents" + "name": "index" } ], "fields": null, "inputFields": null, "interfaces": null, "kind": "ENUM", - "name": "MetaContentV1_orderBy", + "name": "IO_orderBy", + "possibleTypes": null + }, + { + "description": "4 bytes signed integer\n", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null + }, + { + "description": "8 bytes signed integer\n", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int8", "possibleTypes": null }, { @@ -21283,10 +21407,10 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metaContentV1", + "name": "contentMetaV1", "type": { "kind": "OBJECT", - "name": "MetaContentV1", + "name": "ContentMetaV1", "ofType": null } }, @@ -21318,7 +21442,7 @@ "name": "orderBy", "type": { "kind": "ENUM", - "name": "MetaContentV1_orderBy", + "name": "ContentMetaV1_orderBy", "ofType": null } }, @@ -21338,7 +21462,7 @@ "name": "where", "type": { "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "ContentMetaV1_filter", "ofType": null } }, @@ -21370,7 +21494,7 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metaContentV1S", + "name": "contentMetaV1S", "type": { "kind": "NON_NULL", "name": null, @@ -21382,7 +21506,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MetaContentV1", + "name": "ContentMetaV1", "ofType": null } } @@ -24183,7 +24307,7 @@ "name": "orderBy", "type": { "kind": "ENUM", - "name": "MetaContentV1_orderBy", + "name": "ContentMetaV1_orderBy", "ofType": null } }, @@ -24203,7 +24327,7 @@ "name": "where", "type": { "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "ContentMetaV1_filter", "ofType": null } } @@ -24213,15 +24337,19 @@ "isDeprecated": false, "name": "content", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", + "kind": "LIST", "name": null, "ofType": { - "kind": "OBJECT", - "name": "MetaContentV1", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentMetaV1", + "ofType": null + } } } } @@ -24470,13 +24598,121 @@ "ofType": null } }, + { + "defaultValue": null, + "description": null, + "name": "content", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, { "defaultValue": null, "description": null, "name": "content_", "type": { "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "ContentMetaV1_filter", "ofType": null } }, @@ -25372,10 +25608,10 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metaContentV1", + "name": "contentMetaV1", "type": { "kind": "OBJECT", - "name": "MetaContentV1", + "name": "ContentMetaV1", "ofType": null } }, @@ -25407,7 +25643,7 @@ "name": "orderBy", "type": { "kind": "ENUM", - "name": "MetaContentV1_orderBy", + "name": "ContentMetaV1_orderBy", "ofType": null } }, @@ -25427,7 +25663,7 @@ "name": "where", "type": { "kind": "INPUT_OBJECT", - "name": "MetaContentV1_filter", + "name": "ContentMetaV1_filter", "ofType": null } }, @@ -25459,7 +25695,7 @@ "deprecationReason": null, "description": null, "isDeprecated": false, - "name": "metaContentV1S", + "name": "contentMetaV1S", "type": { "kind": "NON_NULL", "name": null, @@ -25471,7 +25707,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "MetaContentV1", + "name": "ContentMetaV1", "ofType": null } } @@ -40216,4 +40452,4 @@ ] } } -} \ No newline at end of file +} diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 113888d5fb..5092569a28 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -11,9 +11,10 @@ use ethers::{ core::k256::ecdsa::SigningKey, providers::Middleware, signers::{coins_bip39::English, MnemonicBuilder, Wallet}, - types::{Bytes, U64}, + types::{Bytes, U256, U64}, }; use hex::FromHex; +use rust_bigint::BigInt; use std::{ env, io::{BufRead, BufReader}, @@ -129,6 +130,16 @@ pub fn _remove_trailing_zeros(arr: &[u8]) -> Vec { } } +/// Parse a given `BigInt`/`Mpz(rust_bigint::BigInt)` comming from Subgraph responses +/// to a value to an `ethers::U256`. +/// ### NOTE: +/// For some reason, the BigInt comming from Subgraph responses consider the BigInt +/// as an hexadecimal value and parse it (internally) to a decimal. In this function +/// the parse logic is made considering that, so parse it from "hex" to "decimal". +pub fn mn_mpz_to_u256(value: &BigInt) -> U256 { + U256::from_dec_str(&value.to_str_radix(16)).unwrap() +} + /// Rain Magic Numbers pub struct MagicNumber; From 2076e498451d641c6368f9dc07865c453b2c32fe Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 02:01:59 -0400 Subject: [PATCH 033/163] nix command to update abis --- subgraph/abis/OrderBook.json | 13776 ++++++++-------- subgraph/abis/ReserveToken.json | 8266 ++++++++++ subgraph/flake.nix | 29 +- .../tests/generated/AuthoringMetaGetter.json | 566 +- subgraph/tests/generated/OrderBook.json | 13776 ++++++++-------- .../RainterpreterExpressionDeployerNP.json | 2855 ++-- subgraph/tests/generated/RainterpreterNP.json | 956 +- .../tests/generated/RainterpreterStore.json | 10 +- 8 files changed, 24573 insertions(+), 15661 deletions(-) create mode 100644 subgraph/abis/ReserveToken.json diff --git a/subgraph/abis/OrderBook.json b/subgraph/abis/OrderBook.json index 273aec993e..479e5e0fc2 100644 --- a/subgraph/abis/OrderBook.json +++ b/subgraph/abis/OrderBook.json @@ -1907,12 +1907,12 @@ ], "bytecode": { "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517f71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee90829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:172:-:0;;;1858:76:169;;;-1:-1:-1;;;;;;1858:76:169;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:172;1821:22:22;1109:11:79;;;;6419:66:172;;10962:6;;1075:46:79;;6419:66:172;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:172;8997:33509;;1424:292:154;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:154;;;;;3082:25:209;;;3123:18;;;3116:34;;;3055:18;;1619:46:154;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:93:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:93;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:93;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:93:o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:154;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;-1:-1:-1;;;;;825:32:154;667:18:153;883:36:154;;550:376::o;14:127:209:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:209;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:209;508:40;;-1:-1:-1;;;;;563:34:209;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:209:o;687:131::-;-1:-1:-1;;;;;762:31:209;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:209;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:209;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:209;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:209;;;2179:29;-1:-1:-1;2190:5:209;1078:1160;-1:-1:-1;;;1078:1160:209:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:209;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:209:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:209:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:209;;3161:435;-1:-1:-1;;;;;3161:435:209:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:209;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:209;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:209:o;:::-;8997:33509:172;;;;;;", + "sourceMap": "8997:33509:173:-:0;;;1858:76:170;;;-1:-1:-1;;;;;;1858:76:170;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:173;1821:22:22;1109:11:79;;;;6419:66:173;;10962:6;;1075:46:79;;6419:66:173;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:173;8997:33509;;1424:292:155;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:155;;;;;3082:25:212;;;3123:18;;;3116:34;;;3055:18;;1619:46:155;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:94:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:94;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:94;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:94:o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:155;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;-1:-1:-1;;;;;825:32:155;667:18:154;883:36:155;;550:376::o;14:127:212:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:212;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:212;508:40;;-1:-1:-1;;;;;563:34:212;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:212:o;687:131::-;-1:-1:-1;;;;;762:31:212;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:212;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:212;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:212;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:212;;;2179:29;-1:-1:-1;2190:5:212;1078:1160;-1:-1:-1;;;1078:1160:212:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:212;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:212:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:212:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:212;;3161:435;-1:-1:-1;;;;;3161:435:212:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:212;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:212;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:212:o;:::-;8997:33509:173;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:209;;904:22;886:41;;874:2;859:18;11833:151:172;;;;;;;;5614:2666:169;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:209;;;2296:2;2281:18;8721:162:169;2162:177:209;13693:2174:172;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:209;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:172;3147:248:209;24689:4247:172;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:172:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:169:-;;;;;;:::i;:::-;;:::i;15906:448:172:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:172::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:172::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:209::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:172::1;::::0;15943:3:209;15928:19;12422:43:172::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:172;;;:::o;2303:20:22:-;12023:640:172;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:172::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:169:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:175;6965:6:169;:40;6961:111;;7028:33;;;;;;;;2308:25:209;;;2281:18;;7028:33:169;2162:177:209;6961:111:169;7450:14;;;-1:-1:-1;7482:10:169;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:169;;5614:2666;-1:-1:-1;;;;;;5614:2666:169:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:209;8838:23:169;;;;;;17954:18:209;;8838:38:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:169:o;13693:2174:172:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:172::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:172::1;::::0;-1:-1:-1;;;13824:56:172:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:209::0;17954:18;;13933:26:172::1;17835:226:209::0;13890:80:172::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:209::0;17954:18;;14022:27:172::1;17835:226:209::0;13979:81:172::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:209::0;17954:18;;14126:25:172::1;17835:226:209::0;14069:93:172::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:209::0;17954:18;;14229:26:172::1;17835:226:209::0;14171:95:172::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:160::0;3277:11;;3335:1:172::1;3301:16:160::0;;;3348:4;3337:16;;3330:27;3574:1:172::1;3377:16:160::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:172::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:172::1;::::0;-1:-1:-1;14882:27:172::1;::::0;-1:-1:-1;;14882:102:172:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:172::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:172::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:172::1;::::0;-1:-1:-1;;;15724:38:172:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:172;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:172::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:172::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:172;-1:-1:-1;17129:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:172::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:172::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:209;28256:15;;;17240:199:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:172::1;28003:327:209::0;17031:423:172::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:172::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:209;28706:17;;;18246:213:172::1;::::0;::::1;28688:36:209::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:172::1;28522:262:209::0;18031:443:172::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:172::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:172::1;::::0;15512:2:209;15497:18;19124:49:172::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:172::1;::::0;15512:2:209;15497:18;19933:56:172::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:172::1;::::0;15512:2:209;15497:18;20103:51:172::1;15322:398:209::0;20014:2488:172::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:172::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:149;21000:27:172;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:149;21906:13:172;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:172::1;::::0;-1:-1:-1;22120:76:172::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:149;22120:41:172;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:172::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:172::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:172::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:172;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:209::0;3362:18;;;3355:34;;;3294:18;;22729:50:172::1;3147:248:209::0;22665:125:172::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:172::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:172::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:172::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:172::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:172::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:172;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:172;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:209;17999:55;;;25011:22:172::1;::::0;::::1;17981:74:209::0;17954:18;;25011:22:172::1;17835:226:209::0;24956:92:172::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:209;28256:15;;;25252:181:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:172::1;28003:327:209::0;25061:387:172::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:209::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:172::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:209;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:172::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:172;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:172::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:172::1;-1:-1:-1::0;;28889:40:172::1;::::0;;28900:10:::1;32657:74:209::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:172::1;::::0;32644:3:209;32629:19;28889:40:172::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:172;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:172:-;2261:21:22;:19;:21::i;:::-;12810:12:172::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:172::1;15322:398:209::0;12806:107:172::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:172;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:209;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:172::1;::::0;33416:3:209;33401:19;13491:66:172::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:172;11720:7;3098::22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:172::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:172::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:209;28256:15;;;16061:38:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:172::1;28003:327:209::0;16009:101:172::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:172;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:172::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:209;2460:63:22;;;37243:21:209;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:209;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:209;15603:15;;;1482:68:27;;;15585:34:209;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:209;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:169:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:209;2555:7:169;;;;15635:18:209;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:169;15322:398:209;2481:109:169;2429:167::o;941:175:27:-;1050:58;;37623:42:209;37611:55;;1050:58:27;;;37593:74:209;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:209;;1050:58:27;37419:297:209;2258:165:169;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:169;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:169;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:91:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:91;;476:349;-1:-1:-1;476:349:91:o;568:59::-;-1:-1:-1;802:4:91;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:91:o;537:118:180:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:172:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:172;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:172;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:172;;4055:4:160;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:172;;;;4149:16:160;;;4142:27;30311:30:172;;;3967:22:160;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:172;;-1:-1:-1;30160:14:172;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:160;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:172;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:160;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:172;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:172;;;;;;;;;;;-1:-1:-1;;;;34596:141:172;;;;-1:-1:-1;34596:141:172;29640:5114::o;6057:849:151:-;6141:7;6211:8;253:2:149;6188:31:151;6184:706;;;253:2:149;6259:31:151;;;503:6:149;6312:21:151;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:149;6517:8:151;:31;6513:377;;;6590:31;;;416:1:149;6643:21:151;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:151;6867:8;;649:163:150;741:7;767:38;:1;776;339:4:149;796:8:150;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:150:o;7325:878:151:-;7414:7;7484:14;253:2:149;7461:37:151;7457:730;;;253:2:149;7540:37:151;;;416:1:149;7599:21:151;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:149;7809:14:151;:37;7805:382;;;7886:37;;;503:6:149;7945:21:151;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:172:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:172;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:172;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:172;-1:-1:-1;38505:22:172;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:169:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:169;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:169;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:169;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:172:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:172;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:209;5720:111:27;;;42026:21:209;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:209;1950:412:91;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:91:o;550:376:154:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;691:16;825:32;667:18:153;883:36:154;;550:376::o;7166:2290:92:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:92;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:160;3277:11;;3315:1;3301:16;;2288:10:92;3348:4:160;3337:16;;3330:27;2326:4:92;3377:16:160;;;3370:27;2211:16:92;3423::160;;3410:30;;;3277:11;2258:165:169;7817:17:92;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:92;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:146;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:92;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:92;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:209;;;2281:18;;9164:19:92;2162:177:209;8196:1010:92;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:92;7166:2290;-1:-1:-1;;;;;7166:2290:92:o;42090:213:172:-;42167:15;1048:2:94;1016:34;;;;;3455:1:172;1015:100:94;42201:95:172;816:316:94;3534:689:151;3614:9;726:2:149;3663:9:151;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:151;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:149;3179:9:151;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:151;;2590:688;-1:-1:-1;;2590:688:151:o;5172:598::-;5253:9;726:2:149;5302:11:151;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:151;5715:6;;5172:598;-1:-1:-1;;5172:598:151:o;4596:207::-;4670:7;726:2:149;4720:11:151;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:172:-;42380:15;1055:46:94;1048:2;1016:34;;;;;1015:87;42414:83:172;816:316:94;40029:2055:172;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:172;;;40835:183;;;-1:-1:-1;40992:13:172;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:172:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:91:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:91;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:91;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:209;2952:53:36;;;45067:21:209;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:209;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:209;8113:60:28;;;45417:21:209;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:209;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:209;5354:81:28;;;45775:21:209;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:209;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:209;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:209;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:209:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:209;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:209:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:209;;561:180;-1:-1:-1;561:180:209:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:209;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:209;1437:18;;1424:32;;-1:-1:-1;1507:2:209;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:209;;-1:-1:-1;1871:2:209;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:209:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:209:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:209:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:209;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:209;;5790:703;-1:-1:-1;;;;;;;5790:703:209:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:209:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:209;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:209;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:209;;-1:-1:-1;;10648:12:209;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:209;8145:2554;-1:-1:-1;;;;;;8145:2554:209:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:209;;-1:-1:-1;;;;12066:626:209:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:209;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:209:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:209;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:209;;13286:859;-1:-1:-1;;;;;;;13286:859:209:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:209;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:209;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:209:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:209:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:209;;17464:184;-1:-1:-1;17464:184:209:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:209:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:209;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:209;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:209;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:209;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:209;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:209;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:209;;20766:435;-1:-1:-1;;;;;20766:435:209:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:209;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:209;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:209;26645:966;-1:-1:-1;;26645:966:209:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:209;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:209;30554:9;30525:685;;;-1:-1:-1;31249:18:209;;;31242:34;;;;-1:-1:-1;;31292:18:209;;;31285:34;;;;-1:-1:-1;31227:6:209;;29325:2000;-1:-1:-1;;;;;;29325:2000:209:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:209;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:209;;-1:-1:-1;34383:18:209;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:209;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:209;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:209;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:209;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:209;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:209:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", + "sourceMap": "8997:33509:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:212;;904:22;886:41;;874:2;859:18;11833:151:173;;;;;;;;5614:2666:170;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:212;;;2296:2;2281:18;8721:162:170;2162:177:212;13693:2174:173;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:212;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:173;3147:248:212;24689:4247:173;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:173:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:170:-;;;;;;:::i;:::-;;:::i;15906:448:173:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:173::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:173::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:212::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:173::1;::::0;15943:3:212;15928:19;12422:43:173::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:173;;;:::o;2303:20:22:-;12023:640:173;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:173::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:170:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:177;6965:6:170;:40;6961:111;;7028:33;;;;;;;;2308:25:212;;;2281:18;;7028:33:170;2162:177:212;6961:111:170;7450:14;;;-1:-1:-1;7482:10:170;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:170;;5614:2666;-1:-1:-1;;;;;;5614:2666:170:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:212;8838:23:170;;;;;;17954:18:212;;8838:38:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:170:o;13693:2174:173:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:173::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:173::1;::::0;-1:-1:-1;;;13824:56:173:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:212::0;17954:18;;13933:26:173::1;17835:226:212::0;13890:80:173::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:212::0;17954:18;;14022:27:173::1;17835:226:212::0;13979:81:173::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:212::0;17954:18;;14126:25:173::1;17835:226:212::0;14069:93:173::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:212::0;17954:18;;14229:26:173::1;17835:226:212::0;14171:95:173::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:161::0;3277:11;;3335:1:173::1;3301:16:161::0;;;3348:4;3337:16;;3330:27;3574:1:173::1;3377:16:161::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:173::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:173::1;::::0;-1:-1:-1;14882:27:173::1;::::0;-1:-1:-1;;14882:102:173:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:173::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:173::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:173::1;::::0;-1:-1:-1;;;15724:38:173:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:173;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:173::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:173::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:173;-1:-1:-1;17129:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:173::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:173::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:212;28256:15;;;17240:199:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:173::1;28003:327:212::0;17031:423:173::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:173::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:212;28706:17;;;18246:213:173::1;::::0;::::1;28688:36:212::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:173::1;28522:262:212::0;18031:443:173::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:173::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:173::1;::::0;15512:2:212;15497:18;19124:49:173::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:173::1;::::0;15512:2:212;15497:18;19933:56:173::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:173::1;::::0;15512:2:212;15497:18;20103:51:173::1;15322:398:212::0;20014:2488:173::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:173::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:150;21000:27:173;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:150;21906:13:173;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:173::1;::::0;-1:-1:-1;22120:76:173::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:150;22120:41:173;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:173::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:173::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:173::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:173;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:212::0;3362:18;;;3355:34;;;3294:18;;22729:50:173::1;3147:248:212::0;22665:125:173::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:173::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:173::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:173::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:173::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:173::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:173;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:173;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:212;17999:55;;;25011:22:173::1;::::0;::::1;17981:74:212::0;17954:18;;25011:22:173::1;17835:226:212::0;24956:92:173::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:212;28256:15;;;25252:181:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:173::1;28003:327:212::0;25061:387:173::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:212::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:173::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:212;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:173::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:173;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:173::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:173::1;-1:-1:-1::0;;28889:40:173::1;::::0;;28900:10:::1;32657:74:212::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:173::1;::::0;32644:3:212;32629:19;28889:40:173::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:173;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:173:-;2261:21:22;:19;:21::i;:::-;12810:12:173::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:173::1;15322:398:212::0;12806:107:173::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:173;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:212;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:173::1;::::0;33416:3:212;33401:19;13491:66:173::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:173;11720:7;3098::22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:173::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:173::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:212;28256:15;;;16061:38:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:173::1;28003:327:212::0;16009:101:173::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:173;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:173::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:212;2460:63:22;;;37243:21:212;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:212;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:212;15603:15;;;1482:68:27;;;15585:34:212;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:212;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:170:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:212;2555:7:170;;;;15635:18:212;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:170;15322:398:212;2481:109:170;2429:167::o;941:175:27:-;1050:58;;37623:42:212;37611:55;;1050:58:27;;;37593:74:212;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:212;;1050:58:27;37419:297:212;2258:165:170;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:170;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:170;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;537:118:182:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:173:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:173;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:173;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:173;;4055:4:161;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:173;;;;4149:16:161;;;4142:27;30311:30:173;;;3967:22:161;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:173;;-1:-1:-1;30160:14:173;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:161;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:173;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:161;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:173;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:173;;;;;;;;;;;-1:-1:-1;;;;34596:141:173;;;;-1:-1:-1;34596:141:173;29640:5114::o;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;649:163:151;741:7;767:38;:1;776;339:4:150;796:8:151;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:151:o;7325:878:152:-;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:173:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:173;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:173;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:173;-1:-1:-1;38505:22:173;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:170:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:170;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:170;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:170;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:173:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:173;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:212;5720:111:27;;;42026:21:212;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:212;1950:412:92;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;550:376:155:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;691:16;825:32;667:18:154;883:36:155;;550:376::o;7166:2290:93:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:93;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:161;3277:11;;3315:1;3301:16;;2288:10:93;3348:4:161;3337:16;;3330:27;2326:4:93;3377:16:161;;;3370:27;2211:16:93;3423::161;;3410:30;;;3277:11;2258:165:170;7817:17:93;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:93;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:147;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:93;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:93;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:212;;;2281:18;;9164:19:93;2162:177:212;8196:1010:93;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:93;7166:2290;-1:-1:-1;;;;;7166:2290:93:o;42090:213:173:-;42167:15;1048:2:95;1016:34;;;;;3455:1:173;1015:100:95;42201:95:173;816:316:95;3534:689:152;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:152;5715:6;;5172:598;-1:-1:-1;;5172:598:152:o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:173:-;42380:15;1055:46:95;1048:2;1016:34;;;;;1015:87;42414:83:173;816:316:95;40029:2055:173;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:173;;;40835:183;;;-1:-1:-1;40992:13:173;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:173:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:212;2952:53:36;;;45067:21:212;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:212;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:212;8113:60:28;;;45417:21:212;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:212;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:212;5354:81:28;;;45775:21:212;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:212;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:212;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:212;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:212:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:212;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:212:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:212;;561:180;-1:-1:-1;561:180:212:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:212;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:212;1437:18;;1424:32;;-1:-1:-1;1507:2:212;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:212;;-1:-1:-1;1871:2:212;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:212:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:212:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:212:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:212;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:212;;5790:703;-1:-1:-1;;;;;;;5790:703:212:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:212:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:212;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:212;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:212;;-1:-1:-1;;10648:12:212;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:212;8145:2554;-1:-1:-1;;;;;;8145:2554:212:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:212;;-1:-1:-1;;;;12066:626:212:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:212;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:212:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:212;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:212;;13286:859;-1:-1:-1;;;;;;;13286:859:212:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:212;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:212;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:212:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:212:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:212;;17464:184;-1:-1:-1;17464:184:212:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:212:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:212;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:212;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:212;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:212;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:212;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:212;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:212;;20766:435;-1:-1:-1;;;;;20766:435:212:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:212;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:212;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:212;26645:966;-1:-1:-1;;26645:966:212:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:212;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:212;30554:9;30525:685;;;-1:-1:-1;31249:18:212;;;31242:34;;;;-1:-1:-1;;31292:18:212;;;31285:34;;;;-1:-1:-1;31227:6:212;;29325:2000;-1:-1:-1;;;;;;29325:2000:212:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:212;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:212;;-1:-1:-1;34383:18:212;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:212;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:212;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:212;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:212;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:212;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:212:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -4368,64 +4368,64 @@ }, "ast": { "absolutePath": "src/concrete/OrderBook.sol", - "id": 77005, + "id": 77035, "exportedSymbols": { "ActiveDebt": [ - 74215 + 74245 ], "CALCULATE_ORDER_ENTRYPOINT": [ - 74875 + 74905 ], "CALCULATE_ORDER_MAX_OUTPUTS": [ - 74891 + 74921 ], "CALCULATE_ORDER_MIN_OUTPUTS": [ - 74887 + 74917 ], "CALLER_META_HASH": [ - 74954 + 74984 ], "CALLING_CONTEXT_COLUMNS": [ - 74903 + 74933 ], "CONTEXT_BASE_COLUMN": [ - 74907 + 74937 ], "CONTEXT_CALCULATIONS_COLUMN": [ - 74915 + 74945 ], "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 74911 + 74941 ], "CONTEXT_VAULT_INPUTS_COLUMN": [ - 74919 + 74949 ], "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 74939 + 74969 ], "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 74943 + 74973 ], "CONTEXT_VAULT_IO_ROWS": [ - 74947 + 74977 ], "CONTEXT_VAULT_IO_TOKEN": [ - 74927 + 74957 ], "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 74931 + 74961 ], "CONTEXT_VAULT_IO_VAULT_ID": [ - 74935 + 74965 ], "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 74923 + 74953 ], "ClearConfig": [ - 77262 + 77292 ], "ClearStateChange": [ - 77271 + 77301 ], "DEFAULT_STATE_NAMESPACE": [ 56316 @@ -4443,70 +4443,70 @@ 56304 ], "Evaluable": [ - 57280 + 57310 ], "EvaluableConfig": [ - 57262 + 57292 ], "EvaluableConfigV2": [ - 57271 + 57301 ], "FIXED_POINT_DECIMALS": [ - 71235 + 71265 ], "FIXED_POINT_ONE": [ - 71239 + 71269 ], "FLAG_MAX_INT": [ - 71255 + 71285 ], "FLAG_ROUND_UP": [ - 71243 + 71273 ], "FLAG_SATURATE": [ - 71249 + 71279 ], "FLASH_FEE": [ - 74219 + 74249 ], "FlashLenderCallbackFailed": [ - 74206 + 74236 ], "FullyQualifiedNamespace": [ 56265 ], "HANDLE_IO_ENTRYPOINT": [ - 74883 + 74913 ], "HANDLE_IO_MAX_OUTPUTS": [ - 74899 + 74929 ], "HANDLE_IO_MIN_OUTPUTS": [ - 74895 + 74925 ], "HASH_NIL": [ - 71096 + 71126 ], "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ 56194 ], "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ - 56403 + 56433 ], "IERC20": [ 44376 ], "IERC3156FlashBorrower": [ - 77476 + 77791 ], "IERC3156FlashLender": [ - 77513 + 77828 ], "IExpressionDeployerV1": [ 56230 ], "IExpressionDeployerV2": [ - 56438 + 56468 ], "IInterpreterCallerV2": [ 56260 @@ -4518,64 +4518,64 @@ 56347 ], "IO": [ - 77192 + 77222 ], "IOrderBookV3": [ - 77796 + 78111 ], "IOrderBookV3OrderTaker": [ - 77828 + 78143 ], "Input18Amount": [ - 74979 + 75009 ], "InvalidSignature": [ - 56776 + 56806 ], "LibBytecode": [ - 56762 + 56792 ], "LibBytes": [ - 72126 + 72156 ], "LibContext": [ - 57061 + 57091 ], "LibEncodedDispatch": [ - 57246 + 57276 ], "LibEvaluable": [ - 57293 + 57323 ], "LibFixedPointDecimalArithmeticOpenZeppelin": [ - 71310 + 71340 ], "LibFixedPointDecimalScale": [ - 71716 + 71746 ], "LibHashNoAlloc": [ - 71138 + 71168 ], "LibMemCpy": [ - 72158 + 72188 ], "LibMeta": [ - 72048 + 72078 ], "LibOrder": [ - 77850 + 78165 ], "LibPointer": [ - 72293 + 72323 ], "LibUint256Array": [ - 72684 + 72714 ], "Math": [ 46816 ], "MinimumInput": [ - 74854 + 74884 ], "Multicall": [ 45220 @@ -4584,55 +4584,55 @@ 56274 ], "NoOrders": [ - 77527 + 77842 ], "NotOrderOwner": [ - 74833 + 74863 ], "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ - 77459 + 77774 ], "ORDER_DEAD": [ - 74867 + 74897 ], "ORDER_LIVE": [ - 74863 + 74893 ], "OVERFLOW_RESCALE_OOMS": [ - 71259 + 71289 ], "Operand": [ 56308 ], "Order": [ - 77222 + 77252 ], "OrderBook": [ - 77004 + 77034 ], "OrderBookV3FlashLender": [ - 74539 + 74569 ], "OrderConfigV2": [ - 77541 + 77856 ], "OrderIOCalculation": [ - 74975 + 75005 ], "OutOfBoundsTruncate": [ - 72466 + 72496 ], "Output18Amount": [ - 74977 + 75007 ], "Pointer": [ - 72173 + 72203 ], "ReentrancyGuard": [ 43711 ], "ReentrancyGuardReentrantCall": [ - 74826 + 74856 ], "SIGNED_CONTEXT_CONTEXT_OFFSET": [ 56246 @@ -4647,7 +4647,7 @@ 44813 ], "SameOwner": [ - 74859 + 74889 ], "SignatureChecker": [ 45914 @@ -4659,43 +4659,43 @@ 56302 ], "SourceOffsetOutOfBounds": [ - 56493 + 56523 ], "StateNamespace": [ 56306 ], "TakeOrderConfig": [ - 77249 + 77279 ], "TakeOrdersConfigV2": [ - 77554 + 77869 ], "TokenDecimalsMismatch": [ - 74847 + 74877 ], "TokenMismatch": [ - 74840 + 74870 ], "TruncateError": [ - 72058 + 72088 ], "ZeroAmount": [ - 74201 + 74231 ], "ZeroReceiver": [ - 74198 + 74228 ], "ZeroToken": [ - 74195 + 74225 ] }, "nodeType": "SourceUnit", - "src": "32:42475:172", + "src": "32:42475:173", "nodes": [ { - "id": 74800, + "id": 74830, "nodeType": "PragmaDirective", - "src": "32:24:172", + "src": "32:24:173", "nodes": [], "literals": [ "solidity", @@ -4705,24 +4705,24 @@ ] }, { - "id": 74802, + "id": 74832, "nodeType": "ImportDirective", - "src": "58:78:172", + "src": "58:78:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "file": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 46817, "symbolAliases": [ { "foreign": { - "id": 74801, + "id": 74831, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "66:4:172", + "src": "66:4:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4731,24 +4731,24 @@ "unitAlias": "" }, { - "id": 74804, + "id": 74834, "nodeType": "ImportDirective", - "src": "137:83:172", + "src": "137:83:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", "file": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 45221, "symbolAliases": [ { "foreign": { - "id": 74803, + "id": 74833, "name": "Multicall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45220, - "src": "145:9:172", + "src": "145:9:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4757,24 +4757,24 @@ "unitAlias": "" }, { - "id": 74806, + "id": 74836, "nodeType": "ImportDirective", - "src": "221:83:172", + "src": "221:83:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "file": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 44377, "symbolAliases": [ { "foreign": { - "id": 74805, + "id": 74835, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44376, - "src": "229:6:172", + "src": "229:6:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4783,24 +4783,24 @@ "unitAlias": "" }, { - "id": 74808, + "id": 74838, "nodeType": "ImportDirective", - "src": "305:95:172", + "src": "305:95:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "file": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 44814, "symbolAliases": [ { "foreign": { - "id": 74807, + "id": 74837, "name": "SafeERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44813, - "src": "313:9:172", + "src": "313:9:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4809,24 +4809,24 @@ "unitAlias": "" }, { - "id": 74810, + "id": 74840, "nodeType": "ImportDirective", - "src": "401:98:172", + "src": "401:98:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", "file": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 43712, "symbolAliases": [ { "foreign": { - "id": 74809, + "id": 74839, "name": "ReentrancyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 43711, - "src": "409:15:172", + "src": "409:15:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4835,100 +4835,100 @@ "unitAlias": "" }, { - "id": 74811, + "id": 74841, "nodeType": "ImportDirective", - "src": "501:89:172", + "src": "501:89:173", "nodes": [], "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 71311, + "scope": 77035, + "sourceUnit": 71341, "symbolAliases": [], "unitAlias": "" }, { - "id": 74812, + "id": 74842, "nodeType": "ImportDirective", - "src": "591:72:172", + "src": "591:72:173", "nodes": [], "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 71717, + "scope": 77035, + "sourceUnit": 71747, "symbolAliases": [], "unitAlias": "" }, { - "id": 74813, + "id": 74843, "nodeType": "ImportDirective", - "src": "664:68:172", + "src": "664:68:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", "file": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 57247, + "scope": 77035, + "sourceUnit": 57277, "symbolAliases": [], "unitAlias": "" }, { - "id": 74814, + "id": 74844, "nodeType": "ImportDirective", - "src": "733:60:172", + "src": "733:60:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", "file": "lib/rain.interpreter/src/lib/caller/LibContext.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 57062, + "scope": 77035, + "sourceUnit": 57092, "symbolAliases": [], "unitAlias": "" }, { - "id": 74818, + "id": 74848, "nodeType": "ImportDirective", - "src": "794:177:172", + "src": "794:177:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", "file": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 55358, "symbolAliases": [ { "foreign": { - "id": 74815, + "id": 74845, "name": "DeployerDiscoverableMetaV2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55357, - "src": "807:26:172", + "src": "807:26:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 74816, + "id": 74846, "name": "DeployerDiscoverableMetaV2ConstructionConfig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55312, - "src": "839:44:172", + "src": "839:44:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 74817, + "id": 74847, "name": "LibMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72048, - "src": "889:7:172", + "referencedDeclaration": 72078, + "src": "889:7:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4937,118 +4937,118 @@ "unitAlias": "" }, { - "id": 74819, + "id": 74849, "nodeType": "ImportDirective", - "src": "972:63:172", + "src": "972:63:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", "file": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 56763, + "scope": 77035, + "sourceUnit": 56793, "symbolAliases": [], "unitAlias": "" }, { - "id": 74820, + "id": 74850, "nodeType": "ImportDirective", - "src": "1037:48:172", + "src": "1037:48:173", "nodes": [], "absolutePath": "src/interface/unstable/IOrderBookV3.sol", "file": "../interface/unstable/IOrderBookV3.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 77797, + "scope": 77035, + "sourceUnit": 78112, "symbolAliases": [], "unitAlias": "" }, { - "id": 74821, + "id": 74851, "nodeType": "ImportDirective", - "src": "1086:58:172", + "src": "1086:58:173", "nodes": [], "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 77829, + "scope": 77035, + "sourceUnit": 78144, "symbolAliases": [], "unitAlias": "" }, { - "id": 74822, + "id": 74852, "nodeType": "ImportDirective", - "src": "1145:29:172", + "src": "1145:29:173", "nodes": [], "absolutePath": "src/lib/LibOrder.sol", "file": "../lib/LibOrder.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 77851, + "scope": 77035, + "sourceUnit": 78166, "symbolAliases": [], "unitAlias": "" }, { - "id": 74823, + "id": 74853, "nodeType": "ImportDirective", - "src": "1175:48:172", + "src": "1175:48:173", "nodes": [], "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", "file": "../abstract/OrderBookV3FlashLender.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 74540, + "scope": 77035, + "sourceUnit": 74570, "symbolAliases": [], "unitAlias": "" }, { - "id": 74826, + "id": 74856, "nodeType": "ErrorDefinition", - "src": "1326:37:172", + "src": "1326:37:173", "nodes": [], "documentation": { - "id": 74824, + "id": 74854, "nodeType": "StructuredDocumentation", - "src": "1225:101:172", + "src": "1225:101:173", "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." }, "errorSelector": "3ee5aeb5", "name": "ReentrancyGuardReentrantCall", - "nameLocation": "1332:28:172", + "nameLocation": "1332:28:173", "parameters": { - "id": 74825, + "id": 74855, "nodeType": "ParameterList", "parameters": [], - "src": "1360:2:172" + "src": "1360:2:173" } }, { - "id": 74833, + "id": 74863, "nodeType": "ErrorDefinition", - "src": "1539:51:172", + "src": "1539:51:173", "nodes": [], "documentation": { - "id": 74827, + "id": 74857, "nodeType": "StructuredDocumentation", - "src": "1365:174:172", + "src": "1365:174:173", "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." }, "errorSelector": "4702b914", "name": "NotOrderOwner", - "nameLocation": "1545:13:172", + "nameLocation": "1545:13:173", "parameters": { - "id": 74832, + "id": 74862, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74829, + "id": 74859, "mutability": "mutable", "name": "sender", - "nameLocation": "1567:6:172", + "nameLocation": "1567:6:173", "nodeType": "VariableDeclaration", - "scope": 74833, - "src": "1559:14:172", + "scope": 74863, + "src": "1559:14:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5056,10 +5056,10 @@ "typeString": "address" }, "typeName": { - "id": 74828, + "id": 74858, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1559:7:172", + "src": "1559:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5070,13 +5070,13 @@ }, { "constant": false, - "id": 74831, + "id": 74861, "mutability": "mutable", "name": "owner", - "nameLocation": "1583:5:172", + "nameLocation": "1583:5:173", "nodeType": "VariableDeclaration", - "scope": 74833, - "src": "1575:13:172", + "scope": 74863, + "src": "1575:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5084,10 +5084,10 @@ "typeString": "address" }, "typeName": { - "id": 74830, + "id": 74860, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1575:7:172", + "src": "1575:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5097,36 +5097,36 @@ "visibility": "internal" } ], - "src": "1558:31:172" + "src": "1558:31:173" } }, { - "id": 74840, + "id": 74870, "nodeType": "ErrorDefinition", - "src": "1807:58:172", + "src": "1807:58:173", "nodes": [], "documentation": { - "id": 74834, + "id": 74864, "nodeType": "StructuredDocumentation", - "src": "1592:215:172", + "src": "1592:215:173", "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." }, "errorSelector": "f902523f", "name": "TokenMismatch", - "nameLocation": "1813:13:172", + "nameLocation": "1813:13:173", "parameters": { - "id": 74839, + "id": 74869, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74836, + "id": 74866, "mutability": "mutable", "name": "aliceToken", - "nameLocation": "1835:10:172", + "nameLocation": "1835:10:173", "nodeType": "VariableDeclaration", - "scope": 74840, - "src": "1827:18:172", + "scope": 74870, + "src": "1827:18:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5134,10 +5134,10 @@ "typeString": "address" }, "typeName": { - "id": 74835, + "id": 74865, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1827:7:172", + "src": "1827:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5148,13 +5148,13 @@ }, { "constant": false, - "id": 74838, + "id": 74868, "mutability": "mutable", "name": "bobToken", - "nameLocation": "1855:8:172", + "nameLocation": "1855:8:173", "nodeType": "VariableDeclaration", - "scope": 74840, - "src": "1847:16:172", + "scope": 74870, + "src": "1847:16:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5162,10 +5162,10 @@ "typeString": "address" }, "typeName": { - "id": 74837, + "id": 74867, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1847:7:172", + "src": "1847:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5175,36 +5175,36 @@ "visibility": "internal" } ], - "src": "1826:38:172" + "src": "1826:38:173" } }, { - "id": 74847, + "id": 74877, "nodeType": "ErrorDefinition", - "src": "2107:78:172", + "src": "2107:78:173", "nodes": [], "documentation": { - "id": 74841, + "id": 74871, "nodeType": "StructuredDocumentation", - "src": "1867:240:172", + "src": "1867:240:173", "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." }, "errorSelector": "0f6ce477", "name": "TokenDecimalsMismatch", - "nameLocation": "2113:21:172", + "nameLocation": "2113:21:173", "parameters": { - "id": 74846, + "id": 74876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74843, + "id": 74873, "mutability": "mutable", "name": "aliceTokenDecimals", - "nameLocation": "2141:18:172", + "nameLocation": "2141:18:173", "nodeType": "VariableDeclaration", - "scope": 74847, - "src": "2135:24:172", + "scope": 74877, + "src": "2135:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5212,10 +5212,10 @@ "typeString": "uint8" }, "typeName": { - "id": 74842, + "id": 74872, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2135:5:172", + "src": "2135:5:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5225,13 +5225,13 @@ }, { "constant": false, - "id": 74845, + "id": 74875, "mutability": "mutable", "name": "bobTokenDecimals", - "nameLocation": "2167:16:172", + "nameLocation": "2167:16:173", "nodeType": "VariableDeclaration", - "scope": 74847, - "src": "2161:22:172", + "scope": 74877, + "src": "2161:22:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5239,10 +5239,10 @@ "typeString": "uint8" }, "typeName": { - "id": 74844, + "id": 74874, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2161:5:172", + "src": "2161:5:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5251,36 +5251,36 @@ "visibility": "internal" } ], - "src": "2134:50:172" + "src": "2134:50:173" } }, { - "id": 74854, + "id": 74884, "nodeType": "ErrorDefinition", - "src": "2331:56:172", + "src": "2331:56:173", "nodes": [], "documentation": { - "id": 74848, + "id": 74878, "nodeType": "StructuredDocumentation", - "src": "2187:144:172", + "src": "2187:144:173", "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." }, "errorSelector": "45094d88", "name": "MinimumInput", - "nameLocation": "2337:12:172", + "nameLocation": "2337:12:173", "parameters": { - "id": 74853, + "id": 74883, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74850, + "id": 74880, "mutability": "mutable", "name": "minimumInput", - "nameLocation": "2358:12:172", + "nameLocation": "2358:12:173", "nodeType": "VariableDeclaration", - "scope": 74854, - "src": "2350:20:172", + "scope": 74884, + "src": "2350:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5288,10 +5288,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74849, + "id": 74879, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2350:7:172", + "src": "2350:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5301,13 +5301,13 @@ }, { "constant": false, - "id": 74852, + "id": 74882, "mutability": "mutable", "name": "input", - "nameLocation": "2380:5:172", + "nameLocation": "2380:5:173", "nodeType": "VariableDeclaration", - "scope": 74854, - "src": "2372:13:172", + "scope": 74884, + "src": "2372:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5315,10 +5315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74851, + "id": 74881, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2372:7:172", + "src": "2372:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5327,36 +5327,36 @@ "visibility": "internal" } ], - "src": "2349:37:172" + "src": "2349:37:173" } }, { - "id": 74859, + "id": 74889, "nodeType": "ErrorDefinition", - "src": "2493:31:172", + "src": "2493:31:173", "nodes": [], "documentation": { - "id": 74855, + "id": 74885, "nodeType": "StructuredDocumentation", - "src": "2389:104:172", + "src": "2389:104:173", "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." }, "errorSelector": "227e4ce9", "name": "SameOwner", - "nameLocation": "2499:9:172", + "nameLocation": "2499:9:173", "parameters": { - "id": 74858, + "id": 74888, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74857, + "id": 74887, "mutability": "mutable", "name": "owner", - "nameLocation": "2517:5:172", + "nameLocation": "2517:5:173", "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "2509:13:172", + "scope": 74889, + "src": "2509:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5364,10 +5364,10 @@ "typeString": "address" }, "typeName": { - "id": 74856, + "id": 74886, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2509:7:172", + "src": "2509:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5377,19 +5377,19 @@ "visibility": "internal" } ], - "src": "2508:15:172" + "src": "2508:15:173" } }, { - "id": 74863, + "id": 74893, "nodeType": "VariableDeclaration", - "src": "2652:31:172", + "src": "2652:31:173", "nodes": [], "constant": true, "mutability": "constant", "name": "ORDER_LIVE", - "nameLocation": "2669:10:172", - "scope": 77005, + "nameLocation": "2669:10:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5397,10 +5397,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74861, + "id": 74891, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2652:7:172", + "src": "2652:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5408,14 +5408,14 @@ }, "value": { "hexValue": "31", - "id": 74862, + "id": 74892, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2682:1:172", + "src": "2682:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5425,15 +5425,15 @@ "visibility": "internal" }, { - "id": 74867, + "id": 74897, "nodeType": "VariableDeclaration", - "src": "2856:31:172", + "src": "2856:31:173", "nodes": [], "constant": true, "mutability": "constant", "name": "ORDER_DEAD", - "nameLocation": "2873:10:172", - "scope": 77005, + "nameLocation": "2873:10:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5441,10 +5441,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74865, + "id": 74895, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2856:7:172", + "src": "2856:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5452,14 +5452,14 @@ }, "value": { "hexValue": "30", - "id": 74866, + "id": 74896, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2886:1:172", + "src": "2886:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5469,15 +5469,15 @@ "visibility": "internal" }, { - "id": 74875, + "id": 74905, "nodeType": "VariableDeclaration", - "src": "2959:69:172", + "src": "2959:69:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "2980:26:172", - "scope": 77005, + "nameLocation": "2980:26:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5485,20 +5485,20 @@ "typeString": "SourceIndex" }, "typeName": { - "id": 74870, + "id": 74900, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74869, + "id": 74899, "name": "SourceIndex", "nameLocations": [ - "2959:11:172" + "2959:11:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56302, - "src": "2959:11:172" + "src": "2959:11:173" }, "referencedDeclaration": 56302, - "src": "2959:11:172", + "src": "2959:11:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" @@ -5508,14 +5508,14 @@ "arguments": [ { "hexValue": "30", - "id": 74873, + "id": 74903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3026:1:172", + "src": "3026:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5531,32 +5531,32 @@ } ], "expression": { - "id": 74871, + "id": 74901, "name": "SourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56302, - "src": "3009:11:172", + "src": "3009:11:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "type(SourceIndex)" } }, - "id": 74872, + "id": 74902, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3021:4:172", + "memberLocation": "3021:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "3009:16:172", + "src": "3009:16:173", "typeDescriptions": { "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "function (uint16) pure returns (SourceIndex)" } }, - "id": 74874, + "id": 74904, "isConstant": false, "isLValue": false, "isPure": true, @@ -5565,7 +5565,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3009:19:172", + "src": "3009:19:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", @@ -5575,15 +5575,15 @@ "visibility": "internal" }, { - "id": 74883, + "id": 74913, "nodeType": "VariableDeclaration", - "src": "3151:63:172", + "src": "3151:63:173", "nodes": [], "constant": true, "mutability": "constant", "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "3172:20:172", - "scope": 77005, + "nameLocation": "3172:20:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5591,20 +5591,20 @@ "typeString": "SourceIndex" }, "typeName": { - "id": 74878, + "id": 74908, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74877, + "id": 74907, "name": "SourceIndex", "nameLocations": [ - "3151:11:172" + "3151:11:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56302, - "src": "3151:11:172" + "src": "3151:11:173" }, "referencedDeclaration": 56302, - "src": "3151:11:172", + "src": "3151:11:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" @@ -5614,14 +5614,14 @@ "arguments": [ { "hexValue": "31", - "id": 74881, + "id": 74911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3212:1:172", + "src": "3212:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5637,32 +5637,32 @@ } ], "expression": { - "id": 74879, + "id": 74909, "name": "SourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56302, - "src": "3195:11:172", + "src": "3195:11:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "type(SourceIndex)" } }, - "id": 74880, + "id": 74910, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3207:4:172", + "memberLocation": "3207:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "3195:16:172", + "src": "3195:16:173", "typeDescriptions": { "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "function (uint16) pure returns (SourceIndex)" } }, - "id": 74882, + "id": 74912, "isConstant": false, "isLValue": false, "isPure": true, @@ -5671,7 +5671,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3195:19:172", + "src": "3195:19:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", @@ -5681,15 +5681,15 @@ "visibility": "internal" }, { - "id": 74887, + "id": 74917, "nodeType": "VariableDeclaration", - "src": "3288:48:172", + "src": "3288:48:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "3305:27:172", - "scope": 77005, + "nameLocation": "3305:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5697,10 +5697,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74885, + "id": 74915, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3288:7:172", + "src": "3288:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5708,14 +5708,14 @@ }, "value": { "hexValue": "32", - "id": 74886, + "id": 74916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3335:1:172", + "src": "3335:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5725,15 +5725,15 @@ "visibility": "internal" }, { - "id": 74891, + "id": 74921, "nodeType": "VariableDeclaration", - "src": "3409:47:172", + "src": "3409:47:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "3425:27:172", - "scope": 77005, + "nameLocation": "3425:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5741,10 +5741,10 @@ "typeString": "uint16" }, "typeName": { - "id": 74889, + "id": 74919, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "3409:6:172", + "src": "3409:6:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -5752,14 +5752,14 @@ }, "value": { "hexValue": "32", - "id": 74890, + "id": 74920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3455:1:172", + "src": "3455:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5769,15 +5769,15 @@ "visibility": "internal" }, { - "id": 74895, + "id": 74925, "nodeType": "VariableDeclaration", - "src": "3533:42:172", + "src": "3533:42:173", "nodes": [], "constant": true, "mutability": "constant", "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "3550:21:172", - "scope": 77005, + "nameLocation": "3550:21:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5785,10 +5785,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74893, + "id": 74923, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3533:7:172", + "src": "3533:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5796,14 +5796,14 @@ }, "value": { "hexValue": "30", - "id": 74894, + "id": 74924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3574:1:172", + "src": "3574:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5813,15 +5813,15 @@ "visibility": "internal" }, { - "id": 74899, + "id": 74929, "nodeType": "VariableDeclaration", - "src": "3651:41:172", + "src": "3651:41:173", "nodes": [], "constant": true, "mutability": "constant", "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "3667:21:172", - "scope": 77005, + "nameLocation": "3667:21:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5829,10 +5829,10 @@ "typeString": "uint16" }, "typeName": { - "id": 74897, + "id": 74927, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "3651:6:172", + "src": "3651:6:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -5840,14 +5840,14 @@ }, "value": { "hexValue": "30", - "id": 74898, + "id": 74928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3691:1:172", + "src": "3691:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5857,15 +5857,15 @@ "visibility": "internal" }, { - "id": 74903, + "id": 74933, "nodeType": "VariableDeclaration", - "src": "4230:44:172", + "src": "4230:44:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "4247:23:172", - "scope": 77005, + "nameLocation": "4247:23:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5873,10 +5873,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74901, + "id": 74931, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4230:7:172", + "src": "4230:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5884,14 +5884,14 @@ }, "value": { "hexValue": "34", - "id": 74902, + "id": 74932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4273:1:172", + "src": "4273:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5901,15 +5901,15 @@ "visibility": "internal" }, { - "id": 74907, + "id": 74937, "nodeType": "VariableDeclaration", - "src": "4315:40:172", + "src": "4315:40:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "4332:19:172", - "scope": 77005, + "nameLocation": "4332:19:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5917,10 +5917,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74905, + "id": 74935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4315:7:172", + "src": "4315:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5928,14 +5928,14 @@ }, "value": { "hexValue": "30", - "id": 74906, + "id": 74936, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4354:1:172", + "src": "4354:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5945,15 +5945,15 @@ "visibility": "internal" }, { - "id": 74911, + "id": 74941, "nodeType": "VariableDeclaration", - "src": "4656:51:172", + "src": "4656:51:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "4673:30:172", - "scope": 77005, + "nameLocation": "4673:30:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5961,10 +5961,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74909, + "id": 74939, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4656:7:172", + "src": "4656:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5972,14 +5972,14 @@ }, "value": { "hexValue": "31", - "id": 74910, + "id": 74940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4706:1:172", + "src": "4706:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5989,15 +5989,15 @@ "visibility": "internal" }, { - "id": 74915, + "id": 74945, "nodeType": "VariableDeclaration", - "src": "4854:48:172", + "src": "4854:48:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "4871:27:172", - "scope": 77005, + "nameLocation": "4871:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6005,10 +6005,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74913, + "id": 74943, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4854:7:172", + "src": "4854:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6016,14 +6016,14 @@ }, "value": { "hexValue": "32", - "id": 74914, + "id": 74944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4901:1:172", + "src": "4901:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6033,15 +6033,15 @@ "visibility": "internal" }, { - "id": 74919, + "id": 74949, "nodeType": "VariableDeclaration", - "src": "5194:48:172", + "src": "5194:48:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "5211:27:172", - "scope": 77005, + "nameLocation": "5211:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6049,10 +6049,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74917, + "id": 74947, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5194:7:172", + "src": "5194:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6060,14 +6060,14 @@ }, "value": { "hexValue": "33", - "id": 74918, + "id": 74948, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5241:1:172", + "src": "5241:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -6077,15 +6077,15 @@ "visibility": "internal" }, { - "id": 74923, + "id": 74953, "nodeType": "VariableDeclaration", - "src": "5360:49:172", + "src": "5360:49:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "5377:28:172", - "scope": 77005, + "nameLocation": "5377:28:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6093,10 +6093,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74921, + "id": 74951, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5360:7:172", + "src": "5360:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6104,14 +6104,14 @@ }, "value": { "hexValue": "34", - "id": 74922, + "id": 74952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5408:1:172", + "src": "5408:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -6121,15 +6121,15 @@ "visibility": "internal" }, { - "id": 74927, + "id": 74957, "nodeType": "VariableDeclaration", - "src": "5484:43:172", + "src": "5484:43:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "5501:22:172", - "scope": 77005, + "nameLocation": "5501:22:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6137,10 +6137,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74925, + "id": 74955, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5484:7:172", + "src": "5484:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6148,14 +6148,14 @@ }, "value": { "hexValue": "30", - "id": 74926, + "id": 74956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5526:1:172", + "src": "5526:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6165,15 +6165,15 @@ "visibility": "internal" }, { - "id": 74931, + "id": 74961, "nodeType": "VariableDeclaration", - "src": "5602:52:172", + "src": "5602:52:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "5619:31:172", - "scope": 77005, + "nameLocation": "5619:31:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6181,10 +6181,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74929, + "id": 74959, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5602:7:172", + "src": "5602:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6192,14 +6192,14 @@ }, "value": { "hexValue": "31", - "id": 74930, + "id": 74960, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5653:1:172", + "src": "5653:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -6209,15 +6209,15 @@ "visibility": "internal" }, { - "id": 74935, + "id": 74965, "nodeType": "VariableDeclaration", - "src": "5723:46:172", + "src": "5723:46:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "5740:25:172", - "scope": 77005, + "nameLocation": "5740:25:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6225,10 +6225,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74933, + "id": 74963, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5723:7:172", + "src": "5723:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6236,14 +6236,14 @@ }, "value": { "hexValue": "32", - "id": 74934, + "id": 74964, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5768:1:172", + "src": "5768:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6253,15 +6253,15 @@ "visibility": "internal" }, { - "id": 74939, + "id": 74969, "nodeType": "VariableDeclaration", - "src": "5876:52:172", + "src": "5876:52:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "5893:31:172", - "scope": 77005, + "nameLocation": "5893:31:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6269,10 +6269,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74937, + "id": 74967, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5876:7:172", + "src": "5876:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6280,14 +6280,14 @@ }, "value": { "hexValue": "33", - "id": 74938, + "id": 74968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5927:1:172", + "src": "5927:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -6297,15 +6297,15 @@ "visibility": "internal" }, { - "id": 74943, + "id": 74973, "nodeType": "VariableDeclaration", - "src": "6176:50:172", + "src": "6176:50:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "6193:29:172", - "scope": 77005, + "nameLocation": "6193:29:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6313,10 +6313,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74941, + "id": 74971, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6176:7:172", + "src": "6176:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6324,14 +6324,14 @@ }, "value": { "hexValue": "34", - "id": 74942, + "id": 74972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6225:1:172", + "src": "6225:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -6341,15 +6341,15 @@ "visibility": "internal" }, { - "id": 74947, + "id": 74977, "nodeType": "VariableDeclaration", - "src": "6266:42:172", + "src": "6266:42:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "6283:21:172", - "scope": 77005, + "nameLocation": "6283:21:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6357,10 +6357,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74945, + "id": 74975, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6266:7:172", + "src": "6266:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6368,14 +6368,14 @@ }, "value": { "hexValue": "35", - "id": 74946, + "id": 74976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6307:1:172", + "src": "6307:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -6385,15 +6385,15 @@ "visibility": "internal" }, { - "id": 74954, + "id": 74984, "nodeType": "VariableDeclaration", - "src": "6375:111:172", + "src": "6375:111:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALLER_META_HASH", - "nameLocation": "6392:16:172", - "scope": 77005, + "nameLocation": "6392:16:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6401,10 +6401,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 74949, + "id": 74979, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6375:7:172", + "src": "6375:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6414,14 +6414,14 @@ "arguments": [ { "hexValue": "307837316665326634663638663137646665366165376162613262626436636266653561326134386139336562626338623166313930303838376239373865656565", - "id": 74952, + "id": 74982, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6419:66:172", + "src": "6419:66:173", "typeDescriptions": { "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", "typeString": "int_const 5156...(69 digits omitted)...4718" @@ -6436,26 +6436,26 @@ "typeString": "int_const 5156...(69 digits omitted)...4718" } ], - "id": 74951, + "id": 74981, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6411:7:172", + "src": "6411:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 74950, + "id": 74980, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6411:7:172", + "src": "6411:7:173", "typeDescriptions": {} } }, - "id": 74953, + "id": 74983, "isConstant": false, "isLValue": false, "isPure": true, @@ -6464,7 +6464,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6411:75:172", + "src": "6411:75:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6474,44 +6474,44 @@ "visibility": "internal" }, { - "id": 74975, + "id": 75005, "nodeType": "StructDefinition", - "src": "8613:249:172", + "src": "8613:249:173", "nodes": [], "canonicalName": "OrderIOCalculation", "members": [ { "constant": false, - "id": 74957, + "id": 74987, "mutability": "mutable", "name": "order", - "nameLocation": "8651:5:172", + "nameLocation": "8651:5:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8645:11:172", + "scope": 75005, + "src": "8645:11:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" }, "typeName": { - "id": 74956, + "id": 74986, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74955, + "id": 74985, "name": "Order", "nameLocations": [ - "8645:5:172" + "8645:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "8645:5:172" + "referencedDeclaration": 77252, + "src": "8645:5:173" }, - "referencedDeclaration": 77222, - "src": "8645:5:172", + "referencedDeclaration": 77252, + "src": "8645:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -6519,13 +6519,13 @@ }, { "constant": false, - "id": 74959, + "id": 74989, "mutability": "mutable", "name": "outputIOIndex", - "nameLocation": "8670:13:172", + "nameLocation": "8670:13:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8662:21:172", + "scope": 75005, + "src": "8662:21:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6533,10 +6533,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74958, + "id": 74988, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8662:7:172", + "src": "8662:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6546,36 +6546,36 @@ }, { "constant": false, - "id": 74962, + "id": 74992, "mutability": "mutable", "name": "outputMax", - "nameLocation": "8704:9:172", + "nameLocation": "8704:9:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8689:24:172", + "scope": 75005, + "src": "8689:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 74961, + "id": 74991, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74960, + "id": 74990, "name": "Output18Amount", "nameLocations": [ - "8689:14:172" + "8689:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "8689:14:172" + "referencedDeclaration": 75007, + "src": "8689:14:173" }, - "referencedDeclaration": 74977, - "src": "8689:14:172", + "referencedDeclaration": 75007, + "src": "8689:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, @@ -6583,13 +6583,13 @@ }, { "constant": false, - "id": 74964, + "id": 74994, "mutability": "mutable", "name": "IORatio", - "nameLocation": "8778:7:172", + "nameLocation": "8778:7:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8770:15:172", + "scope": 75005, + "src": "8770:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6597,10 +6597,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74963, + "id": 74993, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8770:7:172", + "src": "8770:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6610,13 +6610,13 @@ }, { "constant": false, - "id": 74968, + "id": 74998, "mutability": "mutable", "name": "context", - "nameLocation": "8803:7:172", + "nameLocation": "8803:7:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8791:19:172", + "scope": 75005, + "src": "8791:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6626,26 +6626,26 @@ "typeName": { "baseType": { "baseType": { - "id": 74965, + "id": 74995, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8791:7:172", + "src": "8791:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 74966, + "id": 74996, "nodeType": "ArrayTypeName", - "src": "8791:9:172", + "src": "8791:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 74967, + "id": 74997, "nodeType": "ArrayTypeName", - "src": "8791:11:172", + "src": "8791:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" @@ -6655,13 +6655,13 @@ }, { "constant": false, - "id": 74971, + "id": 75001, "mutability": "mutable", "name": "namespace", - "nameLocation": "8831:9:172", + "nameLocation": "8831:9:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8816:24:172", + "scope": 75005, + "src": "8816:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6669,20 +6669,20 @@ "typeString": "StateNamespace" }, "typeName": { - "id": 74970, + "id": 75000, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74969, + "id": 74999, "name": "StateNamespace", "nameLocations": [ - "8816:14:172" + "8816:14:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56306, - "src": "8816:14:172" + "src": "8816:14:173" }, "referencedDeclaration": 56306, - "src": "8816:14:172", + "src": "8816:14:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -6692,13 +6692,13 @@ }, { "constant": false, - "id": 74974, + "id": 75004, "mutability": "mutable", "name": "kvs", - "nameLocation": "8856:3:172", + "nameLocation": "8856:3:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8846:13:172", + "scope": 75005, + "src": "8846:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6707,18 +6707,18 @@ }, "typeName": { "baseType": { - "id": 74972, + "id": 75002, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8846:7:172", + "src": "8846:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 74973, + "id": 75003, "nodeType": "ArrayTypeName", - "src": "8846:9:172", + "src": "8846:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -6728,23 +6728,23 @@ } ], "name": "OrderIOCalculation", - "nameLocation": "8620:18:172", - "scope": 77005, + "nameLocation": "8620:18:173", + "scope": 77035, "visibility": "public" }, { - "id": 74977, + "id": 75007, "nodeType": "UserDefinedValueTypeDefinition", - "src": "8864:31:172", + "src": "8864:31:173", "nodes": [], "canonicalName": "Output18Amount", "name": "Output18Amount", - "nameLocation": "8869:14:172", + "nameLocation": "8869:14:173", "underlyingType": { - "id": 74976, + "id": 75006, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8887:7:172", + "src": "8887:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6752,18 +6752,18 @@ } }, { - "id": 74979, + "id": 75009, "nodeType": "UserDefinedValueTypeDefinition", - "src": "8897:30:172", + "src": "8897:30:173", "nodes": [], "canonicalName": "Input18Amount", "name": "Input18Amount", - "nameLocation": "8902:13:172", + "nameLocation": "8902:13:173", "underlyingType": { - "id": 74978, + "id": 75008, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8919:7:172", + "src": "8919:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6771,40 +6771,40 @@ } }, { - "id": 77004, + "id": 77034, "nodeType": "ContractDefinition", - "src": "8997:33509:172", + "src": "8997:33509:173", "nodes": [ { - "id": 74994, + "id": 75024, "nodeType": "UsingForDirective", - "src": "9118:36:172", + "src": "9118:36:173", "nodes": [], "global": false, "libraryName": { - "id": 74991, + "id": 75021, "name": "LibUint256Array", "nameLocations": [ - "9124:15:172" + "9124:15:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 72684, - "src": "9124:15:172" + "referencedDeclaration": 72714, + "src": "9124:15:173" }, "typeName": { "baseType": { - "id": 74992, + "id": 75022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9144:7:172", + "src": "9144:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 74993, + "id": 75023, "nodeType": "ArrayTypeName", - "src": "9144:9:172", + "src": "9144:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -6812,36 +6812,36 @@ } }, { - "id": 74998, + "id": 75028, "nodeType": "UsingForDirective", - "src": "9159:27:172", + "src": "9159:27:173", "nodes": [], "global": false, "libraryName": { - "id": 74995, + "id": 75025, "name": "SafeERC20", "nameLocations": [ - "9165:9:172" + "9165:9:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 44813, - "src": "9165:9:172" + "src": "9165:9:173" }, "typeName": { - "id": 74997, + "id": 75027, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74996, + "id": 75026, "name": "IERC20", "nameLocations": [ - "9179:6:172" + "9179:6:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 44376, - "src": "9179:6:172" + "src": "9179:6:173" }, "referencedDeclaration": 44376, - "src": "9179:6:172", + "src": "9179:6:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$44376", "typeString": "contract IERC20" @@ -6849,63 +6849,63 @@ } }, { - "id": 75002, + "id": 75032, "nodeType": "UsingForDirective", - "src": "9191:25:172", + "src": "9191:25:173", "nodes": [], "global": false, "libraryName": { - "id": 74999, + "id": 75029, "name": "LibOrder", "nameLocations": [ - "9197:8:172" + "9197:8:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77850, - "src": "9197:8:172" + "referencedDeclaration": 78165, + "src": "9197:8:173" }, "typeName": { - "id": 75001, + "id": 75031, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75000, + "id": 75030, "name": "Order", "nameLocations": [ - "9210:5:172" + "9210:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "9210:5:172" + "referencedDeclaration": 77252, + "src": "9210:5:173" }, - "referencedDeclaration": 77222, - "src": "9210:5:172", + "referencedDeclaration": 77252, + "src": "9210:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } } }, { - "id": 75005, + "id": 75035, "nodeType": "UsingForDirective", - "src": "9221:34:172", + "src": "9221:34:173", "nodes": [], "global": false, "libraryName": { - "id": 75003, + "id": 75033, "name": "LibUint256Array", "nameLocations": [ - "9227:15:172" + "9227:15:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 72684, - "src": "9227:15:172" + "referencedDeclaration": 72714, + "src": "9227:15:173" }, "typeName": { - "id": 75004, + "id": 75034, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9247:7:172", + "src": "9247:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6913,26 +6913,26 @@ } }, { - "id": 75008, + "id": 75038, "nodeType": "UsingForDirective", - "src": "9260:23:172", + "src": "9260:23:173", "nodes": [], "global": false, "libraryName": { - "id": 75006, + "id": 75036, "name": "Math", "nameLocations": [ - "9266:4:172" + "9266:4:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 46816, - "src": "9266:4:172" + "src": "9266:4:173" }, "typeName": { - "id": 75007, + "id": 75037, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9275:7:172", + "src": "9275:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6940,26 +6940,26 @@ } }, { - "id": 75011, + "id": 75041, "nodeType": "UsingForDirective", - "src": "9288:44:172", + "src": "9288:44:173", "nodes": [], "global": false, "libraryName": { - "id": 75009, + "id": 75039, "name": "LibFixedPointDecimalScale", "nameLocations": [ - "9294:25:172" + "9294:25:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71716, - "src": "9294:25:172" + "referencedDeclaration": 71746, + "src": "9294:25:173" }, "typeName": { - "id": 75010, + "id": 75040, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9324:7:172", + "src": "9324:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6967,26 +6967,26 @@ } }, { - "id": 75014, + "id": 75044, "nodeType": "UsingForDirective", - "src": "9337:61:172", + "src": "9337:61:173", "nodes": [], "global": false, "libraryName": { - "id": 75012, + "id": 75042, "name": "LibFixedPointDecimalArithmeticOpenZeppelin", "nameLocations": [ - "9343:42:172" + "9343:42:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71310, - "src": "9343:42:172" + "referencedDeclaration": 71340, + "src": "9343:42:173" }, "typeName": { - "id": 75013, + "id": 75043, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9390:7:172", + "src": "9390:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6994,21 +6994,21 @@ } }, { - "id": 75019, + "id": 75049, "nodeType": "VariableDeclaration", - "src": "9997:63:172", + "src": "9997:63:173", "nodes": [], "constant": false, "documentation": { - "id": 75015, + "id": 75045, "nodeType": "StructuredDocumentation", - "src": "9404:465:172", + "src": "9404:465:173", "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" }, "mutability": "mutable", "name": "sOrders", - "nameLocation": "10053:7:172", - "scope": 77004, + "nameLocation": "10053:7:173", + "scope": 77034, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7016,32 +7016,32 @@ "typeString": "mapping(bytes32 => uint256)" }, "typeName": { - "id": 75018, + "id": 75048, "keyName": "orderHash", - "keyNameLocation": "10013:9:172", + "keyNameLocation": "10013:9:173", "keyType": { - "id": 75016, + "id": 75046, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10005:7:172", + "src": "10005:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "9997:46:172", + "src": "9997:46:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueName": "liveness", - "valueNameLocation": "10034:8:172", + "valueNameLocation": "10034:8:173", "valueType": { - "id": 75017, + "id": 75047, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10026:7:172", + "src": "10026:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7051,21 +7051,21 @@ "visibility": "internal" }, { - "id": 75028, + "id": 75058, "nodeType": "VariableDeclaration", - "src": "10408:127:172", + "src": "10408:127:173", "nodes": [], "constant": false, "documentation": { - "id": 75020, + "id": 75050, "nodeType": "StructuredDocumentation", - "src": "10067:213:172", + "src": "10067:213:173", "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." }, "mutability": "mutable", "name": "sVaultBalances", - "nameLocation": "10521:14:172", - "scope": 77004, + "nameLocation": "10521:14:173", + "scope": 77034, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7073,21 +7073,21 @@ "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" }, "typeName": { - "id": 75027, + "id": 75057, "keyName": "owner", - "keyNameLocation": "10424:5:172", + "keyNameLocation": "10424:5:173", "keyType": { - "id": 75021, + "id": 75051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10416:7:172", + "src": "10416:7:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "10408:95:172", + "src": "10408:95:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" @@ -7095,21 +7095,21 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 75026, + "id": 75056, "keyName": "token", - "keyNameLocation": "10449:5:172", + "keyNameLocation": "10449:5:173", "keyType": { - "id": 75022, + "id": 75052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10441:7:172", + "src": "10441:7:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "10433:69:172", + "src": "10433:69:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" @@ -7117,32 +7117,32 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 75025, + "id": 75055, "keyName": "vaultId", - "keyNameLocation": "10474:7:172", + "keyNameLocation": "10474:7:173", "keyType": { - "id": 75023, + "id": 75053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10466:7:172", + "src": "10466:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "10458:43:172", + "src": "10458:43:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueName": "balance", - "valueNameLocation": "10493:7:172", + "valueNameLocation": "10493:7:173", "valueType": { - "id": 75024, + "id": 75054, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10485:7:172", + "src": "10485:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7154,21 +7154,21 @@ "visibility": "internal" }, { - "id": 75040, + "id": 75070, "nodeType": "FunctionDefinition", - "src": "10837:139:172", + "src": "10837:139:173", "nodes": [], "body": { - "id": 75039, + "id": 75069, "nodeType": "Block", - "src": "10974:2:172", + "src": "10974:2:173", "nodes": [], "statements": [] }, "documentation": { - "id": 75029, + "id": 75059, "nodeType": "StructuredDocumentation", - "src": "10542:290:172", + "src": "10542:290:173", "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." }, "implemented": true, @@ -7177,61 +7177,61 @@ { "arguments": [ { - "id": 75035, + "id": 75065, "name": "CALLER_META_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74954, - "src": "10944:16:172", + "referencedDeclaration": 74984, + "src": "10944:16:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 75036, + "id": 75066, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75032, - "src": "10962:6:172", + "referencedDeclaration": 75062, + "src": "10962:6:173", "typeDescriptions": { "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" } } ], - "id": 75037, + "id": 75067, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 75034, + "id": 75064, "name": "DeployerDiscoverableMetaV2", "nameLocations": [ - "10917:26:172" + "10917:26:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 55357, - "src": "10917:26:172" + "src": "10917:26:173" }, "nodeType": "ModifierInvocation", - "src": "10917:52:172" + "src": "10917:52:173" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 75033, + "id": 75063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75032, + "id": 75062, "mutability": "mutable", "name": "config", - "nameLocation": "10901:6:172", + "nameLocation": "10901:6:173", "nodeType": "VariableDeclaration", - "scope": 75040, - "src": "10849:58:172", + "scope": 75070, + "src": "10849:58:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7239,20 +7239,20 @@ "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" }, "typeName": { - "id": 75031, + "id": 75061, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75030, + "id": 75060, "name": "DeployerDiscoverableMetaV2ConstructionConfig", "nameLocations": [ - "10849:44:172" + "10849:44:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 55312, - "src": "10849:44:172" + "src": "10849:44:173" }, "referencedDeclaration": 55312, - "src": "10849:44:172", + "src": "10849:44:173", "typeDescriptions": { "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_storage_ptr", "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" @@ -7261,28 +7261,28 @@ "visibility": "internal" } ], - "src": "10848:60:172" + "src": "10848:60:173" }, "returnParameters": { - "id": 75038, + "id": 75068, "nodeType": "ParameterList", "parameters": [], - "src": "10974:0:172" + "src": "10974:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 75052, + "id": 75082, "nodeType": "ModifierDefinition", - "src": "11090:148:172", + "src": "11090:148:173", "nodes": [], "body": { - "id": 75051, + "id": 75081, "nodeType": "Block", - "src": "11118:120:172", + "src": "11118:120:173", "nodes": [], "statements": [ { @@ -7290,18 +7290,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 75043, + "id": 75073, "name": "_reentrancyGuardEntered", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 43710, - "src": "11132:23:172", + "src": "11132:23:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 75044, + "id": 75074, "isConstant": false, "isLValue": false, "isPure": false, @@ -7310,38 +7310,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11132:25:172", + "src": "11132:25:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75049, + "id": 75079, "nodeType": "IfStatement", - "src": "11128:93:172", + "src": "11128:93:173", "trueBody": { - "id": 75048, + "id": 75078, "nodeType": "Block", - "src": "11159:62:172", + "src": "11159:62:173", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 75045, + "id": 75075, "name": "ReentrancyGuardReentrantCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "11180:28:172", + "referencedDeclaration": 74856, + "src": "11180:28:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 75046, + "id": 75076, "isConstant": false, "isLValue": false, "isPure": false, @@ -7350,53 +7350,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11180:30:172", + "src": "11180:30:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75047, + "id": 75077, "nodeType": "RevertStatement", - "src": "11173:37:172" + "src": "11173:37:173" } ] } }, { - "id": 75050, + "id": 75080, "nodeType": "PlaceholderStatement", - "src": "11230:1:172" + "src": "11230:1:173" } ] }, "documentation": { - "id": 75041, + "id": 75071, "nodeType": "StructuredDocumentation", - "src": "10982:103:172", + "src": "10982:103:173", "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" }, "name": "nonReentrantView", - "nameLocation": "11099:16:172", + "nameLocation": "11099:16:173", "parameters": { - "id": 75042, + "id": 75072, "nodeType": "ParameterList", "parameters": [], - "src": "11115:2:172" + "src": "11115:2:173" }, "virtual": false, "visibility": "internal" }, { - "id": 75076, + "id": 75106, "nodeType": "FunctionDefinition", - "src": "11562:232:172", + "src": "11562:232:173", "nodes": [], "body": { - "id": 75075, + "id": 75105, "nodeType": "Block", - "src": "11733:61:172", + "src": "11733:61:173", "nodes": [], "statements": [ { @@ -7404,25 +7404,25 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75067, + "id": 75097, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "11750:14:172", + "referencedDeclaration": 75058, + "src": "11750:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75069, + "id": 75099, "indexExpression": { - "id": 75068, + "id": 75098, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75055, - "src": "11765:5:172", + "referencedDeclaration": 75085, + "src": "11765:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7433,20 +7433,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11750:21:172", + "src": "11750:21:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75071, + "id": 75101, "indexExpression": { - "id": 75070, + "id": 75100, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75057, - "src": "11772:5:172", + "referencedDeclaration": 75087, + "src": "11772:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7457,20 +7457,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11750:28:172", + "src": "11750:28:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75073, + "id": 75103, "indexExpression": { - "id": 75072, + "id": 75102, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75059, - "src": "11779:7:172", + "referencedDeclaration": 75089, + "src": "11779:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7481,26 +7481,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11750:37:172", + "src": "11750:37:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 75066, - "id": 75074, + "functionReturnParameters": 75096, + "id": 75104, "nodeType": "Return", - "src": "11743:44:172" + "src": "11743:44:173" } ] }, "baseFunctions": [ - 77717 + 78032 ], "documentation": { - "id": 75053, + "id": 75083, "nodeType": "StructuredDocumentation", - "src": "11244:28:172", + "src": "11244:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "d97b2e48", @@ -7508,43 +7508,43 @@ "kind": "function", "modifiers": [ { - "id": 75063, + "id": 75093, "kind": "modifierInvocation", "modifierName": { - "id": 75062, + "id": 75092, "name": "nonReentrantView", "nameLocations": [ - "11686:16:172" + "11686:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 75052, - "src": "11686:16:172" + "referencedDeclaration": 75082, + "src": "11686:16:173" }, "nodeType": "ModifierInvocation", - "src": "11686:16:172" + "src": "11686:16:173" } ], "name": "vaultBalance", - "nameLocation": "11571:12:172", + "nameLocation": "11571:12:173", "overrides": { - "id": 75061, + "id": 75091, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "11669:8:172" + "src": "11669:8:173" }, "parameters": { - "id": 75060, + "id": 75090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75055, + "id": 75085, "mutability": "mutable", "name": "owner", - "nameLocation": "11592:5:172", + "nameLocation": "11592:5:173", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11584:13:172", + "scope": 75106, + "src": "11584:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7552,10 +7552,10 @@ "typeString": "address" }, "typeName": { - "id": 75054, + "id": 75084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11584:7:172", + "src": "11584:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7566,13 +7566,13 @@ }, { "constant": false, - "id": 75057, + "id": 75087, "mutability": "mutable", "name": "token", - "nameLocation": "11607:5:172", + "nameLocation": "11607:5:173", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11599:13:172", + "scope": 75106, + "src": "11599:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7580,10 +7580,10 @@ "typeString": "address" }, "typeName": { - "id": 75056, + "id": 75086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11599:7:172", + "src": "11599:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7594,13 +7594,13 @@ }, { "constant": false, - "id": 75059, + "id": 75089, "mutability": "mutable", "name": "vaultId", - "nameLocation": "11622:7:172", + "nameLocation": "11622:7:173", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11614:15:172", + "scope": 75106, + "src": "11614:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7608,10 +7608,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75058, + "id": 75088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11614:7:172", + "src": "11614:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7620,21 +7620,21 @@ "visibility": "internal" } ], - "src": "11583:47:172" + "src": "11583:47:173" }, "returnParameters": { - "id": 75066, + "id": 75096, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75065, + "id": 75095, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11720:7:172", + "scope": 75106, + "src": "11720:7:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7642,10 +7642,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75064, + "id": 75094, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11720:7:172", + "src": "11720:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7654,22 +7654,22 @@ "visibility": "internal" } ], - "src": "11719:9:172" + "src": "11719:9:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 75094, + "id": 75124, "nodeType": "FunctionDefinition", - "src": "11833:151:172", + "src": "11833:151:173", "nodes": [], "body": { - "id": 75093, + "id": 75123, "nodeType": "Block", - "src": "11928:56:172", + "src": "11928:56:173", "nodes": [], "statements": [ { @@ -7678,32 +7678,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75091, + "id": 75121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75087, + "id": 75117, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "11945:7:172", + "referencedDeclaration": 75049, + "src": "11945:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75089, + "id": 75119, "indexExpression": { - "id": 75088, + "id": 75118, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75079, - "src": "11953:9:172", + "referencedDeclaration": 75109, + "src": "11953:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7714,7 +7714,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11945:18:172", + "src": "11945:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7723,37 +7723,37 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75090, + "id": 75120, "name": "ORDER_LIVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "11967:10:172", + "referencedDeclaration": 74893, + "src": "11967:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11945:32:172", + "src": "11945:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 75086, - "id": 75092, + "functionReturnParameters": 75116, + "id": 75122, "nodeType": "Return", - "src": "11938:39:172" + "src": "11938:39:173" } ] }, "baseFunctions": [ - 77754 + 78069 ], "documentation": { - "id": 75077, + "id": 75107, "nodeType": "StructuredDocumentation", - "src": "11800:28:172", + "src": "11800:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "2cb77e9f", @@ -7761,43 +7761,43 @@ "kind": "function", "modifiers": [ { - "id": 75083, + "id": 75113, "kind": "modifierInvocation", "modifierName": { - "id": 75082, + "id": 75112, "name": "nonReentrantView", "nameLocations": [ - "11896:16:172" + "11896:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 75052, - "src": "11896:16:172" + "referencedDeclaration": 75082, + "src": "11896:16:173" }, "nodeType": "ModifierInvocation", - "src": "11896:16:172" + "src": "11896:16:173" } ], "name": "orderExists", - "nameLocation": "11842:11:172", + "nameLocation": "11842:11:173", "overrides": { - "id": 75081, + "id": 75111, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "11887:8:172" + "src": "11887:8:173" }, "parameters": { - "id": 75080, + "id": 75110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75079, + "id": 75109, "mutability": "mutable", "name": "orderHash", - "nameLocation": "11862:9:172", + "nameLocation": "11862:9:173", "nodeType": "VariableDeclaration", - "scope": 75094, - "src": "11854:17:172", + "scope": 75124, + "src": "11854:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7805,10 +7805,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75078, + "id": 75108, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "11854:7:172", + "src": "11854:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7817,21 +7817,21 @@ "visibility": "internal" } ], - "src": "11853:19:172" + "src": "11853:19:173" }, "returnParameters": { - "id": 75086, + "id": 75116, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75085, + "id": 75115, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 75094, - "src": "11922:4:172", + "scope": 75124, + "src": "11922:4:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7839,10 +7839,10 @@ "typeString": "bool" }, "typeName": { - "id": 75084, + "id": 75114, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11922:4:172", + "src": "11922:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7851,22 +7851,22 @@ "visibility": "internal" } ], - "src": "11921:6:172" + "src": "11921:6:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 75151, + "id": 75181, "nodeType": "FunctionDefinition", - "src": "12023:640:172", + "src": "12023:640:173", "nodes": [], "body": { - "id": 75150, + "id": 75180, "nodeType": "Block", - "src": "12110:553:172", + "src": "12110:553:173", "nodes": [], "statements": [ { @@ -7875,18 +7875,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75108, + "id": 75138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75106, + "id": 75136, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12124:6:172", + "referencedDeclaration": 75131, + "src": "12124:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7896,83 +7896,83 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75107, + "id": 75137, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12134:1:172", + "src": "12134:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12124:11:172", + "src": "12124:11:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75117, + "id": 75147, "nodeType": "IfStatement", - "src": "12120:94:172", + "src": "12120:94:173", "trueBody": { - "id": 75116, + "id": 75146, "nodeType": "Block", - "src": "12137:77:172", + "src": "12137:77:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75110, + "id": 75140, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12176:3:172", + "src": "12176:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75111, + "id": 75141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12180:6:172", + "memberLocation": "12180:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12176:10:172", + "src": "12176:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75112, + "id": 75142, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12188:5:172", + "referencedDeclaration": 75127, + "src": "12188:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75113, + "id": 75143, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75099, - "src": "12195:7:172", + "referencedDeclaration": 75129, + "src": "12195:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7994,18 +7994,18 @@ "typeString": "uint256" } ], - "id": 75109, + "id": 75139, "name": "ZeroDepositAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77568, - "src": "12158:17:172", + "referencedDeclaration": 77883, + "src": "12158:17:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) pure" } }, - "id": 75114, + "id": 75144, "isConstant": false, "isLValue": false, "isPure": false, @@ -8014,16 +8014,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12158:45:172", + "src": "12158:45:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75115, + "id": 75145, "nodeType": "RevertStatement", - "src": "12151:52:172" + "src": "12151:52:173" } ] } @@ -8033,62 +8033,62 @@ "arguments": [ { "expression": { - "id": 75119, + "id": 75149, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12430:3:172", + "src": "12430:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75120, + "id": 75150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12434:6:172", + "memberLocation": "12434:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12430:10:172", + "src": "12430:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75121, + "id": 75151, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12442:5:172", + "referencedDeclaration": 75127, + "src": "12442:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75122, + "id": 75152, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75099, - "src": "12449:7:172", + "referencedDeclaration": 75129, + "src": "12449:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75123, + "id": 75153, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12458:6:172", + "referencedDeclaration": 75131, + "src": "12458:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8114,18 +8114,18 @@ "typeString": "uint256" } ], - "id": 75118, + "id": 75148, "name": "Deposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77608, - "src": "12422:7:172", + "referencedDeclaration": 77923, + "src": "12422:7:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 75124, + "id": 75154, "isConstant": false, "isLValue": false, "isPure": false, @@ -8134,42 +8134,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12422:43:172", + "src": "12422:43:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75125, + "id": 75155, "nodeType": "EmitStatement", - "src": "12417:48:172" + "src": "12417:48:173" }, { "expression": { "arguments": [ { "expression": { - "id": 75130, + "id": 75160, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12560:3:172", + "src": "12560:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75131, + "id": 75161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12564:6:172", + "memberLocation": "12564:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12560:10:172", + "src": "12560:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8178,14 +8178,14 @@ { "arguments": [ { - "id": 75134, + "id": 75164, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "12580:4:172", + "src": "12580:4:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } } @@ -8193,30 +8193,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } ], - "id": 75133, + "id": 75163, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12572:7:172", + "src": "12572:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 75132, + "id": 75162, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12572:7:172", + "src": "12572:7:173", "typeDescriptions": {} } }, - "id": 75135, + "id": 75165, "isConstant": false, "isLValue": false, "isPure": false, @@ -8225,7 +8225,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12572:13:172", + "src": "12572:13:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8233,12 +8233,12 @@ } }, { - "id": 75136, + "id": 75166, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12587:6:172", + "referencedDeclaration": 75131, + "src": "12587:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8263,12 +8263,12 @@ "expression": { "arguments": [ { - "id": 75127, + "id": 75157, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12536:5:172", + "referencedDeclaration": 75127, + "src": "12536:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8282,18 +8282,18 @@ "typeString": "address" } ], - "id": 75126, + "id": 75156, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44376, - "src": "12529:6:172", + "src": "12529:6:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", "typeString": "type(contract IERC20)" } }, - "id": 75128, + "id": 75158, "isConstant": false, "isLValue": false, "isPure": false, @@ -8302,29 +8302,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12529:13:172", + "src": "12529:13:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$44376", "typeString": "contract IERC20" } }, - "id": 75129, + "id": 75159, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12543:16:172", + "memberLocation": "12543:16:173", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 44497, - "src": "12529:30:172", + "src": "12529:30:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 75137, + "id": 75167, "isConstant": false, "isLValue": false, "isPure": false, @@ -8333,20 +8333,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12529:65:172", + "src": "12529:65:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75138, + "id": 75168, "nodeType": "ExpressionStatement", - "src": "12529:65:172" + "src": "12529:65:173" }, { "expression": { - "id": 75148, + "id": 75178, "isConstant": false, "isLValue": false, "isPure": false, @@ -8355,40 +8355,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75139, + "id": 75169, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "12604:14:172", + "referencedDeclaration": 75058, + "src": "12604:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75144, + "id": 75174, "indexExpression": { "expression": { - "id": 75140, + "id": 75170, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12619:3:172", + "src": "12619:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75141, + "id": 75171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12623:6:172", + "memberLocation": "12623:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12619:10:172", + "src": "12619:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8399,20 +8399,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12604:26:172", + "src": "12604:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75145, + "id": 75175, "indexExpression": { - "id": 75142, + "id": 75172, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12631:5:172", + "referencedDeclaration": 75127, + "src": "12631:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8423,20 +8423,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12604:33:172", + "src": "12604:33:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75146, + "id": 75176, "indexExpression": { - "id": 75143, + "id": 75173, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75099, - "src": "12638:7:172", + "referencedDeclaration": 75129, + "src": "12638:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8447,7 +8447,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "12604:42:172", + "src": "12604:42:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8456,36 +8456,36 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 75147, + "id": 75177, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12650:6:172", + "referencedDeclaration": 75131, + "src": "12650:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12604:52:172", + "src": "12604:52:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75149, + "id": 75179, "nodeType": "ExpressionStatement", - "src": "12604:52:172" + "src": "12604:52:173" } ] }, "baseFunctions": [ - 77727 + 78042 ], "documentation": { - "id": 75095, + "id": 75125, "nodeType": "StructuredDocumentation", - "src": "11990:28:172", + "src": "11990:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "0efe6a8b", @@ -8493,37 +8493,37 @@ "kind": "function", "modifiers": [ { - "id": 75104, + "id": 75134, "kind": "modifierInvocation", "modifierName": { - "id": 75103, + "id": 75133, "name": "nonReentrant", "nameLocations": [ - "12097:12:172" + "12097:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "12097:12:172" + "src": "12097:12:173" }, "nodeType": "ModifierInvocation", - "src": "12097:12:172" + "src": "12097:12:173" } ], "name": "deposit", - "nameLocation": "12032:7:172", + "nameLocation": "12032:7:173", "parameters": { - "id": 75102, + "id": 75132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75097, + "id": 75127, "mutability": "mutable", "name": "token", - "nameLocation": "12048:5:172", + "nameLocation": "12048:5:173", "nodeType": "VariableDeclaration", - "scope": 75151, - "src": "12040:13:172", + "scope": 75181, + "src": "12040:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8531,10 +8531,10 @@ "typeString": "address" }, "typeName": { - "id": 75096, + "id": 75126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12040:7:172", + "src": "12040:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8545,13 +8545,13 @@ }, { "constant": false, - "id": 75099, + "id": 75129, "mutability": "mutable", "name": "vaultId", - "nameLocation": "12063:7:172", + "nameLocation": "12063:7:173", "nodeType": "VariableDeclaration", - "scope": 75151, - "src": "12055:15:172", + "scope": 75181, + "src": "12055:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8559,10 +8559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75098, + "id": 75128, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12055:7:172", + "src": "12055:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8572,13 +8572,13 @@ }, { "constant": false, - "id": 75101, + "id": 75131, "mutability": "mutable", "name": "amount", - "nameLocation": "12080:6:172", + "nameLocation": "12080:6:173", "nodeType": "VariableDeclaration", - "scope": 75151, - "src": "12072:14:172", + "scope": 75181, + "src": "12072:14:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8586,10 +8586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75100, + "id": 75130, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12072:7:172", + "src": "12072:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8598,28 +8598,28 @@ "visibility": "internal" } ], - "src": "12039:48:172" + "src": "12039:48:173" }, "returnParameters": { - "id": 75105, + "id": 75135, "nodeType": "ParameterList", "parameters": [], - "src": "12110:0:172" + "src": "12110:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 75228, + "id": 75258, "nodeType": "FunctionDefinition", - "src": "12702:952:172", + "src": "12702:952:173", "nodes": [], "body": { - "id": 75227, + "id": 75257, "nodeType": "Block", - "src": "12796:858:172", + "src": "12796:858:173", "nodes": [], "statements": [ { @@ -8628,18 +8628,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75165, + "id": 75195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75163, + "id": 75193, "name": "targetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75158, - "src": "12810:12:172", + "referencedDeclaration": 75188, + "src": "12810:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8649,83 +8649,83 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75164, + "id": 75194, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12826:1:172", + "src": "12826:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12810:17:172", + "src": "12810:17:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75174, + "id": 75204, "nodeType": "IfStatement", - "src": "12806:107:172", + "src": "12806:107:173", "trueBody": { - "id": 75173, + "id": 75203, "nodeType": "Block", - "src": "12829:84:172", + "src": "12829:84:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75167, + "id": 75197, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12875:3:172", + "src": "12875:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75168, + "id": 75198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12879:6:172", + "memberLocation": "12879:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12875:10:172", + "src": "12875:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75169, + "id": 75199, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "12887:5:172", + "referencedDeclaration": 75184, + "src": "12887:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75170, + "id": 75200, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "12894:7:172", + "referencedDeclaration": 75186, + "src": "12894:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8747,18 +8747,18 @@ "typeString": "uint256" } ], - "id": 75166, + "id": 75196, "name": "ZeroWithdrawTargetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77577, - "src": "12850:24:172", + "referencedDeclaration": 77892, + "src": "12850:24:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) pure" } }, - "id": 75171, + "id": 75201, "isConstant": false, "isLValue": false, "isPure": false, @@ -8767,34 +8767,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12850:52:172", + "src": "12850:52:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75172, + "id": 75202, "nodeType": "RevertStatement", - "src": "12843:59:172" + "src": "12843:59:173" } ] } }, { "assignments": [ - 75176 + 75206 ], "declarations": [ { "constant": false, - "id": 75176, + "id": 75206, "mutability": "mutable", "name": "currentVaultBalance", - "nameLocation": "12930:19:172", + "nameLocation": "12930:19:173", "nodeType": "VariableDeclaration", - "scope": 75227, - "src": "12922:27:172", + "scope": 75257, + "src": "12922:27:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8802,10 +8802,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75175, + "id": 75205, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12922:7:172", + "src": "12922:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8814,45 +8814,45 @@ "visibility": "internal" } ], - "id": 75185, + "id": 75215, "initialValue": { "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75177, + "id": 75207, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "12952:14:172", + "referencedDeclaration": 75058, + "src": "12952:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75180, + "id": 75210, "indexExpression": { "expression": { - "id": 75178, + "id": 75208, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12967:3:172", + "src": "12967:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75179, + "id": 75209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12971:6:172", + "memberLocation": "12971:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12967:10:172", + "src": "12967:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8863,20 +8863,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12952:26:172", + "src": "12952:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75182, + "id": 75212, "indexExpression": { - "id": 75181, + "id": 75211, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "12979:5:172", + "referencedDeclaration": 75184, + "src": "12979:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8887,20 +8887,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12952:33:172", + "src": "12952:33:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75184, + "id": 75214, "indexExpression": { - "id": 75183, + "id": 75213, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "12986:7:172", + "referencedDeclaration": 75186, + "src": "12986:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8911,29 +8911,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12952:42:172", + "src": "12952:42:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "12922:72:172" + "src": "12922:72:173" }, { "assignments": [ - 75187 + 75217 ], "declarations": [ { "constant": false, - "id": 75187, + "id": 75217, "mutability": "mutable", "name": "withdrawAmount", - "nameLocation": "13084:14:172", + "nameLocation": "13084:14:173", "nodeType": "VariableDeclaration", - "scope": 75227, - "src": "13076:22:172", + "scope": 75257, + "src": "13076:22:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8941,10 +8941,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75186, + "id": 75216, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13076:7:172", + "src": "13076:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8953,16 +8953,16 @@ "visibility": "internal" } ], - "id": 75192, + "id": 75222, "initialValue": { "arguments": [ { - "id": 75190, + "id": 75220, "name": "currentVaultBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75176, - "src": "13118:19:172", + "referencedDeclaration": 75206, + "src": "13118:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8977,33 +8977,33 @@ } ], "expression": { - "id": 75188, + "id": 75218, "name": "targetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75158, - "src": "13101:12:172", + "referencedDeclaration": 75188, + "src": "13101:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75189, + "id": 75219, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13114:3:172", + "memberLocation": "13114:3:173", "memberName": "min", "nodeType": "MemberAccess", "referencedDeclaration": 45993, - "src": "13101:16:172", + "src": "13101:16:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 75191, + "id": 75221, "isConstant": false, "isLValue": false, "isPure": false, @@ -9012,7 +9012,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13101:37:172", + "src": "13101:37:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9020,7 +9020,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "13076:62:172" + "src": "13076:62:173" }, { "condition": { @@ -9028,18 +9028,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75195, + "id": 75225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75193, + "id": 75223, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13152:14:172", + "referencedDeclaration": 75217, + "src": "13152:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9049,37 +9049,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75194, + "id": 75224, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13169:1:172", + "src": "13169:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "13152:18:172", + "src": "13152:18:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75226, + "id": 75256, "nodeType": "IfStatement", - "src": "13148:500:172", + "src": "13148:500:173", "trueBody": { - "id": 75225, + "id": 75255, "nodeType": "Block", - "src": "13172:476:172", + "src": "13172:476:173", "statements": [ { "expression": { - "id": 75207, + "id": 75237, "isConstant": false, "isLValue": false, "isPure": false, @@ -9088,40 +9088,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75196, + "id": 75226, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "13391:14:172", + "referencedDeclaration": 75058, + "src": "13391:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75201, + "id": 75231, "indexExpression": { "expression": { - "id": 75197, + "id": 75227, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13406:3:172", + "src": "13406:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75198, + "id": 75228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13410:6:172", + "memberLocation": "13410:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13406:10:172", + "src": "13406:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9132,20 +9132,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13391:26:172", + "src": "13391:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75202, + "id": 75232, "indexExpression": { - "id": 75199, + "id": 75229, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "13418:5:172", + "referencedDeclaration": 75184, + "src": "13418:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9156,20 +9156,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13391:33:172", + "src": "13391:33:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75203, + "id": 75233, "indexExpression": { - "id": 75200, + "id": 75230, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "13425:7:172", + "referencedDeclaration": 75186, + "src": "13425:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9180,7 +9180,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "13391:42:172", + "src": "13391:42:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9193,18 +9193,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75206, + "id": 75236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75204, + "id": 75234, "name": "currentVaultBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75176, - "src": "13436:19:172", + "referencedDeclaration": 75206, + "src": "13436:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9213,106 +9213,106 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 75205, + "id": 75235, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13458:14:172", + "referencedDeclaration": 75217, + "src": "13458:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13436:36:172", + "src": "13436:36:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13391:81:172", + "src": "13391:81:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75208, + "id": 75238, "nodeType": "ExpressionStatement", - "src": "13391:81:172" + "src": "13391:81:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75210, + "id": 75240, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13500:3:172", + "src": "13500:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75211, + "id": 75241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13504:6:172", + "memberLocation": "13504:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13500:10:172", + "src": "13500:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75212, + "id": 75242, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "13512:5:172", + "referencedDeclaration": 75184, + "src": "13512:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75213, + "id": 75243, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "13519:7:172", + "referencedDeclaration": 75186, + "src": "13519:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75214, + "id": 75244, "name": "targetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75158, - "src": "13528:12:172", + "referencedDeclaration": 75188, + "src": "13528:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75215, + "id": 75245, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13542:14:172", + "referencedDeclaration": 75217, + "src": "13542:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9342,18 +9342,18 @@ "typeString": "uint256" } ], - "id": 75209, + "id": 75239, "name": "Withdraw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77621, - "src": "13491:8:172", + "referencedDeclaration": 77936, + "src": "13491:8:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 75216, + "id": 75246, "isConstant": false, "isLValue": false, "isPure": false, @@ -9362,27 +9362,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13491:66:172", + "src": "13491:66:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75217, + "id": 75247, "nodeType": "EmitStatement", - "src": "13486:71:172" + "src": "13486:71:173" }, { "expression": { "arguments": [ { - "id": 75219, + "id": 75249, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "13603:5:172", + "referencedDeclaration": 75184, + "src": "13603:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9390,38 +9390,38 @@ }, { "expression": { - "id": 75220, + "id": 75250, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13610:3:172", + "src": "13610:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75221, + "id": 75251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13614:6:172", + "memberLocation": "13614:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13610:10:172", + "src": "13610:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75222, + "id": 75252, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13622:14:172", + "referencedDeclaration": 75217, + "src": "13622:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9443,18 +9443,18 @@ "typeString": "uint256" } ], - "id": 75218, + "id": 75248, "name": "_decreaseFlashDebtThenSendToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74350, - "src": "13571:31:172", + "referencedDeclaration": 74380, + "src": "13571:31:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,address,uint256) returns (uint256)" } }, - "id": 75223, + "id": 75253, "isConstant": false, "isLValue": false, "isPure": false, @@ -9463,16 +9463,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13571:66:172", + "src": "13571:66:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75224, + "id": 75254, "nodeType": "ExpressionStatement", - "src": "13571:66:172" + "src": "13571:66:173" } ] } @@ -9480,12 +9480,12 @@ ] }, "baseFunctions": [ - 77737 + 78052 ], "documentation": { - "id": 75152, + "id": 75182, "nodeType": "StructuredDocumentation", - "src": "12669:28:172", + "src": "12669:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "b5c5f672", @@ -9493,37 +9493,37 @@ "kind": "function", "modifiers": [ { - "id": 75161, + "id": 75191, "kind": "modifierInvocation", "modifierName": { - "id": 75160, + "id": 75190, "name": "nonReentrant", "nameLocations": [ - "12783:12:172" + "12783:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "12783:12:172" + "src": "12783:12:173" }, "nodeType": "ModifierInvocation", - "src": "12783:12:172" + "src": "12783:12:173" } ], "name": "withdraw", - "nameLocation": "12711:8:172", + "nameLocation": "12711:8:173", "parameters": { - "id": 75159, + "id": 75189, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75154, + "id": 75184, "mutability": "mutable", "name": "token", - "nameLocation": "12728:5:172", + "nameLocation": "12728:5:173", "nodeType": "VariableDeclaration", - "scope": 75228, - "src": "12720:13:172", + "scope": 75258, + "src": "12720:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9531,10 +9531,10 @@ "typeString": "address" }, "typeName": { - "id": 75153, + "id": 75183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12720:7:172", + "src": "12720:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9545,13 +9545,13 @@ }, { "constant": false, - "id": 75156, + "id": 75186, "mutability": "mutable", "name": "vaultId", - "nameLocation": "12743:7:172", + "nameLocation": "12743:7:173", "nodeType": "VariableDeclaration", - "scope": 75228, - "src": "12735:15:172", + "scope": 75258, + "src": "12735:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9559,10 +9559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75155, + "id": 75185, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12735:7:172", + "src": "12735:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9572,13 +9572,13 @@ }, { "constant": false, - "id": 75158, + "id": 75188, "mutability": "mutable", "name": "targetAmount", - "nameLocation": "12760:12:172", + "nameLocation": "12760:12:173", "nodeType": "VariableDeclaration", - "scope": 75228, - "src": "12752:20:172", + "scope": 75258, + "src": "12752:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9586,10 +9586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75157, + "id": 75187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12752:7:172", + "src": "12752:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9598,44 +9598,44 @@ "visibility": "internal" } ], - "src": "12719:54:172" + "src": "12719:54:173" }, "returnParameters": { - "id": 75162, + "id": 75192, "nodeType": "ParameterList", "parameters": [], - "src": "12796:0:172" + "src": "12796:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 75405, + "id": 75435, "nodeType": "FunctionDefinition", - "src": "13693:2174:172", + "src": "13693:2174:173", "nodes": [], "body": { - "id": 75404, + "id": 75434, "nodeType": "Block", - "src": "13792:2075:172", + "src": "13792:2075:173", "nodes": [], "statements": [ { "assignments": [ - 75240 + 75270 ], "declarations": [ { "constant": false, - "id": 75240, + "id": 75270, "mutability": "mutable", "name": "sourceCount", - "nameLocation": "13810:11:172", + "nameLocation": "13810:11:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "13802:19:172", + "scope": 75434, + "src": "13802:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9643,10 +9643,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75239, + "id": 75269, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13802:7:172", + "src": "13802:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9655,48 +9655,48 @@ "visibility": "internal" } ], - "id": 75247, + "id": 75277, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 75243, + "id": 75273, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "13848:6:172", + "referencedDeclaration": 75262, + "src": "13848:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75244, + "id": 75274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13855:15:172", + "memberLocation": "13855:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "13848:22:172", + "referencedDeclaration": 77853, + "src": "13848:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75245, + "id": 75275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13871:8:172", + "memberLocation": "13871:8:173", "memberName": "bytecode", "nodeType": "MemberAccess", - "referencedDeclaration": 57267, - "src": "13848:31:172", + "referencedDeclaration": 57297, + "src": "13848:31:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -9711,33 +9711,33 @@ } ], "expression": { - "id": 75241, + "id": 75271, "name": "LibBytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 56762, - "src": "13824:11:172", + "referencedDeclaration": 56792, + "src": "13824:11:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", "typeString": "type(library LibBytecode)" } }, - "id": 75242, + "id": 75272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13836:11:172", + "memberLocation": "13836:11:173", "memberName": "sourceCount", "nodeType": "MemberAccess", - "referencedDeclaration": 56521, - "src": "13824:23:172", + "referencedDeclaration": 56551, + "src": "13824:23:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, - "id": 75246, + "id": 75276, "isConstant": false, "isLValue": false, "isPure": false, @@ -9746,7 +9746,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13824:56:172", + "src": "13824:56:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9754,7 +9754,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "13802:78:172" + "src": "13802:78:173" }, { "condition": { @@ -9762,18 +9762,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75250, + "id": 75280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75248, + "id": 75278, "name": "sourceCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13894:11:172", + "referencedDeclaration": 75270, + "src": "13894:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9783,59 +9783,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75249, + "id": 75279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13909:1:172", + "src": "13909:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "13894:16:172", + "src": "13894:16:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75257, + "id": 75287, "nodeType": "IfStatement", - "src": "13890:80:172", + "src": "13890:80:173", "trueBody": { - "id": 75256, + "id": 75286, "nodeType": "Block", - "src": "13912:58:172", + "src": "13912:58:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75252, + "id": 75282, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13948:3:172", + "src": "13948:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75253, + "id": 75283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13952:6:172", + "memberLocation": "13952:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13948:10:172", + "src": "13948:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9849,18 +9849,18 @@ "typeString": "address" } ], - "id": 75251, + "id": 75281, "name": "OrderNoSources", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77582, - "src": "13933:14:172", + "referencedDeclaration": 77897, + "src": "13933:14:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75254, + "id": 75284, "isConstant": false, "isLValue": false, "isPure": false, @@ -9869,16 +9869,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13933:26:172", + "src": "13933:26:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75255, + "id": 75285, "nodeType": "RevertStatement", - "src": "13926:33:172" + "src": "13926:33:173" } ] } @@ -9889,18 +9889,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75260, + "id": 75290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75258, + "id": 75288, "name": "sourceCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13983:11:172", + "referencedDeclaration": 75270, + "src": "13983:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9910,59 +9910,59 @@ "operator": "==", "rightExpression": { "hexValue": "31", - "id": 75259, + "id": 75289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13998:1:172", + "src": "13998:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "13983:16:172", + "src": "13983:16:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75267, + "id": 75297, "nodeType": "IfStatement", - "src": "13979:81:172", + "src": "13979:81:173", "trueBody": { - "id": 75266, + "id": 75296, "nodeType": "Block", - "src": "14001:59:172", + "src": "14001:59:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75262, + "id": 75292, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14038:3:172", + "src": "14038:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75263, + "id": 75293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14042:6:172", + "memberLocation": "14042:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14038:10:172", + "src": "14038:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9976,18 +9976,18 @@ "typeString": "address" } ], - "id": 75261, + "id": 75291, "name": "OrderNoHandleIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77587, - "src": "14022:15:172", + "referencedDeclaration": 77902, + "src": "14022:15:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75264, + "id": 75294, "isConstant": false, "isLValue": false, "isPure": false, @@ -9996,16 +9996,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14022:27:172", + "src": "14022:27:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75265, + "id": 75295, "nodeType": "RevertStatement", - "src": "14015:34:172" + "src": "14015:34:173" } ] } @@ -10016,7 +10016,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75272, + "id": 75302, "isConstant": false, "isLValue": false, "isPure": false, @@ -10024,41 +10024,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75268, + "id": 75298, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14073:6:172", + "referencedDeclaration": 75262, + "src": "14073:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75269, + "id": 75299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14080:11:172", + "memberLocation": "14080:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77531, - "src": "14073:18:172", + "referencedDeclaration": 77846, + "src": "14073:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75270, + "id": 75300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14092:6:172", + "memberLocation": "14092:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "14073:25:172", + "src": "14073:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10068,59 +10068,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75271, + "id": 75301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14102:1:172", + "src": "14102:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14073:30:172", + "src": "14073:30:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75279, + "id": 75309, "nodeType": "IfStatement", - "src": "14069:93:172", + "src": "14069:93:173", "trueBody": { - "id": 75278, + "id": 75308, "nodeType": "Block", - "src": "14105:57:172", + "src": "14105:57:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75274, + "id": 75304, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14140:3:172", + "src": "14140:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75275, + "id": 75305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14144:6:172", + "memberLocation": "14144:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14140:10:172", + "src": "14140:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10134,18 +10134,18 @@ "typeString": "address" } ], - "id": 75273, + "id": 75303, "name": "OrderNoInputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77592, - "src": "14126:13:172", + "referencedDeclaration": 77907, + "src": "14126:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75276, + "id": 75306, "isConstant": false, "isLValue": false, "isPure": false, @@ -10154,16 +10154,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14126:25:172", + "src": "14126:25:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75277, + "id": 75307, "nodeType": "RevertStatement", - "src": "14119:32:172" + "src": "14119:32:173" } ] } @@ -10174,7 +10174,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75284, + "id": 75314, "isConstant": false, "isLValue": false, "isPure": false, @@ -10182,41 +10182,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75280, + "id": 75310, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14175:6:172", + "referencedDeclaration": 75262, + "src": "14175:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75281, + "id": 75311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14182:12:172", + "memberLocation": "14182:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77535, - "src": "14175:19:172", + "referencedDeclaration": 77850, + "src": "14175:19:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75282, + "id": 75312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14195:6:172", + "memberLocation": "14195:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "14175:26:172", + "src": "14175:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10226,59 +10226,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75283, + "id": 75313, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14205:1:172", + "src": "14205:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14175:31:172", + "src": "14175:31:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75291, + "id": 75321, "nodeType": "IfStatement", - "src": "14171:95:172", + "src": "14171:95:173", "trueBody": { - "id": 75290, + "id": 75320, "nodeType": "Block", - "src": "14208:58:172", + "src": "14208:58:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75286, + "id": 75316, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14244:3:172", + "src": "14244:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75287, + "id": 75317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14248:6:172", + "memberLocation": "14248:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14244:10:172", + "src": "14244:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10292,18 +10292,18 @@ "typeString": "address" } ], - "id": 75285, + "id": 75315, "name": "OrderNoOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77597, - "src": "14229:14:172", + "referencedDeclaration": 77912, + "src": "14229:14:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75288, + "id": 75318, "isConstant": false, "isLValue": false, "isPure": false, @@ -10312,36 +10312,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14229:26:172", + "src": "14229:26:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75289, + "id": 75319, "nodeType": "RevertStatement", - "src": "14222:33:172" + "src": "14222:33:173" } ] } }, { "assignments": [ - 75294, - 75297, - 75299 + 75324, + 75327, + 75329 ], "declarations": [ { "constant": false, - "id": 75294, + "id": 75324, "mutability": "mutable", "name": "interpreter", - "nameLocation": "14291:11:172", + "nameLocation": "14291:11:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14276:26:172", + "scope": 75434, + "src": "14276:26:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10349,20 +10349,20 @@ "typeString": "contract IInterpreterV1" }, "typeName": { - "id": 75293, + "id": 75323, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75292, + "id": 75322, "name": "IInterpreterV1", "nameLocations": [ - "14276:14:172" + "14276:14:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56347, - "src": "14276:14:172" + "src": "14276:14:173" }, "referencedDeclaration": 56347, - "src": "14276:14:172", + "src": "14276:14:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" @@ -10372,13 +10372,13 @@ }, { "constant": false, - "id": 75297, + "id": 75327, "mutability": "mutable", "name": "store", - "nameLocation": "14324:5:172", + "nameLocation": "14324:5:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14304:25:172", + "scope": 75434, + "src": "14304:25:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10386,20 +10386,20 @@ "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 75296, + "id": 75326, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75295, + "id": 75325, "name": "IInterpreterStoreV1", "nameLocations": [ - "14304:19:172" + "14304:19:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56297, - "src": "14304:19:172" + "src": "14304:19:173" }, "referencedDeclaration": 56297, - "src": "14304:19:172", + "src": "14304:19:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" @@ -10409,13 +10409,13 @@ }, { "constant": false, - "id": 75299, + "id": 75329, "mutability": "mutable", "name": "expression", - "nameLocation": "14339:10:172", + "nameLocation": "14339:10:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14331:18:172", + "scope": 75434, + "src": "14331:18:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10423,10 +10423,10 @@ "typeString": "address" }, "typeName": { - "id": 75298, + "id": 75328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14331:7:172", + "src": "14331:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10436,48 +10436,48 @@ "visibility": "internal" } ], - "id": 75316, + "id": 75346, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 75304, + "id": 75334, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14454:6:172", + "referencedDeclaration": 75262, + "src": "14454:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75305, + "id": 75335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14461:15:172", + "memberLocation": "14461:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14454:22:172", + "referencedDeclaration": 77853, + "src": "14454:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75306, + "id": 75336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14477:8:172", + "memberLocation": "14477:8:173", "memberName": "bytecode", "nodeType": "MemberAccess", - "referencedDeclaration": 57267, - "src": "14454:31:172", + "referencedDeclaration": 57297, + "src": "14454:31:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -10486,42 +10486,42 @@ { "expression": { "expression": { - "id": 75307, + "id": 75337, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14499:6:172", + "referencedDeclaration": 75262, + "src": "14499:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75308, + "id": 75338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14506:15:172", + "memberLocation": "14506:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14499:22:172", + "referencedDeclaration": 77853, + "src": "14499:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75309, + "id": 75339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14522:9:172", + "memberLocation": "14522:9:173", "memberName": "constants", "nodeType": "MemberAccess", - "referencedDeclaration": 57270, - "src": "14499:32:172", + "referencedDeclaration": 57300, + "src": "14499:32:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -10530,24 +10530,24 @@ { "arguments": [ { - "id": 75312, + "id": 75342, "name": "CALCULATE_ORDER_MIN_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74887, - "src": "14571:27:172", + "referencedDeclaration": 74917, + "src": "14571:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75313, + "id": 75343, "name": "HANDLE_IO_MIN_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74895, - "src": "14600:21:172", + "referencedDeclaration": 74925, + "src": "14600:21:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10566,33 +10566,33 @@ } ], "expression": { - "id": 75310, + "id": 75340, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "14545:15:172", + "referencedDeclaration": 72714, + "src": "14545:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 75311, + "id": 75341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14561:9:172", + "memberLocation": "14561:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72543, - "src": "14545:25:172", + "referencedDeclaration": 72573, + "src": "14545:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 75314, + "id": 75344, "isConstant": false, "isLValue": false, "isPure": false, @@ -10601,7 +10601,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14545:77:172", + "src": "14545:77:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -10627,63 +10627,63 @@ "expression": { "expression": { "expression": { - "id": 75300, + "id": 75330, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14353:6:172", + "referencedDeclaration": 75262, + "src": "14353:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75301, + "id": 75331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14373:15:172", + "memberLocation": "14373:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14353:35:172", + "referencedDeclaration": 77853, + "src": "14353:35:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75302, + "id": 75332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14402:8:172", + "memberLocation": "14402:8:173", "memberName": "deployer", "nodeType": "MemberAccess", - "referencedDeclaration": 57265, - "src": "14353:57:172", + "referencedDeclaration": 57295, + "src": "14353:57:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", "typeString": "contract IExpressionDeployerV2" } }, - "id": 75303, + "id": 75333, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14424:16:172", + "memberLocation": "14424:16:173", "memberName": "deployExpression", "nodeType": "MemberAccess", - "referencedDeclaration": 56437, - "src": "14353:87:172", + "referencedDeclaration": 56467, + "src": "14353:87:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" } }, - "id": 75315, + "id": 75345, "isConstant": false, "isLValue": false, "isPure": false, @@ -10692,7 +10692,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14353:279:172", + "src": "14353:279:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", @@ -10700,76 +10700,76 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "14275:357:172" + "src": "14275:357:173" }, { "assignments": [ - 75319 + 75349 ], "declarations": [ { "constant": false, - "id": 75319, + "id": 75349, "mutability": "mutable", "name": "order", - "nameLocation": "14831:5:172", + "nameLocation": "14831:5:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14818:18:172", + "scope": 75434, + "src": "14818:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 75318, + "id": 75348, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75317, + "id": 75347, "name": "Order", "nameLocations": [ - "14818:5:172" + "14818:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "14818:5:172" + "referencedDeclaration": 77252, + "src": "14818:5:173" }, - "referencedDeclaration": 77222, - "src": "14818:5:172", + "referencedDeclaration": 77252, + "src": "14818:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, "visibility": "internal" } ], - "id": 75345, + "id": 75375, "initialValue": { "arguments": [ { "expression": { - "id": 75321, + "id": 75351, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14858:3:172", + "src": "14858:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75322, + "id": 75352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14862:6:172", + "memberLocation": "14862:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14858:10:172", + "src": "14858:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10780,7 +10780,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75334, + "id": 75364, "isConstant": false, "isLValue": false, "isPure": false, @@ -10790,42 +10790,42 @@ { "expression": { "expression": { - "id": 75325, + "id": 75355, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14910:6:172", + "referencedDeclaration": 75262, + "src": "14910:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75326, + "id": 75356, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14917:15:172", + "memberLocation": "14917:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14910:22:172", + "referencedDeclaration": 77853, + "src": "14910:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75327, + "id": 75357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14933:8:172", + "memberLocation": "14933:8:173", "memberName": "bytecode", "nodeType": "MemberAccess", - "referencedDeclaration": 57267, - "src": "14910:31:172", + "referencedDeclaration": 57297, + "src": "14910:31:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -10834,12 +10834,12 @@ { "arguments": [ { - "id": 75330, + "id": 75360, "name": "HANDLE_IO_ENTRYPOINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74883, - "src": "14962:20:172", + "referencedDeclaration": 74913, + "src": "14962:20:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" @@ -10854,32 +10854,32 @@ } ], "expression": { - "id": 75328, + "id": 75358, "name": "SourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56302, - "src": "14943:11:172", + "src": "14943:11:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "type(SourceIndex)" } }, - "id": 75329, + "id": 75359, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14955:6:172", + "memberLocation": "14955:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "14943:18:172", + "src": "14943:18:173", "typeDescriptions": { "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56302_$returns$_t_uint16_$", "typeString": "function (SourceIndex) pure returns (uint16)" } }, - "id": 75331, + "id": 75361, "isConstant": false, "isLValue": false, "isPure": true, @@ -10888,7 +10888,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14943:40:172", + "src": "14943:40:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint16", @@ -10908,33 +10908,33 @@ } ], "expression": { - "id": 75323, + "id": 75353, "name": "LibBytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 56762, - "src": "14882:11:172", + "referencedDeclaration": 56792, + "src": "14882:11:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", "typeString": "type(library LibBytecode)" } }, - "id": 75324, + "id": 75354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14894:15:172", + "memberLocation": "14894:15:173", "memberName": "sourceOpsLength", "nodeType": "MemberAccess", - "referencedDeclaration": 56616, - "src": "14882:27:172", + "referencedDeclaration": 56646, + "src": "14882:27:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "id": 75332, + "id": 75362, "isConstant": false, "isLValue": false, "isPure": false, @@ -10943,7 +10943,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14882:102:172", + "src": "14882:102:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10954,21 +10954,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75333, + "id": 75363, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14987:1:172", + "src": "14987:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14882:106:172", + "src": "14882:106:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10977,36 +10977,36 @@ { "arguments": [ { - "id": 75336, + "id": 75366, "name": "interpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75294, - "src": "15012:11:172", + "referencedDeclaration": 75324, + "src": "15012:11:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, { - "id": 75337, + "id": 75367, "name": "store", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75297, - "src": "15025:5:172", + "referencedDeclaration": 75327, + "src": "15025:5:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 75338, + "id": 75368, "name": "expression", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75299, - "src": "15032:10:172", + "referencedDeclaration": 75329, + "src": "15032:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11028,18 +11028,18 @@ "typeString": "address" } ], - "id": 75335, + "id": 75365, "name": "Evaluable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57280, - "src": "15002:9:172", + "referencedDeclaration": 57310, + "src": "15002:9:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Evaluable_$57280_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Evaluable_$57310_storage_ptr_$", "typeString": "type(struct Evaluable storage pointer)" } }, - "id": 75339, + "id": 75369, "isConstant": false, "isLValue": false, "isPure": false, @@ -11048,66 +11048,66 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15002:41:172", + "src": "15002:41:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, { "expression": { - "id": 75340, + "id": 75370, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15057:6:172", + "referencedDeclaration": 75262, + "src": "15057:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75341, + "id": 75371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15064:11:172", + "memberLocation": "15064:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77531, - "src": "15057:18:172", + "referencedDeclaration": 77846, + "src": "15057:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, { "expression": { - "id": 75342, + "id": 75372, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15089:6:172", + "referencedDeclaration": 75262, + "src": "15089:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75343, + "id": 75373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15096:12:172", + "memberLocation": "15096:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77535, - "src": "15089:19:172", + "referencedDeclaration": 77850, + "src": "15089:19:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } } @@ -11123,30 +11123,30 @@ "typeString": "bool" }, { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" }, { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" }, { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } ], - "id": 75320, + "id": 75350, "name": "Order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77222, - "src": "14839:5:172", + "referencedDeclaration": 77252, + "src": "14839:5:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$77222_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Order_$77252_storage_ptr_$", "typeString": "type(struct Order storage pointer)" } }, - "id": 75344, + "id": 75374, "isConstant": false, "isLValue": false, "isPure": false, @@ -11155,30 +11155,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14839:279:172", + "src": "14839:279:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "14818:300:172" + "src": "14818:300:173" }, { "assignments": [ - 75347 + 75377 ], "declarations": [ { "constant": false, - "id": 75347, + "id": 75377, "mutability": "mutable", "name": "orderHash", - "nameLocation": "15136:9:172", + "nameLocation": "15136:9:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "15128:17:172", + "scope": 75434, + "src": "15128:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11186,10 +11186,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75346, + "id": 75376, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15128:7:172", + "src": "15128:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11198,39 +11198,39 @@ "visibility": "internal" } ], - "id": 75351, + "id": 75381, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 75348, + "id": 75378, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75319, - "src": "15148:5:172", + "referencedDeclaration": 75349, + "src": "15148:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75349, + "id": 75379, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "15154:4:172", + "memberLocation": "15154:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "15148:10:172", + "referencedDeclaration": 78164, + "src": "15148:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 75350, + "id": 75380, "isConstant": false, "isLValue": false, "isPure": false, @@ -11239,7 +11239,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15148:12:172", + "src": "15148:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -11247,7 +11247,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "15128:32:172" + "src": "15128:32:173" }, { "condition": { @@ -11255,32 +11255,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75356, + "id": 75386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75352, + "id": 75382, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "15250:7:172", + "referencedDeclaration": 75049, + "src": "15250:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75354, + "id": 75384, "indexExpression": { - "id": 75353, + "id": 75383, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15258:9:172", + "referencedDeclaration": 75377, + "src": "15258:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11291,7 +11291,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15250:18:172", + "src": "15250:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11300,45 +11300,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75355, + "id": 75385, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "15272:10:172", + "referencedDeclaration": 74897, + "src": "15272:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15250:32:172", + "src": "15250:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75403, + "id": 75433, "nodeType": "IfStatement", - "src": "15246:615:172", + "src": "15246:615:173", "trueBody": { - "id": 75402, + "id": 75432, "nodeType": "Block", - "src": "15284:577:172", + "src": "15284:577:173", "statements": [ { "expression": { - "id": 75359, + "id": 75389, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75357, + "id": 75387, "name": "stateChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75237, - "src": "15298:12:172", + "referencedDeclaration": 75267, + "src": "15298:12:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11348,58 +11348,58 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 75358, + "id": 75388, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15313:4:172", + "src": "15313:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "15298:19:172", + "src": "15298:19:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75360, + "id": 75390, "nodeType": "ExpressionStatement", - "src": "15298:19:172" + "src": "15298:19:173" }, { "expression": { - "id": 75365, + "id": 75395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 75361, + "id": 75391, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "15390:7:172", + "referencedDeclaration": 75049, + "src": "15390:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75363, + "id": 75393, "indexExpression": { - "id": 75362, + "id": 75392, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15398:9:172", + "referencedDeclaration": 75377, + "src": "15398:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11410,7 +11410,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15390:18:172", + "src": "15390:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11419,52 +11419,52 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 75364, + "id": 75394, "name": "ORDER_LIVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "15411:10:172", + "referencedDeclaration": 74893, + "src": "15411:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15390:31:172", + "src": "15390:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75366, + "id": 75396, "nodeType": "ExpressionStatement", - "src": "15390:31:172" + "src": "15390:31:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75368, + "id": 75398, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "15449:3:172", + "src": "15449:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75369, + "id": 75399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15453:6:172", + "memberLocation": "15453:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "15449:10:172", + "src": "15449:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11473,66 +11473,66 @@ { "expression": { "expression": { - "id": 75370, + "id": 75400, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15461:6:172", + "referencedDeclaration": 75262, + "src": "15461:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75371, + "id": 75401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15468:15:172", + "memberLocation": "15468:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "15461:22:172", + "referencedDeclaration": 77853, + "src": "15461:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75372, + "id": 75402, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15484:8:172", + "memberLocation": "15484:8:173", "memberName": "deployer", "nodeType": "MemberAccess", - "referencedDeclaration": 57265, - "src": "15461:31:172", + "referencedDeclaration": 57295, + "src": "15461:31:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", "typeString": "contract IExpressionDeployerV2" } }, { - "id": 75373, + "id": 75403, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75319, - "src": "15494:5:172", + "referencedDeclaration": 75349, + "src": "15494:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 75374, + "id": 75404, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15501:9:172", + "referencedDeclaration": 75377, + "src": "15501:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11546,11 +11546,11 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", "typeString": "contract IExpressionDeployerV2" }, { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -11558,18 +11558,18 @@ "typeString": "bytes32" } ], - "id": 75367, + "id": 75397, "name": "AddOrder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77634, - "src": "15440:8:172", + "referencedDeclaration": 77949, + "src": "15440:8:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56438_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56468_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" } }, - "id": 75375, + "id": 75405, "isConstant": false, "isLValue": false, "isPure": false, @@ -11578,16 +11578,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15440:71:172", + "src": "15440:71:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75376, + "id": 75406, "nodeType": "EmitStatement", - "src": "15435:76:172" + "src": "15435:76:173" }, { "condition": { @@ -11595,7 +11595,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75381, + "id": 75411, "isConstant": false, "isLValue": false, "isPure": false, @@ -11603,41 +11603,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75377, + "id": 75407, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15682:6:172", + "referencedDeclaration": 75262, + "src": "15682:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75378, + "id": 75408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15689:4:172", + "memberLocation": "15689:4:173", "memberName": "meta", "nodeType": "MemberAccess", - "referencedDeclaration": 77540, - "src": "15682:11:172", + "referencedDeclaration": 77855, + "src": "15682:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "id": 75379, + "id": 75409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15694:6:172", + "memberLocation": "15694:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "15682:18:172", + "src": "15682:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11647,60 +11647,60 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75380, + "id": 75410, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15703:1:172", + "src": "15703:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "15682:22:172", + "src": "15682:22:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75401, + "id": 75431, "nodeType": "IfStatement", - "src": "15678:173:172", + "src": "15678:173:173", "trueBody": { - "id": 75400, + "id": 75430, "nodeType": "Block", - "src": "15706:145:172", + "src": "15706:145:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 75385, + "id": 75415, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15750:6:172", + "referencedDeclaration": 75262, + "src": "15750:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75386, + "id": 75416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15757:4:172", + "memberLocation": "15757:4:173", "memberName": "meta", "nodeType": "MemberAccess", - "referencedDeclaration": 77540, - "src": "15750:11:172", + "referencedDeclaration": 77855, + "src": "15750:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -11715,33 +11715,33 @@ } ], "expression": { - "id": 75382, + "id": 75412, "name": "LibMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72048, - "src": "15724:7:172", + "referencedDeclaration": 72078, + "src": "15724:7:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$72048_$", + "typeIdentifier": "t_type$_t_contract$_LibMeta_$72078_$", "typeString": "type(library LibMeta)" } }, - "id": 75384, + "id": 75414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15732:17:172", + "memberLocation": "15732:17:173", "memberName": "checkMetaUnhashed", "nodeType": "MemberAccess", - "referencedDeclaration": 72018, - "src": "15724:25:172", + "referencedDeclaration": 72048, + "src": "15724:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory) pure" } }, - "id": 75387, + "id": 75417, "isConstant": false, "isLValue": false, "isPure": false, @@ -11750,42 +11750,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15724:38:172", + "src": "15724:38:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75388, + "id": 75418, "nodeType": "ExpressionStatement", - "src": "15724:38:172" + "src": "15724:38:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75390, + "id": 75420, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "15792:3:172", + "src": "15792:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75391, + "id": 75421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15796:6:172", + "memberLocation": "15796:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "15792:10:172", + "src": "15792:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11794,12 +11794,12 @@ { "arguments": [ { - "id": 75394, + "id": 75424, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15812:9:172", + "referencedDeclaration": 75377, + "src": "15812:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11813,26 +11813,26 @@ "typeString": "bytes32" } ], - "id": 75393, + "id": 75423, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15804:7:172", + "src": "15804:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 75392, + "id": 75422, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15804:7:172", + "src": "15804:7:173", "typeDescriptions": {} } }, - "id": 75395, + "id": 75425, "isConstant": false, "isLValue": false, "isPure": false, @@ -11841,7 +11841,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15804:18:172", + "src": "15804:18:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11850,27 +11850,27 @@ }, { "expression": { - "id": 75396, + "id": 75426, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15824:6:172", + "referencedDeclaration": 75262, + "src": "15824:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75397, + "id": 75427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15831:4:172", + "memberLocation": "15831:4:173", "memberName": "meta", "nodeType": "MemberAccess", - "referencedDeclaration": 77540, - "src": "15824:11:172", + "referencedDeclaration": 77855, + "src": "15824:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -11892,18 +11892,18 @@ "typeString": "bytes calldata" } ], - "id": 75389, + "id": 75419, "name": "MetaV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71963, - "src": "15785:6:172", + "referencedDeclaration": 71993, + "src": "15785:6:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 75398, + "id": 75428, "isConstant": false, "isLValue": false, "isPure": false, @@ -11912,16 +11912,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15785:51:172", + "src": "15785:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75399, + "id": 75429, "nodeType": "EmitStatement", - "src": "15780:56:172" + "src": "15780:56:173" } ] } @@ -11932,12 +11932,12 @@ ] }, "baseFunctions": [ - 77746 + 78061 ], "documentation": { - "id": 75229, + "id": 75259, "nodeType": "StructuredDocumentation", - "src": "13660:28:172", + "src": "13660:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "847a1bc9", @@ -11945,81 +11945,81 @@ "kind": "function", "modifiers": [ { - "id": 75235, + "id": 75265, "kind": "modifierInvocation", "modifierName": { - "id": 75234, + "id": 75264, "name": "nonReentrant", "nameLocations": [ - "13751:12:172" + "13751:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "13751:12:172" + "src": "13751:12:173" }, "nodeType": "ModifierInvocation", - "src": "13751:12:172" + "src": "13751:12:173" } ], "name": "addOrder", - "nameLocation": "13702:8:172", + "nameLocation": "13702:8:173", "parameters": { - "id": 75233, + "id": 75263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75232, + "id": 75262, "mutability": "mutable", "name": "config", - "nameLocation": "13734:6:172", + "nameLocation": "13734:6:173", "nodeType": "VariableDeclaration", - "scope": 75405, - "src": "13711:29:172", + "scope": 75435, + "src": "13711:29:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2" }, "typeName": { - "id": 75231, + "id": 75261, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75230, + "id": 75260, "name": "OrderConfigV2", "nameLocations": [ - "13711:13:172" + "13711:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77541, - "src": "13711:13:172" + "referencedDeclaration": 77856, + "src": "13711:13:173" }, - "referencedDeclaration": 77541, - "src": "13711:13:172", + "referencedDeclaration": 77856, + "src": "13711:13:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_storage_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_storage_ptr", "typeString": "struct OrderConfigV2" } }, "visibility": "internal" } ], - "src": "13710:31:172" + "src": "13710:31:173" }, "returnParameters": { - "id": 75238, + "id": 75268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75237, + "id": 75267, "mutability": "mutable", "name": "stateChanged", - "nameLocation": "13778:12:172", + "nameLocation": "13778:12:173", "nodeType": "VariableDeclaration", - "scope": 75405, - "src": "13773:17:172", + "scope": 75435, + "src": "13773:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12027,10 +12027,10 @@ "typeString": "bool" }, "typeName": { - "id": 75236, + "id": 75266, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13773:4:172", + "src": "13773:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12039,22 +12039,22 @@ "visibility": "internal" } ], - "src": "13772:19:172" + "src": "13772:19:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 75461, + "id": 75491, "nodeType": "FunctionDefinition", - "src": "15906:448:172", + "src": "15906:448:173", "nodes": [], "body": { - "id": 75460, + "id": 75490, "nodeType": "Block", - "src": "15999:355:172", + "src": "15999:355:173", "nodes": [], "statements": [ { @@ -12063,33 +12063,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 75420, + "id": 75450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 75416, + "id": 75446, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "16013:3:172", + "src": "16013:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75417, + "id": 75447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16017:6:172", + "memberLocation": "16017:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "16013:10:172", + "src": "16013:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12099,71 +12099,71 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 75418, + "id": 75448, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16027:5:172", + "referencedDeclaration": 75439, + "src": "16027:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75419, + "id": 75449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16033:5:172", + "memberLocation": "16033:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "16027:11:172", + "referencedDeclaration": 77238, + "src": "16027:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "16013:25:172", + "src": "16013:25:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75429, + "id": 75459, "nodeType": "IfStatement", - "src": "16009:101:172", + "src": "16009:101:173", "trueBody": { - "id": 75428, + "id": 75458, "nodeType": "Block", - "src": "16040:70:172", + "src": "16040:70:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75422, + "id": 75452, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "16075:3:172", + "src": "16075:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75423, + "id": 75453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16079:6:172", + "memberLocation": "16079:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "16075:10:172", + "src": "16075:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12171,27 +12171,27 @@ }, { "expression": { - "id": 75424, + "id": 75454, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16087:5:172", + "referencedDeclaration": 75439, + "src": "16087:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75425, + "id": 75455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16093:5:172", + "memberLocation": "16093:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "16087:11:172", + "referencedDeclaration": 77238, + "src": "16087:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12209,18 +12209,18 @@ "typeString": "address" } ], - "id": 75421, + "id": 75451, "name": "NotOrderOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74833, - "src": "16061:13:172", + "referencedDeclaration": 74863, + "src": "16061:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 75426, + "id": 75456, "isConstant": false, "isLValue": false, "isPure": false, @@ -12229,34 +12229,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16061:38:172", + "src": "16061:38:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75427, + "id": 75457, "nodeType": "RevertStatement", - "src": "16054:45:172" + "src": "16054:45:173" } ] } }, { "assignments": [ - 75431 + 75461 ], "declarations": [ { "constant": false, - "id": 75431, + "id": 75461, "mutability": "mutable", "name": "orderHash", - "nameLocation": "16127:9:172", + "nameLocation": "16127:9:173", "nodeType": "VariableDeclaration", - "scope": 75460, - "src": "16119:17:172", + "scope": 75490, + "src": "16119:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12264,10 +12264,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75430, + "id": 75460, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16119:7:172", + "src": "16119:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12276,39 +12276,39 @@ "visibility": "internal" } ], - "id": 75435, + "id": 75465, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 75432, + "id": 75462, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16139:5:172", + "referencedDeclaration": 75439, + "src": "16139:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75433, + "id": 75463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16145:4:172", + "memberLocation": "16145:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "16139:10:172", + "referencedDeclaration": 78164, + "src": "16139:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 75434, + "id": 75464, "isConstant": false, "isLValue": false, "isPure": false, @@ -12317,7 +12317,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16139:12:172", + "src": "16139:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -12325,7 +12325,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "16119:32:172" + "src": "16119:32:173" }, { "condition": { @@ -12333,32 +12333,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75440, + "id": 75470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75436, + "id": 75466, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "16165:7:172", + "referencedDeclaration": 75049, + "src": "16165:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75438, + "id": 75468, "indexExpression": { - "id": 75437, + "id": 75467, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75431, - "src": "16173:9:172", + "referencedDeclaration": 75461, + "src": "16173:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12369,7 +12369,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16165:18:172", + "src": "16165:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12378,45 +12378,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75439, + "id": 75469, "name": "ORDER_LIVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "16187:10:172", + "referencedDeclaration": 74893, + "src": "16187:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16165:32:172", + "src": "16165:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75459, + "id": 75489, "nodeType": "IfStatement", - "src": "16161:187:172", + "src": "16161:187:173", "trueBody": { - "id": 75458, + "id": 75488, "nodeType": "Block", - "src": "16199:149:172", + "src": "16199:149:173", "statements": [ { "expression": { - "id": 75443, + "id": 75473, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75441, + "id": 75471, "name": "stateChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75414, - "src": "16213:12:172", + "referencedDeclaration": 75444, + "src": "16213:12:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12426,58 +12426,58 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 75442, + "id": 75472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16228:4:172", + "src": "16228:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "16213:19:172", + "src": "16213:19:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75444, + "id": 75474, "nodeType": "ExpressionStatement", - "src": "16213:19:172" + "src": "16213:19:173" }, { "expression": { - "id": 75449, + "id": 75479, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 75445, + "id": 75475, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "16246:7:172", + "referencedDeclaration": 75049, + "src": "16246:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75447, + "id": 75477, "indexExpression": { - "id": 75446, + "id": 75476, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75431, - "src": "16254:9:172", + "referencedDeclaration": 75461, + "src": "16254:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12488,7 +12488,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16246:18:172", + "src": "16246:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12497,76 +12497,76 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 75448, + "id": 75478, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "16267:10:172", + "referencedDeclaration": 74897, + "src": "16267:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16246:31:172", + "src": "16246:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75450, + "id": 75480, "nodeType": "ExpressionStatement", - "src": "16246:31:172" + "src": "16246:31:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75452, + "id": 75482, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "16308:3:172", + "src": "16308:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75453, + "id": 75483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16312:6:172", + "memberLocation": "16312:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "16308:10:172", + "src": "16308:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75454, + "id": 75484, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16320:5:172", + "referencedDeclaration": 75439, + "src": "16320:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, { - "id": 75455, + "id": 75485, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75431, - "src": "16327:9:172", + "referencedDeclaration": 75461, + "src": "16327:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12580,7 +12580,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" }, { @@ -12588,18 +12588,18 @@ "typeString": "bytes32" } ], - "id": 75451, + "id": 75481, "name": "RemoveOrder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77644, - "src": "16296:11:172", + "referencedDeclaration": 77959, + "src": "16296:11:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (address,struct Order memory,bytes32)" } }, - "id": 75456, + "id": 75486, "isConstant": false, "isLValue": false, "isPure": false, @@ -12608,16 +12608,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16296:41:172", + "src": "16296:41:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75457, + "id": 75487, "nodeType": "EmitStatement", - "src": "16291:46:172" + "src": "16291:46:173" } ] } @@ -12625,12 +12625,12 @@ ] }, "baseFunctions": [ - 77763 + 78078 ], "documentation": { - "id": 75406, + "id": 75436, "nodeType": "StructuredDocumentation", - "src": "15873:28:172", + "src": "15873:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "e23746a3", @@ -12638,81 +12638,81 @@ "kind": "function", "modifiers": [ { - "id": 75412, + "id": 75442, "kind": "modifierInvocation", "modifierName": { - "id": 75411, + "id": 75441, "name": "nonReentrant", "nameLocations": [ - "15958:12:172" + "15958:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "15958:12:172" + "src": "15958:12:173" }, "nodeType": "ModifierInvocation", - "src": "15958:12:172" + "src": "15958:12:173" } ], "name": "removeOrder", - "nameLocation": "15915:11:172", + "nameLocation": "15915:11:173", "parameters": { - "id": 75410, + "id": 75440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75409, + "id": 75439, "mutability": "mutable", "name": "order", - "nameLocation": "15942:5:172", + "nameLocation": "15942:5:173", "nodeType": "VariableDeclaration", - "scope": 75461, - "src": "15927:20:172", + "scope": 75491, + "src": "15927:20:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order" }, "typeName": { - "id": 75408, + "id": 75438, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75407, + "id": 75437, "name": "Order", "nameLocations": [ - "15927:5:172" + "15927:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "15927:5:172" + "referencedDeclaration": 77252, + "src": "15927:5:173" }, - "referencedDeclaration": 77222, - "src": "15927:5:172", + "referencedDeclaration": 77252, + "src": "15927:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, "visibility": "internal" } ], - "src": "15926:22:172" + "src": "15926:22:173" }, "returnParameters": { - "id": 75415, + "id": 75445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75414, + "id": 75444, "mutability": "mutable", "name": "stateChanged", - "nameLocation": "15985:12:172", + "nameLocation": "15985:12:173", "nodeType": "VariableDeclaration", - "scope": 75461, - "src": "15980:17:172", + "scope": 75491, + "src": "15980:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12720,10 +12720,10 @@ "typeString": "bool" }, "typeName": { - "id": 75413, + "id": 75443, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "15980:4:172", + "src": "15980:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12732,22 +12732,22 @@ "visibility": "internal" } ], - "src": "15979:19:172" + "src": "15979:19:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 76010, + "id": 76040, "nodeType": "FunctionDefinition", - "src": "16393:8257:172", + "src": "16393:8257:173", "nodes": [], "body": { - "id": 76009, + "id": 76039, "nodeType": "Block", - "src": "16559:8091:172", + "src": "16559:8091:173", "nodes": [], "statements": [ { @@ -12756,7 +12756,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75478, + "id": 75508, "isConstant": false, "isLValue": false, "isPure": false, @@ -12764,41 +12764,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75474, + "id": 75504, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16573:6:172", + "referencedDeclaration": 75495, + "src": "16573:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75475, + "id": 75505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16580:6:172", + "memberLocation": "16580:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "16573:13:172", + "referencedDeclaration": 77866, + "src": "16573:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75476, + "id": 75506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16587:6:172", + "memberLocation": "16587:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "16573:20:172", + "src": "16573:20:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12808,51 +12808,51 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75477, + "id": 75507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16597:1:172", + "src": "16597:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "16573:25:172", + "src": "16573:25:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75483, + "id": 75513, "nodeType": "IfStatement", - "src": "16569:73:172", + "src": "16569:73:173", "trueBody": { - "id": 75482, + "id": 75512, "nodeType": "Block", - "src": "16600:42:172", + "src": "16600:42:173", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 75479, + "id": 75509, "name": "NoOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77527, - "src": "16621:8:172", + "referencedDeclaration": 77842, + "src": "16621:8:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 75480, + "id": 75510, "isConstant": false, "isLValue": false, "isPure": false, @@ -12861,34 +12861,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16621:10:172", + "src": "16621:10:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75481, + "id": 75511, "nodeType": "RevertStatement", - "src": "16614:17:172" + "src": "16614:17:173" } ] } }, { "assignments": [ - 75485 + 75515 ], "declarations": [ { "constant": false, - "id": 75485, + "id": 75515, "mutability": "mutable", "name": "i", - "nameLocation": "16660:1:172", + "nameLocation": "16660:1:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16652:9:172", + "scope": 76039, + "src": "16652:9:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12896,10 +12896,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75484, + "id": 75514, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16652:7:172", + "src": "16652:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12908,17 +12908,17 @@ "visibility": "internal" } ], - "id": 75487, + "id": 75517, "initialValue": { "hexValue": "30", - "id": 75486, + "id": 75516, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16664:1:172", + "src": "16664:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -12926,116 +12926,116 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16652:13:172" + "src": "16652:13:173" }, { "assignments": [ - 75490 + 75520 ], "declarations": [ { "constant": false, - "id": 75490, + "id": 75520, "mutability": "mutable", "name": "takeOrderConfig", - "nameLocation": "16698:15:172", + "nameLocation": "16698:15:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16675:38:172", + "scope": 76039, + "src": "16675:38:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig" }, "typeName": { - "id": 75489, + "id": 75519, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75488, + "id": 75518, "name": "TakeOrderConfig", "nameLocations": [ - "16675:15:172" + "16675:15:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77249, - "src": "16675:15:172" + "referencedDeclaration": 77279, + "src": "16675:15:173" }, - "referencedDeclaration": 77249, - "src": "16675:15:172", + "referencedDeclaration": 77279, + "src": "16675:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_storage_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_storage_ptr", "typeString": "struct TakeOrderConfig" } }, "visibility": "internal" } ], - "id": 75491, + "id": 75521, "nodeType": "VariableDeclarationStatement", - "src": "16675:38:172" + "src": "16675:38:173" }, { "assignments": [ - 75494 + 75524 ], "declarations": [ { "constant": false, - "id": 75494, + "id": 75524, "mutability": "mutable", "name": "order", - "nameLocation": "16736:5:172", + "nameLocation": "16736:5:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16723:18:172", + "scope": 76039, + "src": "16723:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 75493, + "id": 75523, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75492, + "id": 75522, "name": "Order", "nameLocations": [ - "16723:5:172" + "16723:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "16723:5:172" + "referencedDeclaration": 77252, + "src": "16723:5:173" }, - "referencedDeclaration": 77222, - "src": "16723:5:172", + "referencedDeclaration": 77252, + "src": "16723:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, "visibility": "internal" } ], - "id": 75495, + "id": 75525, "nodeType": "VariableDeclarationStatement", - "src": "16723:18:172" + "src": "16723:18:173" }, { "assignments": [ - 75497 + 75527 ], "declarations": [ { "constant": false, - "id": 75497, + "id": 75527, "mutability": "mutable", "name": "remainingTakerInput", - "nameLocation": "16760:19:172", + "nameLocation": "16760:19:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16752:27:172", + "scope": 76039, + "src": "16752:27:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13043,10 +13043,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75496, + "id": 75526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16752:7:172", + "src": "16752:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13055,60 +13055,60 @@ "visibility": "internal" } ], - "id": 75500, + "id": 75530, "initialValue": { "expression": { - "id": 75498, + "id": 75528, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16782:6:172", + "referencedDeclaration": 75495, + "src": "16782:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75499, + "id": 75529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16789:12:172", + "memberLocation": "16789:12:173", "memberName": "maximumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77545, - "src": "16782:19:172", + "referencedDeclaration": 77860, + "src": "16782:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "16752:49:172" + "src": "16752:49:173" }, { "body": { - "id": 75893, + "id": 75923, "nodeType": "Block", - "src": "16871:5715:172", + "src": "16871:5715:173", "statements": [ { "expression": { - "id": 75515, + "id": 75545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75510, + "id": 75540, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "16885:15:172", + "referencedDeclaration": 75520, + "src": "16885:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, @@ -13117,40 +13117,40 @@ "rightHandSide": { "baseExpression": { "expression": { - "id": 75511, + "id": 75541, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16903:6:172", + "referencedDeclaration": 75495, + "src": "16903:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75512, + "id": 75542, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16910:6:172", + "memberLocation": "16910:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "16903:13:172", + "referencedDeclaration": 77866, + "src": "16903:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75514, + "id": 75544, "indexExpression": { - "id": 75513, + "id": 75543, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75485, - "src": "16917:1:172", + "referencedDeclaration": 75515, + "src": "16917:1:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13161,38 +13161,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16903:16:172", + "src": "16903:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "src": "16885:34:172", + "src": "16885:34:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75516, + "id": 75546, "nodeType": "ExpressionStatement", - "src": "16885:34:172" + "src": "16885:34:173" }, { "expression": { - "id": 75520, + "id": 75550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75517, + "id": 75547, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "16933:5:172", + "referencedDeclaration": 75524, + "src": "16933:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, @@ -13200,41 +13200,41 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 75518, + "id": 75548, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "16941:15:172", + "referencedDeclaration": 75520, + "src": "16941:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75519, + "id": 75549, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "16957:5:172", + "memberLocation": "16957:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "16941:21:172", + "referencedDeclaration": 77270, + "src": "16941:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "src": "16933:29:172", + "src": "16933:29:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75521, + "id": 75551, "nodeType": "ExpressionStatement", - "src": "16933:29:172" + "src": "16933:29:173" }, { "condition": { @@ -13242,7 +13242,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 75541, + "id": 75571, "isConstant": false, "isLValue": false, "isPure": false, @@ -13251,56 +13251,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75522, + "id": 75552, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17052:5:172", + "referencedDeclaration": 75524, + "src": "17052:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75523, + "id": 75553, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17058:11:172", + "memberLocation": "17058:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17052:17:172", + "referencedDeclaration": 77247, + "src": "17052:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75526, + "id": 75556, "indexExpression": { "expression": { - "id": 75524, + "id": 75554, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17070:15:172", + "referencedDeclaration": 75520, + "src": "17070:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75525, + "id": 75555, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17086:12:172", + "memberLocation": "17086:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17070:28:172", + "referencedDeclaration": 77272, + "src": "17070:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13311,22 +13311,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17052:47:172", + "src": "17052:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75527, + "id": 75557, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17100:5:172", + "memberLocation": "17100:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17052:53:172", + "referencedDeclaration": 77217, + "src": "17052:53:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13341,43 +13341,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75528, + "id": 75558, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17129:6:172", + "referencedDeclaration": 75495, + "src": "17129:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75529, + "id": 75559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17136:6:172", + "memberLocation": "17136:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17129:13:172", + "referencedDeclaration": 77866, + "src": "17129:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75531, + "id": 75561, "indexExpression": { "hexValue": "30", - "id": 75530, + "id": 75560, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17143:1:172", + "src": "17143:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13389,84 +13389,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17129:16:172", + "src": "17129:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75532, + "id": 75562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17146:5:172", + "memberLocation": "17146:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17129:22:172", + "referencedDeclaration": 77270, + "src": "17129:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75533, + "id": 75563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17152:11:172", + "memberLocation": "17152:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17129:34:172", + "referencedDeclaration": 77247, + "src": "17129:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75539, + "id": 75569, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75534, + "id": 75564, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17164:6:172", + "referencedDeclaration": 75495, + "src": "17164:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75535, + "id": 75565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17171:6:172", + "memberLocation": "17171:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17164:13:172", + "referencedDeclaration": 77866, + "src": "17164:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75537, + "id": 75567, "indexExpression": { "hexValue": "30", - "id": 75536, + "id": 75566, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17178:1:172", + "src": "17178:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13478,22 +13478,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17164:16:172", + "src": "17164:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75538, + "id": 75568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17181:12:172", + "memberLocation": "17181:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17164:29:172", + "referencedDeclaration": 77272, + "src": "17164:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13504,40 +13504,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17129:65:172", + "src": "17129:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75540, + "id": 75570, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17195:5:172", + "memberLocation": "17195:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17129:71:172", + "referencedDeclaration": 77217, + "src": "17129:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17052:148:172", + "src": "17052:148:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75565, + "id": 75595, "nodeType": "IfStatement", - "src": "17031:423:172", + "src": "17031:423:173", "trueBody": { - "id": 75564, + "id": 75594, "nodeType": "Block", - "src": "17215:239:172", + "src": "17215:239:173", "statements": [ { "errorCall": { @@ -13546,56 +13546,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75543, + "id": 75573, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17275:5:172", + "referencedDeclaration": 75524, + "src": "17275:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75544, + "id": 75574, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17281:11:172", + "memberLocation": "17281:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17275:17:172", + "referencedDeclaration": 77247, + "src": "17275:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75547, + "id": 75577, "indexExpression": { "expression": { - "id": 75545, + "id": 75575, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17293:15:172", + "referencedDeclaration": 75520, + "src": "17293:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75546, + "id": 75576, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17309:12:172", + "memberLocation": "17309:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17293:28:172", + "referencedDeclaration": 77272, + "src": "17293:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13606,22 +13606,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17275:47:172", + "src": "17275:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75548, + "id": 75578, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17323:5:172", + "memberLocation": "17323:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17275:53:172", + "referencedDeclaration": 77217, + "src": "17275:53:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13634,43 +13634,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75549, + "id": 75579, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17350:6:172", + "referencedDeclaration": 75495, + "src": "17350:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75550, + "id": 75580, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17357:6:172", + "memberLocation": "17357:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17350:13:172", + "referencedDeclaration": 77866, + "src": "17350:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75552, + "id": 75582, "indexExpression": { "hexValue": "30", - "id": 75551, + "id": 75581, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17364:1:172", + "src": "17364:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13682,84 +13682,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17350:16:172", + "src": "17350:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75553, + "id": 75583, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17367:5:172", + "memberLocation": "17367:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17350:22:172", + "referencedDeclaration": 77270, + "src": "17350:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75554, + "id": 75584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17373:11:172", + "memberLocation": "17373:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17350:34:172", + "referencedDeclaration": 77247, + "src": "17350:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75560, + "id": 75590, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75555, + "id": 75585, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17385:6:172", + "referencedDeclaration": 75495, + "src": "17385:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75556, + "id": 75586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17392:6:172", + "memberLocation": "17392:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17385:13:172", + "referencedDeclaration": 77866, + "src": "17385:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75558, + "id": 75588, "indexExpression": { "hexValue": "30", - "id": 75557, + "id": 75587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17399:1:172", + "src": "17399:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13771,22 +13771,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17385:16:172", + "src": "17385:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75559, + "id": 75589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17402:12:172", + "memberLocation": "17402:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17385:29:172", + "referencedDeclaration": 77272, + "src": "17385:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13797,22 +13797,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17350:65:172", + "src": "17350:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75561, + "id": 75591, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17416:5:172", + "memberLocation": "17416:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17350:71:172", + "referencedDeclaration": 77217, + "src": "17350:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13830,18 +13830,18 @@ "typeString": "address" } ], - "id": 75542, + "id": 75572, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "17240:13:172", + "referencedDeclaration": 74870, + "src": "17240:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 75562, + "id": 75592, "isConstant": false, "isLValue": false, "isPure": false, @@ -13850,16 +13850,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "17240:199:172", + "src": "17240:199:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75563, + "id": 75593, "nodeType": "RevertStatement", - "src": "17233:206:172" + "src": "17233:206:173" } ] } @@ -13870,7 +13870,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 75585, + "id": 75615, "isConstant": false, "isLValue": false, "isPure": false, @@ -13879,56 +13879,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75566, + "id": 75596, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17544:5:172", + "referencedDeclaration": 75524, + "src": "17544:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75567, + "id": 75597, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17550:12:172", + "memberLocation": "17550:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17544:18:172", + "referencedDeclaration": 77251, + "src": "17544:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75570, + "id": 75600, "indexExpression": { "expression": { - "id": 75568, + "id": 75598, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17563:15:172", + "referencedDeclaration": 75520, + "src": "17563:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75569, + "id": 75599, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17579:13:172", + "memberLocation": "17579:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17563:29:172", + "referencedDeclaration": 77274, + "src": "17563:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13939,22 +13939,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17544:49:172", + "src": "17544:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75571, + "id": 75601, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17594:5:172", + "memberLocation": "17594:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17544:55:172", + "referencedDeclaration": 77217, + "src": "17544:55:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13969,43 +13969,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75572, + "id": 75602, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17623:6:172", + "referencedDeclaration": 75495, + "src": "17623:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75573, + "id": 75603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17630:6:172", + "memberLocation": "17630:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17623:13:172", + "referencedDeclaration": 77866, + "src": "17623:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75575, + "id": 75605, "indexExpression": { "hexValue": "30", - "id": 75574, + "id": 75604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17637:1:172", + "src": "17637:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14017,84 +14017,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17623:16:172", + "src": "17623:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75576, + "id": 75606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17640:5:172", + "memberLocation": "17640:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17623:22:172", + "referencedDeclaration": 77270, + "src": "17623:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75577, + "id": 75607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17646:12:172", + "memberLocation": "17646:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17623:35:172", + "referencedDeclaration": 77251, + "src": "17623:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75583, + "id": 75613, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75578, + "id": 75608, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17659:6:172", + "referencedDeclaration": 75495, + "src": "17659:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75579, + "id": 75609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17666:6:172", + "memberLocation": "17666:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17659:13:172", + "referencedDeclaration": 77866, + "src": "17659:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75581, + "id": 75611, "indexExpression": { "hexValue": "30", - "id": 75580, + "id": 75610, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17673:1:172", + "src": "17673:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14106,22 +14106,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17659:16:172", + "src": "17659:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75582, + "id": 75612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17676:13:172", + "memberLocation": "17676:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17659:30:172", + "referencedDeclaration": 77274, + "src": "17659:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14132,40 +14132,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17623:67:172", + "src": "17623:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75584, + "id": 75614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17691:5:172", + "memberLocation": "17691:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17623:73:172", + "referencedDeclaration": 77217, + "src": "17623:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17544:152:172", + "src": "17544:152:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75609, + "id": 75639, "nodeType": "IfStatement", - "src": "17523:431:172", + "src": "17523:431:173", "trueBody": { - "id": 75608, + "id": 75638, "nodeType": "Block", - "src": "17711:243:172", + "src": "17711:243:173", "statements": [ { "errorCall": { @@ -14174,56 +14174,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75587, + "id": 75617, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17771:5:172", + "referencedDeclaration": 75524, + "src": "17771:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75588, + "id": 75618, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17777:12:172", + "memberLocation": "17777:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17771:18:172", + "referencedDeclaration": 77251, + "src": "17771:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75591, + "id": 75621, "indexExpression": { "expression": { - "id": 75589, + "id": 75619, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17790:15:172", + "referencedDeclaration": 75520, + "src": "17790:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75590, + "id": 75620, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17806:13:172", + "memberLocation": "17806:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17790:29:172", + "referencedDeclaration": 77274, + "src": "17790:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14234,22 +14234,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17771:49:172", + "src": "17771:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75592, + "id": 75622, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17821:5:172", + "memberLocation": "17821:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17771:55:172", + "referencedDeclaration": 77217, + "src": "17771:55:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14262,43 +14262,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75593, + "id": 75623, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17848:6:172", + "referencedDeclaration": 75495, + "src": "17848:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75594, + "id": 75624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17855:6:172", + "memberLocation": "17855:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17848:13:172", + "referencedDeclaration": 77866, + "src": "17848:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75596, + "id": 75626, "indexExpression": { "hexValue": "30", - "id": 75595, + "id": 75625, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17862:1:172", + "src": "17862:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14310,84 +14310,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17848:16:172", + "src": "17848:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75597, + "id": 75627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17865:5:172", + "memberLocation": "17865:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17848:22:172", + "referencedDeclaration": 77270, + "src": "17848:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75598, + "id": 75628, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17871:12:172", + "memberLocation": "17871:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17848:35:172", + "referencedDeclaration": 77251, + "src": "17848:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75604, + "id": 75634, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75599, + "id": 75629, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17884:6:172", + "referencedDeclaration": 75495, + "src": "17884:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75600, + "id": 75630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17891:6:172", + "memberLocation": "17891:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17884:13:172", + "referencedDeclaration": 77866, + "src": "17884:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75602, + "id": 75632, "indexExpression": { "hexValue": "30", - "id": 75601, + "id": 75631, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17898:1:172", + "src": "17898:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14399,22 +14399,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17884:16:172", + "src": "17884:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75603, + "id": 75633, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17901:13:172", + "memberLocation": "17901:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17884:30:172", + "referencedDeclaration": 77274, + "src": "17884:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14425,22 +14425,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17848:67:172", + "src": "17848:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75605, + "id": 75635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17916:5:172", + "memberLocation": "17916:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17848:73:172", + "referencedDeclaration": 77217, + "src": "17848:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14458,18 +14458,18 @@ "typeString": "address" } ], - "id": 75586, + "id": 75616, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "17736:13:172", + "referencedDeclaration": 74870, + "src": "17736:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 75606, + "id": 75636, "isConstant": false, "isLValue": false, "isPure": false, @@ -14478,16 +14478,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "17736:203:172", + "src": "17736:203:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75607, + "id": 75637, "nodeType": "RevertStatement", - "src": "17729:210:172" + "src": "17729:210:173" } ] } @@ -14498,7 +14498,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 75629, + "id": 75659, "isConstant": false, "isLValue": false, "isPure": false, @@ -14507,56 +14507,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75610, + "id": 75640, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18052:5:172", + "referencedDeclaration": 75524, + "src": "18052:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75611, + "id": 75641, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18058:11:172", + "memberLocation": "18058:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18052:17:172", + "referencedDeclaration": 77247, + "src": "18052:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75614, + "id": 75644, "indexExpression": { "expression": { - "id": 75612, + "id": 75642, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18070:15:172", + "referencedDeclaration": 75520, + "src": "18070:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75613, + "id": 75643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18086:12:172", + "memberLocation": "18086:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18070:28:172", + "referencedDeclaration": 77272, + "src": "18070:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14567,22 +14567,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18052:47:172", + "src": "18052:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75615, + "id": 75645, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18100:8:172", + "memberLocation": "18100:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18052:56:172", + "referencedDeclaration": 77219, + "src": "18052:56:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14597,43 +14597,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75616, + "id": 75646, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18132:6:172", + "referencedDeclaration": 75495, + "src": "18132:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75617, + "id": 75647, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18139:6:172", + "memberLocation": "18139:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18132:13:172", + "referencedDeclaration": 77866, + "src": "18132:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75619, + "id": 75649, "indexExpression": { "hexValue": "30", - "id": 75618, + "id": 75648, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18146:1:172", + "src": "18146:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14645,84 +14645,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18132:16:172", + "src": "18132:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75620, + "id": 75650, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18149:5:172", + "memberLocation": "18149:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18132:22:172", + "referencedDeclaration": 77270, + "src": "18132:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75621, + "id": 75651, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18155:11:172", + "memberLocation": "18155:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18132:34:172", + "referencedDeclaration": 77247, + "src": "18132:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75627, + "id": 75657, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75622, + "id": 75652, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18167:6:172", + "referencedDeclaration": 75495, + "src": "18167:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75623, + "id": 75653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18174:6:172", + "memberLocation": "18174:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18167:13:172", + "referencedDeclaration": 77866, + "src": "18167:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75625, + "id": 75655, "indexExpression": { "hexValue": "30", - "id": 75624, + "id": 75654, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18181:1:172", + "src": "18181:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14734,22 +14734,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18167:16:172", + "src": "18167:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75626, + "id": 75656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18184:12:172", + "memberLocation": "18184:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18167:29:172", + "referencedDeclaration": 77272, + "src": "18167:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14760,40 +14760,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18132:65:172", + "src": "18132:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75628, + "id": 75658, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18198:8:172", + "memberLocation": "18198:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18132:74:172", + "referencedDeclaration": 77219, + "src": "18132:74:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "18052:154:172", + "src": "18052:154:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75653, + "id": 75683, "nodeType": "IfStatement", - "src": "18031:443:172", + "src": "18031:443:173", "trueBody": { - "id": 75652, + "id": 75682, "nodeType": "Block", - "src": "18221:253:172", + "src": "18221:253:173", "statements": [ { "errorCall": { @@ -14802,56 +14802,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75631, + "id": 75661, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18289:5:172", + "referencedDeclaration": 75524, + "src": "18289:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75632, + "id": 75662, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18295:11:172", + "memberLocation": "18295:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18289:17:172", + "referencedDeclaration": 77247, + "src": "18289:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75635, + "id": 75665, "indexExpression": { "expression": { - "id": 75633, + "id": 75663, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18307:15:172", + "referencedDeclaration": 75520, + "src": "18307:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75634, + "id": 75664, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18323:12:172", + "memberLocation": "18323:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18307:28:172", + "referencedDeclaration": 77272, + "src": "18307:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14862,22 +14862,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18289:47:172", + "src": "18289:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75636, + "id": 75666, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18337:8:172", + "memberLocation": "18337:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18289:56:172", + "referencedDeclaration": 77219, + "src": "18289:56:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14890,43 +14890,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75637, + "id": 75667, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18367:6:172", + "referencedDeclaration": 75495, + "src": "18367:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75638, + "id": 75668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18374:6:172", + "memberLocation": "18374:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18367:13:172", + "referencedDeclaration": 77866, + "src": "18367:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75640, + "id": 75670, "indexExpression": { "hexValue": "30", - "id": 75639, + "id": 75669, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18381:1:172", + "src": "18381:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14938,84 +14938,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18367:16:172", + "src": "18367:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75641, + "id": 75671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18384:5:172", + "memberLocation": "18384:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18367:22:172", + "referencedDeclaration": 77270, + "src": "18367:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75642, + "id": 75672, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18390:11:172", + "memberLocation": "18390:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18367:34:172", + "referencedDeclaration": 77247, + "src": "18367:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75648, + "id": 75678, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75643, + "id": 75673, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18402:6:172", + "referencedDeclaration": 75495, + "src": "18402:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75644, + "id": 75674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18409:6:172", + "memberLocation": "18409:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18402:13:172", + "referencedDeclaration": 77866, + "src": "18402:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75646, + "id": 75676, "indexExpression": { "hexValue": "30", - "id": 75645, + "id": 75675, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18416:1:172", + "src": "18416:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15027,22 +15027,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18402:16:172", + "src": "18402:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75647, + "id": 75677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18419:12:172", + "memberLocation": "18419:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18402:29:172", + "referencedDeclaration": 77272, + "src": "18402:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15053,22 +15053,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18367:65:172", + "src": "18367:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75649, + "id": 75679, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18433:8:172", + "memberLocation": "18433:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18367:74:172", + "referencedDeclaration": 77219, + "src": "18367:74:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15086,18 +15086,18 @@ "typeString": "uint8" } ], - "id": 75630, + "id": 75660, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "18246:21:172", + "referencedDeclaration": 74877, + "src": "18246:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 75650, + "id": 75680, "isConstant": false, "isLValue": false, "isPure": false, @@ -15106,16 +15106,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "18246:213:172", + "src": "18246:213:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75651, + "id": 75681, "nodeType": "RevertStatement", - "src": "18239:220:172" + "src": "18239:220:173" } ] } @@ -15126,7 +15126,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 75673, + "id": 75703, "isConstant": false, "isLValue": false, "isPure": false, @@ -15135,56 +15135,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75654, + "id": 75684, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18573:5:172", + "referencedDeclaration": 75524, + "src": "18573:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75655, + "id": 75685, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18579:12:172", + "memberLocation": "18579:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18573:18:172", + "referencedDeclaration": 77251, + "src": "18573:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75658, + "id": 75688, "indexExpression": { "expression": { - "id": 75656, + "id": 75686, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18592:15:172", + "referencedDeclaration": 75520, + "src": "18592:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75657, + "id": 75687, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18608:13:172", + "memberLocation": "18608:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18592:29:172", + "referencedDeclaration": 77274, + "src": "18592:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15195,22 +15195,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18573:49:172", + "src": "18573:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75659, + "id": 75689, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18623:8:172", + "memberLocation": "18623:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18573:58:172", + "referencedDeclaration": 77219, + "src": "18573:58:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15225,43 +15225,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75660, + "id": 75690, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18655:6:172", + "referencedDeclaration": 75495, + "src": "18655:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75661, + "id": 75691, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18662:6:172", + "memberLocation": "18662:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18655:13:172", + "referencedDeclaration": 77866, + "src": "18655:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75663, + "id": 75693, "indexExpression": { "hexValue": "30", - "id": 75662, + "id": 75692, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18669:1:172", + "src": "18669:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15273,84 +15273,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18655:16:172", + "src": "18655:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75664, + "id": 75694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18672:5:172", + "memberLocation": "18672:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18655:22:172", + "referencedDeclaration": 77270, + "src": "18655:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75665, + "id": 75695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18678:12:172", + "memberLocation": "18678:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18655:35:172", + "referencedDeclaration": 77251, + "src": "18655:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75671, + "id": 75701, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75666, + "id": 75696, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18691:6:172", + "referencedDeclaration": 75495, + "src": "18691:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75667, + "id": 75697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18698:6:172", + "memberLocation": "18698:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18691:13:172", + "referencedDeclaration": 77866, + "src": "18691:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75669, + "id": 75699, "indexExpression": { "hexValue": "30", - "id": 75668, + "id": 75698, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18705:1:172", + "src": "18705:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15362,22 +15362,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18691:16:172", + "src": "18691:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75670, + "id": 75700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18708:13:172", + "memberLocation": "18708:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18691:30:172", + "referencedDeclaration": 77274, + "src": "18691:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15388,40 +15388,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18655:67:172", + "src": "18655:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75672, + "id": 75702, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18723:8:172", + "memberLocation": "18723:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18655:76:172", + "referencedDeclaration": 77219, + "src": "18655:76:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "18573:158:172", + "src": "18573:158:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75697, + "id": 75727, "nodeType": "IfStatement", - "src": "18552:451:172", + "src": "18552:451:173", "trueBody": { - "id": 75696, + "id": 75726, "nodeType": "Block", - "src": "18746:257:172", + "src": "18746:257:173", "statements": [ { "errorCall": { @@ -15430,56 +15430,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75675, + "id": 75705, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18814:5:172", + "referencedDeclaration": 75524, + "src": "18814:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75676, + "id": 75706, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18820:12:172", + "memberLocation": "18820:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18814:18:172", + "referencedDeclaration": 77251, + "src": "18814:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75679, + "id": 75709, "indexExpression": { "expression": { - "id": 75677, + "id": 75707, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18833:15:172", + "referencedDeclaration": 75520, + "src": "18833:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75678, + "id": 75708, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18849:13:172", + "memberLocation": "18849:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18833:29:172", + "referencedDeclaration": 77274, + "src": "18833:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15490,22 +15490,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18814:49:172", + "src": "18814:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75680, + "id": 75710, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18864:8:172", + "memberLocation": "18864:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18814:58:172", + "referencedDeclaration": 77219, + "src": "18814:58:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15518,43 +15518,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75681, + "id": 75711, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18894:6:172", + "referencedDeclaration": 75495, + "src": "18894:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75682, + "id": 75712, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18901:6:172", + "memberLocation": "18901:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18894:13:172", + "referencedDeclaration": 77866, + "src": "18894:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75684, + "id": 75714, "indexExpression": { "hexValue": "30", - "id": 75683, + "id": 75713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18908:1:172", + "src": "18908:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15566,84 +15566,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18894:16:172", + "src": "18894:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75685, + "id": 75715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18911:5:172", + "memberLocation": "18911:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18894:22:172", + "referencedDeclaration": 77270, + "src": "18894:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75686, + "id": 75716, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18917:12:172", + "memberLocation": "18917:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18894:35:172", + "referencedDeclaration": 77251, + "src": "18894:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75692, + "id": 75722, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75687, + "id": 75717, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18930:6:172", + "referencedDeclaration": 75495, + "src": "18930:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75688, + "id": 75718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18937:6:172", + "memberLocation": "18937:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18930:13:172", + "referencedDeclaration": 77866, + "src": "18930:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75690, + "id": 75720, "indexExpression": { "hexValue": "30", - "id": 75689, + "id": 75719, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18944:1:172", + "src": "18944:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15655,22 +15655,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18930:16:172", + "src": "18930:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75691, + "id": 75721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18947:13:172", + "memberLocation": "18947:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18930:30:172", + "referencedDeclaration": 77274, + "src": "18930:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15681,22 +15681,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18894:67:172", + "src": "18894:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75693, + "id": 75723, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18962:8:172", + "memberLocation": "18962:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18894:76:172", + "referencedDeclaration": 77219, + "src": "18894:76:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15714,18 +15714,18 @@ "typeString": "uint8" } ], - "id": 75674, + "id": 75704, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "18771:21:172", + "referencedDeclaration": 74877, + "src": "18771:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 75694, + "id": 75724, "isConstant": false, "isLValue": false, "isPure": false, @@ -15734,34 +15734,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "18771:217:172", + "src": "18771:217:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75695, + "id": 75725, "nodeType": "RevertStatement", - "src": "18764:224:172" + "src": "18764:224:173" } ] } }, { "assignments": [ - 75699 + 75729 ], "declarations": [ { "constant": false, - "id": 75699, + "id": 75729, "mutability": "mutable", "name": "orderHash", - "nameLocation": "19025:9:172", + "nameLocation": "19025:9:173", "nodeType": "VariableDeclaration", - "scope": 75893, - "src": "19017:17:172", + "scope": 75923, + "src": "19017:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15769,10 +15769,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75698, + "id": 75728, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19017:7:172", + "src": "19017:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15781,39 +15781,39 @@ "visibility": "internal" } ], - "id": 75703, + "id": 75733, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 75700, + "id": 75730, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19037:5:172", + "referencedDeclaration": 75524, + "src": "19037:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75701, + "id": 75731, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19043:4:172", + "memberLocation": "19043:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "19037:10:172", + "referencedDeclaration": 78164, + "src": "19037:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 75702, + "id": 75732, "isConstant": false, "isLValue": false, "isPure": false, @@ -15822,7 +15822,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19037:12:172", + "src": "19037:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -15830,7 +15830,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "19017:32:172" + "src": "19017:32:173" }, { "condition": { @@ -15838,32 +15838,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75708, + "id": 75738, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75704, + "id": 75734, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "19067:7:172", + "referencedDeclaration": 75049, + "src": "19067:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75706, + "id": 75736, "indexExpression": { - "id": 75705, + "id": 75735, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "19075:9:172", + "referencedDeclaration": 75729, + "src": "19075:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15874,7 +15874,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19067:18:172", + "src": "19067:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15883,109 +15883,109 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75707, + "id": 75737, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "19089:10:172", + "referencedDeclaration": 74897, + "src": "19089:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "19067:32:172", + "src": "19067:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 75887, + "id": 75917, "nodeType": "Block", - "src": "19194:3322:172", + "src": "19194:3322:173", "statements": [ { "assignments": [ - 75720 + 75750 ], "declarations": [ { "constant": false, - "id": 75720, + "id": 75750, "mutability": "mutable", "name": "orderIOCalculation", - "nameLocation": "19238:18:172", + "nameLocation": "19238:18:173", "nodeType": "VariableDeclaration", - "scope": 75887, - "src": "19212:44:172", + "scope": 75917, + "src": "19212:44:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 75719, + "id": 75749, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75718, + "id": 75748, "name": "OrderIOCalculation", "nameLocations": [ - "19212:18:172" + "19212:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "19212:18:172" + "referencedDeclaration": 75005, + "src": "19212:18:173" }, - "referencedDeclaration": 74975, - "src": "19212:18:172", + "referencedDeclaration": 75005, + "src": "19212:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "id": 75732, + "id": 75762, "initialValue": { "arguments": [ { - "id": 75722, + "id": 75752, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19297:5:172", + "referencedDeclaration": 75524, + "src": "19297:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 75723, + "id": 75753, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "19324:15:172", + "referencedDeclaration": 75520, + "src": "19324:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75724, + "id": 75754, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19340:12:172", + "memberLocation": "19340:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "19324:28:172", + "referencedDeclaration": 77272, + "src": "19324:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15993,27 +15993,27 @@ }, { "expression": { - "id": 75725, + "id": 75755, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "19374:15:172", + "referencedDeclaration": 75520, + "src": "19374:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75726, + "id": 75756, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19390:13:172", + "memberLocation": "19390:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "19374:29:172", + "referencedDeclaration": 77274, + "src": "19374:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16021,26 +16021,26 @@ }, { "expression": { - "id": 75727, + "id": 75757, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "19425:3:172", + "src": "19425:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75728, + "id": 75758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19429:6:172", + "memberLocation": "19429:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "19425:10:172", + "src": "19425:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16048,27 +16048,27 @@ }, { "expression": { - "id": 75729, + "id": 75759, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "19457:15:172", + "referencedDeclaration": 75520, + "src": "19457:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75730, + "id": 75760, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19473:13:172", + "memberLocation": "19473:13:173", "memberName": "signedContext", "nodeType": "MemberAccess", - "referencedDeclaration": 77248, - "src": "19457:29:172", + "referencedDeclaration": 77278, + "src": "19457:29:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -16078,7 +16078,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -16098,18 +16098,18 @@ "typeString": "struct SignedContextV1 memory[] memory" } ], - "id": 75721, + "id": 75751, "name": "calculateOrderIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76653, - "src": "19259:16:172", + "referencedDeclaration": 76683, + "src": "19259:16:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" } }, - "id": 75731, + "id": 75761, "isConstant": false, "isLValue": false, "isPure": false, @@ -16118,15 +16118,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19259:245:172", + "src": "19259:245:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "19212:292:172" + "src": "19212:292:173" }, { "condition": { @@ -16134,34 +16134,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75737, + "id": 75767, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 75733, + "id": 75763, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "19854:18:172", + "referencedDeclaration": 75750, + "src": "19854:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75734, + "id": 75764, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19873:7:172", + "memberLocation": "19873:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "19854:26:172", + "referencedDeclaration": 74994, + "src": "19854:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16171,33 +16171,33 @@ "operator": ">", "rightExpression": { "expression": { - "id": 75735, + "id": 75765, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "19883:6:172", + "referencedDeclaration": 75495, + "src": "19883:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75736, + "id": 75766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19890:14:172", + "memberLocation": "19890:14:173", "memberName": "maximumIORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 77547, - "src": "19883:21:172", + "referencedDeclaration": 77862, + "src": "19883:21:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "19854:50:172", + "src": "19854:50:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16209,7 +16209,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75753, + "id": 75783, "isConstant": false, "isLValue": false, "isPure": false, @@ -16218,29 +16218,29 @@ "arguments": [ { "expression": { - "id": 75749, + "id": 75779, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "20040:18:172", + "referencedDeclaration": 75750, + "src": "20040:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75750, + "id": 75780, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20059:9:172", + "memberLocation": "20059:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "20040:28:172", + "referencedDeclaration": 74992, + "src": "20040:28:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -16248,37 +16248,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 75747, + "id": 75777, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "20018:14:172", + "referencedDeclaration": 75007, + "src": "20018:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75748, + "id": 75778, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20033:6:172", + "memberLocation": "20033:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "20018:21:172", + "src": "20018:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 75751, + "id": 75781, "isConstant": false, "isLValue": false, "isPure": false, @@ -16287,7 +16287,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20018:51:172", + "src": "20018:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16298,45 +16298,45 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75752, + "id": 75782, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20073:1:172", + "src": "20073:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "20018:56:172", + "src": "20018:56:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 75884, + "id": 75914, "nodeType": "Block", - "src": "20179:2323:172", + "src": "20179:2323:173", "statements": [ { "assignments": [ - 75764 + 75794 ], "declarations": [ { "constant": false, - "id": 75764, + "id": 75794, "mutability": "mutable", "name": "takerInputDecimals", - "nameLocation": "20207:18:172", + "nameLocation": "20207:18:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "20201:24:172", + "scope": 75914, + "src": "20201:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16344,10 +16344,10 @@ "typeString": "uint8" }, "typeName": { - "id": 75763, + "id": 75793, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "20201:5:172", + "src": "20201:5:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16356,61 +16356,61 @@ "visibility": "internal" } ], - "id": 75771, + "id": 75801, "initialValue": { "expression": { "baseExpression": { "expression": { - "id": 75765, + "id": 75795, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "20228:5:172", + "referencedDeclaration": 75524, + "src": "20228:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75766, + "id": 75796, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20234:12:172", + "memberLocation": "20234:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "20228:18:172", + "referencedDeclaration": 77251, + "src": "20228:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75769, + "id": 75799, "indexExpression": { "expression": { - "id": 75767, + "id": 75797, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "20247:15:172", + "referencedDeclaration": 75520, + "src": "20247:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75768, + "id": 75798, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20263:13:172", + "memberLocation": "20263:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "20247:29:172", + "referencedDeclaration": 77274, + "src": "20247:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16421,103 +16421,103 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20228:49:172", + "src": "20228:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75770, + "id": 75800, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20278:8:172", + "memberLocation": "20278:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "20228:58:172", + "referencedDeclaration": 77219, + "src": "20228:58:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "20201:85:172" + "src": "20201:85:173" }, { "assignments": [ - 75774 + 75804 ], "declarations": [ { "constant": false, - "id": 75774, + "id": 75804, "mutability": "mutable", "name": "takerInput18", - "nameLocation": "20397:12:172", + "nameLocation": "20397:12:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "20383:26:172", + "scope": 75914, + "src": "20383:26:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 75773, + "id": 75803, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75772, + "id": 75802, "name": "Input18Amount", "nameLocations": [ - "20383:13:172" + "20383:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "20383:13:172" + "referencedDeclaration": 75009, + "src": "20383:13:173" }, - "referencedDeclaration": 74979, - "src": "20383:13:172", + "referencedDeclaration": 75009, + "src": "20383:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 75783, + "id": 75813, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 75779, + "id": 75809, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "20453:18:172", + "referencedDeclaration": 75750, + "src": "20453:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75780, + "id": 75810, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20472:9:172", + "memberLocation": "20472:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "20453:28:172", + "referencedDeclaration": 74992, + "src": "20453:28:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -16525,37 +16525,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 75777, + "id": 75807, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "20431:14:172", + "referencedDeclaration": 75007, + "src": "20431:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75778, + "id": 75808, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20446:6:172", + "memberLocation": "20446:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "20431:21:172", + "src": "20431:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 75781, + "id": 75811, "isConstant": false, "isLValue": false, "isPure": false, @@ -16564,7 +16564,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20431:51:172", + "src": "20431:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16580,32 +16580,32 @@ } ], "expression": { - "id": 75775, + "id": 75805, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "20412:13:172", + "referencedDeclaration": 75009, + "src": "20412:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75776, + "id": 75806, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20426:4:172", + "memberLocation": "20426:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "20412:18:172", + "src": "20412:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 75782, + "id": 75812, "isConstant": false, "isLValue": false, "isPure": false, @@ -16614,88 +16614,88 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20412:71:172", + "src": "20412:71:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "20383:100:172" + "src": "20383:100:173" }, { - "id": 75811, + "id": 75841, "nodeType": "Block", - "src": "20784:506:172", + "src": "20784:506:173", "statements": [ { "assignments": [ - 75786 + 75816 ], "declarations": [ { "constant": false, - "id": 75786, + "id": 75816, "mutability": "mutable", "name": "remainingTakerInput18", - "nameLocation": "20929:21:172", + "nameLocation": "20929:21:173", "nodeType": "VariableDeclaration", - "scope": 75811, - "src": "20915:35:172", + "scope": 75841, + "src": "20915:35:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 75785, + "id": 75815, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75784, + "id": 75814, "name": "Input18Amount", "nameLocations": [ - "20915:13:172" + "20915:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "20915:13:172" + "referencedDeclaration": 75009, + "src": "20915:13:173" }, - "referencedDeclaration": 74979, - "src": "20915:13:172", + "referencedDeclaration": 75009, + "src": "20915:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 75795, + "id": 75825, "initialValue": { "arguments": [ { "arguments": [ { - "id": 75791, + "id": 75821, "name": "takerInputDecimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75764, - "src": "21028:18:172", + "referencedDeclaration": 75794, + "src": "21028:18:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 75792, + "id": 75822, "name": "FLAG_SATURATE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71249, - "src": "21048:13:172", + "referencedDeclaration": 71279, + "src": "21048:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16714,33 +16714,33 @@ } ], "expression": { - "id": 75789, + "id": 75819, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "21000:19:172", + "referencedDeclaration": 75527, + "src": "21000:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75790, + "id": 75820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21020:7:172", + "memberLocation": "21020:7:173", "memberName": "scale18", "nodeType": "MemberAccess", - "referencedDeclaration": 71561, - "src": "21000:27:172", + "referencedDeclaration": 71591, + "src": "21000:27:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 75793, + "id": 75823, "isConstant": false, "isLValue": false, "isPure": false, @@ -16749,7 +16749,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21000:62:172", + "src": "21000:62:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16765,32 +16765,32 @@ } ], "expression": { - "id": 75787, + "id": 75817, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "20981:13:172", + "referencedDeclaration": 75009, + "src": "20981:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75788, + "id": 75818, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20995:4:172", + "memberLocation": "20995:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "20981:18:172", + "src": "20981:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 75794, + "id": 75824, "isConstant": false, "isLValue": false, "isPure": false, @@ -16799,15 +16799,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20981:82:172", + "src": "20981:82:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "20915:148:172" + "src": "20915:148:173" }, { "condition": { @@ -16815,7 +16815,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75804, + "id": 75834, "isConstant": false, "isLValue": false, "isPure": false, @@ -16823,14 +16823,14 @@ "leftExpression": { "arguments": [ { - "id": 75798, + "id": 75828, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "21114:12:172", + "referencedDeclaration": 75804, + "src": "21114:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -16838,37 +16838,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75796, + "id": 75826, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "21093:13:172", + "referencedDeclaration": 75009, + "src": "21093:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75797, + "id": 75827, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21107:6:172", + "memberLocation": "21107:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21093:20:172", + "src": "21093:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75799, + "id": 75829, "isConstant": false, "isLValue": false, "isPure": false, @@ -16877,7 +16877,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21093:34:172", + "src": "21093:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16889,14 +16889,14 @@ "rightExpression": { "arguments": [ { - "id": 75802, + "id": 75832, "name": "remainingTakerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75786, - "src": "21151:21:172", + "referencedDeclaration": 75816, + "src": "21151:21:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -16904,37 +16904,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75800, + "id": 75830, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "21130:13:172", + "referencedDeclaration": 75009, + "src": "21130:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75801, + "id": 75831, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21144:6:172", + "memberLocation": "21144:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21130:20:172", + "src": "21130:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75803, + "id": 75833, "isConstant": false, "isLValue": false, "isPure": false, @@ -16943,69 +16943,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21130:43:172", + "src": "21130:43:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21093:80:172", + "src": "21093:80:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75810, + "id": 75840, "nodeType": "IfStatement", - "src": "21089:179:172", + "src": "21089:179:173", "trueBody": { - "id": 75809, + "id": 75839, "nodeType": "Block", - "src": "21175:93:172", + "src": "21175:93:173", "statements": [ { "expression": { - "id": 75807, + "id": 75837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75805, + "id": 75835, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "21205:12:172", + "referencedDeclaration": 75804, + "src": "21205:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 75806, + "id": 75836, "name": "remainingTakerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75786, - "src": "21220:21:172", + "referencedDeclaration": 75816, + "src": "21220:21:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, - "src": "21205:36:172", + "src": "21205:36:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, - "id": 75808, + "id": 75838, "nodeType": "ExpressionStatement", - "src": "21205:36:172" + "src": "21205:36:173" } ] } @@ -17014,18 +17014,18 @@ }, { "assignments": [ - 75813 + 75843 ], "declarations": [ { "constant": false, - "id": 75813, + "id": 75843, "mutability": "mutable", "name": "takerOutput", - "nameLocation": "21320:11:172", + "nameLocation": "21320:11:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "21312:19:172", + "scope": 75914, + "src": "21312:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17033,10 +17033,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75812, + "id": 75842, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "21312:7:172", + "src": "21312:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17045,86 +17045,86 @@ "visibility": "internal" } ], - "id": 75814, + "id": 75844, "nodeType": "VariableDeclarationStatement", - "src": "21312:19:172" + "src": "21312:19:173" }, { - "id": 75849, + "id": 75879, "nodeType": "Block", - "src": "21353:724:172", + "src": "21353:724:173", "statements": [ { "assignments": [ - 75817 + 75847 ], "declarations": [ { "constant": false, - "id": 75817, + "id": 75847, "mutability": "mutable", "name": "takerOutput18", - "nameLocation": "21477:13:172", + "nameLocation": "21477:13:173", "nodeType": "VariableDeclaration", - "scope": 75849, - "src": "21462:28:172", + "scope": 75879, + "src": "21462:28:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 75816, + "id": 75846, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75815, + "id": 75845, "name": "Output18Amount", "nameLocations": [ - "21462:14:172" + "21462:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "21462:14:172" + "referencedDeclaration": 75007, + "src": "21462:14:173" }, - "referencedDeclaration": 74977, - "src": "21462:14:172", + "referencedDeclaration": 75007, + "src": "21462:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 75832, + "id": 75862, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 75825, + "id": 75855, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "21744:18:172", + "referencedDeclaration": 75750, + "src": "21744:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75826, + "id": 75856, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "21763:7:172", + "memberLocation": "21763:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "21744:26:172", + "referencedDeclaration": 74994, + "src": "21744:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17133,42 +17133,42 @@ { "expression": { "expression": { - "id": 75827, + "id": 75857, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "21772:4:172", + "src": "21772:4:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", "typeString": "type(library Math)" } }, - "id": 75828, + "id": 75858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21777:8:172", + "memberLocation": "21777:8:173", "memberName": "Rounding", "nodeType": "MemberAccess", "referencedDeclaration": 45957, - "src": "21772:13:172", + "src": "21772:13:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 75829, + "id": 75859, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21786:2:172", + "memberLocation": "21786:2:173", "memberName": "Up", "nodeType": "MemberAccess", "referencedDeclaration": 45955, - "src": "21772:16:172", + "src": "21772:16:173", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$45957", "typeString": "enum Math.Rounding" @@ -17189,14 +17189,14 @@ "expression": { "arguments": [ { - "id": 75822, + "id": 75852, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "21683:12:172", + "referencedDeclaration": 75804, + "src": "21683:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -17204,37 +17204,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75820, + "id": 75850, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "21662:13:172", + "referencedDeclaration": 75009, + "src": "21662:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75821, + "id": 75851, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21676:6:172", + "memberLocation": "21676:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21662:20:172", + "src": "21662:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75823, + "id": 75853, "isConstant": false, "isLValue": false, "isPure": false, @@ -17243,29 +17243,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21662:34:172", + "src": "21662:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75824, + "id": 75854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21697:13:172", + "memberLocation": "21697:13:173", "memberName": "fixedPointMul", "nodeType": "MemberAccess", - "referencedDeclaration": 71288, - "src": "21662:48:172", + "referencedDeclaration": 71318, + "src": "21662:48:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" } }, - "id": 75830, + "id": 75860, "isConstant": false, "isLValue": false, "isPure": false, @@ -17274,7 +17274,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21662:156:172", + "src": "21662:156:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17290,32 +17290,32 @@ } ], "expression": { - "id": 75818, + "id": 75848, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "21493:14:172", + "referencedDeclaration": 75007, + "src": "21493:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75819, + "id": 75849, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21508:4:172", + "memberLocation": "21508:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "21493:19:172", + "src": "21493:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 75831, + "id": 75861, "isConstant": false, "isLValue": false, "isPure": false, @@ -17324,30 +17324,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21493:351:172", + "src": "21493:351:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "21462:382:172" + "src": "21462:382:173" }, { "expression": { - "id": 75847, + "id": 75877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75833, + "id": 75863, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "21870:11:172", + "referencedDeclaration": 75843, + "src": "21870:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17361,56 +17361,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75839, + "id": 75869, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "21957:5:172", + "referencedDeclaration": 75524, + "src": "21957:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75840, + "id": 75870, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "21963:11:172", + "memberLocation": "21963:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "21957:17:172", + "referencedDeclaration": 77247, + "src": "21957:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75843, + "id": 75873, "indexExpression": { "expression": { - "id": 75841, + "id": 75871, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "21975:15:172", + "referencedDeclaration": 75520, + "src": "21975:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75842, + "id": 75872, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "21991:12:172", + "memberLocation": "21991:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "21975:28:172", + "referencedDeclaration": 77272, + "src": "21975:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17421,34 +17421,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21957:47:172", + "src": "21957:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75844, + "id": 75874, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "22005:8:172", + "memberLocation": "22005:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "21957:56:172", + "referencedDeclaration": 77219, + "src": "21957:56:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 75845, + "id": 75875, "name": "FLAG_ROUND_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71243, - "src": "22015:13:172", + "referencedDeclaration": 71273, + "src": "22015:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17469,14 +17469,14 @@ "expression": { "arguments": [ { - "id": 75836, + "id": 75866, "name": "takerOutput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75817, - "src": "21906:13:172", + "referencedDeclaration": 75847, + "src": "21906:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -17484,37 +17484,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 75834, + "id": 75864, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "21884:14:172", + "referencedDeclaration": 75007, + "src": "21884:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75835, + "id": 75865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21899:6:172", + "memberLocation": "21899:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21884:21:172", + "src": "21884:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 75837, + "id": 75867, "isConstant": false, "isLValue": false, "isPure": false, @@ -17523,29 +17523,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21884:36:172", + "src": "21884:36:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75838, + "id": 75868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21921:6:172", + "memberLocation": "21921:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "21884:43:172", + "referencedDeclaration": 71666, + "src": "21884:43:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 75846, + "id": 75876, "isConstant": false, "isLValue": false, "isPure": false, @@ -17554,39 +17554,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21884:170:172", + "src": "21884:170:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21870:184:172", + "src": "21870:184:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75848, + "id": 75878, "nodeType": "ExpressionStatement", - "src": "21870:184:172" + "src": "21870:184:173" } ] }, { "assignments": [ - 75851 + 75881 ], "declarations": [ { "constant": false, - "id": 75851, + "id": 75881, "mutability": "mutable", "name": "takerInput", - "nameLocation": "22107:10:172", + "nameLocation": "22107:10:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "22099:18:172", + "scope": 75914, + "src": "22099:18:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17594,10 +17594,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75850, + "id": 75880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22099:7:172", + "src": "22099:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17606,28 +17606,28 @@ "visibility": "internal" } ], - "id": 75860, + "id": 75890, "initialValue": { "arguments": [ { - "id": 75857, + "id": 75887, "name": "takerInputDecimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75764, - "src": "22162:18:172", + "referencedDeclaration": 75794, + "src": "22162:18:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 75858, + "id": 75888, "name": "FLAG_SATURATE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71249, - "src": "22182:13:172", + "referencedDeclaration": 71279, + "src": "22182:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17648,14 +17648,14 @@ "expression": { "arguments": [ { - "id": 75854, + "id": 75884, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "22141:12:172", + "referencedDeclaration": 75804, + "src": "22141:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -17663,37 +17663,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75852, + "id": 75882, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "22120:13:172", + "referencedDeclaration": 75009, + "src": "22120:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75853, + "id": 75883, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "22134:6:172", + "memberLocation": "22134:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "22120:20:172", + "src": "22120:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75855, + "id": 75885, "isConstant": false, "isLValue": false, "isPure": false, @@ -17702,29 +17702,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22120:34:172", + "src": "22120:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75856, + "id": 75886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22155:6:172", + "memberLocation": "22155:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "22120:41:172", + "referencedDeclaration": 71666, + "src": "22120:41:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 75859, + "id": 75889, "isConstant": false, "isLValue": false, "isPure": false, @@ -17733,7 +17733,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22120:76:172", + "src": "22120:76:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17741,22 +17741,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "22099:97:172" + "src": "22099:97:173" }, { "expression": { - "id": 75863, + "id": 75893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75861, + "id": 75891, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "22219:19:172", + "referencedDeclaration": 75527, + "src": "22219:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17765,41 +17765,41 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 75862, + "id": 75892, "name": "takerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75851, - "src": "22242:10:172", + "referencedDeclaration": 75881, + "src": "22242:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22219:33:172", + "src": "22219:33:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75864, + "id": 75894, "nodeType": "ExpressionStatement", - "src": "22219:33:172" + "src": "22219:33:173" }, { "expression": { - "id": 75867, + "id": 75897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75865, + "id": 75895, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "22274:16:172", + "referencedDeclaration": 75502, + "src": "22274:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17808,75 +17808,75 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 75866, + "id": 75896, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "22294:11:172", + "referencedDeclaration": 75843, + "src": "22294:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22274:31:172", + "src": "22274:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75868, + "id": 75898, "nodeType": "ExpressionStatement", - "src": "22274:31:172" + "src": "22274:31:173" }, { "expression": { "arguments": [ { - "id": 75870, + "id": 75900, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "22342:5:172", + "referencedDeclaration": 75524, + "src": "22342:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 75871, + "id": 75901, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "22349:11:172", + "referencedDeclaration": 75843, + "src": "22349:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75872, + "id": 75902, "name": "takerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75851, - "src": "22362:10:172", + "referencedDeclaration": 75881, + "src": "22362:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75873, + "id": 75903, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "22374:18:172", + "referencedDeclaration": 75750, + "src": "22374:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -17884,7 +17884,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -17896,22 +17896,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 75869, + "id": 75899, "name": "recordVaultIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76830, - "src": "22328:13:172", + "referencedDeclaration": 76860, + "src": "22328:13:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" } }, - "id": 75874, + "id": 75904, "isConstant": false, "isLValue": false, "isPure": false, @@ -17920,78 +17920,78 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22328:65:172", + "src": "22328:65:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75875, + "id": 75905, "nodeType": "ExpressionStatement", - "src": "22328:65:172" + "src": "22328:65:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75877, + "id": 75907, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "22430:3:172", + "src": "22430:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75878, + "id": 75908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22434:6:172", + "memberLocation": "22434:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "22430:10:172", + "src": "22430:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75879, + "id": 75909, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "22442:15:172", + "referencedDeclaration": 75520, + "src": "22442:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, { - "id": 75880, + "id": 75910, "name": "takerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75851, - "src": "22459:10:172", + "referencedDeclaration": 75881, + "src": "22459:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75881, + "id": 75911, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "22471:11:172", + "referencedDeclaration": 75843, + "src": "22471:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18005,7 +18005,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" }, { @@ -18017,18 +18017,18 @@ "typeString": "uint256" } ], - "id": 75876, + "id": 75906, "name": "TakeOrder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77656, - "src": "22420:9:172", + "referencedDeclaration": 77971, + "src": "22420:9:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77249_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77279_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" } }, - "id": 75882, + "id": 75912, "isConstant": false, "isLValue": false, "isPure": false, @@ -18037,52 +18037,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22420:63:172", + "src": "22420:63:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75883, + "id": 75913, "nodeType": "EmitStatement", - "src": "22415:68:172" + "src": "22415:68:173" } ] }, - "id": 75885, + "id": 75915, "nodeType": "IfStatement", - "src": "20014:2488:172", + "src": "20014:2488:173", "trueBody": { - "id": 75762, + "id": 75792, "nodeType": "Block", - "src": "20076:97:172", + "src": "20076:97:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 75755, + "id": 75785, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "20119:3:172", + "src": "20119:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75756, + "id": 75786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "20123:6:172", + "memberLocation": "20123:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "20119:10:172", + "src": "20119:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18090,39 +18090,39 @@ }, { "expression": { - "id": 75757, + "id": 75787, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "20131:5:172", + "referencedDeclaration": 75524, + "src": "20131:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75758, + "id": 75788, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20137:5:172", + "memberLocation": "20137:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "20131:11:172", + "referencedDeclaration": 77238, + "src": "20131:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75759, + "id": 75789, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "20144:9:172", + "referencedDeclaration": 75729, + "src": "20144:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18144,18 +18144,18 @@ "typeString": "bytes32" } ], - "id": 75754, + "id": 75784, "name": "OrderZeroAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77674, - "src": "20103:15:172", + "referencedDeclaration": 77989, + "src": "20103:15:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 75760, + "id": 75790, "isConstant": false, "isLValue": false, "isPure": false, @@ -18164,53 +18164,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20103:51:172", + "src": "20103:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75761, + "id": 75791, "nodeType": "EmitStatement", - "src": "20098:56:172" + "src": "20098:56:173" } ] } }, - "id": 75886, + "id": 75916, "nodeType": "IfStatement", - "src": "19850:2652:172", + "src": "19850:2652:173", "trueBody": { - "id": 75746, + "id": 75776, "nodeType": "Block", - "src": "19906:102:172", + "src": "19906:102:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 75739, + "id": 75769, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "19954:3:172", + "src": "19954:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75740, + "id": 75770, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19958:6:172", + "memberLocation": "19958:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "19954:10:172", + "src": "19954:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18218,39 +18218,39 @@ }, { "expression": { - "id": 75741, + "id": 75771, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19966:5:172", + "referencedDeclaration": 75524, + "src": "19966:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75742, + "id": 75772, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19972:5:172", + "memberLocation": "19972:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "19966:11:172", + "referencedDeclaration": 77238, + "src": "19966:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75743, + "id": 75773, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "19979:9:172", + "referencedDeclaration": 75729, + "src": "19979:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18272,18 +18272,18 @@ "typeString": "bytes32" } ], - "id": 75738, + "id": 75768, "name": "OrderExceedsMaxRatio", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77683, - "src": "19933:20:172", + "referencedDeclaration": 77998, + "src": "19933:20:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 75744, + "id": 75774, "isConstant": false, "isLValue": false, "isPure": false, @@ -18292,55 +18292,55 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19933:56:172", + "src": "19933:56:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75745, + "id": 75775, "nodeType": "EmitStatement", - "src": "19928:61:172" + "src": "19928:61:173" } ] } } ] }, - "id": 75888, + "id": 75918, "nodeType": "IfStatement", - "src": "19063:3453:172", + "src": "19063:3453:173", "trueBody": { - "id": 75717, + "id": 75747, "nodeType": "Block", - "src": "19101:87:172", + "src": "19101:87:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 75710, + "id": 75740, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "19138:3:172", + "src": "19138:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75711, + "id": 75741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19142:6:172", + "memberLocation": "19142:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "19138:10:172", + "src": "19138:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18348,39 +18348,39 @@ }, { "expression": { - "id": 75712, + "id": 75742, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19150:5:172", + "referencedDeclaration": 75524, + "src": "19150:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75713, + "id": 75743, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19156:5:172", + "memberLocation": "19156:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "19150:11:172", + "referencedDeclaration": 77238, + "src": "19150:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75714, + "id": 75744, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "19163:9:172", + "referencedDeclaration": 75729, + "src": "19163:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18402,18 +18402,18 @@ "typeString": "bytes32" } ], - "id": 75709, + "id": 75739, "name": "OrderNotFound", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77665, - "src": "19124:13:172", + "referencedDeclaration": 77980, + "src": "19124:13:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 75715, + "id": 75745, "isConstant": false, "isLValue": false, "isPure": false, @@ -18422,28 +18422,28 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19124:49:172", + "src": "19124:49:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75716, + "id": 75746, "nodeType": "EmitStatement", - "src": "19119:54:172" + "src": "19119:54:173" } ] } }, { - "id": 75892, + "id": 75922, "nodeType": "UncheckedBlock", - "src": "22530:46:172", + "src": "22530:46:173", "statements": [ { "expression": { - "id": 75890, + "id": 75920, "isConstant": false, "isLValue": false, "isPure": false, @@ -18451,14 +18451,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "22558:3:172", + "src": "22558:3:173", "subExpression": { - "id": 75889, + "id": 75919, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75485, - "src": "22558:1:172", + "referencedDeclaration": 75515, + "src": "22558:1:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18469,9 +18469,9 @@ "typeString": "uint256" } }, - "id": 75891, + "id": 75921, "nodeType": "ExpressionStatement", - "src": "22558:3:172" + "src": "22558:3:173" } ] } @@ -18482,7 +18482,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 75509, + "id": 75539, "isConstant": false, "isLValue": false, "isPure": false, @@ -18492,18 +18492,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75505, + "id": 75535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75501, + "id": 75531, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75485, - "src": "16818:1:172", + "referencedDeclaration": 75515, + "src": "16818:1:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18514,47 +18514,47 @@ "rightExpression": { "expression": { "expression": { - "id": 75502, + "id": 75532, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16822:6:172", + "referencedDeclaration": 75495, + "src": "16822:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75503, + "id": 75533, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16829:6:172", + "memberLocation": "16829:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "16822:13:172", + "referencedDeclaration": 77866, + "src": "16822:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75504, + "id": 75534, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16836:6:172", + "memberLocation": "16836:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "16822:20:172", + "src": "16822:20:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16818:24:172", + "src": "16818:24:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18567,18 +18567,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75508, + "id": 75538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75506, + "id": 75536, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "16846:19:172", + "referencedDeclaration": 75527, + "src": "16846:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18588,50 +18588,50 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75507, + "id": 75537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16868:1:172", + "src": "16868:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "16846:23:172", + "src": "16846:23:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16818:51:172", + "src": "16818:51:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75894, + "id": 75924, "nodeType": "WhileStatement", - "src": "16811:5775:172" + "src": "16811:5775:173" }, { "expression": { - "id": 75900, + "id": 75930, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75895, + "id": 75925, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "22595:15:172", + "referencedDeclaration": 75500, + "src": "22595:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18644,34 +18644,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75899, + "id": 75929, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 75896, + "id": 75926, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "22613:6:172", + "referencedDeclaration": 75495, + "src": "22613:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75897, + "id": 75927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22620:12:172", + "memberLocation": "22620:12:173", "memberName": "maximumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77545, - "src": "22613:19:172", + "referencedDeclaration": 77860, + "src": "22613:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18680,32 +18680,32 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 75898, + "id": 75928, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "22635:19:172", + "referencedDeclaration": 75527, + "src": "22635:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22613:41:172", + "src": "22613:41:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22595:59:172", + "src": "22595:59:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75901, + "id": 75931, "nodeType": "ExpressionStatement", - "src": "22595:59:172" + "src": "22595:59:173" }, { "condition": { @@ -18713,18 +18713,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75905, + "id": 75935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75902, + "id": 75932, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "22669:15:172", + "referencedDeclaration": 75500, + "src": "22669:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18734,84 +18734,84 @@ "operator": "<", "rightExpression": { "expression": { - "id": 75903, + "id": 75933, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "22687:6:172", + "referencedDeclaration": 75495, + "src": "22687:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75904, + "id": 75934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22694:12:172", + "memberLocation": "22694:12:173", "memberName": "minimumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77543, - "src": "22687:19:172", + "referencedDeclaration": 77858, + "src": "22687:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22669:37:172", + "src": "22669:37:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75913, + "id": 75943, "nodeType": "IfStatement", - "src": "22665:125:172", + "src": "22665:125:173", "trueBody": { - "id": 75912, + "id": 75942, "nodeType": "Block", - "src": "22708:82:172", + "src": "22708:82:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75907, + "id": 75937, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "22742:6:172", + "referencedDeclaration": 75495, + "src": "22742:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75908, + "id": 75938, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22749:12:172", + "memberLocation": "22749:12:173", "memberName": "minimumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77543, - "src": "22742:19:172", + "referencedDeclaration": 77858, + "src": "22742:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75909, + "id": 75939, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "22763:15:172", + "referencedDeclaration": 75500, + "src": "22763:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18829,18 +18829,18 @@ "typeString": "uint256" } ], - "id": 75906, + "id": 75936, "name": "MinimumInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74854, - "src": "22729:12:172", + "referencedDeclaration": 74884, + "src": "22729:12:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256) pure" } }, - "id": 75910, + "id": 75940, "isConstant": false, "isLValue": false, "isPure": false, @@ -18849,34 +18849,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22729:50:172", + "src": "22729:50:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75911, + "id": 75941, "nodeType": "RevertStatement", - "src": "22722:57:172" + "src": "22722:57:173" } ] } }, { "assignments": [ - 75915 + 75945 ], "declarations": [ { "constant": false, - "id": 75915, + "id": 75945, "mutability": "mutable", "name": "takerInputAmountSent", - "nameLocation": "23580:20:172", + "nameLocation": "23580:20:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "23572:28:172", + "scope": 76039, + "src": "23572:28:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18884,10 +18884,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75914, + "id": 75944, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23572:7:172", + "src": "23572:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18896,7 +18896,7 @@ "visibility": "internal" } ], - "id": 75934, + "id": 75964, "initialValue": { "arguments": [ { @@ -18906,43 +18906,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75917, + "id": 75947, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23648:6:172", + "referencedDeclaration": 75495, + "src": "23648:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75918, + "id": 75948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23655:6:172", + "memberLocation": "23655:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23648:13:172", + "referencedDeclaration": 77866, + "src": "23648:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75920, + "id": 75950, "indexExpression": { "hexValue": "30", - "id": 75919, + "id": 75949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23662:1:172", + "src": "23662:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -18954,84 +18954,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23648:16:172", + "src": "23648:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75921, + "id": 75951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23665:5:172", + "memberLocation": "23665:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "23648:22:172", + "referencedDeclaration": 77270, + "src": "23648:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75922, + "id": 75952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23671:12:172", + "memberLocation": "23671:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "23648:35:172", + "referencedDeclaration": 77251, + "src": "23648:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75928, + "id": 75958, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75923, + "id": 75953, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23684:6:172", + "referencedDeclaration": 75495, + "src": "23684:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75924, + "id": 75954, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23691:6:172", + "memberLocation": "23691:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23684:13:172", + "referencedDeclaration": 77866, + "src": "23684:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75926, + "id": 75956, "indexExpression": { "hexValue": "30", - "id": 75925, + "id": 75955, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23698:1:172", + "src": "23698:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19043,22 +19043,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23684:16:172", + "src": "23684:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75927, + "id": 75957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23701:13:172", + "memberLocation": "23701:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "23684:30:172", + "referencedDeclaration": 77274, + "src": "23684:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19069,22 +19069,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23648:67:172", + "src": "23648:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75929, + "id": 75959, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23716:5:172", + "memberLocation": "23716:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "23648:73:172", + "referencedDeclaration": 77217, + "src": "23648:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19092,38 +19092,38 @@ }, { "expression": { - "id": 75930, + "id": 75960, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "23723:3:172", + "src": "23723:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75931, + "id": 75961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23727:6:172", + "memberLocation": "23727:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "23723:10:172", + "src": "23723:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75932, + "id": 75962, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "23735:15:172", + "referencedDeclaration": 75500, + "src": "23735:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19145,18 +19145,18 @@ "typeString": "uint256" } ], - "id": 75916, + "id": 75946, "name": "_decreaseFlashDebtThenSendToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74350, - "src": "23603:31:172", + "referencedDeclaration": 74380, + "src": "23603:31:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,address,uint256) returns (uint256)" } }, - "id": 75933, + "id": 75963, "isConstant": false, "isLValue": false, "isPure": false, @@ -19165,7 +19165,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "23603:157:172", + "src": "23603:157:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19173,7 +19173,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "23572:188:172" + "src": "23572:188:173" }, { "condition": { @@ -19181,7 +19181,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75939, + "id": 75969, "isConstant": false, "isLValue": false, "isPure": false, @@ -19189,41 +19189,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75935, + "id": 75965, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23774:6:172", + "referencedDeclaration": 75495, + "src": "23774:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75936, + "id": 75966, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23781:4:172", + "memberLocation": "23781:4:173", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 77553, - "src": "23774:11:172", + "referencedDeclaration": 77868, + "src": "23774:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "id": 75937, + "id": 75967, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23786:6:172", + "memberLocation": "23786:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "23774:18:172", + "src": "23774:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19233,33 +19233,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75938, + "id": 75968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23795:1:172", + "src": "23795:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "23774:22:172", + "src": "23774:22:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75978, + "id": 76008, "nodeType": "IfStatement", - "src": "23770:395:172", + "src": "23770:395:173", "trueBody": { - "id": 75977, + "id": 76007, "nodeType": "Block", - "src": "23798:367:172", + "src": "23798:367:173", "statements": [ { "expression": { @@ -19271,43 +19271,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75945, + "id": 75975, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23877:6:172", + "referencedDeclaration": 75495, + "src": "23877:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75946, + "id": 75976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23884:6:172", + "memberLocation": "23884:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23877:13:172", + "referencedDeclaration": 77866, + "src": "23877:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75948, + "id": 75978, "indexExpression": { "hexValue": "30", - "id": 75947, + "id": 75977, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23891:1:172", + "src": "23891:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19319,84 +19319,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23877:16:172", + "src": "23877:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75949, + "id": 75979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23894:5:172", + "memberLocation": "23894:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "23877:22:172", + "referencedDeclaration": 77270, + "src": "23877:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75950, + "id": 75980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23900:12:172", + "memberLocation": "23900:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "23877:35:172", + "referencedDeclaration": 77251, + "src": "23877:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75956, + "id": 75986, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75951, + "id": 75981, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23913:6:172", + "referencedDeclaration": 75495, + "src": "23913:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75952, + "id": 75982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23920:6:172", + "memberLocation": "23920:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23913:13:172", + "referencedDeclaration": 77866, + "src": "23913:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75954, + "id": 75984, "indexExpression": { "hexValue": "30", - "id": 75953, + "id": 75983, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23927:1:172", + "src": "23927:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19408,22 +19408,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23913:16:172", + "src": "23913:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75955, + "id": 75985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23930:13:172", + "memberLocation": "23930:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "23913:30:172", + "referencedDeclaration": 77274, + "src": "23913:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19434,22 +19434,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23877:67:172", + "src": "23877:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75957, + "id": 75987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23945:5:172", + "memberLocation": "23945:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "23877:73:172", + "referencedDeclaration": 77217, + "src": "23877:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19462,43 +19462,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75958, + "id": 75988, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23968:6:172", + "referencedDeclaration": 75495, + "src": "23968:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75959, + "id": 75989, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23975:6:172", + "memberLocation": "23975:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23968:13:172", + "referencedDeclaration": 77866, + "src": "23968:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75961, + "id": 75991, "indexExpression": { "hexValue": "30", - "id": 75960, + "id": 75990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23982:1:172", + "src": "23982:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19510,84 +19510,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23968:16:172", + "src": "23968:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75962, + "id": 75992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23985:5:172", + "memberLocation": "23985:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "23968:22:172", + "referencedDeclaration": 77270, + "src": "23968:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75963, + "id": 75993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23991:11:172", + "memberLocation": "23991:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23968:34:172", + "referencedDeclaration": 77247, + "src": "23968:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75969, + "id": 75999, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75964, + "id": 75994, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24003:6:172", + "referencedDeclaration": 75495, + "src": "24003:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75965, + "id": 75995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24010:6:172", + "memberLocation": "24010:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "24003:13:172", + "referencedDeclaration": 77866, + "src": "24003:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75967, + "id": 75997, "indexExpression": { "hexValue": "30", - "id": 75966, + "id": 75996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24017:1:172", + "src": "24017:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19599,22 +19599,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24003:16:172", + "src": "24003:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75968, + "id": 75998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24020:12:172", + "memberLocation": "24020:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "24003:29:172", + "referencedDeclaration": 77272, + "src": "24003:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19625,46 +19625,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23968:65:172", + "src": "23968:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75970, + "id": 76000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24034:5:172", + "memberLocation": "24034:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "23968:71:172", + "referencedDeclaration": 77217, + "src": "23968:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75971, + "id": 76001, "name": "takerInputAmountSent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75915, - "src": "24057:20:172", + "referencedDeclaration": 75945, + "src": "24057:20:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75972, + "id": 76002, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "24095:16:172", + "referencedDeclaration": 75502, + "src": "24095:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19672,27 +19672,27 @@ }, { "expression": { - "id": 75973, + "id": 76003, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24129:6:172", + "referencedDeclaration": 75495, + "src": "24129:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75974, + "id": 76004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24136:4:172", + "memberLocation": "24136:4:173", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 77553, - "src": "24129:11:172", + "referencedDeclaration": 77868, + "src": "24129:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -19726,26 +19726,26 @@ "arguments": [ { "expression": { - "id": 75941, + "id": 75971, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "23835:3:172", + "src": "23835:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75942, + "id": 75972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23839:6:172", + "memberLocation": "23839:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "23835:10:172", + "src": "23835:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19759,18 +19759,18 @@ "typeString": "address" } ], - "id": 75940, + "id": 75970, "name": "IOrderBookV3OrderTaker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77828, - "src": "23812:22:172", + "referencedDeclaration": 78143, + "src": "23812:22:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$77828_$", + "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$78143_$", "typeString": "type(contract IOrderBookV3OrderTaker)" } }, - "id": 75943, + "id": 75973, "isConstant": false, "isLValue": false, "isPure": false, @@ -19779,29 +19779,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "23812:34:172", + "src": "23812:34:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$77828", + "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$78143", "typeString": "contract IOrderBookV3OrderTaker" } }, - "id": 75944, + "id": 75974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23847:12:172", + "memberLocation": "23847:12:173", "memberName": "onTakeOrders", "nodeType": "MemberAccess", - "referencedDeclaration": 77827, - "src": "23812:47:172", + "referencedDeclaration": 78142, + "src": "23812:47:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,uint256,bytes memory) external" } }, - "id": 75975, + "id": 76005, "isConstant": false, "isLValue": false, "isPure": false, @@ -19810,16 +19810,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "23812:342:172", + "src": "23812:342:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75976, + "id": 76006, "nodeType": "ExpressionStatement", - "src": "23812:342:172" + "src": "23812:342:173" } ] } @@ -19830,18 +19830,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75981, + "id": 76011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75979, + "id": 76009, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "24179:16:172", + "referencedDeclaration": 75502, + "src": "24179:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19851,59 +19851,59 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75980, + "id": 76010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24198:1:172", + "src": "24198:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "24179:20:172", + "src": "24179:20:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76008, + "id": 76038, "nodeType": "IfStatement", - "src": "24175:469:172", + "src": "24175:469:173", "trueBody": { - "id": 76007, + "id": 76037, "nodeType": "Block", - "src": "24201:443:172", + "src": "24201:443:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 75998, + "id": 76028, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "24576:3:172", + "src": "24576:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75999, + "id": 76029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24580:6:172", + "memberLocation": "24580:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "24576:10:172", + "src": "24576:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19912,14 +19912,14 @@ { "arguments": [ { - "id": 76002, + "id": 76032, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "24596:4:172", + "src": "24596:4:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } } @@ -19927,30 +19927,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } ], - "id": 76001, + "id": 76031, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "24588:7:172", + "src": "24588:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 76000, + "id": 76030, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24588:7:172", + "src": "24588:7:173", "typeDescriptions": {} } }, - "id": 76003, + "id": 76033, "isConstant": false, "isLValue": false, "isPure": false, @@ -19959,7 +19959,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24588:13:172", + "src": "24588:13:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -19967,12 +19967,12 @@ } }, { - "id": 76004, + "id": 76034, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "24603:16:172", + "referencedDeclaration": 75502, + "src": "24603:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20003,43 +20003,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75983, + "id": 76013, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24469:6:172", + "referencedDeclaration": 75495, + "src": "24469:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75984, + "id": 76014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24476:6:172", + "memberLocation": "24476:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "24469:13:172", + "referencedDeclaration": 77866, + "src": "24469:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75986, + "id": 76016, "indexExpression": { "hexValue": "30", - "id": 75985, + "id": 76015, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24483:1:172", + "src": "24483:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -20051,84 +20051,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24469:16:172", + "src": "24469:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75987, + "id": 76017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24486:5:172", + "memberLocation": "24486:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "24469:22:172", + "referencedDeclaration": 77270, + "src": "24469:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75988, + "id": 76018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24492:11:172", + "memberLocation": "24492:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "24469:34:172", + "referencedDeclaration": 77247, + "src": "24469:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75994, + "id": 76024, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75989, + "id": 76019, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24504:6:172", + "referencedDeclaration": 75495, + "src": "24504:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75990, + "id": 76020, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24511:6:172", + "memberLocation": "24511:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "24504:13:172", + "referencedDeclaration": 77866, + "src": "24504:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75992, + "id": 76022, "indexExpression": { "hexValue": "30", - "id": 75991, + "id": 76021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24518:1:172", + "src": "24518:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -20140,22 +20140,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24504:16:172", + "src": "24504:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75993, + "id": 76023, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24521:12:172", + "memberLocation": "24521:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "24504:29:172", + "referencedDeclaration": 77272, + "src": "24504:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20166,22 +20166,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24469:65:172", + "src": "24469:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75995, + "id": 76025, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24535:5:172", + "memberLocation": "24535:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "24469:71:172", + "referencedDeclaration": 77217, + "src": "24469:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20195,18 +20195,18 @@ "typeString": "address" } ], - "id": 75982, + "id": 76012, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44376, - "src": "24462:6:172", + "src": "24462:6:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", "typeString": "type(contract IERC20)" } }, - "id": 75996, + "id": 76026, "isConstant": false, "isLValue": false, "isPure": false, @@ -20215,29 +20215,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24462:79:172", + "src": "24462:79:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$44376", "typeString": "contract IERC20" } }, - "id": 75997, + "id": 76027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24542:16:172", + "memberLocation": "24542:16:173", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 44497, - "src": "24462:96:172", + "src": "24462:96:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 76005, + "id": 76035, "isConstant": false, "isLValue": false, "isPure": false, @@ -20246,16 +20246,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24462:171:172", + "src": "24462:171:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76006, + "id": 76036, "nodeType": "ExpressionStatement", - "src": "24462:171:172" + "src": "24462:171:173" } ] } @@ -20263,12 +20263,12 @@ ] }, "baseFunctions": [ - 77774 + 78089 ], "documentation": { - "id": 75462, + "id": 75492, "nodeType": "StructuredDocumentation", - "src": "16360:28:172", + "src": "16360:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "8a44689c", @@ -20276,81 +20276,81 @@ "kind": "function", "modifiers": [ { - "id": 75468, + "id": 75498, "kind": "modifierInvocation", "modifierName": { - "id": 75467, + "id": 75497, "name": "nonReentrant", "nameLocations": [ - "16474:12:172" + "16474:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "16474:12:172" + "src": "16474:12:173" }, "nodeType": "ModifierInvocation", - "src": "16474:12:172" + "src": "16474:12:173" } ], "name": "takeOrders", - "nameLocation": "16402:10:172", + "nameLocation": "16402:10:173", "parameters": { - "id": 75466, + "id": 75496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75465, + "id": 75495, "mutability": "mutable", "name": "config", - "nameLocation": "16441:6:172", + "nameLocation": "16441:6:173", "nodeType": "VariableDeclaration", - "scope": 76010, - "src": "16413:34:172", + "scope": 76040, + "src": "16413:34:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2" }, "typeName": { - "id": 75464, + "id": 75494, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75463, + "id": 75493, "name": "TakeOrdersConfigV2", "nameLocations": [ - "16413:18:172" + "16413:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77554, - "src": "16413:18:172" + "referencedDeclaration": 77869, + "src": "16413:18:173" }, - "referencedDeclaration": 77554, - "src": "16413:18:172", + "referencedDeclaration": 77869, + "src": "16413:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_storage_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_storage_ptr", "typeString": "struct TakeOrdersConfigV2" } }, "visibility": "internal" } ], - "src": "16412:36:172" + "src": "16412:36:173" }, "returnParameters": { - "id": 75473, + "id": 75503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75470, + "id": 75500, "mutability": "mutable", "name": "totalTakerInput", - "nameLocation": "16512:15:172", + "nameLocation": "16512:15:173", "nodeType": "VariableDeclaration", - "scope": 76010, - "src": "16504:23:172", + "scope": 76040, + "src": "16504:23:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20358,10 +20358,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75469, + "id": 75499, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16504:7:172", + "src": "16504:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20371,13 +20371,13 @@ }, { "constant": false, - "id": 75472, + "id": 75502, "mutability": "mutable", "name": "totalTakerOutput", - "nameLocation": "16537:16:172", + "nameLocation": "16537:16:173", "nodeType": "VariableDeclaration", - "scope": 76010, - "src": "16529:24:172", + "scope": 76040, + "src": "16529:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20385,10 +20385,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75471, + "id": 75501, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16529:7:172", + "src": "16529:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20397,28 +20397,28 @@ "visibility": "internal" } ], - "src": "16503:51:172" + "src": "16503:51:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 76336, + "id": 76366, "nodeType": "FunctionDefinition", - "src": "24689:4247:172", + "src": "24689:4247:173", "nodes": [], "body": { - "id": 76335, + "id": 76365, "nodeType": "Block", - "src": "24932:4004:172", + "src": "24932:4004:173", "nodes": [], "statements": [ { - "id": 76213, + "id": 76243, "nodeType": "Block", - "src": "24942:2410:172", + "src": "24942:2410:173", "statements": [ { "condition": { @@ -20426,34 +20426,34 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 76037, + "id": 76067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76033, + "id": 76063, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "24960:5:172", + "referencedDeclaration": 76044, + "src": "24960:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76034, + "id": 76064, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "24966:5:172", + "memberLocation": "24966:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "24960:11:172", + "referencedDeclaration": 77238, + "src": "24960:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20463,72 +20463,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 76035, + "id": 76065, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "24975:3:172", + "referencedDeclaration": 76047, + "src": "24975:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76036, + "id": 76066, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "24979:5:172", + "memberLocation": "24979:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "24975:9:172", + "referencedDeclaration": 77238, + "src": "24975:9:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "24960:24:172", + "src": "24960:24:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76044, + "id": 76074, "nodeType": "IfStatement", - "src": "24956:92:172", + "src": "24956:92:173", "trueBody": { - "id": 76043, + "id": 76073, "nodeType": "Block", - "src": "24986:62:172", + "src": "24986:62:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 76039, + "id": 76069, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25021:5:172", + "referencedDeclaration": 76044, + "src": "25021:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76040, + "id": 76070, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25027:5:172", + "memberLocation": "25027:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "25021:11:172", + "referencedDeclaration": 77238, + "src": "25021:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20542,18 +20542,18 @@ "typeString": "address" } ], - "id": 76038, + "id": 76068, "name": "SameOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74859, - "src": "25011:9:172", + "referencedDeclaration": 74889, + "src": "25011:9:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 76041, + "id": 76071, "isConstant": false, "isLValue": false, "isPure": false, @@ -20562,16 +20562,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25011:22:172", + "src": "25011:22:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76042, + "id": 76072, "nodeType": "RevertStatement", - "src": "25004:29:172" + "src": "25004:29:173" } ] } @@ -20582,7 +20582,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 76057, + "id": 76087, "isConstant": false, "isLValue": false, "isPure": false, @@ -20591,56 +20591,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76045, + "id": 76075, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25082:5:172", + "referencedDeclaration": 76044, + "src": "25082:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76046, + "id": 76076, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25088:12:172", + "memberLocation": "25088:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25082:18:172", + "referencedDeclaration": 77251, + "src": "25082:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76049, + "id": 76079, "indexExpression": { "expression": { - "id": 76047, + "id": 76077, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25101:11:172", + "referencedDeclaration": 76050, + "src": "25101:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76048, + "id": 76078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25113:18:172", + "memberLocation": "25113:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25101:30:172", + "referencedDeclaration": 77283, + "src": "25101:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20651,22 +20651,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25082:50:172", + "src": "25082:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76050, + "id": 76080, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25133:5:172", + "memberLocation": "25133:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25082:56:172", + "referencedDeclaration": 77217, + "src": "25082:56:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20678,56 +20678,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76051, + "id": 76081, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25162:3:172", + "referencedDeclaration": 76047, + "src": "25162:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76052, + "id": 76082, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25166:11:172", + "memberLocation": "25166:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25162:15:172", + "referencedDeclaration": 77247, + "src": "25162:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76055, + "id": 76085, "indexExpression": { "expression": { - "id": 76053, + "id": 76083, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25178:11:172", + "referencedDeclaration": 76050, + "src": "25178:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76054, + "id": 76084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25190:15:172", + "memberLocation": "25190:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25178:27:172", + "referencedDeclaration": 77285, + "src": "25178:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20738,40 +20738,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25162:44:172", + "src": "25162:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76056, + "id": 76086, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25207:5:172", + "memberLocation": "25207:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25162:50:172", + "referencedDeclaration": 77217, + "src": "25162:50:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "25082:130:172", + "src": "25082:130:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76074, + "id": 76104, "nodeType": "IfStatement", - "src": "25061:387:172", + "src": "25061:387:173", "trueBody": { - "id": 76073, + "id": 76103, "nodeType": "Block", - "src": "25227:221:172", + "src": "25227:221:173", "statements": [ { "errorCall": { @@ -20780,56 +20780,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76059, + "id": 76089, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25287:5:172", + "referencedDeclaration": 76044, + "src": "25287:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76060, + "id": 76090, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25293:12:172", + "memberLocation": "25293:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25287:18:172", + "referencedDeclaration": 77251, + "src": "25287:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76063, + "id": 76093, "indexExpression": { "expression": { - "id": 76061, + "id": 76091, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25306:11:172", + "referencedDeclaration": 76050, + "src": "25306:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76062, + "id": 76092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25318:18:172", + "memberLocation": "25318:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25306:30:172", + "referencedDeclaration": 77283, + "src": "25306:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20840,22 +20840,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25287:50:172", + "src": "25287:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76064, + "id": 76094, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25338:5:172", + "memberLocation": "25338:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25287:56:172", + "referencedDeclaration": 77217, + "src": "25287:56:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20865,56 +20865,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76065, + "id": 76095, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25365:3:172", + "referencedDeclaration": 76047, + "src": "25365:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76066, + "id": 76096, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25369:11:172", + "memberLocation": "25369:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25365:15:172", + "referencedDeclaration": 77247, + "src": "25365:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76069, + "id": 76099, "indexExpression": { "expression": { - "id": 76067, + "id": 76097, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25381:11:172", + "referencedDeclaration": 76050, + "src": "25381:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76068, + "id": 76098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25393:15:172", + "memberLocation": "25393:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25381:27:172", + "referencedDeclaration": 77285, + "src": "25381:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20925,22 +20925,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25365:44:172", + "src": "25365:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76070, + "id": 76100, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25410:5:172", + "memberLocation": "25410:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25365:50:172", + "referencedDeclaration": 77217, + "src": "25365:50:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20958,18 +20958,18 @@ "typeString": "address" } ], - "id": 76058, + "id": 76088, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "25252:13:172", + "referencedDeclaration": 74870, + "src": "25252:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 76071, + "id": 76101, "isConstant": false, "isLValue": false, "isPure": false, @@ -20978,16 +20978,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25252:181:172", + "src": "25252:181:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76072, + "id": 76102, "nodeType": "RevertStatement", - "src": "25245:188:172" + "src": "25245:188:173" } ] } @@ -20998,7 +20998,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 76087, + "id": 76117, "isConstant": false, "isLValue": false, "isPure": false, @@ -21007,56 +21007,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76075, + "id": 76105, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25483:5:172", + "referencedDeclaration": 76044, + "src": "25483:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76076, + "id": 76106, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25489:12:172", + "memberLocation": "25489:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25483:18:172", + "referencedDeclaration": 77251, + "src": "25483:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76079, + "id": 76109, "indexExpression": { "expression": { - "id": 76077, + "id": 76107, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25502:11:172", + "referencedDeclaration": 76050, + "src": "25502:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76078, + "id": 76108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25514:18:172", + "memberLocation": "25514:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25502:30:172", + "referencedDeclaration": 77283, + "src": "25502:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21067,22 +21067,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25483:50:172", + "src": "25483:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76080, + "id": 76110, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25534:8:172", + "memberLocation": "25534:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25483:59:172", + "referencedDeclaration": 77219, + "src": "25483:59:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21094,56 +21094,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76081, + "id": 76111, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25566:3:172", + "referencedDeclaration": 76047, + "src": "25566:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76082, + "id": 76112, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25570:11:172", + "memberLocation": "25570:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25566:15:172", + "referencedDeclaration": 77247, + "src": "25566:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76085, + "id": 76115, "indexExpression": { "expression": { - "id": 76083, + "id": 76113, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25582:11:172", + "referencedDeclaration": 76050, + "src": "25582:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76084, + "id": 76114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25594:15:172", + "memberLocation": "25594:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25582:27:172", + "referencedDeclaration": 77285, + "src": "25582:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21154,40 +21154,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25566:44:172", + "src": "25566:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76086, + "id": 76116, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25611:8:172", + "memberLocation": "25611:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25566:53:172", + "referencedDeclaration": 77219, + "src": "25566:53:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "25483:136:172", + "src": "25483:136:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76104, + "id": 76134, "nodeType": "IfStatement", - "src": "25462:407:172", + "src": "25462:407:173", "trueBody": { - "id": 76103, + "id": 76133, "nodeType": "Block", - "src": "25634:235:172", + "src": "25634:235:173", "statements": [ { "errorCall": { @@ -21196,56 +21196,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76089, + "id": 76119, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25702:5:172", + "referencedDeclaration": 76044, + "src": "25702:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76090, + "id": 76120, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25708:12:172", + "memberLocation": "25708:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25702:18:172", + "referencedDeclaration": 77251, + "src": "25702:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76093, + "id": 76123, "indexExpression": { "expression": { - "id": 76091, + "id": 76121, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25721:11:172", + "referencedDeclaration": 76050, + "src": "25721:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76092, + "id": 76122, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25733:18:172", + "memberLocation": "25733:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25721:30:172", + "referencedDeclaration": 77283, + "src": "25721:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21256,22 +21256,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25702:50:172", + "src": "25702:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76094, + "id": 76124, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25753:8:172", + "memberLocation": "25753:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25702:59:172", + "referencedDeclaration": 77219, + "src": "25702:59:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21281,56 +21281,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76095, + "id": 76125, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25783:3:172", + "referencedDeclaration": 76047, + "src": "25783:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76096, + "id": 76126, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25787:11:172", + "memberLocation": "25787:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25783:15:172", + "referencedDeclaration": 77247, + "src": "25783:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76099, + "id": 76129, "indexExpression": { "expression": { - "id": 76097, + "id": 76127, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25799:11:172", + "referencedDeclaration": 76050, + "src": "25799:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76098, + "id": 76128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25811:15:172", + "memberLocation": "25811:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25799:27:172", + "referencedDeclaration": 77285, + "src": "25799:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21341,22 +21341,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25783:44:172", + "src": "25783:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76100, + "id": 76130, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25828:8:172", + "memberLocation": "25828:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25783:53:172", + "referencedDeclaration": 77219, + "src": "25783:53:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21374,18 +21374,18 @@ "typeString": "uint8" } ], - "id": 76088, + "id": 76118, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "25659:21:172", + "referencedDeclaration": 74877, + "src": "25659:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 76101, + "id": 76131, "isConstant": false, "isLValue": false, "isPure": false, @@ -21394,16 +21394,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25659:195:172", + "src": "25659:195:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76102, + "id": 76132, "nodeType": "RevertStatement", - "src": "25652:202:172" + "src": "25652:202:173" } ] } @@ -21414,7 +21414,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 76117, + "id": 76147, "isConstant": false, "isLValue": false, "isPure": false, @@ -21423,56 +21423,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76105, + "id": 76135, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25904:3:172", + "referencedDeclaration": 76047, + "src": "25904:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76106, + "id": 76136, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25908:12:172", + "memberLocation": "25908:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25904:16:172", + "referencedDeclaration": 77251, + "src": "25904:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76109, + "id": 76139, "indexExpression": { "expression": { - "id": 76107, + "id": 76137, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25921:11:172", + "referencedDeclaration": 76050, + "src": "25921:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76108, + "id": 76138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25933:16:172", + "memberLocation": "25933:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "25921:28:172", + "referencedDeclaration": 77287, + "src": "25921:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21483,22 +21483,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25904:46:172", + "src": "25904:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76110, + "id": 76140, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25951:5:172", + "memberLocation": "25951:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25904:52:172", + "referencedDeclaration": 77217, + "src": "25904:52:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21510,56 +21510,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76111, + "id": 76141, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25980:5:172", + "referencedDeclaration": 76044, + "src": "25980:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76112, + "id": 76142, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25986:11:172", + "memberLocation": "25986:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25980:17:172", + "referencedDeclaration": 77247, + "src": "25980:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76115, + "id": 76145, "indexExpression": { "expression": { - "id": 76113, + "id": 76143, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25998:11:172", + "referencedDeclaration": 76050, + "src": "25998:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76114, + "id": 76144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26010:17:172", + "memberLocation": "26010:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25998:29:172", + "referencedDeclaration": 77281, + "src": "25998:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21570,40 +21570,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25980:48:172", + "src": "25980:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76116, + "id": 76146, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26029:5:172", + "memberLocation": "26029:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25980:54:172", + "referencedDeclaration": 77217, + "src": "25980:54:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "25904:130:172", + "src": "25904:130:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76134, + "id": 76164, "nodeType": "IfStatement", - "src": "25883:387:172", + "src": "25883:387:173", "trueBody": { - "id": 76133, + "id": 76163, "nodeType": "Block", - "src": "26049:221:172", + "src": "26049:221:173", "statements": [ { "errorCall": { @@ -21612,56 +21612,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76119, + "id": 76149, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26109:5:172", + "referencedDeclaration": 76044, + "src": "26109:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76120, + "id": 76150, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26115:11:172", + "memberLocation": "26115:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26109:17:172", + "referencedDeclaration": 77247, + "src": "26109:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76123, + "id": 76153, "indexExpression": { "expression": { - "id": 76121, + "id": 76151, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26127:11:172", + "referencedDeclaration": 76050, + "src": "26127:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76122, + "id": 76152, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26139:17:172", + "memberLocation": "26139:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26127:29:172", + "referencedDeclaration": 77281, + "src": "26127:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21672,22 +21672,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26109:48:172", + "src": "26109:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76124, + "id": 76154, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26158:5:172", + "memberLocation": "26158:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "26109:54:172", + "referencedDeclaration": 77217, + "src": "26109:54:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21697,56 +21697,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76125, + "id": 76155, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "26185:3:172", + "referencedDeclaration": 76047, + "src": "26185:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76126, + "id": 76156, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26189:12:172", + "memberLocation": "26189:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "26185:16:172", + "referencedDeclaration": 77251, + "src": "26185:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76129, + "id": 76159, "indexExpression": { "expression": { - "id": 76127, + "id": 76157, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26202:11:172", + "referencedDeclaration": 76050, + "src": "26202:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76128, + "id": 76158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26214:16:172", + "memberLocation": "26214:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "26202:28:172", + "referencedDeclaration": 77287, + "src": "26202:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21757,22 +21757,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26185:46:172", + "src": "26185:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76130, + "id": 76160, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26232:5:172", + "memberLocation": "26232:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "26185:52:172", + "referencedDeclaration": 77217, + "src": "26185:52:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21790,18 +21790,18 @@ "typeString": "address" } ], - "id": 76118, + "id": 76148, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "26074:13:172", + "referencedDeclaration": 74870, + "src": "26074:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 76131, + "id": 76161, "isConstant": false, "isLValue": false, "isPure": false, @@ -21810,16 +21810,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26074:181:172", + "src": "26074:181:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76132, + "id": 76162, "nodeType": "RevertStatement", - "src": "26067:188:172" + "src": "26067:188:173" } ] } @@ -21830,7 +21830,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 76147, + "id": 76177, "isConstant": false, "isLValue": false, "isPure": false, @@ -21839,56 +21839,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76135, + "id": 76165, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "26305:3:172", + "referencedDeclaration": 76047, + "src": "26305:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76136, + "id": 76166, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26309:12:172", + "memberLocation": "26309:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "26305:16:172", + "referencedDeclaration": 77251, + "src": "26305:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76139, + "id": 76169, "indexExpression": { "expression": { - "id": 76137, + "id": 76167, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26322:11:172", + "referencedDeclaration": 76050, + "src": "26322:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76138, + "id": 76168, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26334:16:172", + "memberLocation": "26334:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "26322:28:172", + "referencedDeclaration": 77287, + "src": "26322:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21899,22 +21899,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26305:46:172", + "src": "26305:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76140, + "id": 76170, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26352:8:172", + "memberLocation": "26352:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26305:55:172", + "referencedDeclaration": 77219, + "src": "26305:55:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21926,56 +21926,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76141, + "id": 76171, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26384:5:172", + "referencedDeclaration": 76044, + "src": "26384:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76142, + "id": 76172, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26390:11:172", + "memberLocation": "26390:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26384:17:172", + "referencedDeclaration": 77247, + "src": "26384:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76145, + "id": 76175, "indexExpression": { "expression": { - "id": 76143, + "id": 76173, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26402:11:172", + "referencedDeclaration": 76050, + "src": "26402:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76144, + "id": 76174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26414:17:172", + "memberLocation": "26414:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26402:29:172", + "referencedDeclaration": 77281, + "src": "26402:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21986,40 +21986,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26384:48:172", + "src": "26384:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76146, + "id": 76176, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26433:8:172", + "memberLocation": "26433:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26384:57:172", + "referencedDeclaration": 77219, + "src": "26384:57:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "26305:136:172", + "src": "26305:136:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76164, + "id": 76194, "nodeType": "IfStatement", - "src": "26284:407:172", + "src": "26284:407:173", "trueBody": { - "id": 76163, + "id": 76193, "nodeType": "Block", - "src": "26456:235:172", + "src": "26456:235:173", "statements": [ { "errorCall": { @@ -22028,56 +22028,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76149, + "id": 76179, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26524:5:172", + "referencedDeclaration": 76044, + "src": "26524:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76150, + "id": 76180, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26530:11:172", + "memberLocation": "26530:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26524:17:172", + "referencedDeclaration": 77247, + "src": "26524:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76153, + "id": 76183, "indexExpression": { "expression": { - "id": 76151, + "id": 76181, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26542:11:172", + "referencedDeclaration": 76050, + "src": "26542:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76152, + "id": 76182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26554:17:172", + "memberLocation": "26554:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26542:29:172", + "referencedDeclaration": 77281, + "src": "26542:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22088,22 +22088,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26524:48:172", + "src": "26524:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76154, + "id": 76184, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26573:8:172", + "memberLocation": "26573:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26524:57:172", + "referencedDeclaration": 77219, + "src": "26524:57:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -22113,56 +22113,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76155, + "id": 76185, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "26603:3:172", + "referencedDeclaration": 76047, + "src": "26603:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76156, + "id": 76186, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26607:12:172", + "memberLocation": "26607:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "26603:16:172", + "referencedDeclaration": 77251, + "src": "26603:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76159, + "id": 76189, "indexExpression": { "expression": { - "id": 76157, + "id": 76187, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26620:11:172", + "referencedDeclaration": 76050, + "src": "26620:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76158, + "id": 76188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26632:16:172", + "memberLocation": "26632:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "26620:28:172", + "referencedDeclaration": 77287, + "src": "26620:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22173,22 +22173,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26603:46:172", + "src": "26603:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76160, + "id": 76190, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26650:8:172", + "memberLocation": "26650:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26603:55:172", + "referencedDeclaration": 77219, + "src": "26603:55:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -22206,18 +22206,18 @@ "typeString": "uint8" } ], - "id": 76148, + "id": 76178, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "26481:21:172", + "referencedDeclaration": 74877, + "src": "26481:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 76161, + "id": 76191, "isConstant": false, "isLValue": false, "isPure": false, @@ -22226,16 +22226,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26481:195:172", + "src": "26481:195:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76162, + "id": 76192, "nodeType": "RevertStatement", - "src": "26474:202:172" + "src": "26474:202:173" } ] } @@ -22246,57 +22246,57 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76171, + "id": 76201, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 76165, + "id": 76195, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "26916:7:172", + "referencedDeclaration": 75049, + "src": "26916:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 76169, + "id": 76199, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 76166, + "id": 76196, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26924:5:172", + "referencedDeclaration": 76044, + "src": "26924:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76167, + "id": 76197, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26930:4:172", + "memberLocation": "26930:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "26924:10:172", + "referencedDeclaration": 78164, + "src": "26924:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76168, + "id": 76198, "isConstant": false, "isLValue": false, "isPure": false, @@ -22305,7 +22305,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26924:12:172", + "src": "26924:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22317,7 +22317,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26916:21:172", + "src": "26916:21:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22326,56 +22326,56 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 76170, + "id": 76200, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "26941:10:172", + "referencedDeclaration": 74897, + "src": "26941:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "26916:35:172", + "src": "26916:35:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76184, + "id": 76214, "nodeType": "IfStatement", - "src": "26912:155:172", + "src": "26912:155:173", "trueBody": { - "id": 76183, + "id": 76213, "nodeType": "Block", - "src": "26953:114:172", + "src": "26953:114:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 76173, + "id": 76203, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "26990:3:172", + "src": "26990:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76174, + "id": 76204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26994:6:172", + "memberLocation": "26994:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "26990:10:172", + "src": "26990:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22383,27 +22383,27 @@ }, { "expression": { - "id": 76175, + "id": 76205, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27002:5:172", + "referencedDeclaration": 76044, + "src": "27002:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76176, + "id": 76206, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27008:5:172", + "memberLocation": "27008:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27002:11:172", + "referencedDeclaration": 77238, + "src": "27002:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22414,33 +22414,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 76177, + "id": 76207, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27015:5:172", + "referencedDeclaration": 76044, + "src": "27015:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76178, + "id": 76208, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27021:4:172", + "memberLocation": "27021:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "27015:10:172", + "referencedDeclaration": 78164, + "src": "27015:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76179, + "id": 76209, "isConstant": false, "isLValue": false, "isPure": false, @@ -22449,7 +22449,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27015:12:172", + "src": "27015:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22472,18 +22472,18 @@ "typeString": "bytes32" } ], - "id": 76172, + "id": 76202, "name": "OrderNotFound", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77665, - "src": "26976:13:172", + "referencedDeclaration": 77980, + "src": "26976:13:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 76180, + "id": 76210, "isConstant": false, "isLValue": false, "isPure": false, @@ -22492,22 +22492,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26976:52:172", + "src": "26976:52:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76181, + "id": 76211, "nodeType": "EmitStatement", - "src": "26971:57:172" + "src": "26971:57:173" }, { - "functionReturnParameters": 76032, - "id": 76182, + "functionReturnParameters": 76062, + "id": 76212, "nodeType": "Return", - "src": "27046:7:172" + "src": "27046:7:173" } ] } @@ -22518,57 +22518,57 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76191, + "id": 76221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 76185, + "id": 76215, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "27084:7:172", + "referencedDeclaration": 75049, + "src": "27084:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 76189, + "id": 76219, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 76186, + "id": 76216, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27092:3:172", + "referencedDeclaration": 76047, + "src": "27092:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76187, + "id": 76217, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27096:4:172", + "memberLocation": "27096:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "27092:8:172", + "referencedDeclaration": 78164, + "src": "27092:8:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76188, + "id": 76218, "isConstant": false, "isLValue": false, "isPure": false, @@ -22577,7 +22577,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27092:10:172", + "src": "27092:10:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22589,7 +22589,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27084:19:172", + "src": "27084:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22598,56 +22598,56 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 76190, + "id": 76220, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27107:10:172", + "referencedDeclaration": 74897, + "src": "27107:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27084:33:172", + "src": "27084:33:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76204, + "id": 76234, "nodeType": "IfStatement", - "src": "27080:149:172", + "src": "27080:149:173", "trueBody": { - "id": 76203, + "id": 76233, "nodeType": "Block", - "src": "27119:110:172", + "src": "27119:110:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 76193, + "id": 76223, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "27156:3:172", + "src": "27156:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76194, + "id": 76224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27160:6:172", + "memberLocation": "27160:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "27156:10:172", + "src": "27156:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22655,27 +22655,27 @@ }, { "expression": { - "id": 76195, + "id": 76225, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27168:3:172", + "referencedDeclaration": 76047, + "src": "27168:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76196, + "id": 76226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27172:5:172", + "memberLocation": "27172:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27168:9:172", + "referencedDeclaration": 77238, + "src": "27168:9:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22686,33 +22686,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 76197, + "id": 76227, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27179:3:172", + "referencedDeclaration": 76047, + "src": "27179:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76198, + "id": 76228, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27183:4:172", + "memberLocation": "27183:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "27179:8:172", + "referencedDeclaration": 78164, + "src": "27179:8:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76199, + "id": 76229, "isConstant": false, "isLValue": false, "isPure": false, @@ -22721,7 +22721,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27179:10:172", + "src": "27179:10:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22744,18 +22744,18 @@ "typeString": "bytes32" } ], - "id": 76192, + "id": 76222, "name": "OrderNotFound", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77665, - "src": "27142:13:172", + "referencedDeclaration": 77980, + "src": "27142:13:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 76200, + "id": 76230, "isConstant": false, "isLValue": false, "isPure": false, @@ -22764,22 +22764,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27142:48:172", + "src": "27142:48:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76201, + "id": 76231, "nodeType": "EmitStatement", - "src": "27137:53:172" + "src": "27137:53:173" }, { - "functionReturnParameters": 76032, - "id": 76202, + "functionReturnParameters": 76062, + "id": 76232, "nodeType": "Return", - "src": "27208:7:172" + "src": "27208:7:173" } ] } @@ -22789,64 +22789,64 @@ "arguments": [ { "expression": { - "id": 76206, + "id": 76236, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "27305:3:172", + "src": "27305:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76207, + "id": 76237, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27309:6:172", + "memberLocation": "27309:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "27305:10:172", + "src": "27305:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76208, + "id": 76238, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27317:5:172", + "referencedDeclaration": 76044, + "src": "27317:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 76209, + "id": 76239, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27324:3:172", + "referencedDeclaration": 76047, + "src": "27324:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 76210, + "id": 76240, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27329:11:172", + "referencedDeclaration": 76050, + "src": "27329:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } } @@ -22858,30 +22858,30 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } ], - "id": 76205, + "id": 76235, "name": "Clear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77697, - "src": "27299:5:172", + "referencedDeclaration": 78012, + "src": "27299:5:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_ClearConfig_$77262_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_ClearConfig_$77292_memory_ptr_$returns$__$", "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" } }, - "id": 76211, + "id": 76241, "isConstant": false, "isLValue": false, "isPure": false, @@ -22890,100 +22890,100 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27299:42:172", + "src": "27299:42:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76212, + "id": 76242, "nodeType": "EmitStatement", - "src": "27294:47:172" + "src": "27294:47:173" } ] }, { "assignments": [ - 76216 + 76246 ], "declarations": [ { "constant": false, - "id": 76216, + "id": 76246, "mutability": "mutable", "name": "aliceOrderIOCalculation_", - "nameLocation": "27387:24:172", + "nameLocation": "27387:24:173", "nodeType": "VariableDeclaration", - "scope": 76335, - "src": "27361:50:172", + "scope": 76365, + "src": "27361:50:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76215, + "id": 76245, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76214, + "id": 76244, "name": "OrderIOCalculation", "nameLocations": [ - "27361:18:172" + "27361:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "27361:18:172" + "referencedDeclaration": 75005, + "src": "27361:18:173" }, - "referencedDeclaration": 74975, - "src": "27361:18:172", + "referencedDeclaration": 75005, + "src": "27361:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "id": 76227, + "id": 76257, "initialValue": { "arguments": [ { - "id": 76218, + "id": 76248, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27444:5:172", + "referencedDeclaration": 76044, + "src": "27444:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76219, + "id": 76249, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27451:11:172", + "referencedDeclaration": 76050, + "src": "27451:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76220, + "id": 76250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27463:17:172", + "memberLocation": "27463:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "27451:29:172", + "referencedDeclaration": 77281, + "src": "27451:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22991,27 +22991,27 @@ }, { "expression": { - "id": 76221, + "id": 76251, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27482:11:172", + "referencedDeclaration": 76050, + "src": "27482:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76222, + "id": 76252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27494:18:172", + "memberLocation": "27494:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "27482:30:172", + "referencedDeclaration": 77283, + "src": "27482:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23019,39 +23019,39 @@ }, { "expression": { - "id": 76223, + "id": 76253, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27514:3:172", + "referencedDeclaration": 76047, + "src": "27514:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76224, + "id": 76254, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27518:5:172", + "memberLocation": "27518:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27514:9:172", + "referencedDeclaration": 77238, + "src": "27514:9:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76225, + "id": 76255, "name": "bobSignedContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76028, - "src": "27525:16:172", + "referencedDeclaration": 76058, + "src": "27525:16:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -23061,7 +23061,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23081,18 +23081,18 @@ "typeString": "struct SignedContextV1 memory[] memory" } ], - "id": 76217, + "id": 76247, "name": "calculateOrderIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76653, - "src": "27414:16:172", + "referencedDeclaration": 76683, + "src": "27414:16:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" } }, - "id": 76226, + "id": 76256, "isConstant": false, "isLValue": false, "isPure": false, @@ -23101,97 +23101,97 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27414:137:172", + "src": "27414:137:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "27361:190:172" + "src": "27361:190:173" }, { "assignments": [ - 76230 + 76260 ], "declarations": [ { "constant": false, - "id": 76230, + "id": 76260, "mutability": "mutable", "name": "bobOrderIOCalculation_", - "nameLocation": "27587:22:172", + "nameLocation": "27587:22:173", "nodeType": "VariableDeclaration", - "scope": 76335, - "src": "27561:48:172", + "scope": 76365, + "src": "27561:48:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76229, + "id": 76259, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76228, + "id": 76258, "name": "OrderIOCalculation", "nameLocations": [ - "27561:18:172" + "27561:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "27561:18:172" + "referencedDeclaration": 75005, + "src": "27561:18:173" }, - "referencedDeclaration": 74975, - "src": "27561:18:172", + "referencedDeclaration": 75005, + "src": "27561:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "id": 76241, + "id": 76271, "initialValue": { "arguments": [ { - "id": 76232, + "id": 76262, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27642:3:172", + "referencedDeclaration": 76047, + "src": "27642:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76233, + "id": 76263, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27647:11:172", + "referencedDeclaration": 76050, + "src": "27647:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76234, + "id": 76264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27659:15:172", + "memberLocation": "27659:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "27647:27:172", + "referencedDeclaration": 77285, + "src": "27647:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23199,27 +23199,27 @@ }, { "expression": { - "id": 76235, + "id": 76265, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27676:11:172", + "referencedDeclaration": 76050, + "src": "27676:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76236, + "id": 76266, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27688:16:172", + "memberLocation": "27688:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "27676:28:172", + "referencedDeclaration": 77287, + "src": "27676:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23227,39 +23227,39 @@ }, { "expression": { - "id": 76237, + "id": 76267, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27706:5:172", + "referencedDeclaration": 76044, + "src": "27706:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76238, + "id": 76268, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27712:5:172", + "memberLocation": "27712:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27706:11:172", + "referencedDeclaration": 77238, + "src": "27706:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76239, + "id": 76269, "name": "aliceSignedContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76024, - "src": "27719:18:172", + "referencedDeclaration": 76054, + "src": "27719:18:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -23269,7 +23269,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23289,18 +23289,18 @@ "typeString": "struct SignedContextV1 memory[] memory" } ], - "id": 76231, + "id": 76261, "name": "calculateOrderIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76653, - "src": "27612:16:172", + "referencedDeclaration": 76683, + "src": "27612:16:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" } }, - "id": 76240, + "id": 76270, "isConstant": false, "isLValue": false, "isPure": false, @@ -23309,83 +23309,83 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27612:135:172", + "src": "27612:135:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "27561:186:172" + "src": "27561:186:173" }, { "assignments": [ - 76244 + 76274 ], "declarations": [ { "constant": false, - "id": 76244, + "id": 76274, "mutability": "mutable", "name": "clearStateChange", - "nameLocation": "27781:16:172", + "nameLocation": "27781:16:173", "nodeType": "VariableDeclaration", - "scope": 76335, - "src": "27757:40:172", + "scope": 76365, + "src": "27757:40:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange" }, "typeName": { - "id": 76243, + "id": 76273, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76242, + "id": 76272, "name": "ClearStateChange", "nameLocations": [ - "27757:16:172" + "27757:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77271, - "src": "27757:16:172" + "referencedDeclaration": 77301, + "src": "27757:16:173" }, - "referencedDeclaration": 77271, - "src": "27757:16:172", + "referencedDeclaration": 77301, + "src": "27757:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", "typeString": "struct ClearStateChange" } }, "visibility": "internal" } ], - "id": 76249, + "id": 76279, "initialValue": { "arguments": [ { - "id": 76246, + "id": 76276, "name": "aliceOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76216, - "src": "27838:24:172", + "referencedDeclaration": 76246, + "src": "27838:24:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, { - "id": 76247, + "id": 76277, "name": "bobOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76230, - "src": "27864:22:172", + "referencedDeclaration": 76260, + "src": "27864:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -23393,26 +23393,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76245, + "id": 76275, "name": "calculateClearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76856, - "src": "27812:25:172", + "referencedDeclaration": 76886, + "src": "27812:25:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$_t_struct$_ClearStateChange_$77271_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$_t_struct$_ClearStateChange_$77301_memory_ptr_$", "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" } }, - "id": 76248, + "id": 76278, "isConstant": false, "isLValue": false, "isPure": false, @@ -23421,54 +23421,54 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27812:75:172", + "src": "27812:75:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "27757:130:172" + "src": "27757:130:173" }, { "expression": { "arguments": [ { - "id": 76251, + "id": 76281, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27912:5:172", + "referencedDeclaration": 76044, + "src": "27912:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76252, + "id": 76282, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "27919:16:172", + "referencedDeclaration": 76274, + "src": "27919:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76253, + "id": 76283, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27936:10:172", + "memberLocation": "27936:10:173", "memberName": "aliceInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77268, - "src": "27919:27:172", + "referencedDeclaration": 77298, + "src": "27919:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23476,41 +23476,41 @@ }, { "expression": { - "id": 76254, + "id": 76284, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "27948:16:172", + "referencedDeclaration": 76274, + "src": "27948:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76255, + "id": 76285, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27965:11:172", + "memberLocation": "27965:11:173", "memberName": "aliceOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77264, - "src": "27948:28:172", + "referencedDeclaration": 77294, + "src": "27948:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76256, + "id": 76286, "name": "aliceOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76216, - "src": "27978:24:172", + "referencedDeclaration": 76246, + "src": "27978:24:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -23518,7 +23518,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23530,22 +23530,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76250, + "id": 76280, "name": "recordVaultIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76830, - "src": "27898:13:172", + "referencedDeclaration": 76860, + "src": "27898:13:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" } }, - "id": 76257, + "id": 76287, "isConstant": false, "isLValue": false, "isPure": false, @@ -23554,55 +23554,55 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27898:105:172", + "src": "27898:105:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76258, + "id": 76288, "nodeType": "ExpressionStatement", - "src": "27898:105:172" + "src": "27898:105:173" }, { "expression": { "arguments": [ { - "id": 76260, + "id": 76290, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "28027:3:172", + "referencedDeclaration": 76047, + "src": "28027:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76261, + "id": 76291, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28032:16:172", + "referencedDeclaration": 76274, + "src": "28032:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76262, + "id": 76292, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28049:8:172", + "memberLocation": "28049:8:173", "memberName": "bobInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "28032:25:172", + "referencedDeclaration": 77300, + "src": "28032:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23610,41 +23610,41 @@ }, { "expression": { - "id": 76263, + "id": 76293, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28059:16:172", + "referencedDeclaration": 76274, + "src": "28059:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76264, + "id": 76294, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28076:9:172", + "memberLocation": "28076:9:173", "memberName": "bobOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77266, - "src": "28059:26:172", + "referencedDeclaration": 77296, + "src": "28059:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76265, + "id": 76295, "name": "bobOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76230, - "src": "28087:22:172", + "referencedDeclaration": 76260, + "src": "28087:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -23652,7 +23652,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23664,22 +23664,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76259, + "id": 76289, "name": "recordVaultIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76830, - "src": "28013:13:172", + "referencedDeclaration": 76860, + "src": "28013:13:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" } }, - "id": 76266, + "id": 76296, "isConstant": false, "isLValue": false, "isPure": false, @@ -23688,36 +23688,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28013:97:172", + "src": "28013:97:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76267, + "id": 76297, "nodeType": "ExpressionStatement", - "src": "28013:97:172" + "src": "28013:97:173" }, { - "id": 76328, + "id": 76358, "nodeType": "Block", - "src": "28121:753:172", + "src": "28121:753:173", "statements": [ { "assignments": [ - 76269 + 76299 ], "declarations": [ { "constant": false, - "id": 76269, + "id": 76299, "mutability": "mutable", "name": "aliceBounty", - "nameLocation": "28275:11:172", + "nameLocation": "28275:11:173", "nodeType": "VariableDeclaration", - "scope": 76328, - "src": "28267:19:172", + "scope": 76358, + "src": "28267:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23725,10 +23725,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76268, + "id": 76298, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28267:7:172", + "src": "28267:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23737,40 +23737,40 @@ "visibility": "internal" } ], - "id": 76275, + "id": 76305, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76274, + "id": 76304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76270, + "id": 76300, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28289:16:172", + "referencedDeclaration": 76274, + "src": "28289:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76271, + "id": 76301, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28306:11:172", + "memberLocation": "28306:11:173", "memberName": "aliceOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77264, - "src": "28289:28:172", + "referencedDeclaration": 77294, + "src": "28289:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23780,55 +23780,55 @@ "operator": "-", "rightExpression": { "expression": { - "id": 76272, + "id": 76302, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28320:16:172", + "referencedDeclaration": 76274, + "src": "28320:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76273, + "id": 76303, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28337:8:172", + "memberLocation": "28337:8:173", "memberName": "bobInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "28320:25:172", + "referencedDeclaration": 77300, + "src": "28320:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28289:56:172", + "src": "28289:56:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "28267:78:172" + "src": "28267:78:173" }, { "assignments": [ - 76277 + 76307 ], "declarations": [ { "constant": false, - "id": 76277, + "id": 76307, "mutability": "mutable", "name": "bobBounty", - "nameLocation": "28367:9:172", + "nameLocation": "28367:9:173", "nodeType": "VariableDeclaration", - "scope": 76328, - "src": "28359:17:172", + "scope": 76358, + "src": "28359:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23836,10 +23836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76276, + "id": 76306, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28359:7:172", + "src": "28359:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23848,40 +23848,40 @@ "visibility": "internal" } ], - "id": 76283, + "id": 76313, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76282, + "id": 76312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76278, + "id": 76308, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28379:16:172", + "referencedDeclaration": 76274, + "src": "28379:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76279, + "id": 76309, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28396:9:172", + "memberLocation": "28396:9:173", "memberName": "bobOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77266, - "src": "28379:26:172", + "referencedDeclaration": 77296, + "src": "28379:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23891,40 +23891,40 @@ "operator": "-", "rightExpression": { "expression": { - "id": 76280, + "id": 76310, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28408:16:172", + "referencedDeclaration": 76274, + "src": "28408:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76281, + "id": 76311, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28425:10:172", + "memberLocation": "28425:10:173", "memberName": "aliceInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77268, - "src": "28408:27:172", + "referencedDeclaration": 77298, + "src": "28408:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28379:56:172", + "src": "28379:56:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "28359:76:172" + "src": "28359:76:173" }, { "condition": { @@ -23932,18 +23932,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76286, + "id": 76316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76284, + "id": 76314, "name": "aliceBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76269, - "src": "28453:11:172", + "referencedDeclaration": 76299, + "src": "28453:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23953,37 +23953,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76285, + "id": 76315, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28467:1:172", + "src": "28467:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "28453:15:172", + "src": "28453:15:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76305, + "id": 76335, "nodeType": "IfStatement", - "src": "28449:206:172", + "src": "28449:206:173", "trueBody": { - "id": 76304, + "id": 76334, "nodeType": "Block", - "src": "28470:185:172", + "src": "28470:185:173", "statements": [ { "expression": { - "id": 76302, + "id": 76332, "isConstant": false, "isLValue": false, "isPure": false, @@ -23992,40 +23992,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76287, + "id": 76317, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "28488:14:172", + "referencedDeclaration": 75058, + "src": "28488:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76298, + "id": 76328, "indexExpression": { "expression": { - "id": 76288, + "id": 76318, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "28503:3:172", + "src": "28503:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76289, + "id": 76319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28507:6:172", + "memberLocation": "28507:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "28503:10:172", + "src": "28503:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24036,67 +24036,67 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28488:26:172", + "src": "28488:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76299, + "id": 76329, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76290, + "id": 76320, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "28515:5:172", + "referencedDeclaration": 76044, + "src": "28515:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76291, + "id": 76321, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28521:12:172", + "memberLocation": "28521:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "28515:18:172", + "referencedDeclaration": 77251, + "src": "28515:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76294, + "id": 76324, "indexExpression": { "expression": { - "id": 76292, + "id": 76322, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28534:11:172", + "referencedDeclaration": 76050, + "src": "28534:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76293, + "id": 76323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28546:18:172", + "memberLocation": "28546:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "28534:30:172", + "referencedDeclaration": 77283, + "src": "28534:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24107,22 +24107,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28515:50:172", + "src": "28515:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76295, + "id": 76325, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28566:5:172", + "memberLocation": "28566:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "28515:56:172", + "referencedDeclaration": 77217, + "src": "28515:56:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24133,36 +24133,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28488:84:172", + "src": "28488:84:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76300, + "id": 76330, "indexExpression": { "expression": { - "id": 76296, + "id": 76326, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28573:11:172", + "referencedDeclaration": 76050, + "src": "28573:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76297, + "id": 76327, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28606:18:172", + "memberLocation": "28606:18:173", "memberName": "aliceBountyVaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77259, - "src": "28573:51:172", + "referencedDeclaration": 77289, + "src": "28573:51:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24173,7 +24173,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "28488:137:172", + "src": "28488:137:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24182,26 +24182,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 76301, + "id": 76331, "name": "aliceBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76269, - "src": "28629:11:172", + "referencedDeclaration": 76299, + "src": "28629:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28488:152:172", + "src": "28488:152:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76303, + "id": 76333, "nodeType": "ExpressionStatement", - "src": "28488:152:172" + "src": "28488:152:173" } ] } @@ -24212,18 +24212,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76308, + "id": 76338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76306, + "id": 76336, "name": "bobBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76277, - "src": "28672:9:172", + "referencedDeclaration": 76307, + "src": "28672:9:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24233,37 +24233,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76307, + "id": 76337, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28684:1:172", + "src": "28684:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "28672:13:172", + "src": "28672:13:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76327, + "id": 76357, "nodeType": "IfStatement", - "src": "28668:196:172", + "src": "28668:196:173", "trueBody": { - "id": 76326, + "id": 76356, "nodeType": "Block", - "src": "28687:177:172", + "src": "28687:177:173", "statements": [ { "expression": { - "id": 76324, + "id": 76354, "isConstant": false, "isLValue": false, "isPure": false, @@ -24272,40 +24272,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76309, + "id": 76339, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "28705:14:172", + "referencedDeclaration": 75058, + "src": "28705:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76320, + "id": 76350, "indexExpression": { "expression": { - "id": 76310, + "id": 76340, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "28720:3:172", + "src": "28720:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76311, + "id": 76341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28724:6:172", + "memberLocation": "28724:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "28720:10:172", + "src": "28720:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24316,67 +24316,67 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28705:26:172", + "src": "28705:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76321, + "id": 76351, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76312, + "id": 76342, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "28732:3:172", + "referencedDeclaration": 76047, + "src": "28732:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76313, + "id": 76343, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28736:12:172", + "memberLocation": "28736:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "28732:16:172", + "referencedDeclaration": 77251, + "src": "28732:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76316, + "id": 76346, "indexExpression": { "expression": { - "id": 76314, + "id": 76344, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28749:11:172", + "referencedDeclaration": 76050, + "src": "28749:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76315, + "id": 76345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28761:16:172", + "memberLocation": "28761:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "28749:28:172", + "referencedDeclaration": 77287, + "src": "28749:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24387,22 +24387,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28732:46:172", + "src": "28732:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76317, + "id": 76347, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28779:5:172", + "memberLocation": "28779:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "28732:52:172", + "referencedDeclaration": 77217, + "src": "28732:52:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24413,36 +24413,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28705:80:172", + "src": "28705:80:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76322, + "id": 76352, "indexExpression": { "expression": { - "id": 76318, + "id": 76348, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28786:11:172", + "referencedDeclaration": 76050, + "src": "28786:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76319, + "id": 76349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28819:16:172", + "memberLocation": "28819:16:173", "memberName": "bobBountyVaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77261, - "src": "28786:49:172", + "referencedDeclaration": 77291, + "src": "28786:49:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24453,7 +24453,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "28705:131:172", + "src": "28705:131:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24462,26 +24462,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 76323, + "id": 76353, "name": "bobBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76277, - "src": "28840:9:172", + "referencedDeclaration": 76307, + "src": "28840:9:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28705:144:172", + "src": "28705:144:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76325, + "id": 76355, "nodeType": "ExpressionStatement", - "src": "28705:144:172" + "src": "28705:144:173" } ] } @@ -24493,40 +24493,40 @@ "arguments": [ { "expression": { - "id": 76330, + "id": 76360, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "28900:3:172", + "src": "28900:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76331, + "id": 76361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28904:6:172", + "memberLocation": "28904:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "28900:10:172", + "src": "28900:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76332, + "id": 76362, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28912:16:172", + "referencedDeclaration": 76274, + "src": "28912:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } } @@ -24538,22 +24538,22 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } ], - "id": 76329, + "id": 76359, "name": "AfterClear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77705, - "src": "28889:10:172", + "referencedDeclaration": 78020, + "src": "28889:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77271_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77301_memory_ptr_$returns$__$", "typeString": "function (address,struct ClearStateChange memory)" } }, - "id": 76333, + "id": 76363, "isConstant": false, "isLValue": false, "isPure": false, @@ -24562,26 +24562,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28889:40:172", + "src": "28889:40:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76334, + "id": 76364, "nodeType": "EmitStatement", - "src": "28884:45:172" + "src": "28884:45:173" } ] }, "baseFunctions": [ - 77795 + 78110 ], "documentation": { - "id": 76011, + "id": 76041, "nodeType": "StructuredDocumentation", - "src": "24656:28:172", + "src": "24656:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "9e18968b", @@ -24589,60 +24589,60 @@ "kind": "function", "modifiers": [ { - "id": 76031, + "id": 76061, "kind": "modifierInvocation", "modifierName": { - "id": 76030, + "id": 76060, "name": "nonReentrant", "nameLocations": [ - "24919:12:172" + "24919:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "24919:12:172" + "src": "24919:12:173" }, "nodeType": "ModifierInvocation", - "src": "24919:12:172" + "src": "24919:12:173" } ], "name": "clear", - "nameLocation": "24698:5:172", + "nameLocation": "24698:5:173", "parameters": { - "id": 76029, + "id": 76059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76014, + "id": 76044, "mutability": "mutable", "name": "alice", - "nameLocation": "24726:5:172", + "nameLocation": "24726:5:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24713:18:172", + "scope": 76366, + "src": "24713:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76013, + "id": 76043, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76012, + "id": 76042, "name": "Order", "nameLocations": [ - "24713:5:172" + "24713:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "24713:5:172" + "referencedDeclaration": 77252, + "src": "24713:5:173" }, - "referencedDeclaration": 77222, - "src": "24713:5:172", + "referencedDeclaration": 77252, + "src": "24713:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -24650,36 +24650,36 @@ }, { "constant": false, - "id": 76017, + "id": 76047, "mutability": "mutable", "name": "bob", - "nameLocation": "24754:3:172", + "nameLocation": "24754:3:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24741:16:172", + "scope": 76366, + "src": "24741:16:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76016, + "id": 76046, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76015, + "id": 76045, "name": "Order", "nameLocations": [ - "24741:5:172" + "24741:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "24741:5:172" + "referencedDeclaration": 77252, + "src": "24741:5:173" }, - "referencedDeclaration": 77222, - "src": "24741:5:172", + "referencedDeclaration": 77252, + "src": "24741:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -24687,36 +24687,36 @@ }, { "constant": false, - "id": 76020, + "id": 76050, "mutability": "mutable", "name": "clearConfig", - "nameLocation": "24788:11:172", + "nameLocation": "24788:11:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24767:32:172", + "scope": 76366, + "src": "24767:32:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig" }, "typeName": { - "id": 76019, + "id": 76049, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76018, + "id": 76048, "name": "ClearConfig", "nameLocations": [ - "24767:11:172" + "24767:11:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77262, - "src": "24767:11:172" + "referencedDeclaration": 77292, + "src": "24767:11:173" }, - "referencedDeclaration": 77262, - "src": "24767:11:172", + "referencedDeclaration": 77292, + "src": "24767:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_storage_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_storage_ptr", "typeString": "struct ClearConfig" } }, @@ -24724,13 +24724,13 @@ }, { "constant": false, - "id": 76024, + "id": 76054, "mutability": "mutable", "name": "aliceSignedContext", - "nameLocation": "24834:18:172", + "nameLocation": "24834:18:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24809:43:172", + "scope": 76366, + "src": "24809:43:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24739,28 +24739,28 @@ }, "typeName": { "baseType": { - "id": 76022, + "id": 76052, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76021, + "id": 76051, "name": "SignedContextV1", "nameLocations": [ - "24809:15:172" + "24809:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56240, - "src": "24809:15:172" + "src": "24809:15:173" }, "referencedDeclaration": 56240, - "src": "24809:15:172", + "src": "24809:15:173", "typeDescriptions": { "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", "typeString": "struct SignedContextV1" } }, - "id": 76023, + "id": 76053, "nodeType": "ArrayTypeName", - "src": "24809:17:172", + "src": "24809:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", "typeString": "struct SignedContextV1[]" @@ -24770,13 +24770,13 @@ }, { "constant": false, - "id": 76028, + "id": 76058, "mutability": "mutable", "name": "bobSignedContext", - "nameLocation": "24887:16:172", + "nameLocation": "24887:16:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24862:41:172", + "scope": 76366, + "src": "24862:41:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24785,28 +24785,28 @@ }, "typeName": { "baseType": { - "id": 76026, + "id": 76056, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76025, + "id": 76055, "name": "SignedContextV1", "nameLocations": [ - "24862:15:172" + "24862:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56240, - "src": "24862:15:172" + "src": "24862:15:173" }, "referencedDeclaration": 56240, - "src": "24862:15:172", + "src": "24862:15:173", "typeDescriptions": { "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", "typeString": "struct SignedContextV1" } }, - "id": 76027, + "id": 76057, "nodeType": "ArrayTypeName", - "src": "24862:17:172", + "src": "24862:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", "typeString": "struct SignedContextV1[]" @@ -24815,49 +24815,49 @@ "visibility": "internal" } ], - "src": "24703:206:172" + "src": "24703:206:173" }, "returnParameters": { - "id": 76032, + "id": 76062, "nodeType": "ParameterList", "parameters": [], - "src": "24932:0:172" + "src": "24932:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 76653, + "id": 76683, "nodeType": "FunctionDefinition", - "src": "29640:5114:172", + "src": "29640:5114:173", "nodes": [], "body": { - "id": 76652, + "id": 76682, "nodeType": "Block", - "src": "29889:4865:172", + "src": "29889:4865:173", "nodes": [], "statements": [ { - "id": 76651, + "id": 76681, "nodeType": "UncheckedBlock", - "src": "29899:4849:172", + "src": "29899:4849:173", "statements": [ { "assignments": [ - 76357 + 76387 ], "declarations": [ { "constant": false, - "id": 76357, + "id": 76387, "mutability": "mutable", "name": "orderHash", - "nameLocation": "29931:9:172", + "nameLocation": "29931:9:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "29923:17:172", + "scope": 76681, + "src": "29923:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24865,10 +24865,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 76356, + "id": 76386, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "29923:7:172", + "src": "29923:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24877,39 +24877,39 @@ "visibility": "internal" } ], - "id": 76361, + "id": 76391, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 76358, + "id": 76388, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "29943:5:172", + "referencedDeclaration": 76370, + "src": "29943:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76359, + "id": 76389, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "29949:4:172", + "memberLocation": "29949:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "29943:10:172", + "referencedDeclaration": 78164, + "src": "29943:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76360, + "id": 76390, "isConstant": false, "isLValue": false, "isPure": false, @@ -24918,7 +24918,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29943:12:172", + "src": "29943:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -24926,22 +24926,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "29923:32:172" + "src": "29923:32:173" }, { "assignments": [ - 76367 + 76397 ], "declarations": [ { "constant": false, - "id": 76367, + "id": 76397, "mutability": "mutable", "name": "context", - "nameLocation": "29989:7:172", + "nameLocation": "29989:7:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "29970:26:172", + "scope": 76681, + "src": "29970:26:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24951,26 +24951,26 @@ "typeName": { "baseType": { "baseType": { - "id": 76364, + "id": 76394, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29970:7:172", + "src": "29970:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76365, + "id": 76395, "nodeType": "ArrayTypeName", - "src": "29970:9:172", + "src": "29970:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 76366, + "id": 76396, "nodeType": "ArrayTypeName", - "src": "29970:11:172", + "src": "29970:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" @@ -24979,29 +24979,29 @@ "visibility": "internal" } ], - "id": 76368, + "id": 76398, "nodeType": "VariableDeclarationStatement", - "src": "29970:26:172" + "src": "29970:26:173" }, { - "id": 76515, + "id": 76545, "nodeType": "Block", - "src": "30010:1540:172", + "src": "30010:1540:173", "statements": [ { "assignments": [ - 76374 + 76404 ], "declarations": [ { "constant": false, - "id": 76374, + "id": 76404, "mutability": "mutable", "name": "callingContext", - "nameLocation": "30047:14:172", + "nameLocation": "30047:14:173", "nodeType": "VariableDeclaration", - "scope": 76515, - "src": "30028:33:172", + "scope": 76545, + "src": "30028:33:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -25011,26 +25011,26 @@ "typeName": { "baseType": { "baseType": { - "id": 76371, + "id": 76401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30028:7:172", + "src": "30028:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76372, + "id": 76402, "nodeType": "ArrayTypeName", - "src": "30028:9:172", + "src": "30028:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 76373, + "id": 76403, "nodeType": "ArrayTypeName", - "src": "30028:11:172", + "src": "30028:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" @@ -25039,16 +25039,16 @@ "visibility": "internal" } ], - "id": 76381, + "id": 76411, "initialValue": { "arguments": [ { - "id": 76379, + "id": 76409, "name": "CALLING_CONTEXT_COLUMNS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74903, - "src": "30101:23:172", + "referencedDeclaration": 74933, + "src": "30101:23:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25062,13 +25062,13 @@ "typeString": "uint256" } ], - "id": 76378, + "id": 76408, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "30064:15:172", + "src": "30064:15:173", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" @@ -25076,33 +25076,33 @@ "typeName": { "baseType": { "baseType": { - "id": 76375, + "id": 76405, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30068:7:172", + "src": "30068:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76376, + "id": 76406, "nodeType": "ArrayTypeName", - "src": "30068:9:172", + "src": "30068:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 76377, + "id": 76407, "nodeType": "ArrayTypeName", - "src": "30068:11:172", + "src": "30068:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" } } }, - "id": 76380, + "id": 76410, "isConstant": false, "isLValue": false, "isPure": true, @@ -25111,7 +25111,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30064:78:172", + "src": "30064:78:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", @@ -25119,46 +25119,46 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "30028:114:172" + "src": "30028:114:173" }, { "expression": { - "id": 76409, + "id": 76439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76382, + "id": 76412, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "30160:14:172", + "referencedDeclaration": 76404, + "src": "30160:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76386, + "id": 76416, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76385, + "id": 76415, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { - "id": 76383, + "id": 76413, "name": "CONTEXT_CALLING_CONTEXT_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74911, - "src": "30175:30:172", + "referencedDeclaration": 74941, + "src": "30175:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25168,21 +25168,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76384, + "id": 76414, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30208:1:172", + "src": "30208:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "30175:34:172", + "src": "30175:34:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25193,7 +25193,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "30160:50:172", + "src": "30160:50:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25206,12 +25206,12 @@ { "arguments": [ { - "id": 76391, + "id": 76421, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76357, - "src": "30268:9:172", + "referencedDeclaration": 76387, + "src": "30268:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25225,26 +25225,26 @@ "typeString": "bytes32" } ], - "id": 76390, + "id": 76420, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30260:7:172", + "src": "30260:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76389, + "id": 76419, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30260:7:172", + "src": "30260:7:173", "typeDescriptions": {} } }, - "id": 76392, + "id": 76422, "isConstant": false, "isLValue": false, "isPure": false, @@ -25253,7 +25253,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30260:18:172", + "src": "30260:18:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25266,27 +25266,27 @@ "arguments": [ { "expression": { - "id": 76397, + "id": 76427, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30296:5:172", + "referencedDeclaration": 76370, + "src": "30296:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76398, + "id": 76428, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30302:5:172", + "memberLocation": "30302:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "30296:11:172", + "referencedDeclaration": 77238, + "src": "30296:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25300,26 +25300,26 @@ "typeString": "address" } ], - "id": 76396, + "id": 76426, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30288:7:172", + "src": "30288:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76395, + "id": 76425, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "30288:7:172", + "src": "30288:7:173", "typeDescriptions": {} } }, - "id": 76399, + "id": 76429, "isConstant": false, "isLValue": false, "isPure": false, @@ -25328,7 +25328,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30288:20:172", + "src": "30288:20:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -25343,26 +25343,26 @@ "typeString": "uint160" } ], - "id": 76394, + "id": 76424, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30280:7:172", + "src": "30280:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76393, + "id": 76423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30280:7:172", + "src": "30280:7:173", "typeDescriptions": {} } }, - "id": 76400, + "id": 76430, "isConstant": false, "isLValue": false, "isPure": false, @@ -25371,7 +25371,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30280:29:172", + "src": "30280:29:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25383,12 +25383,12 @@ { "arguments": [ { - "id": 76405, + "id": 76435, "name": "counterparty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76346, - "src": "30327:12:172", + "referencedDeclaration": 76376, + "src": "30327:12:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25402,26 +25402,26 @@ "typeString": "address" } ], - "id": 76404, + "id": 76434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30319:7:172", + "src": "30319:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76403, + "id": 76433, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "30319:7:172", + "src": "30319:7:173", "typeDescriptions": {} } }, - "id": 76406, + "id": 76436, "isConstant": false, "isLValue": false, "isPure": false, @@ -25430,7 +25430,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30319:21:172", + "src": "30319:21:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -25445,26 +25445,26 @@ "typeString": "uint160" } ], - "id": 76402, + "id": 76432, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30311:7:172", + "src": "30311:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76401, + "id": 76431, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30311:7:172", + "src": "30311:7:173", "typeDescriptions": {} } }, - "id": 76407, + "id": 76437, "isConstant": false, "isLValue": false, "isPure": false, @@ -25473,7 +25473,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30311:30:172", + "src": "30311:30:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25497,33 +25497,33 @@ } ], "expression": { - "id": 76387, + "id": 76417, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "30213:15:172", + "referencedDeclaration": 72714, + "src": "30213:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76388, + "id": 76418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "30229:9:172", + "memberLocation": "30229:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72558, - "src": "30213:25:172", + "referencedDeclaration": 72588, + "src": "30213:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76408, + "id": 76438, "isConstant": false, "isLValue": false, "isPure": false, @@ -25532,61 +25532,61 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30213:146:172", + "src": "30213:146:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "30160:199:172", + "src": "30160:199:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76410, + "id": 76440, "nodeType": "ExpressionStatement", - "src": "30160:199:172" + "src": "30160:199:173" }, { "expression": { - "id": 76457, + "id": 76487, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76411, + "id": 76441, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "30378:14:172", + "referencedDeclaration": 76404, + "src": "30378:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76415, + "id": 76445, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76414, + "id": 76444, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { - "id": 76412, + "id": 76442, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "30393:27:172", + "referencedDeclaration": 74949, + "src": "30393:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25596,21 +25596,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76413, + "id": 76443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30423:1:172", + "src": "30423:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "30393:31:172", + "src": "30393:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25621,7 +25621,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "30378:47:172", + "src": "30378:47:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25639,40 +25639,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76422, + "id": 76452, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30491:5:172", + "referencedDeclaration": 76370, + "src": "30491:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76423, + "id": 76453, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30497:11:172", + "memberLocation": "30497:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30491:17:172", + "referencedDeclaration": 77247, + "src": "30491:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76425, + "id": 76455, "indexExpression": { - "id": 76424, + "id": 76454, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30509:12:172", + "referencedDeclaration": 76372, + "src": "30509:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25683,22 +25683,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30491:31:172", + "src": "30491:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76426, + "id": 76456, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30523:5:172", + "memberLocation": "30523:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "30491:37:172", + "referencedDeclaration": 77217, + "src": "30491:37:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25712,26 +25712,26 @@ "typeString": "address" } ], - "id": 76421, + "id": 76451, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30483:7:172", + "src": "30483:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76420, + "id": 76450, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "30483:7:172", + "src": "30483:7:173", "typeDescriptions": {} } }, - "id": 76427, + "id": 76457, "isConstant": false, "isLValue": false, "isPure": false, @@ -25740,7 +25740,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30483:46:172", + "src": "30483:46:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -25755,26 +25755,26 @@ "typeString": "uint160" } ], - "id": 76419, + "id": 76449, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30475:7:172", + "src": "30475:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76418, + "id": 76448, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30475:7:172", + "src": "30475:7:173", "typeDescriptions": {} } }, - "id": 76428, + "id": 76458, "isConstant": false, "isLValue": false, "isPure": false, @@ -25783,7 +25783,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30475:55:172", + "src": "30475:55:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25794,40 +25794,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76429, + "id": 76459, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30552:5:172", + "referencedDeclaration": 76370, + "src": "30552:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76430, + "id": 76460, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30558:11:172", + "memberLocation": "30558:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30552:17:172", + "referencedDeclaration": 77247, + "src": "30552:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76432, + "id": 76462, "indexExpression": { - "id": 76431, + "id": 76461, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30570:12:172", + "referencedDeclaration": 76372, + "src": "30570:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25838,22 +25838,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30552:31:172", + "src": "30552:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76433, + "id": 76463, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30584:8:172", + "memberLocation": "30584:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "30552:40:172", + "referencedDeclaration": 77219, + "src": "30552:40:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25863,40 +25863,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76434, + "id": 76464, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30614:5:172", + "referencedDeclaration": 76370, + "src": "30614:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76435, + "id": 76465, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30620:11:172", + "memberLocation": "30620:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30614:17:172", + "referencedDeclaration": 77247, + "src": "30614:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76437, + "id": 76467, "indexExpression": { - "id": 76436, + "id": 76466, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30632:12:172", + "referencedDeclaration": 76372, + "src": "30632:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25907,22 +25907,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30614:31:172", + "src": "30614:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76438, + "id": 76468, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30646:7:172", + "memberLocation": "30646:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "30614:39:172", + "referencedDeclaration": 77221, + "src": "30614:39:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25932,41 +25932,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76439, + "id": 76469, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "30675:14:172", + "referencedDeclaration": 75058, + "src": "30675:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76442, + "id": 76472, "indexExpression": { "expression": { - "id": 76440, + "id": 76470, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30690:5:172", + "referencedDeclaration": 76370, + "src": "30690:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76441, + "id": 76471, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30696:5:172", + "memberLocation": "30696:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "30690:11:172", + "referencedDeclaration": 77238, + "src": "30690:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25977,51 +25977,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30675:27:172", + "src": "30675:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76448, + "id": 76478, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76443, + "id": 76473, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30703:5:172", + "referencedDeclaration": 76370, + "src": "30703:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76444, + "id": 76474, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30709:11:172", + "memberLocation": "30709:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30703:17:172", + "referencedDeclaration": 77247, + "src": "30703:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76446, + "id": 76476, "indexExpression": { - "id": 76445, + "id": 76475, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30721:12:172", + "referencedDeclaration": 76372, + "src": "30721:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26032,22 +26032,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30703:31:172", + "src": "30703:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76447, + "id": 76477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30735:5:172", + "memberLocation": "30735:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "30703:37:172", + "referencedDeclaration": 77217, + "src": "30703:37:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26058,51 +26058,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30675:66:172", + "src": "30675:66:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76454, + "id": 76484, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76449, + "id": 76479, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30742:5:172", + "referencedDeclaration": 76370, + "src": "30742:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76450, + "id": 76480, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30748:11:172", + "memberLocation": "30748:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30742:17:172", + "referencedDeclaration": 77247, + "src": "30742:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76452, + "id": 76482, "indexExpression": { - "id": 76451, + "id": 76481, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30760:12:172", + "referencedDeclaration": 76372, + "src": "30760:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26113,22 +26113,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30742:31:172", + "src": "30742:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76453, + "id": 76483, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30799:7:172", + "memberLocation": "30799:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "30742:64:172", + "referencedDeclaration": 77221, + "src": "30742:64:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26139,7 +26139,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30675:132:172", + "src": "30675:132:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26147,14 +26147,14 @@ }, { "hexValue": "30", - "id": 76455, + "id": 76485, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30885:1:172", + "src": "30885:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26186,33 +26186,33 @@ } ], "expression": { - "id": 76416, + "id": 76446, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "30428:15:172", + "referencedDeclaration": 72714, + "src": "30428:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76417, + "id": 76447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "30444:9:172", + "memberLocation": "30444:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72594, - "src": "30428:25:172", + "referencedDeclaration": 72624, + "src": "30428:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76456, + "id": 76486, "isConstant": false, "isLValue": false, "isPure": false, @@ -26221,61 +26221,61 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30428:476:172", + "src": "30428:476:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "30378:526:172", + "src": "30378:526:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76458, + "id": 76488, "nodeType": "ExpressionStatement", - "src": "30378:526:172" + "src": "30378:526:173" }, { "expression": { - "id": 76505, + "id": 76535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76459, + "id": 76489, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "30923:14:172", + "referencedDeclaration": 76404, + "src": "30923:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76463, + "id": 76493, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76462, + "id": 76492, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { - "id": 76460, + "id": 76490, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "30938:28:172", + "referencedDeclaration": 74953, + "src": "30938:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26285,21 +26285,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76461, + "id": 76491, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30969:1:172", + "src": "30969:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "30938:32:172", + "src": "30938:32:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26310,7 +26310,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "30923:48:172", + "src": "30923:48:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -26328,40 +26328,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76470, + "id": 76500, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31037:5:172", + "referencedDeclaration": 76370, + "src": "31037:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76471, + "id": 76501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31043:12:172", + "memberLocation": "31043:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31037:18:172", + "referencedDeclaration": 77251, + "src": "31037:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76473, + "id": 76503, "indexExpression": { - "id": 76472, + "id": 76502, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31056:13:172", + "referencedDeclaration": 76374, + "src": "31056:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26372,22 +26372,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31037:33:172", + "src": "31037:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76474, + "id": 76504, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31071:5:172", + "memberLocation": "31071:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "31037:39:172", + "referencedDeclaration": 77217, + "src": "31037:39:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26401,26 +26401,26 @@ "typeString": "address" } ], - "id": 76469, + "id": 76499, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31029:7:172", + "src": "31029:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76468, + "id": 76498, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "31029:7:172", + "src": "31029:7:173", "typeDescriptions": {} } }, - "id": 76475, + "id": 76505, "isConstant": false, "isLValue": false, "isPure": false, @@ -26429,7 +26429,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31029:48:172", + "src": "31029:48:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -26444,26 +26444,26 @@ "typeString": "uint160" } ], - "id": 76467, + "id": 76497, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31021:7:172", + "src": "31021:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76466, + "id": 76496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31021:7:172", + "src": "31021:7:173", "typeDescriptions": {} } }, - "id": 76476, + "id": 76506, "isConstant": false, "isLValue": false, "isPure": false, @@ -26472,7 +26472,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31021:57:172", + "src": "31021:57:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26483,40 +26483,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76477, + "id": 76507, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31100:5:172", + "referencedDeclaration": 76370, + "src": "31100:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76478, + "id": 76508, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31106:12:172", + "memberLocation": "31106:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31100:18:172", + "referencedDeclaration": 77251, + "src": "31100:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76480, + "id": 76510, "indexExpression": { - "id": 76479, + "id": 76509, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31119:13:172", + "referencedDeclaration": 76374, + "src": "31119:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26527,22 +26527,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31100:33:172", + "src": "31100:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76481, + "id": 76511, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31134:8:172", + "memberLocation": "31134:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "31100:42:172", + "referencedDeclaration": 77219, + "src": "31100:42:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26552,40 +26552,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76482, + "id": 76512, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31164:5:172", + "referencedDeclaration": 76370, + "src": "31164:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76483, + "id": 76513, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31170:12:172", + "memberLocation": "31170:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31164:18:172", + "referencedDeclaration": 77251, + "src": "31164:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76485, + "id": 76515, "indexExpression": { - "id": 76484, + "id": 76514, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31183:13:172", + "referencedDeclaration": 76374, + "src": "31183:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26596,22 +26596,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31164:33:172", + "src": "31164:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76486, + "id": 76516, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31198:7:172", + "memberLocation": "31198:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "31164:41:172", + "referencedDeclaration": 77221, + "src": "31164:41:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26621,41 +26621,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76487, + "id": 76517, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "31227:14:172", + "referencedDeclaration": 75058, + "src": "31227:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76490, + "id": 76520, "indexExpression": { "expression": { - "id": 76488, + "id": 76518, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31242:5:172", + "referencedDeclaration": 76370, + "src": "31242:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76489, + "id": 76519, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31248:5:172", + "memberLocation": "31248:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "31242:11:172", + "referencedDeclaration": 77238, + "src": "31242:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26666,51 +26666,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31227:27:172", + "src": "31227:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76496, + "id": 76526, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76491, + "id": 76521, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31255:5:172", + "referencedDeclaration": 76370, + "src": "31255:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76492, + "id": 76522, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31261:12:172", + "memberLocation": "31261:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31255:18:172", + "referencedDeclaration": 77251, + "src": "31255:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76494, + "id": 76524, "indexExpression": { - "id": 76493, + "id": 76523, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31274:13:172", + "referencedDeclaration": 76374, + "src": "31274:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26721,22 +26721,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31255:33:172", + "src": "31255:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76495, + "id": 76525, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31289:5:172", + "memberLocation": "31289:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "31255:39:172", + "referencedDeclaration": 77217, + "src": "31255:39:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26747,51 +26747,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31227:68:172", + "src": "31227:68:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76502, + "id": 76532, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76497, + "id": 76527, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31296:5:172", + "referencedDeclaration": 76370, + "src": "31296:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76498, + "id": 76528, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31302:12:172", + "memberLocation": "31302:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31296:18:172", + "referencedDeclaration": 77251, + "src": "31296:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76500, + "id": 76530, "indexExpression": { - "id": 76499, + "id": 76529, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31315:13:172", + "referencedDeclaration": 76374, + "src": "31315:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26802,22 +26802,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31296:33:172", + "src": "31296:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76501, + "id": 76531, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31355:7:172", + "memberLocation": "31355:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "31296:66:172", + "referencedDeclaration": 77221, + "src": "31296:66:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26828,7 +26828,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31227:136:172", + "src": "31227:136:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26836,14 +26836,14 @@ }, { "hexValue": "30", - "id": 76503, + "id": 76533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "31441:1:172", + "src": "31441:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26875,33 +26875,33 @@ } ], "expression": { - "id": 76464, + "id": 76494, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "30974:15:172", + "referencedDeclaration": 72714, + "src": "30974:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76465, + "id": 76495, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "30990:9:172", + "memberLocation": "30990:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72594, - "src": "30974:25:172", + "referencedDeclaration": 72624, + "src": "30974:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76504, + "id": 76534, "isConstant": false, "isLValue": false, "isPure": false, @@ -26910,37 +26910,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30974:486:172", + "src": "30974:486:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "30923:537:172", + "src": "30923:537:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76506, + "id": 76536, "nodeType": "ExpressionStatement", - "src": "30923:537:172" + "src": "30923:537:173" }, { "expression": { - "id": 76513, + "id": 76543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 76507, + "id": 76537, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "31478:7:172", + "referencedDeclaration": 76397, + "src": "31478:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -26951,24 +26951,24 @@ "rightHandSide": { "arguments": [ { - "id": 76510, + "id": 76540, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31505:14:172", + "referencedDeclaration": 76404, + "src": "31505:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, { - "id": 76511, + "id": 76541, "name": "signedContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76350, - "src": "31521:13:172", + "referencedDeclaration": 76380, + "src": "31521:13:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -26987,33 +26987,33 @@ } ], "expression": { - "id": 76508, + "id": 76538, "name": "LibContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57061, - "src": "31488:10:172", + "referencedDeclaration": 57091, + "src": "31488:10:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$57061_$", + "typeIdentifier": "t_type$_t_contract$_LibContext_$57091_$", "typeString": "type(library LibContext)" } }, - "id": 76509, + "id": 76539, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "31499:5:172", + "memberLocation": "31499:5:173", "memberName": "build", "nodeType": "MemberAccess", - "referencedDeclaration": 57060, - "src": "31488:16:172", + "referencedDeclaration": 57090, + "src": "31488:16:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" } }, - "id": 76512, + "id": 76542, "isConstant": false, "isLValue": false, "isPure": false, @@ -27022,39 +27022,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31488:47:172", + "src": "31488:47:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "src": "31478:57:172", + "src": "31478:57:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76514, + "id": 76544, "nodeType": "ExpressionStatement", - "src": "31478:57:172" + "src": "31478:57:173" } ] }, { "assignments": [ - 76518 + 76548 ], "declarations": [ { "constant": false, - "id": 76518, + "id": 76548, "mutability": "mutable", "name": "namespace", - "nameLocation": "31741:9:172", + "nameLocation": "31741:9:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "31726:24:172", + "scope": 76681, + "src": "31726:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27062,20 +27062,20 @@ "typeString": "StateNamespace" }, "typeName": { - "id": 76517, + "id": 76547, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76516, + "id": 76546, "name": "StateNamespace", "nameLocations": [ - "31726:14:172" + "31726:14:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56306, - "src": "31726:14:172" + "src": "31726:14:173" }, "referencedDeclaration": 56306, - "src": "31726:14:172", + "src": "31726:14:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -27084,7 +27084,7 @@ "visibility": "internal" } ], - "id": 76530, + "id": 76560, "initialValue": { "arguments": [ { @@ -27093,27 +27093,27 @@ "arguments": [ { "expression": { - "id": 76525, + "id": 76555, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31789:5:172", + "referencedDeclaration": 76370, + "src": "31789:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76526, + "id": 76556, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31795:5:172", + "memberLocation": "31795:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "31789:11:172", + "referencedDeclaration": 77238, + "src": "31789:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27127,26 +27127,26 @@ "typeString": "address" } ], - "id": 76524, + "id": 76554, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31781:7:172", + "src": "31781:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76523, + "id": 76553, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "31781:7:172", + "src": "31781:7:173", "typeDescriptions": {} } }, - "id": 76527, + "id": 76557, "isConstant": false, "isLValue": false, "isPure": false, @@ -27155,7 +27155,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31781:20:172", + "src": "31781:20:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -27170,26 +27170,26 @@ "typeString": "uint160" } ], - "id": 76522, + "id": 76552, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31773:7:172", + "src": "31773:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76521, + "id": 76551, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31773:7:172", + "src": "31773:7:173", "typeDescriptions": {} } }, - "id": 76528, + "id": 76558, "isConstant": false, "isLValue": false, "isPure": false, @@ -27198,7 +27198,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31773:29:172", + "src": "31773:29:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27214,32 +27214,32 @@ } ], "expression": { - "id": 76519, + "id": 76549, "name": "StateNamespace", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56306, - "src": "31753:14:172", + "src": "31753:14:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56306_$", "typeString": "type(StateNamespace)" } }, - "id": 76520, + "id": 76550, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "31768:4:172", + "memberLocation": "31768:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "31753:19:172", + "src": "31753:19:173", "typeDescriptions": { "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56306_$", "typeString": "function (uint256) pure returns (StateNamespace)" } }, - "id": 76529, + "id": 76559, "isConstant": false, "isLValue": false, "isPure": false, @@ -27248,7 +27248,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31753:50:172", + "src": "31753:50:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", @@ -27256,23 +27256,23 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "31726:77:172" + "src": "31726:77:173" }, { "assignments": [ - 76535, - 76538 + 76565, + 76568 ], "declarations": [ { "constant": false, - "id": 76535, + "id": 76565, "mutability": "mutable", "name": "calculateOrderStack", - "nameLocation": "32162:19:172", + "nameLocation": "32162:19:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32145:36:172", + "scope": 76681, + "src": "32145:36:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27281,18 +27281,18 @@ }, "typeName": { "baseType": { - "id": 76533, + "id": 76563, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32145:7:172", + "src": "32145:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76534, + "id": 76564, "nodeType": "ArrayTypeName", - "src": "32145:9:172", + "src": "32145:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27302,13 +27302,13 @@ }, { "constant": false, - "id": 76538, + "id": 76568, "mutability": "mutable", "name": "calculateOrderKVs", - "nameLocation": "32200:17:172", + "nameLocation": "32200:17:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32183:34:172", + "scope": 76681, + "src": "32183:34:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27317,18 +27317,18 @@ }, "typeName": { "baseType": { - "id": 76536, + "id": 76566, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32183:7:172", + "src": "32183:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76537, + "id": 76567, "nodeType": "ArrayTypeName", - "src": "32183:9:172", + "src": "32183:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27337,60 +27337,60 @@ "visibility": "internal" } ], - "id": 76554, + "id": 76584, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 76543, + "id": 76573, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32305:5:172", + "referencedDeclaration": 76370, + "src": "32305:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76544, + "id": 76574, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32311:9:172", + "memberLocation": "32311:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "32305:15:172", + "referencedDeclaration": 77243, + "src": "32305:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76545, + "id": 76575, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32321:5:172", + "memberLocation": "32321:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "32305:21:172", + "referencedDeclaration": 57307, + "src": "32305:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 76546, + "id": 76576, "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76518, - "src": "32328:9:172", + "referencedDeclaration": 76548, + "src": "32328:9:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -27401,42 +27401,42 @@ { "expression": { "expression": { - "id": 76548, + "id": 76578, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32363:5:172", + "referencedDeclaration": 76370, + "src": "32363:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76549, + "id": 76579, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32369:9:172", + "memberLocation": "32369:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "32363:15:172", + "referencedDeclaration": 77243, + "src": "32363:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76550, + "id": 76580, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32379:10:172", + "memberLocation": "32379:10:173", "memberName": "expression", "nodeType": "MemberAccess", - "referencedDeclaration": 57279, - "src": "32363:26:172", + "referencedDeclaration": 57309, + "src": "32363:26:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27450,18 +27450,18 @@ "typeString": "address" } ], - "id": 76547, + "id": 76577, "name": "_calculateOrderDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76987, - "src": "32339:23:172", + "referencedDeclaration": 77017, + "src": "32339:23:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address) pure returns (EncodedDispatch)" } }, - "id": 76551, + "id": 76581, "isConstant": false, "isLValue": false, "isPure": false, @@ -27470,7 +27470,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32339:51:172", + "src": "32339:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", @@ -27478,12 +27478,12 @@ } }, { - "id": 76552, + "id": 76582, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "32392:7:172", + "referencedDeclaration": 76397, + "src": "32392:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -27512,63 +27512,63 @@ "expression": { "expression": { "expression": { - "id": 76539, + "id": 76569, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32221:5:172", + "referencedDeclaration": 76370, + "src": "32221:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76540, + "id": 76570, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32244:9:172", + "memberLocation": "32244:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "32221:32:172", + "referencedDeclaration": 77243, + "src": "32221:32:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76541, + "id": 76571, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32271:11:172", + "memberLocation": "32271:11:173", "memberName": "interpreter", "nodeType": "MemberAccess", - "referencedDeclaration": 57274, - "src": "32221:61:172", + "referencedDeclaration": 57304, + "src": "32221:61:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, - "id": 76542, + "id": 76572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "32300:4:172", + "memberLocation": "32300:4:173", "memberName": "eval", "nodeType": "MemberAccess", "referencedDeclaration": 56346, - "src": "32221:83:172", + "src": "32221:83:173", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" } }, - "id": 76553, + "id": 76583, "isConstant": false, "isLValue": false, "isPure": false, @@ -27577,7 +27577,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32221:179:172", + "src": "32221:179:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", @@ -27585,100 +27585,100 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "32144:256:172" + "src": "32144:256:173" }, { "assignments": [ - 76557 + 76587 ], "declarations": [ { "constant": false, - "id": 76557, + "id": 76587, "mutability": "mutable", "name": "orderOutputMax18", - "nameLocation": "32430:16:172", + "nameLocation": "32430:16:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32415:31:172", + "scope": 76681, + "src": "32415:31:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 76556, + "id": 76586, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76555, + "id": 76585, "name": "Output18Amount", "nameLocations": [ - "32415:14:172" + "32415:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "32415:14:172" + "referencedDeclaration": 75007, + "src": "32415:14:173" }, - "referencedDeclaration": 74977, - "src": "32415:14:172", + "referencedDeclaration": 75007, + "src": "32415:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 76567, + "id": 76597, "initialValue": { "arguments": [ { "baseExpression": { - "id": 76560, + "id": 76590, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32469:19:172", + "referencedDeclaration": 76565, + "src": "32469:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76565, + "id": 76595, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76564, + "id": 76594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76561, + "id": 76591, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32489:19:172", + "referencedDeclaration": 76565, + "src": "32489:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76562, + "id": 76592, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "32509:6:172", + "memberLocation": "32509:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "32489:26:172", + "src": "32489:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27688,21 +27688,21 @@ "operator": "-", "rightExpression": { "hexValue": "32", - "id": 76563, + "id": 76593, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32518:1:172", + "src": "32518:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "32489:30:172", + "src": "32489:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27713,7 +27713,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32469:51:172", + "src": "32469:51:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27728,32 +27728,32 @@ } ], "expression": { - "id": 76558, + "id": 76588, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "32449:14:172", + "referencedDeclaration": 75007, + "src": "32449:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76559, + "id": 76589, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "32464:4:172", + "memberLocation": "32464:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "32449:19:172", + "src": "32449:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 76566, + "id": 76596, "isConstant": false, "isLValue": false, "isPure": false, @@ -27762,30 +27762,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32449:72:172", + "src": "32449:72:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "32415:106:172" + "src": "32415:106:173" }, { "assignments": [ - 76569 + 76599 ], "declarations": [ { "constant": false, - "id": 76569, + "id": 76599, "mutability": "mutable", "name": "orderIORatio", - "nameLocation": "32543:12:172", + "nameLocation": "32543:12:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32535:20:172", + "scope": 76681, + "src": "32535:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27793,10 +27793,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76568, + "id": 76598, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32535:7:172", + "src": "32535:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,53 +27805,53 @@ "visibility": "internal" } ], - "id": 76576, + "id": 76606, "initialValue": { "baseExpression": { - "id": 76570, + "id": 76600, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32558:19:172", + "referencedDeclaration": 76565, + "src": "32558:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76575, + "id": 76605, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76574, + "id": 76604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76571, + "id": 76601, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32578:19:172", + "referencedDeclaration": 76565, + "src": "32578:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76572, + "id": 76602, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "32598:6:172", + "memberLocation": "32598:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "32578:26:172", + "src": "32578:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27861,21 +27861,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76573, + "id": 76603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32607:1:172", + "src": "32607:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "32578:30:172", + "src": "32578:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27886,34 +27886,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32558:51:172", + "src": "32558:51:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32535:74:172" + "src": "32535:74:173" }, { - "id": 76627, + "id": 76657, "nodeType": "Block", - "src": "32624:1718:172", + "src": "32624:1718:173", "statements": [ { "assignments": [ - 76578 + 76608 ], "declarations": [ { "constant": false, - "id": 76578, + "id": 76608, "mutability": "mutable", "name": "ownerVaultBalance", - "nameLocation": "32786:17:172", + "nameLocation": "32786:17:173", "nodeType": "VariableDeclaration", - "scope": 76627, - "src": "32778:25:172", + "scope": 76657, + "src": "32778:25:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27921,10 +27921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76577, + "id": 76607, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32778:7:172", + "src": "32778:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27933,46 +27933,46 @@ "visibility": "internal" } ], - "id": 76595, + "id": 76625, "initialValue": { "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76579, + "id": 76609, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "32806:14:172", + "referencedDeclaration": 75058, + "src": "32806:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76582, + "id": 76612, "indexExpression": { "expression": { - "id": 76580, + "id": 76610, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32821:5:172", + "referencedDeclaration": 76370, + "src": "32821:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76581, + "id": 76611, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32827:5:172", + "memberLocation": "32827:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "32821:11:172", + "referencedDeclaration": 77238, + "src": "32821:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27983,51 +27983,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32806:27:172", + "src": "32806:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76588, + "id": 76618, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76583, + "id": 76613, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32834:5:172", + "referencedDeclaration": 76370, + "src": "32834:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76584, + "id": 76614, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32840:12:172", + "memberLocation": "32840:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "32834:18:172", + "referencedDeclaration": 77251, + "src": "32834:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76586, + "id": 76616, "indexExpression": { - "id": 76585, + "id": 76615, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "32853:13:172", + "referencedDeclaration": 76374, + "src": "32853:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28038,22 +28038,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32834:33:172", + "src": "32834:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76587, + "id": 76617, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32868:5:172", + "memberLocation": "32868:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "32834:39:172", + "referencedDeclaration": 77217, + "src": "32834:39:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28064,51 +28064,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32806:68:172", + "src": "32806:68:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76594, + "id": 76624, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76589, + "id": 76619, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32875:5:172", + "referencedDeclaration": 76370, + "src": "32875:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76590, + "id": 76620, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32902:12:172", + "memberLocation": "32902:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "32875:39:172", + "referencedDeclaration": 77251, + "src": "32875:39:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76592, + "id": 76622, "indexExpression": { - "id": 76591, + "id": 76621, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "32915:13:172", + "referencedDeclaration": 76374, + "src": "32915:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28119,22 +28119,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32875:54:172", + "src": "32875:54:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76593, + "id": 76623, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32930:7:172", + "memberLocation": "32930:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "32875:62:172", + "referencedDeclaration": 77221, + "src": "32875:62:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28145,59 +28145,59 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32806:132:172", + "src": "32806:132:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32778:160:172" + "src": "32778:160:173" }, { "assignments": [ - 76598 + 76628 ], "declarations": [ { "constant": false, - "id": 76598, + "id": 76628, "mutability": "mutable", "name": "ownerVaultBalance18", - "nameLocation": "34006:19:172", + "nameLocation": "34006:19:173", "nodeType": "VariableDeclaration", - "scope": 76627, - "src": "33991:34:172", + "scope": 76657, + "src": "33991:34:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 76597, + "id": 76627, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76596, + "id": 76626, "name": "Output18Amount", "nameLocations": [ - "33991:14:172" + "33991:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "33991:14:172" + "referencedDeclaration": 75007, + "src": "33991:14:173" }, - "referencedDeclaration": 74977, - "src": "33991:14:172", + "referencedDeclaration": 75007, + "src": "33991:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 76611, + "id": 76641, "initialValue": { "arguments": [ { @@ -28206,40 +28206,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76603, + "id": 76633, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "34094:5:172", + "referencedDeclaration": 76370, + "src": "34094:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76604, + "id": 76634, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "34100:12:172", + "memberLocation": "34100:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "34094:18:172", + "referencedDeclaration": 77251, + "src": "34094:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76606, + "id": 76636, "indexExpression": { - "id": 76605, + "id": 76635, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "34113:13:172", + "referencedDeclaration": 76374, + "src": "34113:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28250,22 +28250,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34094:33:172", + "src": "34094:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76607, + "id": 76637, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "34128:8:172", + "memberLocation": "34128:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "34094:42:172", + "referencedDeclaration": 77219, + "src": "34094:42:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -28273,14 +28273,14 @@ }, { "hexValue": "30", - "id": 76608, + "id": 76638, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34138:1:172", + "src": "34138:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28300,33 +28300,33 @@ } ], "expression": { - "id": 76601, + "id": 76631, "name": "ownerVaultBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76578, - "src": "34068:17:172", + "referencedDeclaration": 76608, + "src": "34068:17:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76602, + "id": 76632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "34086:7:172", + "memberLocation": "34086:7:173", "memberName": "scale18", "nodeType": "MemberAccess", - "referencedDeclaration": 71561, - "src": "34068:25:172", + "referencedDeclaration": 71591, + "src": "34068:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 76609, + "id": 76639, "isConstant": false, "isLValue": false, "isPure": false, @@ -28335,7 +28335,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34068:72:172", + "src": "34068:72:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28351,32 +28351,32 @@ } ], "expression": { - "id": 76599, + "id": 76629, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34048:14:172", + "referencedDeclaration": 75007, + "src": "34048:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76600, + "id": 76630, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34063:4:172", + "memberLocation": "34063:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "34048:19:172", + "src": "34048:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 76610, + "id": 76640, "isConstant": false, "isLValue": false, "isPure": false, @@ -28385,15 +28385,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34048:93:172", + "src": "34048:93:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "33991:150:172" + "src": "33991:150:173" }, { "condition": { @@ -28401,7 +28401,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76620, + "id": 76650, "isConstant": false, "isLValue": false, "isPure": false, @@ -28409,14 +28409,14 @@ "leftExpression": { "arguments": [ { - "id": 76614, + "id": 76644, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34185:16:172", + "referencedDeclaration": 76587, + "src": "34185:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -28424,37 +28424,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76612, + "id": 76642, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34163:14:172", + "referencedDeclaration": 75007, + "src": "34163:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76613, + "id": 76643, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34178:6:172", + "memberLocation": "34178:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "34163:21:172", + "src": "34163:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76615, + "id": 76645, "isConstant": false, "isLValue": false, "isPure": false, @@ -28463,7 +28463,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34163:39:172", + "src": "34163:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28475,14 +28475,14 @@ "rightExpression": { "arguments": [ { - "id": 76618, + "id": 76648, "name": "ownerVaultBalance18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76598, - "src": "34227:19:172", + "referencedDeclaration": 76628, + "src": "34227:19:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -28490,37 +28490,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76616, + "id": 76646, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34205:14:172", + "referencedDeclaration": 75007, + "src": "34205:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76617, + "id": 76647, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34220:6:172", + "memberLocation": "34220:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "34205:21:172", + "src": "34205:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76619, + "id": 76649, "isConstant": false, "isLValue": false, "isPure": false, @@ -28529,69 +28529,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34205:42:172", + "src": "34205:42:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34163:84:172", + "src": "34163:84:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76626, + "id": 76656, "nodeType": "IfStatement", - "src": "34159:169:172", + "src": "34159:169:173", "trueBody": { - "id": 76625, + "id": 76655, "nodeType": "Block", - "src": "34249:79:172", + "src": "34249:79:173", "statements": [ { "expression": { - "id": 76623, + "id": 76653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 76621, + "id": 76651, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34271:16:172", + "referencedDeclaration": 76587, + "src": "34271:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 76622, + "id": 76652, "name": "ownerVaultBalance18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76598, - "src": "34290:19:172", + "referencedDeclaration": 76628, + "src": "34290:19:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "src": "34271:38:172", + "src": "34271:38:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "id": 76624, + "id": 76654, "nodeType": "ExpressionStatement", - "src": "34271:38:172" + "src": "34271:38:173" } ] } @@ -28600,32 +28600,32 @@ }, { "expression": { - "id": 76639, + "id": 76669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76628, + "id": 76658, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "34439:7:172", + "referencedDeclaration": 76397, + "src": "34439:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76630, + "id": 76660, "indexExpression": { - "id": 76629, + "id": 76659, "name": "CONTEXT_CALCULATIONS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74915, - "src": "34447:27:172", + "referencedDeclaration": 74945, + "src": "34447:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28636,7 +28636,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "34439:36:172", + "src": "34439:36:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28649,14 +28649,14 @@ { "arguments": [ { - "id": 76635, + "id": 76665, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34542:16:172", + "referencedDeclaration": 76587, + "src": "34542:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -28664,37 +28664,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76633, + "id": 76663, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34520:14:172", + "referencedDeclaration": 75007, + "src": "34520:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76634, + "id": 76664, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34535:6:172", + "memberLocation": "34535:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "34520:21:172", + "src": "34520:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76636, + "id": 76666, "isConstant": false, "isLValue": false, "isPure": false, @@ -28703,7 +28703,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34520:39:172", + "src": "34520:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28711,12 +28711,12 @@ } }, { - "id": 76637, + "id": 76667, "name": "orderIORatio", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "34561:12:172", + "referencedDeclaration": 76599, + "src": "34561:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28735,33 +28735,33 @@ } ], "expression": { - "id": 76631, + "id": 76661, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "34494:15:172", + "referencedDeclaration": 72714, + "src": "34494:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76632, + "id": 76662, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "34510:9:172", + "memberLocation": "34510:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72543, - "src": "34494:25:172", + "referencedDeclaration": 72573, + "src": "34494:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76638, + "id": 76668, "isConstant": false, "isLValue": false, "isPure": false, @@ -28770,105 +28770,105 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34494:80:172", + "src": "34494:80:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "34439:135:172", + "src": "34439:135:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76640, + "id": 76670, "nodeType": "ExpressionStatement", - "src": "34439:135:172" + "src": "34439:135:173" }, { "expression": { "arguments": [ { - "id": 76642, + "id": 76672, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "34632:5:172", + "referencedDeclaration": 76370, + "src": "34632:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 76643, + "id": 76673, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "34639:13:172", + "referencedDeclaration": 76374, + "src": "34639:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76644, + "id": 76674, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34654:16:172", + "referencedDeclaration": 76587, + "src": "34654:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, { - "id": 76645, + "id": 76675, "name": "orderIORatio", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "34672:12:172", + "referencedDeclaration": 76599, + "src": "34672:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76646, + "id": 76676, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "34686:7:172", + "referencedDeclaration": 76397, + "src": "34686:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, { - "id": 76647, + "id": 76677, "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76518, - "src": "34695:9:172", + "referencedDeclaration": 76548, + "src": "34695:9:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, { - "id": 76648, + "id": 76678, "name": "calculateOrderKVs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76538, - "src": "34706:17:172", + "referencedDeclaration": 76568, + "src": "34706:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28878,7 +28878,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -28886,7 +28886,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, { @@ -28906,18 +28906,18 @@ "typeString": "uint256[] memory" } ], - "id": 76641, + "id": 76671, "name": "OrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "34596:18:172", + "referencedDeclaration": 75005, + "src": "34596:18:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$74975_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$75005_storage_ptr_$", "typeString": "type(struct OrderIOCalculation storage pointer)" } }, - "id": 76649, + "id": 76679, "isConstant": false, "isLValue": false, "isPure": false, @@ -28926,69 +28926,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34596:141:172", + "src": "34596:141:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "functionReturnParameters": 76355, - "id": 76650, + "functionReturnParameters": 76385, + "id": 76680, "nodeType": "Return", - "src": "34589:148:172" + "src": "34589:148:173" } ] } ] }, "documentation": { - "id": 76337, + "id": 76367, "nodeType": "StructuredDocumentation", - "src": "28942:693:172", + "src": "28942:693:173", "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." }, "implemented": true, "kind": "function", "modifiers": [], "name": "calculateOrderIO", - "nameLocation": "29649:16:172", + "nameLocation": "29649:16:173", "parameters": { - "id": 76351, + "id": 76381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76340, + "id": 76370, "mutability": "mutable", "name": "order", - "nameLocation": "29688:5:172", + "nameLocation": "29688:5:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29675:18:172", + "scope": 76683, + "src": "29675:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76339, + "id": 76369, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76338, + "id": 76368, "name": "Order", "nameLocations": [ - "29675:5:172" + "29675:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "29675:5:172" + "referencedDeclaration": 77252, + "src": "29675:5:173" }, - "referencedDeclaration": 77222, - "src": "29675:5:172", + "referencedDeclaration": 77252, + "src": "29675:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -28996,13 +28996,13 @@ }, { "constant": false, - "id": 76342, + "id": 76372, "mutability": "mutable", "name": "inputIOIndex", - "nameLocation": "29711:12:172", + "nameLocation": "29711:12:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29703:20:172", + "scope": 76683, + "src": "29703:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29010,10 +29010,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76341, + "id": 76371, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29703:7:172", + "src": "29703:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29023,13 +29023,13 @@ }, { "constant": false, - "id": 76344, + "id": 76374, "mutability": "mutable", "name": "outputIOIndex", - "nameLocation": "29741:13:172", + "nameLocation": "29741:13:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29733:21:172", + "scope": 76683, + "src": "29733:21:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29037,10 +29037,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76343, + "id": 76373, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29733:7:172", + "src": "29733:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29050,13 +29050,13 @@ }, { "constant": false, - "id": 76346, + "id": 76376, "mutability": "mutable", "name": "counterparty", - "nameLocation": "29772:12:172", + "nameLocation": "29772:12:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29764:20:172", + "scope": 76683, + "src": "29764:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29064,10 +29064,10 @@ "typeString": "address" }, "typeName": { - "id": 76345, + "id": 76375, "name": "address", "nodeType": "ElementaryTypeName", - "src": "29764:7:172", + "src": "29764:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29078,13 +29078,13 @@ }, { "constant": false, - "id": 76350, + "id": 76380, "mutability": "mutable", "name": "signedContext", - "nameLocation": "29819:13:172", + "nameLocation": "29819:13:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29794:38:172", + "scope": 76683, + "src": "29794:38:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -29093,28 +29093,28 @@ }, "typeName": { "baseType": { - "id": 76348, + "id": 76378, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76347, + "id": 76377, "name": "SignedContextV1", "nameLocations": [ - "29794:15:172" + "29794:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56240, - "src": "29794:15:172" + "src": "29794:15:173" }, "referencedDeclaration": 56240, - "src": "29794:15:172", + "src": "29794:15:173", "typeDescriptions": { "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", "typeString": "struct SignedContextV1" } }, - "id": 76349, + "id": 76379, "nodeType": "ArrayTypeName", - "src": "29794:17:172", + "src": "29794:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", "typeString": "struct SignedContextV1[]" @@ -29123,71 +29123,71 @@ "visibility": "internal" } ], - "src": "29665:173:172" + "src": "29665:173:173" }, "returnParameters": { - "id": 76355, + "id": 76385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76354, + "id": 76384, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29862:25:172", + "scope": 76683, + "src": "29862:25:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76353, + "id": 76383, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76352, + "id": 76382, "name": "OrderIOCalculation", "nameLocations": [ - "29862:18:172" + "29862:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "29862:18:172" + "referencedDeclaration": 75005, + "src": "29862:18:173" }, - "referencedDeclaration": 74975, - "src": "29862:18:172", + "referencedDeclaration": 75005, + "src": "29862:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "29861:27:172" + "src": "29861:27:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 76830, + "id": 76860, "nodeType": "FunctionDefinition", - "src": "35328:3665:172", + "src": "35328:3665:173", "nodes": [], "body": { - "id": 76829, + "id": 76859, "nodeType": "Block", - "src": "35495:3498:172", + "src": "35495:3498:173", "nodes": [], "statements": [ { "expression": { - "id": 76675, + "id": 76705, "isConstant": false, "isLValue": false, "isPure": false, @@ -29196,40 +29196,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76667, + "id": 76697, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35505:18:172", + "referencedDeclaration": 76694, + "src": "35505:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76671, + "id": 76701, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35524:7:172", + "memberLocation": "35524:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35505:26:172", + "referencedDeclaration": 74998, + "src": "35505:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76672, + "id": 76702, "indexExpression": { - "id": 76669, + "id": 76699, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "35532:27:172", + "referencedDeclaration": 74949, + "src": "35532:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29240,20 +29240,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35505:55:172", + "src": "35505:55:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76673, + "id": 76703, "indexExpression": { - "id": 76670, + "id": 76700, "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "35561:29:172", + "referencedDeclaration": 74973, + "src": "35561:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29264,7 +29264,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "35505:86:172", + "src": "35505:86:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29273,30 +29273,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 76674, + "id": 76704, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76659, - "src": "35594:5:172", + "referencedDeclaration": 76689, + "src": "35594:5:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35505:94:172", + "src": "35505:94:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76676, + "id": 76706, "nodeType": "ExpressionStatement", - "src": "35505:94:172" + "src": "35505:94:173" }, { "expression": { - "id": 76685, + "id": 76715, "isConstant": false, "isLValue": false, "isPure": false, @@ -29305,40 +29305,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76677, + "id": 76707, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35609:18:172", + "referencedDeclaration": 76694, + "src": "35609:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76681, + "id": 76711, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35628:7:172", + "memberLocation": "35628:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35609:26:172", + "referencedDeclaration": 74998, + "src": "35609:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76682, + "id": 76712, "indexExpression": { - "id": 76679, + "id": 76709, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "35636:28:172", + "referencedDeclaration": 74953, + "src": "35636:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29349,20 +29349,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35609:56:172", + "src": "35609:56:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76683, + "id": 76713, "indexExpression": { - "id": 76680, + "id": 76710, "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "35666:29:172", + "referencedDeclaration": 74973, + "src": "35666:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29373,7 +29373,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "35609:87:172", + "src": "35609:87:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29382,26 +29382,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 76684, + "id": 76714, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "35699:6:172", + "referencedDeclaration": 76691, + "src": "35699:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35609:96:172", + "src": "35609:96:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76686, + "id": 76716, "nodeType": "ExpressionStatement", - "src": "35609:96:172" + "src": "35609:96:173" }, { "condition": { @@ -29409,18 +29409,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76689, + "id": 76719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76687, + "id": 76717, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76659, - "src": "35720:5:172", + "referencedDeclaration": 76689, + "src": "35720:5:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29430,37 +29430,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76688, + "id": 76718, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35728:1:172", + "src": "35728:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "35720:9:172", + "src": "35720:9:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76718, + "id": 76748, "nodeType": "IfStatement", - "src": "35716:360:172", + "src": "35716:360:173", "trueBody": { - "id": 76717, + "id": 76747, "nodeType": "Block", - "src": "35731:345:172", + "src": "35731:345:173", "statements": [ { "expression": { - "id": 76715, + "id": 76745, "isConstant": false, "isLValue": false, "isPure": false, @@ -29469,41 +29469,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76690, + "id": 76720, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "35816:14:172", + "referencedDeclaration": 75058, + "src": "35816:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76711, + "id": 76741, "indexExpression": { "expression": { - "id": 76691, + "id": 76721, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "35831:5:172", + "referencedDeclaration": 76687, + "src": "35831:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76692, + "id": 76722, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35837:5:172", + "memberLocation": "35837:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "35831:11:172", + "referencedDeclaration": 77238, + "src": "35831:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29514,13 +29514,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35816:27:172", + "src": "35816:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76712, + "id": 76742, "indexExpression": { "arguments": [ { @@ -29529,40 +29529,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76697, + "id": 76727, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35877:18:172", + "referencedDeclaration": 76694, + "src": "35877:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76698, + "id": 76728, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35896:7:172", + "memberLocation": "35896:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35877:26:172", + "referencedDeclaration": 74998, + "src": "35877:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76700, + "id": 76730, "indexExpression": { - "id": 76699, + "id": 76729, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "35904:27:172", + "referencedDeclaration": 74949, + "src": "35904:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29573,20 +29573,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35877:55:172", + "src": "35877:55:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76702, + "id": 76732, "indexExpression": { - "id": 76701, + "id": 76731, "name": "CONTEXT_VAULT_IO_TOKEN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74927, - "src": "35933:22:172", + "referencedDeclaration": 74957, + "src": "35933:22:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29597,7 +29597,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35877:79:172", + "src": "35877:79:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29611,26 +29611,26 @@ "typeString": "uint256" } ], - "id": 76696, + "id": 76726, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "35869:7:172", + "src": "35869:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76695, + "id": 76725, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "35869:7:172", + "src": "35869:7:173", "typeDescriptions": {} } }, - "id": 76703, + "id": 76733, "isConstant": false, "isLValue": false, "isPure": false, @@ -29639,7 +29639,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "35869:88:172", + "src": "35869:88:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -29654,26 +29654,26 @@ "typeString": "uint160" } ], - "id": 76694, + "id": 76724, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "35844:7:172", + "src": "35844:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 76693, + "id": 76723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35844:7:172", + "src": "35844:7:173", "typeDescriptions": {} } }, - "id": 76704, + "id": 76734, "isConstant": false, "isLValue": false, "isPure": false, @@ -29682,7 +29682,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "35844:127:172", + "src": "35844:127:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -29694,51 +29694,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35816:156:172", + "src": "35816:156:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76713, + "id": 76743, "indexExpression": { "baseExpression": { "baseExpression": { "expression": { - "id": 76705, + "id": 76735, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35973:18:172", + "referencedDeclaration": 76694, + "src": "35973:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76706, + "id": 76736, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35992:7:172", + "memberLocation": "35992:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35973:26:172", + "referencedDeclaration": 74998, + "src": "35973:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76708, + "id": 76738, "indexExpression": { - "id": 76707, + "id": 76737, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "36000:27:172", + "referencedDeclaration": 74949, + "src": "36000:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29749,20 +29749,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35973:55:172", + "src": "35973:55:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76710, + "id": 76740, "indexExpression": { - "id": 76709, + "id": 76739, "name": "CONTEXT_VAULT_IO_VAULT_ID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74935, - "src": "36029:25:172", + "referencedDeclaration": 74965, + "src": "36029:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29773,7 +29773,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35973:82:172", + "src": "35973:82:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29784,7 +29784,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "35816:240:172", + "src": "35816:240:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29793,26 +29793,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 76714, + "id": 76744, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76659, - "src": "36060:5:172", + "referencedDeclaration": 76689, + "src": "36060:5:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35816:249:172", + "src": "35816:249:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76716, + "id": 76746, "nodeType": "ExpressionStatement", - "src": "35816:249:172" + "src": "35816:249:173" } ] } @@ -29823,18 +29823,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76721, + "id": 76751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76719, + "id": 76749, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "36089:6:172", + "referencedDeclaration": 76691, + "src": "36089:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29844,37 +29844,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76720, + "id": 76750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36098:1:172", + "src": "36098:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "36089:10:172", + "src": "36089:10:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76750, + "id": 76780, "nodeType": "IfStatement", - "src": "36085:365:172", + "src": "36085:365:173", "trueBody": { - "id": 76749, + "id": 76779, "nodeType": "Block", - "src": "36101:349:172", + "src": "36101:349:173", "statements": [ { "expression": { - "id": 76747, + "id": 76777, "isConstant": false, "isLValue": false, "isPure": false, @@ -29883,41 +29883,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76722, + "id": 76752, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "36187:14:172", + "referencedDeclaration": 75058, + "src": "36187:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76743, + "id": 76773, "indexExpression": { "expression": { - "id": 76723, + "id": 76753, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "36202:5:172", + "referencedDeclaration": 76687, + "src": "36202:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76724, + "id": 76754, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36208:5:172", + "memberLocation": "36208:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "36202:11:172", + "referencedDeclaration": 77238, + "src": "36202:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29928,13 +29928,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36187:27:172", + "src": "36187:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76744, + "id": 76774, "indexExpression": { "arguments": [ { @@ -29943,40 +29943,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76729, + "id": 76759, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36248:18:172", + "referencedDeclaration": 76694, + "src": "36248:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76730, + "id": 76760, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36267:7:172", + "memberLocation": "36267:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "36248:26:172", + "referencedDeclaration": 74998, + "src": "36248:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76732, + "id": 76762, "indexExpression": { - "id": 76731, + "id": 76761, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "36275:28:172", + "referencedDeclaration": 74953, + "src": "36275:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29987,20 +29987,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36248:56:172", + "src": "36248:56:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76734, + "id": 76764, "indexExpression": { - "id": 76733, + "id": 76763, "name": "CONTEXT_VAULT_IO_TOKEN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74927, - "src": "36305:22:172", + "referencedDeclaration": 74957, + "src": "36305:22:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30011,7 +30011,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36248:80:172", + "src": "36248:80:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30025,26 +30025,26 @@ "typeString": "uint256" } ], - "id": 76728, + "id": 76758, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "36240:7:172", + "src": "36240:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76727, + "id": 76757, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "36240:7:172", + "src": "36240:7:173", "typeDescriptions": {} } }, - "id": 76735, + "id": 76765, "isConstant": false, "isLValue": false, "isPure": false, @@ -30053,7 +30053,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36240:89:172", + "src": "36240:89:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -30068,26 +30068,26 @@ "typeString": "uint160" } ], - "id": 76726, + "id": 76756, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "36215:7:172", + "src": "36215:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 76725, + "id": 76755, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36215:7:172", + "src": "36215:7:173", "typeDescriptions": {} } }, - "id": 76736, + "id": 76766, "isConstant": false, "isLValue": false, "isPure": false, @@ -30096,7 +30096,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36215:128:172", + "src": "36215:128:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -30108,51 +30108,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36187:157:172", + "src": "36187:157:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76745, + "id": 76775, "indexExpression": { "baseExpression": { "baseExpression": { "expression": { - "id": 76737, + "id": 76767, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36345:18:172", + "referencedDeclaration": 76694, + "src": "36345:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76738, + "id": 76768, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36364:7:172", + "memberLocation": "36364:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "36345:26:172", + "referencedDeclaration": 74998, + "src": "36345:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76740, + "id": 76770, "indexExpression": { - "id": 76739, + "id": 76769, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "36372:28:172", + "referencedDeclaration": 74953, + "src": "36372:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30163,20 +30163,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36345:56:172", + "src": "36345:56:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76742, + "id": 76772, "indexExpression": { - "id": 76741, + "id": 76771, "name": "CONTEXT_VAULT_IO_VAULT_ID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74935, - "src": "36402:25:172", + "referencedDeclaration": 74965, + "src": "36402:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30187,7 +30187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36345:83:172", + "src": "36345:83:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30198,7 +30198,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "36187:242:172", + "src": "36187:242:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30207,26 +30207,26 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 76746, + "id": 76776, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "36433:6:172", + "referencedDeclaration": 76691, + "src": "36433:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "36187:252:172", + "src": "36187:252:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76748, + "id": 76778, "nodeType": "ExpressionStatement", - "src": "36187:252:172" + "src": "36187:252:173" } ] } @@ -30236,26 +30236,26 @@ "arguments": [ { "expression": { - "id": 76752, + "id": 76782, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "36624:3:172", + "src": "36624:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76753, + "id": 76783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "36628:6:172", + "memberLocation": "36628:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "36624:10:172", + "src": "36624:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30263,27 +30263,27 @@ }, { "expression": { - "id": 76754, + "id": 76784, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36636:18:172", + "referencedDeclaration": 76694, + "src": "36636:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76755, + "id": 76785, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36655:7:172", + "memberLocation": "36655:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "36636:26:172", + "referencedDeclaration": 74998, + "src": "36636:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -30301,18 +30301,18 @@ "typeString": "uint256[] memory[] memory" } ], - "id": 76751, + "id": 76781, "name": "Context", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56259, - "src": "36616:7:172", + "src": "36616:7:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (address,uint256[] memory[] memory)" } }, - "id": 76756, + "id": 76786, "isConstant": false, "isLValue": false, "isPure": false, @@ -30321,16 +30321,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36616:47:172", + "src": "36616:47:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76757, + "id": 76787, "nodeType": "EmitStatement", - "src": "36611:52:172" + "src": "36611:52:173" }, { "condition": { @@ -30338,7 +30338,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76762, + "id": 76792, "isConstant": false, "isLValue": false, "isPure": false, @@ -30346,41 +30346,41 @@ "leftExpression": { "expression": { "expression": { - "id": 76758, + "id": 76788, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36894:18:172", + "referencedDeclaration": 76694, + "src": "36894:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76759, + "id": 76789, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36913:3:172", + "memberLocation": "36913:3:173", "memberName": "kvs", "nodeType": "MemberAccess", - "referencedDeclaration": 74974, - "src": "36894:22:172", + "referencedDeclaration": 75004, + "src": "36894:22:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76760, + "id": 76790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "36917:6:172", + "memberLocation": "36917:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "36894:29:172", + "src": "36894:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30390,60 +30390,60 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76761, + "id": 76791, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36926:1:172", + "src": "36926:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "36894:33:172", + "src": "36894:33:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76777, + "id": 76807, "nodeType": "IfStatement", - "src": "36890:470:172", + "src": "36890:470:173", "trueBody": { - "id": 76776, + "id": 76806, "nodeType": "Block", - "src": "36929:431:172", + "src": "36929:431:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 76770, + "id": 76800, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "37296:18:172", + "referencedDeclaration": 76694, + "src": "37296:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76771, + "id": 76801, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37315:9:172", + "memberLocation": "37315:9:173", "memberName": "namespace", "nodeType": "MemberAccess", - "referencedDeclaration": 74971, - "src": "37296:28:172", + "referencedDeclaration": 75001, + "src": "37296:28:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -30451,27 +30451,27 @@ }, { "expression": { - "id": 76772, + "id": 76802, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "37326:18:172", + "referencedDeclaration": 76694, + "src": "37326:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76773, + "id": 76803, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37345:3:172", + "memberLocation": "37345:3:173", "memberName": "kvs", "nodeType": "MemberAccess", - "referencedDeclaration": 74974, - "src": "37326:22:172", + "referencedDeclaration": 75004, + "src": "37326:22:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -30492,63 +30492,63 @@ "expression": { "expression": { "expression": { - "id": 76763, + "id": 76793, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "37270:5:172", + "referencedDeclaration": 76687, + "src": "37270:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76767, + "id": 76797, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37276:9:172", + "memberLocation": "37276:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "37270:15:172", + "referencedDeclaration": 77243, + "src": "37270:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76768, + "id": 76798, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37286:5:172", + "memberLocation": "37286:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "37270:21:172", + "referencedDeclaration": 57307, + "src": "37270:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, - "id": 76769, + "id": 76799, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "37292:3:172", + "memberLocation": "37292:3:173", "memberName": "set", "nodeType": "MemberAccess", "referencedDeclaration": 56285, - "src": "37270:25:172", + "src": "37270:25:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (StateNamespace,uint256[] memory) external" } }, - "id": 76774, + "id": 76804, "isConstant": false, "isLValue": false, "isPure": false, @@ -30557,16 +30557,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "37270:79:172", + "src": "37270:79:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76775, + "id": 76805, "nodeType": "ExpressionStatement", - "src": "37270:79:172" + "src": "37270:79:173" } ] } @@ -30574,55 +30574,55 @@ { "condition": { "expression": { - "id": 76778, + "id": 76808, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "37518:5:172", + "referencedDeclaration": 76687, + "src": "37518:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76779, + "id": 76809, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37524:8:172", + "memberLocation": "37524:8:173", "memberName": "handleIO", "nodeType": "MemberAccess", - "referencedDeclaration": 77210, - "src": "37518:14:172", + "referencedDeclaration": 77240, + "src": "37518:14:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76828, + "id": 76858, "nodeType": "IfStatement", - "src": "37514:1473:172", + "src": "37514:1473:173", "trueBody": { - "id": 76827, + "id": 76857, "nodeType": "Block", - "src": "37534:1453:172", + "src": "37534:1453:173", "statements": [ { "assignments": [ - 76784, - 76787 + 76814, + 76817 ], "declarations": [ { "constant": false, - "id": 76784, + "id": 76814, "mutability": "mutable", "name": "handleIOStack", - "nameLocation": "38009:13:172", + "nameLocation": "38009:13:173", "nodeType": "VariableDeclaration", - "scope": 76827, - "src": "37992:30:172", + "scope": 76857, + "src": "37992:30:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30631,18 +30631,18 @@ }, "typeName": { "baseType": { - "id": 76782, + "id": 76812, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37992:7:172", + "src": "37992:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76783, + "id": 76813, "nodeType": "ArrayTypeName", - "src": "37992:9:172", + "src": "37992:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30652,13 +30652,13 @@ }, { "constant": false, - "id": 76787, + "id": 76817, "mutability": "mutable", "name": "handleIOKVs", - "nameLocation": "38041:11:172", + "nameLocation": "38041:11:173", "nodeType": "VariableDeclaration", - "scope": 76827, - "src": "38024:28:172", + "scope": 76857, + "src": "38024:28:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30667,18 +30667,18 @@ }, "typeName": { "baseType": { - "id": 76785, + "id": 76815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "38024:7:172", + "src": "38024:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76786, + "id": 76816, "nodeType": "ArrayTypeName", - "src": "38024:9:172", + "src": "38024:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30687,48 +30687,48 @@ "visibility": "internal" } ], - "id": 76805, + "id": 76835, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 76792, + "id": 76822, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38106:5:172", + "referencedDeclaration": 76687, + "src": "38106:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76793, + "id": 76823, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38112:9:172", + "memberLocation": "38112:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38106:15:172", + "referencedDeclaration": 77243, + "src": "38106:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76794, + "id": 76824, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38122:5:172", + "memberLocation": "38122:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "38106:21:172", + "referencedDeclaration": 57307, + "src": "38106:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" @@ -30736,27 +30736,27 @@ }, { "expression": { - "id": 76795, + "id": 76825, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "38145:18:172", + "referencedDeclaration": 76694, + "src": "38145:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76796, + "id": 76826, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38164:9:172", + "memberLocation": "38164:9:173", "memberName": "namespace", "nodeType": "MemberAccess", - "referencedDeclaration": 74971, - "src": "38145:28:172", + "referencedDeclaration": 75001, + "src": "38145:28:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -30767,42 +30767,42 @@ { "expression": { "expression": { - "id": 76798, + "id": 76828, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38209:5:172", + "referencedDeclaration": 76687, + "src": "38209:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76799, + "id": 76829, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38215:9:172", + "memberLocation": "38215:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38209:15:172", + "referencedDeclaration": 77243, + "src": "38209:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76800, + "id": 76830, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38225:10:172", + "memberLocation": "38225:10:173", "memberName": "expression", "nodeType": "MemberAccess", - "referencedDeclaration": 57279, - "src": "38209:26:172", + "referencedDeclaration": 57309, + "src": "38209:26:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30816,18 +30816,18 @@ "typeString": "address" } ], - "id": 76797, + "id": 76827, "name": "_handleIODispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77003, - "src": "38191:17:172", + "referencedDeclaration": 77033, + "src": "38191:17:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address) pure returns (EncodedDispatch)" } }, - "id": 76801, + "id": 76831, "isConstant": false, "isLValue": false, "isPure": false, @@ -30836,7 +30836,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "38191:45:172", + "src": "38191:45:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", @@ -30845,27 +30845,27 @@ }, { "expression": { - "id": 76802, + "id": 76832, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "38254:18:172", + "referencedDeclaration": 76694, + "src": "38254:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76803, + "id": 76833, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38273:7:172", + "memberLocation": "38273:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "38254:26:172", + "referencedDeclaration": 74998, + "src": "38254:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -30894,63 +30894,63 @@ "expression": { "expression": { "expression": { - "id": 76788, + "id": 76818, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38056:5:172", + "referencedDeclaration": 76687, + "src": "38056:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76789, + "id": 76819, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38062:9:172", + "memberLocation": "38062:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38056:15:172", + "referencedDeclaration": 77243, + "src": "38056:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76790, + "id": 76820, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38072:11:172", + "memberLocation": "38072:11:173", "memberName": "interpreter", "nodeType": "MemberAccess", - "referencedDeclaration": 57274, - "src": "38056:27:172", + "referencedDeclaration": 57304, + "src": "38056:27:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, - "id": 76791, + "id": 76821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "38084:4:172", + "memberLocation": "38084:4:173", "memberName": "eval", "nodeType": "MemberAccess", "referencedDeclaration": 56346, - "src": "38056:32:172", + "src": "38056:32:173", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" } }, - "id": 76804, + "id": 76834, "isConstant": false, "isLValue": false, "isPure": false, @@ -30959,7 +30959,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "38056:238:172", + "src": "38056:238:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", @@ -30967,40 +30967,40 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "37991:303:172" + "src": "37991:303:173" }, { "expression": { "components": [ { - "id": 76806, + "id": 76836, "name": "handleIOStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76784, - "src": "38367:13:172", + "referencedDeclaration": 76814, + "src": "38367:13:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } } ], - "id": 76807, + "id": 76837, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "38366:15:172", + "src": "38366:15:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76808, + "id": 76838, "nodeType": "ExpressionStatement", - "src": "38366:15:172" + "src": "38366:15:173" }, { "condition": { @@ -31008,33 +31008,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76812, + "id": 76842, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76809, + "id": 76839, "name": "handleIOKVs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76787, - "src": "38505:11:172", + "referencedDeclaration": 76817, + "src": "38505:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76810, + "id": 76840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "38517:6:172", + "memberLocation": "38517:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "38505:18:172", + "src": "38505:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31044,72 +31044,72 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76811, + "id": 76841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "38526:1:172", + "src": "38526:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "38505:22:172", + "src": "38505:22:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76826, + "id": 76856, "nodeType": "IfStatement", - "src": "38501:476:172", + "src": "38501:476:173", "trueBody": { - "id": 76825, + "id": 76855, "nodeType": "Block", - "src": "38529:448:172", + "src": "38529:448:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 76820, + "id": 76850, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "38920:18:172", + "referencedDeclaration": 76694, + "src": "38920:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76821, + "id": 76851, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38939:9:172", + "memberLocation": "38939:9:173", "memberName": "namespace", "nodeType": "MemberAccess", - "referencedDeclaration": 74971, - "src": "38920:28:172", + "referencedDeclaration": 75001, + "src": "38920:28:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, { - "id": 76822, + "id": 76852, "name": "handleIOKVs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76787, - "src": "38950:11:172", + "referencedDeclaration": 76817, + "src": "38950:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -31130,63 +31130,63 @@ "expression": { "expression": { "expression": { - "id": 76813, + "id": 76843, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38894:5:172", + "referencedDeclaration": 76687, + "src": "38894:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76817, + "id": 76847, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38900:9:172", + "memberLocation": "38900:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38894:15:172", + "referencedDeclaration": 77243, + "src": "38894:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76818, + "id": 76848, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38910:5:172", + "memberLocation": "38910:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "38894:21:172", + "referencedDeclaration": 57307, + "src": "38894:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, - "id": 76819, + "id": 76849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "38916:3:172", + "memberLocation": "38916:3:173", "memberName": "set", "nodeType": "MemberAccess", "referencedDeclaration": 56285, - "src": "38894:25:172", + "src": "38894:25:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (StateNamespace,uint256[] memory) external" } }, - "id": 76823, + "id": 76853, "isConstant": false, "isLValue": false, "isPure": false, @@ -31195,16 +31195,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "38894:68:172", + "src": "38894:68:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76824, + "id": 76854, "nodeType": "ExpressionStatement", - "src": "38894:68:172" + "src": "38894:68:173" } ] } @@ -31215,52 +31215,52 @@ ] }, "documentation": { - "id": 76654, + "id": 76684, "nodeType": "StructuredDocumentation", - "src": "34760:563:172", + "src": "34760:563:173", "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." }, "implemented": true, "kind": "function", "modifiers": [], "name": "recordVaultIO", - "nameLocation": "35337:13:172", + "nameLocation": "35337:13:173", "parameters": { - "id": 76665, + "id": 76695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76657, + "id": 76687, "mutability": "mutable", "name": "order", - "nameLocation": "35373:5:172", + "nameLocation": "35373:5:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35360:18:172", + "scope": 76860, + "src": "35360:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76656, + "id": 76686, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76655, + "id": 76685, "name": "Order", "nameLocations": [ - "35360:5:172" + "35360:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "35360:5:172" + "referencedDeclaration": 77252, + "src": "35360:5:173" }, - "referencedDeclaration": 77222, - "src": "35360:5:172", + "referencedDeclaration": 77252, + "src": "35360:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -31268,13 +31268,13 @@ }, { "constant": false, - "id": 76659, + "id": 76689, "mutability": "mutable", "name": "input", - "nameLocation": "35396:5:172", + "nameLocation": "35396:5:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35388:13:172", + "scope": 76860, + "src": "35388:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31282,10 +31282,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76658, + "id": 76688, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "35388:7:172", + "src": "35388:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31295,13 +31295,13 @@ }, { "constant": false, - "id": 76661, + "id": 76691, "mutability": "mutable", "name": "output", - "nameLocation": "35419:6:172", + "nameLocation": "35419:6:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35411:14:172", + "scope": 76860, + "src": "35411:14:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31309,10 +31309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76660, + "id": 76690, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "35411:7:172", + "src": "35411:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31322,102 +31322,102 @@ }, { "constant": false, - "id": 76664, + "id": 76694, "mutability": "mutable", "name": "orderIOCalculation", - "nameLocation": "35461:18:172", + "nameLocation": "35461:18:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35435:44:172", + "scope": 76860, + "src": "35435:44:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76663, + "id": 76693, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76662, + "id": 76692, "name": "OrderIOCalculation", "nameLocations": [ - "35435:18:172" + "35435:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "35435:18:172" + "referencedDeclaration": 75005, + "src": "35435:18:173" }, - "referencedDeclaration": 74975, - "src": "35435:18:172", + "referencedDeclaration": 75005, + "src": "35435:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "35350:135:172" + "src": "35350:135:173" }, "returnParameters": { - "id": 76666, + "id": 76696, "nodeType": "ParameterList", "parameters": [], - "src": "35495:0:172" + "src": "35495:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 76856, + "id": 76886, "nodeType": "FunctionDefinition", - "src": "39537:486:172", + "src": "39537:486:173", "nodes": [], "body": { - "id": 76855, + "id": 76885, "nodeType": "Block", - "src": "39759:264:172", + "src": "39759:264:173", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 76844, + "id": 76874, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76841, - "src": "39794:16:172", + "referencedDeclaration": 76871, + "src": "39794:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, { - "id": 76845, + "id": 76875, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76834, - "src": "39812:23:172", + "referencedDeclaration": 76864, + "src": "39812:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, { - "id": 76846, + "id": 76876, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76837, - "src": "39837:21:172", + "referencedDeclaration": 76867, + "src": "39837:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -31425,30 +31425,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76843, + "id": 76873, "name": "calculateClearStateAlice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76971, - "src": "39769:24:172", + "referencedDeclaration": 77001, + "src": "39769:24:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" } }, - "id": 76847, + "id": 76877, "isConstant": false, "isLValue": false, "isPure": false, @@ -31457,53 +31457,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39769:90:172", + "src": "39769:90:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76848, + "id": 76878, "nodeType": "ExpressionStatement", - "src": "39769:90:172" + "src": "39769:90:173" }, { "expression": { "arguments": [ { - "id": 76850, + "id": 76880, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76841, - "src": "39951:16:172", + "referencedDeclaration": 76871, + "src": "39951:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, { - "id": 76851, + "id": 76881, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76837, - "src": "39969:21:172", + "referencedDeclaration": 76867, + "src": "39969:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, { - "id": 76852, + "id": 76882, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76834, - "src": "39992:23:172", + "referencedDeclaration": 76864, + "src": "39992:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -31511,30 +31511,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76849, + "id": 76879, "name": "calculateClearStateAlice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76971, - "src": "39926:24:172", + "referencedDeclaration": 77001, + "src": "39926:24:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" } }, - "id": 76853, + "id": 76883, "isConstant": false, "isLValue": false, "isPure": false, @@ -31543,66 +31543,66 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39926:90:172", + "src": "39926:90:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76854, + "id": 76884, "nodeType": "ExpressionStatement", - "src": "39926:90:172" + "src": "39926:90:173" } ] }, "documentation": { - "id": 76831, + "id": 76861, "nodeType": "StructuredDocumentation", - "src": "38999:533:172", + "src": "38999:533:173", "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." }, "implemented": true, "kind": "function", "modifiers": [], "name": "calculateClearStateChange", - "nameLocation": "39546:25:172", + "nameLocation": "39546:25:173", "parameters": { - "id": 76838, + "id": 76868, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76834, + "id": 76864, "mutability": "mutable", "name": "aliceOrderIOCalculation", - "nameLocation": "39607:23:172", + "nameLocation": "39607:23:173", "nodeType": "VariableDeclaration", - "scope": 76856, - "src": "39581:49:172", + "scope": 76886, + "src": "39581:49:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76833, + "id": 76863, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76832, + "id": 76862, "name": "OrderIOCalculation", "nameLocations": [ - "39581:18:172" + "39581:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "39581:18:172" + "referencedDeclaration": 75005, + "src": "39581:18:173" }, - "referencedDeclaration": 74975, - "src": "39581:18:172", + "referencedDeclaration": 75005, + "src": "39581:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, @@ -31610,175 +31610,175 @@ }, { "constant": false, - "id": 76837, + "id": 76867, "mutability": "mutable", "name": "bobOrderIOCalculation", - "nameLocation": "39666:21:172", + "nameLocation": "39666:21:173", "nodeType": "VariableDeclaration", - "scope": 76856, - "src": "39640:47:172", + "scope": 76886, + "src": "39640:47:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76836, + "id": 76866, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76835, + "id": 76865, "name": "OrderIOCalculation", "nameLocations": [ - "39640:18:172" + "39640:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "39640:18:172" + "referencedDeclaration": 75005, + "src": "39640:18:173" }, - "referencedDeclaration": 74975, - "src": "39640:18:172", + "referencedDeclaration": 75005, + "src": "39640:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "39571:122:172" + "src": "39571:122:173" }, "returnParameters": { - "id": 76842, + "id": 76872, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76841, + "id": 76871, "mutability": "mutable", "name": "clearStateChange", - "nameLocation": "39741:16:172", + "nameLocation": "39741:16:173", "nodeType": "VariableDeclaration", - "scope": 76856, - "src": "39717:40:172", + "scope": 76886, + "src": "39717:40:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange" }, "typeName": { - "id": 76840, + "id": 76870, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76839, + "id": 76869, "name": "ClearStateChange", "nameLocations": [ - "39717:16:172" + "39717:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77271, - "src": "39717:16:172" + "referencedDeclaration": 77301, + "src": "39717:16:173" }, - "referencedDeclaration": 77271, - "src": "39717:16:172", + "referencedDeclaration": 77301, + "src": "39717:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", "typeString": "struct ClearStateChange" } }, "visibility": "internal" } ], - "src": "39716:42:172" + "src": "39716:42:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 76971, + "id": 77001, "nodeType": "FunctionDefinition", - "src": "40029:2055:172", + "src": "40029:2055:173", "nodes": [], "body": { - "id": 76970, + "id": 77000, "nodeType": "Block", - "src": "40249:1835:172", + "src": "40249:1835:173", "nodes": [], "statements": [ { "assignments": [ - 76870 + 76900 ], "declarations": [ { "constant": false, - "id": 76870, + "id": 76900, "mutability": "mutable", "name": "bobInputMax18", - "nameLocation": "40466:13:172", + "nameLocation": "40466:13:173", "nodeType": "VariableDeclaration", - "scope": 76970, - "src": "40452:27:172", + "scope": 77000, + "src": "40452:27:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 76869, + "id": 76899, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76868, + "id": 76898, "name": "Input18Amount", "nameLocations": [ - "40452:13:172" + "40452:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "40452:13:172" + "referencedDeclaration": 75009, + "src": "40452:13:173" }, - "referencedDeclaration": 74979, - "src": "40452:13:172", + "referencedDeclaration": 75009, + "src": "40452:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 76886, + "id": 76916, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 76879, + "id": 76909, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "40600:21:172", + "referencedDeclaration": 76895, + "src": "40600:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76880, + "id": 76910, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "40622:7:172", + "memberLocation": "40622:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "40600:29:172", + "referencedDeclaration": 74994, + "src": "40600:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31787,42 +31787,42 @@ { "expression": { "expression": { - "id": 76881, + "id": 76911, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "40631:4:172", + "src": "40631:4:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", "typeString": "type(library Math)" } }, - "id": 76882, + "id": 76912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "40636:8:172", + "memberLocation": "40636:8:173", "memberName": "Rounding", "nodeType": "MemberAccess", "referencedDeclaration": 45957, - "src": "40631:13:172", + "src": "40631:13:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 76883, + "id": 76913, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40645:2:172", + "memberLocation": "40645:2:173", "memberName": "Up", "nodeType": "MemberAccess", "referencedDeclaration": 45955, - "src": "40631:16:172", + "src": "40631:16:173", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$45957", "typeString": "enum Math.Rounding" @@ -31844,29 +31844,29 @@ "arguments": [ { "expression": { - "id": 76875, + "id": 76905, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "40536:21:172", + "referencedDeclaration": 76895, + "src": "40536:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76876, + "id": 76906, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "40558:9:172", + "memberLocation": "40558:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "40536:31:172", + "referencedDeclaration": 74992, + "src": "40536:31:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -31874,37 +31874,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76873, + "id": 76903, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "40514:14:172", + "referencedDeclaration": 75007, + "src": "40514:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76874, + "id": 76904, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40529:6:172", + "memberLocation": "40529:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40514:21:172", + "src": "40514:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76877, + "id": 76907, "isConstant": false, "isLValue": false, "isPure": false, @@ -31913,29 +31913,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40514:54:172", + "src": "40514:54:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76878, + "id": 76908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "40569:13:172", + "memberLocation": "40569:13:173", "memberName": "fixedPointMul", "nodeType": "MemberAccess", - "referencedDeclaration": 71288, - "src": "40514:68:172", + "referencedDeclaration": 71318, + "src": "40514:68:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" } }, - "id": 76884, + "id": 76914, "isConstant": false, "isLValue": false, "isPure": false, @@ -31944,7 +31944,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40514:147:172", + "src": "40514:147:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31960,32 +31960,32 @@ } ], "expression": { - "id": 76871, + "id": 76901, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "40482:13:172", + "referencedDeclaration": 75009, + "src": "40482:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76872, + "id": 76902, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40496:4:172", + "memberLocation": "40496:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "40482:18:172", + "src": "40482:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 76885, + "id": 76915, "isConstant": false, "isLValue": false, "isPure": false, @@ -31994,90 +31994,90 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40482:189:172", + "src": "40482:189:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "40452:219:172" + "src": "40452:219:173" }, { "assignments": [ - 76889 + 76919 ], "declarations": [ { "constant": false, - "id": 76889, + "id": 76919, "mutability": "mutable", "name": "aliceOutputMax18", - "nameLocation": "40696:16:172", + "nameLocation": "40696:16:173", "nodeType": "VariableDeclaration", - "scope": 76970, - "src": "40681:31:172", + "scope": 77000, + "src": "40681:31:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 76888, + "id": 76918, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76887, + "id": 76917, "name": "Output18Amount", "nameLocations": [ - "40681:14:172" + "40681:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "40681:14:172" + "referencedDeclaration": 75007, + "src": "40681:14:173" }, - "referencedDeclaration": 74977, - "src": "40681:14:172", + "referencedDeclaration": 75007, + "src": "40681:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 76892, + "id": 76922, "initialValue": { "expression": { - "id": 76890, + "id": 76920, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "40715:23:172", + "referencedDeclaration": 76892, + "src": "40715:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76891, + "id": 76921, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "40739:9:172", + "memberLocation": "40739:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "40715:33:172", + "referencedDeclaration": 74992, + "src": "40715:33:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "40681:67:172" + "src": "40681:67:173" }, { "condition": { @@ -32085,7 +32085,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76901, + "id": 76931, "isConstant": false, "isLValue": false, "isPure": false, @@ -32093,14 +32093,14 @@ "leftExpression": { "arguments": [ { - "id": 76895, + "id": 76925, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "40861:16:172", + "referencedDeclaration": 76919, + "src": "40861:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -32108,37 +32108,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76893, + "id": 76923, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "40839:14:172", + "referencedDeclaration": 75007, + "src": "40839:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76894, + "id": 76924, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40854:6:172", + "memberLocation": "40854:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40839:21:172", + "src": "40839:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76896, + "id": 76926, "isConstant": false, "isLValue": false, "isPure": false, @@ -32147,7 +32147,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40839:39:172", + "src": "40839:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32159,14 +32159,14 @@ "rightExpression": { "arguments": [ { - "id": 76899, + "id": 76929, "name": "bobInputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76870, - "src": "40902:13:172", + "referencedDeclaration": 76900, + "src": "40902:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -32174,37 +32174,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 76897, + "id": 76927, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "40881:13:172", + "referencedDeclaration": 75009, + "src": "40881:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76898, + "id": 76928, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40895:6:172", + "memberLocation": "40895:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40881:20:172", + "src": "40881:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 76900, + "id": 76930, "isConstant": false, "isLValue": false, "isPure": false, @@ -32213,43 +32213,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40881:35:172", + "src": "40881:35:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "40839:77:172", + "src": "40839:77:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76913, + "id": 76943, "nodeType": "IfStatement", - "src": "40835:183:172", + "src": "40835:183:173", "trueBody": { - "id": 76912, + "id": 76942, "nodeType": "Block", - "src": "40918:100:172", + "src": "40918:100:173", "statements": [ { "expression": { - "id": 76910, + "id": 76940, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 76902, + "id": 76932, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "40932:16:172", + "referencedDeclaration": 76919, + "src": "40932:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, @@ -32260,14 +32260,14 @@ { "arguments": [ { - "id": 76907, + "id": 76937, "name": "bobInputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76870, - "src": "40992:13:172", + "referencedDeclaration": 76900, + "src": "40992:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -32275,37 +32275,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 76905, + "id": 76935, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "40971:13:172", + "referencedDeclaration": 75009, + "src": "40971:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76906, + "id": 76936, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40985:6:172", + "memberLocation": "40985:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40971:20:172", + "src": "40971:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 76908, + "id": 76938, "isConstant": false, "isLValue": false, "isPure": false, @@ -32314,7 +32314,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40971:35:172", + "src": "40971:35:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32330,32 +32330,32 @@ } ], "expression": { - "id": 76903, + "id": 76933, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "40951:14:172", + "referencedDeclaration": 75007, + "src": "40951:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76904, + "id": 76934, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40966:4:172", + "memberLocation": "40966:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "40951:19:172", + "src": "40951:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 76909, + "id": 76939, "isConstant": false, "isLValue": false, "isPure": false, @@ -32364,56 +32364,56 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40951:56:172", + "src": "40951:56:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "src": "40932:75:172", + "src": "40932:75:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "id": 76911, + "id": 76941, "nodeType": "ExpressionStatement", - "src": "40932:75:172" + "src": "40932:75:173" } ] } }, { "expression": { - "id": 76931, + "id": 76961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 76914, + "id": 76944, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76859, - "src": "41149:16:172", + "referencedDeclaration": 76889, + "src": "41149:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76916, + "id": 76946, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "41166:11:172", + "memberLocation": "41166:11:173", "memberName": "aliceOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77264, - "src": "41149:28:172", + "referencedDeclaration": 77294, + "src": "41149:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,71 +32428,71 @@ "baseExpression": { "expression": { "expression": { - "id": 76922, + "id": 76952, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "41240:23:172", + "referencedDeclaration": 76892, + "src": "41240:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76923, + "id": 76953, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41264:5:172", + "memberLocation": "41264:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 74957, - "src": "41240:29:172", + "referencedDeclaration": 74987, + "src": "41240:29:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76924, + "id": 76954, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41270:12:172", + "memberLocation": "41270:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "41240:42:172", + "referencedDeclaration": 77251, + "src": "41240:42:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76927, + "id": 76957, "indexExpression": { "expression": { - "id": 76925, + "id": 76955, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "41283:23:172", + "referencedDeclaration": 76892, + "src": "41283:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76926, + "id": 76956, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41307:13:172", + "memberLocation": "41307:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 74959, - "src": "41283:37:172", + "referencedDeclaration": 74989, + "src": "41283:37:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32503,22 +32503,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41240:81:172", + "src": "41240:81:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76928, + "id": 76958, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41322:8:172", + "memberLocation": "41322:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "41240:90:172", + "referencedDeclaration": 77219, + "src": "41240:90:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32526,14 +32526,14 @@ }, { "hexValue": "30", - "id": 76929, + "id": 76959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "41332:1:172", + "src": "41332:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -32555,14 +32555,14 @@ "expression": { "arguments": [ { - "id": 76919, + "id": 76949, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41202:16:172", + "referencedDeclaration": 76919, + "src": "41202:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -32570,37 +32570,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76917, + "id": 76947, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "41180:14:172", + "referencedDeclaration": 75007, + "src": "41180:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76918, + "id": 76948, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41195:6:172", + "memberLocation": "41195:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "41180:21:172", + "src": "41180:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76920, + "id": 76950, "isConstant": false, "isLValue": false, "isPure": false, @@ -32609,29 +32609,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41180:39:172", + "src": "41180:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76921, + "id": 76951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41220:6:172", + "memberLocation": "41220:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "41180:46:172", + "referencedDeclaration": 71666, + "src": "41180:46:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 76930, + "id": 76960, "isConstant": false, "isLValue": false, "isPure": false, @@ -32640,94 +32640,94 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41180:163:172", + "src": "41180:163:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "41149:194:172", + "src": "41149:194:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76932, + "id": 76962, "nodeType": "ExpressionStatement", - "src": "41149:194:172" + "src": "41149:194:173" }, { "assignments": [ - 76935 + 76965 ], "declarations": [ { "constant": false, - "id": 76935, + "id": 76965, "mutability": "mutable", "name": "aliceInput18", - "nameLocation": "41446:12:172", + "nameLocation": "41446:12:173", "nodeType": "VariableDeclaration", - "scope": 76970, - "src": "41432:26:172", + "scope": 77000, + "src": "41432:26:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 76934, + "id": 76964, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76933, + "id": 76963, "name": "Input18Amount", "nameLocations": [ - "41432:13:172" + "41432:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "41432:13:172" + "referencedDeclaration": 75009, + "src": "41432:13:173" }, - "referencedDeclaration": 74979, - "src": "41432:13:172", + "referencedDeclaration": 75009, + "src": "41432:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 76950, + "id": 76980, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 76943, + "id": 76973, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "41547:23:172", + "referencedDeclaration": 76892, + "src": "41547:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76944, + "id": 76974, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41571:7:172", + "memberLocation": "41571:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "41547:31:172", + "referencedDeclaration": 74994, + "src": "41547:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32736,42 +32736,42 @@ { "expression": { "expression": { - "id": 76945, + "id": 76975, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "41580:4:172", + "src": "41580:4:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", "typeString": "type(library Math)" } }, - "id": 76946, + "id": 76976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41585:8:172", + "memberLocation": "41585:8:173", "memberName": "Rounding", "nodeType": "MemberAccess", "referencedDeclaration": 45957, - "src": "41580:13:172", + "src": "41580:13:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 76947, + "id": 76977, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41594:2:172", + "memberLocation": "41594:2:173", "memberName": "Up", "nodeType": "MemberAccess", "referencedDeclaration": 45955, - "src": "41580:16:172", + "src": "41580:16:173", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$45957", "typeString": "enum Math.Rounding" @@ -32792,14 +32792,14 @@ "expression": { "arguments": [ { - "id": 76940, + "id": 76970, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41515:16:172", + "referencedDeclaration": 76919, + "src": "41515:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -32807,37 +32807,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76938, + "id": 76968, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "41493:14:172", + "referencedDeclaration": 75007, + "src": "41493:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76939, + "id": 76969, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41508:6:172", + "memberLocation": "41508:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "41493:21:172", + "src": "41493:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76941, + "id": 76971, "isConstant": false, "isLValue": false, "isPure": false, @@ -32846,29 +32846,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41493:39:172", + "src": "41493:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76942, + "id": 76972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41533:13:172", + "memberLocation": "41533:13:173", "memberName": "fixedPointMul", "nodeType": "MemberAccess", - "referencedDeclaration": 71288, - "src": "41493:53:172", + "referencedDeclaration": 71318, + "src": "41493:53:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" } }, - "id": 76948, + "id": 76978, "isConstant": false, "isLValue": false, "isPure": false, @@ -32877,7 +32877,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41493:104:172", + "src": "41493:104:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32893,32 +32893,32 @@ } ], "expression": { - "id": 76936, + "id": 76966, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "41461:13:172", + "referencedDeclaration": 75009, + "src": "41461:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76937, + "id": 76967, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41475:4:172", + "memberLocation": "41475:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "41461:18:172", + "src": "41461:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 76949, + "id": 76979, "isConstant": false, "isLValue": false, "isPure": false, @@ -32927,46 +32927,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41461:146:172", + "src": "41461:146:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "41432:175:172" + "src": "41432:175:173" }, { "expression": { - "id": 76968, + "id": 76998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 76951, + "id": 76981, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76859, - "src": "41617:16:172", + "referencedDeclaration": 76889, + "src": "41617:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76953, + "id": 76983, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "41634:10:172", + "memberLocation": "41634:10:173", "memberName": "aliceInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77268, - "src": "41617:27:172", + "referencedDeclaration": 77298, + "src": "41617:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32981,71 +32981,71 @@ "baseExpression": { "expression": { "expression": { - "id": 76959, + "id": 76989, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "41966:21:172", + "referencedDeclaration": 76895, + "src": "41966:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76960, + "id": 76990, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41988:5:172", + "memberLocation": "41988:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 74957, - "src": "41966:27:172", + "referencedDeclaration": 74987, + "src": "41966:27:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76961, + "id": 76991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41994:12:172", + "memberLocation": "41994:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "41966:40:172", + "referencedDeclaration": 77251, + "src": "41966:40:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76964, + "id": 76994, "indexExpression": { "expression": { - "id": 76962, + "id": 76992, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "42007:21:172", + "referencedDeclaration": 76895, + "src": "42007:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76963, + "id": 76993, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "42029:13:172", + "memberLocation": "42029:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 74959, - "src": "42007:35:172", + "referencedDeclaration": 74989, + "src": "42007:35:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33056,34 +33056,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41966:77:172", + "src": "41966:77:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76965, + "id": 76995, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "42044:8:172", + "memberLocation": "42044:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "41966:86:172", + "referencedDeclaration": 77219, + "src": "41966:86:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 76966, + "id": 76996, "name": "FLAG_ROUND_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71243, - "src": "42054:13:172", + "referencedDeclaration": 71273, + "src": "42054:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33104,14 +33104,14 @@ "expression": { "arguments": [ { - "id": 76956, + "id": 76986, "name": "aliceInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76935, - "src": "41932:12:172", + "referencedDeclaration": 76965, + "src": "41932:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -33119,37 +33119,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 76954, + "id": 76984, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "41911:13:172", + "referencedDeclaration": 75009, + "src": "41911:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76955, + "id": 76985, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41925:6:172", + "memberLocation": "41925:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "41911:20:172", + "src": "41911:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 76957, + "id": 76987, "isConstant": false, "isLValue": false, "isPure": false, @@ -33158,29 +33158,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41911:34:172", + "src": "41911:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76958, + "id": 76988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41946:6:172", + "memberLocation": "41946:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "41911:41:172", + "referencedDeclaration": 71666, + "src": "41911:41:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 76967, + "id": 76997, "isConstant": false, "isLValue": false, "isPure": false, @@ -33189,22 +33189,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41911:166:172", + "src": "41911:166:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "41617:460:172", + "src": "41617:460:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76969, + "id": 76999, "nodeType": "ExpressionStatement", - "src": "41617:460:172" + "src": "41617:460:173" } ] }, @@ -33212,43 +33212,43 @@ "kind": "function", "modifiers": [], "name": "calculateClearStateAlice", - "nameLocation": "40038:24:172", + "nameLocation": "40038:24:173", "parameters": { - "id": 76866, + "id": 76896, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76859, + "id": 76889, "mutability": "mutable", "name": "clearStateChange", - "nameLocation": "40096:16:172", + "nameLocation": "40096:16:173", "nodeType": "VariableDeclaration", - "scope": 76971, - "src": "40072:40:172", + "scope": 77001, + "src": "40072:40:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange" }, "typeName": { - "id": 76858, + "id": 76888, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76857, + "id": 76887, "name": "ClearStateChange", "nameLocations": [ - "40072:16:172" + "40072:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77271, - "src": "40072:16:172" + "referencedDeclaration": 77301, + "src": "40072:16:173" }, - "referencedDeclaration": 77271, - "src": "40072:16:172", + "referencedDeclaration": 77301, + "src": "40072:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", "typeString": "struct ClearStateChange" } }, @@ -33256,36 +33256,36 @@ }, { "constant": false, - "id": 76862, + "id": 76892, "mutability": "mutable", "name": "aliceOrderIOCalculation", - "nameLocation": "40148:23:172", + "nameLocation": "40148:23:173", "nodeType": "VariableDeclaration", - "scope": 76971, - "src": "40122:49:172", + "scope": 77001, + "src": "40122:49:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76861, + "id": 76891, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76860, + "id": 76890, "name": "OrderIOCalculation", "nameLocations": [ - "40122:18:172" + "40122:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "40122:18:172" + "referencedDeclaration": 75005, + "src": "40122:18:173" }, - "referencedDeclaration": 74975, - "src": "40122:18:172", + "referencedDeclaration": 75005, + "src": "40122:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, @@ -33293,100 +33293,100 @@ }, { "constant": false, - "id": 76865, + "id": 76895, "mutability": "mutable", "name": "bobOrderIOCalculation", - "nameLocation": "40207:21:172", + "nameLocation": "40207:21:173", "nodeType": "VariableDeclaration", - "scope": 76971, - "src": "40181:47:172", + "scope": 77001, + "src": "40181:47:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76864, + "id": 76894, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76863, + "id": 76893, "name": "OrderIOCalculation", "nameLocations": [ - "40181:18:172" + "40181:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "40181:18:172" + "referencedDeclaration": 75005, + "src": "40181:18:173" }, - "referencedDeclaration": 74975, - "src": "40181:18:172", + "referencedDeclaration": 75005, + "src": "40181:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "40062:172:172" + "src": "40062:172:173" }, "returnParameters": { - "id": 76867, + "id": 76897, "nodeType": "ParameterList", "parameters": [], - "src": "40249:0:172" + "src": "40249:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 76987, + "id": 77017, "nodeType": "FunctionDefinition", - "src": "42090:213:172", + "src": "42090:213:173", "nodes": [], "body": { - "id": 76986, + "id": 77016, "nodeType": "Block", - "src": "42184:119:172", + "src": "42184:119:173", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 76981, + "id": 77011, "name": "expression_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76973, - "src": "42227:11:172", + "referencedDeclaration": 77003, + "src": "42227:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76982, + "id": 77012, "name": "CALCULATE_ORDER_ENTRYPOINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74875, - "src": "42240:26:172", + "referencedDeclaration": 74905, + "src": "42240:26:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, { - "id": 76983, + "id": 77013, "name": "CALCULATE_ORDER_MAX_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74891, - "src": "42268:27:172", + "referencedDeclaration": 74921, + "src": "42268:27:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -33409,33 +33409,33 @@ } ], "expression": { - "id": 76979, + "id": 77009, "name": "LibEncodedDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57246, - "src": "42201:18:172", + "referencedDeclaration": 57276, + "src": "42201:18:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", "typeString": "type(library LibEncodedDispatch)" } }, - "id": 76980, + "id": 77010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "42220:6:172", + "memberLocation": "42220:6:173", "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 57197, - "src": "42201:25:172", + "referencedDeclaration": 57227, + "src": "42201:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" } }, - "id": 76984, + "id": 77014, "isConstant": false, "isLValue": false, "isPure": false, @@ -33444,17 +33444,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "42201:95:172", + "src": "42201:95:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } }, - "functionReturnParameters": 76978, - "id": 76985, + "functionReturnParameters": 77008, + "id": 77015, "nodeType": "Return", - "src": "42194:102:172" + "src": "42194:102:173" } ] }, @@ -33462,20 +33462,20 @@ "kind": "function", "modifiers": [], "name": "_calculateOrderDispatch", - "nameLocation": "42099:23:172", + "nameLocation": "42099:23:173", "parameters": { - "id": 76974, + "id": 77004, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76973, + "id": 77003, "mutability": "mutable", "name": "expression_", - "nameLocation": "42131:11:172", + "nameLocation": "42131:11:173", "nodeType": "VariableDeclaration", - "scope": 76987, - "src": "42123:19:172", + "scope": 77017, + "src": "42123:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33483,10 +33483,10 @@ "typeString": "address" }, "typeName": { - "id": 76972, + "id": 77002, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42123:7:172", + "src": "42123:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33496,21 +33496,21 @@ "visibility": "internal" } ], - "src": "42122:21:172" + "src": "42122:21:173" }, "returnParameters": { - "id": 76978, + "id": 77008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76977, + "id": 77007, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 76987, - "src": "42167:15:172", + "scope": 77017, + "src": "42167:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33518,20 +33518,20 @@ "typeString": "EncodedDispatch" }, "typeName": { - "id": 76976, + "id": 77006, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76975, + "id": 77005, "name": "EncodedDispatch", "nameLocations": [ - "42167:15:172" + "42167:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56304, - "src": "42167:15:172" + "src": "42167:15:173" }, "referencedDeclaration": 56304, - "src": "42167:15:172", + "src": "42167:15:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" @@ -33540,58 +33540,58 @@ "visibility": "internal" } ], - "src": "42166:17:172" + "src": "42166:17:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 77003, + "id": 77033, "nodeType": "FunctionDefinition", - "src": "42309:195:172", + "src": "42309:195:173", "nodes": [], "body": { - "id": 77002, + "id": 77032, "nodeType": "Block", - "src": "42397:107:172", + "src": "42397:107:173", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 76997, + "id": 77027, "name": "expression_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76989, - "src": "42440:11:172", + "referencedDeclaration": 77019, + "src": "42440:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76998, + "id": 77028, "name": "HANDLE_IO_ENTRYPOINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74883, - "src": "42453:20:172", + "referencedDeclaration": 74913, + "src": "42453:20:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, { - "id": 76999, + "id": 77029, "name": "HANDLE_IO_MAX_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74899, - "src": "42475:21:172", + "referencedDeclaration": 74929, + "src": "42475:21:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -33614,33 +33614,33 @@ } ], "expression": { - "id": 76995, + "id": 77025, "name": "LibEncodedDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57246, - "src": "42414:18:172", + "referencedDeclaration": 57276, + "src": "42414:18:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", "typeString": "type(library LibEncodedDispatch)" } }, - "id": 76996, + "id": 77026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "42433:6:172", + "memberLocation": "42433:6:173", "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 57197, - "src": "42414:25:172", + "referencedDeclaration": 57227, + "src": "42414:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" } }, - "id": 77000, + "id": 77030, "isConstant": false, "isLValue": false, "isPure": false, @@ -33649,17 +33649,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "42414:83:172", + "src": "42414:83:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } }, - "functionReturnParameters": 76994, - "id": 77001, + "functionReturnParameters": 77024, + "id": 77031, "nodeType": "Return", - "src": "42407:90:172" + "src": "42407:90:173" } ] }, @@ -33667,20 +33667,20 @@ "kind": "function", "modifiers": [], "name": "_handleIODispatch", - "nameLocation": "42318:17:172", + "nameLocation": "42318:17:173", "parameters": { - "id": 76990, + "id": 77020, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76989, + "id": 77019, "mutability": "mutable", "name": "expression_", - "nameLocation": "42344:11:172", + "nameLocation": "42344:11:173", "nodeType": "VariableDeclaration", - "scope": 77003, - "src": "42336:19:172", + "scope": 77033, + "src": "42336:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33688,10 +33688,10 @@ "typeString": "address" }, "typeName": { - "id": 76988, + "id": 77018, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42336:7:172", + "src": "42336:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33701,21 +33701,21 @@ "visibility": "internal" } ], - "src": "42335:21:172" + "src": "42335:21:173" }, "returnParameters": { - "id": 76994, + "id": 77024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76993, + "id": 77023, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 77003, - "src": "42380:15:172", + "scope": 77033, + "src": "42380:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33723,20 +33723,20 @@ "typeString": "EncodedDispatch" }, "typeName": { - "id": 76992, + "id": 77022, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76991, + "id": 77021, "name": "EncodedDispatch", "nameLocations": [ - "42380:15:172" + "42380:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56304, - "src": "42380:15:172" + "src": "42380:15:173" }, "referencedDeclaration": 56304, - "src": "42380:15:172", + "src": "42380:15:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" @@ -33745,9 +33745,9 @@ "visibility": "internal" } ], - "src": "42379:17:172" + "src": "42379:17:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -33757,131 +33757,131 @@ "baseContracts": [ { "baseName": { - "id": 74981, + "id": 75011, "name": "IOrderBookV3", "nameLocations": [ - "9019:12:172" + "9019:12:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77796, - "src": "9019:12:172" + "referencedDeclaration": 78111, + "src": "9019:12:173" }, - "id": 74982, + "id": 75012, "nodeType": "InheritanceSpecifier", - "src": "9019:12:172" + "src": "9019:12:173" }, { "baseName": { - "id": 74983, + "id": 75013, "name": "ReentrancyGuard", "nameLocations": [ - "9033:15:172" + "9033:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43711, - "src": "9033:15:172" + "src": "9033:15:173" }, - "id": 74984, + "id": 75014, "nodeType": "InheritanceSpecifier", - "src": "9033:15:172" + "src": "9033:15:173" }, { "baseName": { - "id": 74985, + "id": 75015, "name": "Multicall", "nameLocations": [ - "9050:9:172" + "9050:9:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 45220, - "src": "9050:9:172" + "src": "9050:9:173" }, - "id": 74986, + "id": 75016, "nodeType": "InheritanceSpecifier", - "src": "9050:9:172" + "src": "9050:9:173" }, { "baseName": { - "id": 74987, + "id": 75017, "name": "OrderBookV3FlashLender", "nameLocations": [ - "9061:22:172" + "9061:22:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74539, - "src": "9061:22:172" + "referencedDeclaration": 74569, + "src": "9061:22:173" }, - "id": 74988, + "id": 75018, "nodeType": "InheritanceSpecifier", - "src": "9061:22:172" + "src": "9061:22:173" }, { "baseName": { - "id": 74989, + "id": 75019, "name": "DeployerDiscoverableMetaV2", "nameLocations": [ - "9085:26:172" + "9085:26:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 55357, - "src": "9085:26:172" + "src": "9085:26:173" }, - "id": 74990, + "id": 75020, "nodeType": "InheritanceSpecifier", - "src": "9085:26:172" + "src": "9085:26:173" } ], "canonicalName": "OrderBook", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 74980, + "id": 75010, "nodeType": "StructuredDocumentation", - "src": "8929:68:172", + "src": "8929:68:173", "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 77004, + 77034, 55357, - 71964, - 74539, + 71994, + 74569, 45220, 43711, - 77796, + 78111, 56260, - 77513 + 77828 ], "name": "OrderBook", - "nameLocation": "9006:9:172", - "scope": 77005, + "nameLocation": "9006:9:173", + "scope": 77035, "usedErrors": [ - 56493, - 56776, - 71944, - 71949, - 74195, - 74198, - 74201, - 74206, - 74215, - 74826, - 74833, - 74840, - 74847, - 74854, - 74859, - 77527, - 77568, - 77577, - 77582, - 77587, - 77592, - 77597 + 56523, + 56806, + 71974, + 71979, + 74225, + 74228, + 74231, + 74236, + 74245, + 74856, + 74863, + 74870, + 74877, + 74884, + 74889, + 77842, + 77883, + 77892, + 77897, + 77902, + 77907, + 77912 ] } ], "license": "CAL" }, - "id": 172 + "id": 173 } \ No newline at end of file diff --git a/subgraph/abis/ReserveToken.json b/subgraph/abis/ReserveToken.json new file mode 100644 index 0000000000..3c62a19040 --- /dev/null +++ b/subgraph/abis/ReserveToken.json @@ -0,0 +1,8266 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b5060405162000dd938038062000dd983398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610ae580620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", + "sourceMap": "1532:11312:23:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:23;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:212;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:212;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:212;;;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:212: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:212;;;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:212;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:212;;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:212;;;3992:26;3943:89;-1:-1:-1;;2747:1:212;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:212;;;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:212;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:212;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:212:o;:::-;1532:11312:23;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", + "sourceMap": "1532:11312:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1251:14:212;;1244:22;1226:41;;1214:2;1199:18;4444:197:23;1086:187:212;3255:106:23;3342:12;;3255:106;;;1424:25:212;;;1412:2;1397:18;3255:106:23;1278:177:212;5203:256:23;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1935:36:212;;1923:2;1908:18;3104:91:23;1793:184:212;5854:234:23;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;3519:18;;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;4102:18;;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149;2158:98;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:29;4581:32:23;719:10:29;4597:7:23;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:29;5356:38:23;5372:4;719:10:29;5387:6:23;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:23;;5203:256;-1:-1:-1;;;;5203:256:23:o;5854:234::-;719:10:29;5942:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;5942:4;;719:10:29;5996:64:23;;719:10:29;;4102:27:23;;6021:38;;6049:10;;6021:38;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;719:10:29;6668:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;6668:4;;719:10:29;6812:15:23;6792:16;:35;;6784:85;;;;;;;3366:2:212;6784:85:23;;;3348:21:212;3405:2;3385:18;;;3378:30;3444:34;3424:18;;;3417:62;3515:7;3495:18;;;3488:35;3540:19;;6784:85:23;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:29;3873:28:23;719:10:29;3890:2:23;3894:6;3873:9;:28::i;10457:340::-;10558:19;;;10550:68;;;;;;;3772:2:212;10550:68:23;;;3754:21:212;3811:2;3791:18;;;3784:30;3850:34;3830:18;;;3823:62;3921:6;3901:18;;;3894:34;3945:19;;10550:68:23;3570:400:212;10550:68:23;10636:21;;;10628:68;;;;;;;4177:2:212;10628:68:23;;;4159:21:212;4216:2;4196:18;;;4189:30;4255:34;4235:18;;;4228:62;4326:4;4306:18;;;4299:32;4348:19;;10628:68:23;3975:398:212;10628:68:23;10707:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1424:25:212;;;10758:32:23;;1397:18:212;10758:32:23;;;;;;;10457:340;;;:::o;11078:411::-;4102:18;;;;11178:24;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;11264:17;11244:37;;11240:243;;11325:6;11305:16;:26;;11297:68;;;;;;;4580:2:212;11297:68:23;;;4562:21:212;4619:2;4599:18;;;4592:30;4658:31;4638:18;;;4631:59;4707:18;;11297:68:23;4378:353:212;11297:68:23;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;7552:18;;;7544:68;;;;;;;4938:2:212;7544:68:23;;;4920:21:212;4977:2;4957:18;;;4950:30;5016:34;4996:18;;;4989:62;5087:7;5067:18;;;5060:35;5112:19;;7544:68:23;4736:401:212;7544:68:23;7630:16;;;7622:64;;;;;;;5344:2:212;7622:64:23;;;5326:21:212;5383:2;5363:18;;;5356:30;5422:34;5402:18;;;5395:62;5493:5;5473:18;;;5466:33;5516:19;;7622:64:23;5142:399:212;7622:64:23;7768:15;;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;;;;5748:2:212;7793:72:23;;;5730:21:212;5787:2;5767:18;;;5760:30;5826:34;5806:18;;;5799:62;5897:8;5877:18;;;5870:36;5923:19;;7793:72:23;5546:402:212;7793:72:23;7899:15;;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1424:25:212;;;8114:13:23;;8163:26;;1397:18:212;8163:26:23;;;;;;;8200:37;12073:91;14:607:212;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:196::-;694:20;;754:42;743:54;;733:65;;723:93;;812:1;809;802:12;723:93;626:196;;;:::o;827:254::-;895:6;903;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;1071:2;1056:18;;;;1043:32;;-1:-1:-1;;;827:254:212:o;1460:328::-;1537:6;1545;1553;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;1645:29;1664:9;1645:29;:::i;:::-;1635:39;;1693:38;1727:2;1716:9;1712:18;1693:38;:::i;:::-;1683:48;;1778:2;1767:9;1763:18;1750:32;1740:42;;1460:328;;;;;:::o;1982:186::-;2041:6;2094:2;2082:9;2073:7;2069:23;2065:32;2062:52;;;2110:1;2107;2100:12;2062:52;2133:29;2152:9;2133:29;:::i;:::-;2123:39;1982:186;-1:-1:-1;;;1982:186:212:o;2173:260::-;2241:6;2249;2302:2;2290:9;2281:7;2277:23;2273:32;2270:52;;;2318:1;2315;2308:12;2270:52;2341:29;2360:9;2341:29;:::i;:::-;2331:39;;2389:38;2423:2;2412:9;2408:18;2389:38;:::i;:::-;2379:48;;2173:260;;;;;:::o;2438:437::-;2517:1;2513:12;;;;2560;;;2581:61;;2635:4;2627:6;2623:17;2613:27;;2581:61;2688:2;2680:6;2677:14;2657:18;2654:38;2651:218;;2725:77;2722:1;2715:88;2826:4;2823:1;2816:15;2854:4;2851:1;2844:15;2651:218;;2438:437;;;:::o;2880:279::-;2945:9;;;2966:10;;;2963:190;;;3009:77;3006:1;2999:88;3110:4;3107:1;3100:15;3138:4;3135:1;3128:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "increaseAllowance(address,uint256)": "39509351", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "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": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "spender", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "constructor": { + "details": "Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", + "bytecode/=lib/rain.interpreter/src/lib/bytecode/", + "caller/=lib/rain.interpreter/src/lib/caller/", + "compile/=lib/rain.interpreter/src/lib/compile/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "eval/=lib/rain.interpreter/src/lib/eval/", + "extern/=lib/rain.interpreter/src/lib/extern/", + "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "integrity/=lib/rain.interpreter/src/lib/integrity/", + "ns/=lib/rain.interpreter/src/lib/ns/", + "op/=lib/rain.interpreter/src/lib/op/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "parse/=lib/rain.interpreter/src/lib/parse/", + "prb-math/=lib/rain.interpreter/lib/prb-math/src/", + "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", + "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", + "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", + "rain.erc1820/=lib/rain.erc1820/src/", + "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", + "rain.factory/=lib/rain.factory/", + "rain.interpreter/=lib/rain.interpreter/", + "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", + "rain.lib.memkv/=lib/rain.lib.memkv/src/", + "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", + "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", + "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", + "rain.metadata/=lib/rain.metadata/src/", + "rain.solmem/=lib/rain.solmem/src/", + "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", + "state/=lib/rain.interpreter/src/lib/state/", + "sushixswap-v2/=lib/sushixswap-v2/", + "uniswap/=lib/rain.interpreter/src/lib/uniswap/", + "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", + "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 1000000 + }, + "metadata": { + "bytecodeHash": "none", + "appendCBOR": false + }, + "compilationTarget": { + "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": "ERC20" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { + "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", + "urls": [ + "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", + "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", + "urls": [ + "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", + "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", + "id": 44299, + "exportedSymbols": { + "Context": [ + 45165 + ], + "ERC20": [ + 44298 + ], + "IERC20": [ + 44376 + ], + "IERC20Metadata": [ + 44401 + ] + }, + "nodeType": "SourceUnit", + "src": "105:12740:23", + "nodes": [ + { + "id": 43713, + "nodeType": "PragmaDirective", + "src": "105:23:23", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] + }, + { + "id": 43714, + "nodeType": "ImportDirective", + "src": "130:22:23", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "./IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 44299, + "sourceUnit": 44377, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 43715, + "nodeType": "ImportDirective", + "src": "153:41:23", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "./extensions/IERC20Metadata.sol", + "nameLocation": "-1:-1:-1", + "scope": 44299, + "sourceUnit": 44402, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 43716, + "nodeType": "ImportDirective", + "src": "195:33:23", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "nameLocation": "-1:-1:-1", + "scope": 44299, + "sourceUnit": 45166, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 44298, + "nodeType": "ContractDefinition", + "src": "1532:11312:23", + "nodes": [ + { + "id": 43727, + "nodeType": "VariableDeclaration", + "src": "1588:45:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1624:9:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 43726, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 43724, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1596:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1588:27:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1607:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "id": 43733, + "nodeType": "VariableDeclaration", + "src": "1640:67:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_allowances", + "nameLocation": "1696:11:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 43732, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 43728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1648:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1640:47:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43731, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 43729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1667:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1659:27:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 43730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1678:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "id": 43735, + "nodeType": "VariableDeclaration", + "src": "1714:28:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1730:12:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1714:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "id": 43737, + "nodeType": "VariableDeclaration", + "src": "1749:20:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1764:5:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 43736, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1749:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "id": 43739, + "nodeType": "VariableDeclaration", + "src": "1775:22:23", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1790:7:23", + "scope": 44298, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 43738, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1775:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "id": 43756, + "nodeType": "FunctionDefinition", + "src": "1980:113:23", + "nodes": [], + "body": { + "id": 43755, + "nodeType": "Block", + "src": "2036:57:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 43747, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43737, + "src": "2046:5:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 43748, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43742, + "src": "2054:5:23", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2046:13:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43750, + "nodeType": "ExpressionStatement", + "src": "2046:13:23" + }, + { + "expression": { + "id": 43753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 43751, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43739, + "src": "2069:7:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 43752, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43744, + "src": "2079:7:23", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2069:17:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43754, + "nodeType": "ExpressionStatement", + "src": "2069:17:23" + } + ] + }, + "documentation": { + "id": 43740, + "nodeType": "StructuredDocumentation", + "src": "1804:171:23", + "text": " @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction." + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 43745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43742, + "mutability": "mutable", + "name": "name_", + "nameLocation": "2006:5:23", + "nodeType": "VariableDeclaration", + "scope": 43756, + "src": "1992:19:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43741, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1992:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43744, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "2027:7:23", + "nodeType": "VariableDeclaration", + "scope": 43756, + "src": "2013:21:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43743, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2013:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1991:44:23" + }, + "returnParameters": { + "id": 43746, + "nodeType": "ParameterList", + "parameters": [], + "src": "2036:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 43766, + "nodeType": "FunctionDefinition", + "src": "2158:98:23", + "nodes": [], + "body": { + "id": 43765, + "nodeType": "Block", + "src": "2227:29:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43763, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43737, + "src": "2244:5:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 43762, + "id": 43764, + "nodeType": "Return", + "src": "2237:12:23" + } + ] + }, + "baseFunctions": [ + 44388 + ], + "documentation": { + "id": 43757, + "nodeType": "StructuredDocumentation", + "src": "2099:54:23", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "2167:4:23", + "overrides": { + "id": 43759, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2194:8:23" + }, + "parameters": { + "id": 43758, + "nodeType": "ParameterList", + "parameters": [], + "src": "2171:2:23" + }, + "returnParameters": { + "id": 43762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43761, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43766, + "src": "2212:13:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43760, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2212:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2211:15:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43776, + "nodeType": "FunctionDefinition", + "src": "2369:102:23", + "nodes": [], + "body": { + "id": 43775, + "nodeType": "Block", + "src": "2440:31:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43773, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43739, + "src": "2457:7:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 43772, + "id": 43774, + "nodeType": "Return", + "src": "2450:14:23" + } + ] + }, + "baseFunctions": [ + 44394 + ], + "documentation": { + "id": 43767, + "nodeType": "StructuredDocumentation", + "src": "2262:102:23", + "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." + }, + "functionSelector": "95d89b41", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "2378:6:23", + "overrides": { + "id": 43769, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2407:8:23" + }, + "parameters": { + "id": 43768, + "nodeType": "ParameterList", + "parameters": [], + "src": "2384:2:23" + }, + "returnParameters": { + "id": 43772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43771, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43776, + "src": "2425:13:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43770, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2425:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2424:15:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43786, + "nodeType": "FunctionDefinition", + "src": "3104:91:23", + "nodes": [], + "body": { + "id": 43785, + "nodeType": "Block", + "src": "3169:26:23", + "nodes": [], + "statements": [ + { + "expression": { + "hexValue": "3138", + "id": 43783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3186:2:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "functionReturnParameters": 43782, + "id": 43784, + "nodeType": "Return", + "src": "3179:9:23" + } + ] + }, + "baseFunctions": [ + 44400 + ], + "documentation": { + "id": 43777, + "nodeType": "StructuredDocumentation", + "src": "2477:622:23", + "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." + }, + "functionSelector": "313ce567", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "3113:8:23", + "overrides": { + "id": 43779, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3144:8:23" + }, + "parameters": { + "id": 43778, + "nodeType": "ParameterList", + "parameters": [], + "src": "3121:2:23" + }, + "returnParameters": { + "id": 43782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43781, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43786, + "src": "3162:5:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 43780, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3162:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "3161:7:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43796, + "nodeType": "FunctionDefinition", + "src": "3255:106:23", + "nodes": [], + "body": { + "id": 43795, + "nodeType": "Block", + "src": "3325:36:23", + "nodes": [], + "statements": [ + { + "expression": { + "id": 43793, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43735, + "src": "3342:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 43792, + "id": 43794, + "nodeType": "Return", + "src": "3335:19:23" + } + ] + }, + "baseFunctions": [ + 44325 + ], + "documentation": { + "id": 43787, + "nodeType": "StructuredDocumentation", + "src": "3201:49:23", + "text": " @dev See {IERC20-totalSupply}." + }, + "functionSelector": "18160ddd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "3264:11:23", + "overrides": { + "id": 43789, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3298:8:23" + }, + "parameters": { + "id": 43788, + "nodeType": "ParameterList", + "parameters": [], + "src": "3275:2:23" + }, + "returnParameters": { + "id": 43792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43791, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43796, + "src": "3316:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3316:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3315:9:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43810, + "nodeType": "FunctionDefinition", + "src": "3419:125:23", + "nodes": [], + "body": { + "id": 43809, + "nodeType": "Block", + "src": "3502:42:23", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "id": 43805, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "3519:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 43807, + "indexExpression": { + "id": 43806, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43799, + "src": "3529:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3519:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 43804, + "id": 43808, + "nodeType": "Return", + "src": "3512:25:23" + } + ] + }, + "baseFunctions": [ + 44333 + ], + "documentation": { + "id": 43797, + "nodeType": "StructuredDocumentation", + "src": "3367:47:23", + "text": " @dev See {IERC20-balanceOf}." + }, + "functionSelector": "70a08231", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3428:9:23", + "overrides": { + "id": 43801, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3475:8:23" + }, + "parameters": { + "id": 43800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43799, + "mutability": "mutable", + "name": "account", + "nameLocation": "3446:7:23", + "nodeType": "VariableDeclaration", + "scope": 43810, + "src": "3438:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3438:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3437:17:23" + }, + "returnParameters": { + "id": 43804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43803, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43810, + "src": "3493:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43802, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3493:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3492:9:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43835, + "nodeType": "FunctionDefinition", + "src": "3740:189:23", + "nodes": [], + "body": { + "id": 43834, + "nodeType": "Block", + "src": "3825:104:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43822 + ], + "declarations": [ + { + "constant": false, + "id": 43822, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3843:5:23", + "nodeType": "VariableDeclaration", + "scope": 43834, + "src": "3835:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3835:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43825, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43823, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "3851:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3851:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3835:28:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43827, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43822, + "src": "3883:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43828, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43813, + "src": "3890:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43829, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43815, + "src": "3894:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43826, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44058, + "src": "3873:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3873:28:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43831, + "nodeType": "ExpressionStatement", + "src": "3873:28:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3918:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43820, + "id": 43833, + "nodeType": "Return", + "src": "3911:11:23" + } + ] + }, + "baseFunctions": [ + 44343 + ], + "documentation": { + "id": 43811, + "nodeType": "StructuredDocumentation", + "src": "3550:185:23", + "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." + }, + "functionSelector": "a9059cbb", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "3749:8:23", + "overrides": { + "id": 43817, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3801:8:23" + }, + "parameters": { + "id": 43816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43813, + "mutability": "mutable", + "name": "to", + "nameLocation": "3766:2:23", + "nodeType": "VariableDeclaration", + "scope": 43835, + "src": "3758:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3758:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43815, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3778:6:23", + "nodeType": "VariableDeclaration", + "scope": 43835, + "src": "3770:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3770:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3757:28:23" + }, + "returnParameters": { + "id": 43820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43819, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43835, + "src": "3819:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43818, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3819:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3818:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43853, + "nodeType": "FunctionDefinition", + "src": "3987:149:23", + "nodes": [], + "body": { + "id": 43852, + "nodeType": "Block", + "src": "4085:51:23", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 43846, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43733, + "src": "4102:11:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 43848, + "indexExpression": { + "id": 43847, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43838, + "src": "4114:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:18:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 43850, + "indexExpression": { + "id": 43849, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43840, + "src": "4121:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:27:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 43845, + "id": 43851, + "nodeType": "Return", + "src": "4095:34:23" + } + ] + }, + "baseFunctions": [ + 44353 + ], + "documentation": { + "id": 43836, + "nodeType": "StructuredDocumentation", + "src": "3935:47:23", + "text": " @dev See {IERC20-allowance}." + }, + "functionSelector": "dd62ed3e", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "3996:9:23", + "overrides": { + "id": 43842, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4058:8:23" + }, + "parameters": { + "id": 43841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43838, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4014:5:23", + "nodeType": "VariableDeclaration", + "scope": 43853, + "src": "4006:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4006:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43840, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4029:7:23", + "nodeType": "VariableDeclaration", + "scope": 43853, + "src": "4021:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43839, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4021:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4005:32:23" + }, + "returnParameters": { + "id": 43845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43844, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43853, + "src": "4076:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4076:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4075:9:23" + }, + "scope": 44298, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 43878, + "nodeType": "FunctionDefinition", + "src": "4444:197:23", + "nodes": [], + "body": { + "id": 43877, + "nodeType": "Block", + "src": "4533:108:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43865 + ], + "declarations": [ + { + "constant": false, + "id": 43865, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4551:5:23", + "nodeType": "VariableDeclaration", + "scope": 43877, + "src": "4543:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4543:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43868, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43866, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "4559:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4559:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4543:28:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43865, + "src": "4590:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43871, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43856, + "src": "4597:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43872, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43858, + "src": "4606:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43869, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "4581:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4581:32:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43874, + "nodeType": "ExpressionStatement", + "src": "4581:32:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4630:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43863, + "id": 43876, + "nodeType": "Return", + "src": "4623:11:23" + } + ] + }, + "baseFunctions": [ + 44363 + ], + "documentation": { + "id": 43854, + "nodeType": "StructuredDocumentation", + "src": "4142:297:23", + "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "095ea7b3", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "4453:7:23", + "overrides": { + "id": 43860, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4509:8:23" + }, + "parameters": { + "id": 43859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43856, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4469:7:23", + "nodeType": "VariableDeclaration", + "scope": 43878, + "src": "4461:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43855, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4461:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43858, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4486:6:23", + "nodeType": "VariableDeclaration", + "scope": 43878, + "src": "4478:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4478:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4460:33:23" + }, + "returnParameters": { + "id": 43863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43862, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43878, + "src": "4527:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43861, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4527:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4526:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43911, + "nodeType": "FunctionDefinition", + "src": "5203:256:23", + "nodes": [], + "body": { + "id": 43910, + "nodeType": "Block", + "src": "5306:153:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43892 + ], + "declarations": [ + { + "constant": false, + "id": 43892, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5324:7:23", + "nodeType": "VariableDeclaration", + "scope": 43910, + "src": "5316:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5316:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43895, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43893, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "5334:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5334:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5316:30:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43897, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43881, + "src": "5372:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43898, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43892, + "src": "5378:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43899, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43885, + "src": "5387:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43896, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44275, + "src": "5356:15:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5356:38:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43901, + "nodeType": "ExpressionStatement", + "src": "5356:38:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43903, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43881, + "src": "5414:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43904, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43883, + "src": "5420:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43905, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43885, + "src": "5424:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43902, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44058, + "src": "5404:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5404:27:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43907, + "nodeType": "ExpressionStatement", + "src": "5404:27:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5448:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43890, + "id": 43909, + "nodeType": "Return", + "src": "5441:11:23" + } + ] + }, + "baseFunctions": [ + 44375 + ], + "documentation": { + "id": 43879, + "nodeType": "StructuredDocumentation", + "src": "4647:551:23", + "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." + }, + "functionSelector": "23b872dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "5212:12:23", + "overrides": { + "id": 43887, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5282:8:23" + }, + "parameters": { + "id": 43886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43881, + "mutability": "mutable", + "name": "from", + "nameLocation": "5233:4:23", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5225:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5225:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43883, + "mutability": "mutable", + "name": "to", + "nameLocation": "5247:2:23", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5239:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5239:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43885, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5259:6:23", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5251:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5251:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5224:42:23" + }, + "returnParameters": { + "id": 43890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43889, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43911, + "src": "5300:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43888, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5300:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5299:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43940, + "nodeType": "FunctionDefinition", + "src": "5854:234:23", + "nodes": [], + "body": { + "id": 43939, + "nodeType": "Block", + "src": "5948:140:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43922 + ], + "declarations": [ + { + "constant": false, + "id": 43922, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5966:5:23", + "nodeType": "VariableDeclaration", + "scope": 43939, + "src": "5958:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43921, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5958:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43925, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43923, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "5974:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5974:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5958:28:23" + }, + { + "expression": { + "arguments": [ + { + "id": 43927, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43922, + "src": "6005:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43928, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43914, + "src": "6012:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 43934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 43930, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43922, + "src": "6031:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43931, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43914, + "src": "6038:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 43929, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43853, + "src": "6021:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 43932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6021:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 43933, + "name": "addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43916, + "src": "6049:10:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6021:38:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43926, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "5996:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5996:64:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43936, + "nodeType": "ExpressionStatement", + "src": "5996:64:23" + }, + { + "expression": { + "hexValue": "74727565", + "id": 43937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6077:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43920, + "id": 43938, + "nodeType": "Return", + "src": "6070:11:23" + } + ] + }, + "documentation": { + "id": 43912, + "nodeType": "StructuredDocumentation", + "src": "5465:384:23", + "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "39509351", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseAllowance", + "nameLocation": "5863:17:23", + "parameters": { + "id": 43917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43914, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5889:7:23", + "nodeType": "VariableDeclaration", + "scope": 43940, + "src": "5881:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43913, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5881:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43916, + "mutability": "mutable", + "name": "addedValue", + "nameLocation": "5906:10:23", + "nodeType": "VariableDeclaration", + "scope": 43940, + "src": "5898:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5898:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5880:37:23" + }, + "returnParameters": { + "id": 43920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43919, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43940, + "src": "5942:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5942:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5941:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 43981, + "nodeType": "FunctionDefinition", + "src": "6575:427:23", + "nodes": [], + "body": { + "id": 43980, + "nodeType": "Block", + "src": "6674:328:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 43951 + ], + "declarations": [ + { + "constant": false, + "id": 43951, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6692:5:23", + "nodeType": "VariableDeclaration", + "scope": 43980, + "src": "6684:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43950, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6684:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 43954, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 43952, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45155, + "src": "6700:10:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 43953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6700:12:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6684:28:23" + }, + { + "assignments": [ + 43956 + ], + "declarations": [ + { + "constant": false, + "id": 43956, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "6730:16:23", + "nodeType": "VariableDeclaration", + "scope": 43980, + "src": "6722:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6722:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 43961, + "initialValue": { + "arguments": [ + { + "id": 43958, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43951, + "src": "6759:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43959, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43943, + "src": "6766:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 43957, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43853, + "src": "6749:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 43960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6749:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6722:52:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 43965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 43963, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43956, + "src": "6792:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 43964, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43945, + "src": "6812:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6792:35:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", + "id": 43966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6829:39:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + }, + "value": "ERC20: decreased allowance below zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + } + ], + "id": 43962, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6784:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 43967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6784:85:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43968, + "nodeType": "ExpressionStatement", + "src": "6784:85:23" + }, + { + "id": 43977, + "nodeType": "UncheckedBlock", + "src": "6879:95:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 43970, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43951, + "src": "6912:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 43971, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43943, + "src": "6919:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 43974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 43972, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43956, + "src": "6928:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 43973, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43945, + "src": "6947:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6928:34:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 43969, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "6903:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 43975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6903:60:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43976, + "nodeType": "ExpressionStatement", + "src": "6903:60:23" + } + ] + }, + { + "expression": { + "hexValue": "74727565", + "id": 43978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6991:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 43949, + "id": 43979, + "nodeType": "Return", + "src": "6984:11:23" + } + ] + }, + "documentation": { + "id": 43941, + "nodeType": "StructuredDocumentation", + "src": "6094:476:23", + "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." + }, + "functionSelector": "a457c2d7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decreaseAllowance", + "nameLocation": "6584:17:23", + "parameters": { + "id": 43946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43943, + "mutability": "mutable", + "name": "spender", + "nameLocation": "6610:7:23", + "nodeType": "VariableDeclaration", + "scope": 43981, + "src": "6602:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6602:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43945, + "mutability": "mutable", + "name": "subtractedValue", + "nameLocation": "6627:15:23", + "nodeType": "VariableDeclaration", + "scope": 43981, + "src": "6619:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6619:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6601:42:23" + }, + "returnParameters": { + "id": 43949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43948, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 43981, + "src": "6668:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 43947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6668:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6667:6:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 44058, + "nodeType": "FunctionDefinition", + "src": "7456:788:23", + "nodes": [], + "body": { + "id": 44057, + "nodeType": "Block", + "src": "7534:710:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 43997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 43992, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7552:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 43995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7568:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 43994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7560:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 43993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7560:7:23", + "typeDescriptions": {} + } + }, + "id": 43996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7560:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7552:18:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", + "id": 43998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7572:39:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + }, + "value": "ERC20: transfer from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + } + ], + "id": 43991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7544:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 43999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7544:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44000, + "nodeType": "ExpressionStatement", + "src": "7544:68:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44002, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "7630:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7644:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7636:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7636:7:23", + "typeDescriptions": {} + } + }, + "id": 44006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7636:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7630:16:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", + "id": 44008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7648:37:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + }, + "value": "ERC20: transfer to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + } + ], + "id": 44001, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7622:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7622:64:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44010, + "nodeType": "ExpressionStatement", + "src": "7622:64:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44012, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7718:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44013, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "7724:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44014, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "7728:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44011, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44286, + "src": "7697:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7697:38:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44016, + "nodeType": "ExpressionStatement", + "src": "7697:38:23" + }, + { + "assignments": [ + 44018 + ], + "declarations": [ + { + "constant": false, + "id": 44018, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "7754:11:23", + "nodeType": "VariableDeclaration", + "scope": 44057, + "src": "7746:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7746:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 44022, + "initialValue": { + "baseExpression": { + "id": 44019, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "7768:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44021, + "indexExpression": { + "id": 44020, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7778:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7768:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7746:37:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44024, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44018, + "src": "7801:11:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 44025, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "7816:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7801:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", + "id": 44027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7824:40:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + }, + "value": "ERC20: transfer amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + } + ], + "id": 44023, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7793:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7793:72:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44029, + "nodeType": "ExpressionStatement", + "src": "7793:72:23" + }, + { + "id": 44044, + "nodeType": "UncheckedBlock", + "src": "7875:273:23", + "statements": [ + { + "expression": { + "id": 44036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44030, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "7899:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44032, + "indexExpression": { + "id": 44031, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "7909:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7899:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44033, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44018, + "src": "7917:11:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 44034, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "7931:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7917:20:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7899:38:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44037, + "nodeType": "ExpressionStatement", + "src": "7899:38:23" + }, + { + "expression": { + "id": 44042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44038, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "8114:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44040, + "indexExpression": { + "id": 44039, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "8124:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8114:13:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 44041, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "8131:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8114:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44043, + "nodeType": "ExpressionStatement", + "src": "8114:23:23" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 44046, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "8172:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44047, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "8178:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44048, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "8182:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44045, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44310, + "src": "8163:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8163:26:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44050, + "nodeType": "EmitStatement", + "src": "8158:31:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44052, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43984, + "src": "8220:4:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44053, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43986, + "src": "8226:2:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44054, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43988, + "src": "8230:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44051, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44297, + "src": "8200:19:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8200:37:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44056, + "nodeType": "ExpressionStatement", + "src": "8200:37:23" + } + ] + }, + "documentation": { + "id": 43982, + "nodeType": "StructuredDocumentation", + "src": "7008:443:23", + "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "7465:9:23", + "parameters": { + "id": 43989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43984, + "mutability": "mutable", + "name": "from", + "nameLocation": "7483:4:23", + "nodeType": "VariableDeclaration", + "scope": 44058, + "src": "7475:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43983, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7475:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43986, + "mutability": "mutable", + "name": "to", + "nameLocation": "7497:2:23", + "nodeType": "VariableDeclaration", + "scope": 44058, + "src": "7489:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43985, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7489:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43988, + "mutability": "mutable", + "name": "amount", + "nameLocation": "7509:6:23", + "nodeType": "VariableDeclaration", + "scope": 44058, + "src": "7501:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 43987, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7501:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7474:42:23" + }, + "returnParameters": { + "id": 43990, + "nodeType": "ParameterList", + "parameters": [], + "src": "7534:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44115, + "nodeType": "FunctionDefinition", + "src": "8520:535:23", + "nodes": [], + "body": { + "id": 44114, + "nodeType": "Block", + "src": "8585:470:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44067, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8603:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8622:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8614:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44068, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8614:7:23", + "typeDescriptions": {} + } + }, + "id": 44071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8614:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8603:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "id": 44073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8626:33:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + }, + "value": "ERC20: mint to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + } + ], + "id": 44066, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8595:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8595:65:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44075, + "nodeType": "ExpressionStatement", + "src": "8595:65:23" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 44079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8700:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8692:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8692:7:23", + "typeDescriptions": {} + } + }, + "id": 44080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8692:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44081, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8704:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44082, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8713:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44076, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44286, + "src": "8671:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8671:49:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44084, + "nodeType": "ExpressionStatement", + "src": "8671:49:23" + }, + { + "expression": { + "id": 44087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 44085, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43735, + "src": "8731:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 44086, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8747:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8731:22:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44088, + "nodeType": "ExpressionStatement", + "src": "8731:22:23" + }, + { + "id": 44095, + "nodeType": "UncheckedBlock", + "src": "8763:175:23", + "statements": [ + { + "expression": { + "id": 44093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44089, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "8899:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44091, + "indexExpression": { + "id": 44090, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8909:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8899:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 44092, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8921:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8899:28:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44094, + "nodeType": "ExpressionStatement", + "src": "8899:28:23" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 44099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8969:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8961:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8961:7:23", + "typeDescriptions": {} + } + }, + "id": 44100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8961:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44101, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "8973:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44102, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "8982:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44096, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44310, + "src": "8952:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8952:37:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44104, + "nodeType": "EmitStatement", + "src": "8947:42:23" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 44108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9028:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9020:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9020:7:23", + "typeDescriptions": {} + } + }, + "id": 44109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9020:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44110, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44061, + "src": "9032:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44111, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44063, + "src": "9041:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44105, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44297, + "src": "9000:19:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9000:48:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44113, + "nodeType": "ExpressionStatement", + "src": "9000:48:23" + } + ] + }, + "documentation": { + "id": 44059, + "nodeType": "StructuredDocumentation", + "src": "8250:265:23", + "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "8529:5:23", + "parameters": { + "id": 44064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44061, + "mutability": "mutable", + "name": "account", + "nameLocation": "8543:7:23", + "nodeType": "VariableDeclaration", + "scope": 44115, + "src": "8535:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8535:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44063, + "mutability": "mutable", + "name": "amount", + "nameLocation": "8560:6:23", + "nodeType": "VariableDeclaration", + "scope": 44115, + "src": "8552:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8552:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8534:33:23" + }, + "returnParameters": { + "id": 44065, + "nodeType": "ParameterList", + "parameters": [], + "src": "8585:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44187, + "nodeType": "FunctionDefinition", + "src": "9375:659:23", + "nodes": [], + "body": { + "id": 44186, + "nodeType": "Block", + "src": "9440:594:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44124, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9458:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9477:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9469:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9469:7:23", + "typeDescriptions": {} + } + }, + "id": 44128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9469:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9458:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", + "id": 44130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9481:35:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + }, + "value": "ERC20: burn from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + } + ], + "id": 44123, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9450:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9450:67:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44132, + "nodeType": "ExpressionStatement", + "src": "9450:67:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44134, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9549:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 44137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9566:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9558:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9558:7:23", + "typeDescriptions": {} + } + }, + "id": 44138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9558:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44139, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9570:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44133, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44286, + "src": "9528:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9528:49:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44141, + "nodeType": "ExpressionStatement", + "src": "9528:49:23" + }, + { + "assignments": [ + 44143 + ], + "declarations": [ + { + "constant": false, + "id": 44143, + "mutability": "mutable", + "name": "accountBalance", + "nameLocation": "9596:14:23", + "nodeType": "VariableDeclaration", + "scope": 44186, + "src": "9588:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9588:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 44147, + "initialValue": { + "baseExpression": { + "id": 44144, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "9613:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44146, + "indexExpression": { + "id": 44145, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9613:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9588:43:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44149, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44143, + "src": "9649:14:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 44150, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9667:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9649:24:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", + "id": 44152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9675:36:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + }, + "value": "ERC20: burn amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + } + ], + "id": 44148, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9641:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9641:71:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44154, + "nodeType": "ExpressionStatement", + "src": "9641:71:23" + }, + { + "id": 44167, + "nodeType": "UncheckedBlock", + "src": "9722:194:23", + "statements": [ + { + "expression": { + "id": 44161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 44155, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43727, + "src": "9746:9:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44157, + "indexExpression": { + "id": 44156, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9756:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9746:18:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44158, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44143, + "src": "9767:14:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 44159, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9784:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9767:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9746:44:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44162, + "nodeType": "ExpressionStatement", + "src": "9746:44:23" + }, + { + "expression": { + "id": 44165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 44163, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43735, + "src": "9883:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 44164, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9899:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9883:22:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44166, + "nodeType": "ExpressionStatement", + "src": "9883:22:23" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 44169, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9940:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 44172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9957:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9949:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9949:7:23", + "typeDescriptions": {} + } + }, + "id": 44173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9949:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44174, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "9961:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44168, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44310, + "src": "9931:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9931:37:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44176, + "nodeType": "EmitStatement", + "src": "9926:42:23" + }, + { + "expression": { + "arguments": [ + { + "id": 44178, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44118, + "src": "9999:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 44181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10016:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10008:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10008:7:23", + "typeDescriptions": {} + } + }, + "id": 44182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10008:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44183, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44120, + "src": "10020:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44177, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44297, + "src": "9979:19:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9979:48:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44185, + "nodeType": "ExpressionStatement", + "src": "9979:48:23" + } + ] + }, + "documentation": { + "id": 44116, + "nodeType": "StructuredDocumentation", + "src": "9061:309:23", + "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "9384:5:23", + "parameters": { + "id": 44121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44118, + "mutability": "mutable", + "name": "account", + "nameLocation": "9398:7:23", + "nodeType": "VariableDeclaration", + "scope": 44187, + "src": "9390:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9390:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44120, + "mutability": "mutable", + "name": "amount", + "nameLocation": "9415:6:23", + "nodeType": "VariableDeclaration", + "scope": 44187, + "src": "9407:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9407:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9389:33:23" + }, + "returnParameters": { + "id": 44122, + "nodeType": "ParameterList", + "parameters": [], + "src": "9440:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44232, + "nodeType": "FunctionDefinition", + "src": "10457:340:23", + "nodes": [], + "body": { + "id": 44231, + "nodeType": "Block", + "src": "10540:257:23", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44198, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44190, + "src": "10558:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10575:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10567:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10567:7:23", + "typeDescriptions": {} + } + }, + "id": 44202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10567:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10558:19:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", + "id": 44204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10579:38:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + }, + "value": "ERC20: approve from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + } + ], + "id": 44197, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10550:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10550:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44206, + "nodeType": "ExpressionStatement", + "src": "10550:68:23" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 44213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44208, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44192, + "src": "10636:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 44211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10655:1:23", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 44210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10647:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 44209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10647:7:23", + "typeDescriptions": {} + } + }, + "id": 44212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10647:10:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10636:21:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", + "id": 44214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10659:36:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + }, + "value": "ERC20: approve to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + } + ], + "id": 44207, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10628:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10628:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44216, + "nodeType": "ExpressionStatement", + "src": "10628:68:23" + }, + { + "expression": { + "id": 44223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 44217, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43733, + "src": "10707:11:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 44220, + "indexExpression": { + "id": 44218, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44190, + "src": "10719:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10707:18:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 44221, + "indexExpression": { + "id": 44219, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44192, + "src": "10726:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10707:27:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 44222, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44194, + "src": "10737:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10707:36:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 44224, + "nodeType": "ExpressionStatement", + "src": "10707:36:23" + }, + { + "eventCall": { + "arguments": [ + { + "id": 44226, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44190, + "src": "10767:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44227, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44192, + "src": "10774:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44228, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44194, + "src": "10783:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44225, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44319, + "src": "10758:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10758:32:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44230, + "nodeType": "EmitStatement", + "src": "10753:37:23" + } + ] + }, + "documentation": { + "id": 44188, + "nodeType": "StructuredDocumentation", + "src": "10040:412:23", + "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "10466:8:23", + "parameters": { + "id": 44195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44190, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10483:5:23", + "nodeType": "VariableDeclaration", + "scope": 44232, + "src": "10475:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10475:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44192, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10498:7:23", + "nodeType": "VariableDeclaration", + "scope": 44232, + "src": "10490:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10490:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44194, + "mutability": "mutable", + "name": "amount", + "nameLocation": "10515:6:23", + "nodeType": "VariableDeclaration", + "scope": 44232, + "src": "10507:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10507:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10474:48:23" + }, + "returnParameters": { + "id": 44196, + "nodeType": "ParameterList", + "parameters": [], + "src": "10540:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44275, + "nodeType": "FunctionDefinition", + "src": "11078:411:23", + "nodes": [], + "body": { + "id": 44274, + "nodeType": "Block", + "src": "11168:321:23", + "nodes": [], + "statements": [ + { + "assignments": [ + 44243 + ], + "declarations": [ + { + "constant": false, + "id": 44243, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "11186:16:23", + "nodeType": "VariableDeclaration", + "scope": 44274, + "src": "11178:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11178:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 44248, + "initialValue": { + "arguments": [ + { + "id": 44245, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44235, + "src": "11215:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44246, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44237, + "src": "11222:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 44244, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43853, + "src": "11205:9:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 44247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11205:25:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11178:52:23" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44249, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44243, + "src": "11244:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 44252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11269:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 44251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11269:7:23", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 44250, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "11264:4:23", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 44253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11264:13:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 44254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11278:3:23", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "11264:17:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11244:37:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 44273, + "nodeType": "IfStatement", + "src": "11240:243:23", + "trueBody": { + "id": 44272, + "nodeType": "Block", + "src": "11283:200:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44257, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44243, + "src": "11305:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 44258, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44239, + "src": "11325:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11305:26:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "id": 44260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11333:31:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + }, + "value": "ERC20: insufficient allowance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + } + ], + "id": 44256, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11297:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 44261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11297:68:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44262, + "nodeType": "ExpressionStatement", + "src": "11297:68:23" + }, + { + "id": 44271, + "nodeType": "UncheckedBlock", + "src": "11379:94:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 44264, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44235, + "src": "11416:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 44265, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44237, + "src": "11423:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44266, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44243, + "src": "11432:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 44267, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44239, + "src": "11451:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11432:25:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 44263, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44232, + "src": "11407:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 44269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11407:51:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 44270, + "nodeType": "ExpressionStatement", + "src": "11407:51:23" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 44233, + "nodeType": "StructuredDocumentation", + "src": "10803:270:23", + "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_spendAllowance", + "nameLocation": "11087:15:23", + "parameters": { + "id": 44240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44235, + "mutability": "mutable", + "name": "owner", + "nameLocation": "11111:5:23", + "nodeType": "VariableDeclaration", + "scope": 44275, + "src": "11103:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11103:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44237, + "mutability": "mutable", + "name": "spender", + "nameLocation": "11126:7:23", + "nodeType": "VariableDeclaration", + "scope": 44275, + "src": "11118:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11118:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44239, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11143:6:23", + "nodeType": "VariableDeclaration", + "scope": 44275, + "src": "11135:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11135:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11102:48:23" + }, + "returnParameters": { + "id": 44241, + "nodeType": "ParameterList", + "parameters": [], + "src": "11168:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44286, + "nodeType": "FunctionDefinition", + "src": "12073:91:23", + "nodes": [], + "body": { + "id": 44285, + "nodeType": "Block", + "src": "12162:2:23", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 44276, + "nodeType": "StructuredDocumentation", + "src": "11495:573:23", + "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "12082:20:23", + "parameters": { + "id": 44283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44278, + "mutability": "mutable", + "name": "from", + "nameLocation": "12111:4:23", + "nodeType": "VariableDeclaration", + "scope": 44286, + "src": "12103:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12103:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44280, + "mutability": "mutable", + "name": "to", + "nameLocation": "12125:2:23", + "nodeType": "VariableDeclaration", + "scope": 44286, + "src": "12117:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12117:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44282, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12137:6:23", + "nodeType": "VariableDeclaration", + "scope": 44286, + "src": "12129:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12129:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12102:42:23" + }, + "returnParameters": { + "id": 44284, + "nodeType": "ParameterList", + "parameters": [], + "src": "12162:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 44297, + "nodeType": "FunctionDefinition", + "src": "12752:90:23", + "nodes": [], + "body": { + "id": 44296, + "nodeType": "Block", + "src": "12840:2:23", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 44287, + "nodeType": "StructuredDocumentation", + "src": "12170:577:23", + "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterTokenTransfer", + "nameLocation": "12761:19:23", + "parameters": { + "id": 44294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44289, + "mutability": "mutable", + "name": "from", + "nameLocation": "12789:4:23", + "nodeType": "VariableDeclaration", + "scope": 44297, + "src": "12781:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44288, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12781:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44291, + "mutability": "mutable", + "name": "to", + "nameLocation": "12803:2:23", + "nodeType": "VariableDeclaration", + "scope": 44297, + "src": "12795:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12795:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44293, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12815:6:23", + "nodeType": "VariableDeclaration", + "scope": 44297, + "src": "12807:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 44292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12807:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12780:42:23" + }, + "returnParameters": { + "id": 44295, + "nodeType": "ParameterList", + "parameters": [], + "src": "12840:0:23" + }, + "scope": 44298, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 43718, + "name": "Context", + "nameLocations": [ + "1550:7:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45165, + "src": "1550:7:23" + }, + "id": 43719, + "nodeType": "InheritanceSpecifier", + "src": "1550:7:23" + }, + { + "baseName": { + "id": 43720, + "name": "IERC20", + "nameLocations": [ + "1559:6:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44376, + "src": "1559:6:23" + }, + "id": 43721, + "nodeType": "InheritanceSpecifier", + "src": "1559:6:23" + }, + { + "baseName": { + "id": 43722, + "name": "IERC20Metadata", + "nameLocations": [ + "1567:14:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44401, + "src": "1567:14:23" + }, + "id": 43723, + "nodeType": "InheritanceSpecifier", + "src": "1567:14:23" + } + ], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 43717, + "nodeType": "StructuredDocumentation", + "src": "230:1301:23", + "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 44298, + 44401, + 44376, + 45165 + ], + "name": "ERC20", + "nameLocation": "1541:5:23", + "scope": 44299, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 23 +} \ No newline at end of file diff --git a/subgraph/flake.nix b/subgraph/flake.nix index e4150376a3..9c0d3fa861 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -5,12 +5,15 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; + # jq.url = "github:jqlang/jq"; }; + outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; + jq = "${pkgs.jq}/bin/jq"; in rec { packages = rec { @@ -18,6 +21,25 @@ build = pkgs.writeShellScriptBin "build" ("npm run codegen && npm run build"); + # ERC20Mock is not present here. It's hardcoded because It's just a ERC20 contract with a mint method. + concrete-contracts = ["AuthoringMetaGetter" "OrderBook" "RainterpreterExpressionDeployerNP" "RainterpreterNP" "RainterpreterStore"]; + + copy-abis = contract: '' + echo Copying ${contract}... + cp ../out/${contract}.sol/${contract}.json ./tests/generated/ + + # # Remove component duplicated that conflict with abigen + # ${jq} '.abi |= map(select(.name != "StackUnderflow"))' contract.json > updated_contract.json + # mv updated_contract.json tests/generated/RainterpreterExpressionDeployerNP.json + ''; + + remove-duplicate = '' + contract_path="tests/generated/RainterpreterExpressionDeployerNP.json" + ${jq} '.abi |= map(select(.name != "StackUnderflow"))' $contract_path > updated_contract.json + mv updated_contract.json $contract_path + echo Removed duplicated at: $contract_path + ''; + init-setup = pkgs.writeShellScriptBin "init-setup" ('' # NOTE: This should be called after `npm install` @@ -26,8 +48,8 @@ # Copying the new abis into the SG abi folder cp ../out/OrderBook.sol/OrderBook.json ./abis/ - cp ../out/ERC20.sol/ERC20.json ./abis/ReserveToken.json - '' + cp ../out/ERC20.sol/ERC20.json ./abis/ReserveToken.json + '' + pkgs.lib.concatStrings (map copy-abis concrete-contracts) + (remove-duplicate) ); docker-up = pkgs.writeShellScriptBin "docker-up" '' @@ -38,7 +60,6 @@ docker-compose -f docker/docker-compose.yaml down ''; - check-args = pkgs.writeShellScriptBin "check-args" ('' echo "All parameters: $@" echo "First parameter: $1" @@ -58,8 +79,6 @@ cargo test -- --nocapture; ''); - - default = install; }; diff --git a/subgraph/tests/generated/AuthoringMetaGetter.json b/subgraph/tests/generated/AuthoringMetaGetter.json index 2182c8c824..3e6ebb6170 100644 --- a/subgraph/tests/generated/AuthoringMetaGetter.json +++ b/subgraph/tests/generated/AuthoringMetaGetter.json @@ -16,18 +16,18 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506124d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", - "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "291:162:211:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", - "sourceMap": "291:162:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;377:12;409:35;:33;:35::i;:::-;402:42;;326:125;:::o;2522:11731:36:-;-1:-1:-1;;;2570:12:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;2642:60:36;:11343;;;;;;;;2719:17;2642:11343;;;;2827:101;;;;;;;;;;;;;295:4:76;2827:101:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;2942:103;;;;;;;;;;;;;295:4:76;2942:103:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3145:242;;;;;;;;;;;;;366:4:76;3145:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3401:151;;;;;;;;;;;;;241:1:76;3401:151:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3566:92;;;;;;;;;;;;;241:1:76;3566:92:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3672:84;;;;;;;;;;;;;241:1:76;3672:84:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3770:189;;;;;;;;;;;;;241:1:76;3770:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3973:203;;;;;;;;;;;;;241:1:76;3973:203:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4190:98;;;;;;;;;;;;;241:1:76;4190:98:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4302:189;;;;;;;;;;;;;241:1:76;4302:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4505:385;;;;;;;;;;;;;295:4:76;4505:385:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4904:315;;;;;;;;;;;;;295:4:76;4904:315:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5233:102;;;;;;;;;;;;;241:1:76;5233:102:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5349:187;;;;;;;;;;;;;241:1:76;5349:187:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5550:196;;;;;;;;;;;;;241:1:76;5550:196:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5760:220;;;;;;;;;;;;;241:1:76;5760:220:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5994:236;;;;;;;;;;;;;241:1:76;5994:236:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6244:95;;;;;;;;;;;;;241:1:76;6244:95:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6353:190;;;;;;;;;;;;;241:1:76;6353:190:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6557:214;;;;;;;;;;;;;241:1:76;6557:214:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6785:260;;;;;;;;;;;;;241:1:76;6785:260:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7059:290;;;;;;;;;;;;;241:1:76;7059:290:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7363:394;;;;;;;;;;;;;417:4:76;7363:394:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7771:480;;;;;;;;;;;;;470:4:76;7771:480:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8265:478;;;;;;;;;;;;;470:4:76;8265:478:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8901:242;;;;;;;;;;;;;241:1:76;8901:242:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9157:278;;;;;;;;;;;;;241:1:76;9157:278:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9449:224;;;;;;;;;;;;;241:1:76;9449:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9687:284;;;;;;;;;;;;;241:1:76;9687:284:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10129:189;;;;;;;;;;;;;241:1:76;10129:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10332:225;;;;;;;;;;;;;241:1:76;10332:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10715:189;;;;;;;;;;;;;241:1:76;10715:189:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10918:225;;;;;;;;;;;;;241:1:76;10918:225:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11157:224;;;;;;;;;;;;;241:1:76;11157:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11395:254;;;;;;;;;;;;;241:1:76;11395:254:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11807:251;;;;;;;;;;;;;241:1:76;11807:251:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12072:287;;;;;;;;;;;;;241:1:76;12072:287:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12373:186;;;;;;;;;;;;;241:1:76;12373:186:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12573:224;;;;;;;;;;;;;241:1:76;12573:224:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12811:576;;;;;;;;;;;;;295:4:76;12811:576:36;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;13401:574;;;;;;;;;;;;;295:4:76;13401:574:36;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;2305:2;14168:28;;;14222:24;;2642:11343;;-1:-1:-1;2642:11343:36;;14222:24;;2642:11343;;14222:24;;;:::i;:::-;;;;;;;;;;;;;14215:31;;;;;;2522:11731;:::o;14:481:91:-;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;484:4;414:66;409:2;401:6;397:15;393:88;388:3;384:98;380:109;373:116;;;14:481;;;;:::o;500:217::-;647:2;636:9;629:21;610:4;667:44;707:2;696:9;692:18;684:6;667:44;:::i;:::-;659:52;500:217;-1:-1:-1;;;500:217:91:o;722:1193::-;928:4;957:2;997;986:9;982:18;1027:2;1016:9;1009:21;1050:6;1085;1079:13;1116:6;1108;1101:22;1142:2;1132:12;;1175:2;1164:9;1160:18;1153:25;;1237:2;1227:6;1224:1;1220:14;1209:9;1205:30;1201:39;1275:2;1267:6;1263:15;1296:1;1306:580;1320:6;1317:1;1314:13;1306:580;;;1385:22;;;1409:66;1381:95;1369:108;;1500:13;;1568:9;;1553:25;;1625:11;;;1619:18;1639:4;1615:29;1598:15;;;1591:54;1684:11;;1678:18;1536:4;1716:15;;;1709:27;;;1759:47;1790:15;;;1678:18;1759:47;:::i;:::-;1864:12;;;;1749:57;-1:-1:-1;;;1829:15:91;;;;1342:1;1335:9;1306:580;;;-1:-1:-1;1903:6:91;;722:1193;-1:-1:-1;;;;;;;;722:1193:91:o", + "sourceMap": "291:162:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;377:12;409:35;:33;:35::i;:::-;402:42;;326:125;:::o;2522:11731:102:-;-1:-1:-1;;;2570:12:102;-1:-1:-1;;;;;;;;;;;;;;;;;;;2642:60:102;:11343;;;;;;;;2719:17;2642:11343;;;;2827:101;;;;;;;;;;;;;295:4:142;2827:101:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;2942:103;;;;;;;;;;;;;295:4:142;2942:103:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3145:242;;;;;;;;;;;;;366:4:142;3145:242:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3401:151;;;;;;;;;;;;;241:1:142;3401:151:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3566:92;;;;;;;;;;;;;241:1:142;3566:92:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3672:84;;;;;;;;;;;;;241:1:142;3672:84:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3770:189;;;;;;;;;;;;;241:1:142;3770:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3973:203;;;;;;;;;;;;;241:1:142;3973:203:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4190:98;;;;;;;;;;;;;241:1:142;4190:98:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4302:189;;;;;;;;;;;;;241:1:142;4302:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4505:385;;;;;;;;;;;;;295:4:142;4505:385:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4904:315;;;;;;;;;;;;;295:4:142;4904:315:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5233:102;;;;;;;;;;;;;241:1:142;5233:102:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5349:187;;;;;;;;;;;;;241:1:142;5349:187:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5550:196;;;;;;;;;;;;;241:1:142;5550:196:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5760:220;;;;;;;;;;;;;241:1:142;5760:220:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5994:236;;;;;;;;;;;;;241:1:142;5994:236:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6244:95;;;;;;;;;;;;;241:1:142;6244:95:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6353:190;;;;;;;;;;;;;241:1:142;6353:190:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6557:214;;;;;;;;;;;;;241:1:142;6557:214:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6785:260;;;;;;;;;;;;;241:1:142;6785:260:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7059:290;;;;;;;;;;;;;241:1:142;7059:290:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7363:394;;;;;;;;;;;;;417:4:142;7363:394:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7771:480;;;;;;;;;;;;;470:4:142;7771:480:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8265:478;;;;;;;;;;;;;470:4:142;8265:478:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8901:242;;;;;;;;;;;;;241:1:142;8901:242:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9157:278;;;;;;;;;;;;;241:1:142;9157:278:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9449:224;;;;;;;;;;;;;241:1:142;9449:224:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9687:284;;;;;;;;;;;;;241:1:142;9687:284:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10129:189;;;;;;;;;;;;;241:1:142;10129:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10332:225;;;;;;;;;;;;;241:1:142;10332:225:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10715:189;;;;;;;;;;;;;241:1:142;10715:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10918:225;;;;;;;;;;;;;241:1:142;10918:225:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11157:224;;;;;;;;;;;;;241:1:142;11157:224:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11395:254;;;;;;;;;;;;;241:1:142;11395:254:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11807:251;;;;;;;;;;;;;241:1:142;11807:251:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12072:287;;;;;;;;;;;;;241:1:142;12072:287:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12373:186;;;;;;;;;;;;;241:1:142;12373:186:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12573:224;;;;;;;;;;;;;241:1:142;12573:224:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12811:576;;;;;;;;;;;;;295:4:142;12811:576:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;13401:574;;;;;;;;;;;;;295:4:142;13401:574:102;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;2305:2;14168:28;;;14222:24;;2642:11343;;-1:-1:-1;2642:11343:102;;14222:24;;2642:11343;;14222:24;;;:::i;:::-;;;;;;;;;;;;;14215:31;;;;;;2522:11731;:::o;14:481:212:-;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;484:4;414:66;409:2;401:6;397:15;393:88;388:3;384:98;380:109;373:116;;;14:481;;;;:::o;500:217::-;647:2;636:9;629:21;610:4;667:44;707:2;696:9;692:18;684:6;667:44;:::i;:::-;659:52;500:217;-1:-1:-1;;;500:217:212:o;722:1193::-;928:4;957:2;997;986:9;982:18;1027:2;1016:9;1009:21;1050:6;1085;1079:13;1116:6;1108;1101:22;1142:2;1132:12;;1175:2;1164:9;1160:18;1153:25;;1237:2;1227:6;1224:1;1220:14;1209:9;1205:30;1201:39;1275:2;1267:6;1263:15;1296:1;1306:580;1320:6;1317:1;1314:13;1306:580;;;1385:22;;;1409:66;1381:95;1369:108;;1500:13;;1568:9;;1553:25;;1625:11;;;1619:18;1639:4;1615:29;1598:15;;;1591:54;1684:11;;1678:18;1536:4;1716:15;;;1709:27;;;1759:47;1790:15;;;1678:18;1759:47;:::i;:::-;1864:12;;;;1749:57;-1:-1:-1;;;1829:15:212;;;;1342:1;1335:9;1306:580;;;-1:-1:-1;1903:6:212;;722:1193;-1:-1:-1;;;;;;;;722:1193:212:o", "linkReferences": {} }, "methodIdentifiers": { "getAuthoringMeta()": "c316e48a" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAuthoringMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"AuthoringMetaGetter A contract to obtain the current AuthoringMeta of the interpreter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/util/concrete/AuthoringMetaGetter.sol\":\"AuthoringMetaGetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"test/util/concrete/AuthoringMetaGetter.sol\":{\"keccak256\":\"0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4\",\"dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAuthoringMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"AuthoringMetaGetter A contract to obtain the current AuthoringMeta of the interpreter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/util/subgraph/AuthoringMetaGetter.sol\":\"AuthoringMetaGetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"test/util/subgraph/AuthoringMetaGetter.sol\":{\"keccak256\":\"0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4\",\"dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.19+commit.7dd6d404" @@ -110,7 +110,7 @@ "appendCBOR": false }, "compilationTarget": { - "test/util/concrete/AuthoringMetaGetter.sol": "AuthoringMetaGetter" + "test/util/subgraph/AuthoringMetaGetter.sol": "AuthoringMetaGetter" }, "libraries": {} }, @@ -835,7 +835,7 @@ ], "license": "CAL" }, - "test/util/concrete/AuthoringMetaGetter.sol": { + "test/util/subgraph/AuthoringMetaGetter.sol": { "keccak256": "0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07", "urls": [ "bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4", @@ -847,702 +847,702 @@ "version": 1 }, "ast": { - "absolutePath": "test/util/concrete/AuthoringMetaGetter.sol", - "id": 23766, + "absolutePath": "test/util/subgraph/AuthoringMetaGetter.sol", + "id": 87173, "exportedSymbols": { "ALL_STANDARD_OPS_LENGTH": [ - 9651 + 58281 ], "Address": [ - 329 + 45143 ], "AuthoringMeta": [ - 20252 + 68882 ], "AuthoringMetaGetter": [ - 23765 + 87172 ], "B_1": [ - 8105 + 54813 ], "B_11": [ - 8113 + 54821 ], "B_111": [ - 8121 + 54829 ], "B_1111": [ - 8129 + 54837 ], "B_11111": [ - 8137 + 54845 ], "B_111111": [ - 8145 + 54853 ], "B_1111111": [ - 8153 + 54861 ], "B_11111111": [ - 8161 + 54869 ], "B_111111111": [ - 8169 + 54877 ], "B_1111111111": [ - 8177 + 54885 ], "B_11111111111": [ - 8185 + 54893 ], "B_111111111111": [ - 8193 + 54901 ], "B_1111111111111": [ - 8201 + 54909 ], "B_11111111111111": [ - 8209 + 54917 ], "B_111111111111111": [ - 8217 + 54925 ], "B_1111111111111111": [ - 8225 + 54933 ], "BadDynamicLength": [ - 9647 + 58277 ], "BadOpInputsLength": [ - 8999 + 57629 ], "Casting": [ - 7984 + 53867 ], "CastingErrors": [ - 6197 + 52080 ], "Common": [ - 7228 + 53111 ], "DEFAULT_STATE_NAMESPACE": [ - 8650 + 56316 ], "E": [ - 6510 + 52393 ], "EXP2_MAX_INPUT": [ - 6534 + 52417 ], "EXP_MAX_INPUT": [ - 6521 + 52404 ], "EncodedDispatch": [ - 8638 + 56304 ], "EnsureFailed": [ - 11089 + 59719 ], "EntrypointMinOutputs": [ - 8990 + 57620 ], "EntrypointMissing": [ - 8974 + 57604 ], "EntrypointNonZeroInput": [ - 8981 + 57611 ], "Errors": [ - 7229 + 53112 ], "FIXED_POINT_DECIMALS": [ - 22464 + 71265 ], "FIXED_POINT_ONE": [ - 22468 + 71269 ], "FLAG_MAX_INT": [ - 22484 + 71285 ], "FLAG_ROUND_UP": [ - 22472 + 71273 ], "FLAG_SATURATE": [ - 22478 + 71279 ], "FullyQualifiedNamespace": [ - 8599 + 56265 ], "HALF_UNIT": [ - 6545 + 52428 ], "Helpers": [ - 7985 + 53868 ], "IInterpreterStoreV1": [ - 8631 + 56297 ], "IInterpreterV1": [ - 8681 + 56347 ], "IUniswapV2Factory": [ - 8352 + 55060 ], "IUniswapV2Pair": [ - 8594 + 55302 ], "IntegrityCheckStateNP": [ - 9044 + 57674 ], "InterpreterStateNP": [ - 21951 + 70705 ], "LOG2_10": [ - 6556 + 52439 ], "LOG2_E": [ - 6567 + 52450 ], "LibAllStandardOpsNP": [ - 10208 + 58838 ], "LibBytecode": [ - 8963 + 56792 ], "LibBytes": [ - 23191 + 72156 ], "LibConvert": [ - 8095 + 54245 ], "LibFixedPointDecimalScale": [ - 22894 + 71746 ], "LibIntegrityCheckNP": [ - 9362 + 57992 ], "LibInterpreterStateNP": [ - 21996 + 70750 ], "LibMemCpy": [ - 23223 + 72188 ], "LibMemory": [ - 23234 + 72199 ], "LibMemoryKV": [ - 22458 + 71259 ], "LibNamespace": [ - 9380 + 58010 ], "LibOpAnyNP": [ - 10891 + 59521 ], "LibOpBlockNumberNP": [ - 10520 + 59150 ], "LibOpChainIdNP": [ - 10599 + 59229 ], "LibOpConditionsNP": [ - 11077 + 59707 ], "LibOpConstantNP": [ - 9500 + 58130 ], "LibOpContextNP": [ - 10351 + 58981 ], "LibOpDecimal18DivNP": [ - 12186 + 60816 ], "LibOpDecimal18MulNP": [ - 12407 + 61037 ], "LibOpDecimal18Scale18DynamicNP": [ - 12518 + 61148 ], "LibOpDecimal18Scale18NP": [ - 12635 + 61265 ], "LibOpDecimal18ScaleNNP": [ - 12752 + 61382 ], "LibOpEnsureNP": [ - 11246 + 59876 ], "LibOpEqualToNP": [ - 11330 + 59960 ], "LibOpEveryNP": [ - 11457 + 60087 ], "LibOpGetNP": [ - 14294 + 62924 ], "LibOpGreaterThanNP": [ - 11541 + 60171 ], "LibOpGreaterThanOrEqualToNP": [ - 11625 + 60255 ], "LibOpHashNP": [ - 10441 + 59071 ], "LibOpIfNP": [ - 11711 + 60341 ], "LibOpIntAddNP": [ - 12915 + 61545 ], "LibOpIntDivNP": [ - 13078 + 61708 ], "LibOpIntExpNP": [ - 13247 + 61877 ], "LibOpIntMaxNP": [ - 13427 + 62057 ], "LibOpIntMinNP": [ - 13607 + 62237 ], "LibOpIntModNP": [ - 13770 + 62400 ], "LibOpIntMulNP": [ - 13933 + 62563 ], "LibOpIntSubNP": [ - 14096 + 62726 ], "LibOpIsZeroNP": [ - 11793 + 60423 ], "LibOpLessThanNP": [ - 11877 + 60507 ], "LibOpLessThanOrEqualToNP": [ - 11961 + 60591 ], "LibOpMaxUint256NP": [ - 10689 + 59319 ], "LibOpSetNP": [ - 14417 + 63047 ], "LibOpStackNP": [ - 9591 + 58221 ], "LibOpTimestampNP": [ - 10768 + 59398 ], "LibOpUniswapV2AmountIn": [ - 14624 + 63254 ], "LibOpUniswapV2AmountOut": [ - 14831 + 63461 ], "LibPointer": [ - 23358 + 72323 ], "LibStackPointer": [ - 23521 + 72486 ], "LibUint256Array": [ - 23749 + 72714 ], "LibUniswapV2": [ - 22367 + 71121 ], "LibWillOverflow": [ - 23113 + 71965 ], "MASK_10BIT": [ - 8265 + 54973 ], "MASK_11BIT": [ - 8269 + 54977 ], "MASK_12BIT": [ - 8273 + 54981 ], "MASK_13BIT": [ - 8277 + 54985 ], "MASK_14BIT": [ - 8281 + 54989 ], "MASK_15BIT": [ - 8285 + 54993 ], "MASK_16BIT": [ - 8289 + 54997 ], "MASK_1BIT": [ - 8229 + 54937 ], "MASK_2BIT": [ - 8233 + 54941 ], "MASK_3BIT": [ - 8237 + 54945 ], "MASK_4BIT": [ - 8241 + 54949 ], "MASK_5BIT": [ - 8245 + 54953 ], "MASK_6BIT": [ - 8249 + 54957 ], "MASK_7BIT": [ - 8253 + 54961 ], "MASK_8BIT": [ - 8257 + 54965 ], "MASK_9BIT": [ - 8261 + 54969 ], "MAX_UD60x18": [ - 6578 + 52461 ], "MAX_UINT128": [ - 1231 + 47114 ], "MAX_UINT40": [ - 1239 + 47122 ], "MAX_WHOLE_UD60x18": [ - 6589 + 52472 ], "Math": [ - 7986 + 53869 ], "MemoryKV": [ - 22371 + 71172 ], "MemoryKVKey": [ - 22373 + 71174 ], "MemoryKVVal": [ - 22375 + 71176 ], "NO_STORE": [ - 8608 + 56274 ], "NoConditionsMet": [ - 10901 + 59531 ], "OPERAND_PARSER_OFFSET_8_M1_M1": [ - 20969 + 69599 ], "OPERAND_PARSER_OFFSET_DISALLOWED": [ - 20957 + 69587 ], "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ - 20963 + 69593 ], "OPERAND_PARSER_OFFSET_M1_M1": [ - 20966 + 69596 ], "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ - 20960 + 69590 ], "OVERFLOW_RESCALE_OOMS": [ - 22488 + 71289 ], "OZMath": [ - 1195 + 46816 ], "Operand": [ - 8642 + 56308 ], "OutOfBoundsConstantRead": [ - 9393 + 58023 ], "OutOfBoundsStackRead": [ - 9514 + 58144 ], "OutOfBoundsTruncate": [ - 23531 + 72496 ], "PI": [ - 6597 + 52480 ], "PRBMath_UD60x18_Ceil_Overflow": [ - 6696 + 52579 ], "PRBMath_UD60x18_Convert_Overflow": [ - 6701 + 52584 ], "PRBMath_UD60x18_Exp2_InputTooBig": [ - 6713 + 52596 ], "PRBMath_UD60x18_Exp_InputTooBig": [ - 6707 + 52590 ], "PRBMath_UD60x18_Gm_Overflow": [ - 6722 + 52605 ], "PRBMath_UD60x18_IntoSD1x18_Overflow": [ - 6728 + 52611 ], "PRBMath_UD60x18_IntoSD59x18_Overflow": [ - 6734 + 52617 ], "PRBMath_UD60x18_IntoUD2x18_Overflow": [ - 6740 + 52623 ], "PRBMath_UD60x18_IntoUint128_Overflow": [ - 6746 + 52629 ], "PRBMath_UD60x18_IntoUint40_Overflow": [ - 6752 + 52635 ], "PRBMath_UD60x18_Log_InputTooSmall": [ - 6758 + 52641 ], "PRBMath_UD60x18_Sqrt_Overflow": [ - 6764 + 52647 ], "Pointer": [ - 23238 + 72203 ], "SD1x18": [ - 3328 + 49211 ], "SD59x18": [ - 5813 + 51696 ], "SourceIndex": [ - 8636 + 56302 ], "SourceOffsetOutOfBounds": [ - 8694 + 56523 ], "StackAllocationMismatch": [ - 9024 + 57654 ], "StackOutputsMismatch": [ - 9031 + 57661 ], "StackUnderflow": [ - 9008 + 57638 ], "StackUnderflowHighwater": [ - 9017 + 57647 ], "StateNamespace": [ - 8640 + 56306 ], "TruncateError": [ - 23123 + 72088 ], "UD2x18": [ - 6184 + 52067 ], "UD60x18": [ - 7988 + 53871 ], "UNIT": [ - 6608 + 52491 ], "UNIT_SQUARED": [ - 6619 + 52502 ], "UnalignedStackPointer": [ - 23369 + 72334 ], "ZERO": [ - 6627 + 52510 ], "add": [ - 6796 + 52679 ], "and": [ - 6819 + 52702 ], "and2": [ - 6845 + 52728 ], "avg": [ - 7289 + 53172 ], "ceil": [ - 7318 + 53201 ], "convert": [ - 6655, - 6686 + 52538, + 52569 ], "div": [ - 7347 + 53230 ], "eq": [ - 6868 + 52751 ], "exp": [ - 7392 + 53275 ], "exp2": [ - 7438 + 53321 ], "floor": [ - 7450 + 53333 ], "frac": [ - 7462 + 53345 ], "gm": [ - 7529 + 53412 ], "gt": [ - 6891 + 52774 ], "gte": [ - 6914 + 52797 ], "intoSD1x18": [ - 6262 + 52145 ], "intoSD59x18": [ - 6343 + 52226 ], "intoUD2x18": [ - 6301 + 52184 ], "intoUint128": [ - 6395 + 52278 ], "intoUint256": [ - 6360 + 52243 ], "intoUint40": [ - 6430 + 52313 ], "inv": [ - 7551 + 53434 ], "isZero": [ - 6932 + 52815 ], "ln": [ - 7577 + 53460 ], "log10": [ - 7628 + 53511 ], "log2": [ - 7732 + 53615 ], "lshift": [ - 6955 + 52838 ], "lt": [ - 6978 + 52861 ], "lte": [ - 7001 + 52884 ], "mod": [ - 7027 + 52910 ], "mul": [ - 7760 + 53643 ], "neq": [ - 7050 + 52933 ], "not": [ - 7070 + 52953 ], "or": [ - 7096 + 52979 ], "pow": [ - 7867 + 53750 ], "powu": [ - 7939 + 53822 ], "rshift": [ - 7119 + 53002 ], "sqrt": [ - 7981 + 53864 ], "sub": [ - 7145 + 53028 ], "uEXP2_MAX_INPUT": [ - 6527 + 52410 ], "uEXP_MAX_INPUT": [ - 6514 + 52397 ], "uHALF_UNIT": [ - 6538 + 52421 ], "uLOG2_10": [ - 6549 + 52432 ], "uLOG2_E": [ - 6560 + 52443 ], "uMAX_SD1x18": [ - 3245 + 49128 ], "uMAX_SD59x18": [ - 3808 + 49691 ], "uMAX_UD2x18": [ - 6137 + 52020 ], "uMAX_UD60x18": [ - 6571 + 52454 ], "uMAX_WHOLE_UD60x18": [ - 6582 + 52465 ], "uUNIT": [ - 6601 + 52484 ], "uUNIT_SQUARED": [ - 6612 + 52495 ], "ud": [ - 6447 + 52330 ], "ud60x18": [ - 6464 + 52347 ], "uncheckedAdd": [ - 7172 + 53055 ], "uncheckedSub": [ - 7199 + 53082 ], "unwrap": [ - 6481 + 52364 ], "wrap": [ - 6498 + 52381 ], "xor": [ - 7225 + 53108 ] }, "nodeType": "SourceUnit", - "src": "32:422:90", + "src": "32:422:211", "nodes": [ { - "id": 23751, + "id": 87158, "nodeType": "PragmaDirective", - "src": "32:24:90", + "src": "32:24:211", "nodes": [], "literals": [ "solidity", @@ -1552,45 +1552,45 @@ ] }, { - "id": 23752, + "id": 87159, "nodeType": "ImportDirective", - "src": "58:64:90", + "src": "58:64:211", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "file": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "nameLocation": "-1:-1:-1", - "scope": 23766, - "sourceUnit": 330, + "scope": 87173, + "sourceUnit": 45144, "symbolAliases": [], "unitAlias": "" }, { - "id": 23753, + "id": 87160, "nodeType": "ImportDirective", - "src": "123:65:90", + "src": "123:65:211", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", "file": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", "nameLocation": "-1:-1:-1", - "scope": 23766, - "sourceUnit": 10209, + "scope": 87173, + "sourceUnit": 58839, "symbolAliases": [], "unitAlias": "" }, { - "id": 23765, + "id": 87172, "nodeType": "ContractDefinition", - "src": "291:162:90", + "src": "291:162:211", "nodes": [ { - "id": 23764, + "id": 87171, "nodeType": "FunctionDefinition", - "src": "326:125:90", + "src": "326:125:211", "nodes": [], "body": { - "id": 23763, + "id": 87170, "nodeType": "Block", - "src": "392:59:90", + "src": "392:59:211", "nodes": [], "statements": [ { @@ -1599,33 +1599,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 23759, + "id": 87166, "name": "LibAllStandardOpsNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10208, - "src": "409:19:90", + "referencedDeclaration": 58838, + "src": "409:19:211", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$10208_$", + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58838_$", "typeString": "type(library LibAllStandardOpsNP)" } }, - "id": 23760, + "id": 87167, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "429:13:90", + "memberLocation": "429:13:211", "memberName": "authoringMeta", "nodeType": "MemberAccess", - "referencedDeclaration": 9894, - "src": "409:33:90", + "referencedDeclaration": 58524, + "src": "409:33:211", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 23761, + "id": 87168, "isConstant": false, "isLValue": false, "isPure": false, @@ -1634,17 +1634,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "409:35:90", + "src": "409:35:211", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 23758, - "id": 23762, + "functionReturnParameters": 87165, + "id": 87169, "nodeType": "Return", - "src": "402:42:90" + "src": "402:42:211" } ] }, @@ -1653,26 +1653,26 @@ "kind": "function", "modifiers": [], "name": "getAuthoringMeta", - "nameLocation": "335:16:90", + "nameLocation": "335:16:211", "parameters": { - "id": 23755, + "id": 87162, "nodeType": "ParameterList", "parameters": [], - "src": "351:2:90" + "src": "351:2:211" }, "returnParameters": { - "id": 23758, + "id": 87165, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 23757, + "id": 87164, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 23764, - "src": "377:12:90", + "scope": 87171, + "src": "377:12:211", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1680,10 +1680,10 @@ "typeString": "bytes" }, "typeName": { - "id": 23756, + "id": 87163, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "377:5:90", + "src": "377:5:211", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1692,9 +1692,9 @@ "visibility": "internal" } ], - "src": "376:14:90" + "src": "376:14:211" }, - "scope": 23765, + "scope": 87172, "stateMutability": "pure", "virtual": false, "visibility": "external" @@ -1706,22 +1706,22 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 23754, + "id": 87161, "nodeType": "StructuredDocumentation", - "src": "190:101:90", + "src": "190:101:211", "text": "@title AuthoringMetaGetter\n A contract to obtain the current AuthoringMeta of the interpreter" }, "fullyImplemented": true, "linearizedBaseContracts": [ - 23765 + 87172 ], "name": "AuthoringMetaGetter", - "nameLocation": "300:19:90", - "scope": 23766, + "nameLocation": "300:19:211", + "scope": 87173, "usedErrors": [] } ], "license": "CAL" }, - "id": 90 + "id": 211 } \ No newline at end of file diff --git a/subgraph/tests/generated/OrderBook.json b/subgraph/tests/generated/OrderBook.json index 273aec993e..479e5e0fc2 100644 --- a/subgraph/tests/generated/OrderBook.json +++ b/subgraph/tests/generated/OrderBook.json @@ -1907,12 +1907,12 @@ ], "bytecode": { "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517f71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee90829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:172:-:0;;;1858:76:169;;;-1:-1:-1;;;;;;1858:76:169;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:172;1821:22:22;1109:11:79;;;;6419:66:172;;10962:6;;1075:46:79;;6419:66:172;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:172;8997:33509;;1424:292:154;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:154;;;;;3082:25:209;;;3123:18;;;3116:34;;;3055:18;;1619:46:154;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:93:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:93;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:93;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:93:o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:154;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;-1:-1:-1;;;;;825:32:154;667:18:153;883:36:154;;550:376::o;14:127:209:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:209;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:209;508:40;;-1:-1:-1;;;;;563:34:209;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:209:o;687:131::-;-1:-1:-1;;;;;762:31:209;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:209;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:209;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:209;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:209;;;2179:29;-1:-1:-1;2190:5:209;1078:1160;-1:-1:-1;;;1078:1160:209:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:209;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:209:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:209:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:209;;3161:435;-1:-1:-1;;;;;3161:435:209:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:209;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:209;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:209:o;:::-;8997:33509:172;;;;;;", + "sourceMap": "8997:33509:173:-:0;;;1858:76:170;;;-1:-1:-1;;;;;;1858:76:170;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:173;1821:22:22;1109:11:79;;;;6419:66:173;;10962:6;;1075:46:79;;6419:66:173;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:173;8997:33509;;1424:292:155;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:155;;;;;3082:25:212;;;3123:18;;;3116:34;;;3055:18;;1619:46:155;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:94:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:94;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:94;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:94:o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:155;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;-1:-1:-1;;;;;825:32:155;667:18:154;883:36:155;;550:376::o;14:127:212:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:212;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:212;508:40;;-1:-1:-1;;;;;563:34:212;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:212:o;687:131::-;-1:-1:-1;;;;;762:31:212;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:212;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:212;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:212;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:212;;;2179:29;-1:-1:-1;2190:5:212;1078:1160;-1:-1:-1;;;1078:1160:212:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:212;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:212:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:212:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:212;;3161:435;-1:-1:-1;;;;;3161:435:212:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:212;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:212;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:212:o;:::-;8997:33509:173;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:209;;904:22;886:41;;874:2;859:18;11833:151:172;;;;;;;;5614:2666:169;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:209;;;2296:2;2281:18;8721:162:169;2162:177:209;13693:2174:172;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:209;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:172;3147:248:209;24689:4247:172;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:172:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:169:-;;;;;;:::i;:::-;;:::i;15906:448:172:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:172::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:172::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:209::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:172::1;::::0;15943:3:209;15928:19;12422:43:172::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:172;;;:::o;2303:20:22:-;12023:640:172;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:172::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:169:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:175;6965:6:169;:40;6961:111;;7028:33;;;;;;;;2308:25:209;;;2281:18;;7028:33:169;2162:177:209;6961:111:169;7450:14;;;-1:-1:-1;7482:10:169;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:169;;5614:2666;-1:-1:-1;;;;;;5614:2666:169:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:209;8838:23:169;;;;;;17954:18:209;;8838:38:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:169:o;13693:2174:172:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:172::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:172::1;::::0;-1:-1:-1;;;13824:56:172:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:209::0;17954:18;;13933:26:172::1;17835:226:209::0;13890:80:172::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:209::0;17954:18;;14022:27:172::1;17835:226:209::0;13979:81:172::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:209::0;17954:18;;14126:25:172::1;17835:226:209::0;14069:93:172::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:209::0;17954:18;;14229:26:172::1;17835:226:209::0;14171:95:172::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:160::0;3277:11;;3335:1:172::1;3301:16:160::0;;;3348:4;3337:16;;3330:27;3574:1:172::1;3377:16:160::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:172::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:172::1;::::0;-1:-1:-1;14882:27:172::1;::::0;-1:-1:-1;;14882:102:172:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:172::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:172::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:172::1;::::0;-1:-1:-1;;;15724:38:172:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:172;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:172::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:172::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:172;-1:-1:-1;17129:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:172::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:172::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:209;28256:15;;;17240:199:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:172::1;28003:327:209::0;17031:423:172::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:172::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:209;28706:17;;;18246:213:172::1;::::0;::::1;28688:36:209::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:172::1;28522:262:209::0;18031:443:172::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:172::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:172::1;::::0;15512:2:209;15497:18;19124:49:172::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:172::1;::::0;15512:2:209;15497:18;19933:56:172::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:209::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:172::1;::::0;15512:2:209;15497:18;20103:51:172::1;15322:398:209::0;20014:2488:172::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:172::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:149;21000:27:172;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:149;21906:13:172;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:172::1;::::0;-1:-1:-1;22120:76:172::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:149;22120:41:172;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:172::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:172::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:172::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:172;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:209::0;3362:18;;;3355:34;;;3294:18;;22729:50:172::1;3147:248:209::0;22665:125:172::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:172::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:172::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:172::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:172::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:172::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:172;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:172;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:209;17999:55;;;25011:22:172::1;::::0;::::1;17981:74:209::0;17954:18;;25011:22:172::1;17835:226:209::0;24956:92:172::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:209;28256:15;;;25252:181:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:172::1;28003:327:209::0;25061:387:172::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:209::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:172::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:209;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:172::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:172;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:172::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:172::1;-1:-1:-1::0;;28889:40:172::1;::::0;;28900:10:::1;32657:74:209::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:172::1;::::0;32644:3:209;32629:19;28889:40:172::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:172;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:172:-;2261:21:22;:19;:21::i;:::-;12810:12:172::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:209::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:172::1;15322:398:209::0;12806:107:172::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:172;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:209;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:172::1;::::0;33416:3:209;33401:19;13491:66:172::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:172;11720:7;3098::22;;1759:1;3098:19;11128:93:172;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:172::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:172::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:209;28256:15;;;16061:38:172::1;::::0;::::1;28238:34:209::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:172::1;28003:327:209::0;16009:101:172::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:172;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:172::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:209;2460:63:22;;;37243:21:209;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:209;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:209;15603:15;;;1482:68:27;;;15585:34:209;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:209;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:169:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:209;2555:7:169;;;;15635:18:209;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:169;15322:398:209;2481:109:169;2429:167::o;941:175:27:-;1050:58;;37623:42:209;37611:55;;1050:58:27;;;37593:74:209;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:209;;1050:58:27;37419:297:209;2258:165:169;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:169;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:169;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:91:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:91;;476:349;-1:-1:-1;476:349:91:o;568:59::-;-1:-1:-1;802:4:91;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:91:o;537:118:180:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:154:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:172:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:172;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:172;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:172;;4055:4:160;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:172;;;;4149:16:160;;;4142:27;30311:30:172;;;3967:22:160;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:172;;-1:-1:-1;30160:14:172;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:160;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:172;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:160;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:172;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:172;;;;;;;;;;;-1:-1:-1;;;;34596:141:172;;;;-1:-1:-1;34596:141:172;29640:5114::o;6057:849:151:-;6141:7;6211:8;253:2:149;6188:31:151;6184:706;;;253:2:149;6259:31:151;;;503:6:149;6312:21:151;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:149;6517:8:151;:31;6513:377;;;6590:31;;;416:1:149;6643:21:151;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:151;6867:8;;649:163:150;741:7;767:38;:1;776;339:4:149;796:8:150;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:150:o;7325:878:151:-;7414:7;7484:14;253:2:149;7461:37:151;7457:730;;;253:2:149;7540:37:151;;;416:1:149;7599:21:151;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:149;7809:14:151;:37;7805:382;;;7886:37;;;503:6:149;7945:21:151;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:172:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:172;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:172;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:172;-1:-1:-1;38505:22:172;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:169:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:169;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:169;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:169;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:172:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:172;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:209;5720:111:27;;;42026:21:209;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:209;1950:412:91;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:91:o;550:376:154:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:154;;550:376;-1:-1:-1;550:376:154:o;631:34::-;-1:-1:-1;846:1:154;835:13;829:20;691:16;825:32;667:18:153;883:36:154;;550:376::o;7166:2290:92:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:92;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:160;3277:11;;3315:1;3301:16;;2288:10:92;3348:4:160;3337:16;;3330:27;2326:4:92;3377:16:160;;;3370:27;2211:16:92;3423::160;;3410:30;;;3277:11;2258:165:169;7817:17:92;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:92;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:146;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:92;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:92;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:209;;;2281:18;;9164:19:92;2162:177:209;8196:1010:92;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:92;7166:2290;-1:-1:-1;;;;;7166:2290:92:o;42090:213:172:-;42167:15;1048:2:94;1016:34;;;;;3455:1:172;1015:100:94;42201:95:172;816:316:94;3534:689:151;3614:9;726:2:149;3663:9:151;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:151;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:149;3179:9:151;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:151;;2590:688;-1:-1:-1;;2590:688:151:o;5172:598::-;5253:9;726:2:149;5302:11:151;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:151;5715:6;;5172:598;-1:-1:-1;;5172:598:151:o;4596:207::-;4670:7;726:2:149;4720:11:151;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:172:-;42380:15;1055:46:94;1048:2;1016:34;;;;;1015:87;42414:83:172;816:316:94;40029:2055:172;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:172;;;40835:183;;;-1:-1:-1;40992:13:172;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:172:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:91:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:91;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:91;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:209;2952:53:36;;;45067:21:209;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:209;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:209;8113:60:28;;;45417:21:209;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:209;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:209;5354:81:28;;;45775:21:209;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:209;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:209;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:209;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:209:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:209;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:209:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:209;;561:180;-1:-1:-1;561:180:209:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:209;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:209;1437:18;;1424:32;;-1:-1:-1;1507:2:209;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:209;;-1:-1:-1;1871:2:209;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:209:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:209:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:209:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:209;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:209;;5790:703;-1:-1:-1;;;;;;;5790:703:209:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:209:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:209;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:209;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:209;;-1:-1:-1;;10648:12:209;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:209;8145:2554;-1:-1:-1;;;;;;8145:2554:209:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:209;;-1:-1:-1;;;;12066:626:209:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:209;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:209:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:209;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:209;;13286:859;-1:-1:-1;;;;;;;13286:859:209:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:209;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:209;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:209:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:209:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:209;;17464:184;-1:-1:-1;17464:184:209:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:209:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:209;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:209;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:209;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:209;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:209;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:209;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:209;;20766:435;-1:-1:-1;;;;;20766:435:209:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:209;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:209;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:209;26645:966;-1:-1:-1;;26645:966:209:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:209;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:209;30554:9;30525:685;;;-1:-1:-1;31249:18:209;;;31242:34;;;;-1:-1:-1;;31292:18:209;;;31285:34;;;;-1:-1:-1;31227:6:209;;29325:2000;-1:-1:-1;;;;;;29325:2000:209:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:209;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:209;;-1:-1:-1;34383:18:209;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:209;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:209;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:209;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:209;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:209;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:209:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", + "sourceMap": "8997:33509:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:212;;904:22;886:41;;874:2;859:18;11833:151:173;;;;;;;;5614:2666:170;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:212;;;2296:2;2281:18;8721:162:170;2162:177:212;13693:2174:173;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:212;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:173;3147:248:212;24689:4247:173;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:173:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:170:-;;;;;;:::i;:::-;;:::i;15906:448:173:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:173::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:173::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:212::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:173::1;::::0;15943:3:212;15928:19;12422:43:173::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:173;;;:::o;2303:20:22:-;12023:640:173;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:173::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:170:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:177;6965:6:170;:40;6961:111;;7028:33;;;;;;;;2308:25:212;;;2281:18;;7028:33:170;2162:177:212;6961:111:170;7450:14;;;-1:-1:-1;7482:10:170;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:170;;5614:2666;-1:-1:-1;;;;;;5614:2666:170:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:212;8838:23:170;;;;;;17954:18:212;;8838:38:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:170:o;13693:2174:173:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:173::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:173::1;::::0;-1:-1:-1;;;13824:56:173:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:212::0;17954:18;;13933:26:173::1;17835:226:212::0;13890:80:173::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:212::0;17954:18;;14022:27:173::1;17835:226:212::0;13979:81:173::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:212::0;17954:18;;14126:25:173::1;17835:226:212::0;14069:93:173::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:212::0;17954:18;;14229:26:173::1;17835:226:212::0;14171:95:173::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:161::0;3277:11;;3335:1:173::1;3301:16:161::0;;;3348:4;3337:16;;3330:27;3574:1:173::1;3377:16:161::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:173::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:173::1;::::0;-1:-1:-1;14882:27:173::1;::::0;-1:-1:-1;;14882:102:173:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:173::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:173::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:173::1;::::0;-1:-1:-1;;;15724:38:173:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:173;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:173::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:173::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:173;-1:-1:-1;17129:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:173::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:173::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:212;28256:15;;;17240:199:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:173::1;28003:327:212::0;17031:423:173::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:173::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:212;28706:17;;;18246:213:173::1;::::0;::::1;28688:36:212::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:173::1;28522:262:212::0;18031:443:173::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:173::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:173::1;::::0;15512:2:212;15497:18;19124:49:173::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:173::1;::::0;15512:2:212;15497:18;19933:56:173::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:173::1;::::0;15512:2:212;15497:18;20103:51:173::1;15322:398:212::0;20014:2488:173::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:173::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:150;21000:27:173;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:150;21906:13:173;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:173::1;::::0;-1:-1:-1;22120:76:173::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:150;22120:41:173;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:173::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:173::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:173::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:173;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:212::0;3362:18;;;3355:34;;;3294:18;;22729:50:173::1;3147:248:212::0;22665:125:173::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:173::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:173::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:173::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:173::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:173::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:173;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:173;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:212;17999:55;;;25011:22:173::1;::::0;::::1;17981:74:212::0;17954:18;;25011:22:173::1;17835:226:212::0;24956:92:173::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:212;28256:15;;;25252:181:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:173::1;28003:327:212::0;25061:387:173::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:212::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:173::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:212;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:173::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:173;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:173::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:173::1;-1:-1:-1::0;;28889:40:173::1;::::0;;28900:10:::1;32657:74:212::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:173::1;::::0;32644:3:212;32629:19;28889:40:173::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:173;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:173:-;2261:21:22;:19;:21::i;:::-;12810:12:173::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:173::1;15322:398:212::0;12806:107:173::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:173;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:212;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:173::1;::::0;33416:3:212;33401:19;13491:66:173::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:173;11720:7;3098::22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:173::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:173::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:212;28256:15;;;16061:38:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:173::1;28003:327:212::0;16009:101:173::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:173;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:173::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:212;2460:63:22;;;37243:21:212;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:212;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:212;15603:15;;;1482:68:27;;;15585:34:212;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:212;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:170:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:212;2555:7:170;;;;15635:18:212;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:170;15322:398:212;2481:109:170;2429:167::o;941:175:27:-;1050:58;;37623:42:212;37611:55;;1050:58:27;;;37593:74:212;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:212;;1050:58:27;37419:297:212;2258:165:170;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:170;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:170;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;537:118:182:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:173:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:173;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:173;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:173;;4055:4:161;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:173;;;;4149:16:161;;;4142:27;30311:30:173;;;3967:22:161;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:173;;-1:-1:-1;30160:14:173;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:161;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:173;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:161;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:173;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:173;;;;;;;;;;;-1:-1:-1;;;;34596:141:173;;;;-1:-1:-1;34596:141:173;29640:5114::o;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;649:163:151;741:7;767:38;:1;776;339:4:150;796:8:151;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:151:o;7325:878:152:-;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:173:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:173;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:173;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:173;-1:-1:-1;38505:22:173;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:170:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:170;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:170;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:170;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:173:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:173;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:212;5720:111:27;;;42026:21:212;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:212;1950:412:92;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;550:376:155:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;691:16;825:32;667:18:154;883:36:155;;550:376::o;7166:2290:93:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:93;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:161;3277:11;;3315:1;3301:16;;2288:10:93;3348:4:161;3337:16;;3330:27;2326:4:93;3377:16:161;;;3370:27;2211:16:93;3423::161;;3410:30;;;3277:11;2258:165:170;7817:17:93;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:93;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:147;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:93;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:93;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:212;;;2281:18;;9164:19:93;2162:177:212;8196:1010:93;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:93;7166:2290;-1:-1:-1;;;;;7166:2290:93:o;42090:213:173:-;42167:15;1048:2:95;1016:34;;;;;3455:1:173;1015:100:95;42201:95:173;816:316:95;3534:689:152;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:152;5715:6;;5172:598;-1:-1:-1;;5172:598:152:o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:173:-;42380:15;1055:46:95;1048:2;1016:34;;;;;1015:87;42414:83:173;816:316:95;40029:2055:173;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:173;;;40835:183;;;-1:-1:-1;40992:13:173;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:173:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:212;2952:53:36;;;45067:21:212;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:212;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:212;8113:60:28;;;45417:21:212;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:212;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:212;5354:81:28;;;45775:21:212;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:212;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:212;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:212;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:212:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:212;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:212:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:212;;561:180;-1:-1:-1;561:180:212:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:212;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:212;1437:18;;1424:32;;-1:-1:-1;1507:2:212;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:212;;-1:-1:-1;1871:2:212;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:212:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:212:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:212:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:212;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:212;;5790:703;-1:-1:-1;;;;;;;5790:703:212:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:212:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:212;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:212;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:212;;-1:-1:-1;;10648:12:212;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:212;8145:2554;-1:-1:-1;;;;;;8145:2554:212:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:212;;-1:-1:-1;;;;12066:626:212:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:212;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:212:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:212;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:212;;13286:859;-1:-1:-1;;;;;;;13286:859:212:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:212;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:212;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:212:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:212:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:212;;17464:184;-1:-1:-1;17464:184:212:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:212:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:212;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:212;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:212;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:212;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:212;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:212;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:212;;20766:435;-1:-1:-1;;;;;20766:435:212:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:212;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:212;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:212;26645:966;-1:-1:-1;;26645:966:212:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:212;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:212;30554:9;30525:685;;;-1:-1:-1;31249:18:212;;;31242:34;;;;-1:-1:-1;;31292:18:212;;;31285:34;;;;-1:-1:-1;31227:6:212;;29325:2000;-1:-1:-1;;;;;;29325:2000:212:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:212;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:212;;-1:-1:-1;34383:18:212;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:212;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:212;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:212;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:212;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:212;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:212:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -4368,64 +4368,64 @@ }, "ast": { "absolutePath": "src/concrete/OrderBook.sol", - "id": 77005, + "id": 77035, "exportedSymbols": { "ActiveDebt": [ - 74215 + 74245 ], "CALCULATE_ORDER_ENTRYPOINT": [ - 74875 + 74905 ], "CALCULATE_ORDER_MAX_OUTPUTS": [ - 74891 + 74921 ], "CALCULATE_ORDER_MIN_OUTPUTS": [ - 74887 + 74917 ], "CALLER_META_HASH": [ - 74954 + 74984 ], "CALLING_CONTEXT_COLUMNS": [ - 74903 + 74933 ], "CONTEXT_BASE_COLUMN": [ - 74907 + 74937 ], "CONTEXT_CALCULATIONS_COLUMN": [ - 74915 + 74945 ], "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 74911 + 74941 ], "CONTEXT_VAULT_INPUTS_COLUMN": [ - 74919 + 74949 ], "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 74939 + 74969 ], "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 74943 + 74973 ], "CONTEXT_VAULT_IO_ROWS": [ - 74947 + 74977 ], "CONTEXT_VAULT_IO_TOKEN": [ - 74927 + 74957 ], "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 74931 + 74961 ], "CONTEXT_VAULT_IO_VAULT_ID": [ - 74935 + 74965 ], "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 74923 + 74953 ], "ClearConfig": [ - 77262 + 77292 ], "ClearStateChange": [ - 77271 + 77301 ], "DEFAULT_STATE_NAMESPACE": [ 56316 @@ -4443,70 +4443,70 @@ 56304 ], "Evaluable": [ - 57280 + 57310 ], "EvaluableConfig": [ - 57262 + 57292 ], "EvaluableConfigV2": [ - 57271 + 57301 ], "FIXED_POINT_DECIMALS": [ - 71235 + 71265 ], "FIXED_POINT_ONE": [ - 71239 + 71269 ], "FLAG_MAX_INT": [ - 71255 + 71285 ], "FLAG_ROUND_UP": [ - 71243 + 71273 ], "FLAG_SATURATE": [ - 71249 + 71279 ], "FLASH_FEE": [ - 74219 + 74249 ], "FlashLenderCallbackFailed": [ - 74206 + 74236 ], "FullyQualifiedNamespace": [ 56265 ], "HANDLE_IO_ENTRYPOINT": [ - 74883 + 74913 ], "HANDLE_IO_MAX_OUTPUTS": [ - 74899 + 74929 ], "HANDLE_IO_MIN_OUTPUTS": [ - 74895 + 74925 ], "HASH_NIL": [ - 71096 + 71126 ], "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ 56194 ], "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ - 56403 + 56433 ], "IERC20": [ 44376 ], "IERC3156FlashBorrower": [ - 77476 + 77791 ], "IERC3156FlashLender": [ - 77513 + 77828 ], "IExpressionDeployerV1": [ 56230 ], "IExpressionDeployerV2": [ - 56438 + 56468 ], "IInterpreterCallerV2": [ 56260 @@ -4518,64 +4518,64 @@ 56347 ], "IO": [ - 77192 + 77222 ], "IOrderBookV3": [ - 77796 + 78111 ], "IOrderBookV3OrderTaker": [ - 77828 + 78143 ], "Input18Amount": [ - 74979 + 75009 ], "InvalidSignature": [ - 56776 + 56806 ], "LibBytecode": [ - 56762 + 56792 ], "LibBytes": [ - 72126 + 72156 ], "LibContext": [ - 57061 + 57091 ], "LibEncodedDispatch": [ - 57246 + 57276 ], "LibEvaluable": [ - 57293 + 57323 ], "LibFixedPointDecimalArithmeticOpenZeppelin": [ - 71310 + 71340 ], "LibFixedPointDecimalScale": [ - 71716 + 71746 ], "LibHashNoAlloc": [ - 71138 + 71168 ], "LibMemCpy": [ - 72158 + 72188 ], "LibMeta": [ - 72048 + 72078 ], "LibOrder": [ - 77850 + 78165 ], "LibPointer": [ - 72293 + 72323 ], "LibUint256Array": [ - 72684 + 72714 ], "Math": [ 46816 ], "MinimumInput": [ - 74854 + 74884 ], "Multicall": [ 45220 @@ -4584,55 +4584,55 @@ 56274 ], "NoOrders": [ - 77527 + 77842 ], "NotOrderOwner": [ - 74833 + 74863 ], "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ - 77459 + 77774 ], "ORDER_DEAD": [ - 74867 + 74897 ], "ORDER_LIVE": [ - 74863 + 74893 ], "OVERFLOW_RESCALE_OOMS": [ - 71259 + 71289 ], "Operand": [ 56308 ], "Order": [ - 77222 + 77252 ], "OrderBook": [ - 77004 + 77034 ], "OrderBookV3FlashLender": [ - 74539 + 74569 ], "OrderConfigV2": [ - 77541 + 77856 ], "OrderIOCalculation": [ - 74975 + 75005 ], "OutOfBoundsTruncate": [ - 72466 + 72496 ], "Output18Amount": [ - 74977 + 75007 ], "Pointer": [ - 72173 + 72203 ], "ReentrancyGuard": [ 43711 ], "ReentrancyGuardReentrantCall": [ - 74826 + 74856 ], "SIGNED_CONTEXT_CONTEXT_OFFSET": [ 56246 @@ -4647,7 +4647,7 @@ 44813 ], "SameOwner": [ - 74859 + 74889 ], "SignatureChecker": [ 45914 @@ -4659,43 +4659,43 @@ 56302 ], "SourceOffsetOutOfBounds": [ - 56493 + 56523 ], "StateNamespace": [ 56306 ], "TakeOrderConfig": [ - 77249 + 77279 ], "TakeOrdersConfigV2": [ - 77554 + 77869 ], "TokenDecimalsMismatch": [ - 74847 + 74877 ], "TokenMismatch": [ - 74840 + 74870 ], "TruncateError": [ - 72058 + 72088 ], "ZeroAmount": [ - 74201 + 74231 ], "ZeroReceiver": [ - 74198 + 74228 ], "ZeroToken": [ - 74195 + 74225 ] }, "nodeType": "SourceUnit", - "src": "32:42475:172", + "src": "32:42475:173", "nodes": [ { - "id": 74800, + "id": 74830, "nodeType": "PragmaDirective", - "src": "32:24:172", + "src": "32:24:173", "nodes": [], "literals": [ "solidity", @@ -4705,24 +4705,24 @@ ] }, { - "id": 74802, + "id": 74832, "nodeType": "ImportDirective", - "src": "58:78:172", + "src": "58:78:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "file": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 46817, "symbolAliases": [ { "foreign": { - "id": 74801, + "id": 74831, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "66:4:172", + "src": "66:4:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4731,24 +4731,24 @@ "unitAlias": "" }, { - "id": 74804, + "id": 74834, "nodeType": "ImportDirective", - "src": "137:83:172", + "src": "137:83:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", "file": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 45221, "symbolAliases": [ { "foreign": { - "id": 74803, + "id": 74833, "name": "Multicall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45220, - "src": "145:9:172", + "src": "145:9:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4757,24 +4757,24 @@ "unitAlias": "" }, { - "id": 74806, + "id": 74836, "nodeType": "ImportDirective", - "src": "221:83:172", + "src": "221:83:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "file": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 44377, "symbolAliases": [ { "foreign": { - "id": 74805, + "id": 74835, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44376, - "src": "229:6:172", + "src": "229:6:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4783,24 +4783,24 @@ "unitAlias": "" }, { - "id": 74808, + "id": 74838, "nodeType": "ImportDirective", - "src": "305:95:172", + "src": "305:95:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "file": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 44814, "symbolAliases": [ { "foreign": { - "id": 74807, + "id": 74837, "name": "SafeERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44813, - "src": "313:9:172", + "src": "313:9:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4809,24 +4809,24 @@ "unitAlias": "" }, { - "id": 74810, + "id": 74840, "nodeType": "ImportDirective", - "src": "401:98:172", + "src": "401:98:173", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", "file": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 43712, "symbolAliases": [ { "foreign": { - "id": 74809, + "id": 74839, "name": "ReentrancyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 43711, - "src": "409:15:172", + "src": "409:15:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4835,100 +4835,100 @@ "unitAlias": "" }, { - "id": 74811, + "id": 74841, "nodeType": "ImportDirective", - "src": "501:89:172", + "src": "501:89:173", "nodes": [], "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 71311, + "scope": 77035, + "sourceUnit": 71341, "symbolAliases": [], "unitAlias": "" }, { - "id": 74812, + "id": 74842, "nodeType": "ImportDirective", - "src": "591:72:172", + "src": "591:72:173", "nodes": [], "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 71717, + "scope": 77035, + "sourceUnit": 71747, "symbolAliases": [], "unitAlias": "" }, { - "id": 74813, + "id": 74843, "nodeType": "ImportDirective", - "src": "664:68:172", + "src": "664:68:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", "file": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 57247, + "scope": 77035, + "sourceUnit": 57277, "symbolAliases": [], "unitAlias": "" }, { - "id": 74814, + "id": 74844, "nodeType": "ImportDirective", - "src": "733:60:172", + "src": "733:60:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", "file": "lib/rain.interpreter/src/lib/caller/LibContext.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 57062, + "scope": 77035, + "sourceUnit": 57092, "symbolAliases": [], "unitAlias": "" }, { - "id": 74818, + "id": 74848, "nodeType": "ImportDirective", - "src": "794:177:172", + "src": "794:177:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", "file": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, + "scope": 77035, "sourceUnit": 55358, "symbolAliases": [ { "foreign": { - "id": 74815, + "id": 74845, "name": "DeployerDiscoverableMetaV2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55357, - "src": "807:26:172", + "src": "807:26:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 74816, + "id": 74846, "name": "DeployerDiscoverableMetaV2ConstructionConfig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 55312, - "src": "839:44:172", + "src": "839:44:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 74817, + "id": 74847, "name": "LibMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72048, - "src": "889:7:172", + "referencedDeclaration": 72078, + "src": "889:7:173", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -4937,118 +4937,118 @@ "unitAlias": "" }, { - "id": 74819, + "id": 74849, "nodeType": "ImportDirective", - "src": "972:63:172", + "src": "972:63:173", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", "file": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 56763, + "scope": 77035, + "sourceUnit": 56793, "symbolAliases": [], "unitAlias": "" }, { - "id": 74820, + "id": 74850, "nodeType": "ImportDirective", - "src": "1037:48:172", + "src": "1037:48:173", "nodes": [], "absolutePath": "src/interface/unstable/IOrderBookV3.sol", "file": "../interface/unstable/IOrderBookV3.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 77797, + "scope": 77035, + "sourceUnit": 78112, "symbolAliases": [], "unitAlias": "" }, { - "id": 74821, + "id": 74851, "nodeType": "ImportDirective", - "src": "1086:58:172", + "src": "1086:58:173", "nodes": [], "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 77829, + "scope": 77035, + "sourceUnit": 78144, "symbolAliases": [], "unitAlias": "" }, { - "id": 74822, + "id": 74852, "nodeType": "ImportDirective", - "src": "1145:29:172", + "src": "1145:29:173", "nodes": [], "absolutePath": "src/lib/LibOrder.sol", "file": "../lib/LibOrder.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 77851, + "scope": 77035, + "sourceUnit": 78166, "symbolAliases": [], "unitAlias": "" }, { - "id": 74823, + "id": 74853, "nodeType": "ImportDirective", - "src": "1175:48:172", + "src": "1175:48:173", "nodes": [], "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", "file": "../abstract/OrderBookV3FlashLender.sol", "nameLocation": "-1:-1:-1", - "scope": 77005, - "sourceUnit": 74540, + "scope": 77035, + "sourceUnit": 74570, "symbolAliases": [], "unitAlias": "" }, { - "id": 74826, + "id": 74856, "nodeType": "ErrorDefinition", - "src": "1326:37:172", + "src": "1326:37:173", "nodes": [], "documentation": { - "id": 74824, + "id": 74854, "nodeType": "StructuredDocumentation", - "src": "1225:101:172", + "src": "1225:101:173", "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." }, "errorSelector": "3ee5aeb5", "name": "ReentrancyGuardReentrantCall", - "nameLocation": "1332:28:172", + "nameLocation": "1332:28:173", "parameters": { - "id": 74825, + "id": 74855, "nodeType": "ParameterList", "parameters": [], - "src": "1360:2:172" + "src": "1360:2:173" } }, { - "id": 74833, + "id": 74863, "nodeType": "ErrorDefinition", - "src": "1539:51:172", + "src": "1539:51:173", "nodes": [], "documentation": { - "id": 74827, + "id": 74857, "nodeType": "StructuredDocumentation", - "src": "1365:174:172", + "src": "1365:174:173", "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." }, "errorSelector": "4702b914", "name": "NotOrderOwner", - "nameLocation": "1545:13:172", + "nameLocation": "1545:13:173", "parameters": { - "id": 74832, + "id": 74862, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74829, + "id": 74859, "mutability": "mutable", "name": "sender", - "nameLocation": "1567:6:172", + "nameLocation": "1567:6:173", "nodeType": "VariableDeclaration", - "scope": 74833, - "src": "1559:14:172", + "scope": 74863, + "src": "1559:14:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5056,10 +5056,10 @@ "typeString": "address" }, "typeName": { - "id": 74828, + "id": 74858, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1559:7:172", + "src": "1559:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5070,13 +5070,13 @@ }, { "constant": false, - "id": 74831, + "id": 74861, "mutability": "mutable", "name": "owner", - "nameLocation": "1583:5:172", + "nameLocation": "1583:5:173", "nodeType": "VariableDeclaration", - "scope": 74833, - "src": "1575:13:172", + "scope": 74863, + "src": "1575:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5084,10 +5084,10 @@ "typeString": "address" }, "typeName": { - "id": 74830, + "id": 74860, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1575:7:172", + "src": "1575:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5097,36 +5097,36 @@ "visibility": "internal" } ], - "src": "1558:31:172" + "src": "1558:31:173" } }, { - "id": 74840, + "id": 74870, "nodeType": "ErrorDefinition", - "src": "1807:58:172", + "src": "1807:58:173", "nodes": [], "documentation": { - "id": 74834, + "id": 74864, "nodeType": "StructuredDocumentation", - "src": "1592:215:172", + "src": "1592:215:173", "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." }, "errorSelector": "f902523f", "name": "TokenMismatch", - "nameLocation": "1813:13:172", + "nameLocation": "1813:13:173", "parameters": { - "id": 74839, + "id": 74869, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74836, + "id": 74866, "mutability": "mutable", "name": "aliceToken", - "nameLocation": "1835:10:172", + "nameLocation": "1835:10:173", "nodeType": "VariableDeclaration", - "scope": 74840, - "src": "1827:18:172", + "scope": 74870, + "src": "1827:18:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5134,10 +5134,10 @@ "typeString": "address" }, "typeName": { - "id": 74835, + "id": 74865, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1827:7:172", + "src": "1827:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5148,13 +5148,13 @@ }, { "constant": false, - "id": 74838, + "id": 74868, "mutability": "mutable", "name": "bobToken", - "nameLocation": "1855:8:172", + "nameLocation": "1855:8:173", "nodeType": "VariableDeclaration", - "scope": 74840, - "src": "1847:16:172", + "scope": 74870, + "src": "1847:16:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5162,10 +5162,10 @@ "typeString": "address" }, "typeName": { - "id": 74837, + "id": 74867, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1847:7:172", + "src": "1847:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5175,36 +5175,36 @@ "visibility": "internal" } ], - "src": "1826:38:172" + "src": "1826:38:173" } }, { - "id": 74847, + "id": 74877, "nodeType": "ErrorDefinition", - "src": "2107:78:172", + "src": "2107:78:173", "nodes": [], "documentation": { - "id": 74841, + "id": 74871, "nodeType": "StructuredDocumentation", - "src": "1867:240:172", + "src": "1867:240:173", "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." }, "errorSelector": "0f6ce477", "name": "TokenDecimalsMismatch", - "nameLocation": "2113:21:172", + "nameLocation": "2113:21:173", "parameters": { - "id": 74846, + "id": 74876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74843, + "id": 74873, "mutability": "mutable", "name": "aliceTokenDecimals", - "nameLocation": "2141:18:172", + "nameLocation": "2141:18:173", "nodeType": "VariableDeclaration", - "scope": 74847, - "src": "2135:24:172", + "scope": 74877, + "src": "2135:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5212,10 +5212,10 @@ "typeString": "uint8" }, "typeName": { - "id": 74842, + "id": 74872, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2135:5:172", + "src": "2135:5:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5225,13 +5225,13 @@ }, { "constant": false, - "id": 74845, + "id": 74875, "mutability": "mutable", "name": "bobTokenDecimals", - "nameLocation": "2167:16:172", + "nameLocation": "2167:16:173", "nodeType": "VariableDeclaration", - "scope": 74847, - "src": "2161:22:172", + "scope": 74877, + "src": "2161:22:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5239,10 +5239,10 @@ "typeString": "uint8" }, "typeName": { - "id": 74844, + "id": 74874, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2161:5:172", + "src": "2161:5:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5251,36 +5251,36 @@ "visibility": "internal" } ], - "src": "2134:50:172" + "src": "2134:50:173" } }, { - "id": 74854, + "id": 74884, "nodeType": "ErrorDefinition", - "src": "2331:56:172", + "src": "2331:56:173", "nodes": [], "documentation": { - "id": 74848, + "id": 74878, "nodeType": "StructuredDocumentation", - "src": "2187:144:172", + "src": "2187:144:173", "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." }, "errorSelector": "45094d88", "name": "MinimumInput", - "nameLocation": "2337:12:172", + "nameLocation": "2337:12:173", "parameters": { - "id": 74853, + "id": 74883, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74850, + "id": 74880, "mutability": "mutable", "name": "minimumInput", - "nameLocation": "2358:12:172", + "nameLocation": "2358:12:173", "nodeType": "VariableDeclaration", - "scope": 74854, - "src": "2350:20:172", + "scope": 74884, + "src": "2350:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5288,10 +5288,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74849, + "id": 74879, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2350:7:172", + "src": "2350:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5301,13 +5301,13 @@ }, { "constant": false, - "id": 74852, + "id": 74882, "mutability": "mutable", "name": "input", - "nameLocation": "2380:5:172", + "nameLocation": "2380:5:173", "nodeType": "VariableDeclaration", - "scope": 74854, - "src": "2372:13:172", + "scope": 74884, + "src": "2372:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5315,10 +5315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74851, + "id": 74881, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2372:7:172", + "src": "2372:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5327,36 +5327,36 @@ "visibility": "internal" } ], - "src": "2349:37:172" + "src": "2349:37:173" } }, { - "id": 74859, + "id": 74889, "nodeType": "ErrorDefinition", - "src": "2493:31:172", + "src": "2493:31:173", "nodes": [], "documentation": { - "id": 74855, + "id": 74885, "nodeType": "StructuredDocumentation", - "src": "2389:104:172", + "src": "2389:104:173", "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." }, "errorSelector": "227e4ce9", "name": "SameOwner", - "nameLocation": "2499:9:172", + "nameLocation": "2499:9:173", "parameters": { - "id": 74858, + "id": 74888, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 74857, + "id": 74887, "mutability": "mutable", "name": "owner", - "nameLocation": "2517:5:172", + "nameLocation": "2517:5:173", "nodeType": "VariableDeclaration", - "scope": 74859, - "src": "2509:13:172", + "scope": 74889, + "src": "2509:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5364,10 +5364,10 @@ "typeString": "address" }, "typeName": { - "id": 74856, + "id": 74886, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2509:7:172", + "src": "2509:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5377,19 +5377,19 @@ "visibility": "internal" } ], - "src": "2508:15:172" + "src": "2508:15:173" } }, { - "id": 74863, + "id": 74893, "nodeType": "VariableDeclaration", - "src": "2652:31:172", + "src": "2652:31:173", "nodes": [], "constant": true, "mutability": "constant", "name": "ORDER_LIVE", - "nameLocation": "2669:10:172", - "scope": 77005, + "nameLocation": "2669:10:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5397,10 +5397,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74861, + "id": 74891, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2652:7:172", + "src": "2652:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5408,14 +5408,14 @@ }, "value": { "hexValue": "31", - "id": 74862, + "id": 74892, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2682:1:172", + "src": "2682:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5425,15 +5425,15 @@ "visibility": "internal" }, { - "id": 74867, + "id": 74897, "nodeType": "VariableDeclaration", - "src": "2856:31:172", + "src": "2856:31:173", "nodes": [], "constant": true, "mutability": "constant", "name": "ORDER_DEAD", - "nameLocation": "2873:10:172", - "scope": 77005, + "nameLocation": "2873:10:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5441,10 +5441,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74865, + "id": 74895, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2856:7:172", + "src": "2856:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5452,14 +5452,14 @@ }, "value": { "hexValue": "30", - "id": 74866, + "id": 74896, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2886:1:172", + "src": "2886:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5469,15 +5469,15 @@ "visibility": "internal" }, { - "id": 74875, + "id": 74905, "nodeType": "VariableDeclaration", - "src": "2959:69:172", + "src": "2959:69:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "2980:26:172", - "scope": 77005, + "nameLocation": "2980:26:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5485,20 +5485,20 @@ "typeString": "SourceIndex" }, "typeName": { - "id": 74870, + "id": 74900, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74869, + "id": 74899, "name": "SourceIndex", "nameLocations": [ - "2959:11:172" + "2959:11:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56302, - "src": "2959:11:172" + "src": "2959:11:173" }, "referencedDeclaration": 56302, - "src": "2959:11:172", + "src": "2959:11:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" @@ -5508,14 +5508,14 @@ "arguments": [ { "hexValue": "30", - "id": 74873, + "id": 74903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3026:1:172", + "src": "3026:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5531,32 +5531,32 @@ } ], "expression": { - "id": 74871, + "id": 74901, "name": "SourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56302, - "src": "3009:11:172", + "src": "3009:11:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "type(SourceIndex)" } }, - "id": 74872, + "id": 74902, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3021:4:172", + "memberLocation": "3021:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "3009:16:172", + "src": "3009:16:173", "typeDescriptions": { "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "function (uint16) pure returns (SourceIndex)" } }, - "id": 74874, + "id": 74904, "isConstant": false, "isLValue": false, "isPure": true, @@ -5565,7 +5565,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3009:19:172", + "src": "3009:19:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", @@ -5575,15 +5575,15 @@ "visibility": "internal" }, { - "id": 74883, + "id": 74913, "nodeType": "VariableDeclaration", - "src": "3151:63:172", + "src": "3151:63:173", "nodes": [], "constant": true, "mutability": "constant", "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "3172:20:172", - "scope": 77005, + "nameLocation": "3172:20:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5591,20 +5591,20 @@ "typeString": "SourceIndex" }, "typeName": { - "id": 74878, + "id": 74908, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74877, + "id": 74907, "name": "SourceIndex", "nameLocations": [ - "3151:11:172" + "3151:11:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56302, - "src": "3151:11:172" + "src": "3151:11:173" }, "referencedDeclaration": 56302, - "src": "3151:11:172", + "src": "3151:11:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" @@ -5614,14 +5614,14 @@ "arguments": [ { "hexValue": "31", - "id": 74881, + "id": 74911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3212:1:172", + "src": "3212:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5637,32 +5637,32 @@ } ], "expression": { - "id": 74879, + "id": 74909, "name": "SourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56302, - "src": "3195:11:172", + "src": "3195:11:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "type(SourceIndex)" } }, - "id": 74880, + "id": 74910, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3207:4:172", + "memberLocation": "3207:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "3195:16:172", + "src": "3195:16:173", "typeDescriptions": { "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "function (uint16) pure returns (SourceIndex)" } }, - "id": 74882, + "id": 74912, "isConstant": false, "isLValue": false, "isPure": true, @@ -5671,7 +5671,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3195:19:172", + "src": "3195:19:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", @@ -5681,15 +5681,15 @@ "visibility": "internal" }, { - "id": 74887, + "id": 74917, "nodeType": "VariableDeclaration", - "src": "3288:48:172", + "src": "3288:48:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "3305:27:172", - "scope": 77005, + "nameLocation": "3305:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5697,10 +5697,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74885, + "id": 74915, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3288:7:172", + "src": "3288:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5708,14 +5708,14 @@ }, "value": { "hexValue": "32", - "id": 74886, + "id": 74916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3335:1:172", + "src": "3335:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5725,15 +5725,15 @@ "visibility": "internal" }, { - "id": 74891, + "id": 74921, "nodeType": "VariableDeclaration", - "src": "3409:47:172", + "src": "3409:47:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "3425:27:172", - "scope": 77005, + "nameLocation": "3425:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5741,10 +5741,10 @@ "typeString": "uint16" }, "typeName": { - "id": 74889, + "id": 74919, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "3409:6:172", + "src": "3409:6:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -5752,14 +5752,14 @@ }, "value": { "hexValue": "32", - "id": 74890, + "id": 74920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3455:1:172", + "src": "3455:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5769,15 +5769,15 @@ "visibility": "internal" }, { - "id": 74895, + "id": 74925, "nodeType": "VariableDeclaration", - "src": "3533:42:172", + "src": "3533:42:173", "nodes": [], "constant": true, "mutability": "constant", "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "3550:21:172", - "scope": 77005, + "nameLocation": "3550:21:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5785,10 +5785,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74893, + "id": 74923, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3533:7:172", + "src": "3533:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5796,14 +5796,14 @@ }, "value": { "hexValue": "30", - "id": 74894, + "id": 74924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3574:1:172", + "src": "3574:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5813,15 +5813,15 @@ "visibility": "internal" }, { - "id": 74899, + "id": 74929, "nodeType": "VariableDeclaration", - "src": "3651:41:172", + "src": "3651:41:173", "nodes": [], "constant": true, "mutability": "constant", "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "3667:21:172", - "scope": 77005, + "nameLocation": "3667:21:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5829,10 +5829,10 @@ "typeString": "uint16" }, "typeName": { - "id": 74897, + "id": 74927, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "3651:6:172", + "src": "3651:6:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -5840,14 +5840,14 @@ }, "value": { "hexValue": "30", - "id": 74898, + "id": 74928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3691:1:172", + "src": "3691:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5857,15 +5857,15 @@ "visibility": "internal" }, { - "id": 74903, + "id": 74933, "nodeType": "VariableDeclaration", - "src": "4230:44:172", + "src": "4230:44:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "4247:23:172", - "scope": 77005, + "nameLocation": "4247:23:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5873,10 +5873,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74901, + "id": 74931, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4230:7:172", + "src": "4230:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5884,14 +5884,14 @@ }, "value": { "hexValue": "34", - "id": 74902, + "id": 74932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4273:1:172", + "src": "4273:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5901,15 +5901,15 @@ "visibility": "internal" }, { - "id": 74907, + "id": 74937, "nodeType": "VariableDeclaration", - "src": "4315:40:172", + "src": "4315:40:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "4332:19:172", - "scope": 77005, + "nameLocation": "4332:19:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5917,10 +5917,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74905, + "id": 74935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4315:7:172", + "src": "4315:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5928,14 +5928,14 @@ }, "value": { "hexValue": "30", - "id": 74906, + "id": 74936, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4354:1:172", + "src": "4354:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5945,15 +5945,15 @@ "visibility": "internal" }, { - "id": 74911, + "id": 74941, "nodeType": "VariableDeclaration", - "src": "4656:51:172", + "src": "4656:51:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "4673:30:172", - "scope": 77005, + "nameLocation": "4673:30:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5961,10 +5961,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74909, + "id": 74939, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4656:7:172", + "src": "4656:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5972,14 +5972,14 @@ }, "value": { "hexValue": "31", - "id": 74910, + "id": 74940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4706:1:172", + "src": "4706:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5989,15 +5989,15 @@ "visibility": "internal" }, { - "id": 74915, + "id": 74945, "nodeType": "VariableDeclaration", - "src": "4854:48:172", + "src": "4854:48:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "4871:27:172", - "scope": 77005, + "nameLocation": "4871:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6005,10 +6005,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74913, + "id": 74943, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4854:7:172", + "src": "4854:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6016,14 +6016,14 @@ }, "value": { "hexValue": "32", - "id": 74914, + "id": 74944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4901:1:172", + "src": "4901:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6033,15 +6033,15 @@ "visibility": "internal" }, { - "id": 74919, + "id": 74949, "nodeType": "VariableDeclaration", - "src": "5194:48:172", + "src": "5194:48:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "5211:27:172", - "scope": 77005, + "nameLocation": "5211:27:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6049,10 +6049,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74917, + "id": 74947, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5194:7:172", + "src": "5194:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6060,14 +6060,14 @@ }, "value": { "hexValue": "33", - "id": 74918, + "id": 74948, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5241:1:172", + "src": "5241:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -6077,15 +6077,15 @@ "visibility": "internal" }, { - "id": 74923, + "id": 74953, "nodeType": "VariableDeclaration", - "src": "5360:49:172", + "src": "5360:49:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "5377:28:172", - "scope": 77005, + "nameLocation": "5377:28:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6093,10 +6093,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74921, + "id": 74951, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5360:7:172", + "src": "5360:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6104,14 +6104,14 @@ }, "value": { "hexValue": "34", - "id": 74922, + "id": 74952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5408:1:172", + "src": "5408:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -6121,15 +6121,15 @@ "visibility": "internal" }, { - "id": 74927, + "id": 74957, "nodeType": "VariableDeclaration", - "src": "5484:43:172", + "src": "5484:43:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "5501:22:172", - "scope": 77005, + "nameLocation": "5501:22:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6137,10 +6137,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74925, + "id": 74955, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5484:7:172", + "src": "5484:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6148,14 +6148,14 @@ }, "value": { "hexValue": "30", - "id": 74926, + "id": 74956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5526:1:172", + "src": "5526:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -6165,15 +6165,15 @@ "visibility": "internal" }, { - "id": 74931, + "id": 74961, "nodeType": "VariableDeclaration", - "src": "5602:52:172", + "src": "5602:52:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "5619:31:172", - "scope": 77005, + "nameLocation": "5619:31:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6181,10 +6181,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74929, + "id": 74959, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5602:7:172", + "src": "5602:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6192,14 +6192,14 @@ }, "value": { "hexValue": "31", - "id": 74930, + "id": 74960, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5653:1:172", + "src": "5653:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -6209,15 +6209,15 @@ "visibility": "internal" }, { - "id": 74935, + "id": 74965, "nodeType": "VariableDeclaration", - "src": "5723:46:172", + "src": "5723:46:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "5740:25:172", - "scope": 77005, + "nameLocation": "5740:25:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6225,10 +6225,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74933, + "id": 74963, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5723:7:172", + "src": "5723:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6236,14 +6236,14 @@ }, "value": { "hexValue": "32", - "id": 74934, + "id": 74964, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5768:1:172", + "src": "5768:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -6253,15 +6253,15 @@ "visibility": "internal" }, { - "id": 74939, + "id": 74969, "nodeType": "VariableDeclaration", - "src": "5876:52:172", + "src": "5876:52:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "5893:31:172", - "scope": 77005, + "nameLocation": "5893:31:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6269,10 +6269,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74937, + "id": 74967, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5876:7:172", + "src": "5876:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6280,14 +6280,14 @@ }, "value": { "hexValue": "33", - "id": 74938, + "id": 74968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5927:1:172", + "src": "5927:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -6297,15 +6297,15 @@ "visibility": "internal" }, { - "id": 74943, + "id": 74973, "nodeType": "VariableDeclaration", - "src": "6176:50:172", + "src": "6176:50:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "6193:29:172", - "scope": 77005, + "nameLocation": "6193:29:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6313,10 +6313,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74941, + "id": 74971, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6176:7:172", + "src": "6176:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6324,14 +6324,14 @@ }, "value": { "hexValue": "34", - "id": 74942, + "id": 74972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6225:1:172", + "src": "6225:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -6341,15 +6341,15 @@ "visibility": "internal" }, { - "id": 74947, + "id": 74977, "nodeType": "VariableDeclaration", - "src": "6266:42:172", + "src": "6266:42:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "6283:21:172", - "scope": 77005, + "nameLocation": "6283:21:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6357,10 +6357,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74945, + "id": 74975, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6266:7:172", + "src": "6266:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6368,14 +6368,14 @@ }, "value": { "hexValue": "35", - "id": 74946, + "id": 74976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6307:1:172", + "src": "6307:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -6385,15 +6385,15 @@ "visibility": "internal" }, { - "id": 74954, + "id": 74984, "nodeType": "VariableDeclaration", - "src": "6375:111:172", + "src": "6375:111:173", "nodes": [], "constant": true, "mutability": "constant", "name": "CALLER_META_HASH", - "nameLocation": "6392:16:172", - "scope": 77005, + "nameLocation": "6392:16:173", + "scope": 77035, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6401,10 +6401,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 74949, + "id": 74979, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6375:7:172", + "src": "6375:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6414,14 +6414,14 @@ "arguments": [ { "hexValue": "307837316665326634663638663137646665366165376162613262626436636266653561326134386139336562626338623166313930303838376239373865656565", - "id": 74952, + "id": 74982, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6419:66:172", + "src": "6419:66:173", "typeDescriptions": { "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", "typeString": "int_const 5156...(69 digits omitted)...4718" @@ -6436,26 +6436,26 @@ "typeString": "int_const 5156...(69 digits omitted)...4718" } ], - "id": 74951, + "id": 74981, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6411:7:172", + "src": "6411:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 74950, + "id": 74980, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6411:7:172", + "src": "6411:7:173", "typeDescriptions": {} } }, - "id": 74953, + "id": 74983, "isConstant": false, "isLValue": false, "isPure": true, @@ -6464,7 +6464,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6411:75:172", + "src": "6411:75:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6474,44 +6474,44 @@ "visibility": "internal" }, { - "id": 74975, + "id": 75005, "nodeType": "StructDefinition", - "src": "8613:249:172", + "src": "8613:249:173", "nodes": [], "canonicalName": "OrderIOCalculation", "members": [ { "constant": false, - "id": 74957, + "id": 74987, "mutability": "mutable", "name": "order", - "nameLocation": "8651:5:172", + "nameLocation": "8651:5:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8645:11:172", + "scope": 75005, + "src": "8645:11:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" }, "typeName": { - "id": 74956, + "id": 74986, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74955, + "id": 74985, "name": "Order", "nameLocations": [ - "8645:5:172" + "8645:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "8645:5:172" + "referencedDeclaration": 77252, + "src": "8645:5:173" }, - "referencedDeclaration": 77222, - "src": "8645:5:172", + "referencedDeclaration": 77252, + "src": "8645:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -6519,13 +6519,13 @@ }, { "constant": false, - "id": 74959, + "id": 74989, "mutability": "mutable", "name": "outputIOIndex", - "nameLocation": "8670:13:172", + "nameLocation": "8670:13:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8662:21:172", + "scope": 75005, + "src": "8662:21:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6533,10 +6533,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74958, + "id": 74988, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8662:7:172", + "src": "8662:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6546,36 +6546,36 @@ }, { "constant": false, - "id": 74962, + "id": 74992, "mutability": "mutable", "name": "outputMax", - "nameLocation": "8704:9:172", + "nameLocation": "8704:9:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8689:24:172", + "scope": 75005, + "src": "8689:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 74961, + "id": 74991, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74960, + "id": 74990, "name": "Output18Amount", "nameLocations": [ - "8689:14:172" + "8689:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "8689:14:172" + "referencedDeclaration": 75007, + "src": "8689:14:173" }, - "referencedDeclaration": 74977, - "src": "8689:14:172", + "referencedDeclaration": 75007, + "src": "8689:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, @@ -6583,13 +6583,13 @@ }, { "constant": false, - "id": 74964, + "id": 74994, "mutability": "mutable", "name": "IORatio", - "nameLocation": "8778:7:172", + "nameLocation": "8778:7:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8770:15:172", + "scope": 75005, + "src": "8770:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6597,10 +6597,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74963, + "id": 74993, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8770:7:172", + "src": "8770:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6610,13 +6610,13 @@ }, { "constant": false, - "id": 74968, + "id": 74998, "mutability": "mutable", "name": "context", - "nameLocation": "8803:7:172", + "nameLocation": "8803:7:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8791:19:172", + "scope": 75005, + "src": "8791:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6626,26 +6626,26 @@ "typeName": { "baseType": { "baseType": { - "id": 74965, + "id": 74995, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8791:7:172", + "src": "8791:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 74966, + "id": 74996, "nodeType": "ArrayTypeName", - "src": "8791:9:172", + "src": "8791:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 74967, + "id": 74997, "nodeType": "ArrayTypeName", - "src": "8791:11:172", + "src": "8791:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" @@ -6655,13 +6655,13 @@ }, { "constant": false, - "id": 74971, + "id": 75001, "mutability": "mutable", "name": "namespace", - "nameLocation": "8831:9:172", + "nameLocation": "8831:9:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8816:24:172", + "scope": 75005, + "src": "8816:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6669,20 +6669,20 @@ "typeString": "StateNamespace" }, "typeName": { - "id": 74970, + "id": 75000, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74969, + "id": 74999, "name": "StateNamespace", "nameLocations": [ - "8816:14:172" + "8816:14:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56306, - "src": "8816:14:172" + "src": "8816:14:173" }, "referencedDeclaration": 56306, - "src": "8816:14:172", + "src": "8816:14:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -6692,13 +6692,13 @@ }, { "constant": false, - "id": 74974, + "id": 75004, "mutability": "mutable", "name": "kvs", - "nameLocation": "8856:3:172", + "nameLocation": "8856:3:173", "nodeType": "VariableDeclaration", - "scope": 74975, - "src": "8846:13:172", + "scope": 75005, + "src": "8846:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6707,18 +6707,18 @@ }, "typeName": { "baseType": { - "id": 74972, + "id": 75002, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8846:7:172", + "src": "8846:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 74973, + "id": 75003, "nodeType": "ArrayTypeName", - "src": "8846:9:172", + "src": "8846:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -6728,23 +6728,23 @@ } ], "name": "OrderIOCalculation", - "nameLocation": "8620:18:172", - "scope": 77005, + "nameLocation": "8620:18:173", + "scope": 77035, "visibility": "public" }, { - "id": 74977, + "id": 75007, "nodeType": "UserDefinedValueTypeDefinition", - "src": "8864:31:172", + "src": "8864:31:173", "nodes": [], "canonicalName": "Output18Amount", "name": "Output18Amount", - "nameLocation": "8869:14:172", + "nameLocation": "8869:14:173", "underlyingType": { - "id": 74976, + "id": 75006, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8887:7:172", + "src": "8887:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6752,18 +6752,18 @@ } }, { - "id": 74979, + "id": 75009, "nodeType": "UserDefinedValueTypeDefinition", - "src": "8897:30:172", + "src": "8897:30:173", "nodes": [], "canonicalName": "Input18Amount", "name": "Input18Amount", - "nameLocation": "8902:13:172", + "nameLocation": "8902:13:173", "underlyingType": { - "id": 74978, + "id": 75008, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8919:7:172", + "src": "8919:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6771,40 +6771,40 @@ } }, { - "id": 77004, + "id": 77034, "nodeType": "ContractDefinition", - "src": "8997:33509:172", + "src": "8997:33509:173", "nodes": [ { - "id": 74994, + "id": 75024, "nodeType": "UsingForDirective", - "src": "9118:36:172", + "src": "9118:36:173", "nodes": [], "global": false, "libraryName": { - "id": 74991, + "id": 75021, "name": "LibUint256Array", "nameLocations": [ - "9124:15:172" + "9124:15:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 72684, - "src": "9124:15:172" + "referencedDeclaration": 72714, + "src": "9124:15:173" }, "typeName": { "baseType": { - "id": 74992, + "id": 75022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9144:7:172", + "src": "9144:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 74993, + "id": 75023, "nodeType": "ArrayTypeName", - "src": "9144:9:172", + "src": "9144:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -6812,36 +6812,36 @@ } }, { - "id": 74998, + "id": 75028, "nodeType": "UsingForDirective", - "src": "9159:27:172", + "src": "9159:27:173", "nodes": [], "global": false, "libraryName": { - "id": 74995, + "id": 75025, "name": "SafeERC20", "nameLocations": [ - "9165:9:172" + "9165:9:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 44813, - "src": "9165:9:172" + "src": "9165:9:173" }, "typeName": { - "id": 74997, + "id": 75027, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 74996, + "id": 75026, "name": "IERC20", "nameLocations": [ - "9179:6:172" + "9179:6:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 44376, - "src": "9179:6:172" + "src": "9179:6:173" }, "referencedDeclaration": 44376, - "src": "9179:6:172", + "src": "9179:6:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$44376", "typeString": "contract IERC20" @@ -6849,63 +6849,63 @@ } }, { - "id": 75002, + "id": 75032, "nodeType": "UsingForDirective", - "src": "9191:25:172", + "src": "9191:25:173", "nodes": [], "global": false, "libraryName": { - "id": 74999, + "id": 75029, "name": "LibOrder", "nameLocations": [ - "9197:8:172" + "9197:8:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77850, - "src": "9197:8:172" + "referencedDeclaration": 78165, + "src": "9197:8:173" }, "typeName": { - "id": 75001, + "id": 75031, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75000, + "id": 75030, "name": "Order", "nameLocations": [ - "9210:5:172" + "9210:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "9210:5:172" + "referencedDeclaration": 77252, + "src": "9210:5:173" }, - "referencedDeclaration": 77222, - "src": "9210:5:172", + "referencedDeclaration": 77252, + "src": "9210:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } } }, { - "id": 75005, + "id": 75035, "nodeType": "UsingForDirective", - "src": "9221:34:172", + "src": "9221:34:173", "nodes": [], "global": false, "libraryName": { - "id": 75003, + "id": 75033, "name": "LibUint256Array", "nameLocations": [ - "9227:15:172" + "9227:15:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 72684, - "src": "9227:15:172" + "referencedDeclaration": 72714, + "src": "9227:15:173" }, "typeName": { - "id": 75004, + "id": 75034, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9247:7:172", + "src": "9247:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6913,26 +6913,26 @@ } }, { - "id": 75008, + "id": 75038, "nodeType": "UsingForDirective", - "src": "9260:23:172", + "src": "9260:23:173", "nodes": [], "global": false, "libraryName": { - "id": 75006, + "id": 75036, "name": "Math", "nameLocations": [ - "9266:4:172" + "9266:4:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 46816, - "src": "9266:4:172" + "src": "9266:4:173" }, "typeName": { - "id": 75007, + "id": 75037, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9275:7:172", + "src": "9275:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6940,26 +6940,26 @@ } }, { - "id": 75011, + "id": 75041, "nodeType": "UsingForDirective", - "src": "9288:44:172", + "src": "9288:44:173", "nodes": [], "global": false, "libraryName": { - "id": 75009, + "id": 75039, "name": "LibFixedPointDecimalScale", "nameLocations": [ - "9294:25:172" + "9294:25:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71716, - "src": "9294:25:172" + "referencedDeclaration": 71746, + "src": "9294:25:173" }, "typeName": { - "id": 75010, + "id": 75040, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9324:7:172", + "src": "9324:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6967,26 +6967,26 @@ } }, { - "id": 75014, + "id": 75044, "nodeType": "UsingForDirective", - "src": "9337:61:172", + "src": "9337:61:173", "nodes": [], "global": false, "libraryName": { - "id": 75012, + "id": 75042, "name": "LibFixedPointDecimalArithmeticOpenZeppelin", "nameLocations": [ - "9343:42:172" + "9343:42:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71310, - "src": "9343:42:172" + "referencedDeclaration": 71340, + "src": "9343:42:173" }, "typeName": { - "id": 75013, + "id": 75043, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9390:7:172", + "src": "9390:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6994,21 +6994,21 @@ } }, { - "id": 75019, + "id": 75049, "nodeType": "VariableDeclaration", - "src": "9997:63:172", + "src": "9997:63:173", "nodes": [], "constant": false, "documentation": { - "id": 75015, + "id": 75045, "nodeType": "StructuredDocumentation", - "src": "9404:465:172", + "src": "9404:465:173", "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" }, "mutability": "mutable", "name": "sOrders", - "nameLocation": "10053:7:172", - "scope": 77004, + "nameLocation": "10053:7:173", + "scope": 77034, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7016,32 +7016,32 @@ "typeString": "mapping(bytes32 => uint256)" }, "typeName": { - "id": 75018, + "id": 75048, "keyName": "orderHash", - "keyNameLocation": "10013:9:172", + "keyNameLocation": "10013:9:173", "keyType": { - "id": 75016, + "id": 75046, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10005:7:172", + "src": "10005:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "9997:46:172", + "src": "9997:46:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueName": "liveness", - "valueNameLocation": "10034:8:172", + "valueNameLocation": "10034:8:173", "valueType": { - "id": 75017, + "id": 75047, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10026:7:172", + "src": "10026:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7051,21 +7051,21 @@ "visibility": "internal" }, { - "id": 75028, + "id": 75058, "nodeType": "VariableDeclaration", - "src": "10408:127:172", + "src": "10408:127:173", "nodes": [], "constant": false, "documentation": { - "id": 75020, + "id": 75050, "nodeType": "StructuredDocumentation", - "src": "10067:213:172", + "src": "10067:213:173", "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." }, "mutability": "mutable", "name": "sVaultBalances", - "nameLocation": "10521:14:172", - "scope": 77004, + "nameLocation": "10521:14:173", + "scope": 77034, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7073,21 +7073,21 @@ "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" }, "typeName": { - "id": 75027, + "id": 75057, "keyName": "owner", - "keyNameLocation": "10424:5:172", + "keyNameLocation": "10424:5:173", "keyType": { - "id": 75021, + "id": 75051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10416:7:172", + "src": "10416:7:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "10408:95:172", + "src": "10408:95:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" @@ -7095,21 +7095,21 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 75026, + "id": 75056, "keyName": "token", - "keyNameLocation": "10449:5:172", + "keyNameLocation": "10449:5:173", "keyType": { - "id": 75022, + "id": 75052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10441:7:172", + "src": "10441:7:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "10433:69:172", + "src": "10433:69:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" @@ -7117,32 +7117,32 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 75025, + "id": 75055, "keyName": "vaultId", - "keyNameLocation": "10474:7:172", + "keyNameLocation": "10474:7:173", "keyType": { - "id": 75023, + "id": 75053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10466:7:172", + "src": "10466:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "10458:43:172", + "src": "10458:43:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueName": "balance", - "valueNameLocation": "10493:7:172", + "valueNameLocation": "10493:7:173", "valueType": { - "id": 75024, + "id": 75054, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10485:7:172", + "src": "10485:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7154,21 +7154,21 @@ "visibility": "internal" }, { - "id": 75040, + "id": 75070, "nodeType": "FunctionDefinition", - "src": "10837:139:172", + "src": "10837:139:173", "nodes": [], "body": { - "id": 75039, + "id": 75069, "nodeType": "Block", - "src": "10974:2:172", + "src": "10974:2:173", "nodes": [], "statements": [] }, "documentation": { - "id": 75029, + "id": 75059, "nodeType": "StructuredDocumentation", - "src": "10542:290:172", + "src": "10542:290:173", "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." }, "implemented": true, @@ -7177,61 +7177,61 @@ { "arguments": [ { - "id": 75035, + "id": 75065, "name": "CALLER_META_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74954, - "src": "10944:16:172", + "referencedDeclaration": 74984, + "src": "10944:16:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 75036, + "id": 75066, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75032, - "src": "10962:6:172", + "referencedDeclaration": 75062, + "src": "10962:6:173", "typeDescriptions": { "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" } } ], - "id": 75037, + "id": 75067, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 75034, + "id": 75064, "name": "DeployerDiscoverableMetaV2", "nameLocations": [ - "10917:26:172" + "10917:26:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 55357, - "src": "10917:26:172" + "src": "10917:26:173" }, "nodeType": "ModifierInvocation", - "src": "10917:52:172" + "src": "10917:52:173" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 75033, + "id": 75063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75032, + "id": 75062, "mutability": "mutable", "name": "config", - "nameLocation": "10901:6:172", + "nameLocation": "10901:6:173", "nodeType": "VariableDeclaration", - "scope": 75040, - "src": "10849:58:172", + "scope": 75070, + "src": "10849:58:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7239,20 +7239,20 @@ "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" }, "typeName": { - "id": 75031, + "id": 75061, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75030, + "id": 75060, "name": "DeployerDiscoverableMetaV2ConstructionConfig", "nameLocations": [ - "10849:44:172" + "10849:44:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 55312, - "src": "10849:44:172" + "src": "10849:44:173" }, "referencedDeclaration": 55312, - "src": "10849:44:172", + "src": "10849:44:173", "typeDescriptions": { "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_storage_ptr", "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" @@ -7261,28 +7261,28 @@ "visibility": "internal" } ], - "src": "10848:60:172" + "src": "10848:60:173" }, "returnParameters": { - "id": 75038, + "id": 75068, "nodeType": "ParameterList", "parameters": [], - "src": "10974:0:172" + "src": "10974:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 75052, + "id": 75082, "nodeType": "ModifierDefinition", - "src": "11090:148:172", + "src": "11090:148:173", "nodes": [], "body": { - "id": 75051, + "id": 75081, "nodeType": "Block", - "src": "11118:120:172", + "src": "11118:120:173", "nodes": [], "statements": [ { @@ -7290,18 +7290,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 75043, + "id": 75073, "name": "_reentrancyGuardEntered", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 43710, - "src": "11132:23:172", + "src": "11132:23:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 75044, + "id": 75074, "isConstant": false, "isLValue": false, "isPure": false, @@ -7310,38 +7310,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11132:25:172", + "src": "11132:25:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75049, + "id": 75079, "nodeType": "IfStatement", - "src": "11128:93:172", + "src": "11128:93:173", "trueBody": { - "id": 75048, + "id": 75078, "nodeType": "Block", - "src": "11159:62:172", + "src": "11159:62:173", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 75045, + "id": 75075, "name": "ReentrancyGuardReentrantCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "11180:28:172", + "referencedDeclaration": 74856, + "src": "11180:28:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 75046, + "id": 75076, "isConstant": false, "isLValue": false, "isPure": false, @@ -7350,53 +7350,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11180:30:172", + "src": "11180:30:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75047, + "id": 75077, "nodeType": "RevertStatement", - "src": "11173:37:172" + "src": "11173:37:173" } ] } }, { - "id": 75050, + "id": 75080, "nodeType": "PlaceholderStatement", - "src": "11230:1:172" + "src": "11230:1:173" } ] }, "documentation": { - "id": 75041, + "id": 75071, "nodeType": "StructuredDocumentation", - "src": "10982:103:172", + "src": "10982:103:173", "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" }, "name": "nonReentrantView", - "nameLocation": "11099:16:172", + "nameLocation": "11099:16:173", "parameters": { - "id": 75042, + "id": 75072, "nodeType": "ParameterList", "parameters": [], - "src": "11115:2:172" + "src": "11115:2:173" }, "virtual": false, "visibility": "internal" }, { - "id": 75076, + "id": 75106, "nodeType": "FunctionDefinition", - "src": "11562:232:172", + "src": "11562:232:173", "nodes": [], "body": { - "id": 75075, + "id": 75105, "nodeType": "Block", - "src": "11733:61:172", + "src": "11733:61:173", "nodes": [], "statements": [ { @@ -7404,25 +7404,25 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75067, + "id": 75097, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "11750:14:172", + "referencedDeclaration": 75058, + "src": "11750:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75069, + "id": 75099, "indexExpression": { - "id": 75068, + "id": 75098, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75055, - "src": "11765:5:172", + "referencedDeclaration": 75085, + "src": "11765:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7433,20 +7433,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11750:21:172", + "src": "11750:21:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75071, + "id": 75101, "indexExpression": { - "id": 75070, + "id": 75100, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75057, - "src": "11772:5:172", + "referencedDeclaration": 75087, + "src": "11772:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7457,20 +7457,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11750:28:172", + "src": "11750:28:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75073, + "id": 75103, "indexExpression": { - "id": 75072, + "id": 75102, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75059, - "src": "11779:7:172", + "referencedDeclaration": 75089, + "src": "11779:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7481,26 +7481,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11750:37:172", + "src": "11750:37:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 75066, - "id": 75074, + "functionReturnParameters": 75096, + "id": 75104, "nodeType": "Return", - "src": "11743:44:172" + "src": "11743:44:173" } ] }, "baseFunctions": [ - 77717 + 78032 ], "documentation": { - "id": 75053, + "id": 75083, "nodeType": "StructuredDocumentation", - "src": "11244:28:172", + "src": "11244:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "d97b2e48", @@ -7508,43 +7508,43 @@ "kind": "function", "modifiers": [ { - "id": 75063, + "id": 75093, "kind": "modifierInvocation", "modifierName": { - "id": 75062, + "id": 75092, "name": "nonReentrantView", "nameLocations": [ - "11686:16:172" + "11686:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 75052, - "src": "11686:16:172" + "referencedDeclaration": 75082, + "src": "11686:16:173" }, "nodeType": "ModifierInvocation", - "src": "11686:16:172" + "src": "11686:16:173" } ], "name": "vaultBalance", - "nameLocation": "11571:12:172", + "nameLocation": "11571:12:173", "overrides": { - "id": 75061, + "id": 75091, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "11669:8:172" + "src": "11669:8:173" }, "parameters": { - "id": 75060, + "id": 75090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75055, + "id": 75085, "mutability": "mutable", "name": "owner", - "nameLocation": "11592:5:172", + "nameLocation": "11592:5:173", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11584:13:172", + "scope": 75106, + "src": "11584:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7552,10 +7552,10 @@ "typeString": "address" }, "typeName": { - "id": 75054, + "id": 75084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11584:7:172", + "src": "11584:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7566,13 +7566,13 @@ }, { "constant": false, - "id": 75057, + "id": 75087, "mutability": "mutable", "name": "token", - "nameLocation": "11607:5:172", + "nameLocation": "11607:5:173", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11599:13:172", + "scope": 75106, + "src": "11599:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7580,10 +7580,10 @@ "typeString": "address" }, "typeName": { - "id": 75056, + "id": 75086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11599:7:172", + "src": "11599:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7594,13 +7594,13 @@ }, { "constant": false, - "id": 75059, + "id": 75089, "mutability": "mutable", "name": "vaultId", - "nameLocation": "11622:7:172", + "nameLocation": "11622:7:173", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11614:15:172", + "scope": 75106, + "src": "11614:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7608,10 +7608,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75058, + "id": 75088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11614:7:172", + "src": "11614:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7620,21 +7620,21 @@ "visibility": "internal" } ], - "src": "11583:47:172" + "src": "11583:47:173" }, "returnParameters": { - "id": 75066, + "id": 75096, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75065, + "id": 75095, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 75076, - "src": "11720:7:172", + "scope": 75106, + "src": "11720:7:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7642,10 +7642,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75064, + "id": 75094, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11720:7:172", + "src": "11720:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7654,22 +7654,22 @@ "visibility": "internal" } ], - "src": "11719:9:172" + "src": "11719:9:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 75094, + "id": 75124, "nodeType": "FunctionDefinition", - "src": "11833:151:172", + "src": "11833:151:173", "nodes": [], "body": { - "id": 75093, + "id": 75123, "nodeType": "Block", - "src": "11928:56:172", + "src": "11928:56:173", "nodes": [], "statements": [ { @@ -7678,32 +7678,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75091, + "id": 75121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75087, + "id": 75117, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "11945:7:172", + "referencedDeclaration": 75049, + "src": "11945:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75089, + "id": 75119, "indexExpression": { - "id": 75088, + "id": 75118, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75079, - "src": "11953:9:172", + "referencedDeclaration": 75109, + "src": "11953:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7714,7 +7714,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11945:18:172", + "src": "11945:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7723,37 +7723,37 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75090, + "id": 75120, "name": "ORDER_LIVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "11967:10:172", + "referencedDeclaration": 74893, + "src": "11967:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11945:32:172", + "src": "11945:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 75086, - "id": 75092, + "functionReturnParameters": 75116, + "id": 75122, "nodeType": "Return", - "src": "11938:39:172" + "src": "11938:39:173" } ] }, "baseFunctions": [ - 77754 + 78069 ], "documentation": { - "id": 75077, + "id": 75107, "nodeType": "StructuredDocumentation", - "src": "11800:28:172", + "src": "11800:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "2cb77e9f", @@ -7761,43 +7761,43 @@ "kind": "function", "modifiers": [ { - "id": 75083, + "id": 75113, "kind": "modifierInvocation", "modifierName": { - "id": 75082, + "id": 75112, "name": "nonReentrantView", "nameLocations": [ - "11896:16:172" + "11896:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 75052, - "src": "11896:16:172" + "referencedDeclaration": 75082, + "src": "11896:16:173" }, "nodeType": "ModifierInvocation", - "src": "11896:16:172" + "src": "11896:16:173" } ], "name": "orderExists", - "nameLocation": "11842:11:172", + "nameLocation": "11842:11:173", "overrides": { - "id": 75081, + "id": 75111, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "11887:8:172" + "src": "11887:8:173" }, "parameters": { - "id": 75080, + "id": 75110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75079, + "id": 75109, "mutability": "mutable", "name": "orderHash", - "nameLocation": "11862:9:172", + "nameLocation": "11862:9:173", "nodeType": "VariableDeclaration", - "scope": 75094, - "src": "11854:17:172", + "scope": 75124, + "src": "11854:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7805,10 +7805,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75078, + "id": 75108, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "11854:7:172", + "src": "11854:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7817,21 +7817,21 @@ "visibility": "internal" } ], - "src": "11853:19:172" + "src": "11853:19:173" }, "returnParameters": { - "id": 75086, + "id": 75116, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75085, + "id": 75115, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 75094, - "src": "11922:4:172", + "scope": 75124, + "src": "11922:4:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7839,10 +7839,10 @@ "typeString": "bool" }, "typeName": { - "id": 75084, + "id": 75114, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11922:4:172", + "src": "11922:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7851,22 +7851,22 @@ "visibility": "internal" } ], - "src": "11921:6:172" + "src": "11921:6:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 75151, + "id": 75181, "nodeType": "FunctionDefinition", - "src": "12023:640:172", + "src": "12023:640:173", "nodes": [], "body": { - "id": 75150, + "id": 75180, "nodeType": "Block", - "src": "12110:553:172", + "src": "12110:553:173", "nodes": [], "statements": [ { @@ -7875,18 +7875,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75108, + "id": 75138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75106, + "id": 75136, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12124:6:172", + "referencedDeclaration": 75131, + "src": "12124:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7896,83 +7896,83 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75107, + "id": 75137, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12134:1:172", + "src": "12134:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12124:11:172", + "src": "12124:11:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75117, + "id": 75147, "nodeType": "IfStatement", - "src": "12120:94:172", + "src": "12120:94:173", "trueBody": { - "id": 75116, + "id": 75146, "nodeType": "Block", - "src": "12137:77:172", + "src": "12137:77:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75110, + "id": 75140, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12176:3:172", + "src": "12176:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75111, + "id": 75141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12180:6:172", + "memberLocation": "12180:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12176:10:172", + "src": "12176:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75112, + "id": 75142, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12188:5:172", + "referencedDeclaration": 75127, + "src": "12188:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75113, + "id": 75143, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75099, - "src": "12195:7:172", + "referencedDeclaration": 75129, + "src": "12195:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7994,18 +7994,18 @@ "typeString": "uint256" } ], - "id": 75109, + "id": 75139, "name": "ZeroDepositAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77568, - "src": "12158:17:172", + "referencedDeclaration": 77883, + "src": "12158:17:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) pure" } }, - "id": 75114, + "id": 75144, "isConstant": false, "isLValue": false, "isPure": false, @@ -8014,16 +8014,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12158:45:172", + "src": "12158:45:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75115, + "id": 75145, "nodeType": "RevertStatement", - "src": "12151:52:172" + "src": "12151:52:173" } ] } @@ -8033,62 +8033,62 @@ "arguments": [ { "expression": { - "id": 75119, + "id": 75149, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12430:3:172", + "src": "12430:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75120, + "id": 75150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12434:6:172", + "memberLocation": "12434:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12430:10:172", + "src": "12430:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75121, + "id": 75151, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12442:5:172", + "referencedDeclaration": 75127, + "src": "12442:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75122, + "id": 75152, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75099, - "src": "12449:7:172", + "referencedDeclaration": 75129, + "src": "12449:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75123, + "id": 75153, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12458:6:172", + "referencedDeclaration": 75131, + "src": "12458:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8114,18 +8114,18 @@ "typeString": "uint256" } ], - "id": 75118, + "id": 75148, "name": "Deposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77608, - "src": "12422:7:172", + "referencedDeclaration": 77923, + "src": "12422:7:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 75124, + "id": 75154, "isConstant": false, "isLValue": false, "isPure": false, @@ -8134,42 +8134,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12422:43:172", + "src": "12422:43:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75125, + "id": 75155, "nodeType": "EmitStatement", - "src": "12417:48:172" + "src": "12417:48:173" }, { "expression": { "arguments": [ { "expression": { - "id": 75130, + "id": 75160, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12560:3:172", + "src": "12560:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75131, + "id": 75161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12564:6:172", + "memberLocation": "12564:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12560:10:172", + "src": "12560:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8178,14 +8178,14 @@ { "arguments": [ { - "id": 75134, + "id": 75164, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "12580:4:172", + "src": "12580:4:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } } @@ -8193,30 +8193,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } ], - "id": 75133, + "id": 75163, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12572:7:172", + "src": "12572:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 75132, + "id": 75162, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12572:7:172", + "src": "12572:7:173", "typeDescriptions": {} } }, - "id": 75135, + "id": 75165, "isConstant": false, "isLValue": false, "isPure": false, @@ -8225,7 +8225,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12572:13:172", + "src": "12572:13:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8233,12 +8233,12 @@ } }, { - "id": 75136, + "id": 75166, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12587:6:172", + "referencedDeclaration": 75131, + "src": "12587:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8263,12 +8263,12 @@ "expression": { "arguments": [ { - "id": 75127, + "id": 75157, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12536:5:172", + "referencedDeclaration": 75127, + "src": "12536:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8282,18 +8282,18 @@ "typeString": "address" } ], - "id": 75126, + "id": 75156, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44376, - "src": "12529:6:172", + "src": "12529:6:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", "typeString": "type(contract IERC20)" } }, - "id": 75128, + "id": 75158, "isConstant": false, "isLValue": false, "isPure": false, @@ -8302,29 +8302,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12529:13:172", + "src": "12529:13:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$44376", "typeString": "contract IERC20" } }, - "id": 75129, + "id": 75159, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12543:16:172", + "memberLocation": "12543:16:173", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 44497, - "src": "12529:30:172", + "src": "12529:30:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 75137, + "id": 75167, "isConstant": false, "isLValue": false, "isPure": false, @@ -8333,20 +8333,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12529:65:172", + "src": "12529:65:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75138, + "id": 75168, "nodeType": "ExpressionStatement", - "src": "12529:65:172" + "src": "12529:65:173" }, { "expression": { - "id": 75148, + "id": 75178, "isConstant": false, "isLValue": false, "isPure": false, @@ -8355,40 +8355,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75139, + "id": 75169, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "12604:14:172", + "referencedDeclaration": 75058, + "src": "12604:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75144, + "id": 75174, "indexExpression": { "expression": { - "id": 75140, + "id": 75170, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12619:3:172", + "src": "12619:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75141, + "id": 75171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12623:6:172", + "memberLocation": "12623:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12619:10:172", + "src": "12619:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8399,20 +8399,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12604:26:172", + "src": "12604:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75145, + "id": 75175, "indexExpression": { - "id": 75142, + "id": 75172, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75097, - "src": "12631:5:172", + "referencedDeclaration": 75127, + "src": "12631:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8423,20 +8423,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12604:33:172", + "src": "12604:33:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75146, + "id": 75176, "indexExpression": { - "id": 75143, + "id": 75173, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75099, - "src": "12638:7:172", + "referencedDeclaration": 75129, + "src": "12638:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8447,7 +8447,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "12604:42:172", + "src": "12604:42:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8456,36 +8456,36 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 75147, + "id": 75177, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75101, - "src": "12650:6:172", + "referencedDeclaration": 75131, + "src": "12650:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12604:52:172", + "src": "12604:52:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75149, + "id": 75179, "nodeType": "ExpressionStatement", - "src": "12604:52:172" + "src": "12604:52:173" } ] }, "baseFunctions": [ - 77727 + 78042 ], "documentation": { - "id": 75095, + "id": 75125, "nodeType": "StructuredDocumentation", - "src": "11990:28:172", + "src": "11990:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "0efe6a8b", @@ -8493,37 +8493,37 @@ "kind": "function", "modifiers": [ { - "id": 75104, + "id": 75134, "kind": "modifierInvocation", "modifierName": { - "id": 75103, + "id": 75133, "name": "nonReentrant", "nameLocations": [ - "12097:12:172" + "12097:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "12097:12:172" + "src": "12097:12:173" }, "nodeType": "ModifierInvocation", - "src": "12097:12:172" + "src": "12097:12:173" } ], "name": "deposit", - "nameLocation": "12032:7:172", + "nameLocation": "12032:7:173", "parameters": { - "id": 75102, + "id": 75132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75097, + "id": 75127, "mutability": "mutable", "name": "token", - "nameLocation": "12048:5:172", + "nameLocation": "12048:5:173", "nodeType": "VariableDeclaration", - "scope": 75151, - "src": "12040:13:172", + "scope": 75181, + "src": "12040:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8531,10 +8531,10 @@ "typeString": "address" }, "typeName": { - "id": 75096, + "id": 75126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12040:7:172", + "src": "12040:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8545,13 +8545,13 @@ }, { "constant": false, - "id": 75099, + "id": 75129, "mutability": "mutable", "name": "vaultId", - "nameLocation": "12063:7:172", + "nameLocation": "12063:7:173", "nodeType": "VariableDeclaration", - "scope": 75151, - "src": "12055:15:172", + "scope": 75181, + "src": "12055:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8559,10 +8559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75098, + "id": 75128, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12055:7:172", + "src": "12055:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8572,13 +8572,13 @@ }, { "constant": false, - "id": 75101, + "id": 75131, "mutability": "mutable", "name": "amount", - "nameLocation": "12080:6:172", + "nameLocation": "12080:6:173", "nodeType": "VariableDeclaration", - "scope": 75151, - "src": "12072:14:172", + "scope": 75181, + "src": "12072:14:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8586,10 +8586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75100, + "id": 75130, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12072:7:172", + "src": "12072:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8598,28 +8598,28 @@ "visibility": "internal" } ], - "src": "12039:48:172" + "src": "12039:48:173" }, "returnParameters": { - "id": 75105, + "id": 75135, "nodeType": "ParameterList", "parameters": [], - "src": "12110:0:172" + "src": "12110:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 75228, + "id": 75258, "nodeType": "FunctionDefinition", - "src": "12702:952:172", + "src": "12702:952:173", "nodes": [], "body": { - "id": 75227, + "id": 75257, "nodeType": "Block", - "src": "12796:858:172", + "src": "12796:858:173", "nodes": [], "statements": [ { @@ -8628,18 +8628,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75165, + "id": 75195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75163, + "id": 75193, "name": "targetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75158, - "src": "12810:12:172", + "referencedDeclaration": 75188, + "src": "12810:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8649,83 +8649,83 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75164, + "id": 75194, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12826:1:172", + "src": "12826:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "12810:17:172", + "src": "12810:17:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75174, + "id": 75204, "nodeType": "IfStatement", - "src": "12806:107:172", + "src": "12806:107:173", "trueBody": { - "id": 75173, + "id": 75203, "nodeType": "Block", - "src": "12829:84:172", + "src": "12829:84:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75167, + "id": 75197, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12875:3:172", + "src": "12875:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75168, + "id": 75198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12879:6:172", + "memberLocation": "12879:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12875:10:172", + "src": "12875:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75169, + "id": 75199, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "12887:5:172", + "referencedDeclaration": 75184, + "src": "12887:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75170, + "id": 75200, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "12894:7:172", + "referencedDeclaration": 75186, + "src": "12894:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8747,18 +8747,18 @@ "typeString": "uint256" } ], - "id": 75166, + "id": 75196, "name": "ZeroWithdrawTargetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77577, - "src": "12850:24:172", + "referencedDeclaration": 77892, + "src": "12850:24:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) pure" } }, - "id": 75171, + "id": 75201, "isConstant": false, "isLValue": false, "isPure": false, @@ -8767,34 +8767,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12850:52:172", + "src": "12850:52:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75172, + "id": 75202, "nodeType": "RevertStatement", - "src": "12843:59:172" + "src": "12843:59:173" } ] } }, { "assignments": [ - 75176 + 75206 ], "declarations": [ { "constant": false, - "id": 75176, + "id": 75206, "mutability": "mutable", "name": "currentVaultBalance", - "nameLocation": "12930:19:172", + "nameLocation": "12930:19:173", "nodeType": "VariableDeclaration", - "scope": 75227, - "src": "12922:27:172", + "scope": 75257, + "src": "12922:27:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8802,10 +8802,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75175, + "id": 75205, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12922:7:172", + "src": "12922:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8814,45 +8814,45 @@ "visibility": "internal" } ], - "id": 75185, + "id": 75215, "initialValue": { "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75177, + "id": 75207, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "12952:14:172", + "referencedDeclaration": 75058, + "src": "12952:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75180, + "id": 75210, "indexExpression": { "expression": { - "id": 75178, + "id": 75208, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "12967:3:172", + "src": "12967:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75179, + "id": 75209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12971:6:172", + "memberLocation": "12971:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "12967:10:172", + "src": "12967:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8863,20 +8863,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12952:26:172", + "src": "12952:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75182, + "id": 75212, "indexExpression": { - "id": 75181, + "id": 75211, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "12979:5:172", + "referencedDeclaration": 75184, + "src": "12979:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8887,20 +8887,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12952:33:172", + "src": "12952:33:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75184, + "id": 75214, "indexExpression": { - "id": 75183, + "id": 75213, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "12986:7:172", + "referencedDeclaration": 75186, + "src": "12986:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8911,29 +8911,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12952:42:172", + "src": "12952:42:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "12922:72:172" + "src": "12922:72:173" }, { "assignments": [ - 75187 + 75217 ], "declarations": [ { "constant": false, - "id": 75187, + "id": 75217, "mutability": "mutable", "name": "withdrawAmount", - "nameLocation": "13084:14:172", + "nameLocation": "13084:14:173", "nodeType": "VariableDeclaration", - "scope": 75227, - "src": "13076:22:172", + "scope": 75257, + "src": "13076:22:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8941,10 +8941,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75186, + "id": 75216, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13076:7:172", + "src": "13076:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8953,16 +8953,16 @@ "visibility": "internal" } ], - "id": 75192, + "id": 75222, "initialValue": { "arguments": [ { - "id": 75190, + "id": 75220, "name": "currentVaultBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75176, - "src": "13118:19:172", + "referencedDeclaration": 75206, + "src": "13118:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8977,33 +8977,33 @@ } ], "expression": { - "id": 75188, + "id": 75218, "name": "targetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75158, - "src": "13101:12:172", + "referencedDeclaration": 75188, + "src": "13101:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75189, + "id": 75219, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13114:3:172", + "memberLocation": "13114:3:173", "memberName": "min", "nodeType": "MemberAccess", "referencedDeclaration": 45993, - "src": "13101:16:172", + "src": "13101:16:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 75191, + "id": 75221, "isConstant": false, "isLValue": false, "isPure": false, @@ -9012,7 +9012,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13101:37:172", + "src": "13101:37:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9020,7 +9020,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "13076:62:172" + "src": "13076:62:173" }, { "condition": { @@ -9028,18 +9028,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75195, + "id": 75225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75193, + "id": 75223, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13152:14:172", + "referencedDeclaration": 75217, + "src": "13152:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9049,37 +9049,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75194, + "id": 75224, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13169:1:172", + "src": "13169:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "13152:18:172", + "src": "13152:18:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75226, + "id": 75256, "nodeType": "IfStatement", - "src": "13148:500:172", + "src": "13148:500:173", "trueBody": { - "id": 75225, + "id": 75255, "nodeType": "Block", - "src": "13172:476:172", + "src": "13172:476:173", "statements": [ { "expression": { - "id": 75207, + "id": 75237, "isConstant": false, "isLValue": false, "isPure": false, @@ -9088,40 +9088,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 75196, + "id": 75226, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "13391:14:172", + "referencedDeclaration": 75058, + "src": "13391:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 75201, + "id": 75231, "indexExpression": { "expression": { - "id": 75197, + "id": 75227, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13406:3:172", + "src": "13406:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75198, + "id": 75228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13410:6:172", + "memberLocation": "13410:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13406:10:172", + "src": "13406:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9132,20 +9132,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13391:26:172", + "src": "13391:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 75202, + "id": 75232, "indexExpression": { - "id": 75199, + "id": 75229, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "13418:5:172", + "referencedDeclaration": 75184, + "src": "13418:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9156,20 +9156,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13391:33:172", + "src": "13391:33:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 75203, + "id": 75233, "indexExpression": { - "id": 75200, + "id": 75230, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "13425:7:172", + "referencedDeclaration": 75186, + "src": "13425:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9180,7 +9180,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "13391:42:172", + "src": "13391:42:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9193,18 +9193,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75206, + "id": 75236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75204, + "id": 75234, "name": "currentVaultBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75176, - "src": "13436:19:172", + "referencedDeclaration": 75206, + "src": "13436:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9213,106 +9213,106 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 75205, + "id": 75235, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13458:14:172", + "referencedDeclaration": 75217, + "src": "13458:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13436:36:172", + "src": "13436:36:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13391:81:172", + "src": "13391:81:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75208, + "id": 75238, "nodeType": "ExpressionStatement", - "src": "13391:81:172" + "src": "13391:81:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75210, + "id": 75240, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13500:3:172", + "src": "13500:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75211, + "id": 75241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13504:6:172", + "memberLocation": "13504:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13500:10:172", + "src": "13500:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75212, + "id": 75242, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "13512:5:172", + "referencedDeclaration": 75184, + "src": "13512:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75213, + "id": 75243, "name": "vaultId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75156, - "src": "13519:7:172", + "referencedDeclaration": 75186, + "src": "13519:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75214, + "id": 75244, "name": "targetAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75158, - "src": "13528:12:172", + "referencedDeclaration": 75188, + "src": "13528:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75215, + "id": 75245, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13542:14:172", + "referencedDeclaration": 75217, + "src": "13542:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9342,18 +9342,18 @@ "typeString": "uint256" } ], - "id": 75209, + "id": 75239, "name": "Withdraw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77621, - "src": "13491:8:172", + "referencedDeclaration": 77936, + "src": "13491:8:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 75216, + "id": 75246, "isConstant": false, "isLValue": false, "isPure": false, @@ -9362,27 +9362,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13491:66:172", + "src": "13491:66:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75217, + "id": 75247, "nodeType": "EmitStatement", - "src": "13486:71:172" + "src": "13486:71:173" }, { "expression": { "arguments": [ { - "id": 75219, + "id": 75249, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75154, - "src": "13603:5:172", + "referencedDeclaration": 75184, + "src": "13603:5:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9390,38 +9390,38 @@ }, { "expression": { - "id": 75220, + "id": 75250, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13610:3:172", + "src": "13610:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75221, + "id": 75251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13614:6:172", + "memberLocation": "13614:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13610:10:172", + "src": "13610:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75222, + "id": 75252, "name": "withdrawAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75187, - "src": "13622:14:172", + "referencedDeclaration": 75217, + "src": "13622:14:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9443,18 +9443,18 @@ "typeString": "uint256" } ], - "id": 75218, + "id": 75248, "name": "_decreaseFlashDebtThenSendToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74350, - "src": "13571:31:172", + "referencedDeclaration": 74380, + "src": "13571:31:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,address,uint256) returns (uint256)" } }, - "id": 75223, + "id": 75253, "isConstant": false, "isLValue": false, "isPure": false, @@ -9463,16 +9463,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13571:66:172", + "src": "13571:66:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75224, + "id": 75254, "nodeType": "ExpressionStatement", - "src": "13571:66:172" + "src": "13571:66:173" } ] } @@ -9480,12 +9480,12 @@ ] }, "baseFunctions": [ - 77737 + 78052 ], "documentation": { - "id": 75152, + "id": 75182, "nodeType": "StructuredDocumentation", - "src": "12669:28:172", + "src": "12669:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "b5c5f672", @@ -9493,37 +9493,37 @@ "kind": "function", "modifiers": [ { - "id": 75161, + "id": 75191, "kind": "modifierInvocation", "modifierName": { - "id": 75160, + "id": 75190, "name": "nonReentrant", "nameLocations": [ - "12783:12:172" + "12783:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "12783:12:172" + "src": "12783:12:173" }, "nodeType": "ModifierInvocation", - "src": "12783:12:172" + "src": "12783:12:173" } ], "name": "withdraw", - "nameLocation": "12711:8:172", + "nameLocation": "12711:8:173", "parameters": { - "id": 75159, + "id": 75189, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75154, + "id": 75184, "mutability": "mutable", "name": "token", - "nameLocation": "12728:5:172", + "nameLocation": "12728:5:173", "nodeType": "VariableDeclaration", - "scope": 75228, - "src": "12720:13:172", + "scope": 75258, + "src": "12720:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9531,10 +9531,10 @@ "typeString": "address" }, "typeName": { - "id": 75153, + "id": 75183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12720:7:172", + "src": "12720:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9545,13 +9545,13 @@ }, { "constant": false, - "id": 75156, + "id": 75186, "mutability": "mutable", "name": "vaultId", - "nameLocation": "12743:7:172", + "nameLocation": "12743:7:173", "nodeType": "VariableDeclaration", - "scope": 75228, - "src": "12735:15:172", + "scope": 75258, + "src": "12735:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9559,10 +9559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75155, + "id": 75185, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12735:7:172", + "src": "12735:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9572,13 +9572,13 @@ }, { "constant": false, - "id": 75158, + "id": 75188, "mutability": "mutable", "name": "targetAmount", - "nameLocation": "12760:12:172", + "nameLocation": "12760:12:173", "nodeType": "VariableDeclaration", - "scope": 75228, - "src": "12752:20:172", + "scope": 75258, + "src": "12752:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9586,10 +9586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75157, + "id": 75187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12752:7:172", + "src": "12752:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9598,44 +9598,44 @@ "visibility": "internal" } ], - "src": "12719:54:172" + "src": "12719:54:173" }, "returnParameters": { - "id": 75162, + "id": 75192, "nodeType": "ParameterList", "parameters": [], - "src": "12796:0:172" + "src": "12796:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 75405, + "id": 75435, "nodeType": "FunctionDefinition", - "src": "13693:2174:172", + "src": "13693:2174:173", "nodes": [], "body": { - "id": 75404, + "id": 75434, "nodeType": "Block", - "src": "13792:2075:172", + "src": "13792:2075:173", "nodes": [], "statements": [ { "assignments": [ - 75240 + 75270 ], "declarations": [ { "constant": false, - "id": 75240, + "id": 75270, "mutability": "mutable", "name": "sourceCount", - "nameLocation": "13810:11:172", + "nameLocation": "13810:11:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "13802:19:172", + "scope": 75434, + "src": "13802:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9643,10 +9643,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75239, + "id": 75269, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13802:7:172", + "src": "13802:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9655,48 +9655,48 @@ "visibility": "internal" } ], - "id": 75247, + "id": 75277, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 75243, + "id": 75273, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "13848:6:172", + "referencedDeclaration": 75262, + "src": "13848:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75244, + "id": 75274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13855:15:172", + "memberLocation": "13855:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "13848:22:172", + "referencedDeclaration": 77853, + "src": "13848:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75245, + "id": 75275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13871:8:172", + "memberLocation": "13871:8:173", "memberName": "bytecode", "nodeType": "MemberAccess", - "referencedDeclaration": 57267, - "src": "13848:31:172", + "referencedDeclaration": 57297, + "src": "13848:31:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -9711,33 +9711,33 @@ } ], "expression": { - "id": 75241, + "id": 75271, "name": "LibBytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 56762, - "src": "13824:11:172", + "referencedDeclaration": 56792, + "src": "13824:11:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", "typeString": "type(library LibBytecode)" } }, - "id": 75242, + "id": 75272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13836:11:172", + "memberLocation": "13836:11:173", "memberName": "sourceCount", "nodeType": "MemberAccess", - "referencedDeclaration": 56521, - "src": "13824:23:172", + "referencedDeclaration": 56551, + "src": "13824:23:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, - "id": 75246, + "id": 75276, "isConstant": false, "isLValue": false, "isPure": false, @@ -9746,7 +9746,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13824:56:172", + "src": "13824:56:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9754,7 +9754,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "13802:78:172" + "src": "13802:78:173" }, { "condition": { @@ -9762,18 +9762,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75250, + "id": 75280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75248, + "id": 75278, "name": "sourceCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13894:11:172", + "referencedDeclaration": 75270, + "src": "13894:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9783,59 +9783,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75249, + "id": 75279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13909:1:172", + "src": "13909:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "13894:16:172", + "src": "13894:16:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75257, + "id": 75287, "nodeType": "IfStatement", - "src": "13890:80:172", + "src": "13890:80:173", "trueBody": { - "id": 75256, + "id": 75286, "nodeType": "Block", - "src": "13912:58:172", + "src": "13912:58:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75252, + "id": 75282, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "13948:3:172", + "src": "13948:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75253, + "id": 75283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13952:6:172", + "memberLocation": "13952:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "13948:10:172", + "src": "13948:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9849,18 +9849,18 @@ "typeString": "address" } ], - "id": 75251, + "id": 75281, "name": "OrderNoSources", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77582, - "src": "13933:14:172", + "referencedDeclaration": 77897, + "src": "13933:14:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75254, + "id": 75284, "isConstant": false, "isLValue": false, "isPure": false, @@ -9869,16 +9869,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13933:26:172", + "src": "13933:26:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75255, + "id": 75285, "nodeType": "RevertStatement", - "src": "13926:33:172" + "src": "13926:33:173" } ] } @@ -9889,18 +9889,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75260, + "id": 75290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75258, + "id": 75288, "name": "sourceCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13983:11:172", + "referencedDeclaration": 75270, + "src": "13983:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9910,59 +9910,59 @@ "operator": "==", "rightExpression": { "hexValue": "31", - "id": 75259, + "id": 75289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13998:1:172", + "src": "13998:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "13983:16:172", + "src": "13983:16:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75267, + "id": 75297, "nodeType": "IfStatement", - "src": "13979:81:172", + "src": "13979:81:173", "trueBody": { - "id": 75266, + "id": 75296, "nodeType": "Block", - "src": "14001:59:172", + "src": "14001:59:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75262, + "id": 75292, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14038:3:172", + "src": "14038:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75263, + "id": 75293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14042:6:172", + "memberLocation": "14042:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14038:10:172", + "src": "14038:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9976,18 +9976,18 @@ "typeString": "address" } ], - "id": 75261, + "id": 75291, "name": "OrderNoHandleIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77587, - "src": "14022:15:172", + "referencedDeclaration": 77902, + "src": "14022:15:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75264, + "id": 75294, "isConstant": false, "isLValue": false, "isPure": false, @@ -9996,16 +9996,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14022:27:172", + "src": "14022:27:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75265, + "id": 75295, "nodeType": "RevertStatement", - "src": "14015:34:172" + "src": "14015:34:173" } ] } @@ -10016,7 +10016,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75272, + "id": 75302, "isConstant": false, "isLValue": false, "isPure": false, @@ -10024,41 +10024,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75268, + "id": 75298, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14073:6:172", + "referencedDeclaration": 75262, + "src": "14073:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75269, + "id": 75299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14080:11:172", + "memberLocation": "14080:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77531, - "src": "14073:18:172", + "referencedDeclaration": 77846, + "src": "14073:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75270, + "id": 75300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14092:6:172", + "memberLocation": "14092:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "14073:25:172", + "src": "14073:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10068,59 +10068,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75271, + "id": 75301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14102:1:172", + "src": "14102:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14073:30:172", + "src": "14073:30:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75279, + "id": 75309, "nodeType": "IfStatement", - "src": "14069:93:172", + "src": "14069:93:173", "trueBody": { - "id": 75278, + "id": 75308, "nodeType": "Block", - "src": "14105:57:172", + "src": "14105:57:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75274, + "id": 75304, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14140:3:172", + "src": "14140:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75275, + "id": 75305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14144:6:172", + "memberLocation": "14144:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14140:10:172", + "src": "14140:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10134,18 +10134,18 @@ "typeString": "address" } ], - "id": 75273, + "id": 75303, "name": "OrderNoInputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77592, - "src": "14126:13:172", + "referencedDeclaration": 77907, + "src": "14126:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75276, + "id": 75306, "isConstant": false, "isLValue": false, "isPure": false, @@ -10154,16 +10154,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14126:25:172", + "src": "14126:25:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75277, + "id": 75307, "nodeType": "RevertStatement", - "src": "14119:32:172" + "src": "14119:32:173" } ] } @@ -10174,7 +10174,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75284, + "id": 75314, "isConstant": false, "isLValue": false, "isPure": false, @@ -10182,41 +10182,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75280, + "id": 75310, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14175:6:172", + "referencedDeclaration": 75262, + "src": "14175:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75281, + "id": 75311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14182:12:172", + "memberLocation": "14182:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77535, - "src": "14175:19:172", + "referencedDeclaration": 77850, + "src": "14175:19:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75282, + "id": 75312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14195:6:172", + "memberLocation": "14195:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "14175:26:172", + "src": "14175:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10226,59 +10226,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75283, + "id": 75313, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14205:1:172", + "src": "14205:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14175:31:172", + "src": "14175:31:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75291, + "id": 75321, "nodeType": "IfStatement", - "src": "14171:95:172", + "src": "14171:95:173", "trueBody": { - "id": 75290, + "id": 75320, "nodeType": "Block", - "src": "14208:58:172", + "src": "14208:58:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75286, + "id": 75316, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14244:3:172", + "src": "14244:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75287, + "id": 75317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14248:6:172", + "memberLocation": "14248:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14244:10:172", + "src": "14244:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10292,18 +10292,18 @@ "typeString": "address" } ], - "id": 75285, + "id": 75315, "name": "OrderNoOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77597, - "src": "14229:14:172", + "referencedDeclaration": 77912, + "src": "14229:14:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 75288, + "id": 75318, "isConstant": false, "isLValue": false, "isPure": false, @@ -10312,36 +10312,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14229:26:172", + "src": "14229:26:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75289, + "id": 75319, "nodeType": "RevertStatement", - "src": "14222:33:172" + "src": "14222:33:173" } ] } }, { "assignments": [ - 75294, - 75297, - 75299 + 75324, + 75327, + 75329 ], "declarations": [ { "constant": false, - "id": 75294, + "id": 75324, "mutability": "mutable", "name": "interpreter", - "nameLocation": "14291:11:172", + "nameLocation": "14291:11:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14276:26:172", + "scope": 75434, + "src": "14276:26:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10349,20 +10349,20 @@ "typeString": "contract IInterpreterV1" }, "typeName": { - "id": 75293, + "id": 75323, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75292, + "id": 75322, "name": "IInterpreterV1", "nameLocations": [ - "14276:14:172" + "14276:14:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56347, - "src": "14276:14:172" + "src": "14276:14:173" }, "referencedDeclaration": 56347, - "src": "14276:14:172", + "src": "14276:14:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" @@ -10372,13 +10372,13 @@ }, { "constant": false, - "id": 75297, + "id": 75327, "mutability": "mutable", "name": "store", - "nameLocation": "14324:5:172", + "nameLocation": "14324:5:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14304:25:172", + "scope": 75434, + "src": "14304:25:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10386,20 +10386,20 @@ "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 75296, + "id": 75326, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75295, + "id": 75325, "name": "IInterpreterStoreV1", "nameLocations": [ - "14304:19:172" + "14304:19:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56297, - "src": "14304:19:172" + "src": "14304:19:173" }, "referencedDeclaration": 56297, - "src": "14304:19:172", + "src": "14304:19:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" @@ -10409,13 +10409,13 @@ }, { "constant": false, - "id": 75299, + "id": 75329, "mutability": "mutable", "name": "expression", - "nameLocation": "14339:10:172", + "nameLocation": "14339:10:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14331:18:172", + "scope": 75434, + "src": "14331:18:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10423,10 +10423,10 @@ "typeString": "address" }, "typeName": { - "id": 75298, + "id": 75328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14331:7:172", + "src": "14331:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10436,48 +10436,48 @@ "visibility": "internal" } ], - "id": 75316, + "id": 75346, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 75304, + "id": 75334, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14454:6:172", + "referencedDeclaration": 75262, + "src": "14454:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75305, + "id": 75335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14461:15:172", + "memberLocation": "14461:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14454:22:172", + "referencedDeclaration": 77853, + "src": "14454:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75306, + "id": 75336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14477:8:172", + "memberLocation": "14477:8:173", "memberName": "bytecode", "nodeType": "MemberAccess", - "referencedDeclaration": 57267, - "src": "14454:31:172", + "referencedDeclaration": 57297, + "src": "14454:31:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -10486,42 +10486,42 @@ { "expression": { "expression": { - "id": 75307, + "id": 75337, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14499:6:172", + "referencedDeclaration": 75262, + "src": "14499:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75308, + "id": 75338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14506:15:172", + "memberLocation": "14506:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14499:22:172", + "referencedDeclaration": 77853, + "src": "14499:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75309, + "id": 75339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14522:9:172", + "memberLocation": "14522:9:173", "memberName": "constants", "nodeType": "MemberAccess", - "referencedDeclaration": 57270, - "src": "14499:32:172", + "referencedDeclaration": 57300, + "src": "14499:32:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -10530,24 +10530,24 @@ { "arguments": [ { - "id": 75312, + "id": 75342, "name": "CALCULATE_ORDER_MIN_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74887, - "src": "14571:27:172", + "referencedDeclaration": 74917, + "src": "14571:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75313, + "id": 75343, "name": "HANDLE_IO_MIN_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74895, - "src": "14600:21:172", + "referencedDeclaration": 74925, + "src": "14600:21:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10566,33 +10566,33 @@ } ], "expression": { - "id": 75310, + "id": 75340, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "14545:15:172", + "referencedDeclaration": 72714, + "src": "14545:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 75311, + "id": 75341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14561:9:172", + "memberLocation": "14561:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72543, - "src": "14545:25:172", + "referencedDeclaration": 72573, + "src": "14545:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 75314, + "id": 75344, "isConstant": false, "isLValue": false, "isPure": false, @@ -10601,7 +10601,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14545:77:172", + "src": "14545:77:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -10627,63 +10627,63 @@ "expression": { "expression": { "expression": { - "id": 75300, + "id": 75330, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14353:6:172", + "referencedDeclaration": 75262, + "src": "14353:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75301, + "id": 75331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14373:15:172", + "memberLocation": "14373:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14353:35:172", + "referencedDeclaration": 77853, + "src": "14353:35:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75302, + "id": 75332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14402:8:172", + "memberLocation": "14402:8:173", "memberName": "deployer", "nodeType": "MemberAccess", - "referencedDeclaration": 57265, - "src": "14353:57:172", + "referencedDeclaration": 57295, + "src": "14353:57:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", "typeString": "contract IExpressionDeployerV2" } }, - "id": 75303, + "id": 75333, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14424:16:172", + "memberLocation": "14424:16:173", "memberName": "deployExpression", "nodeType": "MemberAccess", - "referencedDeclaration": 56437, - "src": "14353:87:172", + "referencedDeclaration": 56467, + "src": "14353:87:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" } }, - "id": 75315, + "id": 75345, "isConstant": false, "isLValue": false, "isPure": false, @@ -10692,7 +10692,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14353:279:172", + "src": "14353:279:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", @@ -10700,76 +10700,76 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "14275:357:172" + "src": "14275:357:173" }, { "assignments": [ - 75319 + 75349 ], "declarations": [ { "constant": false, - "id": 75319, + "id": 75349, "mutability": "mutable", "name": "order", - "nameLocation": "14831:5:172", + "nameLocation": "14831:5:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "14818:18:172", + "scope": 75434, + "src": "14818:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 75318, + "id": 75348, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75317, + "id": 75347, "name": "Order", "nameLocations": [ - "14818:5:172" + "14818:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "14818:5:172" + "referencedDeclaration": 77252, + "src": "14818:5:173" }, - "referencedDeclaration": 77222, - "src": "14818:5:172", + "referencedDeclaration": 77252, + "src": "14818:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, "visibility": "internal" } ], - "id": 75345, + "id": 75375, "initialValue": { "arguments": [ { "expression": { - "id": 75321, + "id": 75351, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "14858:3:172", + "src": "14858:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75322, + "id": 75352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14862:6:172", + "memberLocation": "14862:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "14858:10:172", + "src": "14858:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10780,7 +10780,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75334, + "id": 75364, "isConstant": false, "isLValue": false, "isPure": false, @@ -10790,42 +10790,42 @@ { "expression": { "expression": { - "id": 75325, + "id": 75355, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "14910:6:172", + "referencedDeclaration": 75262, + "src": "14910:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75326, + "id": 75356, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14917:15:172", + "memberLocation": "14917:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "14910:22:172", + "referencedDeclaration": 77853, + "src": "14910:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75327, + "id": 75357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14933:8:172", + "memberLocation": "14933:8:173", "memberName": "bytecode", "nodeType": "MemberAccess", - "referencedDeclaration": 57267, - "src": "14910:31:172", + "referencedDeclaration": 57297, + "src": "14910:31:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -10834,12 +10834,12 @@ { "arguments": [ { - "id": 75330, + "id": 75360, "name": "HANDLE_IO_ENTRYPOINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74883, - "src": "14962:20:172", + "referencedDeclaration": 74913, + "src": "14962:20:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" @@ -10854,32 +10854,32 @@ } ], "expression": { - "id": 75328, + "id": 75358, "name": "SourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56302, - "src": "14943:11:172", + "src": "14943:11:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", "typeString": "type(SourceIndex)" } }, - "id": 75329, + "id": 75359, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14955:6:172", + "memberLocation": "14955:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "14943:18:172", + "src": "14943:18:173", "typeDescriptions": { "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56302_$returns$_t_uint16_$", "typeString": "function (SourceIndex) pure returns (uint16)" } }, - "id": 75331, + "id": 75361, "isConstant": false, "isLValue": false, "isPure": true, @@ -10888,7 +10888,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14943:40:172", + "src": "14943:40:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint16", @@ -10908,33 +10908,33 @@ } ], "expression": { - "id": 75323, + "id": 75353, "name": "LibBytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 56762, - "src": "14882:11:172", + "referencedDeclaration": 56792, + "src": "14882:11:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56762_$", + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", "typeString": "type(library LibBytecode)" } }, - "id": 75324, + "id": 75354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14894:15:172", + "memberLocation": "14894:15:173", "memberName": "sourceOpsLength", "nodeType": "MemberAccess", - "referencedDeclaration": 56616, - "src": "14882:27:172", + "referencedDeclaration": 56646, + "src": "14882:27:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256) pure returns (uint256)" } }, - "id": 75332, + "id": 75362, "isConstant": false, "isLValue": false, "isPure": false, @@ -10943,7 +10943,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14882:102:172", + "src": "14882:102:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10954,21 +10954,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75333, + "id": 75363, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14987:1:172", + "src": "14987:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "14882:106:172", + "src": "14882:106:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10977,36 +10977,36 @@ { "arguments": [ { - "id": 75336, + "id": 75366, "name": "interpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75294, - "src": "15012:11:172", + "referencedDeclaration": 75324, + "src": "15012:11:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, { - "id": 75337, + "id": 75367, "name": "store", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75297, - "src": "15025:5:172", + "referencedDeclaration": 75327, + "src": "15025:5:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 75338, + "id": 75368, "name": "expression", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75299, - "src": "15032:10:172", + "referencedDeclaration": 75329, + "src": "15032:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11028,18 +11028,18 @@ "typeString": "address" } ], - "id": 75335, + "id": 75365, "name": "Evaluable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57280, - "src": "15002:9:172", + "referencedDeclaration": 57310, + "src": "15002:9:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Evaluable_$57280_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Evaluable_$57310_storage_ptr_$", "typeString": "type(struct Evaluable storage pointer)" } }, - "id": 75339, + "id": 75369, "isConstant": false, "isLValue": false, "isPure": false, @@ -11048,66 +11048,66 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15002:41:172", + "src": "15002:41:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, { "expression": { - "id": 75340, + "id": 75370, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15057:6:172", + "referencedDeclaration": 75262, + "src": "15057:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75341, + "id": 75371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15064:11:172", + "memberLocation": "15064:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77531, - "src": "15057:18:172", + "referencedDeclaration": 77846, + "src": "15057:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, { "expression": { - "id": 75342, + "id": 75372, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15089:6:172", + "referencedDeclaration": 75262, + "src": "15089:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75343, + "id": 75373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15096:12:172", + "memberLocation": "15096:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77535, - "src": "15089:19:172", + "referencedDeclaration": 77850, + "src": "15089:19:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } } @@ -11123,30 +11123,30 @@ "typeString": "bool" }, { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" }, { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" }, { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } ], - "id": 75320, + "id": 75350, "name": "Order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77222, - "src": "14839:5:172", + "referencedDeclaration": 77252, + "src": "14839:5:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$77222_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Order_$77252_storage_ptr_$", "typeString": "type(struct Order storage pointer)" } }, - "id": 75344, + "id": 75374, "isConstant": false, "isLValue": false, "isPure": false, @@ -11155,30 +11155,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14839:279:172", + "src": "14839:279:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "14818:300:172" + "src": "14818:300:173" }, { "assignments": [ - 75347 + 75377 ], "declarations": [ { "constant": false, - "id": 75347, + "id": 75377, "mutability": "mutable", "name": "orderHash", - "nameLocation": "15136:9:172", + "nameLocation": "15136:9:173", "nodeType": "VariableDeclaration", - "scope": 75404, - "src": "15128:17:172", + "scope": 75434, + "src": "15128:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11186,10 +11186,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75346, + "id": 75376, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15128:7:172", + "src": "15128:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11198,39 +11198,39 @@ "visibility": "internal" } ], - "id": 75351, + "id": 75381, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 75348, + "id": 75378, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75319, - "src": "15148:5:172", + "referencedDeclaration": 75349, + "src": "15148:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75349, + "id": 75379, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "15154:4:172", + "memberLocation": "15154:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "15148:10:172", + "referencedDeclaration": 78164, + "src": "15148:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 75350, + "id": 75380, "isConstant": false, "isLValue": false, "isPure": false, @@ -11239,7 +11239,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15148:12:172", + "src": "15148:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -11247,7 +11247,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "15128:32:172" + "src": "15128:32:173" }, { "condition": { @@ -11255,32 +11255,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75356, + "id": 75386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75352, + "id": 75382, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "15250:7:172", + "referencedDeclaration": 75049, + "src": "15250:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75354, + "id": 75384, "indexExpression": { - "id": 75353, + "id": 75383, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15258:9:172", + "referencedDeclaration": 75377, + "src": "15258:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11291,7 +11291,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15250:18:172", + "src": "15250:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11300,45 +11300,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75355, + "id": 75385, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "15272:10:172", + "referencedDeclaration": 74897, + "src": "15272:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15250:32:172", + "src": "15250:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75403, + "id": 75433, "nodeType": "IfStatement", - "src": "15246:615:172", + "src": "15246:615:173", "trueBody": { - "id": 75402, + "id": 75432, "nodeType": "Block", - "src": "15284:577:172", + "src": "15284:577:173", "statements": [ { "expression": { - "id": 75359, + "id": 75389, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75357, + "id": 75387, "name": "stateChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75237, - "src": "15298:12:172", + "referencedDeclaration": 75267, + "src": "15298:12:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11348,58 +11348,58 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 75358, + "id": 75388, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15313:4:172", + "src": "15313:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "15298:19:172", + "src": "15298:19:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75360, + "id": 75390, "nodeType": "ExpressionStatement", - "src": "15298:19:172" + "src": "15298:19:173" }, { "expression": { - "id": 75365, + "id": 75395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 75361, + "id": 75391, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "15390:7:172", + "referencedDeclaration": 75049, + "src": "15390:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75363, + "id": 75393, "indexExpression": { - "id": 75362, + "id": 75392, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15398:9:172", + "referencedDeclaration": 75377, + "src": "15398:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11410,7 +11410,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15390:18:172", + "src": "15390:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11419,52 +11419,52 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 75364, + "id": 75394, "name": "ORDER_LIVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "15411:10:172", + "referencedDeclaration": 74893, + "src": "15411:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15390:31:172", + "src": "15390:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75366, + "id": 75396, "nodeType": "ExpressionStatement", - "src": "15390:31:172" + "src": "15390:31:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75368, + "id": 75398, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "15449:3:172", + "src": "15449:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75369, + "id": 75399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15453:6:172", + "memberLocation": "15453:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "15449:10:172", + "src": "15449:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11473,66 +11473,66 @@ { "expression": { "expression": { - "id": 75370, + "id": 75400, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15461:6:172", + "referencedDeclaration": 75262, + "src": "15461:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75371, + "id": 75401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15468:15:172", + "memberLocation": "15468:15:173", "memberName": "evaluableConfig", "nodeType": "MemberAccess", - "referencedDeclaration": 77538, - "src": "15461:22:172", + "referencedDeclaration": 77853, + "src": "15461:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57271_calldata_ptr", + "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", "typeString": "struct EvaluableConfigV2 calldata" } }, - "id": 75372, + "id": 75402, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15484:8:172", + "memberLocation": "15484:8:173", "memberName": "deployer", "nodeType": "MemberAccess", - "referencedDeclaration": 57265, - "src": "15461:31:172", + "referencedDeclaration": 57295, + "src": "15461:31:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", "typeString": "contract IExpressionDeployerV2" } }, { - "id": 75373, + "id": 75403, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75319, - "src": "15494:5:172", + "referencedDeclaration": 75349, + "src": "15494:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 75374, + "id": 75404, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15501:9:172", + "referencedDeclaration": 75377, + "src": "15501:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11546,11 +11546,11 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56438", + "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", "typeString": "contract IExpressionDeployerV2" }, { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -11558,18 +11558,18 @@ "typeString": "bytes32" } ], - "id": 75367, + "id": 75397, "name": "AddOrder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77634, - "src": "15440:8:172", + "referencedDeclaration": 77949, + "src": "15440:8:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56438_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56468_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" } }, - "id": 75375, + "id": 75405, "isConstant": false, "isLValue": false, "isPure": false, @@ -11578,16 +11578,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15440:71:172", + "src": "15440:71:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75376, + "id": 75406, "nodeType": "EmitStatement", - "src": "15435:76:172" + "src": "15435:76:173" }, { "condition": { @@ -11595,7 +11595,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75381, + "id": 75411, "isConstant": false, "isLValue": false, "isPure": false, @@ -11603,41 +11603,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75377, + "id": 75407, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15682:6:172", + "referencedDeclaration": 75262, + "src": "15682:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75378, + "id": 75408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15689:4:172", + "memberLocation": "15689:4:173", "memberName": "meta", "nodeType": "MemberAccess", - "referencedDeclaration": 77540, - "src": "15682:11:172", + "referencedDeclaration": 77855, + "src": "15682:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "id": 75379, + "id": 75409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15694:6:172", + "memberLocation": "15694:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "15682:18:172", + "src": "15682:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11647,60 +11647,60 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75380, + "id": 75410, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15703:1:172", + "src": "15703:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "15682:22:172", + "src": "15682:22:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75401, + "id": 75431, "nodeType": "IfStatement", - "src": "15678:173:172", + "src": "15678:173:173", "trueBody": { - "id": 75400, + "id": 75430, "nodeType": "Block", - "src": "15706:145:172", + "src": "15706:145:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 75385, + "id": 75415, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15750:6:172", + "referencedDeclaration": 75262, + "src": "15750:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75386, + "id": 75416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15757:4:172", + "memberLocation": "15757:4:173", "memberName": "meta", "nodeType": "MemberAccess", - "referencedDeclaration": 77540, - "src": "15750:11:172", + "referencedDeclaration": 77855, + "src": "15750:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -11715,33 +11715,33 @@ } ], "expression": { - "id": 75382, + "id": 75412, "name": "LibMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72048, - "src": "15724:7:172", + "referencedDeclaration": 72078, + "src": "15724:7:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$72048_$", + "typeIdentifier": "t_type$_t_contract$_LibMeta_$72078_$", "typeString": "type(library LibMeta)" } }, - "id": 75384, + "id": 75414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15732:17:172", + "memberLocation": "15732:17:173", "memberName": "checkMetaUnhashed", "nodeType": "MemberAccess", - "referencedDeclaration": 72018, - "src": "15724:25:172", + "referencedDeclaration": 72048, + "src": "15724:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory) pure" } }, - "id": 75387, + "id": 75417, "isConstant": false, "isLValue": false, "isPure": false, @@ -11750,42 +11750,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15724:38:172", + "src": "15724:38:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75388, + "id": 75418, "nodeType": "ExpressionStatement", - "src": "15724:38:172" + "src": "15724:38:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75390, + "id": 75420, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "15792:3:172", + "src": "15792:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75391, + "id": 75421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15796:6:172", + "memberLocation": "15796:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "15792:10:172", + "src": "15792:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11794,12 +11794,12 @@ { "arguments": [ { - "id": 75394, + "id": 75424, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75347, - "src": "15812:9:172", + "referencedDeclaration": 75377, + "src": "15812:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11813,26 +11813,26 @@ "typeString": "bytes32" } ], - "id": 75393, + "id": 75423, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15804:7:172", + "src": "15804:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 75392, + "id": 75422, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15804:7:172", + "src": "15804:7:173", "typeDescriptions": {} } }, - "id": 75395, + "id": 75425, "isConstant": false, "isLValue": false, "isPure": false, @@ -11841,7 +11841,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15804:18:172", + "src": "15804:18:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11850,27 +11850,27 @@ }, { "expression": { - "id": 75396, + "id": 75426, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75232, - "src": "15824:6:172", + "referencedDeclaration": 75262, + "src": "15824:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2 calldata" } }, - "id": 75397, + "id": 75427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "15831:4:172", + "memberLocation": "15831:4:173", "memberName": "meta", "nodeType": "MemberAccess", - "referencedDeclaration": 77540, - "src": "15824:11:172", + "referencedDeclaration": 77855, + "src": "15824:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -11892,18 +11892,18 @@ "typeString": "bytes calldata" } ], - "id": 75389, + "id": 75419, "name": "MetaV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71963, - "src": "15785:6:172", + "referencedDeclaration": 71993, + "src": "15785:6:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 75398, + "id": 75428, "isConstant": false, "isLValue": false, "isPure": false, @@ -11912,16 +11912,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15785:51:172", + "src": "15785:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75399, + "id": 75429, "nodeType": "EmitStatement", - "src": "15780:56:172" + "src": "15780:56:173" } ] } @@ -11932,12 +11932,12 @@ ] }, "baseFunctions": [ - 77746 + 78061 ], "documentation": { - "id": 75229, + "id": 75259, "nodeType": "StructuredDocumentation", - "src": "13660:28:172", + "src": "13660:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "847a1bc9", @@ -11945,81 +11945,81 @@ "kind": "function", "modifiers": [ { - "id": 75235, + "id": 75265, "kind": "modifierInvocation", "modifierName": { - "id": 75234, + "id": 75264, "name": "nonReentrant", "nameLocations": [ - "13751:12:172" + "13751:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "13751:12:172" + "src": "13751:12:173" }, "nodeType": "ModifierInvocation", - "src": "13751:12:172" + "src": "13751:12:173" } ], "name": "addOrder", - "nameLocation": "13702:8:172", + "nameLocation": "13702:8:173", "parameters": { - "id": 75233, + "id": 75263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75232, + "id": 75262, "mutability": "mutable", "name": "config", - "nameLocation": "13734:6:172", + "nameLocation": "13734:6:173", "nodeType": "VariableDeclaration", - "scope": 75405, - "src": "13711:29:172", + "scope": 75435, + "src": "13711:29:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_calldata_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", "typeString": "struct OrderConfigV2" }, "typeName": { - "id": 75231, + "id": 75261, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75230, + "id": 75260, "name": "OrderConfigV2", "nameLocations": [ - "13711:13:172" + "13711:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77541, - "src": "13711:13:172" + "referencedDeclaration": 77856, + "src": "13711:13:173" }, - "referencedDeclaration": 77541, - "src": "13711:13:172", + "referencedDeclaration": 77856, + "src": "13711:13:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77541_storage_ptr", + "typeIdentifier": "t_struct$_OrderConfigV2_$77856_storage_ptr", "typeString": "struct OrderConfigV2" } }, "visibility": "internal" } ], - "src": "13710:31:172" + "src": "13710:31:173" }, "returnParameters": { - "id": 75238, + "id": 75268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75237, + "id": 75267, "mutability": "mutable", "name": "stateChanged", - "nameLocation": "13778:12:172", + "nameLocation": "13778:12:173", "nodeType": "VariableDeclaration", - "scope": 75405, - "src": "13773:17:172", + "scope": 75435, + "src": "13773:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12027,10 +12027,10 @@ "typeString": "bool" }, "typeName": { - "id": 75236, + "id": 75266, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13773:4:172", + "src": "13773:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12039,22 +12039,22 @@ "visibility": "internal" } ], - "src": "13772:19:172" + "src": "13772:19:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 75461, + "id": 75491, "nodeType": "FunctionDefinition", - "src": "15906:448:172", + "src": "15906:448:173", "nodes": [], "body": { - "id": 75460, + "id": 75490, "nodeType": "Block", - "src": "15999:355:172", + "src": "15999:355:173", "nodes": [], "statements": [ { @@ -12063,33 +12063,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 75420, + "id": 75450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 75416, + "id": 75446, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "16013:3:172", + "src": "16013:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75417, + "id": 75447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16017:6:172", + "memberLocation": "16017:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "16013:10:172", + "src": "16013:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12099,71 +12099,71 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 75418, + "id": 75448, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16027:5:172", + "referencedDeclaration": 75439, + "src": "16027:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75419, + "id": 75449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16033:5:172", + "memberLocation": "16033:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "16027:11:172", + "referencedDeclaration": 77238, + "src": "16027:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "16013:25:172", + "src": "16013:25:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75429, + "id": 75459, "nodeType": "IfStatement", - "src": "16009:101:172", + "src": "16009:101:173", "trueBody": { - "id": 75428, + "id": 75458, "nodeType": "Block", - "src": "16040:70:172", + "src": "16040:70:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75422, + "id": 75452, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "16075:3:172", + "src": "16075:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75423, + "id": 75453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16079:6:172", + "memberLocation": "16079:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "16075:10:172", + "src": "16075:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12171,27 +12171,27 @@ }, { "expression": { - "id": 75424, + "id": 75454, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16087:5:172", + "referencedDeclaration": 75439, + "src": "16087:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75425, + "id": 75455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16093:5:172", + "memberLocation": "16093:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "16087:11:172", + "referencedDeclaration": 77238, + "src": "16087:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12209,18 +12209,18 @@ "typeString": "address" } ], - "id": 75421, + "id": 75451, "name": "NotOrderOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74833, - "src": "16061:13:172", + "referencedDeclaration": 74863, + "src": "16061:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 75426, + "id": 75456, "isConstant": false, "isLValue": false, "isPure": false, @@ -12229,34 +12229,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16061:38:172", + "src": "16061:38:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75427, + "id": 75457, "nodeType": "RevertStatement", - "src": "16054:45:172" + "src": "16054:45:173" } ] } }, { "assignments": [ - 75431 + 75461 ], "declarations": [ { "constant": false, - "id": 75431, + "id": 75461, "mutability": "mutable", "name": "orderHash", - "nameLocation": "16127:9:172", + "nameLocation": "16127:9:173", "nodeType": "VariableDeclaration", - "scope": 75460, - "src": "16119:17:172", + "scope": 75490, + "src": "16119:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12264,10 +12264,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75430, + "id": 75460, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16119:7:172", + "src": "16119:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12276,39 +12276,39 @@ "visibility": "internal" } ], - "id": 75435, + "id": 75465, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 75432, + "id": 75462, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16139:5:172", + "referencedDeclaration": 75439, + "src": "16139:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75433, + "id": 75463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16145:4:172", + "memberLocation": "16145:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "16139:10:172", + "referencedDeclaration": 78164, + "src": "16139:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 75434, + "id": 75464, "isConstant": false, "isLValue": false, "isPure": false, @@ -12317,7 +12317,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16139:12:172", + "src": "16139:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -12325,7 +12325,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "16119:32:172" + "src": "16119:32:173" }, { "condition": { @@ -12333,32 +12333,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75440, + "id": 75470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75436, + "id": 75466, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "16165:7:172", + "referencedDeclaration": 75049, + "src": "16165:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75438, + "id": 75468, "indexExpression": { - "id": 75437, + "id": 75467, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75431, - "src": "16173:9:172", + "referencedDeclaration": 75461, + "src": "16173:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12369,7 +12369,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16165:18:172", + "src": "16165:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12378,45 +12378,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75439, + "id": 75469, "name": "ORDER_LIVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "16187:10:172", + "referencedDeclaration": 74893, + "src": "16187:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16165:32:172", + "src": "16165:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75459, + "id": 75489, "nodeType": "IfStatement", - "src": "16161:187:172", + "src": "16161:187:173", "trueBody": { - "id": 75458, + "id": 75488, "nodeType": "Block", - "src": "16199:149:172", + "src": "16199:149:173", "statements": [ { "expression": { - "id": 75443, + "id": 75473, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75441, + "id": 75471, "name": "stateChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75414, - "src": "16213:12:172", + "referencedDeclaration": 75444, + "src": "16213:12:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12426,58 +12426,58 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 75442, + "id": 75472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16228:4:172", + "src": "16228:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "16213:19:172", + "src": "16213:19:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75444, + "id": 75474, "nodeType": "ExpressionStatement", - "src": "16213:19:172" + "src": "16213:19:173" }, { "expression": { - "id": 75449, + "id": 75479, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 75445, + "id": 75475, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "16246:7:172", + "referencedDeclaration": 75049, + "src": "16246:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75447, + "id": 75477, "indexExpression": { - "id": 75446, + "id": 75476, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75431, - "src": "16254:9:172", + "referencedDeclaration": 75461, + "src": "16254:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12488,7 +12488,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16246:18:172", + "src": "16246:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12497,76 +12497,76 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 75448, + "id": 75478, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "16267:10:172", + "referencedDeclaration": 74897, + "src": "16267:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16246:31:172", + "src": "16246:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75450, + "id": 75480, "nodeType": "ExpressionStatement", - "src": "16246:31:172" + "src": "16246:31:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75452, + "id": 75482, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "16308:3:172", + "src": "16308:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75453, + "id": 75483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16312:6:172", + "memberLocation": "16312:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "16308:10:172", + "src": "16308:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75454, + "id": 75484, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75409, - "src": "16320:5:172", + "referencedDeclaration": 75439, + "src": "16320:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, { - "id": 75455, + "id": 75485, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75431, - "src": "16327:9:172", + "referencedDeclaration": 75461, + "src": "16327:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12580,7 +12580,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" }, { @@ -12588,18 +12588,18 @@ "typeString": "bytes32" } ], - "id": 75451, + "id": 75481, "name": "RemoveOrder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77644, - "src": "16296:11:172", + "referencedDeclaration": 77959, + "src": "16296:11:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_bytes32_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (address,struct Order memory,bytes32)" } }, - "id": 75456, + "id": 75486, "isConstant": false, "isLValue": false, "isPure": false, @@ -12608,16 +12608,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16296:41:172", + "src": "16296:41:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75457, + "id": 75487, "nodeType": "EmitStatement", - "src": "16291:46:172" + "src": "16291:46:173" } ] } @@ -12625,12 +12625,12 @@ ] }, "baseFunctions": [ - 77763 + 78078 ], "documentation": { - "id": 75406, + "id": 75436, "nodeType": "StructuredDocumentation", - "src": "15873:28:172", + "src": "15873:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "e23746a3", @@ -12638,81 +12638,81 @@ "kind": "function", "modifiers": [ { - "id": 75412, + "id": 75442, "kind": "modifierInvocation", "modifierName": { - "id": 75411, + "id": 75441, "name": "nonReentrant", "nameLocations": [ - "15958:12:172" + "15958:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "15958:12:172" + "src": "15958:12:173" }, "nodeType": "ModifierInvocation", - "src": "15958:12:172" + "src": "15958:12:173" } ], "name": "removeOrder", - "nameLocation": "15915:11:172", + "nameLocation": "15915:11:173", "parameters": { - "id": 75410, + "id": 75440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75409, + "id": 75439, "mutability": "mutable", "name": "order", - "nameLocation": "15942:5:172", + "nameLocation": "15942:5:173", "nodeType": "VariableDeclaration", - "scope": 75461, - "src": "15927:20:172", + "scope": 75491, + "src": "15927:20:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order" }, "typeName": { - "id": 75408, + "id": 75438, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75407, + "id": 75437, "name": "Order", "nameLocations": [ - "15927:5:172" + "15927:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "15927:5:172" + "referencedDeclaration": 77252, + "src": "15927:5:173" }, - "referencedDeclaration": 77222, - "src": "15927:5:172", + "referencedDeclaration": 77252, + "src": "15927:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, "visibility": "internal" } ], - "src": "15926:22:172" + "src": "15926:22:173" }, "returnParameters": { - "id": 75415, + "id": 75445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75414, + "id": 75444, "mutability": "mutable", "name": "stateChanged", - "nameLocation": "15985:12:172", + "nameLocation": "15985:12:173", "nodeType": "VariableDeclaration", - "scope": 75461, - "src": "15980:17:172", + "scope": 75491, + "src": "15980:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12720,10 +12720,10 @@ "typeString": "bool" }, "typeName": { - "id": 75413, + "id": 75443, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "15980:4:172", + "src": "15980:4:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12732,22 +12732,22 @@ "visibility": "internal" } ], - "src": "15979:19:172" + "src": "15979:19:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 76010, + "id": 76040, "nodeType": "FunctionDefinition", - "src": "16393:8257:172", + "src": "16393:8257:173", "nodes": [], "body": { - "id": 76009, + "id": 76039, "nodeType": "Block", - "src": "16559:8091:172", + "src": "16559:8091:173", "nodes": [], "statements": [ { @@ -12756,7 +12756,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75478, + "id": 75508, "isConstant": false, "isLValue": false, "isPure": false, @@ -12764,41 +12764,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75474, + "id": 75504, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16573:6:172", + "referencedDeclaration": 75495, + "src": "16573:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75475, + "id": 75505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16580:6:172", + "memberLocation": "16580:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "16573:13:172", + "referencedDeclaration": 77866, + "src": "16573:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75476, + "id": 75506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16587:6:172", + "memberLocation": "16587:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "16573:20:172", + "src": "16573:20:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12808,51 +12808,51 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75477, + "id": 75507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16597:1:172", + "src": "16597:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "16573:25:172", + "src": "16573:25:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75483, + "id": 75513, "nodeType": "IfStatement", - "src": "16569:73:172", + "src": "16569:73:173", "trueBody": { - "id": 75482, + "id": 75512, "nodeType": "Block", - "src": "16600:42:172", + "src": "16600:42:173", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 75479, + "id": 75509, "name": "NoOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77527, - "src": "16621:8:172", + "referencedDeclaration": 77842, + "src": "16621:8:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 75480, + "id": 75510, "isConstant": false, "isLValue": false, "isPure": false, @@ -12861,34 +12861,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16621:10:172", + "src": "16621:10:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75481, + "id": 75511, "nodeType": "RevertStatement", - "src": "16614:17:172" + "src": "16614:17:173" } ] } }, { "assignments": [ - 75485 + 75515 ], "declarations": [ { "constant": false, - "id": 75485, + "id": 75515, "mutability": "mutable", "name": "i", - "nameLocation": "16660:1:172", + "nameLocation": "16660:1:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16652:9:172", + "scope": 76039, + "src": "16652:9:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12896,10 +12896,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75484, + "id": 75514, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16652:7:172", + "src": "16652:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12908,17 +12908,17 @@ "visibility": "internal" } ], - "id": 75487, + "id": 75517, "initialValue": { "hexValue": "30", - "id": 75486, + "id": 75516, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16664:1:172", + "src": "16664:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -12926,116 +12926,116 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16652:13:172" + "src": "16652:13:173" }, { "assignments": [ - 75490 + 75520 ], "declarations": [ { "constant": false, - "id": 75490, + "id": 75520, "mutability": "mutable", "name": "takeOrderConfig", - "nameLocation": "16698:15:172", + "nameLocation": "16698:15:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16675:38:172", + "scope": 76039, + "src": "16675:38:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig" }, "typeName": { - "id": 75489, + "id": 75519, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75488, + "id": 75518, "name": "TakeOrderConfig", "nameLocations": [ - "16675:15:172" + "16675:15:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77249, - "src": "16675:15:172" + "referencedDeclaration": 77279, + "src": "16675:15:173" }, - "referencedDeclaration": 77249, - "src": "16675:15:172", + "referencedDeclaration": 77279, + "src": "16675:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_storage_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_storage_ptr", "typeString": "struct TakeOrderConfig" } }, "visibility": "internal" } ], - "id": 75491, + "id": 75521, "nodeType": "VariableDeclarationStatement", - "src": "16675:38:172" + "src": "16675:38:173" }, { "assignments": [ - 75494 + 75524 ], "declarations": [ { "constant": false, - "id": 75494, + "id": 75524, "mutability": "mutable", "name": "order", - "nameLocation": "16736:5:172", + "nameLocation": "16736:5:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16723:18:172", + "scope": 76039, + "src": "16723:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 75493, + "id": 75523, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75492, + "id": 75522, "name": "Order", "nameLocations": [ - "16723:5:172" + "16723:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "16723:5:172" + "referencedDeclaration": 77252, + "src": "16723:5:173" }, - "referencedDeclaration": 77222, - "src": "16723:5:172", + "referencedDeclaration": 77252, + "src": "16723:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, "visibility": "internal" } ], - "id": 75495, + "id": 75525, "nodeType": "VariableDeclarationStatement", - "src": "16723:18:172" + "src": "16723:18:173" }, { "assignments": [ - 75497 + 75527 ], "declarations": [ { "constant": false, - "id": 75497, + "id": 75527, "mutability": "mutable", "name": "remainingTakerInput", - "nameLocation": "16760:19:172", + "nameLocation": "16760:19:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "16752:27:172", + "scope": 76039, + "src": "16752:27:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13043,10 +13043,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75496, + "id": 75526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16752:7:172", + "src": "16752:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13055,60 +13055,60 @@ "visibility": "internal" } ], - "id": 75500, + "id": 75530, "initialValue": { "expression": { - "id": 75498, + "id": 75528, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16782:6:172", + "referencedDeclaration": 75495, + "src": "16782:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75499, + "id": 75529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16789:12:172", + "memberLocation": "16789:12:173", "memberName": "maximumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77545, - "src": "16782:19:172", + "referencedDeclaration": 77860, + "src": "16782:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "16752:49:172" + "src": "16752:49:173" }, { "body": { - "id": 75893, + "id": 75923, "nodeType": "Block", - "src": "16871:5715:172", + "src": "16871:5715:173", "statements": [ { "expression": { - "id": 75515, + "id": 75545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75510, + "id": 75540, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "16885:15:172", + "referencedDeclaration": 75520, + "src": "16885:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, @@ -13117,40 +13117,40 @@ "rightHandSide": { "baseExpression": { "expression": { - "id": 75511, + "id": 75541, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16903:6:172", + "referencedDeclaration": 75495, + "src": "16903:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75512, + "id": 75542, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16910:6:172", + "memberLocation": "16910:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "16903:13:172", + "referencedDeclaration": 77866, + "src": "16903:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75514, + "id": 75544, "indexExpression": { - "id": 75513, + "id": 75543, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75485, - "src": "16917:1:172", + "referencedDeclaration": 75515, + "src": "16917:1:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13161,38 +13161,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16903:16:172", + "src": "16903:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "src": "16885:34:172", + "src": "16885:34:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75516, + "id": 75546, "nodeType": "ExpressionStatement", - "src": "16885:34:172" + "src": "16885:34:173" }, { "expression": { - "id": 75520, + "id": 75550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75517, + "id": 75547, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "16933:5:172", + "referencedDeclaration": 75524, + "src": "16933:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, @@ -13200,41 +13200,41 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 75518, + "id": 75548, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "16941:15:172", + "referencedDeclaration": 75520, + "src": "16941:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75519, + "id": 75549, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "16957:5:172", + "memberLocation": "16957:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "16941:21:172", + "referencedDeclaration": 77270, + "src": "16941:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "src": "16933:29:172", + "src": "16933:29:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75521, + "id": 75551, "nodeType": "ExpressionStatement", - "src": "16933:29:172" + "src": "16933:29:173" }, { "condition": { @@ -13242,7 +13242,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 75541, + "id": 75571, "isConstant": false, "isLValue": false, "isPure": false, @@ -13251,56 +13251,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75522, + "id": 75552, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17052:5:172", + "referencedDeclaration": 75524, + "src": "17052:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75523, + "id": 75553, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17058:11:172", + "memberLocation": "17058:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17052:17:172", + "referencedDeclaration": 77247, + "src": "17052:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75526, + "id": 75556, "indexExpression": { "expression": { - "id": 75524, + "id": 75554, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17070:15:172", + "referencedDeclaration": 75520, + "src": "17070:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75525, + "id": 75555, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17086:12:172", + "memberLocation": "17086:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17070:28:172", + "referencedDeclaration": 77272, + "src": "17070:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13311,22 +13311,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17052:47:172", + "src": "17052:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75527, + "id": 75557, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17100:5:172", + "memberLocation": "17100:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17052:53:172", + "referencedDeclaration": 77217, + "src": "17052:53:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13341,43 +13341,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75528, + "id": 75558, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17129:6:172", + "referencedDeclaration": 75495, + "src": "17129:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75529, + "id": 75559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17136:6:172", + "memberLocation": "17136:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17129:13:172", + "referencedDeclaration": 77866, + "src": "17129:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75531, + "id": 75561, "indexExpression": { "hexValue": "30", - "id": 75530, + "id": 75560, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17143:1:172", + "src": "17143:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13389,84 +13389,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17129:16:172", + "src": "17129:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75532, + "id": 75562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17146:5:172", + "memberLocation": "17146:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17129:22:172", + "referencedDeclaration": 77270, + "src": "17129:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75533, + "id": 75563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17152:11:172", + "memberLocation": "17152:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17129:34:172", + "referencedDeclaration": 77247, + "src": "17129:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75539, + "id": 75569, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75534, + "id": 75564, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17164:6:172", + "referencedDeclaration": 75495, + "src": "17164:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75535, + "id": 75565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17171:6:172", + "memberLocation": "17171:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17164:13:172", + "referencedDeclaration": 77866, + "src": "17164:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75537, + "id": 75567, "indexExpression": { "hexValue": "30", - "id": 75536, + "id": 75566, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17178:1:172", + "src": "17178:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13478,22 +13478,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17164:16:172", + "src": "17164:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75538, + "id": 75568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17181:12:172", + "memberLocation": "17181:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17164:29:172", + "referencedDeclaration": 77272, + "src": "17164:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13504,40 +13504,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17129:65:172", + "src": "17129:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75540, + "id": 75570, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17195:5:172", + "memberLocation": "17195:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17129:71:172", + "referencedDeclaration": 77217, + "src": "17129:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17052:148:172", + "src": "17052:148:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75565, + "id": 75595, "nodeType": "IfStatement", - "src": "17031:423:172", + "src": "17031:423:173", "trueBody": { - "id": 75564, + "id": 75594, "nodeType": "Block", - "src": "17215:239:172", + "src": "17215:239:173", "statements": [ { "errorCall": { @@ -13546,56 +13546,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75543, + "id": 75573, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17275:5:172", + "referencedDeclaration": 75524, + "src": "17275:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75544, + "id": 75574, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17281:11:172", + "memberLocation": "17281:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17275:17:172", + "referencedDeclaration": 77247, + "src": "17275:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75547, + "id": 75577, "indexExpression": { "expression": { - "id": 75545, + "id": 75575, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17293:15:172", + "referencedDeclaration": 75520, + "src": "17293:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75546, + "id": 75576, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17309:12:172", + "memberLocation": "17309:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17293:28:172", + "referencedDeclaration": 77272, + "src": "17293:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13606,22 +13606,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17275:47:172", + "src": "17275:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75548, + "id": 75578, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17323:5:172", + "memberLocation": "17323:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17275:53:172", + "referencedDeclaration": 77217, + "src": "17275:53:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13634,43 +13634,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75549, + "id": 75579, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17350:6:172", + "referencedDeclaration": 75495, + "src": "17350:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75550, + "id": 75580, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17357:6:172", + "memberLocation": "17357:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17350:13:172", + "referencedDeclaration": 77866, + "src": "17350:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75552, + "id": 75582, "indexExpression": { "hexValue": "30", - "id": 75551, + "id": 75581, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17364:1:172", + "src": "17364:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13682,84 +13682,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17350:16:172", + "src": "17350:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75553, + "id": 75583, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17367:5:172", + "memberLocation": "17367:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17350:22:172", + "referencedDeclaration": 77270, + "src": "17350:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75554, + "id": 75584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17373:11:172", + "memberLocation": "17373:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17350:34:172", + "referencedDeclaration": 77247, + "src": "17350:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75560, + "id": 75590, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75555, + "id": 75585, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17385:6:172", + "referencedDeclaration": 75495, + "src": "17385:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75556, + "id": 75586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17392:6:172", + "memberLocation": "17392:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17385:13:172", + "referencedDeclaration": 77866, + "src": "17385:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75558, + "id": 75588, "indexExpression": { "hexValue": "30", - "id": 75557, + "id": 75587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17399:1:172", + "src": "17399:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -13771,22 +13771,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17385:16:172", + "src": "17385:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75559, + "id": 75589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17402:12:172", + "memberLocation": "17402:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "17385:29:172", + "referencedDeclaration": 77272, + "src": "17385:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13797,22 +13797,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17350:65:172", + "src": "17350:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75561, + "id": 75591, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17416:5:172", + "memberLocation": "17416:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17350:71:172", + "referencedDeclaration": 77217, + "src": "17350:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13830,18 +13830,18 @@ "typeString": "address" } ], - "id": 75542, + "id": 75572, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "17240:13:172", + "referencedDeclaration": 74870, + "src": "17240:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 75562, + "id": 75592, "isConstant": false, "isLValue": false, "isPure": false, @@ -13850,16 +13850,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "17240:199:172", + "src": "17240:199:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75563, + "id": 75593, "nodeType": "RevertStatement", - "src": "17233:206:172" + "src": "17233:206:173" } ] } @@ -13870,7 +13870,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 75585, + "id": 75615, "isConstant": false, "isLValue": false, "isPure": false, @@ -13879,56 +13879,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75566, + "id": 75596, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17544:5:172", + "referencedDeclaration": 75524, + "src": "17544:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75567, + "id": 75597, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17550:12:172", + "memberLocation": "17550:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17544:18:172", + "referencedDeclaration": 77251, + "src": "17544:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75570, + "id": 75600, "indexExpression": { "expression": { - "id": 75568, + "id": 75598, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17563:15:172", + "referencedDeclaration": 75520, + "src": "17563:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75569, + "id": 75599, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17579:13:172", + "memberLocation": "17579:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17563:29:172", + "referencedDeclaration": 77274, + "src": "17563:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13939,22 +13939,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17544:49:172", + "src": "17544:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75571, + "id": 75601, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17594:5:172", + "memberLocation": "17594:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17544:55:172", + "referencedDeclaration": 77217, + "src": "17544:55:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13969,43 +13969,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75572, + "id": 75602, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17623:6:172", + "referencedDeclaration": 75495, + "src": "17623:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75573, + "id": 75603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17630:6:172", + "memberLocation": "17630:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17623:13:172", + "referencedDeclaration": 77866, + "src": "17623:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75575, + "id": 75605, "indexExpression": { "hexValue": "30", - "id": 75574, + "id": 75604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17637:1:172", + "src": "17637:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14017,84 +14017,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17623:16:172", + "src": "17623:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75576, + "id": 75606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17640:5:172", + "memberLocation": "17640:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17623:22:172", + "referencedDeclaration": 77270, + "src": "17623:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75577, + "id": 75607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17646:12:172", + "memberLocation": "17646:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17623:35:172", + "referencedDeclaration": 77251, + "src": "17623:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75583, + "id": 75613, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75578, + "id": 75608, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17659:6:172", + "referencedDeclaration": 75495, + "src": "17659:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75579, + "id": 75609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17666:6:172", + "memberLocation": "17666:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17659:13:172", + "referencedDeclaration": 77866, + "src": "17659:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75581, + "id": 75611, "indexExpression": { "hexValue": "30", - "id": 75580, + "id": 75610, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17673:1:172", + "src": "17673:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14106,22 +14106,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17659:16:172", + "src": "17659:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75582, + "id": 75612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17676:13:172", + "memberLocation": "17676:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17659:30:172", + "referencedDeclaration": 77274, + "src": "17659:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14132,40 +14132,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17623:67:172", + "src": "17623:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75584, + "id": 75614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17691:5:172", + "memberLocation": "17691:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17623:73:172", + "referencedDeclaration": 77217, + "src": "17623:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17544:152:172", + "src": "17544:152:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75609, + "id": 75639, "nodeType": "IfStatement", - "src": "17523:431:172", + "src": "17523:431:173", "trueBody": { - "id": 75608, + "id": 75638, "nodeType": "Block", - "src": "17711:243:172", + "src": "17711:243:173", "statements": [ { "errorCall": { @@ -14174,56 +14174,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75587, + "id": 75617, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "17771:5:172", + "referencedDeclaration": 75524, + "src": "17771:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75588, + "id": 75618, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17777:12:172", + "memberLocation": "17777:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17771:18:172", + "referencedDeclaration": 77251, + "src": "17771:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75591, + "id": 75621, "indexExpression": { "expression": { - "id": 75589, + "id": 75619, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "17790:15:172", + "referencedDeclaration": 75520, + "src": "17790:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75590, + "id": 75620, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17806:13:172", + "memberLocation": "17806:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17790:29:172", + "referencedDeclaration": 77274, + "src": "17790:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14234,22 +14234,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17771:49:172", + "src": "17771:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75592, + "id": 75622, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "17821:5:172", + "memberLocation": "17821:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17771:55:172", + "referencedDeclaration": 77217, + "src": "17771:55:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14262,43 +14262,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75593, + "id": 75623, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17848:6:172", + "referencedDeclaration": 75495, + "src": "17848:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75594, + "id": 75624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17855:6:172", + "memberLocation": "17855:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17848:13:172", + "referencedDeclaration": 77866, + "src": "17848:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75596, + "id": 75626, "indexExpression": { "hexValue": "30", - "id": 75595, + "id": 75625, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17862:1:172", + "src": "17862:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14310,84 +14310,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17848:16:172", + "src": "17848:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75597, + "id": 75627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17865:5:172", + "memberLocation": "17865:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "17848:22:172", + "referencedDeclaration": 77270, + "src": "17848:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75598, + "id": 75628, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17871:12:172", + "memberLocation": "17871:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "17848:35:172", + "referencedDeclaration": 77251, + "src": "17848:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75604, + "id": 75634, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75599, + "id": 75629, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "17884:6:172", + "referencedDeclaration": 75495, + "src": "17884:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75600, + "id": 75630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17891:6:172", + "memberLocation": "17891:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "17884:13:172", + "referencedDeclaration": 77866, + "src": "17884:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75602, + "id": 75632, "indexExpression": { "hexValue": "30", - "id": 75601, + "id": 75631, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17898:1:172", + "src": "17898:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14399,22 +14399,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17884:16:172", + "src": "17884:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75603, + "id": 75633, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17901:13:172", + "memberLocation": "17901:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "17884:30:172", + "referencedDeclaration": 77274, + "src": "17884:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14425,22 +14425,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17848:67:172", + "src": "17848:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75605, + "id": 75635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "17916:5:172", + "memberLocation": "17916:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "17848:73:172", + "referencedDeclaration": 77217, + "src": "17848:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14458,18 +14458,18 @@ "typeString": "address" } ], - "id": 75586, + "id": 75616, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "17736:13:172", + "referencedDeclaration": 74870, + "src": "17736:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 75606, + "id": 75636, "isConstant": false, "isLValue": false, "isPure": false, @@ -14478,16 +14478,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "17736:203:172", + "src": "17736:203:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75607, + "id": 75637, "nodeType": "RevertStatement", - "src": "17729:210:172" + "src": "17729:210:173" } ] } @@ -14498,7 +14498,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 75629, + "id": 75659, "isConstant": false, "isLValue": false, "isPure": false, @@ -14507,56 +14507,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75610, + "id": 75640, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18052:5:172", + "referencedDeclaration": 75524, + "src": "18052:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75611, + "id": 75641, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18058:11:172", + "memberLocation": "18058:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18052:17:172", + "referencedDeclaration": 77247, + "src": "18052:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75614, + "id": 75644, "indexExpression": { "expression": { - "id": 75612, + "id": 75642, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18070:15:172", + "referencedDeclaration": 75520, + "src": "18070:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75613, + "id": 75643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18086:12:172", + "memberLocation": "18086:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18070:28:172", + "referencedDeclaration": 77272, + "src": "18070:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14567,22 +14567,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18052:47:172", + "src": "18052:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75615, + "id": 75645, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18100:8:172", + "memberLocation": "18100:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18052:56:172", + "referencedDeclaration": 77219, + "src": "18052:56:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14597,43 +14597,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75616, + "id": 75646, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18132:6:172", + "referencedDeclaration": 75495, + "src": "18132:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75617, + "id": 75647, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18139:6:172", + "memberLocation": "18139:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18132:13:172", + "referencedDeclaration": 77866, + "src": "18132:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75619, + "id": 75649, "indexExpression": { "hexValue": "30", - "id": 75618, + "id": 75648, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18146:1:172", + "src": "18146:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14645,84 +14645,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18132:16:172", + "src": "18132:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75620, + "id": 75650, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18149:5:172", + "memberLocation": "18149:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18132:22:172", + "referencedDeclaration": 77270, + "src": "18132:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75621, + "id": 75651, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18155:11:172", + "memberLocation": "18155:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18132:34:172", + "referencedDeclaration": 77247, + "src": "18132:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75627, + "id": 75657, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75622, + "id": 75652, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18167:6:172", + "referencedDeclaration": 75495, + "src": "18167:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75623, + "id": 75653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18174:6:172", + "memberLocation": "18174:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18167:13:172", + "referencedDeclaration": 77866, + "src": "18167:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75625, + "id": 75655, "indexExpression": { "hexValue": "30", - "id": 75624, + "id": 75654, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18181:1:172", + "src": "18181:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14734,22 +14734,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18167:16:172", + "src": "18167:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75626, + "id": 75656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18184:12:172", + "memberLocation": "18184:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18167:29:172", + "referencedDeclaration": 77272, + "src": "18167:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14760,40 +14760,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18132:65:172", + "src": "18132:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75628, + "id": 75658, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18198:8:172", + "memberLocation": "18198:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18132:74:172", + "referencedDeclaration": 77219, + "src": "18132:74:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "18052:154:172", + "src": "18052:154:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75653, + "id": 75683, "nodeType": "IfStatement", - "src": "18031:443:172", + "src": "18031:443:173", "trueBody": { - "id": 75652, + "id": 75682, "nodeType": "Block", - "src": "18221:253:172", + "src": "18221:253:173", "statements": [ { "errorCall": { @@ -14802,56 +14802,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75631, + "id": 75661, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18289:5:172", + "referencedDeclaration": 75524, + "src": "18289:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75632, + "id": 75662, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18295:11:172", + "memberLocation": "18295:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18289:17:172", + "referencedDeclaration": 77247, + "src": "18289:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75635, + "id": 75665, "indexExpression": { "expression": { - "id": 75633, + "id": 75663, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18307:15:172", + "referencedDeclaration": 75520, + "src": "18307:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75634, + "id": 75664, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18323:12:172", + "memberLocation": "18323:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18307:28:172", + "referencedDeclaration": 77272, + "src": "18307:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14862,22 +14862,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18289:47:172", + "src": "18289:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75636, + "id": 75666, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18337:8:172", + "memberLocation": "18337:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18289:56:172", + "referencedDeclaration": 77219, + "src": "18289:56:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14890,43 +14890,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75637, + "id": 75667, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18367:6:172", + "referencedDeclaration": 75495, + "src": "18367:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75638, + "id": 75668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18374:6:172", + "memberLocation": "18374:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18367:13:172", + "referencedDeclaration": 77866, + "src": "18367:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75640, + "id": 75670, "indexExpression": { "hexValue": "30", - "id": 75639, + "id": 75669, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18381:1:172", + "src": "18381:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14938,84 +14938,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18367:16:172", + "src": "18367:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75641, + "id": 75671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18384:5:172", + "memberLocation": "18384:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18367:22:172", + "referencedDeclaration": 77270, + "src": "18367:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75642, + "id": 75672, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18390:11:172", + "memberLocation": "18390:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "18367:34:172", + "referencedDeclaration": 77247, + "src": "18367:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75648, + "id": 75678, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75643, + "id": 75673, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18402:6:172", + "referencedDeclaration": 75495, + "src": "18402:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75644, + "id": 75674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18409:6:172", + "memberLocation": "18409:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18402:13:172", + "referencedDeclaration": 77866, + "src": "18402:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75646, + "id": 75676, "indexExpression": { "hexValue": "30", - "id": 75645, + "id": 75675, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18416:1:172", + "src": "18416:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15027,22 +15027,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18402:16:172", + "src": "18402:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75647, + "id": 75677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18419:12:172", + "memberLocation": "18419:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "18402:29:172", + "referencedDeclaration": 77272, + "src": "18402:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15053,22 +15053,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18367:65:172", + "src": "18367:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75649, + "id": 75679, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18433:8:172", + "memberLocation": "18433:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18367:74:172", + "referencedDeclaration": 77219, + "src": "18367:74:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15086,18 +15086,18 @@ "typeString": "uint8" } ], - "id": 75630, + "id": 75660, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "18246:21:172", + "referencedDeclaration": 74877, + "src": "18246:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 75650, + "id": 75680, "isConstant": false, "isLValue": false, "isPure": false, @@ -15106,16 +15106,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "18246:213:172", + "src": "18246:213:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75651, + "id": 75681, "nodeType": "RevertStatement", - "src": "18239:220:172" + "src": "18239:220:173" } ] } @@ -15126,7 +15126,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 75673, + "id": 75703, "isConstant": false, "isLValue": false, "isPure": false, @@ -15135,56 +15135,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75654, + "id": 75684, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18573:5:172", + "referencedDeclaration": 75524, + "src": "18573:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75655, + "id": 75685, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18579:12:172", + "memberLocation": "18579:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18573:18:172", + "referencedDeclaration": 77251, + "src": "18573:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75658, + "id": 75688, "indexExpression": { "expression": { - "id": 75656, + "id": 75686, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18592:15:172", + "referencedDeclaration": 75520, + "src": "18592:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75657, + "id": 75687, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18608:13:172", + "memberLocation": "18608:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18592:29:172", + "referencedDeclaration": 77274, + "src": "18592:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15195,22 +15195,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18573:49:172", + "src": "18573:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75659, + "id": 75689, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18623:8:172", + "memberLocation": "18623:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18573:58:172", + "referencedDeclaration": 77219, + "src": "18573:58:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15225,43 +15225,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75660, + "id": 75690, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18655:6:172", + "referencedDeclaration": 75495, + "src": "18655:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75661, + "id": 75691, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18662:6:172", + "memberLocation": "18662:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18655:13:172", + "referencedDeclaration": 77866, + "src": "18655:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75663, + "id": 75693, "indexExpression": { "hexValue": "30", - "id": 75662, + "id": 75692, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18669:1:172", + "src": "18669:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15273,84 +15273,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18655:16:172", + "src": "18655:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75664, + "id": 75694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18672:5:172", + "memberLocation": "18672:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18655:22:172", + "referencedDeclaration": 77270, + "src": "18655:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75665, + "id": 75695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18678:12:172", + "memberLocation": "18678:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18655:35:172", + "referencedDeclaration": 77251, + "src": "18655:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75671, + "id": 75701, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75666, + "id": 75696, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18691:6:172", + "referencedDeclaration": 75495, + "src": "18691:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75667, + "id": 75697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18698:6:172", + "memberLocation": "18698:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18691:13:172", + "referencedDeclaration": 77866, + "src": "18691:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75669, + "id": 75699, "indexExpression": { "hexValue": "30", - "id": 75668, + "id": 75698, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18705:1:172", + "src": "18705:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15362,22 +15362,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18691:16:172", + "src": "18691:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75670, + "id": 75700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18708:13:172", + "memberLocation": "18708:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18691:30:172", + "referencedDeclaration": 77274, + "src": "18691:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15388,40 +15388,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18655:67:172", + "src": "18655:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75672, + "id": 75702, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18723:8:172", + "memberLocation": "18723:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18655:76:172", + "referencedDeclaration": 77219, + "src": "18655:76:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "18573:158:172", + "src": "18573:158:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75697, + "id": 75727, "nodeType": "IfStatement", - "src": "18552:451:172", + "src": "18552:451:173", "trueBody": { - "id": 75696, + "id": 75726, "nodeType": "Block", - "src": "18746:257:172", + "src": "18746:257:173", "statements": [ { "errorCall": { @@ -15430,56 +15430,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75675, + "id": 75705, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "18814:5:172", + "referencedDeclaration": 75524, + "src": "18814:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75676, + "id": 75706, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18820:12:172", + "memberLocation": "18820:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18814:18:172", + "referencedDeclaration": 77251, + "src": "18814:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75679, + "id": 75709, "indexExpression": { "expression": { - "id": 75677, + "id": 75707, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "18833:15:172", + "referencedDeclaration": 75520, + "src": "18833:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75678, + "id": 75708, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18849:13:172", + "memberLocation": "18849:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18833:29:172", + "referencedDeclaration": 77274, + "src": "18833:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15490,22 +15490,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18814:49:172", + "src": "18814:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75680, + "id": 75710, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "18864:8:172", + "memberLocation": "18864:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18814:58:172", + "referencedDeclaration": 77219, + "src": "18814:58:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15518,43 +15518,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75681, + "id": 75711, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18894:6:172", + "referencedDeclaration": 75495, + "src": "18894:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75682, + "id": 75712, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18901:6:172", + "memberLocation": "18901:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18894:13:172", + "referencedDeclaration": 77866, + "src": "18894:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75684, + "id": 75714, "indexExpression": { "hexValue": "30", - "id": 75683, + "id": 75713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18908:1:172", + "src": "18908:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15566,84 +15566,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18894:16:172", + "src": "18894:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75685, + "id": 75715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18911:5:172", + "memberLocation": "18911:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "18894:22:172", + "referencedDeclaration": 77270, + "src": "18894:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75686, + "id": 75716, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18917:12:172", + "memberLocation": "18917:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "18894:35:172", + "referencedDeclaration": 77251, + "src": "18894:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75692, + "id": 75722, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75687, + "id": 75717, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "18930:6:172", + "referencedDeclaration": 75495, + "src": "18930:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75688, + "id": 75718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18937:6:172", + "memberLocation": "18937:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "18930:13:172", + "referencedDeclaration": 77866, + "src": "18930:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75690, + "id": 75720, "indexExpression": { "hexValue": "30", - "id": 75689, + "id": 75719, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18944:1:172", + "src": "18944:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15655,22 +15655,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18930:16:172", + "src": "18930:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75691, + "id": 75721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18947:13:172", + "memberLocation": "18947:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "18930:30:172", + "referencedDeclaration": 77274, + "src": "18930:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15681,22 +15681,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "18894:67:172", + "src": "18894:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75693, + "id": 75723, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "18962:8:172", + "memberLocation": "18962:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "18894:76:172", + "referencedDeclaration": 77219, + "src": "18894:76:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15714,18 +15714,18 @@ "typeString": "uint8" } ], - "id": 75674, + "id": 75704, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "18771:21:172", + "referencedDeclaration": 74877, + "src": "18771:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 75694, + "id": 75724, "isConstant": false, "isLValue": false, "isPure": false, @@ -15734,34 +15734,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "18771:217:172", + "src": "18771:217:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75695, + "id": 75725, "nodeType": "RevertStatement", - "src": "18764:224:172" + "src": "18764:224:173" } ] } }, { "assignments": [ - 75699 + 75729 ], "declarations": [ { "constant": false, - "id": 75699, + "id": 75729, "mutability": "mutable", "name": "orderHash", - "nameLocation": "19025:9:172", + "nameLocation": "19025:9:173", "nodeType": "VariableDeclaration", - "scope": 75893, - "src": "19017:17:172", + "scope": 75923, + "src": "19017:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15769,10 +15769,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 75698, + "id": 75728, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19017:7:172", + "src": "19017:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15781,39 +15781,39 @@ "visibility": "internal" } ], - "id": 75703, + "id": 75733, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 75700, + "id": 75730, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19037:5:172", + "referencedDeclaration": 75524, + "src": "19037:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75701, + "id": 75731, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19043:4:172", + "memberLocation": "19043:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "19037:10:172", + "referencedDeclaration": 78164, + "src": "19037:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 75702, + "id": 75732, "isConstant": false, "isLValue": false, "isPure": false, @@ -15822,7 +15822,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19037:12:172", + "src": "19037:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -15830,7 +15830,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "19017:32:172" + "src": "19017:32:173" }, { "condition": { @@ -15838,32 +15838,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75708, + "id": 75738, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 75704, + "id": 75734, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "19067:7:172", + "referencedDeclaration": 75049, + "src": "19067:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 75706, + "id": 75736, "indexExpression": { - "id": 75705, + "id": 75735, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "19075:9:172", + "referencedDeclaration": 75729, + "src": "19075:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15874,7 +15874,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19067:18:172", + "src": "19067:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15883,109 +15883,109 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 75707, + "id": 75737, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "19089:10:172", + "referencedDeclaration": 74897, + "src": "19089:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "19067:32:172", + "src": "19067:32:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 75887, + "id": 75917, "nodeType": "Block", - "src": "19194:3322:172", + "src": "19194:3322:173", "statements": [ { "assignments": [ - 75720 + 75750 ], "declarations": [ { "constant": false, - "id": 75720, + "id": 75750, "mutability": "mutable", "name": "orderIOCalculation", - "nameLocation": "19238:18:172", + "nameLocation": "19238:18:173", "nodeType": "VariableDeclaration", - "scope": 75887, - "src": "19212:44:172", + "scope": 75917, + "src": "19212:44:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 75719, + "id": 75749, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75718, + "id": 75748, "name": "OrderIOCalculation", "nameLocations": [ - "19212:18:172" + "19212:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "19212:18:172" + "referencedDeclaration": 75005, + "src": "19212:18:173" }, - "referencedDeclaration": 74975, - "src": "19212:18:172", + "referencedDeclaration": 75005, + "src": "19212:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "id": 75732, + "id": 75762, "initialValue": { "arguments": [ { - "id": 75722, + "id": 75752, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19297:5:172", + "referencedDeclaration": 75524, + "src": "19297:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 75723, + "id": 75753, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "19324:15:172", + "referencedDeclaration": 75520, + "src": "19324:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75724, + "id": 75754, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19340:12:172", + "memberLocation": "19340:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "19324:28:172", + "referencedDeclaration": 77272, + "src": "19324:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15993,27 +15993,27 @@ }, { "expression": { - "id": 75725, + "id": 75755, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "19374:15:172", + "referencedDeclaration": 75520, + "src": "19374:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75726, + "id": 75756, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19390:13:172", + "memberLocation": "19390:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "19374:29:172", + "referencedDeclaration": 77274, + "src": "19374:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16021,26 +16021,26 @@ }, { "expression": { - "id": 75727, + "id": 75757, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "19425:3:172", + "src": "19425:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75728, + "id": 75758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19429:6:172", + "memberLocation": "19429:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "19425:10:172", + "src": "19425:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16048,27 +16048,27 @@ }, { "expression": { - "id": 75729, + "id": 75759, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "19457:15:172", + "referencedDeclaration": 75520, + "src": "19457:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75730, + "id": 75760, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19473:13:172", + "memberLocation": "19473:13:173", "memberName": "signedContext", "nodeType": "MemberAccess", - "referencedDeclaration": 77248, - "src": "19457:29:172", + "referencedDeclaration": 77278, + "src": "19457:29:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -16078,7 +16078,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -16098,18 +16098,18 @@ "typeString": "struct SignedContextV1 memory[] memory" } ], - "id": 75721, + "id": 75751, "name": "calculateOrderIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76653, - "src": "19259:16:172", + "referencedDeclaration": 76683, + "src": "19259:16:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" } }, - "id": 75731, + "id": 75761, "isConstant": false, "isLValue": false, "isPure": false, @@ -16118,15 +16118,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19259:245:172", + "src": "19259:245:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "19212:292:172" + "src": "19212:292:173" }, { "condition": { @@ -16134,34 +16134,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75737, + "id": 75767, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 75733, + "id": 75763, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "19854:18:172", + "referencedDeclaration": 75750, + "src": "19854:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75734, + "id": 75764, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19873:7:172", + "memberLocation": "19873:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "19854:26:172", + "referencedDeclaration": 74994, + "src": "19854:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16171,33 +16171,33 @@ "operator": ">", "rightExpression": { "expression": { - "id": 75735, + "id": 75765, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "19883:6:172", + "referencedDeclaration": 75495, + "src": "19883:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75736, + "id": 75766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19890:14:172", + "memberLocation": "19890:14:173", "memberName": "maximumIORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 77547, - "src": "19883:21:172", + "referencedDeclaration": 77862, + "src": "19883:21:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "19854:50:172", + "src": "19854:50:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16209,7 +16209,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75753, + "id": 75783, "isConstant": false, "isLValue": false, "isPure": false, @@ -16218,29 +16218,29 @@ "arguments": [ { "expression": { - "id": 75749, + "id": 75779, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "20040:18:172", + "referencedDeclaration": 75750, + "src": "20040:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75750, + "id": 75780, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20059:9:172", + "memberLocation": "20059:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "20040:28:172", + "referencedDeclaration": 74992, + "src": "20040:28:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -16248,37 +16248,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 75747, + "id": 75777, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "20018:14:172", + "referencedDeclaration": 75007, + "src": "20018:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75748, + "id": 75778, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20033:6:172", + "memberLocation": "20033:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "20018:21:172", + "src": "20018:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 75751, + "id": 75781, "isConstant": false, "isLValue": false, "isPure": false, @@ -16287,7 +16287,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20018:51:172", + "src": "20018:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16298,45 +16298,45 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 75752, + "id": 75782, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20073:1:172", + "src": "20073:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "20018:56:172", + "src": "20018:56:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 75884, + "id": 75914, "nodeType": "Block", - "src": "20179:2323:172", + "src": "20179:2323:173", "statements": [ { "assignments": [ - 75764 + 75794 ], "declarations": [ { "constant": false, - "id": 75764, + "id": 75794, "mutability": "mutable", "name": "takerInputDecimals", - "nameLocation": "20207:18:172", + "nameLocation": "20207:18:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "20201:24:172", + "scope": 75914, + "src": "20201:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16344,10 +16344,10 @@ "typeString": "uint8" }, "typeName": { - "id": 75763, + "id": 75793, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "20201:5:172", + "src": "20201:5:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16356,61 +16356,61 @@ "visibility": "internal" } ], - "id": 75771, + "id": 75801, "initialValue": { "expression": { "baseExpression": { "expression": { - "id": 75765, + "id": 75795, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "20228:5:172", + "referencedDeclaration": 75524, + "src": "20228:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75766, + "id": 75796, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20234:12:172", + "memberLocation": "20234:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "20228:18:172", + "referencedDeclaration": 77251, + "src": "20228:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75769, + "id": 75799, "indexExpression": { "expression": { - "id": 75767, + "id": 75797, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "20247:15:172", + "referencedDeclaration": 75520, + "src": "20247:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75768, + "id": 75798, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20263:13:172", + "memberLocation": "20263:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "20247:29:172", + "referencedDeclaration": 77274, + "src": "20247:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16421,103 +16421,103 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20228:49:172", + "src": "20228:49:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75770, + "id": 75800, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20278:8:172", + "memberLocation": "20278:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "20228:58:172", + "referencedDeclaration": 77219, + "src": "20228:58:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "20201:85:172" + "src": "20201:85:173" }, { "assignments": [ - 75774 + 75804 ], "declarations": [ { "constant": false, - "id": 75774, + "id": 75804, "mutability": "mutable", "name": "takerInput18", - "nameLocation": "20397:12:172", + "nameLocation": "20397:12:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "20383:26:172", + "scope": 75914, + "src": "20383:26:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 75773, + "id": 75803, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75772, + "id": 75802, "name": "Input18Amount", "nameLocations": [ - "20383:13:172" + "20383:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "20383:13:172" + "referencedDeclaration": 75009, + "src": "20383:13:173" }, - "referencedDeclaration": 74979, - "src": "20383:13:172", + "referencedDeclaration": 75009, + "src": "20383:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 75783, + "id": 75813, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 75779, + "id": 75809, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "20453:18:172", + "referencedDeclaration": 75750, + "src": "20453:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75780, + "id": 75810, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20472:9:172", + "memberLocation": "20472:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "20453:28:172", + "referencedDeclaration": 74992, + "src": "20453:28:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -16525,37 +16525,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 75777, + "id": 75807, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "20431:14:172", + "referencedDeclaration": 75007, + "src": "20431:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75778, + "id": 75808, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20446:6:172", + "memberLocation": "20446:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "20431:21:172", + "src": "20431:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 75781, + "id": 75811, "isConstant": false, "isLValue": false, "isPure": false, @@ -16564,7 +16564,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20431:51:172", + "src": "20431:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16580,32 +16580,32 @@ } ], "expression": { - "id": 75775, + "id": 75805, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "20412:13:172", + "referencedDeclaration": 75009, + "src": "20412:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75776, + "id": 75806, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20426:4:172", + "memberLocation": "20426:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "20412:18:172", + "src": "20412:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 75782, + "id": 75812, "isConstant": false, "isLValue": false, "isPure": false, @@ -16614,88 +16614,88 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20412:71:172", + "src": "20412:71:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "20383:100:172" + "src": "20383:100:173" }, { - "id": 75811, + "id": 75841, "nodeType": "Block", - "src": "20784:506:172", + "src": "20784:506:173", "statements": [ { "assignments": [ - 75786 + 75816 ], "declarations": [ { "constant": false, - "id": 75786, + "id": 75816, "mutability": "mutable", "name": "remainingTakerInput18", - "nameLocation": "20929:21:172", + "nameLocation": "20929:21:173", "nodeType": "VariableDeclaration", - "scope": 75811, - "src": "20915:35:172", + "scope": 75841, + "src": "20915:35:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 75785, + "id": 75815, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75784, + "id": 75814, "name": "Input18Amount", "nameLocations": [ - "20915:13:172" + "20915:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "20915:13:172" + "referencedDeclaration": 75009, + "src": "20915:13:173" }, - "referencedDeclaration": 74979, - "src": "20915:13:172", + "referencedDeclaration": 75009, + "src": "20915:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 75795, + "id": 75825, "initialValue": { "arguments": [ { "arguments": [ { - "id": 75791, + "id": 75821, "name": "takerInputDecimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75764, - "src": "21028:18:172", + "referencedDeclaration": 75794, + "src": "21028:18:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 75792, + "id": 75822, "name": "FLAG_SATURATE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71249, - "src": "21048:13:172", + "referencedDeclaration": 71279, + "src": "21048:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16714,33 +16714,33 @@ } ], "expression": { - "id": 75789, + "id": 75819, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "21000:19:172", + "referencedDeclaration": 75527, + "src": "21000:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75790, + "id": 75820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21020:7:172", + "memberLocation": "21020:7:173", "memberName": "scale18", "nodeType": "MemberAccess", - "referencedDeclaration": 71561, - "src": "21000:27:172", + "referencedDeclaration": 71591, + "src": "21000:27:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 75793, + "id": 75823, "isConstant": false, "isLValue": false, "isPure": false, @@ -16749,7 +16749,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21000:62:172", + "src": "21000:62:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16765,32 +16765,32 @@ } ], "expression": { - "id": 75787, + "id": 75817, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "20981:13:172", + "referencedDeclaration": 75009, + "src": "20981:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75788, + "id": 75818, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "20995:4:172", + "memberLocation": "20995:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "20981:18:172", + "src": "20981:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 75794, + "id": 75824, "isConstant": false, "isLValue": false, "isPure": false, @@ -16799,15 +16799,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20981:82:172", + "src": "20981:82:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "20915:148:172" + "src": "20915:148:173" }, { "condition": { @@ -16815,7 +16815,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75804, + "id": 75834, "isConstant": false, "isLValue": false, "isPure": false, @@ -16823,14 +16823,14 @@ "leftExpression": { "arguments": [ { - "id": 75798, + "id": 75828, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "21114:12:172", + "referencedDeclaration": 75804, + "src": "21114:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -16838,37 +16838,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75796, + "id": 75826, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "21093:13:172", + "referencedDeclaration": 75009, + "src": "21093:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75797, + "id": 75827, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21107:6:172", + "memberLocation": "21107:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21093:20:172", + "src": "21093:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75799, + "id": 75829, "isConstant": false, "isLValue": false, "isPure": false, @@ -16877,7 +16877,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21093:34:172", + "src": "21093:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16889,14 +16889,14 @@ "rightExpression": { "arguments": [ { - "id": 75802, + "id": 75832, "name": "remainingTakerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75786, - "src": "21151:21:172", + "referencedDeclaration": 75816, + "src": "21151:21:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -16904,37 +16904,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75800, + "id": 75830, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "21130:13:172", + "referencedDeclaration": 75009, + "src": "21130:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75801, + "id": 75831, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21144:6:172", + "memberLocation": "21144:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21130:20:172", + "src": "21130:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75803, + "id": 75833, "isConstant": false, "isLValue": false, "isPure": false, @@ -16943,69 +16943,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21130:43:172", + "src": "21130:43:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21093:80:172", + "src": "21093:80:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75810, + "id": 75840, "nodeType": "IfStatement", - "src": "21089:179:172", + "src": "21089:179:173", "trueBody": { - "id": 75809, + "id": 75839, "nodeType": "Block", - "src": "21175:93:172", + "src": "21175:93:173", "statements": [ { "expression": { - "id": 75807, + "id": 75837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75805, + "id": 75835, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "21205:12:172", + "referencedDeclaration": 75804, + "src": "21205:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 75806, + "id": 75836, "name": "remainingTakerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75786, - "src": "21220:21:172", + "referencedDeclaration": 75816, + "src": "21220:21:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, - "src": "21205:36:172", + "src": "21205:36:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, - "id": 75808, + "id": 75838, "nodeType": "ExpressionStatement", - "src": "21205:36:172" + "src": "21205:36:173" } ] } @@ -17014,18 +17014,18 @@ }, { "assignments": [ - 75813 + 75843 ], "declarations": [ { "constant": false, - "id": 75813, + "id": 75843, "mutability": "mutable", "name": "takerOutput", - "nameLocation": "21320:11:172", + "nameLocation": "21320:11:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "21312:19:172", + "scope": 75914, + "src": "21312:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17033,10 +17033,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75812, + "id": 75842, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "21312:7:172", + "src": "21312:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17045,86 +17045,86 @@ "visibility": "internal" } ], - "id": 75814, + "id": 75844, "nodeType": "VariableDeclarationStatement", - "src": "21312:19:172" + "src": "21312:19:173" }, { - "id": 75849, + "id": 75879, "nodeType": "Block", - "src": "21353:724:172", + "src": "21353:724:173", "statements": [ { "assignments": [ - 75817 + 75847 ], "declarations": [ { "constant": false, - "id": 75817, + "id": 75847, "mutability": "mutable", "name": "takerOutput18", - "nameLocation": "21477:13:172", + "nameLocation": "21477:13:173", "nodeType": "VariableDeclaration", - "scope": 75849, - "src": "21462:28:172", + "scope": 75879, + "src": "21462:28:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 75816, + "id": 75846, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75815, + "id": 75845, "name": "Output18Amount", "nameLocations": [ - "21462:14:172" + "21462:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "21462:14:172" + "referencedDeclaration": 75007, + "src": "21462:14:173" }, - "referencedDeclaration": 74977, - "src": "21462:14:172", + "referencedDeclaration": 75007, + "src": "21462:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 75832, + "id": 75862, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 75825, + "id": 75855, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "21744:18:172", + "referencedDeclaration": 75750, + "src": "21744:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 75826, + "id": 75856, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "21763:7:172", + "memberLocation": "21763:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "21744:26:172", + "referencedDeclaration": 74994, + "src": "21744:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17133,42 +17133,42 @@ { "expression": { "expression": { - "id": 75827, + "id": 75857, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "21772:4:172", + "src": "21772:4:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", "typeString": "type(library Math)" } }, - "id": 75828, + "id": 75858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21777:8:172", + "memberLocation": "21777:8:173", "memberName": "Rounding", "nodeType": "MemberAccess", "referencedDeclaration": 45957, - "src": "21772:13:172", + "src": "21772:13:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 75829, + "id": 75859, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21786:2:172", + "memberLocation": "21786:2:173", "memberName": "Up", "nodeType": "MemberAccess", "referencedDeclaration": 45955, - "src": "21772:16:172", + "src": "21772:16:173", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$45957", "typeString": "enum Math.Rounding" @@ -17189,14 +17189,14 @@ "expression": { "arguments": [ { - "id": 75822, + "id": 75852, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "21683:12:172", + "referencedDeclaration": 75804, + "src": "21683:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -17204,37 +17204,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75820, + "id": 75850, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "21662:13:172", + "referencedDeclaration": 75009, + "src": "21662:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75821, + "id": 75851, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21676:6:172", + "memberLocation": "21676:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21662:20:172", + "src": "21662:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75823, + "id": 75853, "isConstant": false, "isLValue": false, "isPure": false, @@ -17243,29 +17243,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21662:34:172", + "src": "21662:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75824, + "id": 75854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21697:13:172", + "memberLocation": "21697:13:173", "memberName": "fixedPointMul", "nodeType": "MemberAccess", - "referencedDeclaration": 71288, - "src": "21662:48:172", + "referencedDeclaration": 71318, + "src": "21662:48:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" } }, - "id": 75830, + "id": 75860, "isConstant": false, "isLValue": false, "isPure": false, @@ -17274,7 +17274,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21662:156:172", + "src": "21662:156:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17290,32 +17290,32 @@ } ], "expression": { - "id": 75818, + "id": 75848, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "21493:14:172", + "referencedDeclaration": 75007, + "src": "21493:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75819, + "id": 75849, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21508:4:172", + "memberLocation": "21508:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "21493:19:172", + "src": "21493:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 75831, + "id": 75861, "isConstant": false, "isLValue": false, "isPure": false, @@ -17324,30 +17324,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21493:351:172", + "src": "21493:351:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "21462:382:172" + "src": "21462:382:173" }, { "expression": { - "id": 75847, + "id": 75877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75833, + "id": 75863, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "21870:11:172", + "referencedDeclaration": 75843, + "src": "21870:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17361,56 +17361,56 @@ "expression": { "baseExpression": { "expression": { - "id": 75839, + "id": 75869, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "21957:5:172", + "referencedDeclaration": 75524, + "src": "21957:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75840, + "id": 75870, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "21963:11:172", + "memberLocation": "21963:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "21957:17:172", + "referencedDeclaration": 77247, + "src": "21957:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 75843, + "id": 75873, "indexExpression": { "expression": { - "id": 75841, + "id": 75871, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "21975:15:172", + "referencedDeclaration": 75520, + "src": "21975:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, - "id": 75842, + "id": 75872, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "21991:12:172", + "memberLocation": "21991:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "21975:28:172", + "referencedDeclaration": 77272, + "src": "21975:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17421,34 +17421,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21957:47:172", + "src": "21957:47:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 75844, + "id": 75874, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "22005:8:172", + "memberLocation": "22005:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "21957:56:172", + "referencedDeclaration": 77219, + "src": "21957:56:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 75845, + "id": 75875, "name": "FLAG_ROUND_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71243, - "src": "22015:13:172", + "referencedDeclaration": 71273, + "src": "22015:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17469,14 +17469,14 @@ "expression": { "arguments": [ { - "id": 75836, + "id": 75866, "name": "takerOutput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75817, - "src": "21906:13:172", + "referencedDeclaration": 75847, + "src": "21906:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -17484,37 +17484,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 75834, + "id": 75864, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "21884:14:172", + "referencedDeclaration": 75007, + "src": "21884:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 75835, + "id": 75865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "21899:6:172", + "memberLocation": "21899:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "21884:21:172", + "src": "21884:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 75837, + "id": 75867, "isConstant": false, "isLValue": false, "isPure": false, @@ -17523,29 +17523,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21884:36:172", + "src": "21884:36:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75838, + "id": 75868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "21921:6:172", + "memberLocation": "21921:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "21884:43:172", + "referencedDeclaration": 71666, + "src": "21884:43:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 75846, + "id": 75876, "isConstant": false, "isLValue": false, "isPure": false, @@ -17554,39 +17554,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21884:170:172", + "src": "21884:170:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "21870:184:172", + "src": "21870:184:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75848, + "id": 75878, "nodeType": "ExpressionStatement", - "src": "21870:184:172" + "src": "21870:184:173" } ] }, { "assignments": [ - 75851 + 75881 ], "declarations": [ { "constant": false, - "id": 75851, + "id": 75881, "mutability": "mutable", "name": "takerInput", - "nameLocation": "22107:10:172", + "nameLocation": "22107:10:173", "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "22099:18:172", + "scope": 75914, + "src": "22099:18:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17594,10 +17594,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75850, + "id": 75880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22099:7:172", + "src": "22099:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17606,28 +17606,28 @@ "visibility": "internal" } ], - "id": 75860, + "id": 75890, "initialValue": { "arguments": [ { - "id": 75857, + "id": 75887, "name": "takerInputDecimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75764, - "src": "22162:18:172", + "referencedDeclaration": 75794, + "src": "22162:18:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 75858, + "id": 75888, "name": "FLAG_SATURATE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71249, - "src": "22182:13:172", + "referencedDeclaration": 71279, + "src": "22182:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17648,14 +17648,14 @@ "expression": { "arguments": [ { - "id": 75854, + "id": 75884, "name": "takerInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75774, - "src": "22141:12:172", + "referencedDeclaration": 75804, + "src": "22141:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -17663,37 +17663,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 75852, + "id": 75882, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "22120:13:172", + "referencedDeclaration": 75009, + "src": "22120:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 75853, + "id": 75883, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "22134:6:172", + "memberLocation": "22134:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "22120:20:172", + "src": "22120:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 75855, + "id": 75885, "isConstant": false, "isLValue": false, "isPure": false, @@ -17702,29 +17702,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22120:34:172", + "src": "22120:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75856, + "id": 75886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22155:6:172", + "memberLocation": "22155:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "22120:41:172", + "referencedDeclaration": 71666, + "src": "22120:41:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 75859, + "id": 75889, "isConstant": false, "isLValue": false, "isPure": false, @@ -17733,7 +17733,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22120:76:172", + "src": "22120:76:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17741,22 +17741,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "22099:97:172" + "src": "22099:97:173" }, { "expression": { - "id": 75863, + "id": 75893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75861, + "id": 75891, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "22219:19:172", + "referencedDeclaration": 75527, + "src": "22219:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17765,41 +17765,41 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 75862, + "id": 75892, "name": "takerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75851, - "src": "22242:10:172", + "referencedDeclaration": 75881, + "src": "22242:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22219:33:172", + "src": "22219:33:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75864, + "id": 75894, "nodeType": "ExpressionStatement", - "src": "22219:33:172" + "src": "22219:33:173" }, { "expression": { - "id": 75867, + "id": 75897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75865, + "id": 75895, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "22274:16:172", + "referencedDeclaration": 75502, + "src": "22274:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17808,75 +17808,75 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 75866, + "id": 75896, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "22294:11:172", + "referencedDeclaration": 75843, + "src": "22294:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22274:31:172", + "src": "22274:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75868, + "id": 75898, "nodeType": "ExpressionStatement", - "src": "22274:31:172" + "src": "22274:31:173" }, { "expression": { "arguments": [ { - "id": 75870, + "id": 75900, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "22342:5:172", + "referencedDeclaration": 75524, + "src": "22342:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 75871, + "id": 75901, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "22349:11:172", + "referencedDeclaration": 75843, + "src": "22349:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75872, + "id": 75902, "name": "takerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75851, - "src": "22362:10:172", + "referencedDeclaration": 75881, + "src": "22362:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75873, + "id": 75903, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75720, - "src": "22374:18:172", + "referencedDeclaration": 75750, + "src": "22374:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -17884,7 +17884,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -17896,22 +17896,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 75869, + "id": 75899, "name": "recordVaultIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76830, - "src": "22328:13:172", + "referencedDeclaration": 76860, + "src": "22328:13:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" } }, - "id": 75874, + "id": 75904, "isConstant": false, "isLValue": false, "isPure": false, @@ -17920,78 +17920,78 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22328:65:172", + "src": "22328:65:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75875, + "id": 75905, "nodeType": "ExpressionStatement", - "src": "22328:65:172" + "src": "22328:65:173" }, { "eventCall": { "arguments": [ { "expression": { - "id": 75877, + "id": 75907, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "22430:3:172", + "src": "22430:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75878, + "id": 75908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22434:6:172", + "memberLocation": "22434:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "22430:10:172", + "src": "22430:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75879, + "id": 75909, "name": "takeOrderConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75490, - "src": "22442:15:172", + "referencedDeclaration": 75520, + "src": "22442:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" } }, { - "id": 75880, + "id": 75910, "name": "takerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75851, - "src": "22459:10:172", + "referencedDeclaration": 75881, + "src": "22459:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75881, + "id": 75911, "name": "takerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75813, - "src": "22471:11:172", + "referencedDeclaration": 75843, + "src": "22471:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18005,7 +18005,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_memory_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", "typeString": "struct TakeOrderConfig memory" }, { @@ -18017,18 +18017,18 @@ "typeString": "uint256" } ], - "id": 75876, + "id": 75906, "name": "TakeOrder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77656, - "src": "22420:9:172", + "referencedDeclaration": 77971, + "src": "22420:9:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77249_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77279_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" } }, - "id": 75882, + "id": 75912, "isConstant": false, "isLValue": false, "isPure": false, @@ -18037,52 +18037,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22420:63:172", + "src": "22420:63:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75883, + "id": 75913, "nodeType": "EmitStatement", - "src": "22415:68:172" + "src": "22415:68:173" } ] }, - "id": 75885, + "id": 75915, "nodeType": "IfStatement", - "src": "20014:2488:172", + "src": "20014:2488:173", "trueBody": { - "id": 75762, + "id": 75792, "nodeType": "Block", - "src": "20076:97:172", + "src": "20076:97:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 75755, + "id": 75785, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "20119:3:172", + "src": "20119:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75756, + "id": 75786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "20123:6:172", + "memberLocation": "20123:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "20119:10:172", + "src": "20119:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18090,39 +18090,39 @@ }, { "expression": { - "id": 75757, + "id": 75787, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "20131:5:172", + "referencedDeclaration": 75524, + "src": "20131:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75758, + "id": 75788, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "20137:5:172", + "memberLocation": "20137:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "20131:11:172", + "referencedDeclaration": 77238, + "src": "20131:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75759, + "id": 75789, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "20144:9:172", + "referencedDeclaration": 75729, + "src": "20144:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18144,18 +18144,18 @@ "typeString": "bytes32" } ], - "id": 75754, + "id": 75784, "name": "OrderZeroAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77674, - "src": "20103:15:172", + "referencedDeclaration": 77989, + "src": "20103:15:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 75760, + "id": 75790, "isConstant": false, "isLValue": false, "isPure": false, @@ -18164,53 +18164,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "20103:51:172", + "src": "20103:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75761, + "id": 75791, "nodeType": "EmitStatement", - "src": "20098:56:172" + "src": "20098:56:173" } ] } }, - "id": 75886, + "id": 75916, "nodeType": "IfStatement", - "src": "19850:2652:172", + "src": "19850:2652:173", "trueBody": { - "id": 75746, + "id": 75776, "nodeType": "Block", - "src": "19906:102:172", + "src": "19906:102:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 75739, + "id": 75769, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "19954:3:172", + "src": "19954:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75740, + "id": 75770, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19958:6:172", + "memberLocation": "19958:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "19954:10:172", + "src": "19954:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18218,39 +18218,39 @@ }, { "expression": { - "id": 75741, + "id": 75771, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19966:5:172", + "referencedDeclaration": 75524, + "src": "19966:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75742, + "id": 75772, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19972:5:172", + "memberLocation": "19972:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "19966:11:172", + "referencedDeclaration": 77238, + "src": "19966:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75743, + "id": 75773, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "19979:9:172", + "referencedDeclaration": 75729, + "src": "19979:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18272,18 +18272,18 @@ "typeString": "bytes32" } ], - "id": 75738, + "id": 75768, "name": "OrderExceedsMaxRatio", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77683, - "src": "19933:20:172", + "referencedDeclaration": 77998, + "src": "19933:20:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 75744, + "id": 75774, "isConstant": false, "isLValue": false, "isPure": false, @@ -18292,55 +18292,55 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19933:56:172", + "src": "19933:56:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75745, + "id": 75775, "nodeType": "EmitStatement", - "src": "19928:61:172" + "src": "19928:61:173" } ] } } ] }, - "id": 75888, + "id": 75918, "nodeType": "IfStatement", - "src": "19063:3453:172", + "src": "19063:3453:173", "trueBody": { - "id": 75717, + "id": 75747, "nodeType": "Block", - "src": "19101:87:172", + "src": "19101:87:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 75710, + "id": 75740, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "19138:3:172", + "src": "19138:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75711, + "id": 75741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "19142:6:172", + "memberLocation": "19142:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "19138:10:172", + "src": "19138:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18348,39 +18348,39 @@ }, { "expression": { - "id": 75712, + "id": 75742, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75494, - "src": "19150:5:172", + "referencedDeclaration": 75524, + "src": "19150:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 75713, + "id": 75743, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "19156:5:172", + "memberLocation": "19156:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "19150:11:172", + "referencedDeclaration": 77238, + "src": "19150:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75714, + "id": 75744, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75699, - "src": "19163:9:172", + "referencedDeclaration": 75729, + "src": "19163:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18402,18 +18402,18 @@ "typeString": "bytes32" } ], - "id": 75709, + "id": 75739, "name": "OrderNotFound", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77665, - "src": "19124:13:172", + "referencedDeclaration": 77980, + "src": "19124:13:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 75715, + "id": 75745, "isConstant": false, "isLValue": false, "isPure": false, @@ -18422,28 +18422,28 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19124:49:172", + "src": "19124:49:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75716, + "id": 75746, "nodeType": "EmitStatement", - "src": "19119:54:172" + "src": "19119:54:173" } ] } }, { - "id": 75892, + "id": 75922, "nodeType": "UncheckedBlock", - "src": "22530:46:172", + "src": "22530:46:173", "statements": [ { "expression": { - "id": 75890, + "id": 75920, "isConstant": false, "isLValue": false, "isPure": false, @@ -18451,14 +18451,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "22558:3:172", + "src": "22558:3:173", "subExpression": { - "id": 75889, + "id": 75919, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75485, - "src": "22558:1:172", + "referencedDeclaration": 75515, + "src": "22558:1:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18469,9 +18469,9 @@ "typeString": "uint256" } }, - "id": 75891, + "id": 75921, "nodeType": "ExpressionStatement", - "src": "22558:3:172" + "src": "22558:3:173" } ] } @@ -18482,7 +18482,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 75509, + "id": 75539, "isConstant": false, "isLValue": false, "isPure": false, @@ -18492,18 +18492,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75505, + "id": 75535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75501, + "id": 75531, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75485, - "src": "16818:1:172", + "referencedDeclaration": 75515, + "src": "16818:1:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18514,47 +18514,47 @@ "rightExpression": { "expression": { "expression": { - "id": 75502, + "id": 75532, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "16822:6:172", + "referencedDeclaration": 75495, + "src": "16822:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75503, + "id": 75533, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16829:6:172", + "memberLocation": "16829:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "16822:13:172", + "referencedDeclaration": 77866, + "src": "16822:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75504, + "id": 75534, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "16836:6:172", + "memberLocation": "16836:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "16822:20:172", + "src": "16822:20:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16818:24:172", + "src": "16818:24:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18567,18 +18567,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75508, + "id": 75538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75506, + "id": 75536, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "16846:19:172", + "referencedDeclaration": 75527, + "src": "16846:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18588,50 +18588,50 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75507, + "id": 75537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16868:1:172", + "src": "16868:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "16846:23:172", + "src": "16846:23:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16818:51:172", + "src": "16818:51:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75894, + "id": 75924, "nodeType": "WhileStatement", - "src": "16811:5775:172" + "src": "16811:5775:173" }, { "expression": { - "id": 75900, + "id": 75930, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 75895, + "id": 75925, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "22595:15:172", + "referencedDeclaration": 75500, + "src": "22595:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18644,34 +18644,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75899, + "id": 75929, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 75896, + "id": 75926, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "22613:6:172", + "referencedDeclaration": 75495, + "src": "22613:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75897, + "id": 75927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22620:12:172", + "memberLocation": "22620:12:173", "memberName": "maximumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77545, - "src": "22613:19:172", + "referencedDeclaration": 77860, + "src": "22613:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18680,32 +18680,32 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 75898, + "id": 75928, "name": "remainingTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75497, - "src": "22635:19:172", + "referencedDeclaration": 75527, + "src": "22635:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22613:41:172", + "src": "22613:41:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22595:59:172", + "src": "22595:59:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 75901, + "id": 75931, "nodeType": "ExpressionStatement", - "src": "22595:59:172" + "src": "22595:59:173" }, { "condition": { @@ -18713,18 +18713,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75905, + "id": 75935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75902, + "id": 75932, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "22669:15:172", + "referencedDeclaration": 75500, + "src": "22669:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18734,84 +18734,84 @@ "operator": "<", "rightExpression": { "expression": { - "id": 75903, + "id": 75933, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "22687:6:172", + "referencedDeclaration": 75495, + "src": "22687:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75904, + "id": 75934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22694:12:172", + "memberLocation": "22694:12:173", "memberName": "minimumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77543, - "src": "22687:19:172", + "referencedDeclaration": 77858, + "src": "22687:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22669:37:172", + "src": "22669:37:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75913, + "id": 75943, "nodeType": "IfStatement", - "src": "22665:125:172", + "src": "22665:125:173", "trueBody": { - "id": 75912, + "id": 75942, "nodeType": "Block", - "src": "22708:82:172", + "src": "22708:82:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 75907, + "id": 75937, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "22742:6:172", + "referencedDeclaration": 75495, + "src": "22742:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75908, + "id": 75938, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "22749:12:172", + "memberLocation": "22749:12:173", "memberName": "minimumInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77543, - "src": "22742:19:172", + "referencedDeclaration": 77858, + "src": "22742:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75909, + "id": 75939, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "22763:15:172", + "referencedDeclaration": 75500, + "src": "22763:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18829,18 +18829,18 @@ "typeString": "uint256" } ], - "id": 75906, + "id": 75936, "name": "MinimumInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74854, - "src": "22729:12:172", + "referencedDeclaration": 74884, + "src": "22729:12:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256) pure" } }, - "id": 75910, + "id": 75940, "isConstant": false, "isLValue": false, "isPure": false, @@ -18849,34 +18849,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22729:50:172", + "src": "22729:50:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75911, + "id": 75941, "nodeType": "RevertStatement", - "src": "22722:57:172" + "src": "22722:57:173" } ] } }, { "assignments": [ - 75915 + 75945 ], "declarations": [ { "constant": false, - "id": 75915, + "id": 75945, "mutability": "mutable", "name": "takerInputAmountSent", - "nameLocation": "23580:20:172", + "nameLocation": "23580:20:173", "nodeType": "VariableDeclaration", - "scope": 76009, - "src": "23572:28:172", + "scope": 76039, + "src": "23572:28:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18884,10 +18884,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75914, + "id": 75944, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23572:7:172", + "src": "23572:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18896,7 +18896,7 @@ "visibility": "internal" } ], - "id": 75934, + "id": 75964, "initialValue": { "arguments": [ { @@ -18906,43 +18906,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75917, + "id": 75947, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23648:6:172", + "referencedDeclaration": 75495, + "src": "23648:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75918, + "id": 75948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23655:6:172", + "memberLocation": "23655:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23648:13:172", + "referencedDeclaration": 77866, + "src": "23648:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75920, + "id": 75950, "indexExpression": { "hexValue": "30", - "id": 75919, + "id": 75949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23662:1:172", + "src": "23662:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -18954,84 +18954,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23648:16:172", + "src": "23648:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75921, + "id": 75951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23665:5:172", + "memberLocation": "23665:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "23648:22:172", + "referencedDeclaration": 77270, + "src": "23648:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75922, + "id": 75952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23671:12:172", + "memberLocation": "23671:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "23648:35:172", + "referencedDeclaration": 77251, + "src": "23648:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75928, + "id": 75958, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75923, + "id": 75953, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23684:6:172", + "referencedDeclaration": 75495, + "src": "23684:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75924, + "id": 75954, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23691:6:172", + "memberLocation": "23691:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23684:13:172", + "referencedDeclaration": 77866, + "src": "23684:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75926, + "id": 75956, "indexExpression": { "hexValue": "30", - "id": 75925, + "id": 75955, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23698:1:172", + "src": "23698:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19043,22 +19043,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23684:16:172", + "src": "23684:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75927, + "id": 75957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23701:13:172", + "memberLocation": "23701:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "23684:30:172", + "referencedDeclaration": 77274, + "src": "23684:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19069,22 +19069,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23648:67:172", + "src": "23648:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75929, + "id": 75959, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23716:5:172", + "memberLocation": "23716:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "23648:73:172", + "referencedDeclaration": 77217, + "src": "23648:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19092,38 +19092,38 @@ }, { "expression": { - "id": 75930, + "id": 75960, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "23723:3:172", + "src": "23723:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75931, + "id": 75961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23727:6:172", + "memberLocation": "23727:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "23723:10:172", + "src": "23723:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75932, + "id": 75962, "name": "totalTakerInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75470, - "src": "23735:15:172", + "referencedDeclaration": 75500, + "src": "23735:15:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19145,18 +19145,18 @@ "typeString": "uint256" } ], - "id": 75916, + "id": 75946, "name": "_decreaseFlashDebtThenSendToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74350, - "src": "23603:31:172", + "referencedDeclaration": 74380, + "src": "23603:31:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,address,uint256) returns (uint256)" } }, - "id": 75933, + "id": 75963, "isConstant": false, "isLValue": false, "isPure": false, @@ -19165,7 +19165,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "23603:157:172", + "src": "23603:157:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19173,7 +19173,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "23572:188:172" + "src": "23572:188:173" }, { "condition": { @@ -19181,7 +19181,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75939, + "id": 75969, "isConstant": false, "isLValue": false, "isPure": false, @@ -19189,41 +19189,41 @@ "leftExpression": { "expression": { "expression": { - "id": 75935, + "id": 75965, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23774:6:172", + "referencedDeclaration": 75495, + "src": "23774:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75936, + "id": 75966, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23781:4:172", + "memberLocation": "23781:4:173", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 77553, - "src": "23774:11:172", + "referencedDeclaration": 77868, + "src": "23774:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "id": 75937, + "id": 75967, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23786:6:172", + "memberLocation": "23786:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "23774:18:172", + "src": "23774:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19233,33 +19233,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75938, + "id": 75968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23795:1:172", + "src": "23795:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "23774:22:172", + "src": "23774:22:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 75978, + "id": 76008, "nodeType": "IfStatement", - "src": "23770:395:172", + "src": "23770:395:173", "trueBody": { - "id": 75977, + "id": 76007, "nodeType": "Block", - "src": "23798:367:172", + "src": "23798:367:173", "statements": [ { "expression": { @@ -19271,43 +19271,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75945, + "id": 75975, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23877:6:172", + "referencedDeclaration": 75495, + "src": "23877:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75946, + "id": 75976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23884:6:172", + "memberLocation": "23884:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23877:13:172", + "referencedDeclaration": 77866, + "src": "23877:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75948, + "id": 75978, "indexExpression": { "hexValue": "30", - "id": 75947, + "id": 75977, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23891:1:172", + "src": "23891:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19319,84 +19319,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23877:16:172", + "src": "23877:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75949, + "id": 75979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23894:5:172", + "memberLocation": "23894:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "23877:22:172", + "referencedDeclaration": 77270, + "src": "23877:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75950, + "id": 75980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23900:12:172", + "memberLocation": "23900:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "23877:35:172", + "referencedDeclaration": 77251, + "src": "23877:35:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75956, + "id": 75986, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75951, + "id": 75981, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23913:6:172", + "referencedDeclaration": 75495, + "src": "23913:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75952, + "id": 75982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23920:6:172", + "memberLocation": "23920:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23913:13:172", + "referencedDeclaration": 77866, + "src": "23913:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75954, + "id": 75984, "indexExpression": { "hexValue": "30", - "id": 75953, + "id": 75983, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23927:1:172", + "src": "23927:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19408,22 +19408,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23913:16:172", + "src": "23913:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75955, + "id": 75985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23930:13:172", + "memberLocation": "23930:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77244, - "src": "23913:30:172", + "referencedDeclaration": 77274, + "src": "23913:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19434,22 +19434,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23877:67:172", + "src": "23877:67:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75957, + "id": 75987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23945:5:172", + "memberLocation": "23945:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "23877:73:172", + "referencedDeclaration": 77217, + "src": "23877:73:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19462,43 +19462,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75958, + "id": 75988, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "23968:6:172", + "referencedDeclaration": 75495, + "src": "23968:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75959, + "id": 75989, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23975:6:172", + "memberLocation": "23975:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "23968:13:172", + "referencedDeclaration": 77866, + "src": "23968:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75961, + "id": 75991, "indexExpression": { "hexValue": "30", - "id": 75960, + "id": 75990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "23982:1:172", + "src": "23982:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19510,84 +19510,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23968:16:172", + "src": "23968:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75962, + "id": 75992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23985:5:172", + "memberLocation": "23985:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "23968:22:172", + "referencedDeclaration": 77270, + "src": "23968:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75963, + "id": 75993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23991:11:172", + "memberLocation": "23991:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23968:34:172", + "referencedDeclaration": 77247, + "src": "23968:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75969, + "id": 75999, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75964, + "id": 75994, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24003:6:172", + "referencedDeclaration": 75495, + "src": "24003:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75965, + "id": 75995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24010:6:172", + "memberLocation": "24010:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "24003:13:172", + "referencedDeclaration": 77866, + "src": "24003:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75967, + "id": 75997, "indexExpression": { "hexValue": "30", - "id": 75966, + "id": 75996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24017:1:172", + "src": "24017:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19599,22 +19599,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24003:16:172", + "src": "24003:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75968, + "id": 75998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24020:12:172", + "memberLocation": "24020:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "24003:29:172", + "referencedDeclaration": 77272, + "src": "24003:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19625,46 +19625,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23968:65:172", + "src": "23968:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75970, + "id": 76000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24034:5:172", + "memberLocation": "24034:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "23968:71:172", + "referencedDeclaration": 77217, + "src": "23968:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 75971, + "id": 76001, "name": "takerInputAmountSent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75915, - "src": "24057:20:172", + "referencedDeclaration": 75945, + "src": "24057:20:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 75972, + "id": 76002, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "24095:16:172", + "referencedDeclaration": 75502, + "src": "24095:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19672,27 +19672,27 @@ }, { "expression": { - "id": 75973, + "id": 76003, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24129:6:172", + "referencedDeclaration": 75495, + "src": "24129:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75974, + "id": 76004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24136:4:172", + "memberLocation": "24136:4:173", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 77553, - "src": "24129:11:172", + "referencedDeclaration": 77868, + "src": "24129:11:173", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -19726,26 +19726,26 @@ "arguments": [ { "expression": { - "id": 75941, + "id": 75971, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "23835:3:172", + "src": "23835:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75942, + "id": 75972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23839:6:172", + "memberLocation": "23839:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "23835:10:172", + "src": "23835:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19759,18 +19759,18 @@ "typeString": "address" } ], - "id": 75940, + "id": 75970, "name": "IOrderBookV3OrderTaker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77828, - "src": "23812:22:172", + "referencedDeclaration": 78143, + "src": "23812:22:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$77828_$", + "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$78143_$", "typeString": "type(contract IOrderBookV3OrderTaker)" } }, - "id": 75943, + "id": 75973, "isConstant": false, "isLValue": false, "isPure": false, @@ -19779,29 +19779,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "23812:34:172", + "src": "23812:34:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$77828", + "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$78143", "typeString": "contract IOrderBookV3OrderTaker" } }, - "id": 75944, + "id": 75974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "23847:12:172", + "memberLocation": "23847:12:173", "memberName": "onTakeOrders", "nodeType": "MemberAccess", - "referencedDeclaration": 77827, - "src": "23812:47:172", + "referencedDeclaration": 78142, + "src": "23812:47:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,uint256,bytes memory) external" } }, - "id": 75975, + "id": 76005, "isConstant": false, "isLValue": false, "isPure": false, @@ -19810,16 +19810,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "23812:342:172", + "src": "23812:342:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 75976, + "id": 76006, "nodeType": "ExpressionStatement", - "src": "23812:342:172" + "src": "23812:342:173" } ] } @@ -19830,18 +19830,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 75981, + "id": 76011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 75979, + "id": 76009, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "24179:16:172", + "referencedDeclaration": 75502, + "src": "24179:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19851,59 +19851,59 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 75980, + "id": 76010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24198:1:172", + "src": "24198:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "24179:20:172", + "src": "24179:20:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76008, + "id": 76038, "nodeType": "IfStatement", - "src": "24175:469:172", + "src": "24175:469:173", "trueBody": { - "id": 76007, + "id": 76037, "nodeType": "Block", - "src": "24201:443:172", + "src": "24201:443:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 75998, + "id": 76028, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "24576:3:172", + "src": "24576:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 75999, + "id": 76029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24580:6:172", + "memberLocation": "24580:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "24576:10:172", + "src": "24576:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19912,14 +19912,14 @@ { "arguments": [ { - "id": 76002, + "id": 76032, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "24596:4:172", + "src": "24596:4:173", "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } } @@ -19927,30 +19927,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_OrderBook_$77004", + "typeIdentifier": "t_contract$_OrderBook_$77034", "typeString": "contract OrderBook" } ], - "id": 76001, + "id": 76031, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "24588:7:172", + "src": "24588:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 76000, + "id": 76030, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24588:7:172", + "src": "24588:7:173", "typeDescriptions": {} } }, - "id": 76003, + "id": 76033, "isConstant": false, "isLValue": false, "isPure": false, @@ -19959,7 +19959,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24588:13:172", + "src": "24588:13:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -19967,12 +19967,12 @@ } }, { - "id": 76004, + "id": 76034, "name": "totalTakerOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75472, - "src": "24603:16:172", + "referencedDeclaration": 75502, + "src": "24603:16:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20003,43 +20003,43 @@ "expression": { "baseExpression": { "expression": { - "id": 75983, + "id": 76013, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24469:6:172", + "referencedDeclaration": 75495, + "src": "24469:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75984, + "id": 76014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24476:6:172", + "memberLocation": "24476:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "24469:13:172", + "referencedDeclaration": 77866, + "src": "24469:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75986, + "id": 76016, "indexExpression": { "hexValue": "30", - "id": 75985, + "id": 76015, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24483:1:172", + "src": "24483:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -20051,84 +20051,84 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24469:16:172", + "src": "24469:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75987, + "id": 76017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24486:5:172", + "memberLocation": "24486:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "24469:22:172", + "referencedDeclaration": 77270, + "src": "24469:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_calldata_ptr", + "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", "typeString": "struct Order calldata" } }, - "id": 75988, + "id": 76018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24492:11:172", + "memberLocation": "24492:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "24469:34:172", + "referencedDeclaration": 77247, + "src": "24469:34:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IO calldata[] calldata" } }, - "id": 75994, + "id": 76024, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 75989, + "id": 76019, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75465, - "src": "24504:6:172", + "referencedDeclaration": 75495, + "src": "24504:6:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2 calldata" } }, - "id": 75990, + "id": 76020, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24511:6:172", + "memberLocation": "24511:6:173", "memberName": "orders", "nodeType": "MemberAccess", - "referencedDeclaration": 77551, - "src": "24504:13:172", + "referencedDeclaration": 77866, + "src": "24504:13:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77249_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct TakeOrderConfig calldata[] calldata" } }, - "id": 75992, + "id": 76022, "indexExpression": { "hexValue": "30", - "id": 75991, + "id": 76021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24518:1:172", + "src": "24518:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -20140,22 +20140,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24504:16:172", + "src": "24504:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77249_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", "typeString": "struct TakeOrderConfig calldata" } }, - "id": 75993, + "id": 76023, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24521:12:172", + "memberLocation": "24521:12:173", "memberName": "inputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77242, - "src": "24504:29:172", + "referencedDeclaration": 77272, + "src": "24504:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20166,22 +20166,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24469:65:172", + "src": "24469:65:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_calldata_ptr", + "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", "typeString": "struct IO calldata" } }, - "id": 75995, + "id": 76025, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24535:5:172", + "memberLocation": "24535:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "24469:71:172", + "referencedDeclaration": 77217, + "src": "24469:71:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20195,18 +20195,18 @@ "typeString": "address" } ], - "id": 75982, + "id": 76012, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44376, - "src": "24462:6:172", + "src": "24462:6:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", "typeString": "type(contract IERC20)" } }, - "id": 75996, + "id": 76026, "isConstant": false, "isLValue": false, "isPure": false, @@ -20215,29 +20215,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24462:79:172", + "src": "24462:79:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$44376", "typeString": "contract IERC20" } }, - "id": 75997, + "id": 76027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "24542:16:172", + "memberLocation": "24542:16:173", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 44497, - "src": "24462:96:172", + "src": "24462:96:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 76005, + "id": 76035, "isConstant": false, "isLValue": false, "isPure": false, @@ -20246,16 +20246,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24462:171:172", + "src": "24462:171:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76006, + "id": 76036, "nodeType": "ExpressionStatement", - "src": "24462:171:172" + "src": "24462:171:173" } ] } @@ -20263,12 +20263,12 @@ ] }, "baseFunctions": [ - 77774 + 78089 ], "documentation": { - "id": 75462, + "id": 75492, "nodeType": "StructuredDocumentation", - "src": "16360:28:172", + "src": "16360:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "8a44689c", @@ -20276,81 +20276,81 @@ "kind": "function", "modifiers": [ { - "id": 75468, + "id": 75498, "kind": "modifierInvocation", "modifierName": { - "id": 75467, + "id": 75497, "name": "nonReentrant", "nameLocations": [ - "16474:12:172" + "16474:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "16474:12:172" + "src": "16474:12:173" }, "nodeType": "ModifierInvocation", - "src": "16474:12:172" + "src": "16474:12:173" } ], "name": "takeOrders", - "nameLocation": "16402:10:172", + "nameLocation": "16402:10:173", "parameters": { - "id": 75466, + "id": 75496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75465, + "id": 75495, "mutability": "mutable", "name": "config", - "nameLocation": "16441:6:172", + "nameLocation": "16441:6:173", "nodeType": "VariableDeclaration", - "scope": 76010, - "src": "16413:34:172", + "scope": 76040, + "src": "16413:34:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_calldata_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", "typeString": "struct TakeOrdersConfigV2" }, "typeName": { - "id": 75464, + "id": 75494, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 75463, + "id": 75493, "name": "TakeOrdersConfigV2", "nameLocations": [ - "16413:18:172" + "16413:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77554, - "src": "16413:18:172" + "referencedDeclaration": 77869, + "src": "16413:18:173" }, - "referencedDeclaration": 77554, - "src": "16413:18:172", + "referencedDeclaration": 77869, + "src": "16413:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77554_storage_ptr", + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_storage_ptr", "typeString": "struct TakeOrdersConfigV2" } }, "visibility": "internal" } ], - "src": "16412:36:172" + "src": "16412:36:173" }, "returnParameters": { - "id": 75473, + "id": 75503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75470, + "id": 75500, "mutability": "mutable", "name": "totalTakerInput", - "nameLocation": "16512:15:172", + "nameLocation": "16512:15:173", "nodeType": "VariableDeclaration", - "scope": 76010, - "src": "16504:23:172", + "scope": 76040, + "src": "16504:23:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20358,10 +20358,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75469, + "id": 75499, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16504:7:172", + "src": "16504:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20371,13 +20371,13 @@ }, { "constant": false, - "id": 75472, + "id": 75502, "mutability": "mutable", "name": "totalTakerOutput", - "nameLocation": "16537:16:172", + "nameLocation": "16537:16:173", "nodeType": "VariableDeclaration", - "scope": 76010, - "src": "16529:24:172", + "scope": 76040, + "src": "16529:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20385,10 +20385,10 @@ "typeString": "uint256" }, "typeName": { - "id": 75471, + "id": 75501, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16529:7:172", + "src": "16529:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20397,28 +20397,28 @@ "visibility": "internal" } ], - "src": "16503:51:172" + "src": "16503:51:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 76336, + "id": 76366, "nodeType": "FunctionDefinition", - "src": "24689:4247:172", + "src": "24689:4247:173", "nodes": [], "body": { - "id": 76335, + "id": 76365, "nodeType": "Block", - "src": "24932:4004:172", + "src": "24932:4004:173", "nodes": [], "statements": [ { - "id": 76213, + "id": 76243, "nodeType": "Block", - "src": "24942:2410:172", + "src": "24942:2410:173", "statements": [ { "condition": { @@ -20426,34 +20426,34 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 76037, + "id": 76067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76033, + "id": 76063, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "24960:5:172", + "referencedDeclaration": 76044, + "src": "24960:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76034, + "id": 76064, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "24966:5:172", + "memberLocation": "24966:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "24960:11:172", + "referencedDeclaration": 77238, + "src": "24960:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20463,72 +20463,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 76035, + "id": 76065, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "24975:3:172", + "referencedDeclaration": 76047, + "src": "24975:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76036, + "id": 76066, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "24979:5:172", + "memberLocation": "24979:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "24975:9:172", + "referencedDeclaration": 77238, + "src": "24975:9:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "24960:24:172", + "src": "24960:24:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76044, + "id": 76074, "nodeType": "IfStatement", - "src": "24956:92:172", + "src": "24956:92:173", "trueBody": { - "id": 76043, + "id": 76073, "nodeType": "Block", - "src": "24986:62:172", + "src": "24986:62:173", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 76039, + "id": 76069, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25021:5:172", + "referencedDeclaration": 76044, + "src": "25021:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76040, + "id": 76070, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25027:5:172", + "memberLocation": "25027:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "25021:11:172", + "referencedDeclaration": 77238, + "src": "25021:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20542,18 +20542,18 @@ "typeString": "address" } ], - "id": 76038, + "id": 76068, "name": "SameOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74859, - "src": "25011:9:172", + "referencedDeclaration": 74889, + "src": "25011:9:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 76041, + "id": 76071, "isConstant": false, "isLValue": false, "isPure": false, @@ -20562,16 +20562,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25011:22:172", + "src": "25011:22:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76042, + "id": 76072, "nodeType": "RevertStatement", - "src": "25004:29:172" + "src": "25004:29:173" } ] } @@ -20582,7 +20582,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 76057, + "id": 76087, "isConstant": false, "isLValue": false, "isPure": false, @@ -20591,56 +20591,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76045, + "id": 76075, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25082:5:172", + "referencedDeclaration": 76044, + "src": "25082:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76046, + "id": 76076, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25088:12:172", + "memberLocation": "25088:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25082:18:172", + "referencedDeclaration": 77251, + "src": "25082:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76049, + "id": 76079, "indexExpression": { "expression": { - "id": 76047, + "id": 76077, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25101:11:172", + "referencedDeclaration": 76050, + "src": "25101:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76048, + "id": 76078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25113:18:172", + "memberLocation": "25113:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25101:30:172", + "referencedDeclaration": 77283, + "src": "25101:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20651,22 +20651,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25082:50:172", + "src": "25082:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76050, + "id": 76080, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25133:5:172", + "memberLocation": "25133:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25082:56:172", + "referencedDeclaration": 77217, + "src": "25082:56:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20678,56 +20678,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76051, + "id": 76081, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25162:3:172", + "referencedDeclaration": 76047, + "src": "25162:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76052, + "id": 76082, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25166:11:172", + "memberLocation": "25166:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25162:15:172", + "referencedDeclaration": 77247, + "src": "25162:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76055, + "id": 76085, "indexExpression": { "expression": { - "id": 76053, + "id": 76083, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25178:11:172", + "referencedDeclaration": 76050, + "src": "25178:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76054, + "id": 76084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25190:15:172", + "memberLocation": "25190:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25178:27:172", + "referencedDeclaration": 77285, + "src": "25178:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20738,40 +20738,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25162:44:172", + "src": "25162:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76056, + "id": 76086, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25207:5:172", + "memberLocation": "25207:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25162:50:172", + "referencedDeclaration": 77217, + "src": "25162:50:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "25082:130:172", + "src": "25082:130:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76074, + "id": 76104, "nodeType": "IfStatement", - "src": "25061:387:172", + "src": "25061:387:173", "trueBody": { - "id": 76073, + "id": 76103, "nodeType": "Block", - "src": "25227:221:172", + "src": "25227:221:173", "statements": [ { "errorCall": { @@ -20780,56 +20780,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76059, + "id": 76089, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25287:5:172", + "referencedDeclaration": 76044, + "src": "25287:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76060, + "id": 76090, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25293:12:172", + "memberLocation": "25293:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25287:18:172", + "referencedDeclaration": 77251, + "src": "25287:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76063, + "id": 76093, "indexExpression": { "expression": { - "id": 76061, + "id": 76091, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25306:11:172", + "referencedDeclaration": 76050, + "src": "25306:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76062, + "id": 76092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25318:18:172", + "memberLocation": "25318:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25306:30:172", + "referencedDeclaration": 77283, + "src": "25306:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20840,22 +20840,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25287:50:172", + "src": "25287:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76064, + "id": 76094, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25338:5:172", + "memberLocation": "25338:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25287:56:172", + "referencedDeclaration": 77217, + "src": "25287:56:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20865,56 +20865,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76065, + "id": 76095, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25365:3:172", + "referencedDeclaration": 76047, + "src": "25365:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76066, + "id": 76096, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25369:11:172", + "memberLocation": "25369:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25365:15:172", + "referencedDeclaration": 77247, + "src": "25365:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76069, + "id": 76099, "indexExpression": { "expression": { - "id": 76067, + "id": 76097, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25381:11:172", + "referencedDeclaration": 76050, + "src": "25381:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76068, + "id": 76098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25393:15:172", + "memberLocation": "25393:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25381:27:172", + "referencedDeclaration": 77285, + "src": "25381:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20925,22 +20925,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25365:44:172", + "src": "25365:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76070, + "id": 76100, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25410:5:172", + "memberLocation": "25410:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25365:50:172", + "referencedDeclaration": 77217, + "src": "25365:50:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20958,18 +20958,18 @@ "typeString": "address" } ], - "id": 76058, + "id": 76088, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "25252:13:172", + "referencedDeclaration": 74870, + "src": "25252:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 76071, + "id": 76101, "isConstant": false, "isLValue": false, "isPure": false, @@ -20978,16 +20978,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25252:181:172", + "src": "25252:181:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76072, + "id": 76102, "nodeType": "RevertStatement", - "src": "25245:188:172" + "src": "25245:188:173" } ] } @@ -20998,7 +20998,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 76087, + "id": 76117, "isConstant": false, "isLValue": false, "isPure": false, @@ -21007,56 +21007,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76075, + "id": 76105, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25483:5:172", + "referencedDeclaration": 76044, + "src": "25483:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76076, + "id": 76106, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25489:12:172", + "memberLocation": "25489:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25483:18:172", + "referencedDeclaration": 77251, + "src": "25483:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76079, + "id": 76109, "indexExpression": { "expression": { - "id": 76077, + "id": 76107, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25502:11:172", + "referencedDeclaration": 76050, + "src": "25502:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76078, + "id": 76108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25514:18:172", + "memberLocation": "25514:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25502:30:172", + "referencedDeclaration": 77283, + "src": "25502:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21067,22 +21067,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25483:50:172", + "src": "25483:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76080, + "id": 76110, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25534:8:172", + "memberLocation": "25534:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25483:59:172", + "referencedDeclaration": 77219, + "src": "25483:59:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21094,56 +21094,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76081, + "id": 76111, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25566:3:172", + "referencedDeclaration": 76047, + "src": "25566:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76082, + "id": 76112, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25570:11:172", + "memberLocation": "25570:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25566:15:172", + "referencedDeclaration": 77247, + "src": "25566:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76085, + "id": 76115, "indexExpression": { "expression": { - "id": 76083, + "id": 76113, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25582:11:172", + "referencedDeclaration": 76050, + "src": "25582:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76084, + "id": 76114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25594:15:172", + "memberLocation": "25594:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25582:27:172", + "referencedDeclaration": 77285, + "src": "25582:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21154,40 +21154,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25566:44:172", + "src": "25566:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76086, + "id": 76116, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25611:8:172", + "memberLocation": "25611:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25566:53:172", + "referencedDeclaration": 77219, + "src": "25566:53:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "25483:136:172", + "src": "25483:136:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76104, + "id": 76134, "nodeType": "IfStatement", - "src": "25462:407:172", + "src": "25462:407:173", "trueBody": { - "id": 76103, + "id": 76133, "nodeType": "Block", - "src": "25634:235:172", + "src": "25634:235:173", "statements": [ { "errorCall": { @@ -21196,56 +21196,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76089, + "id": 76119, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25702:5:172", + "referencedDeclaration": 76044, + "src": "25702:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76090, + "id": 76120, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25708:12:172", + "memberLocation": "25708:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25702:18:172", + "referencedDeclaration": 77251, + "src": "25702:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76093, + "id": 76123, "indexExpression": { "expression": { - "id": 76091, + "id": 76121, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25721:11:172", + "referencedDeclaration": 76050, + "src": "25721:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76092, + "id": 76122, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25733:18:172", + "memberLocation": "25733:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "25721:30:172", + "referencedDeclaration": 77283, + "src": "25721:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21256,22 +21256,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25702:50:172", + "src": "25702:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76094, + "id": 76124, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25753:8:172", + "memberLocation": "25753:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25702:59:172", + "referencedDeclaration": 77219, + "src": "25702:59:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21281,56 +21281,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76095, + "id": 76125, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25783:3:172", + "referencedDeclaration": 76047, + "src": "25783:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76096, + "id": 76126, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25787:11:172", + "memberLocation": "25787:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25783:15:172", + "referencedDeclaration": 77247, + "src": "25783:15:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76099, + "id": 76129, "indexExpression": { "expression": { - "id": 76097, + "id": 76127, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25799:11:172", + "referencedDeclaration": 76050, + "src": "25799:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76098, + "id": 76128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25811:15:172", + "memberLocation": "25811:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "25799:27:172", + "referencedDeclaration": 77285, + "src": "25799:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21341,22 +21341,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25783:44:172", + "src": "25783:44:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76100, + "id": 76130, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25828:8:172", + "memberLocation": "25828:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "25783:53:172", + "referencedDeclaration": 77219, + "src": "25783:53:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21374,18 +21374,18 @@ "typeString": "uint8" } ], - "id": 76088, + "id": 76118, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "25659:21:172", + "referencedDeclaration": 74877, + "src": "25659:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 76101, + "id": 76131, "isConstant": false, "isLValue": false, "isPure": false, @@ -21394,16 +21394,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25659:195:172", + "src": "25659:195:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76102, + "id": 76132, "nodeType": "RevertStatement", - "src": "25652:202:172" + "src": "25652:202:173" } ] } @@ -21414,7 +21414,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 76117, + "id": 76147, "isConstant": false, "isLValue": false, "isPure": false, @@ -21423,56 +21423,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76105, + "id": 76135, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "25904:3:172", + "referencedDeclaration": 76047, + "src": "25904:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76106, + "id": 76136, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25908:12:172", + "memberLocation": "25908:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "25904:16:172", + "referencedDeclaration": 77251, + "src": "25904:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76109, + "id": 76139, "indexExpression": { "expression": { - "id": 76107, + "id": 76137, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25921:11:172", + "referencedDeclaration": 76050, + "src": "25921:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76108, + "id": 76138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25933:16:172", + "memberLocation": "25933:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "25921:28:172", + "referencedDeclaration": 77287, + "src": "25921:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21483,22 +21483,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25904:46:172", + "src": "25904:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76110, + "id": 76140, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25951:5:172", + "memberLocation": "25951:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25904:52:172", + "referencedDeclaration": 77217, + "src": "25904:52:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21510,56 +21510,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76111, + "id": 76141, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "25980:5:172", + "referencedDeclaration": 76044, + "src": "25980:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76112, + "id": 76142, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "25986:11:172", + "memberLocation": "25986:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25980:17:172", + "referencedDeclaration": 77247, + "src": "25980:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76115, + "id": 76145, "indexExpression": { "expression": { - "id": 76113, + "id": 76143, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "25998:11:172", + "referencedDeclaration": 76050, + "src": "25998:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76114, + "id": 76144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26010:17:172", + "memberLocation": "26010:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25998:29:172", + "referencedDeclaration": 77281, + "src": "25998:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21570,40 +21570,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25980:48:172", + "src": "25980:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76116, + "id": 76146, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26029:5:172", + "memberLocation": "26029:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "25980:54:172", + "referencedDeclaration": 77217, + "src": "25980:54:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "25904:130:172", + "src": "25904:130:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76134, + "id": 76164, "nodeType": "IfStatement", - "src": "25883:387:172", + "src": "25883:387:173", "trueBody": { - "id": 76133, + "id": 76163, "nodeType": "Block", - "src": "26049:221:172", + "src": "26049:221:173", "statements": [ { "errorCall": { @@ -21612,56 +21612,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76119, + "id": 76149, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26109:5:172", + "referencedDeclaration": 76044, + "src": "26109:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76120, + "id": 76150, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26115:11:172", + "memberLocation": "26115:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26109:17:172", + "referencedDeclaration": 77247, + "src": "26109:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76123, + "id": 76153, "indexExpression": { "expression": { - "id": 76121, + "id": 76151, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26127:11:172", + "referencedDeclaration": 76050, + "src": "26127:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76122, + "id": 76152, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26139:17:172", + "memberLocation": "26139:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26127:29:172", + "referencedDeclaration": 77281, + "src": "26127:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21672,22 +21672,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26109:48:172", + "src": "26109:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76124, + "id": 76154, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26158:5:172", + "memberLocation": "26158:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "26109:54:172", + "referencedDeclaration": 77217, + "src": "26109:54:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21697,56 +21697,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76125, + "id": 76155, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "26185:3:172", + "referencedDeclaration": 76047, + "src": "26185:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76126, + "id": 76156, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26189:12:172", + "memberLocation": "26189:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "26185:16:172", + "referencedDeclaration": 77251, + "src": "26185:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76129, + "id": 76159, "indexExpression": { "expression": { - "id": 76127, + "id": 76157, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26202:11:172", + "referencedDeclaration": 76050, + "src": "26202:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76128, + "id": 76158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26214:16:172", + "memberLocation": "26214:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "26202:28:172", + "referencedDeclaration": 77287, + "src": "26202:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21757,22 +21757,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26185:46:172", + "src": "26185:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76130, + "id": 76160, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26232:5:172", + "memberLocation": "26232:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "26185:52:172", + "referencedDeclaration": 77217, + "src": "26185:52:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21790,18 +21790,18 @@ "typeString": "address" } ], - "id": 76118, + "id": 76148, "name": "TokenMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74840, - "src": "26074:13:172", + "referencedDeclaration": 74870, + "src": "26074:13:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address) pure" } }, - "id": 76131, + "id": 76161, "isConstant": false, "isLValue": false, "isPure": false, @@ -21810,16 +21810,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26074:181:172", + "src": "26074:181:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76132, + "id": 76162, "nodeType": "RevertStatement", - "src": "26067:188:172" + "src": "26067:188:173" } ] } @@ -21830,7 +21830,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 76147, + "id": 76177, "isConstant": false, "isLValue": false, "isPure": false, @@ -21839,56 +21839,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76135, + "id": 76165, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "26305:3:172", + "referencedDeclaration": 76047, + "src": "26305:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76136, + "id": 76166, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26309:12:172", + "memberLocation": "26309:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "26305:16:172", + "referencedDeclaration": 77251, + "src": "26305:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76139, + "id": 76169, "indexExpression": { "expression": { - "id": 76137, + "id": 76167, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26322:11:172", + "referencedDeclaration": 76050, + "src": "26322:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76138, + "id": 76168, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26334:16:172", + "memberLocation": "26334:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "26322:28:172", + "referencedDeclaration": 77287, + "src": "26322:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21899,22 +21899,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26305:46:172", + "src": "26305:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76140, + "id": 76170, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26352:8:172", + "memberLocation": "26352:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26305:55:172", + "referencedDeclaration": 77219, + "src": "26305:55:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21926,56 +21926,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76141, + "id": 76171, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26384:5:172", + "referencedDeclaration": 76044, + "src": "26384:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76142, + "id": 76172, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26390:11:172", + "memberLocation": "26390:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26384:17:172", + "referencedDeclaration": 77247, + "src": "26384:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76145, + "id": 76175, "indexExpression": { "expression": { - "id": 76143, + "id": 76173, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26402:11:172", + "referencedDeclaration": 76050, + "src": "26402:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76144, + "id": 76174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26414:17:172", + "memberLocation": "26414:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26402:29:172", + "referencedDeclaration": 77281, + "src": "26402:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21986,40 +21986,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26384:48:172", + "src": "26384:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76146, + "id": 76176, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26433:8:172", + "memberLocation": "26433:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26384:57:172", + "referencedDeclaration": 77219, + "src": "26384:57:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "26305:136:172", + "src": "26305:136:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76164, + "id": 76194, "nodeType": "IfStatement", - "src": "26284:407:172", + "src": "26284:407:173", "trueBody": { - "id": 76163, + "id": 76193, "nodeType": "Block", - "src": "26456:235:172", + "src": "26456:235:173", "statements": [ { "errorCall": { @@ -22028,56 +22028,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76149, + "id": 76179, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26524:5:172", + "referencedDeclaration": 76044, + "src": "26524:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76150, + "id": 76180, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26530:11:172", + "memberLocation": "26530:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26524:17:172", + "referencedDeclaration": 77247, + "src": "26524:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76153, + "id": 76183, "indexExpression": { "expression": { - "id": 76151, + "id": 76181, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26542:11:172", + "referencedDeclaration": 76050, + "src": "26542:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76152, + "id": 76182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26554:17:172", + "memberLocation": "26554:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26542:29:172", + "referencedDeclaration": 77281, + "src": "26542:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22088,22 +22088,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26524:48:172", + "src": "26524:48:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76154, + "id": 76184, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26573:8:172", + "memberLocation": "26573:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26524:57:172", + "referencedDeclaration": 77219, + "src": "26524:57:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -22113,56 +22113,56 @@ "expression": { "baseExpression": { "expression": { - "id": 76155, + "id": 76185, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "26603:3:172", + "referencedDeclaration": 76047, + "src": "26603:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76156, + "id": 76186, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26607:12:172", + "memberLocation": "26607:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "26603:16:172", + "referencedDeclaration": 77251, + "src": "26603:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76159, + "id": 76189, "indexExpression": { "expression": { - "id": 76157, + "id": 76187, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "26620:11:172", + "referencedDeclaration": 76050, + "src": "26620:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76158, + "id": 76188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26632:16:172", + "memberLocation": "26632:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "26620:28:172", + "referencedDeclaration": 77287, + "src": "26620:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22173,22 +22173,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26603:46:172", + "src": "26603:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76160, + "id": 76190, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26650:8:172", + "memberLocation": "26650:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "26603:55:172", + "referencedDeclaration": 77219, + "src": "26603:55:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -22206,18 +22206,18 @@ "typeString": "uint8" } ], - "id": 76148, + "id": 76178, "name": "TokenDecimalsMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74847, - "src": "26481:21:172", + "referencedDeclaration": 74877, + "src": "26481:21:173", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", "typeString": "function (uint8,uint8) pure" } }, - "id": 76161, + "id": 76191, "isConstant": false, "isLValue": false, "isPure": false, @@ -22226,16 +22226,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26481:195:172", + "src": "26481:195:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76162, + "id": 76192, "nodeType": "RevertStatement", - "src": "26474:202:172" + "src": "26474:202:173" } ] } @@ -22246,57 +22246,57 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76171, + "id": 76201, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 76165, + "id": 76195, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "26916:7:172", + "referencedDeclaration": 75049, + "src": "26916:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 76169, + "id": 76199, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 76166, + "id": 76196, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "26924:5:172", + "referencedDeclaration": 76044, + "src": "26924:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76167, + "id": 76197, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "26930:4:172", + "memberLocation": "26930:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "26924:10:172", + "referencedDeclaration": 78164, + "src": "26924:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76168, + "id": 76198, "isConstant": false, "isLValue": false, "isPure": false, @@ -22305,7 +22305,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26924:12:172", + "src": "26924:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22317,7 +22317,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26916:21:172", + "src": "26916:21:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22326,56 +22326,56 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 76170, + "id": 76200, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "26941:10:172", + "referencedDeclaration": 74897, + "src": "26941:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "26916:35:172", + "src": "26916:35:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76184, + "id": 76214, "nodeType": "IfStatement", - "src": "26912:155:172", + "src": "26912:155:173", "trueBody": { - "id": 76183, + "id": 76213, "nodeType": "Block", - "src": "26953:114:172", + "src": "26953:114:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 76173, + "id": 76203, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "26990:3:172", + "src": "26990:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76174, + "id": 76204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26994:6:172", + "memberLocation": "26994:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "26990:10:172", + "src": "26990:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22383,27 +22383,27 @@ }, { "expression": { - "id": 76175, + "id": 76205, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27002:5:172", + "referencedDeclaration": 76044, + "src": "27002:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76176, + "id": 76206, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27008:5:172", + "memberLocation": "27008:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27002:11:172", + "referencedDeclaration": 77238, + "src": "27002:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22414,33 +22414,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 76177, + "id": 76207, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27015:5:172", + "referencedDeclaration": 76044, + "src": "27015:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76178, + "id": 76208, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27021:4:172", + "memberLocation": "27021:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "27015:10:172", + "referencedDeclaration": 78164, + "src": "27015:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76179, + "id": 76209, "isConstant": false, "isLValue": false, "isPure": false, @@ -22449,7 +22449,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27015:12:172", + "src": "27015:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22472,18 +22472,18 @@ "typeString": "bytes32" } ], - "id": 76172, + "id": 76202, "name": "OrderNotFound", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77665, - "src": "26976:13:172", + "referencedDeclaration": 77980, + "src": "26976:13:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 76180, + "id": 76210, "isConstant": false, "isLValue": false, "isPure": false, @@ -22492,22 +22492,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26976:52:172", + "src": "26976:52:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76181, + "id": 76211, "nodeType": "EmitStatement", - "src": "26971:57:172" + "src": "26971:57:173" }, { - "functionReturnParameters": 76032, - "id": 76182, + "functionReturnParameters": 76062, + "id": 76212, "nodeType": "Return", - "src": "27046:7:172" + "src": "27046:7:173" } ] } @@ -22518,57 +22518,57 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76191, + "id": 76221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 76185, + "id": 76215, "name": "sOrders", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75019, - "src": "27084:7:172", + "referencedDeclaration": 75049, + "src": "27084:7:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 76189, + "id": 76219, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 76186, + "id": 76216, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27092:3:172", + "referencedDeclaration": 76047, + "src": "27092:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76187, + "id": 76217, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27096:4:172", + "memberLocation": "27096:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "27092:8:172", + "referencedDeclaration": 78164, + "src": "27092:8:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76188, + "id": 76218, "isConstant": false, "isLValue": false, "isPure": false, @@ -22577,7 +22577,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27092:10:172", + "src": "27092:10:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22589,7 +22589,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27084:19:172", + "src": "27084:19:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22598,56 +22598,56 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 76190, + "id": 76220, "name": "ORDER_DEAD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74867, - "src": "27107:10:172", + "referencedDeclaration": 74897, + "src": "27107:10:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27084:33:172", + "src": "27084:33:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76204, + "id": 76234, "nodeType": "IfStatement", - "src": "27080:149:172", + "src": "27080:149:173", "trueBody": { - "id": 76203, + "id": 76233, "nodeType": "Block", - "src": "27119:110:172", + "src": "27119:110:173", "statements": [ { "eventCall": { "arguments": [ { "expression": { - "id": 76193, + "id": 76223, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "27156:3:172", + "src": "27156:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76194, + "id": 76224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27160:6:172", + "memberLocation": "27160:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "27156:10:172", + "src": "27156:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22655,27 +22655,27 @@ }, { "expression": { - "id": 76195, + "id": 76225, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27168:3:172", + "referencedDeclaration": 76047, + "src": "27168:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76196, + "id": 76226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27172:5:172", + "memberLocation": "27172:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27168:9:172", + "referencedDeclaration": 77238, + "src": "27168:9:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22686,33 +22686,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 76197, + "id": 76227, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27179:3:172", + "referencedDeclaration": 76047, + "src": "27179:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76198, + "id": 76228, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27183:4:172", + "memberLocation": "27183:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "27179:8:172", + "referencedDeclaration": 78164, + "src": "27179:8:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76199, + "id": 76229, "isConstant": false, "isLValue": false, "isPure": false, @@ -22721,7 +22721,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27179:10:172", + "src": "27179:10:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -22744,18 +22744,18 @@ "typeString": "bytes32" } ], - "id": 76192, + "id": 76222, "name": "OrderNotFound", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77665, - "src": "27142:13:172", + "referencedDeclaration": 77980, + "src": "27142:13:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,address,bytes32)" } }, - "id": 76200, + "id": 76230, "isConstant": false, "isLValue": false, "isPure": false, @@ -22764,22 +22764,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27142:48:172", + "src": "27142:48:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76201, + "id": 76231, "nodeType": "EmitStatement", - "src": "27137:53:172" + "src": "27137:53:173" }, { - "functionReturnParameters": 76032, - "id": 76202, + "functionReturnParameters": 76062, + "id": 76232, "nodeType": "Return", - "src": "27208:7:172" + "src": "27208:7:173" } ] } @@ -22789,64 +22789,64 @@ "arguments": [ { "expression": { - "id": 76206, + "id": 76236, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "27305:3:172", + "src": "27305:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76207, + "id": 76237, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27309:6:172", + "memberLocation": "27309:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "27305:10:172", + "src": "27305:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76208, + "id": 76238, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27317:5:172", + "referencedDeclaration": 76044, + "src": "27317:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 76209, + "id": 76239, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27324:3:172", + "referencedDeclaration": 76047, + "src": "27324:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 76210, + "id": 76240, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27329:11:172", + "referencedDeclaration": 76050, + "src": "27329:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } } @@ -22858,30 +22858,30 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } ], - "id": 76205, + "id": 76235, "name": "Clear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77697, - "src": "27299:5:172", + "referencedDeclaration": 78012, + "src": "27299:5:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_Order_$77222_memory_ptr_$_t_struct$_ClearConfig_$77262_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_ClearConfig_$77292_memory_ptr_$returns$__$", "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" } }, - "id": 76211, + "id": 76241, "isConstant": false, "isLValue": false, "isPure": false, @@ -22890,100 +22890,100 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27299:42:172", + "src": "27299:42:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76212, + "id": 76242, "nodeType": "EmitStatement", - "src": "27294:47:172" + "src": "27294:47:173" } ] }, { "assignments": [ - 76216 + 76246 ], "declarations": [ { "constant": false, - "id": 76216, + "id": 76246, "mutability": "mutable", "name": "aliceOrderIOCalculation_", - "nameLocation": "27387:24:172", + "nameLocation": "27387:24:173", "nodeType": "VariableDeclaration", - "scope": 76335, - "src": "27361:50:172", + "scope": 76365, + "src": "27361:50:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76215, + "id": 76245, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76214, + "id": 76244, "name": "OrderIOCalculation", "nameLocations": [ - "27361:18:172" + "27361:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "27361:18:172" + "referencedDeclaration": 75005, + "src": "27361:18:173" }, - "referencedDeclaration": 74975, - "src": "27361:18:172", + "referencedDeclaration": 75005, + "src": "27361:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "id": 76227, + "id": 76257, "initialValue": { "arguments": [ { - "id": 76218, + "id": 76248, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27444:5:172", + "referencedDeclaration": 76044, + "src": "27444:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76219, + "id": 76249, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27451:11:172", + "referencedDeclaration": 76050, + "src": "27451:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76220, + "id": 76250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27463:17:172", + "memberLocation": "27463:17:173", "memberName": "aliceInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "27451:29:172", + "referencedDeclaration": 77281, + "src": "27451:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22991,27 +22991,27 @@ }, { "expression": { - "id": 76221, + "id": 76251, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27482:11:172", + "referencedDeclaration": 76050, + "src": "27482:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76222, + "id": 76252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27494:18:172", + "memberLocation": "27494:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "27482:30:172", + "referencedDeclaration": 77283, + "src": "27482:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23019,39 +23019,39 @@ }, { "expression": { - "id": 76223, + "id": 76253, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27514:3:172", + "referencedDeclaration": 76047, + "src": "27514:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76224, + "id": 76254, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27518:5:172", + "memberLocation": "27518:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27514:9:172", + "referencedDeclaration": 77238, + "src": "27514:9:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76225, + "id": 76255, "name": "bobSignedContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76028, - "src": "27525:16:172", + "referencedDeclaration": 76058, + "src": "27525:16:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -23061,7 +23061,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23081,18 +23081,18 @@ "typeString": "struct SignedContextV1 memory[] memory" } ], - "id": 76217, + "id": 76247, "name": "calculateOrderIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76653, - "src": "27414:16:172", + "referencedDeclaration": 76683, + "src": "27414:16:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" } }, - "id": 76226, + "id": 76256, "isConstant": false, "isLValue": false, "isPure": false, @@ -23101,97 +23101,97 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27414:137:172", + "src": "27414:137:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "27361:190:172" + "src": "27361:190:173" }, { "assignments": [ - 76230 + 76260 ], "declarations": [ { "constant": false, - "id": 76230, + "id": 76260, "mutability": "mutable", "name": "bobOrderIOCalculation_", - "nameLocation": "27587:22:172", + "nameLocation": "27587:22:173", "nodeType": "VariableDeclaration", - "scope": 76335, - "src": "27561:48:172", + "scope": 76365, + "src": "27561:48:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76229, + "id": 76259, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76228, + "id": 76258, "name": "OrderIOCalculation", "nameLocations": [ - "27561:18:172" + "27561:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "27561:18:172" + "referencedDeclaration": 75005, + "src": "27561:18:173" }, - "referencedDeclaration": 74975, - "src": "27561:18:172", + "referencedDeclaration": 75005, + "src": "27561:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "id": 76241, + "id": 76271, "initialValue": { "arguments": [ { - "id": 76232, + "id": 76262, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "27642:3:172", + "referencedDeclaration": 76047, + "src": "27642:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76233, + "id": 76263, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27647:11:172", + "referencedDeclaration": 76050, + "src": "27647:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76234, + "id": 76264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27659:15:172", + "memberLocation": "27659:15:173", "memberName": "bobInputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77255, - "src": "27647:27:172", + "referencedDeclaration": 77285, + "src": "27647:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23199,27 +23199,27 @@ }, { "expression": { - "id": 76235, + "id": 76265, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "27676:11:172", + "referencedDeclaration": 76050, + "src": "27676:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76236, + "id": 76266, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27688:16:172", + "memberLocation": "27688:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "27676:28:172", + "referencedDeclaration": 77287, + "src": "27676:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23227,39 +23227,39 @@ }, { "expression": { - "id": 76237, + "id": 76267, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27706:5:172", + "referencedDeclaration": 76044, + "src": "27706:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76238, + "id": 76268, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27712:5:172", + "memberLocation": "27712:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "27706:11:172", + "referencedDeclaration": 77238, + "src": "27706:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76239, + "id": 76269, "name": "aliceSignedContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76024, - "src": "27719:18:172", + "referencedDeclaration": 76054, + "src": "27719:18:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -23269,7 +23269,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23289,18 +23289,18 @@ "typeString": "struct SignedContextV1 memory[] memory" } ], - "id": 76231, + "id": 76261, "name": "calculateOrderIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76653, - "src": "27612:16:172", + "referencedDeclaration": 76683, + "src": "27612:16:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" } }, - "id": 76240, + "id": 76270, "isConstant": false, "isLValue": false, "isPure": false, @@ -23309,83 +23309,83 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27612:135:172", + "src": "27612:135:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "27561:186:172" + "src": "27561:186:173" }, { "assignments": [ - 76244 + 76274 ], "declarations": [ { "constant": false, - "id": 76244, + "id": 76274, "mutability": "mutable", "name": "clearStateChange", - "nameLocation": "27781:16:172", + "nameLocation": "27781:16:173", "nodeType": "VariableDeclaration", - "scope": 76335, - "src": "27757:40:172", + "scope": 76365, + "src": "27757:40:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange" }, "typeName": { - "id": 76243, + "id": 76273, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76242, + "id": 76272, "name": "ClearStateChange", "nameLocations": [ - "27757:16:172" + "27757:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77271, - "src": "27757:16:172" + "referencedDeclaration": 77301, + "src": "27757:16:173" }, - "referencedDeclaration": 77271, - "src": "27757:16:172", + "referencedDeclaration": 77301, + "src": "27757:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", "typeString": "struct ClearStateChange" } }, "visibility": "internal" } ], - "id": 76249, + "id": 76279, "initialValue": { "arguments": [ { - "id": 76246, + "id": 76276, "name": "aliceOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76216, - "src": "27838:24:172", + "referencedDeclaration": 76246, + "src": "27838:24:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, { - "id": 76247, + "id": 76277, "name": "bobOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76230, - "src": "27864:22:172", + "referencedDeclaration": 76260, + "src": "27864:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -23393,26 +23393,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76245, + "id": 76275, "name": "calculateClearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76856, - "src": "27812:25:172", + "referencedDeclaration": 76886, + "src": "27812:25:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$_t_struct$_ClearStateChange_$77271_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$_t_struct$_ClearStateChange_$77301_memory_ptr_$", "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" } }, - "id": 76248, + "id": 76278, "isConstant": false, "isLValue": false, "isPure": false, @@ -23421,54 +23421,54 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27812:75:172", + "src": "27812:75:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "27757:130:172" + "src": "27757:130:173" }, { "expression": { "arguments": [ { - "id": 76251, + "id": 76281, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "27912:5:172", + "referencedDeclaration": 76044, + "src": "27912:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76252, + "id": 76282, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "27919:16:172", + "referencedDeclaration": 76274, + "src": "27919:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76253, + "id": 76283, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27936:10:172", + "memberLocation": "27936:10:173", "memberName": "aliceInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77268, - "src": "27919:27:172", + "referencedDeclaration": 77298, + "src": "27919:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23476,41 +23476,41 @@ }, { "expression": { - "id": 76254, + "id": 76284, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "27948:16:172", + "referencedDeclaration": 76274, + "src": "27948:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76255, + "id": 76285, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "27965:11:172", + "memberLocation": "27965:11:173", "memberName": "aliceOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77264, - "src": "27948:28:172", + "referencedDeclaration": 77294, + "src": "27948:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76256, + "id": 76286, "name": "aliceOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76216, - "src": "27978:24:172", + "referencedDeclaration": 76246, + "src": "27978:24:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -23518,7 +23518,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23530,22 +23530,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76250, + "id": 76280, "name": "recordVaultIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76830, - "src": "27898:13:172", + "referencedDeclaration": 76860, + "src": "27898:13:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" } }, - "id": 76257, + "id": 76287, "isConstant": false, "isLValue": false, "isPure": false, @@ -23554,55 +23554,55 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27898:105:172", + "src": "27898:105:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76258, + "id": 76288, "nodeType": "ExpressionStatement", - "src": "27898:105:172" + "src": "27898:105:173" }, { "expression": { "arguments": [ { - "id": 76260, + "id": 76290, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "28027:3:172", + "referencedDeclaration": 76047, + "src": "28027:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { "expression": { - "id": 76261, + "id": 76291, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28032:16:172", + "referencedDeclaration": 76274, + "src": "28032:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76262, + "id": 76292, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28049:8:172", + "memberLocation": "28049:8:173", "memberName": "bobInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "28032:25:172", + "referencedDeclaration": 77300, + "src": "28032:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23610,41 +23610,41 @@ }, { "expression": { - "id": 76263, + "id": 76293, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28059:16:172", + "referencedDeclaration": 76274, + "src": "28059:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76264, + "id": 76294, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28076:9:172", + "memberLocation": "28076:9:173", "memberName": "bobOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77266, - "src": "28059:26:172", + "referencedDeclaration": 77296, + "src": "28059:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76265, + "id": 76295, "name": "bobOrderIOCalculation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76230, - "src": "28087:22:172", + "referencedDeclaration": 76260, + "src": "28087:22:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -23652,7 +23652,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -23664,22 +23664,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76259, + "id": 76289, "name": "recordVaultIO", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76830, - "src": "28013:13:172", + "referencedDeclaration": 76860, + "src": "28013:13:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77222_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" } }, - "id": 76266, + "id": 76296, "isConstant": false, "isLValue": false, "isPure": false, @@ -23688,36 +23688,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28013:97:172", + "src": "28013:97:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76267, + "id": 76297, "nodeType": "ExpressionStatement", - "src": "28013:97:172" + "src": "28013:97:173" }, { - "id": 76328, + "id": 76358, "nodeType": "Block", - "src": "28121:753:172", + "src": "28121:753:173", "statements": [ { "assignments": [ - 76269 + 76299 ], "declarations": [ { "constant": false, - "id": 76269, + "id": 76299, "mutability": "mutable", "name": "aliceBounty", - "nameLocation": "28275:11:172", + "nameLocation": "28275:11:173", "nodeType": "VariableDeclaration", - "scope": 76328, - "src": "28267:19:172", + "scope": 76358, + "src": "28267:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23725,10 +23725,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76268, + "id": 76298, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28267:7:172", + "src": "28267:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23737,40 +23737,40 @@ "visibility": "internal" } ], - "id": 76275, + "id": 76305, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76274, + "id": 76304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76270, + "id": 76300, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28289:16:172", + "referencedDeclaration": 76274, + "src": "28289:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76271, + "id": 76301, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28306:11:172", + "memberLocation": "28306:11:173", "memberName": "aliceOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77264, - "src": "28289:28:172", + "referencedDeclaration": 77294, + "src": "28289:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23780,55 +23780,55 @@ "operator": "-", "rightExpression": { "expression": { - "id": 76272, + "id": 76302, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28320:16:172", + "referencedDeclaration": 76274, + "src": "28320:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76273, + "id": 76303, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28337:8:172", + "memberLocation": "28337:8:173", "memberName": "bobInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "28320:25:172", + "referencedDeclaration": 77300, + "src": "28320:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28289:56:172", + "src": "28289:56:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "28267:78:172" + "src": "28267:78:173" }, { "assignments": [ - 76277 + 76307 ], "declarations": [ { "constant": false, - "id": 76277, + "id": 76307, "mutability": "mutable", "name": "bobBounty", - "nameLocation": "28367:9:172", + "nameLocation": "28367:9:173", "nodeType": "VariableDeclaration", - "scope": 76328, - "src": "28359:17:172", + "scope": 76358, + "src": "28359:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23836,10 +23836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76276, + "id": 76306, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28359:7:172", + "src": "28359:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23848,40 +23848,40 @@ "visibility": "internal" } ], - "id": 76283, + "id": 76313, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76282, + "id": 76312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76278, + "id": 76308, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28379:16:172", + "referencedDeclaration": 76274, + "src": "28379:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76279, + "id": 76309, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28396:9:172", + "memberLocation": "28396:9:173", "memberName": "bobOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77266, - "src": "28379:26:172", + "referencedDeclaration": 77296, + "src": "28379:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23891,40 +23891,40 @@ "operator": "-", "rightExpression": { "expression": { - "id": 76280, + "id": 76310, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28408:16:172", + "referencedDeclaration": 76274, + "src": "28408:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76281, + "id": 76311, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28425:10:172", + "memberLocation": "28425:10:173", "memberName": "aliceInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77268, - "src": "28408:27:172", + "referencedDeclaration": 77298, + "src": "28408:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28379:56:172", + "src": "28379:56:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "28359:76:172" + "src": "28359:76:173" }, { "condition": { @@ -23932,18 +23932,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76286, + "id": 76316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76284, + "id": 76314, "name": "aliceBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76269, - "src": "28453:11:172", + "referencedDeclaration": 76299, + "src": "28453:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23953,37 +23953,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76285, + "id": 76315, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28467:1:172", + "src": "28467:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "28453:15:172", + "src": "28453:15:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76305, + "id": 76335, "nodeType": "IfStatement", - "src": "28449:206:172", + "src": "28449:206:173", "trueBody": { - "id": 76304, + "id": 76334, "nodeType": "Block", - "src": "28470:185:172", + "src": "28470:185:173", "statements": [ { "expression": { - "id": 76302, + "id": 76332, "isConstant": false, "isLValue": false, "isPure": false, @@ -23992,40 +23992,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76287, + "id": 76317, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "28488:14:172", + "referencedDeclaration": 75058, + "src": "28488:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76298, + "id": 76328, "indexExpression": { "expression": { - "id": 76288, + "id": 76318, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "28503:3:172", + "src": "28503:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76289, + "id": 76319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28507:6:172", + "memberLocation": "28507:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "28503:10:172", + "src": "28503:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24036,67 +24036,67 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28488:26:172", + "src": "28488:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76299, + "id": 76329, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76290, + "id": 76320, "name": "alice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76014, - "src": "28515:5:172", + "referencedDeclaration": 76044, + "src": "28515:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76291, + "id": 76321, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28521:12:172", + "memberLocation": "28521:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "28515:18:172", + "referencedDeclaration": 77251, + "src": "28515:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76294, + "id": 76324, "indexExpression": { "expression": { - "id": 76292, + "id": 76322, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28534:11:172", + "referencedDeclaration": 76050, + "src": "28534:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76293, + "id": 76323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28546:18:172", + "memberLocation": "28546:18:173", "memberName": "aliceOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77253, - "src": "28534:30:172", + "referencedDeclaration": 77283, + "src": "28534:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24107,22 +24107,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28515:50:172", + "src": "28515:50:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76295, + "id": 76325, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28566:5:172", + "memberLocation": "28566:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "28515:56:172", + "referencedDeclaration": 77217, + "src": "28515:56:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24133,36 +24133,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28488:84:172", + "src": "28488:84:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76300, + "id": 76330, "indexExpression": { "expression": { - "id": 76296, + "id": 76326, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28573:11:172", + "referencedDeclaration": 76050, + "src": "28573:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76297, + "id": 76327, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28606:18:172", + "memberLocation": "28606:18:173", "memberName": "aliceBountyVaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77259, - "src": "28573:51:172", + "referencedDeclaration": 77289, + "src": "28573:51:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24173,7 +24173,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "28488:137:172", + "src": "28488:137:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24182,26 +24182,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 76301, + "id": 76331, "name": "aliceBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76269, - "src": "28629:11:172", + "referencedDeclaration": 76299, + "src": "28629:11:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28488:152:172", + "src": "28488:152:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76303, + "id": 76333, "nodeType": "ExpressionStatement", - "src": "28488:152:172" + "src": "28488:152:173" } ] } @@ -24212,18 +24212,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76308, + "id": 76338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76306, + "id": 76336, "name": "bobBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76277, - "src": "28672:9:172", + "referencedDeclaration": 76307, + "src": "28672:9:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24233,37 +24233,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76307, + "id": 76337, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28684:1:172", + "src": "28684:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "28672:13:172", + "src": "28672:13:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76327, + "id": 76357, "nodeType": "IfStatement", - "src": "28668:196:172", + "src": "28668:196:173", "trueBody": { - "id": 76326, + "id": 76356, "nodeType": "Block", - "src": "28687:177:172", + "src": "28687:177:173", "statements": [ { "expression": { - "id": 76324, + "id": 76354, "isConstant": false, "isLValue": false, "isPure": false, @@ -24272,40 +24272,40 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76309, + "id": 76339, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "28705:14:172", + "referencedDeclaration": 75058, + "src": "28705:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76320, + "id": 76350, "indexExpression": { "expression": { - "id": 76310, + "id": 76340, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "28720:3:172", + "src": "28720:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76311, + "id": 76341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28724:6:172", + "memberLocation": "28724:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "28720:10:172", + "src": "28720:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24316,67 +24316,67 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28705:26:172", + "src": "28705:26:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76321, + "id": 76351, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76312, + "id": 76342, "name": "bob", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76017, - "src": "28732:3:172", + "referencedDeclaration": 76047, + "src": "28732:3:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76313, + "id": 76343, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28736:12:172", + "memberLocation": "28736:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "28732:16:172", + "referencedDeclaration": 77251, + "src": "28732:16:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76316, + "id": 76346, "indexExpression": { "expression": { - "id": 76314, + "id": 76344, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28749:11:172", + "referencedDeclaration": 76050, + "src": "28749:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76315, + "id": 76345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28761:16:172", + "memberLocation": "28761:16:173", "memberName": "bobOutputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 77257, - "src": "28749:28:172", + "referencedDeclaration": 77287, + "src": "28749:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24387,22 +24387,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28732:46:172", + "src": "28732:46:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76317, + "id": 76347, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "28779:5:172", + "memberLocation": "28779:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "28732:52:172", + "referencedDeclaration": 77217, + "src": "28732:52:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24413,36 +24413,36 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28705:80:172", + "src": "28705:80:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76322, + "id": 76352, "indexExpression": { "expression": { - "id": 76318, + "id": 76348, "name": "clearConfig", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "28786:11:172", + "referencedDeclaration": 76050, + "src": "28786:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig calldata" } }, - "id": 76319, + "id": 76349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28819:16:172", + "memberLocation": "28819:16:173", "memberName": "bobBountyVaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77261, - "src": "28786:49:172", + "referencedDeclaration": 77291, + "src": "28786:49:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24453,7 +24453,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "28705:131:172", + "src": "28705:131:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24462,26 +24462,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 76323, + "id": 76353, "name": "bobBounty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76277, - "src": "28840:9:172", + "referencedDeclaration": 76307, + "src": "28840:9:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28705:144:172", + "src": "28705:144:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76325, + "id": 76355, "nodeType": "ExpressionStatement", - "src": "28705:144:172" + "src": "28705:144:173" } ] } @@ -24493,40 +24493,40 @@ "arguments": [ { "expression": { - "id": 76330, + "id": 76360, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "28900:3:172", + "src": "28900:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76331, + "id": 76361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28904:6:172", + "memberLocation": "28904:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "28900:10:172", + "src": "28900:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76332, + "id": 76362, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76244, - "src": "28912:16:172", + "referencedDeclaration": 76274, + "src": "28912:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } } @@ -24538,22 +24538,22 @@ "typeString": "address" }, { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } ], - "id": 76329, + "id": 76359, "name": "AfterClear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77705, - "src": "28889:10:172", + "referencedDeclaration": 78020, + "src": "28889:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77271_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77301_memory_ptr_$returns$__$", "typeString": "function (address,struct ClearStateChange memory)" } }, - "id": 76333, + "id": 76363, "isConstant": false, "isLValue": false, "isPure": false, @@ -24562,26 +24562,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28889:40:172", + "src": "28889:40:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76334, + "id": 76364, "nodeType": "EmitStatement", - "src": "28884:45:172" + "src": "28884:45:173" } ] }, "baseFunctions": [ - 77795 + 78110 ], "documentation": { - "id": 76011, + "id": 76041, "nodeType": "StructuredDocumentation", - "src": "24656:28:172", + "src": "24656:28:173", "text": "@inheritdoc IOrderBookV3" }, "functionSelector": "9e18968b", @@ -24589,60 +24589,60 @@ "kind": "function", "modifiers": [ { - "id": 76031, + "id": 76061, "kind": "modifierInvocation", "modifierName": { - "id": 76030, + "id": 76060, "name": "nonReentrant", "nameLocations": [ - "24919:12:172" + "24919:12:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43676, - "src": "24919:12:172" + "src": "24919:12:173" }, "nodeType": "ModifierInvocation", - "src": "24919:12:172" + "src": "24919:12:173" } ], "name": "clear", - "nameLocation": "24698:5:172", + "nameLocation": "24698:5:173", "parameters": { - "id": 76029, + "id": 76059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76014, + "id": 76044, "mutability": "mutable", "name": "alice", - "nameLocation": "24726:5:172", + "nameLocation": "24726:5:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24713:18:172", + "scope": 76366, + "src": "24713:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76013, + "id": 76043, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76012, + "id": 76042, "name": "Order", "nameLocations": [ - "24713:5:172" + "24713:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "24713:5:172" + "referencedDeclaration": 77252, + "src": "24713:5:173" }, - "referencedDeclaration": 77222, - "src": "24713:5:172", + "referencedDeclaration": 77252, + "src": "24713:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -24650,36 +24650,36 @@ }, { "constant": false, - "id": 76017, + "id": 76047, "mutability": "mutable", "name": "bob", - "nameLocation": "24754:3:172", + "nameLocation": "24754:3:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24741:16:172", + "scope": 76366, + "src": "24741:16:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76016, + "id": 76046, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76015, + "id": 76045, "name": "Order", "nameLocations": [ - "24741:5:172" + "24741:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "24741:5:172" + "referencedDeclaration": 77252, + "src": "24741:5:173" }, - "referencedDeclaration": 77222, - "src": "24741:5:172", + "referencedDeclaration": 77252, + "src": "24741:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -24687,36 +24687,36 @@ }, { "constant": false, - "id": 76020, + "id": 76050, "mutability": "mutable", "name": "clearConfig", - "nameLocation": "24788:11:172", + "nameLocation": "24788:11:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24767:32:172", + "scope": 76366, + "src": "24767:32:173", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_calldata_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", "typeString": "struct ClearConfig" }, "typeName": { - "id": 76019, + "id": 76049, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76018, + "id": 76048, "name": "ClearConfig", "nameLocations": [ - "24767:11:172" + "24767:11:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77262, - "src": "24767:11:172" + "referencedDeclaration": 77292, + "src": "24767:11:173" }, - "referencedDeclaration": 77262, - "src": "24767:11:172", + "referencedDeclaration": 77292, + "src": "24767:11:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77262_storage_ptr", + "typeIdentifier": "t_struct$_ClearConfig_$77292_storage_ptr", "typeString": "struct ClearConfig" } }, @@ -24724,13 +24724,13 @@ }, { "constant": false, - "id": 76024, + "id": 76054, "mutability": "mutable", "name": "aliceSignedContext", - "nameLocation": "24834:18:172", + "nameLocation": "24834:18:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24809:43:172", + "scope": 76366, + "src": "24809:43:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24739,28 +24739,28 @@ }, "typeName": { "baseType": { - "id": 76022, + "id": 76052, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76021, + "id": 76051, "name": "SignedContextV1", "nameLocations": [ - "24809:15:172" + "24809:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56240, - "src": "24809:15:172" + "src": "24809:15:173" }, "referencedDeclaration": 56240, - "src": "24809:15:172", + "src": "24809:15:173", "typeDescriptions": { "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", "typeString": "struct SignedContextV1" } }, - "id": 76023, + "id": 76053, "nodeType": "ArrayTypeName", - "src": "24809:17:172", + "src": "24809:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", "typeString": "struct SignedContextV1[]" @@ -24770,13 +24770,13 @@ }, { "constant": false, - "id": 76028, + "id": 76058, "mutability": "mutable", "name": "bobSignedContext", - "nameLocation": "24887:16:172", + "nameLocation": "24887:16:173", "nodeType": "VariableDeclaration", - "scope": 76336, - "src": "24862:41:172", + "scope": 76366, + "src": "24862:41:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24785,28 +24785,28 @@ }, "typeName": { "baseType": { - "id": 76026, + "id": 76056, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76025, + "id": 76055, "name": "SignedContextV1", "nameLocations": [ - "24862:15:172" + "24862:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56240, - "src": "24862:15:172" + "src": "24862:15:173" }, "referencedDeclaration": 56240, - "src": "24862:15:172", + "src": "24862:15:173", "typeDescriptions": { "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", "typeString": "struct SignedContextV1" } }, - "id": 76027, + "id": 76057, "nodeType": "ArrayTypeName", - "src": "24862:17:172", + "src": "24862:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", "typeString": "struct SignedContextV1[]" @@ -24815,49 +24815,49 @@ "visibility": "internal" } ], - "src": "24703:206:172" + "src": "24703:206:173" }, "returnParameters": { - "id": 76032, + "id": 76062, "nodeType": "ParameterList", "parameters": [], - "src": "24932:0:172" + "src": "24932:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 76653, + "id": 76683, "nodeType": "FunctionDefinition", - "src": "29640:5114:172", + "src": "29640:5114:173", "nodes": [], "body": { - "id": 76652, + "id": 76682, "nodeType": "Block", - "src": "29889:4865:172", + "src": "29889:4865:173", "nodes": [], "statements": [ { - "id": 76651, + "id": 76681, "nodeType": "UncheckedBlock", - "src": "29899:4849:172", + "src": "29899:4849:173", "statements": [ { "assignments": [ - 76357 + 76387 ], "declarations": [ { "constant": false, - "id": 76357, + "id": 76387, "mutability": "mutable", "name": "orderHash", - "nameLocation": "29931:9:172", + "nameLocation": "29931:9:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "29923:17:172", + "scope": 76681, + "src": "29923:17:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24865,10 +24865,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 76356, + "id": 76386, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "29923:7:172", + "src": "29923:7:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24877,39 +24877,39 @@ "visibility": "internal" } ], - "id": 76361, + "id": 76391, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 76358, + "id": 76388, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "29943:5:172", + "referencedDeclaration": 76370, + "src": "29943:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76359, + "id": 76389, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "29949:4:172", + "memberLocation": "29949:4:173", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 77849, - "src": "29943:10:172", + "referencedDeclaration": 78164, + "src": "29943:10:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77222_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77222_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", "typeString": "function (struct Order memory) pure returns (bytes32)" } }, - "id": 76360, + "id": 76390, "isConstant": false, "isLValue": false, "isPure": false, @@ -24918,7 +24918,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29943:12:172", + "src": "29943:12:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -24926,22 +24926,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "29923:32:172" + "src": "29923:32:173" }, { "assignments": [ - 76367 + 76397 ], "declarations": [ { "constant": false, - "id": 76367, + "id": 76397, "mutability": "mutable", "name": "context", - "nameLocation": "29989:7:172", + "nameLocation": "29989:7:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "29970:26:172", + "scope": 76681, + "src": "29970:26:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24951,26 +24951,26 @@ "typeName": { "baseType": { "baseType": { - "id": 76364, + "id": 76394, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29970:7:172", + "src": "29970:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76365, + "id": 76395, "nodeType": "ArrayTypeName", - "src": "29970:9:172", + "src": "29970:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 76366, + "id": 76396, "nodeType": "ArrayTypeName", - "src": "29970:11:172", + "src": "29970:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" @@ -24979,29 +24979,29 @@ "visibility": "internal" } ], - "id": 76368, + "id": 76398, "nodeType": "VariableDeclarationStatement", - "src": "29970:26:172" + "src": "29970:26:173" }, { - "id": 76515, + "id": 76545, "nodeType": "Block", - "src": "30010:1540:172", + "src": "30010:1540:173", "statements": [ { "assignments": [ - 76374 + 76404 ], "declarations": [ { "constant": false, - "id": 76374, + "id": 76404, "mutability": "mutable", "name": "callingContext", - "nameLocation": "30047:14:172", + "nameLocation": "30047:14:173", "nodeType": "VariableDeclaration", - "scope": 76515, - "src": "30028:33:172", + "scope": 76545, + "src": "30028:33:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -25011,26 +25011,26 @@ "typeName": { "baseType": { "baseType": { - "id": 76371, + "id": 76401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30028:7:172", + "src": "30028:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76372, + "id": 76402, "nodeType": "ArrayTypeName", - "src": "30028:9:172", + "src": "30028:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 76373, + "id": 76403, "nodeType": "ArrayTypeName", - "src": "30028:11:172", + "src": "30028:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" @@ -25039,16 +25039,16 @@ "visibility": "internal" } ], - "id": 76381, + "id": 76411, "initialValue": { "arguments": [ { - "id": 76379, + "id": 76409, "name": "CALLING_CONTEXT_COLUMNS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74903, - "src": "30101:23:172", + "referencedDeclaration": 74933, + "src": "30101:23:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25062,13 +25062,13 @@ "typeString": "uint256" } ], - "id": 76378, + "id": 76408, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "30064:15:172", + "src": "30064:15:173", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" @@ -25076,33 +25076,33 @@ "typeName": { "baseType": { "baseType": { - "id": 76375, + "id": 76405, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30068:7:172", + "src": "30068:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76376, + "id": 76406, "nodeType": "ArrayTypeName", - "src": "30068:9:172", + "src": "30068:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, - "id": 76377, + "id": 76407, "nodeType": "ArrayTypeName", - "src": "30068:11:172", + "src": "30068:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", "typeString": "uint256[][]" } } }, - "id": 76380, + "id": 76410, "isConstant": false, "isLValue": false, "isPure": true, @@ -25111,7 +25111,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30064:78:172", + "src": "30064:78:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", @@ -25119,46 +25119,46 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "30028:114:172" + "src": "30028:114:173" }, { "expression": { - "id": 76409, + "id": 76439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76382, + "id": 76412, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "30160:14:172", + "referencedDeclaration": 76404, + "src": "30160:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76386, + "id": 76416, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76385, + "id": 76415, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { - "id": 76383, + "id": 76413, "name": "CONTEXT_CALLING_CONTEXT_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74911, - "src": "30175:30:172", + "referencedDeclaration": 74941, + "src": "30175:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25168,21 +25168,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76384, + "id": 76414, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30208:1:172", + "src": "30208:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "30175:34:172", + "src": "30175:34:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25193,7 +25193,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "30160:50:172", + "src": "30160:50:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25206,12 +25206,12 @@ { "arguments": [ { - "id": 76391, + "id": 76421, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76357, - "src": "30268:9:172", + "referencedDeclaration": 76387, + "src": "30268:9:173", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25225,26 +25225,26 @@ "typeString": "bytes32" } ], - "id": 76390, + "id": 76420, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30260:7:172", + "src": "30260:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76389, + "id": 76419, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30260:7:172", + "src": "30260:7:173", "typeDescriptions": {} } }, - "id": 76392, + "id": 76422, "isConstant": false, "isLValue": false, "isPure": false, @@ -25253,7 +25253,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30260:18:172", + "src": "30260:18:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25266,27 +25266,27 @@ "arguments": [ { "expression": { - "id": 76397, + "id": 76427, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30296:5:172", + "referencedDeclaration": 76370, + "src": "30296:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76398, + "id": 76428, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30302:5:172", + "memberLocation": "30302:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "30296:11:172", + "referencedDeclaration": 77238, + "src": "30296:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25300,26 +25300,26 @@ "typeString": "address" } ], - "id": 76396, + "id": 76426, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30288:7:172", + "src": "30288:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76395, + "id": 76425, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "30288:7:172", + "src": "30288:7:173", "typeDescriptions": {} } }, - "id": 76399, + "id": 76429, "isConstant": false, "isLValue": false, "isPure": false, @@ -25328,7 +25328,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30288:20:172", + "src": "30288:20:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -25343,26 +25343,26 @@ "typeString": "uint160" } ], - "id": 76394, + "id": 76424, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30280:7:172", + "src": "30280:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76393, + "id": 76423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30280:7:172", + "src": "30280:7:173", "typeDescriptions": {} } }, - "id": 76400, + "id": 76430, "isConstant": false, "isLValue": false, "isPure": false, @@ -25371,7 +25371,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30280:29:172", + "src": "30280:29:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25383,12 +25383,12 @@ { "arguments": [ { - "id": 76405, + "id": 76435, "name": "counterparty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76346, - "src": "30327:12:172", + "referencedDeclaration": 76376, + "src": "30327:12:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25402,26 +25402,26 @@ "typeString": "address" } ], - "id": 76404, + "id": 76434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30319:7:172", + "src": "30319:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76403, + "id": 76433, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "30319:7:172", + "src": "30319:7:173", "typeDescriptions": {} } }, - "id": 76406, + "id": 76436, "isConstant": false, "isLValue": false, "isPure": false, @@ -25430,7 +25430,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30319:21:172", + "src": "30319:21:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -25445,26 +25445,26 @@ "typeString": "uint160" } ], - "id": 76402, + "id": 76432, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30311:7:172", + "src": "30311:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76401, + "id": 76431, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30311:7:172", + "src": "30311:7:173", "typeDescriptions": {} } }, - "id": 76407, + "id": 76437, "isConstant": false, "isLValue": false, "isPure": false, @@ -25473,7 +25473,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30311:30:172", + "src": "30311:30:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25497,33 +25497,33 @@ } ], "expression": { - "id": 76387, + "id": 76417, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "30213:15:172", + "referencedDeclaration": 72714, + "src": "30213:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76388, + "id": 76418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "30229:9:172", + "memberLocation": "30229:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72558, - "src": "30213:25:172", + "referencedDeclaration": 72588, + "src": "30213:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76408, + "id": 76438, "isConstant": false, "isLValue": false, "isPure": false, @@ -25532,61 +25532,61 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30213:146:172", + "src": "30213:146:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "30160:199:172", + "src": "30160:199:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76410, + "id": 76440, "nodeType": "ExpressionStatement", - "src": "30160:199:172" + "src": "30160:199:173" }, { "expression": { - "id": 76457, + "id": 76487, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76411, + "id": 76441, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "30378:14:172", + "referencedDeclaration": 76404, + "src": "30378:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76415, + "id": 76445, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76414, + "id": 76444, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { - "id": 76412, + "id": 76442, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "30393:27:172", + "referencedDeclaration": 74949, + "src": "30393:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25596,21 +25596,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76413, + "id": 76443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30423:1:172", + "src": "30423:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "30393:31:172", + "src": "30393:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25621,7 +25621,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "30378:47:172", + "src": "30378:47:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25639,40 +25639,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76422, + "id": 76452, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30491:5:172", + "referencedDeclaration": 76370, + "src": "30491:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76423, + "id": 76453, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30497:11:172", + "memberLocation": "30497:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30491:17:172", + "referencedDeclaration": 77247, + "src": "30491:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76425, + "id": 76455, "indexExpression": { - "id": 76424, + "id": 76454, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30509:12:172", + "referencedDeclaration": 76372, + "src": "30509:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25683,22 +25683,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30491:31:172", + "src": "30491:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76426, + "id": 76456, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30523:5:172", + "memberLocation": "30523:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "30491:37:172", + "referencedDeclaration": 77217, + "src": "30491:37:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25712,26 +25712,26 @@ "typeString": "address" } ], - "id": 76421, + "id": 76451, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30483:7:172", + "src": "30483:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76420, + "id": 76450, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "30483:7:172", + "src": "30483:7:173", "typeDescriptions": {} } }, - "id": 76427, + "id": 76457, "isConstant": false, "isLValue": false, "isPure": false, @@ -25740,7 +25740,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30483:46:172", + "src": "30483:46:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -25755,26 +25755,26 @@ "typeString": "uint160" } ], - "id": 76419, + "id": 76449, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "30475:7:172", + "src": "30475:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76418, + "id": 76448, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "30475:7:172", + "src": "30475:7:173", "typeDescriptions": {} } }, - "id": 76428, + "id": 76458, "isConstant": false, "isLValue": false, "isPure": false, @@ -25783,7 +25783,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30475:55:172", + "src": "30475:55:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25794,40 +25794,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76429, + "id": 76459, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30552:5:172", + "referencedDeclaration": 76370, + "src": "30552:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76430, + "id": 76460, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30558:11:172", + "memberLocation": "30558:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30552:17:172", + "referencedDeclaration": 77247, + "src": "30552:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76432, + "id": 76462, "indexExpression": { - "id": 76431, + "id": 76461, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30570:12:172", + "referencedDeclaration": 76372, + "src": "30570:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25838,22 +25838,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30552:31:172", + "src": "30552:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76433, + "id": 76463, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30584:8:172", + "memberLocation": "30584:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "30552:40:172", + "referencedDeclaration": 77219, + "src": "30552:40:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25863,40 +25863,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76434, + "id": 76464, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30614:5:172", + "referencedDeclaration": 76370, + "src": "30614:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76435, + "id": 76465, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30620:11:172", + "memberLocation": "30620:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30614:17:172", + "referencedDeclaration": 77247, + "src": "30614:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76437, + "id": 76467, "indexExpression": { - "id": 76436, + "id": 76466, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30632:12:172", + "referencedDeclaration": 76372, + "src": "30632:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25907,22 +25907,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30614:31:172", + "src": "30614:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76438, + "id": 76468, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30646:7:172", + "memberLocation": "30646:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "30614:39:172", + "referencedDeclaration": 77221, + "src": "30614:39:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25932,41 +25932,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76439, + "id": 76469, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "30675:14:172", + "referencedDeclaration": 75058, + "src": "30675:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76442, + "id": 76472, "indexExpression": { "expression": { - "id": 76440, + "id": 76470, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30690:5:172", + "referencedDeclaration": 76370, + "src": "30690:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76441, + "id": 76471, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30696:5:172", + "memberLocation": "30696:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "30690:11:172", + "referencedDeclaration": 77238, + "src": "30690:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25977,51 +25977,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30675:27:172", + "src": "30675:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76448, + "id": 76478, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76443, + "id": 76473, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30703:5:172", + "referencedDeclaration": 76370, + "src": "30703:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76444, + "id": 76474, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30709:11:172", + "memberLocation": "30709:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30703:17:172", + "referencedDeclaration": 77247, + "src": "30703:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76446, + "id": 76476, "indexExpression": { - "id": 76445, + "id": 76475, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30721:12:172", + "referencedDeclaration": 76372, + "src": "30721:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26032,22 +26032,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30703:31:172", + "src": "30703:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76447, + "id": 76477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30735:5:172", + "memberLocation": "30735:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "30703:37:172", + "referencedDeclaration": 77217, + "src": "30703:37:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26058,51 +26058,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30675:66:172", + "src": "30675:66:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76454, + "id": 76484, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76449, + "id": 76479, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "30742:5:172", + "referencedDeclaration": 76370, + "src": "30742:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76450, + "id": 76480, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30748:11:172", + "memberLocation": "30748:11:173", "memberName": "validInputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30742:17:172", + "referencedDeclaration": 77247, + "src": "30742:17:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76452, + "id": 76482, "indexExpression": { - "id": 76451, + "id": 76481, "name": "inputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "30760:12:172", + "referencedDeclaration": 76372, + "src": "30760:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26113,22 +26113,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30742:31:172", + "src": "30742:31:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76453, + "id": 76483, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "30799:7:172", + "memberLocation": "30799:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "30742:64:172", + "referencedDeclaration": 77221, + "src": "30742:64:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26139,7 +26139,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30675:132:172", + "src": "30675:132:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26147,14 +26147,14 @@ }, { "hexValue": "30", - "id": 76455, + "id": 76485, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30885:1:172", + "src": "30885:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26186,33 +26186,33 @@ } ], "expression": { - "id": 76416, + "id": 76446, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "30428:15:172", + "referencedDeclaration": 72714, + "src": "30428:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76417, + "id": 76447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "30444:9:172", + "memberLocation": "30444:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72594, - "src": "30428:25:172", + "referencedDeclaration": 72624, + "src": "30428:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76456, + "id": 76486, "isConstant": false, "isLValue": false, "isPure": false, @@ -26221,61 +26221,61 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30428:476:172", + "src": "30428:476:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "30378:526:172", + "src": "30378:526:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76458, + "id": 76488, "nodeType": "ExpressionStatement", - "src": "30378:526:172" + "src": "30378:526:173" }, { "expression": { - "id": 76505, + "id": 76535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76459, + "id": 76489, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "30923:14:172", + "referencedDeclaration": 76404, + "src": "30923:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76463, + "id": 76493, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76462, + "id": 76492, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { - "id": 76460, + "id": 76490, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "30938:28:172", + "referencedDeclaration": 74953, + "src": "30938:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26285,21 +26285,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76461, + "id": 76491, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30969:1:172", + "src": "30969:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "30938:32:172", + "src": "30938:32:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26310,7 +26310,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "30923:48:172", + "src": "30923:48:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -26328,40 +26328,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76470, + "id": 76500, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31037:5:172", + "referencedDeclaration": 76370, + "src": "31037:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76471, + "id": 76501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31043:12:172", + "memberLocation": "31043:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31037:18:172", + "referencedDeclaration": 77251, + "src": "31037:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76473, + "id": 76503, "indexExpression": { - "id": 76472, + "id": 76502, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31056:13:172", + "referencedDeclaration": 76374, + "src": "31056:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26372,22 +26372,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31037:33:172", + "src": "31037:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76474, + "id": 76504, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31071:5:172", + "memberLocation": "31071:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "31037:39:172", + "referencedDeclaration": 77217, + "src": "31037:39:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26401,26 +26401,26 @@ "typeString": "address" } ], - "id": 76469, + "id": 76499, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31029:7:172", + "src": "31029:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76468, + "id": 76498, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "31029:7:172", + "src": "31029:7:173", "typeDescriptions": {} } }, - "id": 76475, + "id": 76505, "isConstant": false, "isLValue": false, "isPure": false, @@ -26429,7 +26429,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31029:48:172", + "src": "31029:48:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -26444,26 +26444,26 @@ "typeString": "uint160" } ], - "id": 76467, + "id": 76497, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31021:7:172", + "src": "31021:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76466, + "id": 76496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31021:7:172", + "src": "31021:7:173", "typeDescriptions": {} } }, - "id": 76476, + "id": 76506, "isConstant": false, "isLValue": false, "isPure": false, @@ -26472,7 +26472,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31021:57:172", + "src": "31021:57:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26483,40 +26483,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76477, + "id": 76507, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31100:5:172", + "referencedDeclaration": 76370, + "src": "31100:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76478, + "id": 76508, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31106:12:172", + "memberLocation": "31106:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31100:18:172", + "referencedDeclaration": 77251, + "src": "31100:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76480, + "id": 76510, "indexExpression": { - "id": 76479, + "id": 76509, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31119:13:172", + "referencedDeclaration": 76374, + "src": "31119:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26527,22 +26527,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31100:33:172", + "src": "31100:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76481, + "id": 76511, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31134:8:172", + "memberLocation": "31134:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "31100:42:172", + "referencedDeclaration": 77219, + "src": "31100:42:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26552,40 +26552,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76482, + "id": 76512, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31164:5:172", + "referencedDeclaration": 76370, + "src": "31164:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76483, + "id": 76513, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31170:12:172", + "memberLocation": "31170:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31164:18:172", + "referencedDeclaration": 77251, + "src": "31164:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76485, + "id": 76515, "indexExpression": { - "id": 76484, + "id": 76514, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31183:13:172", + "referencedDeclaration": 76374, + "src": "31183:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26596,22 +26596,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31164:33:172", + "src": "31164:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76486, + "id": 76516, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31198:7:172", + "memberLocation": "31198:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "31164:41:172", + "referencedDeclaration": 77221, + "src": "31164:41:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26621,41 +26621,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76487, + "id": 76517, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "31227:14:172", + "referencedDeclaration": 75058, + "src": "31227:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76490, + "id": 76520, "indexExpression": { "expression": { - "id": 76488, + "id": 76518, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31242:5:172", + "referencedDeclaration": 76370, + "src": "31242:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76489, + "id": 76519, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31248:5:172", + "memberLocation": "31248:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "31242:11:172", + "referencedDeclaration": 77238, + "src": "31242:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26666,51 +26666,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31227:27:172", + "src": "31227:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76496, + "id": 76526, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76491, + "id": 76521, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31255:5:172", + "referencedDeclaration": 76370, + "src": "31255:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76492, + "id": 76522, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31261:12:172", + "memberLocation": "31261:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31255:18:172", + "referencedDeclaration": 77251, + "src": "31255:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76494, + "id": 76524, "indexExpression": { - "id": 76493, + "id": 76523, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31274:13:172", + "referencedDeclaration": 76374, + "src": "31274:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26721,22 +26721,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31255:33:172", + "src": "31255:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76495, + "id": 76525, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31289:5:172", + "memberLocation": "31289:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "31255:39:172", + "referencedDeclaration": 77217, + "src": "31255:39:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26747,51 +26747,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31227:68:172", + "src": "31227:68:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76502, + "id": 76532, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76497, + "id": 76527, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31296:5:172", + "referencedDeclaration": 76370, + "src": "31296:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76498, + "id": 76528, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31302:12:172", + "memberLocation": "31302:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31296:18:172", + "referencedDeclaration": 77251, + "src": "31296:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76500, + "id": 76530, "indexExpression": { - "id": 76499, + "id": 76529, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "31315:13:172", + "referencedDeclaration": 76374, + "src": "31315:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26802,22 +26802,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31296:33:172", + "src": "31296:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76501, + "id": 76531, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31355:7:172", + "memberLocation": "31355:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "31296:66:172", + "referencedDeclaration": 77221, + "src": "31296:66:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26828,7 +26828,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31227:136:172", + "src": "31227:136:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26836,14 +26836,14 @@ }, { "hexValue": "30", - "id": 76503, + "id": 76533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "31441:1:172", + "src": "31441:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26875,33 +26875,33 @@ } ], "expression": { - "id": 76464, + "id": 76494, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "30974:15:172", + "referencedDeclaration": 72714, + "src": "30974:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76465, + "id": 76495, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "30990:9:172", + "memberLocation": "30990:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72594, - "src": "30974:25:172", + "referencedDeclaration": 72624, + "src": "30974:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76504, + "id": 76534, "isConstant": false, "isLValue": false, "isPure": false, @@ -26910,37 +26910,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30974:486:172", + "src": "30974:486:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "30923:537:172", + "src": "30923:537:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76506, + "id": 76536, "nodeType": "ExpressionStatement", - "src": "30923:537:172" + "src": "30923:537:173" }, { "expression": { - "id": 76513, + "id": 76543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 76507, + "id": 76537, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "31478:7:172", + "referencedDeclaration": 76397, + "src": "31478:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -26951,24 +26951,24 @@ "rightHandSide": { "arguments": [ { - "id": 76510, + "id": 76540, "name": "callingContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31505:14:172", + "referencedDeclaration": 76404, + "src": "31505:14:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, { - "id": 76511, + "id": 76541, "name": "signedContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76350, - "src": "31521:13:172", + "referencedDeclaration": 76380, + "src": "31521:13:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", "typeString": "struct SignedContextV1 memory[] memory" @@ -26987,33 +26987,33 @@ } ], "expression": { - "id": 76508, + "id": 76538, "name": "LibContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57061, - "src": "31488:10:172", + "referencedDeclaration": 57091, + "src": "31488:10:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$57061_$", + "typeIdentifier": "t_type$_t_contract$_LibContext_$57091_$", "typeString": "type(library LibContext)" } }, - "id": 76509, + "id": 76539, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "31499:5:172", + "memberLocation": "31499:5:173", "memberName": "build", "nodeType": "MemberAccess", - "referencedDeclaration": 57060, - "src": "31488:16:172", + "referencedDeclaration": 57090, + "src": "31488:16:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" } }, - "id": 76512, + "id": 76542, "isConstant": false, "isLValue": false, "isPure": false, @@ -27022,39 +27022,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31488:47:172", + "src": "31488:47:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "src": "31478:57:172", + "src": "31478:57:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76514, + "id": 76544, "nodeType": "ExpressionStatement", - "src": "31478:57:172" + "src": "31478:57:173" } ] }, { "assignments": [ - 76518 + 76548 ], "declarations": [ { "constant": false, - "id": 76518, + "id": 76548, "mutability": "mutable", "name": "namespace", - "nameLocation": "31741:9:172", + "nameLocation": "31741:9:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "31726:24:172", + "scope": 76681, + "src": "31726:24:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27062,20 +27062,20 @@ "typeString": "StateNamespace" }, "typeName": { - "id": 76517, + "id": 76547, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76516, + "id": 76546, "name": "StateNamespace", "nameLocations": [ - "31726:14:172" + "31726:14:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56306, - "src": "31726:14:172" + "src": "31726:14:173" }, "referencedDeclaration": 56306, - "src": "31726:14:172", + "src": "31726:14:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -27084,7 +27084,7 @@ "visibility": "internal" } ], - "id": 76530, + "id": 76560, "initialValue": { "arguments": [ { @@ -27093,27 +27093,27 @@ "arguments": [ { "expression": { - "id": 76525, + "id": 76555, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "31789:5:172", + "referencedDeclaration": 76370, + "src": "31789:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76526, + "id": 76556, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "31795:5:172", + "memberLocation": "31795:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "31789:11:172", + "referencedDeclaration": 77238, + "src": "31789:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27127,26 +27127,26 @@ "typeString": "address" } ], - "id": 76524, + "id": 76554, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31781:7:172", + "src": "31781:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76523, + "id": 76553, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "31781:7:172", + "src": "31781:7:173", "typeDescriptions": {} } }, - "id": 76527, + "id": 76557, "isConstant": false, "isLValue": false, "isPure": false, @@ -27155,7 +27155,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31781:20:172", + "src": "31781:20:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -27170,26 +27170,26 @@ "typeString": "uint160" } ], - "id": 76522, + "id": 76552, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "31773:7:172", + "src": "31773:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 76521, + "id": 76551, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31773:7:172", + "src": "31773:7:173", "typeDescriptions": {} } }, - "id": 76528, + "id": 76558, "isConstant": false, "isLValue": false, "isPure": false, @@ -27198,7 +27198,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31773:29:172", + "src": "31773:29:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27214,32 +27214,32 @@ } ], "expression": { - "id": 76519, + "id": 76549, "name": "StateNamespace", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56306, - "src": "31753:14:172", + "src": "31753:14:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56306_$", "typeString": "type(StateNamespace)" } }, - "id": 76520, + "id": 76550, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "31768:4:172", + "memberLocation": "31768:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "31753:19:172", + "src": "31753:19:173", "typeDescriptions": { "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56306_$", "typeString": "function (uint256) pure returns (StateNamespace)" } }, - "id": 76529, + "id": 76559, "isConstant": false, "isLValue": false, "isPure": false, @@ -27248,7 +27248,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "31753:50:172", + "src": "31753:50:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", @@ -27256,23 +27256,23 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "31726:77:172" + "src": "31726:77:173" }, { "assignments": [ - 76535, - 76538 + 76565, + 76568 ], "declarations": [ { "constant": false, - "id": 76535, + "id": 76565, "mutability": "mutable", "name": "calculateOrderStack", - "nameLocation": "32162:19:172", + "nameLocation": "32162:19:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32145:36:172", + "scope": 76681, + "src": "32145:36:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27281,18 +27281,18 @@ }, "typeName": { "baseType": { - "id": 76533, + "id": 76563, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32145:7:172", + "src": "32145:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76534, + "id": 76564, "nodeType": "ArrayTypeName", - "src": "32145:9:172", + "src": "32145:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27302,13 +27302,13 @@ }, { "constant": false, - "id": 76538, + "id": 76568, "mutability": "mutable", "name": "calculateOrderKVs", - "nameLocation": "32200:17:172", + "nameLocation": "32200:17:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32183:34:172", + "scope": 76681, + "src": "32183:34:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27317,18 +27317,18 @@ }, "typeName": { "baseType": { - "id": 76536, + "id": 76566, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32183:7:172", + "src": "32183:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76537, + "id": 76567, "nodeType": "ArrayTypeName", - "src": "32183:9:172", + "src": "32183:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27337,60 +27337,60 @@ "visibility": "internal" } ], - "id": 76554, + "id": 76584, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 76543, + "id": 76573, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32305:5:172", + "referencedDeclaration": 76370, + "src": "32305:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76544, + "id": 76574, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32311:9:172", + "memberLocation": "32311:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "32305:15:172", + "referencedDeclaration": 77243, + "src": "32305:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76545, + "id": 76575, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32321:5:172", + "memberLocation": "32321:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "32305:21:172", + "referencedDeclaration": 57307, + "src": "32305:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 76546, + "id": 76576, "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76518, - "src": "32328:9:172", + "referencedDeclaration": 76548, + "src": "32328:9:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -27401,42 +27401,42 @@ { "expression": { "expression": { - "id": 76548, + "id": 76578, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32363:5:172", + "referencedDeclaration": 76370, + "src": "32363:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76549, + "id": 76579, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32369:9:172", + "memberLocation": "32369:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "32363:15:172", + "referencedDeclaration": 77243, + "src": "32363:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76550, + "id": 76580, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32379:10:172", + "memberLocation": "32379:10:173", "memberName": "expression", "nodeType": "MemberAccess", - "referencedDeclaration": 57279, - "src": "32363:26:172", + "referencedDeclaration": 57309, + "src": "32363:26:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27450,18 +27450,18 @@ "typeString": "address" } ], - "id": 76547, + "id": 76577, "name": "_calculateOrderDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76987, - "src": "32339:23:172", + "referencedDeclaration": 77017, + "src": "32339:23:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address) pure returns (EncodedDispatch)" } }, - "id": 76551, + "id": 76581, "isConstant": false, "isLValue": false, "isPure": false, @@ -27470,7 +27470,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32339:51:172", + "src": "32339:51:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", @@ -27478,12 +27478,12 @@ } }, { - "id": 76552, + "id": 76582, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "32392:7:172", + "referencedDeclaration": 76397, + "src": "32392:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -27512,63 +27512,63 @@ "expression": { "expression": { "expression": { - "id": 76539, + "id": 76569, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32221:5:172", + "referencedDeclaration": 76370, + "src": "32221:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76540, + "id": 76570, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32244:9:172", + "memberLocation": "32244:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "32221:32:172", + "referencedDeclaration": 77243, + "src": "32221:32:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76541, + "id": 76571, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32271:11:172", + "memberLocation": "32271:11:173", "memberName": "interpreter", "nodeType": "MemberAccess", - "referencedDeclaration": 57274, - "src": "32221:61:172", + "referencedDeclaration": 57304, + "src": "32221:61:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, - "id": 76542, + "id": 76572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "32300:4:172", + "memberLocation": "32300:4:173", "memberName": "eval", "nodeType": "MemberAccess", "referencedDeclaration": 56346, - "src": "32221:83:172", + "src": "32221:83:173", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" } }, - "id": 76553, + "id": 76583, "isConstant": false, "isLValue": false, "isPure": false, @@ -27577,7 +27577,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32221:179:172", + "src": "32221:179:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", @@ -27585,100 +27585,100 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "32144:256:172" + "src": "32144:256:173" }, { "assignments": [ - 76557 + 76587 ], "declarations": [ { "constant": false, - "id": 76557, + "id": 76587, "mutability": "mutable", "name": "orderOutputMax18", - "nameLocation": "32430:16:172", + "nameLocation": "32430:16:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32415:31:172", + "scope": 76681, + "src": "32415:31:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 76556, + "id": 76586, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76555, + "id": 76585, "name": "Output18Amount", "nameLocations": [ - "32415:14:172" + "32415:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "32415:14:172" + "referencedDeclaration": 75007, + "src": "32415:14:173" }, - "referencedDeclaration": 74977, - "src": "32415:14:172", + "referencedDeclaration": 75007, + "src": "32415:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 76567, + "id": 76597, "initialValue": { "arguments": [ { "baseExpression": { - "id": 76560, + "id": 76590, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32469:19:172", + "referencedDeclaration": 76565, + "src": "32469:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76565, + "id": 76595, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76564, + "id": 76594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76561, + "id": 76591, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32489:19:172", + "referencedDeclaration": 76565, + "src": "32489:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76562, + "id": 76592, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "32509:6:172", + "memberLocation": "32509:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "32489:26:172", + "src": "32489:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27688,21 +27688,21 @@ "operator": "-", "rightExpression": { "hexValue": "32", - "id": 76563, + "id": 76593, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32518:1:172", + "src": "32518:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "32489:30:172", + "src": "32489:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27713,7 +27713,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32469:51:172", + "src": "32469:51:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27728,32 +27728,32 @@ } ], "expression": { - "id": 76558, + "id": 76588, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "32449:14:172", + "referencedDeclaration": 75007, + "src": "32449:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76559, + "id": 76589, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "32464:4:172", + "memberLocation": "32464:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "32449:19:172", + "src": "32449:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 76566, + "id": 76596, "isConstant": false, "isLValue": false, "isPure": false, @@ -27762,30 +27762,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32449:72:172", + "src": "32449:72:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "32415:106:172" + "src": "32415:106:173" }, { "assignments": [ - 76569 + 76599 ], "declarations": [ { "constant": false, - "id": 76569, + "id": 76599, "mutability": "mutable", "name": "orderIORatio", - "nameLocation": "32543:12:172", + "nameLocation": "32543:12:173", "nodeType": "VariableDeclaration", - "scope": 76651, - "src": "32535:20:172", + "scope": 76681, + "src": "32535:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27793,10 +27793,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76568, + "id": 76598, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32535:7:172", + "src": "32535:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,53 +27805,53 @@ "visibility": "internal" } ], - "id": 76576, + "id": 76606, "initialValue": { "baseExpression": { - "id": 76570, + "id": 76600, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32558:19:172", + "referencedDeclaration": 76565, + "src": "32558:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76575, + "id": 76605, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76574, + "id": 76604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76571, + "id": 76601, "name": "calculateOrderStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76535, - "src": "32578:19:172", + "referencedDeclaration": 76565, + "src": "32578:19:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76572, + "id": 76602, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "32598:6:172", + "memberLocation": "32598:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "32578:26:172", + "src": "32578:26:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27861,21 +27861,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 76573, + "id": 76603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32607:1:172", + "src": "32607:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "32578:30:172", + "src": "32578:30:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27886,34 +27886,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32558:51:172", + "src": "32558:51:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32535:74:172" + "src": "32535:74:173" }, { - "id": 76627, + "id": 76657, "nodeType": "Block", - "src": "32624:1718:172", + "src": "32624:1718:173", "statements": [ { "assignments": [ - 76578 + 76608 ], "declarations": [ { "constant": false, - "id": 76578, + "id": 76608, "mutability": "mutable", "name": "ownerVaultBalance", - "nameLocation": "32786:17:172", + "nameLocation": "32786:17:173", "nodeType": "VariableDeclaration", - "scope": 76627, - "src": "32778:25:172", + "scope": 76657, + "src": "32778:25:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27921,10 +27921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76577, + "id": 76607, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32778:7:172", + "src": "32778:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27933,46 +27933,46 @@ "visibility": "internal" } ], - "id": 76595, + "id": 76625, "initialValue": { "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76579, + "id": 76609, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "32806:14:172", + "referencedDeclaration": 75058, + "src": "32806:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76582, + "id": 76612, "indexExpression": { "expression": { - "id": 76580, + "id": 76610, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32821:5:172", + "referencedDeclaration": 76370, + "src": "32821:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76581, + "id": 76611, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32827:5:172", + "memberLocation": "32827:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "32821:11:172", + "referencedDeclaration": 77238, + "src": "32821:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27983,51 +27983,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32806:27:172", + "src": "32806:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76588, + "id": 76618, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76583, + "id": 76613, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32834:5:172", + "referencedDeclaration": 76370, + "src": "32834:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76584, + "id": 76614, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32840:12:172", + "memberLocation": "32840:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "32834:18:172", + "referencedDeclaration": 77251, + "src": "32834:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76586, + "id": 76616, "indexExpression": { - "id": 76585, + "id": 76615, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "32853:13:172", + "referencedDeclaration": 76374, + "src": "32853:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28038,22 +28038,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32834:33:172", + "src": "32834:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76587, + "id": 76617, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32868:5:172", + "memberLocation": "32868:5:173", "memberName": "token", "nodeType": "MemberAccess", - "referencedDeclaration": 77187, - "src": "32834:39:172", + "referencedDeclaration": 77217, + "src": "32834:39:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28064,51 +28064,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32806:68:172", + "src": "32806:68:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76594, + "id": 76624, "indexExpression": { "expression": { "baseExpression": { "expression": { - "id": 76589, + "id": 76619, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "32875:5:172", + "referencedDeclaration": 76370, + "src": "32875:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76590, + "id": 76620, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32902:12:172", + "memberLocation": "32902:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "32875:39:172", + "referencedDeclaration": 77251, + "src": "32875:39:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76592, + "id": 76622, "indexExpression": { - "id": 76591, + "id": 76621, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "32915:13:172", + "referencedDeclaration": 76374, + "src": "32915:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28119,22 +28119,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32875:54:172", + "src": "32875:54:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76593, + "id": 76623, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "32930:7:172", + "memberLocation": "32930:7:173", "memberName": "vaultId", "nodeType": "MemberAccess", - "referencedDeclaration": 77191, - "src": "32875:62:172", + "referencedDeclaration": 77221, + "src": "32875:62:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28145,59 +28145,59 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32806:132:172", + "src": "32806:132:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32778:160:172" + "src": "32778:160:173" }, { "assignments": [ - 76598 + 76628 ], "declarations": [ { "constant": false, - "id": 76598, + "id": 76628, "mutability": "mutable", "name": "ownerVaultBalance18", - "nameLocation": "34006:19:172", + "nameLocation": "34006:19:173", "nodeType": "VariableDeclaration", - "scope": 76627, - "src": "33991:34:172", + "scope": 76657, + "src": "33991:34:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 76597, + "id": 76627, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76596, + "id": 76626, "name": "Output18Amount", "nameLocations": [ - "33991:14:172" + "33991:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "33991:14:172" + "referencedDeclaration": 75007, + "src": "33991:14:173" }, - "referencedDeclaration": 74977, - "src": "33991:14:172", + "referencedDeclaration": 75007, + "src": "33991:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 76611, + "id": 76641, "initialValue": { "arguments": [ { @@ -28206,40 +28206,40 @@ "expression": { "baseExpression": { "expression": { - "id": 76603, + "id": 76633, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "34094:5:172", + "referencedDeclaration": 76370, + "src": "34094:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76604, + "id": 76634, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "34100:12:172", + "memberLocation": "34100:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "34094:18:172", + "referencedDeclaration": 77251, + "src": "34094:18:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76606, + "id": 76636, "indexExpression": { - "id": 76605, + "id": 76635, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "34113:13:172", + "referencedDeclaration": 76374, + "src": "34113:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28250,22 +28250,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34094:33:172", + "src": "34094:33:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76607, + "id": 76637, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "34128:8:172", + "memberLocation": "34128:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "34094:42:172", + "referencedDeclaration": 77219, + "src": "34094:42:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -28273,14 +28273,14 @@ }, { "hexValue": "30", - "id": 76608, + "id": 76638, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34138:1:172", + "src": "34138:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28300,33 +28300,33 @@ } ], "expression": { - "id": 76601, + "id": 76631, "name": "ownerVaultBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76578, - "src": "34068:17:172", + "referencedDeclaration": 76608, + "src": "34068:17:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76602, + "id": 76632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "34086:7:172", + "memberLocation": "34086:7:173", "memberName": "scale18", "nodeType": "MemberAccess", - "referencedDeclaration": 71561, - "src": "34068:25:172", + "referencedDeclaration": 71591, + "src": "34068:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 76609, + "id": 76639, "isConstant": false, "isLValue": false, "isPure": false, @@ -28335,7 +28335,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34068:72:172", + "src": "34068:72:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28351,32 +28351,32 @@ } ], "expression": { - "id": 76599, + "id": 76629, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34048:14:172", + "referencedDeclaration": 75007, + "src": "34048:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76600, + "id": 76630, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34063:4:172", + "memberLocation": "34063:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "34048:19:172", + "src": "34048:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 76610, + "id": 76640, "isConstant": false, "isLValue": false, "isPure": false, @@ -28385,15 +28385,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34048:93:172", + "src": "34048:93:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "33991:150:172" + "src": "33991:150:173" }, { "condition": { @@ -28401,7 +28401,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76620, + "id": 76650, "isConstant": false, "isLValue": false, "isPure": false, @@ -28409,14 +28409,14 @@ "leftExpression": { "arguments": [ { - "id": 76614, + "id": 76644, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34185:16:172", + "referencedDeclaration": 76587, + "src": "34185:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -28424,37 +28424,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76612, + "id": 76642, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34163:14:172", + "referencedDeclaration": 75007, + "src": "34163:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76613, + "id": 76643, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34178:6:172", + "memberLocation": "34178:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "34163:21:172", + "src": "34163:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76615, + "id": 76645, "isConstant": false, "isLValue": false, "isPure": false, @@ -28463,7 +28463,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34163:39:172", + "src": "34163:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28475,14 +28475,14 @@ "rightExpression": { "arguments": [ { - "id": 76618, + "id": 76648, "name": "ownerVaultBalance18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76598, - "src": "34227:19:172", + "referencedDeclaration": 76628, + "src": "34227:19:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -28490,37 +28490,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76616, + "id": 76646, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34205:14:172", + "referencedDeclaration": 75007, + "src": "34205:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76617, + "id": 76647, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34220:6:172", + "memberLocation": "34220:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "34205:21:172", + "src": "34205:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76619, + "id": 76649, "isConstant": false, "isLValue": false, "isPure": false, @@ -28529,69 +28529,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34205:42:172", + "src": "34205:42:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34163:84:172", + "src": "34163:84:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76626, + "id": 76656, "nodeType": "IfStatement", - "src": "34159:169:172", + "src": "34159:169:173", "trueBody": { - "id": 76625, + "id": 76655, "nodeType": "Block", - "src": "34249:79:172", + "src": "34249:79:173", "statements": [ { "expression": { - "id": 76623, + "id": 76653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 76621, + "id": 76651, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34271:16:172", + "referencedDeclaration": 76587, + "src": "34271:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 76622, + "id": 76652, "name": "ownerVaultBalance18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76598, - "src": "34290:19:172", + "referencedDeclaration": 76628, + "src": "34290:19:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "src": "34271:38:172", + "src": "34271:38:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "id": 76624, + "id": 76654, "nodeType": "ExpressionStatement", - "src": "34271:38:172" + "src": "34271:38:173" } ] } @@ -28600,32 +28600,32 @@ }, { "expression": { - "id": 76639, + "id": 76669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 76628, + "id": 76658, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "34439:7:172", + "referencedDeclaration": 76397, + "src": "34439:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76630, + "id": 76660, "indexExpression": { - "id": 76629, + "id": 76659, "name": "CONTEXT_CALCULATIONS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74915, - "src": "34447:27:172", + "referencedDeclaration": 74945, + "src": "34447:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28636,7 +28636,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "34439:36:172", + "src": "34439:36:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28649,14 +28649,14 @@ { "arguments": [ { - "id": 76635, + "id": 76665, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34542:16:172", + "referencedDeclaration": 76587, + "src": "34542:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -28664,37 +28664,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76633, + "id": 76663, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "34520:14:172", + "referencedDeclaration": 75007, + "src": "34520:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76634, + "id": 76664, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "34535:6:172", + "memberLocation": "34535:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "34520:21:172", + "src": "34520:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76636, + "id": 76666, "isConstant": false, "isLValue": false, "isPure": false, @@ -28703,7 +28703,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34520:39:172", + "src": "34520:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28711,12 +28711,12 @@ } }, { - "id": 76637, + "id": 76667, "name": "orderIORatio", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "34561:12:172", + "referencedDeclaration": 76599, + "src": "34561:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28735,33 +28735,33 @@ } ], "expression": { - "id": 76631, + "id": 76661, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72684, - "src": "34494:15:172", + "referencedDeclaration": 72714, + "src": "34494:15:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72684_$", + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", "typeString": "type(library LibUint256Array)" } }, - "id": 76632, + "id": 76662, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "34510:9:172", + "memberLocation": "34510:9:173", "memberName": "arrayFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 72543, - "src": "34494:25:172", + "referencedDeclaration": 72573, + "src": "34494:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" } }, - "id": 76638, + "id": 76668, "isConstant": false, "isLValue": false, "isPure": false, @@ -28770,105 +28770,105 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34494:80:172", + "src": "34494:80:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "34439:135:172", + "src": "34439:135:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76640, + "id": 76670, "nodeType": "ExpressionStatement", - "src": "34439:135:172" + "src": "34439:135:173" }, { "expression": { "arguments": [ { - "id": 76642, + "id": 76672, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76340, - "src": "34632:5:172", + "referencedDeclaration": 76370, + "src": "34632:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, { - "id": 76643, + "id": 76673, "name": "outputIOIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76344, - "src": "34639:13:172", + "referencedDeclaration": 76374, + "src": "34639:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76644, + "id": 76674, "name": "orderOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76557, - "src": "34654:16:172", + "referencedDeclaration": 76587, + "src": "34654:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, { - "id": 76645, + "id": 76675, "name": "orderIORatio", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "34672:12:172", + "referencedDeclaration": 76599, + "src": "34672:12:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 76646, + "id": 76676, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76367, - "src": "34686:7:172", + "referencedDeclaration": 76397, + "src": "34686:7:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, { - "id": 76647, + "id": 76677, "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76518, - "src": "34695:9:172", + "referencedDeclaration": 76548, + "src": "34695:9:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, { - "id": 76648, + "id": 76678, "name": "calculateOrderKVs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76538, - "src": "34706:17:172", + "referencedDeclaration": 76568, + "src": "34706:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28878,7 +28878,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" }, { @@ -28886,7 +28886,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, { @@ -28906,18 +28906,18 @@ "typeString": "uint256[] memory" } ], - "id": 76641, + "id": 76671, "name": "OrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "34596:18:172", + "referencedDeclaration": 75005, + "src": "34596:18:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$74975_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$75005_storage_ptr_$", "typeString": "type(struct OrderIOCalculation storage pointer)" } }, - "id": 76649, + "id": 76679, "isConstant": false, "isLValue": false, "isPure": false, @@ -28926,69 +28926,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "34596:141:172", + "src": "34596:141:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "functionReturnParameters": 76355, - "id": 76650, + "functionReturnParameters": 76385, + "id": 76680, "nodeType": "Return", - "src": "34589:148:172" + "src": "34589:148:173" } ] } ] }, "documentation": { - "id": 76337, + "id": 76367, "nodeType": "StructuredDocumentation", - "src": "28942:693:172", + "src": "28942:693:173", "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." }, "implemented": true, "kind": "function", "modifiers": [], "name": "calculateOrderIO", - "nameLocation": "29649:16:172", + "nameLocation": "29649:16:173", "parameters": { - "id": 76351, + "id": 76381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76340, + "id": 76370, "mutability": "mutable", "name": "order", - "nameLocation": "29688:5:172", + "nameLocation": "29688:5:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29675:18:172", + "scope": 76683, + "src": "29675:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76339, + "id": 76369, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76338, + "id": 76368, "name": "Order", "nameLocations": [ - "29675:5:172" + "29675:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "29675:5:172" + "referencedDeclaration": 77252, + "src": "29675:5:173" }, - "referencedDeclaration": 77222, - "src": "29675:5:172", + "referencedDeclaration": 77252, + "src": "29675:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -28996,13 +28996,13 @@ }, { "constant": false, - "id": 76342, + "id": 76372, "mutability": "mutable", "name": "inputIOIndex", - "nameLocation": "29711:12:172", + "nameLocation": "29711:12:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29703:20:172", + "scope": 76683, + "src": "29703:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29010,10 +29010,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76341, + "id": 76371, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29703:7:172", + "src": "29703:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29023,13 +29023,13 @@ }, { "constant": false, - "id": 76344, + "id": 76374, "mutability": "mutable", "name": "outputIOIndex", - "nameLocation": "29741:13:172", + "nameLocation": "29741:13:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29733:21:172", + "scope": 76683, + "src": "29733:21:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29037,10 +29037,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76343, + "id": 76373, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29733:7:172", + "src": "29733:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29050,13 +29050,13 @@ }, { "constant": false, - "id": 76346, + "id": 76376, "mutability": "mutable", "name": "counterparty", - "nameLocation": "29772:12:172", + "nameLocation": "29772:12:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29764:20:172", + "scope": 76683, + "src": "29764:20:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29064,10 +29064,10 @@ "typeString": "address" }, "typeName": { - "id": 76345, + "id": 76375, "name": "address", "nodeType": "ElementaryTypeName", - "src": "29764:7:172", + "src": "29764:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29078,13 +29078,13 @@ }, { "constant": false, - "id": 76350, + "id": 76380, "mutability": "mutable", "name": "signedContext", - "nameLocation": "29819:13:172", + "nameLocation": "29819:13:173", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29794:38:172", + "scope": 76683, + "src": "29794:38:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -29093,28 +29093,28 @@ }, "typeName": { "baseType": { - "id": 76348, + "id": 76378, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76347, + "id": 76377, "name": "SignedContextV1", "nameLocations": [ - "29794:15:172" + "29794:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56240, - "src": "29794:15:172" + "src": "29794:15:173" }, "referencedDeclaration": 56240, - "src": "29794:15:172", + "src": "29794:15:173", "typeDescriptions": { "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", "typeString": "struct SignedContextV1" } }, - "id": 76349, + "id": 76379, "nodeType": "ArrayTypeName", - "src": "29794:17:172", + "src": "29794:17:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", "typeString": "struct SignedContextV1[]" @@ -29123,71 +29123,71 @@ "visibility": "internal" } ], - "src": "29665:173:172" + "src": "29665:173:173" }, "returnParameters": { - "id": 76355, + "id": 76385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76354, + "id": 76384, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 76653, - "src": "29862:25:172", + "scope": 76683, + "src": "29862:25:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76353, + "id": 76383, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76352, + "id": 76382, "name": "OrderIOCalculation", "nameLocations": [ - "29862:18:172" + "29862:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "29862:18:172" + "referencedDeclaration": 75005, + "src": "29862:18:173" }, - "referencedDeclaration": 74975, - "src": "29862:18:172", + "referencedDeclaration": 75005, + "src": "29862:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "29861:27:172" + "src": "29861:27:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 76830, + "id": 76860, "nodeType": "FunctionDefinition", - "src": "35328:3665:172", + "src": "35328:3665:173", "nodes": [], "body": { - "id": 76829, + "id": 76859, "nodeType": "Block", - "src": "35495:3498:172", + "src": "35495:3498:173", "nodes": [], "statements": [ { "expression": { - "id": 76675, + "id": 76705, "isConstant": false, "isLValue": false, "isPure": false, @@ -29196,40 +29196,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76667, + "id": 76697, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35505:18:172", + "referencedDeclaration": 76694, + "src": "35505:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76671, + "id": 76701, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35524:7:172", + "memberLocation": "35524:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35505:26:172", + "referencedDeclaration": 74998, + "src": "35505:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76672, + "id": 76702, "indexExpression": { - "id": 76669, + "id": 76699, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "35532:27:172", + "referencedDeclaration": 74949, + "src": "35532:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29240,20 +29240,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35505:55:172", + "src": "35505:55:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76673, + "id": 76703, "indexExpression": { - "id": 76670, + "id": 76700, "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "35561:29:172", + "referencedDeclaration": 74973, + "src": "35561:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29264,7 +29264,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "35505:86:172", + "src": "35505:86:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29273,30 +29273,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 76674, + "id": 76704, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76659, - "src": "35594:5:172", + "referencedDeclaration": 76689, + "src": "35594:5:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35505:94:172", + "src": "35505:94:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76676, + "id": 76706, "nodeType": "ExpressionStatement", - "src": "35505:94:172" + "src": "35505:94:173" }, { "expression": { - "id": 76685, + "id": 76715, "isConstant": false, "isLValue": false, "isPure": false, @@ -29305,40 +29305,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76677, + "id": 76707, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35609:18:172", + "referencedDeclaration": 76694, + "src": "35609:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76681, + "id": 76711, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35628:7:172", + "memberLocation": "35628:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35609:26:172", + "referencedDeclaration": 74998, + "src": "35609:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76682, + "id": 76712, "indexExpression": { - "id": 76679, + "id": 76709, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "35636:28:172", + "referencedDeclaration": 74953, + "src": "35636:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29349,20 +29349,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35609:56:172", + "src": "35609:56:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76683, + "id": 76713, "indexExpression": { - "id": 76680, + "id": 76710, "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "35666:29:172", + "referencedDeclaration": 74973, + "src": "35666:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29373,7 +29373,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "35609:87:172", + "src": "35609:87:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29382,26 +29382,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 76684, + "id": 76714, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "35699:6:172", + "referencedDeclaration": 76691, + "src": "35699:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35609:96:172", + "src": "35609:96:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76686, + "id": 76716, "nodeType": "ExpressionStatement", - "src": "35609:96:172" + "src": "35609:96:173" }, { "condition": { @@ -29409,18 +29409,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76689, + "id": 76719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76687, + "id": 76717, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76659, - "src": "35720:5:172", + "referencedDeclaration": 76689, + "src": "35720:5:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29430,37 +29430,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76688, + "id": 76718, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35728:1:172", + "src": "35728:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "35720:9:172", + "src": "35720:9:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76718, + "id": 76748, "nodeType": "IfStatement", - "src": "35716:360:172", + "src": "35716:360:173", "trueBody": { - "id": 76717, + "id": 76747, "nodeType": "Block", - "src": "35731:345:172", + "src": "35731:345:173", "statements": [ { "expression": { - "id": 76715, + "id": 76745, "isConstant": false, "isLValue": false, "isPure": false, @@ -29469,41 +29469,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76690, + "id": 76720, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "35816:14:172", + "referencedDeclaration": 75058, + "src": "35816:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76711, + "id": 76741, "indexExpression": { "expression": { - "id": 76691, + "id": 76721, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "35831:5:172", + "referencedDeclaration": 76687, + "src": "35831:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76692, + "id": 76722, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35837:5:172", + "memberLocation": "35837:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "35831:11:172", + "referencedDeclaration": 77238, + "src": "35831:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29514,13 +29514,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35816:27:172", + "src": "35816:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76712, + "id": 76742, "indexExpression": { "arguments": [ { @@ -29529,40 +29529,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76697, + "id": 76727, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35877:18:172", + "referencedDeclaration": 76694, + "src": "35877:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76698, + "id": 76728, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35896:7:172", + "memberLocation": "35896:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35877:26:172", + "referencedDeclaration": 74998, + "src": "35877:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76700, + "id": 76730, "indexExpression": { - "id": 76699, + "id": 76729, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "35904:27:172", + "referencedDeclaration": 74949, + "src": "35904:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29573,20 +29573,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35877:55:172", + "src": "35877:55:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76702, + "id": 76732, "indexExpression": { - "id": 76701, + "id": 76731, "name": "CONTEXT_VAULT_IO_TOKEN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74927, - "src": "35933:22:172", + "referencedDeclaration": 74957, + "src": "35933:22:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29597,7 +29597,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35877:79:172", + "src": "35877:79:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29611,26 +29611,26 @@ "typeString": "uint256" } ], - "id": 76696, + "id": 76726, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "35869:7:172", + "src": "35869:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76695, + "id": 76725, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "35869:7:172", + "src": "35869:7:173", "typeDescriptions": {} } }, - "id": 76703, + "id": 76733, "isConstant": false, "isLValue": false, "isPure": false, @@ -29639,7 +29639,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "35869:88:172", + "src": "35869:88:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -29654,26 +29654,26 @@ "typeString": "uint160" } ], - "id": 76694, + "id": 76724, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "35844:7:172", + "src": "35844:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 76693, + "id": 76723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35844:7:172", + "src": "35844:7:173", "typeDescriptions": {} } }, - "id": 76704, + "id": 76734, "isConstant": false, "isLValue": false, "isPure": false, @@ -29682,7 +29682,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "35844:127:172", + "src": "35844:127:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -29694,51 +29694,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35816:156:172", + "src": "35816:156:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76713, + "id": 76743, "indexExpression": { "baseExpression": { "baseExpression": { "expression": { - "id": 76705, + "id": 76735, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "35973:18:172", + "referencedDeclaration": 76694, + "src": "35973:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76706, + "id": 76736, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "35992:7:172", + "memberLocation": "35992:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "35973:26:172", + "referencedDeclaration": 74998, + "src": "35973:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76708, + "id": 76738, "indexExpression": { - "id": 76707, + "id": 76737, "name": "CONTEXT_VAULT_INPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74919, - "src": "36000:27:172", + "referencedDeclaration": 74949, + "src": "36000:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29749,20 +29749,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35973:55:172", + "src": "35973:55:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76710, + "id": 76740, "indexExpression": { - "id": 76709, + "id": 76739, "name": "CONTEXT_VAULT_IO_VAULT_ID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74935, - "src": "36029:25:172", + "referencedDeclaration": 74965, + "src": "36029:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29773,7 +29773,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35973:82:172", + "src": "35973:82:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29784,7 +29784,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "35816:240:172", + "src": "35816:240:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29793,26 +29793,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 76714, + "id": 76744, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76659, - "src": "36060:5:172", + "referencedDeclaration": 76689, + "src": "36060:5:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35816:249:172", + "src": "35816:249:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76716, + "id": 76746, "nodeType": "ExpressionStatement", - "src": "35816:249:172" + "src": "35816:249:173" } ] } @@ -29823,18 +29823,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76721, + "id": 76751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 76719, + "id": 76749, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "36089:6:172", + "referencedDeclaration": 76691, + "src": "36089:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29844,37 +29844,37 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76720, + "id": 76750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36098:1:172", + "src": "36098:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "36089:10:172", + "src": "36089:10:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76750, + "id": 76780, "nodeType": "IfStatement", - "src": "36085:365:172", + "src": "36085:365:173", "trueBody": { - "id": 76749, + "id": 76779, "nodeType": "Block", - "src": "36101:349:172", + "src": "36101:349:173", "statements": [ { "expression": { - "id": 76747, + "id": 76777, "isConstant": false, "isLValue": false, "isPure": false, @@ -29883,41 +29883,41 @@ "baseExpression": { "baseExpression": { "baseExpression": { - "id": 76722, + "id": 76752, "name": "sVaultBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75028, - "src": "36187:14:172", + "referencedDeclaration": 75058, + "src": "36187:14:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" } }, - "id": 76743, + "id": 76773, "indexExpression": { "expression": { - "id": 76723, + "id": 76753, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "36202:5:172", + "referencedDeclaration": 76687, + "src": "36202:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76724, + "id": 76754, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36208:5:172", + "memberLocation": "36208:5:173", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 77208, - "src": "36202:11:172", + "referencedDeclaration": 77238, + "src": "36202:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29928,13 +29928,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36187:27:172", + "src": "36187:27:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, - "id": 76744, + "id": 76774, "indexExpression": { "arguments": [ { @@ -29943,40 +29943,40 @@ "baseExpression": { "baseExpression": { "expression": { - "id": 76729, + "id": 76759, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36248:18:172", + "referencedDeclaration": 76694, + "src": "36248:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76730, + "id": 76760, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36267:7:172", + "memberLocation": "36267:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "36248:26:172", + "referencedDeclaration": 74998, + "src": "36248:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76732, + "id": 76762, "indexExpression": { - "id": 76731, + "id": 76761, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "36275:28:172", + "referencedDeclaration": 74953, + "src": "36275:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29987,20 +29987,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36248:56:172", + "src": "36248:56:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76734, + "id": 76764, "indexExpression": { - "id": 76733, + "id": 76763, "name": "CONTEXT_VAULT_IO_TOKEN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74927, - "src": "36305:22:172", + "referencedDeclaration": 74957, + "src": "36305:22:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30011,7 +30011,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36248:80:172", + "src": "36248:80:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30025,26 +30025,26 @@ "typeString": "uint256" } ], - "id": 76728, + "id": 76758, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "36240:7:172", + "src": "36240:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 76727, + "id": 76757, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "36240:7:172", + "src": "36240:7:173", "typeDescriptions": {} } }, - "id": 76735, + "id": 76765, "isConstant": false, "isLValue": false, "isPure": false, @@ -30053,7 +30053,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36240:89:172", + "src": "36240:89:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -30068,26 +30068,26 @@ "typeString": "uint160" } ], - "id": 76726, + "id": 76756, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "36215:7:172", + "src": "36215:7:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 76725, + "id": 76755, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36215:7:172", + "src": "36215:7:173", "typeDescriptions": {} } }, - "id": 76736, + "id": 76766, "isConstant": false, "isLValue": false, "isPure": false, @@ -30096,7 +30096,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36215:128:172", + "src": "36215:128:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -30108,51 +30108,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36187:157:172", + "src": "36187:157:173", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 76745, + "id": 76775, "indexExpression": { "baseExpression": { "baseExpression": { "expression": { - "id": 76737, + "id": 76767, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36345:18:172", + "referencedDeclaration": 76694, + "src": "36345:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76738, + "id": 76768, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36364:7:172", + "memberLocation": "36364:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "36345:26:172", + "referencedDeclaration": 74998, + "src": "36345:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" } }, - "id": 76740, + "id": 76770, "indexExpression": { - "id": 76739, + "id": 76769, "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "36372:28:172", + "referencedDeclaration": 74953, + "src": "36372:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30163,20 +30163,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36345:56:172", + "src": "36345:56:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76742, + "id": 76772, "indexExpression": { - "id": 76741, + "id": 76771, "name": "CONTEXT_VAULT_IO_VAULT_ID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74935, - "src": "36402:25:172", + "referencedDeclaration": 74965, + "src": "36402:25:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30187,7 +30187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36345:83:172", + "src": "36345:83:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30198,7 +30198,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "36187:242:172", + "src": "36187:242:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30207,26 +30207,26 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 76746, + "id": 76776, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "36433:6:172", + "referencedDeclaration": 76691, + "src": "36433:6:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "36187:252:172", + "src": "36187:252:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76748, + "id": 76778, "nodeType": "ExpressionStatement", - "src": "36187:252:172" + "src": "36187:252:173" } ] } @@ -30236,26 +30236,26 @@ "arguments": [ { "expression": { - "id": 76752, + "id": 76782, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "36624:3:172", + "src": "36624:3:173", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 76753, + "id": 76783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "36628:6:172", + "memberLocation": "36628:6:173", "memberName": "sender", "nodeType": "MemberAccess", - "src": "36624:10:172", + "src": "36624:10:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30263,27 +30263,27 @@ }, { "expression": { - "id": 76754, + "id": 76784, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36636:18:172", + "referencedDeclaration": 76694, + "src": "36636:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76755, + "id": 76785, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36655:7:172", + "memberLocation": "36655:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "36636:26:172", + "referencedDeclaration": 74998, + "src": "36636:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -30301,18 +30301,18 @@ "typeString": "uint256[] memory[] memory" } ], - "id": 76751, + "id": 76781, "name": "Context", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 56259, - "src": "36616:7:172", + "src": "36616:7:173", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (address,uint256[] memory[] memory)" } }, - "id": 76756, + "id": 76786, "isConstant": false, "isLValue": false, "isPure": false, @@ -30321,16 +30321,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36616:47:172", + "src": "36616:47:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76757, + "id": 76787, "nodeType": "EmitStatement", - "src": "36611:52:172" + "src": "36611:52:173" }, { "condition": { @@ -30338,7 +30338,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76762, + "id": 76792, "isConstant": false, "isLValue": false, "isPure": false, @@ -30346,41 +30346,41 @@ "leftExpression": { "expression": { "expression": { - "id": 76758, + "id": 76788, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "36894:18:172", + "referencedDeclaration": 76694, + "src": "36894:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76759, + "id": 76789, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "36913:3:172", + "memberLocation": "36913:3:173", "memberName": "kvs", "nodeType": "MemberAccess", - "referencedDeclaration": 74974, - "src": "36894:22:172", + "referencedDeclaration": 75004, + "src": "36894:22:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76760, + "id": 76790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "36917:6:172", + "memberLocation": "36917:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "36894:29:172", + "src": "36894:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30390,60 +30390,60 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76761, + "id": 76791, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36926:1:172", + "src": "36926:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "36894:33:172", + "src": "36894:33:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76777, + "id": 76807, "nodeType": "IfStatement", - "src": "36890:470:172", + "src": "36890:470:173", "trueBody": { - "id": 76776, + "id": 76806, "nodeType": "Block", - "src": "36929:431:172", + "src": "36929:431:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 76770, + "id": 76800, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "37296:18:172", + "referencedDeclaration": 76694, + "src": "37296:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76771, + "id": 76801, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37315:9:172", + "memberLocation": "37315:9:173", "memberName": "namespace", "nodeType": "MemberAccess", - "referencedDeclaration": 74971, - "src": "37296:28:172", + "referencedDeclaration": 75001, + "src": "37296:28:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -30451,27 +30451,27 @@ }, { "expression": { - "id": 76772, + "id": 76802, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "37326:18:172", + "referencedDeclaration": 76694, + "src": "37326:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76773, + "id": 76803, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37345:3:172", + "memberLocation": "37345:3:173", "memberName": "kvs", "nodeType": "MemberAccess", - "referencedDeclaration": 74974, - "src": "37326:22:172", + "referencedDeclaration": 75004, + "src": "37326:22:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -30492,63 +30492,63 @@ "expression": { "expression": { "expression": { - "id": 76763, + "id": 76793, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "37270:5:172", + "referencedDeclaration": 76687, + "src": "37270:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76767, + "id": 76797, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37276:9:172", + "memberLocation": "37276:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "37270:15:172", + "referencedDeclaration": 77243, + "src": "37270:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76768, + "id": 76798, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37286:5:172", + "memberLocation": "37286:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "37270:21:172", + "referencedDeclaration": 57307, + "src": "37270:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, - "id": 76769, + "id": 76799, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "37292:3:172", + "memberLocation": "37292:3:173", "memberName": "set", "nodeType": "MemberAccess", "referencedDeclaration": 56285, - "src": "37270:25:172", + "src": "37270:25:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (StateNamespace,uint256[] memory) external" } }, - "id": 76774, + "id": 76804, "isConstant": false, "isLValue": false, "isPure": false, @@ -30557,16 +30557,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "37270:79:172", + "src": "37270:79:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76775, + "id": 76805, "nodeType": "ExpressionStatement", - "src": "37270:79:172" + "src": "37270:79:173" } ] } @@ -30574,55 +30574,55 @@ { "condition": { "expression": { - "id": 76778, + "id": 76808, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "37518:5:172", + "referencedDeclaration": 76687, + "src": "37518:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76779, + "id": 76809, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "37524:8:172", + "memberLocation": "37524:8:173", "memberName": "handleIO", "nodeType": "MemberAccess", - "referencedDeclaration": 77210, - "src": "37518:14:172", + "referencedDeclaration": 77240, + "src": "37518:14:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76828, + "id": 76858, "nodeType": "IfStatement", - "src": "37514:1473:172", + "src": "37514:1473:173", "trueBody": { - "id": 76827, + "id": 76857, "nodeType": "Block", - "src": "37534:1453:172", + "src": "37534:1453:173", "statements": [ { "assignments": [ - 76784, - 76787 + 76814, + 76817 ], "declarations": [ { "constant": false, - "id": 76784, + "id": 76814, "mutability": "mutable", "name": "handleIOStack", - "nameLocation": "38009:13:172", + "nameLocation": "38009:13:173", "nodeType": "VariableDeclaration", - "scope": 76827, - "src": "37992:30:172", + "scope": 76857, + "src": "37992:30:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30631,18 +30631,18 @@ }, "typeName": { "baseType": { - "id": 76782, + "id": 76812, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37992:7:172", + "src": "37992:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76783, + "id": 76813, "nodeType": "ArrayTypeName", - "src": "37992:9:172", + "src": "37992:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30652,13 +30652,13 @@ }, { "constant": false, - "id": 76787, + "id": 76817, "mutability": "mutable", "name": "handleIOKVs", - "nameLocation": "38041:11:172", + "nameLocation": "38041:11:173", "nodeType": "VariableDeclaration", - "scope": 76827, - "src": "38024:28:172", + "scope": 76857, + "src": "38024:28:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -30667,18 +30667,18 @@ }, "typeName": { "baseType": { - "id": 76785, + "id": 76815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "38024:7:172", + "src": "38024:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76786, + "id": 76816, "nodeType": "ArrayTypeName", - "src": "38024:9:172", + "src": "38024:9:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30687,48 +30687,48 @@ "visibility": "internal" } ], - "id": 76805, + "id": 76835, "initialValue": { "arguments": [ { "expression": { "expression": { - "id": 76792, + "id": 76822, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38106:5:172", + "referencedDeclaration": 76687, + "src": "38106:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76793, + "id": 76823, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38112:9:172", + "memberLocation": "38112:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38106:15:172", + "referencedDeclaration": 77243, + "src": "38106:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76794, + "id": 76824, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38122:5:172", + "memberLocation": "38122:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "38106:21:172", + "referencedDeclaration": 57307, + "src": "38106:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" @@ -30736,27 +30736,27 @@ }, { "expression": { - "id": 76795, + "id": 76825, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "38145:18:172", + "referencedDeclaration": 76694, + "src": "38145:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76796, + "id": 76826, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38164:9:172", + "memberLocation": "38164:9:173", "memberName": "namespace", "nodeType": "MemberAccess", - "referencedDeclaration": 74971, - "src": "38145:28:172", + "referencedDeclaration": 75001, + "src": "38145:28:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" @@ -30767,42 +30767,42 @@ { "expression": { "expression": { - "id": 76798, + "id": 76828, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38209:5:172", + "referencedDeclaration": 76687, + "src": "38209:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76799, + "id": 76829, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38215:9:172", + "memberLocation": "38215:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38209:15:172", + "referencedDeclaration": 77243, + "src": "38209:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76800, + "id": 76830, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38225:10:172", + "memberLocation": "38225:10:173", "memberName": "expression", "nodeType": "MemberAccess", - "referencedDeclaration": 57279, - "src": "38209:26:172", + "referencedDeclaration": 57309, + "src": "38209:26:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30816,18 +30816,18 @@ "typeString": "address" } ], - "id": 76797, + "id": 76827, "name": "_handleIODispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77003, - "src": "38191:17:172", + "referencedDeclaration": 77033, + "src": "38191:17:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address) pure returns (EncodedDispatch)" } }, - "id": 76801, + "id": 76831, "isConstant": false, "isLValue": false, "isPure": false, @@ -30836,7 +30836,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "38191:45:172", + "src": "38191:45:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", @@ -30845,27 +30845,27 @@ }, { "expression": { - "id": 76802, + "id": 76832, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "38254:18:172", + "referencedDeclaration": 76694, + "src": "38254:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76803, + "id": 76833, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38273:7:172", + "memberLocation": "38273:7:173", "memberName": "context", "nodeType": "MemberAccess", - "referencedDeclaration": 74968, - "src": "38254:26:172", + "referencedDeclaration": 74998, + "src": "38254:26:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", "typeString": "uint256[] memory[] memory" @@ -30894,63 +30894,63 @@ "expression": { "expression": { "expression": { - "id": 76788, + "id": 76818, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38056:5:172", + "referencedDeclaration": 76687, + "src": "38056:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76789, + "id": 76819, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38062:9:172", + "memberLocation": "38062:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38056:15:172", + "referencedDeclaration": 77243, + "src": "38056:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76790, + "id": 76820, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38072:11:172", + "memberLocation": "38072:11:173", "memberName": "interpreter", "nodeType": "MemberAccess", - "referencedDeclaration": 57274, - "src": "38056:27:172", + "referencedDeclaration": 57304, + "src": "38056:27:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, - "id": 76791, + "id": 76821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "38084:4:172", + "memberLocation": "38084:4:173", "memberName": "eval", "nodeType": "MemberAccess", "referencedDeclaration": 56346, - "src": "38056:32:172", + "src": "38056:32:173", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" } }, - "id": 76804, + "id": 76834, "isConstant": false, "isLValue": false, "isPure": false, @@ -30959,7 +30959,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "38056:238:172", + "src": "38056:238:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", @@ -30967,40 +30967,40 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "37991:303:172" + "src": "37991:303:173" }, { "expression": { "components": [ { - "id": 76806, + "id": 76836, "name": "handleIOStack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76784, - "src": "38367:13:172", + "referencedDeclaration": 76814, + "src": "38367:13:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } } ], - "id": 76807, + "id": 76837, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "38366:15:172", + "src": "38366:15:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76808, + "id": 76838, "nodeType": "ExpressionStatement", - "src": "38366:15:172" + "src": "38366:15:173" }, { "condition": { @@ -31008,33 +31008,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76812, + "id": 76842, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 76809, + "id": 76839, "name": "handleIOKVs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76787, - "src": "38505:11:172", + "referencedDeclaration": 76817, + "src": "38505:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 76810, + "id": 76840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "38517:6:172", + "memberLocation": "38517:6:173", "memberName": "length", "nodeType": "MemberAccess", - "src": "38505:18:172", + "src": "38505:18:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31044,72 +31044,72 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 76811, + "id": 76841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "38526:1:172", + "src": "38526:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "38505:22:172", + "src": "38505:22:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76826, + "id": 76856, "nodeType": "IfStatement", - "src": "38501:476:172", + "src": "38501:476:173", "trueBody": { - "id": 76825, + "id": 76855, "nodeType": "Block", - "src": "38529:448:172", + "src": "38529:448:173", "statements": [ { "expression": { "arguments": [ { "expression": { - "id": 76820, + "id": 76850, "name": "orderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76664, - "src": "38920:18:172", + "referencedDeclaration": 76694, + "src": "38920:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76821, + "id": 76851, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38939:9:172", + "memberLocation": "38939:9:173", "memberName": "namespace", "nodeType": "MemberAccess", - "referencedDeclaration": 74971, - "src": "38920:28:172", + "referencedDeclaration": 75001, + "src": "38920:28:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, { - "id": 76822, + "id": 76852, "name": "handleIOKVs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76787, - "src": "38950:11:172", + "referencedDeclaration": 76817, + "src": "38950:11:173", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -31130,63 +31130,63 @@ "expression": { "expression": { "expression": { - "id": 76813, + "id": 76843, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76657, - "src": "38894:5:172", + "referencedDeclaration": 76687, + "src": "38894:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76817, + "id": 76847, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38900:9:172", + "memberLocation": "38900:9:173", "memberName": "evaluable", "nodeType": "MemberAccess", - "referencedDeclaration": 77213, - "src": "38894:15:172", + "referencedDeclaration": 77243, + "src": "38894:15:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57280_memory_ptr", + "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", "typeString": "struct Evaluable memory" } }, - "id": 76818, + "id": 76848, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "38910:5:172", + "memberLocation": "38910:5:173", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 57277, - "src": "38894:21:172", + "referencedDeclaration": 57307, + "src": "38894:21:173", "typeDescriptions": { "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, - "id": 76819, + "id": 76849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "38916:3:172", + "memberLocation": "38916:3:173", "memberName": "set", "nodeType": "MemberAccess", "referencedDeclaration": 56285, - "src": "38894:25:172", + "src": "38894:25:173", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (StateNamespace,uint256[] memory) external" } }, - "id": 76823, + "id": 76853, "isConstant": false, "isLValue": false, "isPure": false, @@ -31195,16 +31195,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "38894:68:172", + "src": "38894:68:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76824, + "id": 76854, "nodeType": "ExpressionStatement", - "src": "38894:68:172" + "src": "38894:68:173" } ] } @@ -31215,52 +31215,52 @@ ] }, "documentation": { - "id": 76654, + "id": 76684, "nodeType": "StructuredDocumentation", - "src": "34760:563:172", + "src": "34760:563:173", "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." }, "implemented": true, "kind": "function", "modifiers": [], "name": "recordVaultIO", - "nameLocation": "35337:13:172", + "nameLocation": "35337:13:173", "parameters": { - "id": 76665, + "id": 76695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76657, + "id": 76687, "mutability": "mutable", "name": "order", - "nameLocation": "35373:5:172", + "nameLocation": "35373:5:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35360:18:172", + "scope": 76860, + "src": "35360:18:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order" }, "typeName": { - "id": 76656, + "id": 76686, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76655, + "id": 76685, "name": "Order", "nameLocations": [ - "35360:5:172" + "35360:5:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77222, - "src": "35360:5:172" + "referencedDeclaration": 77252, + "src": "35360:5:173" }, - "referencedDeclaration": 77222, - "src": "35360:5:172", + "referencedDeclaration": 77252, + "src": "35360:5:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_storage_ptr", + "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", "typeString": "struct Order" } }, @@ -31268,13 +31268,13 @@ }, { "constant": false, - "id": 76659, + "id": 76689, "mutability": "mutable", "name": "input", - "nameLocation": "35396:5:172", + "nameLocation": "35396:5:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35388:13:172", + "scope": 76860, + "src": "35388:13:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31282,10 +31282,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76658, + "id": 76688, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "35388:7:172", + "src": "35388:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31295,13 +31295,13 @@ }, { "constant": false, - "id": 76661, + "id": 76691, "mutability": "mutable", "name": "output", - "nameLocation": "35419:6:172", + "nameLocation": "35419:6:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35411:14:172", + "scope": 76860, + "src": "35411:14:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31309,10 +31309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76660, + "id": 76690, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "35411:7:172", + "src": "35411:7:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31322,102 +31322,102 @@ }, { "constant": false, - "id": 76664, + "id": 76694, "mutability": "mutable", "name": "orderIOCalculation", - "nameLocation": "35461:18:172", + "nameLocation": "35461:18:173", "nodeType": "VariableDeclaration", - "scope": 76830, - "src": "35435:44:172", + "scope": 76860, + "src": "35435:44:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76663, + "id": 76693, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76662, + "id": 76692, "name": "OrderIOCalculation", "nameLocations": [ - "35435:18:172" + "35435:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "35435:18:172" + "referencedDeclaration": 75005, + "src": "35435:18:173" }, - "referencedDeclaration": 74975, - "src": "35435:18:172", + "referencedDeclaration": 75005, + "src": "35435:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "35350:135:172" + "src": "35350:135:173" }, "returnParameters": { - "id": 76666, + "id": 76696, "nodeType": "ParameterList", "parameters": [], - "src": "35495:0:172" + "src": "35495:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 76856, + "id": 76886, "nodeType": "FunctionDefinition", - "src": "39537:486:172", + "src": "39537:486:173", "nodes": [], "body": { - "id": 76855, + "id": 76885, "nodeType": "Block", - "src": "39759:264:172", + "src": "39759:264:173", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 76844, + "id": 76874, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76841, - "src": "39794:16:172", + "referencedDeclaration": 76871, + "src": "39794:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, { - "id": 76845, + "id": 76875, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76834, - "src": "39812:23:172", + "referencedDeclaration": 76864, + "src": "39812:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, { - "id": 76846, + "id": 76876, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76837, - "src": "39837:21:172", + "referencedDeclaration": 76867, + "src": "39837:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -31425,30 +31425,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76843, + "id": 76873, "name": "calculateClearStateAlice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76971, - "src": "39769:24:172", + "referencedDeclaration": 77001, + "src": "39769:24:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" } }, - "id": 76847, + "id": 76877, "isConstant": false, "isLValue": false, "isPure": false, @@ -31457,53 +31457,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39769:90:172", + "src": "39769:90:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76848, + "id": 76878, "nodeType": "ExpressionStatement", - "src": "39769:90:172" + "src": "39769:90:173" }, { "expression": { "arguments": [ { - "id": 76850, + "id": 76880, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76841, - "src": "39951:16:172", + "referencedDeclaration": 76871, + "src": "39951:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, { - "id": 76851, + "id": 76881, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76837, - "src": "39969:21:172", + "referencedDeclaration": 76867, + "src": "39969:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, { - "id": 76852, + "id": 76882, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76834, - "src": "39992:23:172", + "referencedDeclaration": 76864, + "src": "39992:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } } @@ -31511,30 +31511,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" }, { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } ], - "id": 76849, + "id": 76879, "name": "calculateClearStateAlice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76971, - "src": "39926:24:172", + "referencedDeclaration": 77001, + "src": "39926:24:173", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77271_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$_t_struct$_OrderIOCalculation_$74975_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" } }, - "id": 76853, + "id": 76883, "isConstant": false, "isLValue": false, "isPure": false, @@ -31543,66 +31543,66 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39926:90:172", + "src": "39926:90:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 76854, + "id": 76884, "nodeType": "ExpressionStatement", - "src": "39926:90:172" + "src": "39926:90:173" } ] }, "documentation": { - "id": 76831, + "id": 76861, "nodeType": "StructuredDocumentation", - "src": "38999:533:172", + "src": "38999:533:173", "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." }, "implemented": true, "kind": "function", "modifiers": [], "name": "calculateClearStateChange", - "nameLocation": "39546:25:172", + "nameLocation": "39546:25:173", "parameters": { - "id": 76838, + "id": 76868, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76834, + "id": 76864, "mutability": "mutable", "name": "aliceOrderIOCalculation", - "nameLocation": "39607:23:172", + "nameLocation": "39607:23:173", "nodeType": "VariableDeclaration", - "scope": 76856, - "src": "39581:49:172", + "scope": 76886, + "src": "39581:49:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76833, + "id": 76863, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76832, + "id": 76862, "name": "OrderIOCalculation", "nameLocations": [ - "39581:18:172" + "39581:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "39581:18:172" + "referencedDeclaration": 75005, + "src": "39581:18:173" }, - "referencedDeclaration": 74975, - "src": "39581:18:172", + "referencedDeclaration": 75005, + "src": "39581:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, @@ -31610,175 +31610,175 @@ }, { "constant": false, - "id": 76837, + "id": 76867, "mutability": "mutable", "name": "bobOrderIOCalculation", - "nameLocation": "39666:21:172", + "nameLocation": "39666:21:173", "nodeType": "VariableDeclaration", - "scope": 76856, - "src": "39640:47:172", + "scope": 76886, + "src": "39640:47:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76836, + "id": 76866, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76835, + "id": 76865, "name": "OrderIOCalculation", "nameLocations": [ - "39640:18:172" + "39640:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "39640:18:172" + "referencedDeclaration": 75005, + "src": "39640:18:173" }, - "referencedDeclaration": 74975, - "src": "39640:18:172", + "referencedDeclaration": 75005, + "src": "39640:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "39571:122:172" + "src": "39571:122:173" }, "returnParameters": { - "id": 76842, + "id": 76872, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76841, + "id": 76871, "mutability": "mutable", "name": "clearStateChange", - "nameLocation": "39741:16:172", + "nameLocation": "39741:16:173", "nodeType": "VariableDeclaration", - "scope": 76856, - "src": "39717:40:172", + "scope": 76886, + "src": "39717:40:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange" }, "typeName": { - "id": 76840, + "id": 76870, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76839, + "id": 76869, "name": "ClearStateChange", "nameLocations": [ - "39717:16:172" + "39717:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77271, - "src": "39717:16:172" + "referencedDeclaration": 77301, + "src": "39717:16:173" }, - "referencedDeclaration": 77271, - "src": "39717:16:172", + "referencedDeclaration": 77301, + "src": "39717:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", "typeString": "struct ClearStateChange" } }, "visibility": "internal" } ], - "src": "39716:42:172" + "src": "39716:42:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 76971, + "id": 77001, "nodeType": "FunctionDefinition", - "src": "40029:2055:172", + "src": "40029:2055:173", "nodes": [], "body": { - "id": 76970, + "id": 77000, "nodeType": "Block", - "src": "40249:1835:172", + "src": "40249:1835:173", "nodes": [], "statements": [ { "assignments": [ - 76870 + 76900 ], "declarations": [ { "constant": false, - "id": 76870, + "id": 76900, "mutability": "mutable", "name": "bobInputMax18", - "nameLocation": "40466:13:172", + "nameLocation": "40466:13:173", "nodeType": "VariableDeclaration", - "scope": 76970, - "src": "40452:27:172", + "scope": 77000, + "src": "40452:27:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 76869, + "id": 76899, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76868, + "id": 76898, "name": "Input18Amount", "nameLocations": [ - "40452:13:172" + "40452:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "40452:13:172" + "referencedDeclaration": 75009, + "src": "40452:13:173" }, - "referencedDeclaration": 74979, - "src": "40452:13:172", + "referencedDeclaration": 75009, + "src": "40452:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 76886, + "id": 76916, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 76879, + "id": 76909, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "40600:21:172", + "referencedDeclaration": 76895, + "src": "40600:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76880, + "id": 76910, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "40622:7:172", + "memberLocation": "40622:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "40600:29:172", + "referencedDeclaration": 74994, + "src": "40600:29:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31787,42 +31787,42 @@ { "expression": { "expression": { - "id": 76881, + "id": 76911, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "40631:4:172", + "src": "40631:4:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", "typeString": "type(library Math)" } }, - "id": 76882, + "id": 76912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "40636:8:172", + "memberLocation": "40636:8:173", "memberName": "Rounding", "nodeType": "MemberAccess", "referencedDeclaration": 45957, - "src": "40631:13:172", + "src": "40631:13:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 76883, + "id": 76913, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40645:2:172", + "memberLocation": "40645:2:173", "memberName": "Up", "nodeType": "MemberAccess", "referencedDeclaration": 45955, - "src": "40631:16:172", + "src": "40631:16:173", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$45957", "typeString": "enum Math.Rounding" @@ -31844,29 +31844,29 @@ "arguments": [ { "expression": { - "id": 76875, + "id": 76905, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "40536:21:172", + "referencedDeclaration": 76895, + "src": "40536:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76876, + "id": 76906, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "40558:9:172", + "memberLocation": "40558:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "40536:31:172", + "referencedDeclaration": 74992, + "src": "40536:31:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -31874,37 +31874,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76873, + "id": 76903, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "40514:14:172", + "referencedDeclaration": 75007, + "src": "40514:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76874, + "id": 76904, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40529:6:172", + "memberLocation": "40529:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40514:21:172", + "src": "40514:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76877, + "id": 76907, "isConstant": false, "isLValue": false, "isPure": false, @@ -31913,29 +31913,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40514:54:172", + "src": "40514:54:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76878, + "id": 76908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "40569:13:172", + "memberLocation": "40569:13:173", "memberName": "fixedPointMul", "nodeType": "MemberAccess", - "referencedDeclaration": 71288, - "src": "40514:68:172", + "referencedDeclaration": 71318, + "src": "40514:68:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" } }, - "id": 76884, + "id": 76914, "isConstant": false, "isLValue": false, "isPure": false, @@ -31944,7 +31944,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40514:147:172", + "src": "40514:147:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31960,32 +31960,32 @@ } ], "expression": { - "id": 76871, + "id": 76901, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "40482:13:172", + "referencedDeclaration": 75009, + "src": "40482:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76872, + "id": 76902, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40496:4:172", + "memberLocation": "40496:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "40482:18:172", + "src": "40482:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 76885, + "id": 76915, "isConstant": false, "isLValue": false, "isPure": false, @@ -31994,90 +31994,90 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40482:189:172", + "src": "40482:189:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "40452:219:172" + "src": "40452:219:173" }, { "assignments": [ - 76889 + 76919 ], "declarations": [ { "constant": false, - "id": 76889, + "id": 76919, "mutability": "mutable", "name": "aliceOutputMax18", - "nameLocation": "40696:16:172", + "nameLocation": "40696:16:173", "nodeType": "VariableDeclaration", - "scope": 76970, - "src": "40681:31:172", + "scope": 77000, + "src": "40681:31:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" }, "typeName": { - "id": 76888, + "id": 76918, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76887, + "id": 76917, "name": "Output18Amount", "nameLocations": [ - "40681:14:172" + "40681:14:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74977, - "src": "40681:14:172" + "referencedDeclaration": 75007, + "src": "40681:14:173" }, - "referencedDeclaration": 74977, - "src": "40681:14:172", + "referencedDeclaration": 75007, + "src": "40681:14:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "visibility": "internal" } ], - "id": 76892, + "id": 76922, "initialValue": { "expression": { - "id": 76890, + "id": 76920, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "40715:23:172", + "referencedDeclaration": 76892, + "src": "40715:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76891, + "id": 76921, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "40739:9:172", + "memberLocation": "40739:9:173", "memberName": "outputMax", "nodeType": "MemberAccess", - "referencedDeclaration": 74962, - "src": "40715:33:172", + "referencedDeclaration": 74992, + "src": "40715:33:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "40681:67:172" + "src": "40681:67:173" }, { "condition": { @@ -32085,7 +32085,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 76901, + "id": 76931, "isConstant": false, "isLValue": false, "isPure": false, @@ -32093,14 +32093,14 @@ "leftExpression": { "arguments": [ { - "id": 76895, + "id": 76925, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "40861:16:172", + "referencedDeclaration": 76919, + "src": "40861:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -32108,37 +32108,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76893, + "id": 76923, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "40839:14:172", + "referencedDeclaration": 75007, + "src": "40839:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76894, + "id": 76924, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40854:6:172", + "memberLocation": "40854:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40839:21:172", + "src": "40839:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76896, + "id": 76926, "isConstant": false, "isLValue": false, "isPure": false, @@ -32147,7 +32147,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40839:39:172", + "src": "40839:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32159,14 +32159,14 @@ "rightExpression": { "arguments": [ { - "id": 76899, + "id": 76929, "name": "bobInputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76870, - "src": "40902:13:172", + "referencedDeclaration": 76900, + "src": "40902:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -32174,37 +32174,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 76897, + "id": 76927, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "40881:13:172", + "referencedDeclaration": 75009, + "src": "40881:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76898, + "id": 76928, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40895:6:172", + "memberLocation": "40895:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40881:20:172", + "src": "40881:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 76900, + "id": 76930, "isConstant": false, "isLValue": false, "isPure": false, @@ -32213,43 +32213,43 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40881:35:172", + "src": "40881:35:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "40839:77:172", + "src": "40839:77:173", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 76913, + "id": 76943, "nodeType": "IfStatement", - "src": "40835:183:172", + "src": "40835:183:173", "trueBody": { - "id": 76912, + "id": 76942, "nodeType": "Block", - "src": "40918:100:172", + "src": "40918:100:173", "statements": [ { "expression": { - "id": 76910, + "id": 76940, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 76902, + "id": 76932, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "40932:16:172", + "referencedDeclaration": 76919, + "src": "40932:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, @@ -32260,14 +32260,14 @@ { "arguments": [ { - "id": 76907, + "id": 76937, "name": "bobInputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76870, - "src": "40992:13:172", + "referencedDeclaration": 76900, + "src": "40992:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -32275,37 +32275,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 76905, + "id": 76935, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "40971:13:172", + "referencedDeclaration": 75009, + "src": "40971:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76906, + "id": 76936, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40985:6:172", + "memberLocation": "40985:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "40971:20:172", + "src": "40971:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 76908, + "id": 76938, "isConstant": false, "isLValue": false, "isPure": false, @@ -32314,7 +32314,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40971:35:172", + "src": "40971:35:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32330,32 +32330,32 @@ } ], "expression": { - "id": 76903, + "id": 76933, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "40951:14:172", + "referencedDeclaration": 75007, + "src": "40951:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76904, + "id": 76934, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "40966:4:172", + "memberLocation": "40966:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "40951:19:172", + "src": "40951:19:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "function (uint256) pure returns (Output18Amount)" } }, - "id": 76909, + "id": 76939, "isConstant": false, "isLValue": false, "isPure": false, @@ -32364,56 +32364,56 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40951:56:172", + "src": "40951:56:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "src": "40932:75:172", + "src": "40932:75:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } }, - "id": 76911, + "id": 76941, "nodeType": "ExpressionStatement", - "src": "40932:75:172" + "src": "40932:75:173" } ] } }, { "expression": { - "id": 76931, + "id": 76961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 76914, + "id": 76944, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76859, - "src": "41149:16:172", + "referencedDeclaration": 76889, + "src": "41149:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76916, + "id": 76946, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "41166:11:172", + "memberLocation": "41166:11:173", "memberName": "aliceOutput", "nodeType": "MemberAccess", - "referencedDeclaration": 77264, - "src": "41149:28:172", + "referencedDeclaration": 77294, + "src": "41149:28:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,71 +32428,71 @@ "baseExpression": { "expression": { "expression": { - "id": 76922, + "id": 76952, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "41240:23:172", + "referencedDeclaration": 76892, + "src": "41240:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76923, + "id": 76953, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41264:5:172", + "memberLocation": "41264:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 74957, - "src": "41240:29:172", + "referencedDeclaration": 74987, + "src": "41240:29:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76924, + "id": 76954, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41270:12:172", + "memberLocation": "41270:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "41240:42:172", + "referencedDeclaration": 77251, + "src": "41240:42:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76927, + "id": 76957, "indexExpression": { "expression": { - "id": 76925, + "id": 76955, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "41283:23:172", + "referencedDeclaration": 76892, + "src": "41283:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76926, + "id": 76956, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41307:13:172", + "memberLocation": "41307:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 74959, - "src": "41283:37:172", + "referencedDeclaration": 74989, + "src": "41283:37:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32503,22 +32503,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41240:81:172", + "src": "41240:81:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76928, + "id": 76958, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41322:8:172", + "memberLocation": "41322:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "41240:90:172", + "referencedDeclaration": 77219, + "src": "41240:90:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32526,14 +32526,14 @@ }, { "hexValue": "30", - "id": 76929, + "id": 76959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "41332:1:172", + "src": "41332:1:173", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -32555,14 +32555,14 @@ "expression": { "arguments": [ { - "id": 76919, + "id": 76949, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41202:16:172", + "referencedDeclaration": 76919, + "src": "41202:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -32570,37 +32570,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76917, + "id": 76947, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "41180:14:172", + "referencedDeclaration": 75007, + "src": "41180:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76918, + "id": 76948, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41195:6:172", + "memberLocation": "41195:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "41180:21:172", + "src": "41180:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76920, + "id": 76950, "isConstant": false, "isLValue": false, "isPure": false, @@ -32609,29 +32609,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41180:39:172", + "src": "41180:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76921, + "id": 76951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41220:6:172", + "memberLocation": "41220:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "41180:46:172", + "referencedDeclaration": 71666, + "src": "41180:46:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 76930, + "id": 76960, "isConstant": false, "isLValue": false, "isPure": false, @@ -32640,94 +32640,94 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41180:163:172", + "src": "41180:163:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "41149:194:172", + "src": "41149:194:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76932, + "id": 76962, "nodeType": "ExpressionStatement", - "src": "41149:194:172" + "src": "41149:194:173" }, { "assignments": [ - 76935 + 76965 ], "declarations": [ { "constant": false, - "id": 76935, + "id": 76965, "mutability": "mutable", "name": "aliceInput18", - "nameLocation": "41446:12:172", + "nameLocation": "41446:12:173", "nodeType": "VariableDeclaration", - "scope": 76970, - "src": "41432:26:172", + "scope": 77000, + "src": "41432:26:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" }, "typeName": { - "id": 76934, + "id": 76964, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76933, + "id": 76963, "name": "Input18Amount", "nameLocations": [ - "41432:13:172" + "41432:13:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74979, - "src": "41432:13:172" + "referencedDeclaration": 75009, + "src": "41432:13:173" }, - "referencedDeclaration": 74979, - "src": "41432:13:172", + "referencedDeclaration": 75009, + "src": "41432:13:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "visibility": "internal" } ], - "id": 76950, + "id": 76980, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 76943, + "id": 76973, "name": "aliceOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76862, - "src": "41547:23:172", + "referencedDeclaration": 76892, + "src": "41547:23:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76944, + "id": 76974, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41571:7:172", + "memberLocation": "41571:7:173", "memberName": "IORatio", "nodeType": "MemberAccess", - "referencedDeclaration": 74964, - "src": "41547:31:172", + "referencedDeclaration": 74994, + "src": "41547:31:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32736,42 +32736,42 @@ { "expression": { "expression": { - "id": 76945, + "id": 76975, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46816, - "src": "41580:4:172", + "src": "41580:4:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", "typeString": "type(library Math)" } }, - "id": 76946, + "id": 76976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41585:8:172", + "memberLocation": "41585:8:173", "memberName": "Rounding", "nodeType": "MemberAccess", "referencedDeclaration": 45957, - "src": "41580:13:172", + "src": "41580:13:173", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", "typeString": "type(enum Math.Rounding)" } }, - "id": 76947, + "id": 76977, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41594:2:172", + "memberLocation": "41594:2:173", "memberName": "Up", "nodeType": "MemberAccess", "referencedDeclaration": 45955, - "src": "41580:16:172", + "src": "41580:16:173", "typeDescriptions": { "typeIdentifier": "t_enum$_Rounding_$45957", "typeString": "enum Math.Rounding" @@ -32792,14 +32792,14 @@ "expression": { "arguments": [ { - "id": 76940, + "id": 76970, "name": "aliceOutputMax18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41515:16:172", + "referencedDeclaration": 76919, + "src": "41515:16:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } } @@ -32807,37 +32807,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$74977", + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", "typeString": "Output18Amount" } ], "expression": { - "id": 76938, + "id": 76968, "name": "Output18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74977, - "src": "41493:14:172", + "referencedDeclaration": 75007, + "src": "41493:14:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$74977_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", "typeString": "type(Output18Amount)" } }, - "id": 76939, + "id": 76969, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41508:6:172", + "memberLocation": "41508:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "41493:21:172", + "src": "41493:21:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$74977_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", "typeString": "function (Output18Amount) pure returns (uint256)" } }, - "id": 76941, + "id": 76971, "isConstant": false, "isLValue": false, "isPure": false, @@ -32846,29 +32846,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41493:39:172", + "src": "41493:39:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76942, + "id": 76972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41533:13:172", + "memberLocation": "41533:13:173", "memberName": "fixedPointMul", "nodeType": "MemberAccess", - "referencedDeclaration": 71288, - "src": "41493:53:172", + "referencedDeclaration": 71318, + "src": "41493:53:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" } }, - "id": 76948, + "id": 76978, "isConstant": false, "isLValue": false, "isPure": false, @@ -32877,7 +32877,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41493:104:172", + "src": "41493:104:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32893,32 +32893,32 @@ } ], "expression": { - "id": 76936, + "id": 76966, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "41461:13:172", + "referencedDeclaration": 75009, + "src": "41461:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76937, + "id": 76967, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41475:4:172", + "memberLocation": "41475:4:173", "memberName": "wrap", "nodeType": "MemberAccess", - "src": "41461:18:172", + "src": "41461:18:173", "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "function (uint256) pure returns (Input18Amount)" } }, - "id": 76949, + "id": 76979, "isConstant": false, "isLValue": false, "isPure": false, @@ -32927,46 +32927,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41461:146:172", + "src": "41461:146:173", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } }, "nodeType": "VariableDeclarationStatement", - "src": "41432:175:172" + "src": "41432:175:173" }, { "expression": { - "id": 76968, + "id": 76998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 76951, + "id": 76981, "name": "clearStateChange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76859, - "src": "41617:16:172", + "referencedDeclaration": 76889, + "src": "41617:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange memory" } }, - "id": 76953, + "id": 76983, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "41634:10:172", + "memberLocation": "41634:10:173", "memberName": "aliceInput", "nodeType": "MemberAccess", - "referencedDeclaration": 77268, - "src": "41617:27:172", + "referencedDeclaration": 77298, + "src": "41617:27:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32981,71 +32981,71 @@ "baseExpression": { "expression": { "expression": { - "id": 76959, + "id": 76989, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "41966:21:172", + "referencedDeclaration": 76895, + "src": "41966:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76960, + "id": 76990, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41988:5:172", + "memberLocation": "41988:5:173", "memberName": "order", "nodeType": "MemberAccess", - "referencedDeclaration": 74957, - "src": "41966:27:172", + "referencedDeclaration": 74987, + "src": "41966:27:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77222_memory_ptr", + "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", "typeString": "struct Order memory" } }, - "id": 76961, + "id": 76991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "41994:12:172", + "memberLocation": "41994:12:173", "memberName": "validOutputs", "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "41966:40:172", + "referencedDeclaration": 77251, + "src": "41966:40:173", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77192_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", "typeString": "struct IO memory[] memory" } }, - "id": 76964, + "id": 76994, "indexExpression": { "expression": { - "id": 76962, + "id": 76992, "name": "bobOrderIOCalculation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "42007:21:172", + "referencedDeclaration": 76895, + "src": "42007:21:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation memory" } }, - "id": 76963, + "id": 76993, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "42029:13:172", + "memberLocation": "42029:13:173", "memberName": "outputIOIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 74959, - "src": "42007:35:172", + "referencedDeclaration": 74989, + "src": "42007:35:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33056,34 +33056,34 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41966:77:172", + "src": "41966:77:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77192_memory_ptr", + "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", "typeString": "struct IO memory" } }, - "id": 76965, + "id": 76995, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "42044:8:172", + "memberLocation": "42044:8:173", "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 77189, - "src": "41966:86:172", + "referencedDeclaration": 77219, + "src": "41966:86:173", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 76966, + "id": 76996, "name": "FLAG_ROUND_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71243, - "src": "42054:13:172", + "referencedDeclaration": 71273, + "src": "42054:13:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33104,14 +33104,14 @@ "expression": { "arguments": [ { - "id": 76956, + "id": 76986, "name": "aliceInput18", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76935, - "src": "41932:12:172", + "referencedDeclaration": 76965, + "src": "41932:12:173", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } } @@ -33119,37 +33119,37 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$74979", + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", "typeString": "Input18Amount" } ], "expression": { - "id": 76954, + "id": 76984, "name": "Input18Amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74979, - "src": "41911:13:172", + "referencedDeclaration": 75009, + "src": "41911:13:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$74979_$", + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", "typeString": "type(Input18Amount)" } }, - "id": 76955, + "id": 76985, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "41925:6:172", + "memberLocation": "41925:6:173", "memberName": "unwrap", "nodeType": "MemberAccess", - "src": "41911:20:172", + "src": "41911:20:173", "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$74979_$returns$_t_uint256_$", + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", "typeString": "function (Input18Amount) pure returns (uint256)" } }, - "id": 76957, + "id": 76987, "isConstant": false, "isLValue": false, "isPure": false, @@ -33158,29 +33158,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41911:34:172", + "src": "41911:34:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76958, + "id": 76988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "41946:6:172", + "memberLocation": "41946:6:173", "memberName": "scaleN", "nodeType": "MemberAccess", - "referencedDeclaration": 71636, - "src": "41911:41:172", + "referencedDeclaration": 71666, + "src": "41911:41:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 76967, + "id": 76997, "isConstant": false, "isLValue": false, "isPure": false, @@ -33189,22 +33189,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "41911:166:172", + "src": "41911:166:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "41617:460:172", + "src": "41617:460:173", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 76969, + "id": 76999, "nodeType": "ExpressionStatement", - "src": "41617:460:172" + "src": "41617:460:173" } ] }, @@ -33212,43 +33212,43 @@ "kind": "function", "modifiers": [], "name": "calculateClearStateAlice", - "nameLocation": "40038:24:172", + "nameLocation": "40038:24:173", "parameters": { - "id": 76866, + "id": 76896, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76859, + "id": 76889, "mutability": "mutable", "name": "clearStateChange", - "nameLocation": "40096:16:172", + "nameLocation": "40096:16:173", "nodeType": "VariableDeclaration", - "scope": 76971, - "src": "40072:40:172", + "scope": 77001, + "src": "40072:40:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_memory_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", "typeString": "struct ClearStateChange" }, "typeName": { - "id": 76858, + "id": 76888, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76857, + "id": 76887, "name": "ClearStateChange", "nameLocations": [ - "40072:16:172" + "40072:16:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77271, - "src": "40072:16:172" + "referencedDeclaration": 77301, + "src": "40072:16:173" }, - "referencedDeclaration": 77271, - "src": "40072:16:172", + "referencedDeclaration": 77301, + "src": "40072:16:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77271_storage_ptr", + "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", "typeString": "struct ClearStateChange" } }, @@ -33256,36 +33256,36 @@ }, { "constant": false, - "id": 76862, + "id": 76892, "mutability": "mutable", "name": "aliceOrderIOCalculation", - "nameLocation": "40148:23:172", + "nameLocation": "40148:23:173", "nodeType": "VariableDeclaration", - "scope": 76971, - "src": "40122:49:172", + "scope": 77001, + "src": "40122:49:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76861, + "id": 76891, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76860, + "id": 76890, "name": "OrderIOCalculation", "nameLocations": [ - "40122:18:172" + "40122:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "40122:18:172" + "referencedDeclaration": 75005, + "src": "40122:18:173" }, - "referencedDeclaration": 74975, - "src": "40122:18:172", + "referencedDeclaration": 75005, + "src": "40122:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, @@ -33293,100 +33293,100 @@ }, { "constant": false, - "id": 76865, + "id": 76895, "mutability": "mutable", "name": "bobOrderIOCalculation", - "nameLocation": "40207:21:172", + "nameLocation": "40207:21:173", "nodeType": "VariableDeclaration", - "scope": 76971, - "src": "40181:47:172", + "scope": 77001, + "src": "40181:47:173", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_memory_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", "typeString": "struct OrderIOCalculation" }, "typeName": { - "id": 76864, + "id": 76894, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76863, + "id": 76893, "name": "OrderIOCalculation", "nameLocations": [ - "40181:18:172" + "40181:18:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74975, - "src": "40181:18:172" + "referencedDeclaration": 75005, + "src": "40181:18:173" }, - "referencedDeclaration": 74975, - "src": "40181:18:172", + "referencedDeclaration": 75005, + "src": "40181:18:173", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$74975_storage_ptr", + "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", "typeString": "struct OrderIOCalculation" } }, "visibility": "internal" } ], - "src": "40062:172:172" + "src": "40062:172:173" }, "returnParameters": { - "id": 76867, + "id": 76897, "nodeType": "ParameterList", "parameters": [], - "src": "40249:0:172" + "src": "40249:0:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 76987, + "id": 77017, "nodeType": "FunctionDefinition", - "src": "42090:213:172", + "src": "42090:213:173", "nodes": [], "body": { - "id": 76986, + "id": 77016, "nodeType": "Block", - "src": "42184:119:172", + "src": "42184:119:173", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 76981, + "id": 77011, "name": "expression_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76973, - "src": "42227:11:172", + "referencedDeclaration": 77003, + "src": "42227:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76982, + "id": 77012, "name": "CALCULATE_ORDER_ENTRYPOINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74875, - "src": "42240:26:172", + "referencedDeclaration": 74905, + "src": "42240:26:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, { - "id": 76983, + "id": 77013, "name": "CALCULATE_ORDER_MAX_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74891, - "src": "42268:27:172", + "referencedDeclaration": 74921, + "src": "42268:27:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -33409,33 +33409,33 @@ } ], "expression": { - "id": 76979, + "id": 77009, "name": "LibEncodedDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57246, - "src": "42201:18:172", + "referencedDeclaration": 57276, + "src": "42201:18:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", "typeString": "type(library LibEncodedDispatch)" } }, - "id": 76980, + "id": 77010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "42220:6:172", + "memberLocation": "42220:6:173", "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 57197, - "src": "42201:25:172", + "referencedDeclaration": 57227, + "src": "42201:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" } }, - "id": 76984, + "id": 77014, "isConstant": false, "isLValue": false, "isPure": false, @@ -33444,17 +33444,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "42201:95:172", + "src": "42201:95:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } }, - "functionReturnParameters": 76978, - "id": 76985, + "functionReturnParameters": 77008, + "id": 77015, "nodeType": "Return", - "src": "42194:102:172" + "src": "42194:102:173" } ] }, @@ -33462,20 +33462,20 @@ "kind": "function", "modifiers": [], "name": "_calculateOrderDispatch", - "nameLocation": "42099:23:172", + "nameLocation": "42099:23:173", "parameters": { - "id": 76974, + "id": 77004, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76973, + "id": 77003, "mutability": "mutable", "name": "expression_", - "nameLocation": "42131:11:172", + "nameLocation": "42131:11:173", "nodeType": "VariableDeclaration", - "scope": 76987, - "src": "42123:19:172", + "scope": 77017, + "src": "42123:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33483,10 +33483,10 @@ "typeString": "address" }, "typeName": { - "id": 76972, + "id": 77002, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42123:7:172", + "src": "42123:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33496,21 +33496,21 @@ "visibility": "internal" } ], - "src": "42122:21:172" + "src": "42122:21:173" }, "returnParameters": { - "id": 76978, + "id": 77008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76977, + "id": 77007, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 76987, - "src": "42167:15:172", + "scope": 77017, + "src": "42167:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33518,20 +33518,20 @@ "typeString": "EncodedDispatch" }, "typeName": { - "id": 76976, + "id": 77006, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76975, + "id": 77005, "name": "EncodedDispatch", "nameLocations": [ - "42167:15:172" + "42167:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56304, - "src": "42167:15:172" + "src": "42167:15:173" }, "referencedDeclaration": 56304, - "src": "42167:15:172", + "src": "42167:15:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" @@ -33540,58 +33540,58 @@ "visibility": "internal" } ], - "src": "42166:17:172" + "src": "42166:17:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 77003, + "id": 77033, "nodeType": "FunctionDefinition", - "src": "42309:195:172", + "src": "42309:195:173", "nodes": [], "body": { - "id": 77002, + "id": 77032, "nodeType": "Block", - "src": "42397:107:172", + "src": "42397:107:173", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 76997, + "id": 77027, "name": "expression_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76989, - "src": "42440:11:172", + "referencedDeclaration": 77019, + "src": "42440:11:173", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 76998, + "id": 77028, "name": "HANDLE_IO_ENTRYPOINT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74883, - "src": "42453:20:172", + "referencedDeclaration": 74913, + "src": "42453:20:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, { - "id": 76999, + "id": 77029, "name": "HANDLE_IO_MAX_OUTPUTS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 74899, - "src": "42475:21:172", + "referencedDeclaration": 74929, + "src": "42475:21:173", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -33614,33 +33614,33 @@ } ], "expression": { - "id": 76995, + "id": 77025, "name": "LibEncodedDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57246, - "src": "42414:18:172", + "referencedDeclaration": 57276, + "src": "42414:18:173", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57246_$", + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", "typeString": "type(library LibEncodedDispatch)" } }, - "id": 76996, + "id": 77026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "42433:6:172", + "memberLocation": "42433:6:173", "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 57197, - "src": "42414:25:172", + "referencedDeclaration": 57227, + "src": "42414:25:173", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" } }, - "id": 77000, + "id": 77030, "isConstant": false, "isLValue": false, "isPure": false, @@ -33649,17 +33649,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "42414:83:172", + "src": "42414:83:173", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } }, - "functionReturnParameters": 76994, - "id": 77001, + "functionReturnParameters": 77024, + "id": 77031, "nodeType": "Return", - "src": "42407:90:172" + "src": "42407:90:173" } ] }, @@ -33667,20 +33667,20 @@ "kind": "function", "modifiers": [], "name": "_handleIODispatch", - "nameLocation": "42318:17:172", + "nameLocation": "42318:17:173", "parameters": { - "id": 76990, + "id": 77020, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76989, + "id": 77019, "mutability": "mutable", "name": "expression_", - "nameLocation": "42344:11:172", + "nameLocation": "42344:11:173", "nodeType": "VariableDeclaration", - "scope": 77003, - "src": "42336:19:172", + "scope": 77033, + "src": "42336:19:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33688,10 +33688,10 @@ "typeString": "address" }, "typeName": { - "id": 76988, + "id": 77018, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42336:7:172", + "src": "42336:7:173", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33701,21 +33701,21 @@ "visibility": "internal" } ], - "src": "42335:21:172" + "src": "42335:21:173" }, "returnParameters": { - "id": 76994, + "id": 77024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76993, + "id": 77023, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 77003, - "src": "42380:15:172", + "scope": 77033, + "src": "42380:15:173", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33723,20 +33723,20 @@ "typeString": "EncodedDispatch" }, "typeName": { - "id": 76992, + "id": 77022, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 76991, + "id": 77021, "name": "EncodedDispatch", "nameLocations": [ - "42380:15:172" + "42380:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 56304, - "src": "42380:15:172" + "src": "42380:15:173" }, "referencedDeclaration": 56304, - "src": "42380:15:172", + "src": "42380:15:173", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" @@ -33745,9 +33745,9 @@ "visibility": "internal" } ], - "src": "42379:17:172" + "src": "42379:17:173" }, - "scope": 77004, + "scope": 77034, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -33757,131 +33757,131 @@ "baseContracts": [ { "baseName": { - "id": 74981, + "id": 75011, "name": "IOrderBookV3", "nameLocations": [ - "9019:12:172" + "9019:12:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 77796, - "src": "9019:12:172" + "referencedDeclaration": 78111, + "src": "9019:12:173" }, - "id": 74982, + "id": 75012, "nodeType": "InheritanceSpecifier", - "src": "9019:12:172" + "src": "9019:12:173" }, { "baseName": { - "id": 74983, + "id": 75013, "name": "ReentrancyGuard", "nameLocations": [ - "9033:15:172" + "9033:15:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 43711, - "src": "9033:15:172" + "src": "9033:15:173" }, - "id": 74984, + "id": 75014, "nodeType": "InheritanceSpecifier", - "src": "9033:15:172" + "src": "9033:15:173" }, { "baseName": { - "id": 74985, + "id": 75015, "name": "Multicall", "nameLocations": [ - "9050:9:172" + "9050:9:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 45220, - "src": "9050:9:172" + "src": "9050:9:173" }, - "id": 74986, + "id": 75016, "nodeType": "InheritanceSpecifier", - "src": "9050:9:172" + "src": "9050:9:173" }, { "baseName": { - "id": 74987, + "id": 75017, "name": "OrderBookV3FlashLender", "nameLocations": [ - "9061:22:172" + "9061:22:173" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 74539, - "src": "9061:22:172" + "referencedDeclaration": 74569, + "src": "9061:22:173" }, - "id": 74988, + "id": 75018, "nodeType": "InheritanceSpecifier", - "src": "9061:22:172" + "src": "9061:22:173" }, { "baseName": { - "id": 74989, + "id": 75019, "name": "DeployerDiscoverableMetaV2", "nameLocations": [ - "9085:26:172" + "9085:26:173" ], "nodeType": "IdentifierPath", "referencedDeclaration": 55357, - "src": "9085:26:172" + "src": "9085:26:173" }, - "id": 74990, + "id": 75020, "nodeType": "InheritanceSpecifier", - "src": "9085:26:172" + "src": "9085:26:173" } ], "canonicalName": "OrderBook", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 74980, + "id": 75010, "nodeType": "StructuredDocumentation", - "src": "8929:68:172", + "src": "8929:68:173", "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 77004, + 77034, 55357, - 71964, - 74539, + 71994, + 74569, 45220, 43711, - 77796, + 78111, 56260, - 77513 + 77828 ], "name": "OrderBook", - "nameLocation": "9006:9:172", - "scope": 77005, + "nameLocation": "9006:9:173", + "scope": 77035, "usedErrors": [ - 56493, - 56776, - 71944, - 71949, - 74195, - 74198, - 74201, - 74206, - 74215, - 74826, - 74833, - 74840, - 74847, - 74854, - 74859, - 77527, - 77568, - 77577, - 77582, - 77587, - 77592, - 77597 + 56523, + 56806, + 71974, + 71979, + 74225, + 74228, + 74231, + 74236, + 74245, + 74856, + 74863, + 74870, + 74877, + 74884, + 74889, + 77842, + 77883, + 77892, + 77897, + 77902, + 77907, + 77912 ] } ], "license": "CAL" }, - "id": 172 + "id": 173 } \ No newline at end of file diff --git a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json index 86f4d726c4..43b5e658d8 100644 --- a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json +++ b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json @@ -408,27 +408,6 @@ "name": "StackOverflow", "type": "error" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calculatedInputs", - "type": "uint256" - } - ], - "name": "StackUnderflow", - "type": "error" - }, { "inputs": [ { @@ -910,15 +889,15 @@ ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b5060405162004b1f38038062004b1f833981016040819052620000349162000449565b805160208201516001600160a01b03808316608081905290821660a0526040805163f933c72f60e01b815290516000929163f933c72f91600480830192869291908290030181865afa1580156200008f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000b99190810190620004fa565b905060405180608001604052806052815260200162004acd6052913980519060200120818051906020012014620001105780604051634c1af20160e11b815260040162000107919062000568565b60405180910390fd5b823f7faa8f18bb20fc23e48b3d51bcb3ed2a06b174be576927d4cc0554fd5e781f7b1981146200015757604051630eec293f60e11b81526004810182905260240162000107565b823f7fd6130168250d3957ae34f8026c2bdbd7e21d35bb202e8540a9b3abcbc232ddb681146200019e5760405163cc0415fd60e01b81526004810182905260240162000107565b604086015180516020909101207fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb18114620001f0576040516343d0fe5760e11b81526004810182905260240162000107565b7f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1333088888b604001516040516200022d95949392919062000584565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256320000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002a89160040162000568565b602060405180830381865afa158015620002c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ec9190620005cd565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505050505050505050620005e7565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200038d57600080fd5b919050565b60005b83811015620003af57818101518382015260200162000395565b50506000910152565b600082601f830112620003ca57600080fd5b81516001600160401b0380821115620003e757620003e76200035f565b604051601f8301601f19908116603f011681019082821181831017156200041257620004126200035f565b816040528381528660208588010111156200042c57600080fd5b6200043f84602083016020890162000392565b9695505050505050565b6000602082840312156200045c57600080fd5b81516001600160401b03808211156200047457600080fd5b90830190606082860312156200048957600080fd5b604051606081018181108382111715620004a757620004a76200035f565b604052620004b58362000375565b8152620004c56020840162000375565b6020820152604083015182811115620004dd57600080fd5b620004eb87828601620003b8565b60408301525095945050505050565b6000602082840312156200050d57600080fd5b81516001600160401b038111156200052457600080fd5b6200053284828501620003b8565b949350505050565b600081518084526200055481602086016020860162000392565b601f01601f19169290920160200192915050565b6020815260006200057d60208301846200053a565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005c2908301846200053a565b979650505050505050565b600060208284031215620005e057600080fd5b5051919050565b60805160a0516144b26200061b60003960008181610190015261044d0152600081816101f1015261042a01526144b26000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063c19423bc11610076578063f0cfdd371161005b578063f0cfdd37146101ec578063fab4087a14610213578063ffc257041461023457600080fd5b8063c19423bc1461018b578063cbb7d173146101d757600080fd5b80638d614591116100a75780638d61459114610135578063a600bd0a1461014a578063b6c7175a1461015d57600080fd5b806301ffc9a7146100c357806331a66b65146100eb575b600080fd5b6100d66100d1366004613d18565b61023c565b60405190151581526020015b60405180910390f35b6100fe6100f9366004613f2e565b6102d5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016100e2565b61013d61047c565b6040516100e29190614024565b61013d610158366004614037565b61048b565b6040517fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb181526020016100e2565b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101ea6101e5366004613f2e565b610547565b005b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b610226610221366004614037565b610570565b6040516100e29291906140a7565b61013d61058d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f31a66b650000000000000000000000000000000000000000000000000000000014806102cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060006102e5868686610547565b7f4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf3387878760405161031a94939291906140d5565b60405180910390a18451865160009182916103bd916020020160400160408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b915091506103cc8189896105ae565b60006103d7836105ec565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000095507f00000000000000000000000000000000000000000000000000000000000000009450925050505b93509350939050565b606061048661065a565b905090565b805160208201206060907fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1811461051c576040517f26cc0fec0000000000000000000000000000000000000000000000000000000081527fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb16004820152602481018290526044015b60405180910390fd5b6000838060200190518101906105329190614135565b905061053f816002610837565b949350505050565b61056b60405180608001604052806052815260200161437160529139848484610b64565b505050565b6060806105848361057f61058d565b610f23565b91509150915091565b606060405180610120016040528060ef81526020016143c360ef9139905090565b80600182510160200281015b808210156105d55781518552602094850194909101906105ba565b505061056b6105e18390565b84845160200161178b565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610653576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060613d0e60006029905080915060006040518061054001604052808467ffffffffffffffff1667ffffffffffffffff1681526020016117f1815260200161186b81526020016118d281526020016118dc81526020016118d281526020016118d281526020016118d281526020016118d281526020016118d281526020016118e681526020016119088152602001611932815260200161195481526020016118e681526020016119548152602001611954815260200161195e8152602001611968815260200161195481526020016119548152602001611971815260200161197181526020016119548152602001611968815260200161196881526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119688152602001611988815260200161199281526020016119928152509050606081905060298151146108255780516040517fc8b56901000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052604401610513565b61082e816119a1565b94505050505090565b6060808060008060ff861667ffffffffffffffff81111561085a5761085a613d61565b604051908082528060200260200182016040528015610883578160200160208202803683370190505b5093508560ff1667ffffffffffffffff8111156108a2576108a2613d61565b6040519080825280602002602001820160405280156108cb578160200160208202803683370190505b509250865b805115610940576000806108e383611a32565b8951909550919350915082908890869081106109015761090161429b565b602002602001019060ff16908160ff1681525050808685815181106109285761092861429b565b602090810291909101015250506001909101906108d0565b5060006005885102602183026001010190508067ffffffffffffffff81111561096b5761096b613d61565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b50955081602087015360005b828110156109d357806021026021880101816020026020018701518153602080830287010151600191820152016109a1565b50506021028401600601905060005b8651811015610b5a576000805b6000806000878581518110610a0657610a0661429b565b60200260200101519050600080610a568b8881518110610a2857610a2861429b565b602002602001015160ff168f8a81518110610a4557610a4561429b565b602002602001015160000151611b60565b925090506005600087610a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85018716611b82565b01919091028a01805190955062ffffff84811693501690508015610b0157818103610ae3576040517f59293c5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190970196610af284611b82565b870196505050505050506109ef565b8195505050505060188b8681518110610b1c57610b1c61429b565b60200260200101516020015160ff16901b602086901b17821791506000600160056001901b03199050828183511617825250505050506001016109e2565b5050505092915050565b6000610b6f84611c5b565b90508082511115610bb95781516040517ffd9e1af4000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610513565b6020850160005b82811015610f1a576000610bd48783611c79565b90506000610be28884611c92565b90508551831015610cb2578115610c2f576040517fee8d10810000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610513565b858381518110610c4157610c4161429b565b6020026020010151811015610cb2578281878581518110610c6457610c6461429b565b60200260200101516040517ff7dd619f000000000000000000000000000000000000000000000000000000008152600401610513939291909283526020830191909152604082015260600190565b6000610cc089848a51611cab565b905060006018610cd08b87611d17565b0390506000610cdf8b87611d48565b600402820190505b80821015610e64578151601c81901a60020288015162ffffff821691601d1a9060f01c600080610d15888685565b91509150838214610d695760808801516040517fddf5607100000000000000000000000000000000000000000000000000000000815260048101919091526024810183905260448101859052606401610513565b8751821115610dbb57608088015188516040517f2cab6bff0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101839052606401610513565b875182900380895260408901511115610e1d57608088015188516040808b015190517f1bc5ab0f000000000000000000000000000000000000000000000000000000008152600481019390935260248301919091526044820152606401610513565b8751810180895260208901511015610e3757875160208901525b6001811115610e4857875160408901525b5050506080850180516001019052505060049190910190610ce7565b610e6e8b87611d61565b836020015114610ec2578260200151610e878c88611d61565b6040517f4d9c18dc00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610513565b82518414610f095782516040517f4689f0b3000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052604401610513565b505060019093019250610bc0915050565b50505050505050565b6060806000610f30611d7a565b85519091501561176c578451600090602087810191880101825b818310156116c9576001835160001a1b905060018560e001511660000361125b576f07fffffe8000000000000000000000008116156111035760e085015160021615610feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f5520a51700000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6f07fffffe0000000000000000000000008116156110975761101d836f07fffffe0000000003ff200000000000611ee9565b9450925060008061102e8787611f9a565b915091508115611090576040517f53e6feba0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8703016004820152602401610513565b50506110b8565b6110b560018401836f07fffffe0000000003ff200000000000612011565b92505b604085018051600190810190915260a086018051909101905260e0850180516022177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef169052610f4a565b640100002600811615611154576111236001840183640100002600612011565b60e0860180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1690529250610f4a565b67040000000000000081161561119d5760e0850180516021177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed16905260019290920191610f4a565b658000000000008116156112315760108560e0015116600003611215578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517fedad0c5800000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b61121f898461203d565b60e08601805160021790529250610f4a565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610fb6565b6f07fffffe0000000000000000000000008116156113f05760e0850151600216156112db578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f4e803df600000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6112f5836f07fffffe0000000003ff200000000000611ee9565b8095508194505050600080613d0e6113138b896101a0015189612149565b92509250925082156113565760006113358961018001518e898563ffffffff16565b9097509050611345898483612215565b5060e08801805160041790526113dd565b6113608888612352565b909350915082156113855761137788600084612215565b611380886123cd565b6113dd565b6040517f81bd48db0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8803016004820152602401610513565b50505060e0850180516002179052610f4a565b60e0850151600416156114e657650100000000008116600003611465576040517f23b5c6ea0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b60608501805160001a60030190819053603b8111156114b0576040517f6232f2d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060e0850180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9169052600190920191610f4a565b650200000000008116156115b7576000606086015160001a905080600003611560576040517f7f9db5420000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8603016004820152602401610513565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd01606086018181538160048201015160001a8260028301015160f01c60010153506115ab866123cd565b50600190920191610f4a565b6401000026008116156115d7576111236001840183640100002600612011565b6703ff00000000000081161561160d576115f2858a85612430565b92506115fd856123cd565b60e0850180516002179052610f4a565b6510000000000081161561163157611626858a85612582565b600190920191610f4a565b6708000000000000008116156116675761164c858a85612582565b61165585612855565b601860e0860152600190920191610f4a565b6580000000000081161561169f578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016111e0565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016112a6565b818314611702576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60e085015160201615611767576040517ff06f54cf0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b505050505b61177581612a97565b61177e82612bcf565b92509250505b9250929050565b6020810680820384015b808510156117b0578451845260209485019490930192611795565b5080156117eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c808451168119865116178452505b50505050565b815160009081908390811061184957608085015185516040517feaa16f330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101829052606401610513565b846040015181111561185d57604085018190525b506000946001945092505050565b600080836060015183106118c557608084015160608501516040517feb7894540000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101849052606401610513565b5060009360019350915050565b5060009160019150565b60101c9160019150565b600080601083901c806118fa5760016118fc565b805b95600195509350505050565b600080601083901c8061191c57600261191e565b805b905060028106156118fa57806001016118fc565b600080601083901c80611946576001611948565b805b95600095509350505050565b5060029160019150565b5060039160019150565b50600191829150565b600080601083901c600181116118fa5760026118fc565b5060029160009150565b60046001808316019250929050565b60606000825160020267ffffffffffffffff8111156119c2576119c2613d61565b6040519080825280601f01601f1916602001820160405280156119ec576020820181803683370190505b50905061ffff80196020850160208651028101600285015b81831015611a2657805183518616908516178152602090920191600201611a04565b50939695505050505050565b60008060606000805b60ff811015611ab3576000805b8751811015611a7a57600080611a6a858b8581518110610a4557610a4561429b565b5093909317925050600101611a48565b506000611a8682611b82565b905083811115611a9a578093508296508195505b87518103611aa9575050611ab3565b5050600101611a3b565b5084516040805192909103808352600101602002820190529050600080805b8651811015611b5657600080611af78860ff168a8581518110610a4557610a4561429b565b91509150848216600003611b0e5793811793611b4c565b888381518110611b2057611b2061429b565b6020026020010151868581518110611b3a57611b3a61429b565b60209081029190910101526001909301925b5050600101611ad2565b5050509193909250565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bb45750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b60008151600003611c6e57506000919050565b506020015160001a90565b600080611c868484611d17565b5160021a949350505050565b600080611c9f8484611d17565b5160031a949350505050565b611ce46040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001606081525090565b506040805160c081018252838152602081018490529081019290925260608201526000608082015260a081019190915290565b600080611d2384611c5b565b60020260010190506000611d378585612c44565b949091019093016020019392505050565b600080611d558484611d17565b5160001a949350505050565b600080611d6e8484611d17565b5160011a949350505050565b611df3604051806101e001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051806101e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016010600817815260200160008152602001600081526020016000815260200160008152602001611e6861333c60101b6130901790565b8152602001611e92613a7360401b61390260301b6137a660201b61369860101b6135fb1717171790565b8152600060209182018190526040805183815280840182528452918301819052908201819052606082018190526080820181905260a08201819052610100820181905261012082018190526101c082015292915050565b8151600090819060015b8419600183831a1b1615602082101615611f0f57600101611ef3565b9485019460208190036008810292831c90921b91611f9157604080516020810184905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b700000000000000000000000000000000000000000000000000000000825261051391600401614024565b50939492505050565b600080611fa78484612352565b90925090508161178457506101008301805160408051948552602080862092865285018152909401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909416601085901b62ff000016179092179091529160ff90911660010190565b60005b6000826001865160001a1b1611838510161561203557600184019350612014565b509192915050565b805160009060f01c612f2a81146120a6576040517f3e47169c0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858503016004820152602401610513565b835160029390930192602a90602f90860160200160005b80612103575b81871084885160001a141516156120df576001870196506120c3565b6001870196508187101583885160001a1417156120fe57506001958601955b6120bd565b508086111561213e576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509395945050505050565b600183810180516000928392613d0e92602160ff909116028801600681019201845b81831015612201576001830151602190930180519093600090819060ff168180612195838f611b60565b915091506000876121aa600185038916611b82565b016005028b015195505062ffffff90811693508416830391506121ec9050575060019850601b81901a9750601c1a8a901c61ffff169550610473945050505050565b6121f583611b82565b8401935050505061216b565b506000998a99508998509650505050505050565b61221e83612cbc565b60e08301805160207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79190911681179091528301516021600091821a850101805190911a600101815350825180516060850151600090811a86016061018051929361ffff85169360088504909103601c0192600191901a018153600060038201537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe30180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690911790528451602090920183821b176018820185901b179182905260e081900361234b578451604080518088526020601084901b81178252810190915281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000161790525b5050505050565b61010082015161012083015160008381526020808220919384939290911c91600160ff84161b808216156123b85761ffff83165b80156123b6578360201c85036123a9576001965061ffff8460101c1695506123b6565b51925061ffff8316612386565b505b17610120909601959095525090939092509050565b6000606082015160001a90508060000361242c5760208201805160001a600101908181535080603f0361056b576040517fa25cba3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000613d0e600080600061244a8861018001518888612d06565b8981038a206101408d015194985092965090945092507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016906001600083811a82901b929091908316156124f0576101608c015160101c5b80156124ee5780517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000811686036124dd5760019350506124ee565b505160019091019061ffff166124a2565b505b6101608c015161ffff1661251660018461250a578261250e565b8383035b8f9190612215565b508161257257604080518082019091526101608d015160101c8517815260006125448d8a8a63ffffffff8e16565b6020830152506101608d018051600161ffff9091160160109290921b9190911790526101408c018051841790525b50929a9950505050505050505050565b606083015160001a80156125e8576040517f6fb11cdc0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848403016004820152602401610513565b506125f283612cbc565b60e083018051603060089182161790915260a0840151602085015160ff8083169360f89290921c9290911c16810360008190036126bb5760088660e0015116600003612690576040517fab1d3ea70000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b90820160f881901b60208701526101c08601519091906126b09084612fc9565b6101c0870152612784565b60018111156127845780831015612724576040517f78ef27820000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80831115612784576040517f43168e680000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b8082036001016020601083028101905b818110156128405760a08901516020848b01015190821c61ffff169060001a60015b81811161282f5760208306601c036127cf57915160f01c915b82516101c08d015160019190911a906127e89082613011565b6101c08e015261281982841480156128005750886001145b61280b57600161280d565b8a5b6101c08f015190613058565b6101c08e015250600492909201916001016127b6565b505060019093019250601001612794565b5050505060081b60a090940193909352505050565b60c0810151602082015160f082811c9160001a600101908290036128a5576040517fa806284100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080856101c001519050855161ffff815160101c165b80156128d357805190915060101c61ffff166128bc565b50604051602188018051919450601c830192916004916024870191600090811a805b8a8310156129bb5760048202860195506004878903045b8082111561292a57965161ffff16601c81019850969003600761290c565b506004810297889003805186529794909401938103865b6007821115612986575160101c61ffff1680518652601c909501947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff990910190612941565b81156129a1575160101c61ffff168051865260048202909501945b505050600191820180519092919091019060001a806128f5565b50505050818652600486019350846001600484040360181b1763ffffffff19855116178452601f19601f820116604052505050506001846001901b612a0091906142f9565b851682851b60f0612a1287601061430c565b901b171760c087015260e0860180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf16905260408051602080825280820183529088526000908801819052908701819052606087018190526080870181905260a08701819052610100870181905261012087018190526101c0870152505050505050565b60c08101518151516060919060f082901c9060208114612ae3576040517f858f2dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051935060208401601083046000818353506001600885048301810192839101600080805b88811015612b425789811c61ffff81165163ffff0000601092831b16811760e01b8786015284019360f08390031b929092179101612b09565b50825117909152878203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08181018952908801601f011660405260005b82811015612bc3576002810288016003015161ffff90811683018051602060f082901c019260e09190911c1690612bb883828461178b565b505050600101612b80565b50505050505050919050565b6101608101516040805161ffff8316808252602080820283019081019093529092909160109190911c90835b80821115612c3b5760208301518252915161ffff16917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190612bfb565b50505050919050565b6002810282016003015161ffff166000612c5d84611c5b565b845190915060056002830284010190811180612c795750818410155b15612cb45784846040517fd3fc97bd00000000000000000000000000000000000000000000000000000000815260040161051392919061431f565b505092915050565b60208101805160001a6001810182015160001a61056b578251805160a085018051600861ffff939093169290920460200390920160106001601e84901a860301021b179052505050565b8051613d0e9060009081908190600181831a1b6703ff000000000000811615612f2857600182811a1b7ffffffffffffffffffffffffffffffffffeffffffffffffffffff00000000000082821701612de25760028801806c7e0000007e03ff0000000000005b806001835160001a1b1615612d8657600182019150612d6c565b508a5161ffff8d16908c0160200180831115612dce576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5098509096509450849350612fc092505050565b876001810160006703ff0000000000006c200000002000000000000000005b816001855160001a1b1615612e1b57600184019350612e01565b806001855160001a1b1615612e4c57600184019392505b816001855160001a1b1615612e4c57600184019350612e32565b50508015801590612e6b575080600301821180612e6b57508060010182145b15612ec8576040517f013b2aaa0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8303016004820152602401610513565b8b5161ffff60108f901c16908d0160200180841115612f13576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5099509197509550859450612fc09350505050565b87518801602001808810612f68576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fb0e4e5b30000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8a03016004820152602401610513565b93509350935093565b6000612fd58383613058565b9250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff821660ff600884811c919091168301901b1792915050565b600060ff831682811015613051576040517f04671d0000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050900390565b600060ff808416830190600885901c16601085901c808311156130785750815b601081901b600883901b841717935050505092915050565b600082820360408111156130f6576040517fff2f59490000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80600003613156576040517fc75cd5090000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b600281066001036131b9576040517fd76d9b570000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160005b858210613332578151600090811a906001821b906703ff00000000000082161561322c57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd082016132fc565b6c7e00000000000000000000000082161561326a57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa982016132fc565b687e00000000000000008216156132a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc982016132fc565b6040517f69f1e3e60000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8703016004820152602401610513565b831b959095179450507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906004016131df565b5050509392505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8101516000908190603090829080821a87870360038111801561339157506001821b6c200000002000000000000000001615155b156133b357600488039550600a858460011a0302858460021a0301935061345f565b8260011a91506002811180156133da57506001821b6c200000002000000000000000001615155b156133f257600388039550848360021a03935061345f565b8015613407576001880395506000935061345f565b6040517ffa65827e0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8b03016004820152602401610513565b5050505b8583101580156134735750604d81105b156134b857825160001a829003600a82900a0293909301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191600101613463565b85831061333257825160001a829003600181111561352b578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f8f2b5ffd00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b600a82900a8102858101861115613566578885037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b9490940193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201915b85831061333257825160001a603081146135d0578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191613592565b80516000908190600190821a1b7ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008101613687576040517ff8216c550000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b83600092509250505b935093915050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576136e76001860182640100002600612011565b945060006136f9888861ffff89613c11565b909650905061370e8683640100002600612011565b8051909650600160009190911a1b92506740000000000000008314613788578686037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f722cd24a00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6001860194509250613690915050565b846000935093505050613690565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a7576137f56001860182640100002600612011565b94506000613806888860ff89613c11565b90965090508061381c8784640100002600612011565b9650600061382d8a8a60ff8b613c11565b909850600881901b9290921791905061384c8885640100002600612011565b8051909850600160009190911a1b94506740000000000000008514613895578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b50600187019550935061369092505050565b8585037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f24027dc400000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576139516001860182640100002600612011565b80519095506001600091821a1b92507fffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000830161398f575060006139b4565b61399c8888600189613c11565b90965090506139b18683640100002600612011565b95505b85516001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000084016139ef57506000613a14565b6139fc898960018a613c11565b9097509050613a118784640100002600612011565b96505b8651600160009190911a81901b945081901b82176740000000000000008514613a61578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b60018801965094506136909350505050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a757613ac26001860182640100002600612011565b94506000613ad3888860ff89613c11565b9096509050613ae88683640100002600612011565b80519096506001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008401613b2657506000613b4b565b613b33898960018a613c11565b9097509050613b488784640100002600612011565b96505b86516001600091821a1b94507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008501613b8657506000613bab565b613b938a8a60018b613c11565b9098509050613ba88885640100002600612011565b97505b8751600160009190911a1b9450600882901b8317600982901b176740000000000000008614613bfe578989037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b6001890197509550613690945050505050565b80516000908190600190821a1b7fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008101613c6f578584037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016138cd565b613d0e6000806000613c828b8b8a612d06565b93509350935093506000613c9b8b85858863ffffffff16565b905089811115613cfd576040517f7480c7840000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8b03016004820152602401610513565b909b909a5098505050505050505050565b613d16614341565b565b600060208284031215613d2a57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613d5a57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715613db357613db3613d61565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613e0057613e00613d61565b604052919050565b600067ffffffffffffffff821115613e2257613e22613d61565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112613e5f57600080fd5b8135613e72613e6d82613e08565b613db9565b818152846020838601011115613e8757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115613ebe57613ebe613d61565b5060051b60200190565b600082601f830112613ed957600080fd5b81356020613ee9613e6d83613ea4565b82815260059290921b84018101918181019086841115613f0857600080fd5b8286015b84811015613f235780358352918301918301613f0c565b509695505050505050565b600080600060608486031215613f4357600080fd5b833567ffffffffffffffff80821115613f5b57600080fd5b613f6787838801613e4e565b94506020860135915080821115613f7d57600080fd5b613f8987838801613ec8565b93506040860135915080821115613f9f57600080fd5b50613fac86828701613ec8565b9150509250925092565b60005b83811015613fd1578181015183820152602001613fb9565b50506000910152565b60008151808452613ff2816020860160208601613fb6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613d5a6020830184613fda565b60006020828403121561404957600080fd5b813567ffffffffffffffff81111561406057600080fd5b61053f84828501613e4e565b600081518084526020808501945080840160005b8381101561409c57815187529582019590820190600101614080565b509495945050505050565b6040815260006140ba6040830185613fda565b82810360208401526140cc818561406c565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681526080602082015260006141046080830186613fda565b8281036040840152614116818661406c565b9050828103606084015261412a818561406c565b979650505050505050565b6000602080838503121561414857600080fd5b825167ffffffffffffffff8082111561416057600080fd5b818501915085601f83011261417457600080fd5b8151614182613e6d82613ea4565b81815260059190911b830184019084810190888311156141a157600080fd5b8585015b8381101561428e578051858111156141bd5760008081fd5b86016060818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156141f35760008081fd5b6141fb613d90565b89830151815260408084015160ff811681146142175760008081fd5b828c015291830151918883111561422e5760008081fd5b82840193508d603f85011261424557600092508283fd5b8a8401519250614257613e6d84613e08565b8381528e8285870101111561426c5760008081fd5b61427b848d8301848801613fb6565b90820152855250509186019186016141a5565b5098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156102cf576102cf6142ca565b808201808211156102cf576102cf6142ca565b6040815260006143326040830185613fda565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff510c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "sourceMap": "3924:7282:80:-:0;;;5267:2271;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5429:18;;5506:12;;;;-1:-1:-1;;;;;5529:26:80;;;;;;;5565:14;;;;;5768:30;;;-1:-1:-1;;;5768:30:80;;;;5385:26;;5529;5768:28;;:30;;;;;5385:26;;5768:30;;;;;;;5529:26;5768:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5768:30:80;;;;;;;;;;;;:::i;:::-;5736:62;;5853:24;;;;;;;;;;;;;;;;;5843:35;;;;;;5822:16;5812:27;;;;;;:66;5808:140;;5920:16;5901:36;;-1:-1:-1;;;5901:36:80;;;;;;;;:::i;:::-;;;;;;;;5808:140;6111:24;;2375:66;6158:44;;6154:247;;6340:50;;-1:-1:-1;;;6340:50:80;;;;;3231:25:211;;;3204:18;;6340:50:80;3085:177:211;6154:247:80;6547:18;;2535:66;6588:32;;6584:223;;6758:38;;-1:-1:-1;;;6758:38:80;;;;;3231:25:211;;;3204:18;;6758:38:80;3085:177:211;6584:223:80;7086:20;;;;7076:31;;;;;;;2695:66;7121:46;;7117:129;;7190:45;;-1:-1:-1;;;7190:45:80;;;;;3231:25:211;;;3204:18;;7190:45:80;3085:177:211;7117:129:80;7261:94;7269:10;7289:4;7304:11;7326:5;7334:6;:20;;;7261:94;;;;;;;;;;:::i;:::-;;;;;;;;7468:37;;;;;;;;;;;;;;;;7436:70;;-1:-1:-1;;;7436:70:80;;254:42:40;;7366:41:80;;7429:4;;254:42:40;;7436:31:80;;:70;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7366:165;;-1:-1:-1;;;;;;7366:165:80;;;;;;;-1:-1:-1;;;;;4521:15:211;;;7366:165:80;;;4503:34:211;4553:18;;;4546:34;7516:4:80;4596:18:211;;;4589:43;4438:18;;7366:165:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5344:2194;;;;;;5267:2271;3924:7282;;14:127:211;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:211;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:250::-;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:211;552:16;;545:27;328:250::o;583:698::-;636:5;689:3;682:4;674:6;670:17;666:27;656:55;;707:1;704;697:12;656:55;730:13;;-1:-1:-1;;;;;792:10:211;;;789:36;;;805:18;;:::i;:::-;880:2;874:9;848:2;934:13;;-1:-1:-1;;930:22:211;;;954:2;926:31;922:40;910:53;;;978:18;;;998:22;;;975:46;972:72;;;1024:18;;:::i;:::-;1064:10;1060:2;1053:22;1099:2;1091:6;1084:18;1145:3;1138:4;1133:2;1125:6;1121:15;1117:26;1114:35;1111:55;;;1162:1;1159;1152:12;1111:55;1175:76;1248:2;1241:4;1233:6;1229:17;1222:4;1214:6;1210:17;1175:76;:::i;:::-;1269:6;583:698;-1:-1:-1;;;;;;583:698:211:o;1286:957::-;1424:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:52;;;1493:1;1490;1483:12;1445:52;1520:16;;-1:-1:-1;;;;;1585:14:211;;;1582:34;;;1612:1;1609;1602:12;1582:34;1635:22;;;;1691:4;1673:16;;;1669:27;1666:47;;;1709:1;1706;1699:12;1666:47;1742:2;1736:9;1784:4;1776:6;1772:17;1839:6;1827:10;1824:22;1819:2;1807:10;1804:18;1801:46;1798:72;;;1850:18;;:::i;:::-;1886:2;1879:22;1925:33;1955:2;1925:33;:::i;:::-;1917:6;1910:49;1992:42;2030:2;2026;2022:11;1992:42;:::i;:::-;1987:2;1979:6;1975:15;1968:67;2074:2;2070;2066:11;2060:18;2103:2;2093:8;2090:16;2087:36;;;2119:1;2116;2109:12;2087:36;2156:55;2203:7;2192:8;2188:2;2184:17;2156:55;:::i;:::-;2151:2;2139:15;;2132:80;-1:-1:-1;2143:6:211;1286:957;-1:-1:-1;;;;;1286:957:211:o;2248:335::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2423:16;;-1:-1:-1;;;;;2451:30:211;;2448:50;;;2494:1;2491;2484:12;2448:50;2517:60;2569:7;2560:6;2549:9;2545:22;2517:60;:::i;:::-;2507:70;2248:335;-1:-1:-1;;;;2248:335:211:o;2588:270::-;2629:3;2667:5;2661:12;2694:6;2689:3;2682:19;2710:76;2779:6;2772:4;2767:3;2763:14;2756:4;2749:5;2745:16;2710:76;:::i;:::-;2840:2;2819:15;-1:-1:-1;;2815:29:211;2806:39;;;;2847:4;2802:50;;2588:270;-1:-1:-1;;2588:270:211:o;2863:217::-;3010:2;2999:9;2992:21;2973:4;3030:44;3070:2;3059:9;3055:18;3047:6;3030:44;:::i;:::-;3022:52;2863:217;-1:-1:-1;;;2863:217:211:o;3267:578::-;-1:-1:-1;;;;;3564:15:211;;;3546:34;;3616:15;;;3611:2;3596:18;;3589:43;3668:15;;;3663:2;3648:18;;3641:43;3720:15;;3715:2;3700:18;;3693:43;3526:3;3767;3752:19;;3745:32;;;3489:4;;3794:45;;3819:19;;3811:6;3794:45;:::i;:::-;3786:53;3267:578;-1:-1:-1;;;;;;;3267:578:211:o;4074:184::-;4144:6;4197:2;4185:9;4176:7;4172:23;4168:32;4165:52;;;4213:1;4210;4203:12;4165:52;-1:-1:-1;4236:16:211;;4074:184;-1:-1:-1;4074:184:211:o;4263:375::-;3924:7282:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "sourceMap": "3924:7282:80:-:0;;;5267:2271;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5429:18;;5506:12;;;;-1:-1:-1;;;;;5529:26:80;;;;;;;5565:14;;;;;5768:30;;;-1:-1:-1;;;5768:30:80;;;;5385:26;;5529;5768:28;;:30;;;;;5385:26;;5768:30;;;;;;;5529:26;5768:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5768:30:80;;;;;;;;;;;;:::i;:::-;5736:62;;5853:24;;;;;;;;;;;;;;;;;5843:35;;;;;;5822:16;5812:27;;;;;;:66;5808:140;;5920:16;5901:36;;-1:-1:-1;;;5901:36:80;;;;;;;;:::i;:::-;;;;;;;;5808:140;6111:24;;2375:66;6158:44;;6154:247;;6340:50;;-1:-1:-1;;;6340:50:80;;;;;3231:25:212;;;3204:18;;6340:50:80;3085:177:212;6154:247:80;6547:18;;2535:66;6588:32;;6584:223;;6758:38;;-1:-1:-1;;;6758:38:80;;;;;3231:25:212;;;3204:18;;6758:38:80;3085:177:212;6584:223:80;7086:20;;;;7076:31;;;;;;;2695:66;7121:46;;7117:129;;7190:45;;-1:-1:-1;;;7190:45:80;;;;;3231:25:212;;;3204:18;;7190:45:80;3085:177:212;7117:129:80;7261:94;7269:10;7289:4;7304:11;7326:5;7334:6;:20;;;7261:94;;;;;;;;;;:::i;:::-;;;;;;;;7468:37;;;;;;;;;;;;;;;;7436:70;;-1:-1:-1;;;7436:70:80;;254:42:40;;7366:41:80;;7429:4;;254:42:40;;7436:31:80;;:70;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7366:165;;-1:-1:-1;;;;;;7366:165:80;;;;;;;-1:-1:-1;;;;;4521:15:212;;;7366:165:80;;;4503:34:212;4553:18;;;4546:34;7516:4:80;4596:18:212;;;4589:43;4438:18;;7366:165:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5344:2194;;;;;;5267:2271;3924:7282;;14:127:212;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:212;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:250::-;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:212;552:16;;545:27;328:250::o;583:698::-;636:5;689:3;682:4;674:6;670:17;666:27;656:55;;707:1;704;697:12;656:55;730:13;;-1:-1:-1;;;;;792:10:212;;;789:36;;;805:18;;:::i;:::-;880:2;874:9;848:2;934:13;;-1:-1:-1;;930:22:212;;;954:2;926:31;922:40;910:53;;;978:18;;;998:22;;;975:46;972:72;;;1024:18;;:::i;:::-;1064:10;1060:2;1053:22;1099:2;1091:6;1084:18;1145:3;1138:4;1133:2;1125:6;1121:15;1117:26;1114:35;1111:55;;;1162:1;1159;1152:12;1111:55;1175:76;1248:2;1241:4;1233:6;1229:17;1222:4;1214:6;1210:17;1175:76;:::i;:::-;1269:6;583:698;-1:-1:-1;;;;;;583:698:212:o;1286:957::-;1424:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:52;;;1493:1;1490;1483:12;1445:52;1520:16;;-1:-1:-1;;;;;1585:14:212;;;1582:34;;;1612:1;1609;1602:12;1582:34;1635:22;;;;1691:4;1673:16;;;1669:27;1666:47;;;1709:1;1706;1699:12;1666:47;1742:2;1736:9;1784:4;1776:6;1772:17;1839:6;1827:10;1824:22;1819:2;1807:10;1804:18;1801:46;1798:72;;;1850:18;;:::i;:::-;1886:2;1879:22;1925:33;1955:2;1925:33;:::i;:::-;1917:6;1910:49;1992:42;2030:2;2026;2022:11;1992:42;:::i;:::-;1987:2;1979:6;1975:15;1968:67;2074:2;2070;2066:11;2060:18;2103:2;2093:8;2090:16;2087:36;;;2119:1;2116;2109:12;2087:36;2156:55;2203:7;2192:8;2188:2;2184:17;2156:55;:::i;:::-;2151:2;2139:15;;2132:80;-1:-1:-1;2143:6:212;1286:957;-1:-1:-1;;;;;1286:957:212:o;2248:335::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2423:16;;-1:-1:-1;;;;;2451:30:212;;2448:50;;;2494:1;2491;2484:12;2448:50;2517:60;2569:7;2560:6;2549:9;2545:22;2517:60;:::i;:::-;2507:70;2248:335;-1:-1:-1;;;;2248:335:212:o;2588:270::-;2629:3;2667:5;2661:12;2694:6;2689:3;2682:19;2710:76;2779:6;2772:4;2767:3;2763:14;2756:4;2749:5;2745:16;2710:76;:::i;:::-;2840:2;2819:15;-1:-1:-1;;2815:29:212;2806:39;;;;2847:4;2802:50;;2588:270;-1:-1:-1;;2588:270:212:o;2863:217::-;3010:2;2999:9;2992:21;2973:4;3030:44;3070:2;3059:9;3055:18;3047:6;3030:44;:::i;:::-;3022:52;2863:217;-1:-1:-1;;;2863:217:212:o;3267:578::-;-1:-1:-1;;;;;3564:15:212;;;3546:34;;3616:15;;;3611:2;3596:18;;3589:43;3668:15;;;3663:2;3648:18;;3641:43;3720:15;;3715:2;3700:18;;3693:43;3526:3;3767;3752:19;;3745:32;;;3489:4;;3794:45;;3819:19;;3811:6;3794:45;:::i;:::-;3786:53;3267:578;-1:-1:-1;;;;;;;3267:578:212:o;4074:184::-;4144:6;4197:2;4185:9;4176:7;4172:23;4168:32;4165:52;;;4213:1;4210;4203:12;4165:52;-1:-1:-1;4236:16:212;;4074:184;-1:-1:-1;4074:184:212:o;4263:375::-;3924:7282:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063c19423bc11610076578063f0cfdd371161005b578063f0cfdd37146101ec578063fab4087a14610213578063ffc257041461023457600080fd5b8063c19423bc1461018b578063cbb7d173146101d757600080fd5b80638d614591116100a75780638d61459114610135578063a600bd0a1461014a578063b6c7175a1461015d57600080fd5b806301ffc9a7146100c357806331a66b65146100eb575b600080fd5b6100d66100d1366004613d18565b61023c565b60405190151581526020015b60405180910390f35b6100fe6100f9366004613f2e565b6102d5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016100e2565b61013d61047c565b6040516100e29190614024565b61013d610158366004614037565b61048b565b6040517fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb181526020016100e2565b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101ea6101e5366004613f2e565b610547565b005b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b610226610221366004614037565b610570565b6040516100e29291906140a7565b61013d61058d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f31a66b650000000000000000000000000000000000000000000000000000000014806102cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060006102e5868686610547565b7f4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf3387878760405161031a94939291906140d5565b60405180910390a18451865160009182916103bd916020020160400160408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b915091506103cc8189896105ae565b60006103d7836105ec565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000095507f00000000000000000000000000000000000000000000000000000000000000009450925050505b93509350939050565b606061048661065a565b905090565b805160208201206060907fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1811461051c576040517f26cc0fec0000000000000000000000000000000000000000000000000000000081527fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb16004820152602481018290526044015b60405180910390fd5b6000838060200190518101906105329190614135565b905061053f816002610837565b949350505050565b61056b60405180608001604052806052815260200161437160529139848484610b64565b505050565b6060806105848361057f61058d565b610f23565b91509150915091565b606060405180610120016040528060ef81526020016143c360ef9139905090565b80600182510160200281015b808210156105d55781518552602094850194909101906105ba565b505061056b6105e18390565b84845160200161178b565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610653576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060613d0e60006029905080915060006040518061054001604052808467ffffffffffffffff1667ffffffffffffffff1681526020016117f1815260200161186b81526020016118d281526020016118dc81526020016118d281526020016118d281526020016118d281526020016118d281526020016118d281526020016118e681526020016119088152602001611932815260200161195481526020016118e681526020016119548152602001611954815260200161195e8152602001611968815260200161195481526020016119548152602001611971815260200161197181526020016119548152602001611968815260200161196881526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119688152602001611988815260200161199281526020016119928152509050606081905060298151146108255780516040517fc8b56901000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052604401610513565b61082e816119a1565b94505050505090565b6060808060008060ff861667ffffffffffffffff81111561085a5761085a613d61565b604051908082528060200260200182016040528015610883578160200160208202803683370190505b5093508560ff1667ffffffffffffffff8111156108a2576108a2613d61565b6040519080825280602002602001820160405280156108cb578160200160208202803683370190505b509250865b805115610940576000806108e383611a32565b8951909550919350915082908890869081106109015761090161429b565b602002602001019060ff16908160ff1681525050808685815181106109285761092861429b565b602090810291909101015250506001909101906108d0565b5060006005885102602183026001010190508067ffffffffffffffff81111561096b5761096b613d61565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b50955081602087015360005b828110156109d357806021026021880101816020026020018701518153602080830287010151600191820152016109a1565b50506021028401600601905060005b8651811015610b5a576000805b6000806000878581518110610a0657610a0661429b565b60200260200101519050600080610a568b8881518110610a2857610a2861429b565b602002602001015160ff168f8a81518110610a4557610a4561429b565b602002602001015160000151611b60565b925090506005600087610a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85018716611b82565b01919091028a01805190955062ffffff84811693501690508015610b0157818103610ae3576040517f59293c5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190970196610af284611b82565b870196505050505050506109ef565b8195505050505060188b8681518110610b1c57610b1c61429b565b60200260200101516020015160ff16901b602086901b17821791506000600160056001901b03199050828183511617825250505050506001016109e2565b5050505092915050565b6000610b6f84611c5b565b90508082511115610bb95781516040517ffd9e1af4000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610513565b6020850160005b82811015610f1a576000610bd48783611c79565b90506000610be28884611c92565b90508551831015610cb2578115610c2f576040517fee8d10810000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610513565b858381518110610c4157610c4161429b565b6020026020010151811015610cb2578281878581518110610c6457610c6461429b565b60200260200101516040517ff7dd619f000000000000000000000000000000000000000000000000000000008152600401610513939291909283526020830191909152604082015260600190565b6000610cc089848a51611cab565b905060006018610cd08b87611d17565b0390506000610cdf8b87611d48565b600402820190505b80821015610e64578151601c81901a60020288015162ffffff821691601d1a9060f01c600080610d15888685565b91509150838214610d695760808801516040517fddf5607100000000000000000000000000000000000000000000000000000000815260048101919091526024810183905260448101859052606401610513565b8751821115610dbb57608088015188516040517f2cab6bff0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101839052606401610513565b875182900380895260408901511115610e1d57608088015188516040808b015190517f1bc5ab0f000000000000000000000000000000000000000000000000000000008152600481019390935260248301919091526044820152606401610513565b8751810180895260208901511015610e3757875160208901525b6001811115610e4857875160408901525b5050506080850180516001019052505060049190910190610ce7565b610e6e8b87611d61565b836020015114610ec2578260200151610e878c88611d61565b6040517f4d9c18dc00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610513565b82518414610f095782516040517f4689f0b3000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052604401610513565b505060019093019250610bc0915050565b50505050505050565b6060806000610f30611d7a565b85519091501561176c578451600090602087810191880101825b818310156116c9576001835160001a1b905060018560e001511660000361125b576f07fffffe8000000000000000000000008116156111035760e085015160021615610feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f5520a51700000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6f07fffffe0000000000000000000000008116156110975761101d836f07fffffe0000000003ff200000000000611ee9565b9450925060008061102e8787611f9a565b915091508115611090576040517f53e6feba0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8703016004820152602401610513565b50506110b8565b6110b560018401836f07fffffe0000000003ff200000000000612011565b92505b604085018051600190810190915260a086018051909101905260e0850180516022177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef169052610f4a565b640100002600811615611154576111236001840183640100002600612011565b60e0860180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1690529250610f4a565b67040000000000000081161561119d5760e0850180516021177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed16905260019290920191610f4a565b658000000000008116156112315760108560e0015116600003611215578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517fedad0c5800000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b61121f898461203d565b60e08601805160021790529250610f4a565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610fb6565b6f07fffffe0000000000000000000000008116156113f05760e0850151600216156112db578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f4e803df600000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6112f5836f07fffffe0000000003ff200000000000611ee9565b8095508194505050600080613d0e6113138b896101a0015189612149565b92509250925082156113565760006113358961018001518e898563ffffffff16565b9097509050611345898483612215565b5060e08801805160041790526113dd565b6113608888612352565b909350915082156113855761137788600084612215565b611380886123cd565b6113dd565b6040517f81bd48db0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8803016004820152602401610513565b50505060e0850180516002179052610f4a565b60e0850151600416156114e657650100000000008116600003611465576040517f23b5c6ea0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b60608501805160001a60030190819053603b8111156114b0576040517f6232f2d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060e0850180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9169052600190920191610f4a565b650200000000008116156115b7576000606086015160001a905080600003611560576040517f7f9db5420000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8603016004820152602401610513565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd01606086018181538160048201015160001a8260028301015160f01c60010153506115ab866123cd565b50600190920191610f4a565b6401000026008116156115d7576111236001840183640100002600612011565b6703ff00000000000081161561160d576115f2858a85612430565b92506115fd856123cd565b60e0850180516002179052610f4a565b6510000000000081161561163157611626858a85612582565b600190920191610f4a565b6708000000000000008116156116675761164c858a85612582565b61165585612855565b601860e0860152600190920191610f4a565b6580000000000081161561169f578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016111e0565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016112a6565b818314611702576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60e085015160201615611767576040517ff06f54cf0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b505050505b61177581612a97565b61177e82612bcf565b92509250505b9250929050565b6020810680820384015b808510156117b0578451845260209485019490930192611795565b5080156117eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c808451168119865116178452505b50505050565b815160009081908390811061184957608085015185516040517feaa16f330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101829052606401610513565b846040015181111561185d57604085018190525b506000946001945092505050565b600080836060015183106118c557608084015160608501516040517feb7894540000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101849052606401610513565b5060009360019350915050565b5060009160019150565b60101c9160019150565b600080601083901c806118fa5760016118fc565b805b95600195509350505050565b600080601083901c8061191c57600261191e565b805b905060028106156118fa57806001016118fc565b600080601083901c80611946576001611948565b805b95600095509350505050565b5060029160019150565b5060039160019150565b50600191829150565b600080601083901c600181116118fa5760026118fc565b5060029160009150565b60046001808316019250929050565b60606000825160020267ffffffffffffffff8111156119c2576119c2613d61565b6040519080825280601f01601f1916602001820160405280156119ec576020820181803683370190505b50905061ffff80196020850160208651028101600285015b81831015611a2657805183518616908516178152602090920191600201611a04565b50939695505050505050565b60008060606000805b60ff811015611ab3576000805b8751811015611a7a57600080611a6a858b8581518110610a4557610a4561429b565b5093909317925050600101611a48565b506000611a8682611b82565b905083811115611a9a578093508296508195505b87518103611aa9575050611ab3565b5050600101611a3b565b5084516040805192909103808352600101602002820190529050600080805b8651811015611b5657600080611af78860ff168a8581518110610a4557610a4561429b565b91509150848216600003611b0e5793811793611b4c565b888381518110611b2057611b2061429b565b6020026020010151868581518110611b3a57611b3a61429b565b60209081029190910101526001909301925b5050600101611ad2565b5050509193909250565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bb45750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b60008151600003611c6e57506000919050565b506020015160001a90565b600080611c868484611d17565b5160021a949350505050565b600080611c9f8484611d17565b5160031a949350505050565b611ce46040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001606081525090565b506040805160c081018252838152602081018490529081019290925260608201526000608082015260a081019190915290565b600080611d2384611c5b565b60020260010190506000611d378585612c44565b949091019093016020019392505050565b600080611d558484611d17565b5160001a949350505050565b600080611d6e8484611d17565b5160011a949350505050565b611df3604051806101e001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051806101e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016010600817815260200160008152602001600081526020016000815260200160008152602001611e6861333c60101b6130901790565b8152602001611e92613a7360401b61390260301b6137a660201b61369860101b6135fb1717171790565b8152600060209182018190526040805183815280840182528452918301819052908201819052606082018190526080820181905260a08201819052610100820181905261012082018190526101c082015292915050565b8151600090819060015b8419600183831a1b1615602082101615611f0f57600101611ef3565b9485019460208190036008810292831c90921b91611f9157604080516020810184905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b700000000000000000000000000000000000000000000000000000000825261051391600401614024565b50939492505050565b600080611fa78484612352565b90925090508161178457506101008301805160408051948552602080862092865285018152909401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909416601085901b62ff000016179092179091529160ff90911660010190565b60005b6000826001865160001a1b1611838510161561203557600184019350612014565b509192915050565b805160009060f01c612f2a81146120a6576040517f3e47169c0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858503016004820152602401610513565b835160029390930192602a90602f90860160200160005b80612103575b81871084885160001a141516156120df576001870196506120c3565b6001870196508187101583885160001a1417156120fe57506001958601955b6120bd565b508086111561213e576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509395945050505050565b600183810180516000928392613d0e92602160ff909116028801600681019201845b81831015612201576001830151602190930180519093600090819060ff168180612195838f611b60565b915091506000876121aa600185038916611b82565b016005028b015195505062ffffff90811693508416830391506121ec9050575060019850601b81901a9750601c1a8a901c61ffff169550610473945050505050565b6121f583611b82565b8401935050505061216b565b506000998a99508998509650505050505050565b61221e83612cbc565b60e08301805160207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79190911681179091528301516021600091821a850101805190911a600101815350825180516060850151600090811a86016061018051929361ffff85169360088504909103601c0192600191901a018153600060038201537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe30180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690911790528451602090920183821b176018820185901b179182905260e081900361234b578451604080518088526020601084901b81178252810190915281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000161790525b5050505050565b61010082015161012083015160008381526020808220919384939290911c91600160ff84161b808216156123b85761ffff83165b80156123b6578360201c85036123a9576001965061ffff8460101c1695506123b6565b51925061ffff8316612386565b505b17610120909601959095525090939092509050565b6000606082015160001a90508060000361242c5760208201805160001a600101908181535080603f0361056b576040517fa25cba3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000613d0e600080600061244a8861018001518888612d06565b8981038a206101408d015194985092965090945092507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016906001600083811a82901b929091908316156124f0576101608c015160101c5b80156124ee5780517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000811686036124dd5760019350506124ee565b505160019091019061ffff166124a2565b505b6101608c015161ffff1661251660018461250a578261250e565b8383035b8f9190612215565b508161257257604080518082019091526101608d015160101c8517815260006125448d8a8a63ffffffff8e16565b6020830152506101608d018051600161ffff9091160160109290921b9190911790526101408c018051841790525b50929a9950505050505050505050565b606083015160001a80156125e8576040517f6fb11cdc0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848403016004820152602401610513565b506125f283612cbc565b60e083018051603060089182161790915260a0840151602085015160ff8083169360f89290921c9290911c16810360008190036126bb5760088660e0015116600003612690576040517fab1d3ea70000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b90820160f881901b60208701526101c08601519091906126b09084612fc9565b6101c0870152612784565b60018111156127845780831015612724576040517f78ef27820000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80831115612784576040517f43168e680000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b8082036001016020601083028101905b818110156128405760a08901516020848b01015190821c61ffff169060001a60015b81811161282f5760208306601c036127cf57915160f01c915b82516101c08d015160019190911a906127e89082613011565b6101c08e015261281982841480156128005750886001145b61280b57600161280d565b8a5b6101c08f015190613058565b6101c08e015250600492909201916001016127b6565b505060019093019250601001612794565b5050505060081b60a090940193909352505050565b60c0810151602082015160f082811c9160001a600101908290036128a5576040517fa806284100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080856101c001519050855161ffff815160101c165b80156128d357805190915060101c61ffff166128bc565b50604051602188018051919450601c830192916004916024870191600090811a805b8a8310156129bb5760048202860195506004878903045b8082111561292a57965161ffff16601c81019850969003600761290c565b506004810297889003805186529794909401938103865b6007821115612986575160101c61ffff1680518652601c909501947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff990910190612941565b81156129a1575160101c61ffff168051865260048202909501945b505050600191820180519092919091019060001a806128f5565b50505050818652600486019350846001600484040360181b1763ffffffff19855116178452601f19601f820116604052505050506001846001901b612a0091906142f9565b851682851b60f0612a1287601061430c565b901b171760c087015260e0860180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf16905260408051602080825280820183529088526000908801819052908701819052606087018190526080870181905260a08701819052610100870181905261012087018190526101c0870152505050505050565b60c08101518151516060919060f082901c9060208114612ae3576040517f858f2dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051935060208401601083046000818353506001600885048301810192839101600080805b88811015612b425789811c61ffff81165163ffff0000601092831b16811760e01b8786015284019360f08390031b929092179101612b09565b50825117909152878203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08181018952908801601f011660405260005b82811015612bc3576002810288016003015161ffff90811683018051602060f082901c019260e09190911c1690612bb883828461178b565b505050600101612b80565b50505050505050919050565b6101608101516040805161ffff8316808252602080820283019081019093529092909160109190911c90835b80821115612c3b5760208301518252915161ffff16917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190612bfb565b50505050919050565b6002810282016003015161ffff166000612c5d84611c5b565b845190915060056002830284010190811180612c795750818410155b15612cb45784846040517fd3fc97bd00000000000000000000000000000000000000000000000000000000815260040161051392919061431f565b505092915050565b60208101805160001a6001810182015160001a61056b578251805160a085018051600861ffff939093169290920460200390920160106001601e84901a860301021b179052505050565b8051613d0e9060009081908190600181831a1b6703ff000000000000811615612f2857600182811a1b7ffffffffffffffffffffffffffffffffffeffffffffffffffffff00000000000082821701612de25760028801806c7e0000007e03ff0000000000005b806001835160001a1b1615612d8657600182019150612d6c565b508a5161ffff8d16908c0160200180831115612dce576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5098509096509450849350612fc092505050565b876001810160006703ff0000000000006c200000002000000000000000005b816001855160001a1b1615612e1b57600184019350612e01565b806001855160001a1b1615612e4c57600184019392505b816001855160001a1b1615612e4c57600184019350612e32565b50508015801590612e6b575080600301821180612e6b57508060010182145b15612ec8576040517f013b2aaa0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8303016004820152602401610513565b8b5161ffff60108f901c16908d0160200180841115612f13576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5099509197509550859450612fc09350505050565b87518801602001808810612f68576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fb0e4e5b30000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8a03016004820152602401610513565b93509350935093565b6000612fd58383613058565b9250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff821660ff600884811c919091168301901b1792915050565b600060ff831682811015613051576040517f04671d0000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050900390565b600060ff808416830190600885901c16601085901c808311156130785750815b601081901b600883901b841717935050505092915050565b600082820360408111156130f6576040517fff2f59490000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80600003613156576040517fc75cd5090000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b600281066001036131b9576040517fd76d9b570000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160005b858210613332578151600090811a906001821b906703ff00000000000082161561322c57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd082016132fc565b6c7e00000000000000000000000082161561326a57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa982016132fc565b687e00000000000000008216156132a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc982016132fc565b6040517f69f1e3e60000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8703016004820152602401610513565b831b959095179450507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906004016131df565b5050509392505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8101516000908190603090829080821a87870360038111801561339157506001821b6c200000002000000000000000001615155b156133b357600488039550600a858460011a0302858460021a0301935061345f565b8260011a91506002811180156133da57506001821b6c200000002000000000000000001615155b156133f257600388039550848360021a03935061345f565b8015613407576001880395506000935061345f565b6040517ffa65827e0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8b03016004820152602401610513565b5050505b8583101580156134735750604d81105b156134b857825160001a829003600a82900a0293909301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191600101613463565b85831061333257825160001a829003600181111561352b578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f8f2b5ffd00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b600a82900a8102858101861115613566578885037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b9490940193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201915b85831061333257825160001a603081146135d0578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191613592565b80516000908190600190821a1b7ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008101613687576040517ff8216c550000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b83600092509250505b935093915050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576136e76001860182640100002600612011565b945060006136f9888861ffff89613c11565b909650905061370e8683640100002600612011565b8051909650600160009190911a1b92506740000000000000008314613788578686037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f722cd24a00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6001860194509250613690915050565b846000935093505050613690565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a7576137f56001860182640100002600612011565b94506000613806888860ff89613c11565b90965090508061381c8784640100002600612011565b9650600061382d8a8a60ff8b613c11565b909850600881901b9290921791905061384c8885640100002600612011565b8051909850600160009190911a1b94506740000000000000008514613895578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b50600187019550935061369092505050565b8585037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f24027dc400000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576139516001860182640100002600612011565b80519095506001600091821a1b92507fffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000830161398f575060006139b4565b61399c8888600189613c11565b90965090506139b18683640100002600612011565b95505b85516001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000084016139ef57506000613a14565b6139fc898960018a613c11565b9097509050613a118784640100002600612011565b96505b8651600160009190911a81901b945081901b82176740000000000000008514613a61578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b60018801965094506136909350505050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a757613ac26001860182640100002600612011565b94506000613ad3888860ff89613c11565b9096509050613ae88683640100002600612011565b80519096506001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008401613b2657506000613b4b565b613b33898960018a613c11565b9097509050613b488784640100002600612011565b96505b86516001600091821a1b94507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008501613b8657506000613bab565b613b938a8a60018b613c11565b9098509050613ba88885640100002600612011565b97505b8751600160009190911a1b9450600882901b8317600982901b176740000000000000008614613bfe578989037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b6001890197509550613690945050505050565b80516000908190600190821a1b7fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008101613c6f578584037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016138cd565b613d0e6000806000613c828b8b8a612d06565b93509350935093506000613c9b8b85858863ffffffff16565b905089811115613cfd576040517f7480c7840000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8b03016004820152602401610513565b909b909a5098505050505050505050565b613d16614341565b565b600060208284031215613d2a57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613d5a57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715613db357613db3613d61565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613e0057613e00613d61565b604052919050565b600067ffffffffffffffff821115613e2257613e22613d61565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112613e5f57600080fd5b8135613e72613e6d82613e08565b613db9565b818152846020838601011115613e8757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115613ebe57613ebe613d61565b5060051b60200190565b600082601f830112613ed957600080fd5b81356020613ee9613e6d83613ea4565b82815260059290921b84018101918181019086841115613f0857600080fd5b8286015b84811015613f235780358352918301918301613f0c565b509695505050505050565b600080600060608486031215613f4357600080fd5b833567ffffffffffffffff80821115613f5b57600080fd5b613f6787838801613e4e565b94506020860135915080821115613f7d57600080fd5b613f8987838801613ec8565b93506040860135915080821115613f9f57600080fd5b50613fac86828701613ec8565b9150509250925092565b60005b83811015613fd1578181015183820152602001613fb9565b50506000910152565b60008151808452613ff2816020860160208601613fb6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613d5a6020830184613fda565b60006020828403121561404957600080fd5b813567ffffffffffffffff81111561406057600080fd5b61053f84828501613e4e565b600081518084526020808501945080840160005b8381101561409c57815187529582019590820190600101614080565b509495945050505050565b6040815260006140ba6040830185613fda565b82810360208401526140cc818561406c565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681526080602082015260006141046080830186613fda565b8281036040840152614116818661406c565b9050828103606084015261412a818561406c565b979650505050505050565b6000602080838503121561414857600080fd5b825167ffffffffffffffff8082111561416057600080fd5b818501915085601f83011261417457600080fd5b8151614182613e6d82613ea4565b81815260059190911b830184019084810190888311156141a157600080fd5b8585015b8381101561428e578051858111156141bd5760008081fd5b86016060818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156141f35760008081fd5b6141fb613d90565b89830151815260408084015160ff811681146142175760008081fd5b828c015291830151918883111561422e5760008081fd5b82840193508d603f85011261424557600092508283fd5b8a8401519250614257613e6d84613e08565b8381528e8285870101111561426c5760008081fd5b61427b848d8301848801613fb6565b90820152855250509186019186016141a5565b5098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156102cf576102cf6142ca565b808201808211156102cf576102cf6142ca565b6040815260006143326040830185613fda565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51", - "sourceMap": "3924:7282:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7571:216;;;;;;:::i;:::-;;:::i;:::-;;;516:14:211;;509:22;491:41;;479:2;464:18;7571:216:80;;;;;;;;8977:1006;;;;;;:::i;:::-;;:::i;:::-;;;;3964:42:211;4033:15;;;4015:34;;4085:15;;;4080:2;4065:18;;4058:43;4137:15;;4117:18;;;4110:43;;;;3942:2;3927:18;8977:1006:80;3699:460:211;11051:153:80;;;:::i;:::-;;;;;;;:::i;7980:481::-;;;;;;:::i;:::-;;:::i;7823:121::-;;;2695:66;5446:25:211;;5434:2;5419:18;7823:121:80;5300:177:211;5217:43:80;;;;;;;;5687:42:211;5675:55;;;5657:74;;5645:2;5630:18;5217:43:80;5482:255:211;10036:249:80;;;;;;:::i;:::-;;:::i;:::-;;5090:44;;;;;8640:289;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8497:107::-;;;:::i;7571:216::-;7657:4;7680:55;;;7696:39;7680:55;;:100;;-1:-1:-1;7739:41:80;;;7755:25;7739:41;7680:100;7673:107;7571:216;-1:-1:-1;;7571:216:80:o;8977:1006::-;9117:14;9133:19;9154:7;9177:47;9192:8;9202:9;9213:10;9177:14;:47::i;:::-;9240:58;9254:10;9266:8;9276:9;9287:10;9240:58;;;;;;;;;:::i;:::-;;;;;;;;502:16:144;;484:15;;9310:37:80;;;;9380:100;;521:4:144;502:23;484:41;528:4;484:48;4202:4:67;4196:11;;4311:43;;;4356:9;4307:59;4291:76;;4278:90;;;4687:343;4972:1;4959:15;;;4787:3;4687:343;;;;;1522:75;4622:430;5069:27;;4196:11;1728:2;4463:35;;;3702:1424;9380:100:80;9309:171;;;;9602:81;9654:7;9663:8;9673:9;9602:51;:81::i;:::-;9747:18;9768:32;9790:9;9768:21;:32::i;:::-;9883:41;;;9901:10;7850:34:211;;7799:42;7920:15;;7915:2;7900:18;;7893:43;9747:53:80;;-1:-1:-1;9883:41:80;;7762:18:211;9883:41:80;;;;;;;9943:12;;-1:-1:-1;9957:6:80;;-1:-1:-1;9965:10:80;-1:-1:-1;;;8977:1006:80;;;;;;;;:::o;11051:153::-;11119:12;11150:47;:45;:47::i;:::-;11143:54;;11051:153;:::o;7980:481::-;8129:24;;;;;;8072:12;;2695:66;8167:45;;8163:153;;8235:70;;;;;2695:66;8235:70;;;8121:25:211;8162:18;;;8155:34;;;8094:18;;8235:70:80;;;;;;;;8163:153;8325:28;8367:13;8356:44;;;;;;;;;;;;:::i;:::-;8325:75;;8417:37;8445:5;8452:1;8417:27;:37::i;:::-;8410:44;7980:481;-1:-1:-1;;;;7980:481:80:o;10036:249::-;10182:96;10217:27;;;;;;;;;;;;;;;;;10246:8;10256:9;10267:10;10182:34;:96::i;:::-;10036:249;;;:::o;8640:289::-;8714:12;8728:16;8889:33;8904:4;8910:11;:9;:11::i;:::-;8889:14;:33::i;:::-;8882:40;;;;8640:289;;;:::o;8497:107::-;8556:12;8587:10;;;;;;;;;;;;;;;;;8580:17;;8497:107;:::o;555:809:144:-;843:9;946:1;934:9;928:16;924:24;918:4;914:35;897:15;893:57;794:385;989:12;972:15;969:33;794:385;;;1154:22;;1139:38;;1065:4;1101:17;;;;1044:26;;;;794:385;;;798:170;;1263:84;1291:23;:8;1472:4:156;1331:161;1291:23:144;1316:6;1324:8;:15;1342:4;1324:22;1263:27;:84::i;5489:666:67:-;5562:7;5581:16;5607:21;1728:2;5607:43;;5959:10;5953:17;5948:3;5944:27;5936:6;5932:40;5839:13;5810:184;5778:10;5755:1;5727:285;5699:313;-1:-1:-1;6080:22:67;;;6076:47;;6111:12;;;;;;;;;;;;;;6076:47;-1:-1:-1;6140:8:67;5489:666;-1:-1:-1;;5489:666:67:o;14259:4336:102:-;14319:12;14367:125;14506:14;2305:2;14506:40;;14620:6;14603:23;;14653:161;:3443;;;;;;;;14839:13;14653:3443;;;;;;;;15083:22;14653:3443;;;;15127:25;14653:3443;;;;15249:24;14653:3443;;;;15295:21;14653:3443;;;;15338:28;14653:3443;;;;15388:24;14653:3443;;;;15594:27;14653:3443;;;;15681:27;14653:3443;;;;15730:26;14653:3443;;;;15778:20;14653:3443;;;;15820:27;14653:3443;;;;15869:23;14653:3443;;;;15914:24;14653:3443;;;;15960:22;14653:3443;;;;16004:28;14653:3443;;;;16054:37;14653:3443;;;;16113:19;14653:3443;;;;16154:23;14653:3443;;;;16199:25;14653:3443;;;;16246:34;14653:3443;;;;16302:29;14653:3443;;;;16353:29;14653:3443;;;;16404:40;14653:3443;;;;16466:33;14653:3443;;;;16521:32;14653:3443;;;;16735:23;14653:3443;;;;16818:23;14653:3443;;;;16863:23;14653:3443;;;;16908:23;14653:3443;;;;17113:23;14653:3443;;;;17196:23;14653:3443;;;;17401:23;14653:3443;;;;17484:23;14653:3443;;;;17529:23;14653:3443;;;;17574:23;14653:3443;;;;17779:23;14653:3443;;;;17862:23;14653:3443;;;;17907:20;14653:3443;;;;17949:20;14653:3443;;;;17991:32;14653:3443;;;;18045:33;14653:3443;;;;;18110:32;18218:13;18199:32;;2305:2;18373:15;:22;:49;18369:143;;18466:22;;18449:48;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;;;8094:18;;18449:48:102;7947:248:211;18369:143:102;18532:46;18562:15;18532:29;:46::i;:::-;18525:53;;;;;;14259:4336;:::o;4650:4696:141:-;4775:22;;;4949:17;;5041:21;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5041:21:141;;5033:29;;5107:8;5093:23;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5093:23:141;-1:-1:-1;5080:36:141;-1:-1:-1;5204:13:141;5239:387;5246:29;;:33;5239:387;;5307:10;5343:17;5430:40;5447:22;5430:16;:40::i;:::-;5496:12;;5386:84;;-1:-1:-1;5386:84:141;;-1:-1:-1;5386:84:141;-1:-1:-1;5386:84:141;;5496:5;;5502;;5496:12;;;;;;:::i;:::-;;;;;;:19;;;;;;;;;;;5561:9;5541:10;5552:5;5541:17;;;;;;;;:::i;:::-;;;;;;;;;;:29;-1:-1:-1;;5596:7:141;;;;;5239:387;;;5134:510;5662:23;1230:1;5757:13;:20;:37;1388:4;5727:5;:27;1460:1;5708:46;:86;5662:132;;5834:15;5824:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5824:26:141;;5812:38;;5945:5;5938:4;5927:9;5923:20;5915:36;5991:9;5986:474;6010:5;6006:1;:9;5986:474;;;6227:1;6221:4;6217:12;6210:4;6199:9;6195:20;6191:39;6313:1;6307:4;6303:12;6297:4;6293:23;6286:5;6282:35;6276:42;6263:11;6255:64;6408:4;6404:12;;;6378:40;;;6372:47;6368:1;6351:19;;;6344:76;6017:3;5986:474;;;-1:-1:-1;;1388:4:141;6557:27;6670:26;;6521:33;6670:26;;-1:-1:-1;6500:18:141;6792:2538;6816:13;:20;6812:1;:24;6792:2538;;;6861:9;6892:21;6935:2381;6970:15;7007;7150:17;7170:10;7181:1;7170:13;;;;;;;;:::i;:::-;;;;;;;7150:33;;7210:14;7280:15;7345:46;7359:5;7365:1;7359:8;;;;;;;;:::i;:::-;;;;;;;7345:46;;7369:13;7383:1;7369:16;;;;;;;;:::i;:::-;;;;;;;:21;;;7345:13;:46::i;:::-;7325:66;-1:-1:-1;7325:66:141;-1:-1:-1;1230:1:141;7422:20;7547:13;7503:41;7531:11;;;7518:25;;7503:14;:41::i;:::-;:57;7675:22;;;;7660:38;;8020:14;;7660:38;;-1:-1:-1;1101:8:141;7836:25;;;;-1:-1:-1;8093:34:141;;-1:-1:-1;8161:19:141;;8157:466;;8238:15;8220:14;:33;8216:141;;8300:22;;;;;;;;;;;;;;8216:141;8456:3;;;;;8525:25;8540:9;8525:14;:25::i;:::-;8509:13;:41;8493:57;;8584:8;;;;;;;;8157:466;8787:15;8777:25;;7780:1049;;7124:1727;;9013:4;8972:13;8986:1;8972:16;;;;;;;;:::i;:::-;;;;;;;:36;;;8964:45;;:53;;8955:4;8950:1;:9;;8949:69;8938:80;;;;9041:12;1291:1;1230;1268;:19;;1267:25;9056:15;9041:30;;9190:7;9183:4;9173:7;9167:14;9163:25;9160:38;9151:7;9144:55;9292:5;;;-1:-1:-1;;6838:3:141;;6792:2538;;;;4813:4527;;;4650:4696;;;;:::o;2846:4663:98:-;3060:19;3082:33;3106:8;3082:23;:33::i;:::-;3060:55;;3265:11;3245:10;:17;:31;3241:126;;;3321:17;;3303:49;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;;;8094:18;;3303:49:98;7947:248:211;3241:126:98;3477:4;3462:20;;3381:22;3567:3926;3591:11;3587:1;:15;3567:3926;;;3698:20;3721:43;3752:8;3762:1;3721:30;:43::i;:::-;3698:66;;3865:21;3889:44;3921:8;3931:1;3889:31;:44::i;:::-;3865:68;;4033:10;:17;4029:1;:21;4025:351;;;4078:17;;4074:118;;4130:39;;;;;;;;8121:25:211;;;8162:18;;;8155:34;;;8094:18;;4130:39:98;7947:248:211;4074:118:98;4234:10;4245:1;4234:13;;;;;;;;:::i;:::-;;;;;;;4218;:29;4214:144;;;4303:1;4306:13;4321:10;4332:1;4321:13;;;;;;;;:::i;:::-;;;;;;;4282:53;;;;;;;;;;;;11331:25:211;;;11387:2;11372:18;;11365:34;;;;11430:2;11415:18;;11408:34;11319:2;11304:18;;11129:319;4214:144:98;4394:34;4451:70;4480:8;4490:12;4504:9;:16;4451:28;:70::i;:::-;4394:127;;4648:14;4722:4;4680:38;4706:8;4716:1;4680:25;:38::i;:::-;4665:61;4648:78;;4744:11;4767:40;4795:8;4805:1;4767:27;:40::i;:::-;4810:1;4767:44;4758:6;:53;4744:67;;4830:2096;4846:3;4837:6;:12;4830:2096;;;5162:13;;5250:2;5245:14;;;5261:1;5241:22;5221:43;;5215:50;5353:8;5343:19;;;5412:2;5407:14;;5209:4;5205:61;4873:15;;5512:17;5514:5;5343:19;5205:61;5512:17::i;:::-;5464:65;;;;5571:16;5555:12;:32;5551:158;;5640:13;;;;5622:64;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;;;11415:18;;;11408:34;;;11304:18;;5622:64:98;11129:319:211;5551:158:98;5750:16;;5735:31;;5731:154;;;5816:13;;;;5831:16;;5801:61;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;5801:61:98;11129:319:211;5731:154:98;5906:32;;;;;;;;6055:19;;;;-1:-1:-1;6032:177:98;;;6133:13;;;;6148:16;;6166:19;;;;;6109:77;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;;;;11415:18;;;11408:34;11304:18;;6109:77:98;11129:319:211;6032:177:98;6368:33;;;;;;;6519:19;;;;-1:-1:-1;6496:131:98;;;6588:16;;6566:19;;;:38;6496:131;6747:1;6731:13;:17;6727:110;;;6798:16;;6776:19;;;:38;6727:110;-1:-1:-1;;;6859:13:98;;;:15;;;;;;-1:-1:-1;;6906:1:98;6896:11;;;;;4830:2096;;;7052:46;7086:8;7096:1;7052:33;:46::i;:::-;7029:5;:19;;;:69;7025:215;;7153:5;:19;;;7174:46;7208:8;7218:1;7174:33;:46::i;:::-;7129:92;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;8094:18;;7129:92:98;7947:248:211;7025:215:98;7343:16;;:33;;7339:140;;7428:16;;7407:53;;;;;;;;8121:25:211;;;;8162:18;;;8155:34;;;8094:18;;7407:53:98;7947:248:211;7339:140:98;-1:-1:-1;;3604:3:98;;;;;-1:-1:-1;3567:3926:98;;-1:-1:-1;;3567:3926:98;;;3036:4467;;2846:4663;;;;:::o;45048:12042:138:-;45148:21;45171:16;45227:23;45253:24;:22;:24::i;:::-;45295:11;;45227:50;;-1:-1:-1;45295:15:138;45291:11715;;45563:11;;45330:12;;45518:4;45508:15;;;;45551:24;;;45330:12;45610:11121;45626:3;45617:6;:12;45610:11121;;;45808:1;45798:6;45792:13;45789:1;45784:22;45780:30;45772:38;;2555:1;45885:5;:9;;;:24;45913:1;45885:29;45881:10832;;14954:40:139;45946:27:138;;:31;45942:3046;;46082:9;;;;2591:6;46082:25;:29;46078:156;;41413:28;;;;;46172:30;46154:49;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;46078:156:138;13201:425:139;46317:28:138;;:32;46313:814;;46402:39;46412:6;15296:54:139;46402:9:138;:39::i;:::-;46385:56;-1:-1:-1;46385:56:138;-1:-1:-1;46476:11:138;;46506:25;:5;46385:56;46506:19;:25::i;:::-;46475:56;;;;46758:6;46754:140;;;46811:48;;;;;41413:28;;;;;46811:48;;;5446:25:211;5419:18;;46811:48:138;5300:177:211;46754:140:138;46351:573;;46313:814;;;47049:47;47067:1;47058:10;;47070:3;15296:54:139;47049:8:138;:47::i;:::-;47040:56;;46313:814;47287:15;;;:17;;;;;;;;;47334;;;:19;;;;;;;47540:9;;;;;:50;;47594:22;47539:77;47527:89;;45610:11121;;45942:3046;15866:76:139;47653:23:138;;:28;47649:1339;;47722:43;47740:1;47731:10;;47743:3;15866:76:139;47722:8:138;:43::i;:::-;47868:9;;;:27;;47881:14;47868:27;;;47713:52;-1:-1:-1;45610:11121:138;;47649:1339;6214:41:139;47932:30:138;;:35;47928:1060;;48143:9;;;;;:49;;48228:40;48142:126;48130:138;;2555:1;48298:8;;;;;45610:11121;;47928:1060;5212:41:139;48343:25:138;;:30;48339:649;;2872:6;48409:5;:9;;;:33;48446:1;48409:38;48405:165;;41413:28;;;;;48508:30;48490:49;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;48405:165:138;48608:25;48620:4;48626:6;48608:11;:25::i;:::-;48816:9;;;:26;;2591:6;48816:26;;;48599:34;-1:-1:-1;45610:11121:138;;48339:649;41413:28;;;;;48930:30;41254:203;45881:10832;13201:425:139;49093:26:138;;:30;49089:7602;;49225:9;;;;2591:6;49225:25;:29;49221:156;;41413:28;;;;;49315:30;49297:49;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;49221:156:138;49424:38;49434:6;15296:54:139;49424:9:138;:38::i;:::-;49407:55;;;;;;;;49595:11;49640:19;49693:86;49812:57;49836:4;49842:5;:20;;;49864:4;49812:23;:57::i;:::-;49561:308;;;;;;49903:6;49899:1207;;;49945:15;50014:49;50028:5;:20;;;50050:4;50056:6;50014:13;:49;;:::i;:::-;49994:69;;-1:-1:-1;49994:69:138;-1:-1:-1;50097:42:138;:5;50118:11;49994:69;50097:20;:42::i;:::-;-1:-1:-1;50300:9:138;;;:30;;2636:6;50300:30;;;49899:1207;;;50507:45;50540:5;50547:4;50507:32;:45::i;:::-;50483:69;;-1:-1:-1;50483:69:138;-1:-1:-1;50586:490:138;;;;50636:61;:5;3474:1;50684:11;50636:20;:61::i;:::-;50895:17;:5;:15;:17::i;:::-;50586:490;;;50998:43;;;;;41413:28;;;;;50998:43;;;5446:25:211;5419:18;;50998:43:138;5300:177:211;50586:490:138;-1:-1:-1;;;51136:9:138;;;:26;;2591:6;51136:26;;;45610:11121;;49089:7602;51302:9;;;;2636:6;51302:29;:33;51298:5393;;4552:41:139;51371:23:138;;51398:1;51371:28;51367:155;;51442:49;;;;;41413:28;;;;;51442:49;;;5446:25:211;5419:18;;51442:49:138;5300:177:211;51367:155:138;52276:4;52265:16;;52259:23;;52118:22;52251:32;52285:1;52247:40;;;;52320:41;52663:2;52646:14;:19;52642:112;;;52708:15;;;;;;;;;;;;;;52642:112;-1:-1:-1;52966:9:138;;;:49;;52979:36;52966:49;;;52783:8;;;;;45610:11121;;51298:5393;4650:41:139;53052:24:138;;:28;53048:3643;;53112:19;53260:4;53253:5;53249:16;53243:23;53240:1;53235:32;53220:47;;53330:11;53345:1;53330:16;53326:146;;53389:52;;;;;41413:28;;;;;53389:52;;;5446:25:211;5419:18;;53389:52:138;5300:177:211;53326:146:138;54051:19;;53998:4;53987:16;;54051:19;53987:16;54103:33;54877:11;54873:1;54860:11;54856:19;54852:37;54846:44;54843:1;54838:53;54632:11;54628:1;54615:11;54611:19;54607:37;54601:44;54595:4;54591:55;54588:1;54584:63;54169:756;;54984:17;:5;:15;:17::i;:::-;-1:-1:-1;55031:8:138;;;;;45610:11121;;53048:3643;15866:76:139;55076:23:138;;:27;55072:1619;;55144:43;55162:1;55153:10;;55165:3;15866:76:139;55144:8:138;:43::i;55072:1619::-;12910:131:139;55425:25:138;;:29;55421:1270;;55495:31;:5;55513:4;55519:6;55495:17;:31::i;:::-;55486:40;;55556:17;:5;:15;:17::i;:::-;55720:9;;;:26;;2591:6;55720:26;;;45610:11121;;55421:1270;4933:41:139;55783:16:138;;:20;55779:912;;55835:27;:5;55849:4;55855:6;55835:13;:27::i;:::-;55892:8;;;;;45610:11121;;55779:912;6310:41:139;56003:16:138;;:20;55999:692;;56055:27;:5;56069:4;56075:6;56055:13;:27::i;:::-;56112:17;:5;:15;:17::i;:::-;3175:49;56198:9;;;:23;56159:8;;;;;45610:11121;;55999:692;5212:41:139;56427:25:138;;:30;56423:268;;41413:28;;;;;56514:30;41254:203;56423:268;41413:28;;;;;56633:30;41254:203;45610:11121;56762:3;56752:6;:13;56748:86;;56796:19;;;;;;;;;;;;;;56748:86;56855:9;;;;3023:6;56855:34;:39;56851:141;;56925:48;;;;;41413:28;;;;;56925:48;;;5446:25:211;5419:18;;56925:48:138;5300:177:211;56851:141:138;45312:11694;;;;45291:11715;57027:21;:5;:19;:21::i;:::-;57050:22;:5;:20;:22::i;:::-;57019:54;;;;;45048:12042;;;;;;:::o;1085:1363:157:-;1617:4;1609:6;1605:17;1676:1;1668:6;1664:14;1650:12;1646:33;1692:202;1716:3;1702:12;1699:21;1692:202;;;1872:19;;1851:41;;1773:4;1755:23;;;;1811;;;;1692:202;;;1696:2;1925:1;1918:9;1908:524;;2035:66;2031:1;2028;2024:9;2020:82;2372:5;2357:12;2351:19;2347:31;2314:5;2310:10;2295:12;2289:19;2285:36;2224:176;2190:12;2162:256;;1908:524;;1085:1363;;;:::o;603:563:101:-;873:16;;698:7;;;;761;;860:29;;856:131;;933:13;;;;948:16;;912:64;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;912:64:101;11129:319:211;856:131:101;1059:5;:19;;;1047:9;:31;1043:93;;;1094:19;;;:31;;;1043:93;-1:-1:-1;1154:1:101;;1157;;-1:-1:-1;603:563:101;-1:-1:-1;;;603:563:101:o;580:555:100:-;675:7;684;816:5;:21;;;804:7;789:48;785:172;;884:13;;;;899:21;;;;860:86;;;;;;;;11331:25:211;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;860:86:100;11129:319:211;785:172:100;-1:-1:-1;1123:1:100;;1126;;-1:-1:-1;580:555:100;-1:-1:-1;;580:555:100:o;186:359:103:-;-1:-1:-1;267:7:103;;536:1;;-1:-1:-1;186:359:103:o;277:307:104:-;545:4;518:31;;575:1;;-1:-1:-1;277:307:104:o;339:287:109:-;428:7;;545:4;518:31;;;568:10;:23;;590:1;568:23;;;581:6;568:23;559:32;617:1;;-1:-1:-1;339:287:109;-1:-1:-1;;;;339:287:109:o;698:417:110:-;787:7;;905:4;878:31;;;928:10;:23;;950:1;928:23;;;941:6;928:23;919:32;-1:-1:-1;1042:1:110;919:32;1033:10;:15;:37;;1060:6;1069:1;1060:10;1033:37;;728:287:111;817:7;;934:4;907:31;;;957:10;:23;;979:1;957:23;;;970:6;957:23;948:32;1006:1;;-1:-1:-1;728:287:111;-1:-1:-1;;;;728:287:111:o;328:129:112:-;-1:-1:-1;445:1:112;;448;;-1:-1:-1;328:129:112:o;356::116:-;-1:-1:-1;473:1:116;;476;;-1:-1:-1;356:129:116:o;287::117:-;-1:-1:-1;404:1:117;;;;-1:-1:-1;287:129:117:o;660:288:120:-;749:7;;867:4;840:31;;;899:1;890:10;;:23;;912:1;890:23;;359:239:134;-1:-1:-1;586:1:134;;440:7;;-1:-1:-1;359:239:134:o;339:355:135:-;666:1;642;616:27;;;611:33;339:355;;;;;:::o;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;2762:1882:141:-;2865:14;2881:21;2904:32;2994:14;3035:12;3030:789;3060:15;3053:22;;3030:789;;;3107:17;3155:9;3150:253;3174:5;:12;3170:1;:16;3150:253;;;3220:15;3237:14;3255:34;3269:4;3275:5;3281:1;3275:8;;;;;;;;:::i;3255:34::-;-1:-1:-1;3361:19:141;;;;;-1:-1:-1;;3188:3:141;;3150:253;;;;3424:10;3437:25;3452:9;3437:14;:25::i;:::-;3424:38;;3493:6;3488:2;:11;3484:176;;;3536:2;3527:11;;3581:4;3564:22;;3628:9;3612:25;;3484:176;3733:5;:12;3727:2;:18;3723:78;;3773:5;;;;3723:78;-1:-1:-1;;3077:6:141;;3030:789;;;-1:-1:-1;3863:12:141;;3968:4;3962:11;;3863:21;;;;3994:34;;;4091:1;4087:23;4081:4;4077:34;4062:50;;4049:64;;3962:11;-1:-1:-1;3837:23:141;;;4224:404;4248:5;:12;4244:1;:16;4224:404;;;4286:15;4303:14;4321:38;4335:8;4321:38;;4345:5;4351:1;4345:8;;;;;;;;:::i;4321:38::-;4285:74;;;;4418:13;4408:7;:23;4436:1;4407:30;4403:211;;4477:23;;;;4403:211;;;4562:5;4568:1;4562:8;;;;;;;;:::i;:::-;;;;;;;4547:9;4557:1;4547:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;4592:3;;;;;4403:211;-1:-1:-1;;4262:3:141;;4224:404;;;;2952:1686;;2762:1882;;;;;:::o;1664:727::-;1738:14;1754;1829:4;1826:1;1819:15;1861:4;1855;1847:19;1902:4;1899:1;1889:18;1879:28;;2373:1;2364:6;2361:1;2356:15;2352:23;2342:33;;1664:727;;;;;:::o;680:427:137:-;729:7;822:17;817:1;:22;813:63;;-1:-1:-1;862:3:137;;680:427;-1:-1:-1;680:427:137:o;813:63::-;-1:-1:-1;375:66:137;115;920:1;915:6;;;914:19;909:24;;;975:1;970:6;;;241:66;969:19;;;952:12;;951:38;1018:1;1013:6;;;1008:12;1007:25;499:66;1051:13;1069:3;1050:22;;680:427::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;3054:319::-;3149:14;3199:15;3217:36;3231:8;3241:11;3217:13;:36::i;:::-;3328:14;3325:1;3320:23;;3054:319;-1:-1:-1;;;;3054:319:92:o;3379:320::-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;1923:555:98:-;2056:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:28:98;-1:-1:-1;2107:364:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2107:364:98;;;;;;;;;;;;1923:555::o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;2690:358::-;2812:18;2870:15;2888:36;2902:8;2912:11;2888:13;:36::i;:::-;3003:14;3000:1;2995:23;;2690:358;-1:-1:-1;;;;2690:358:92:o;10360:1022:138:-;10403:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:17:138;10432:23;10458:866;;;;;;;;10562:1;10458:866;;;;10602:1;10458:866;;;;10642:1;10458:866;;;;10686:1;10458:866;;;;10730:1;10458:866;;;;10824:1;10458:866;;;;10869:1;10458:866;;;;2872:6;2689;3175:49;10458:866;;;;10954:1;10458:866;;;;10999:1;10458:866;;;;11042:1;10458:866;;;;11089:1;10458:866;;;;11134:37;2099:35:140;1320:4;2357:52;1881:31;2308:102;;1357:1083;11134:37:138;10458:866;;;;11215:37;2445:36:142;470:4;2627:54;2090:34;417:4;2266:50;1637;366:4;1881:82;1246:38;295:4;1436:58;868:38;1417:78;1862:102;2247:70;2608:74;;669:2029;11215:37:138;10458:866;;11312:1;10458:866;;;;;;;9906:4;9900:11;;9924:42;;;9992:26;;;9979:40;;10038:39;;10087:15;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;10038:39;11370:5;-1:-1:-1;;10360:1022:138:o;41463:710::-;41690:13;;41535:7;;;;41597:1;41806:92;41868:4;41864:9;41860:1;41853:4;41850:1;41845:13;41841:21;41837:37;41830:45;41823:4;41820:1;41817:11;41813:63;41806:92;;;41891:1;41884:9;41806:92;;;42016:14;;;;41932:4;41928:12;;;41942:1;41924:20;;41976:16;;;41965:28;;;;42049:87;;42101:22;;;;;;11953:19:211;;;11988:12;42101:22:138;;;;;;;;;;;;;;42085:40;;;;;;;;:::i;42049:87::-;-1:-1:-1;42153:6:138;;41463:710;-1:-1:-1;;;41463:710:138:o;338:950:143:-;423:11;436:13;503:27;518:5;525:4;503:14;:27::i;:::-;485:45;;-1:-1:-1;485:45:143;-1:-1:-1;485:45:143;544:728;;-1:-1:-1;665:16:143;;;;;759:4;753:11;;785:17;;;857:4;842:20;;;901:26;;;961:14;;948:28;;1112:15;;;;864;838:42;;;1203:4;1186:21;;;;;1171:37;:43;;;1152:62;;;338:950;1130:4;1112:22;;;1256:1;1240:17;;338:950::o;42272:346:138:-;42356:7;42470:109;42544:1;42537:4;42533:1;42523:6;42517:13;42514:1;42509:22;42505:30;42501:41;42498:48;42492:3;42484:6;42481:15;42477:70;42470:109;;;42572:1;42564:6;42560:14;42550:24;;42470:109;;;-1:-1:-1;42605:6:138;;42272:346;-1:-1:-1;;42272:346:138:o;42989:1999::-;43254:13;;43068:7;;43248:4;43244:24;16488:20:139;43291:39:138;;43287:130;;43353:53;;;;;41413:28;;;;;43353:53;;;5446:25:211;5419:18;;43353:53:138;5300:177:211;43287:130:138;43727:11;;43691:1;43679:14;;;;;43460:25;;43527:27;;43713:33;;43740:4;43713:33;43426:31;43838:799;43852:4;43838:799;;43879:156;43962:3;43954:6;43951:15;43924:23;43914:6;43908:13;43905:1;43900:22;43897:51;43890:59;43886:81;43879:156;;;44015:1;44007:6;44003:14;43993:24;;43879:156;;;44196:1;44188:6;44184:14;44174:24;;44522:3;44514:6;44511:15;44504:23;44480:21;44470:6;44464:13;44461:1;44456:22;44453:49;44450:78;44447:176;;;-1:-1:-1;44559:1:138;44591:14;;;;44447:176;43838:799;;;43842:2;44903:3;44894:6;:12;44890:69;;;44929:19;;;;;;;;;;;;;;44890:69;-1:-1:-1;44975:6:138;;42989:1999;-1:-1:-1;;;;;42989:1999:138:o;9774:2851:141:-;10370:1;10360:12;;;10410:13;;9898:4;;;;9913:73;;1388:4;10425;10406:24;;;10512:29;10500:42;;10576:22;;;;10500:42;9898:4;10682:1600;10698:3;10689:6;:12;10682:1600;;;11002:1;10990:14;;11041:13;11096:17;;;;11151:13;;11096:17;;10721;;;;11056:4;11037:24;10721:17;;11244:25;11037:24;11264:4;11244:13;:25::i;:::-;11208:61;;;;11291:11;11349:12;11305:41;11343:1;11333:7;:11;11320:9;:25;11305:14;:41::i;:::-;:56;1230:1;11590:22;11575:38;;11569:45;;-1:-1:-1;;1101:8:141;11401:25;;;;-1:-1:-1;11720:26:141;;11701:45;;;-1:-1:-1;11697:571:141;;-1:-1:-1;11697:571:141;-1:-1:-1;12134:4:141;;-1:-1:-1;11978:2:141;11973:17;;;;-1:-1:-1;12045:2:141;12040:17;12036:38;;;12076:6;12032:51;;-1:-1:-1;12126:35:141;;-1:-1:-1;;;;;12126:35:141;11697:571;12224:25;12239:9;12224:14;:25::i;:::-;12208:41;;;;10703:1579;;;10682:1600;;;-1:-1:-1;12544:1:141;;;;-1:-1:-1;12544:1:141;;-1:-1:-1;9774:2851:141;-1:-1:-1;;;;;;;9774:2851:141:o;23858:5085:138:-;24134:39;:5;:37;:39::i;:::-;24270:9;;;:39;;3023:6;24283:26;24270:39;;;;24369:35;;;;;24690:16;;24776:20;24745:57;-1:-1:-1;24768:29:138;;;24745:57;;;24897:21;;24745:57;;24889:30;24799:1;24885:38;24745:57;24861:63;-1:-1:-1;25084:12:138;;25129:26;;26044:4;26033:16;;26262:22;24952:20;26254:31;;;26134:177;;26105:396;;26604:22;;25129:26;;25279:6;25261:25;;;25531:1;25519:14;;25479:59;;;;;;26478:1;26596:31;;;26592:39;26105:396;26567:65;26731:1;26727;26710:15;26706:23;26698:35;26991:24;;27067:26;;27095:11;27063:44;27060:67;;;27032:96;;27871:12;;27440:4;27425:19;;;27590:33;;;27425:198;27802:4;27793:13;;27782:25;;;27425:382;27864:34;;;;28081:4;28071:14;;;28067:860;;28425:12;;28527:4;28521:11;;28553:25;;;3266:4;28644;28640:21;;;28618:44;;28599:64;;28697:21;;28684:35;;;28850:17;;28869:11;28846:35;28843:51;28824:71;;28067:860;23964:4973;;23858:5085;;;:::o;1356:1144:143:-;1530:16;;;;1581:20;;;;1442:11;1673:15;;;1739:4;1726:18;;;1442:11;;;;1716:29;;;;;1851:1;1844:4;1827:22;;1823:30;1949:26;;;1946:483;;;2027:6;2015:10;2011:23;1994:421;2051:3;2044:11;1994:421;;2224:10;2218:4;2214:21;2201:11;2198:38;2195:202;;2273:4;2263:14;;2338:6;2325:10;2319:4;2315:21;2311:34;2302:43;;2370:5;;2195:202;2093:10;;-1:-1:-1;2147:6:143;2131:23;;1994:421;;;1998:38;1946:483;2471:22;2448:20;;;;:45;;;;-1:-1:-1;1356:1144:143;;;;-1:-1:-1;1356:1144:143;-1:-1:-1;1356:1144:143:o;18146:631:138:-;18214:19;18322:4;18315:5;18311:16;18305:23;18302:1;18297:32;18282:47;;18352:11;18367:1;18352:16;18348:423;;18502:4;18491:16;;18557:24;;18384:25;18549:33;18584:1;18545:41;;;18491:16;18603:45;;18679:17;18700:4;18679:25;18675:86;;18731:15;;;;;;;;;;;;;;18348:423;18204:573;18146:631;:::o;18783:5069::-;18887:7;18948:70;19036:18;19072:16;19106;19139:64;19168:5;:20;;;19190:4;19196:6;19139:28;:64::i;:::-;19368:21;;;19350:40;;20777:18;;;;18930:273;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;-1:-1:-1;19392:11:138;19346:58;;19527:1;19217:19;19505:20;;;19501:28;;;;19217:19;;19527:1;20777:37;;:42;20773:948;;20857:22;;;;20883:4;20857:30;20905:802;20912:12;;20905:802;;21047:14;;21348:16;21338:26;;21322:43;;21318:142;;21402:4;21393:13;;21432:5;;;21318:142;-1:-1:-1;21619:14:138;21685:3;;;;;21635:6;21615:27;20905:802;;;20821:900;20773:948;22133:22;;;;22158:6;22133:31;22182:99;3638:1;22233:6;:46;;22264:15;22233:46;;;22260:1;22242:15;:19;22233:46;22182:5;;:99;:20;:99::i;:::-;22089:207;22572:6;22567:1239;;22730:4;22724:11;;22769:14;;;22756:28;;;23123:22;;;;23149:4;23123:30;:44;;23240:20;;22598:11;23404:34;23411:4;23417:10;23429:8;23404:34;;;:::i;:::-;23580:4;23571:14;;23564:33;-1:-1:-1;23682:22:138;;;;;23717:1;23707:6;23682:31;;;23681:37;23730:4;23723:11;;;;23680:55;;;;23655:80;;23753:18;;;:38;;;;;;22567:1239;-1:-1:-1;23827:8:138;;18783:5069;-1:-1:-1;;;;;;;;;;18783:5069:138:o;12464:5374::-;12731:4;12720:16;;12714:23;12607:19;12706:32;12777:15;;12773:127;;12823:58;;;;;41413:28;;;;;12823:58;;;5446:25:211;5419:18;;12823:58:138;5300:177:211;12773:127:138;12589:325;13116:39;:5;:37;:39::i;:::-;13391:9;;;;;13345:125;2689:6;13391:37;;;13345:125;13333:137;;;13508:17;;;;3023:6;13651:15;;;13528:4;13508:24;;;;13670:4;13651:23;;;;;13836:22;;;13835:31;13815:52;;-1:-1:-1;14375:20:138;;;14371:1378;;2689:6;14419:5;:9;;;:37;14460:1;14419:42;14415:682;;14492:59;;;;;41413:28;;;;;14492:59;;;5446:25:211;5419:18;;14492:59:138;5300:177:211;14415:682:138;14832:32;;;14924:4;14904:24;;;14886:15;;;:42;15035:18;;;;14832:32;;-1:-1:-1;15035:43:138;;14852:12;15035:29;:43::i;:::-;15014:18;;;:64;14371:1378;;;15430:1;15412:15;:19;15408:341;;;15470:15;15455:12;:30;15451:284;;;15516:55;;;;;41413:28;;;;;15516:55;;;5446:25:211;5419:18;;15516:55:138;5300:177:211;15451:284:138;15615:15;15600:12;:30;15596:139;;;15661:55;;;;;41413:28;;;;;15661:55;;;5446:25:211;5419:18;;15661:55:138;5300:177:211;15596:139:138;15849:38;;;:1;:38;15942:4;15916;:22;;15915:31;;;15960:1806;15997:3;15988:6;:12;15960:1806;;;16062:17;;;;16239:4;16224:37;;;;16218:44;16062:27;;;16093:6;16061:38;;16036:22;16210:53;16315:1;16298:1420;16323:8;16318:1;:13;16298:1420;;16540:4;16523:14;:21;16548:4;16523:29;16519:230;;16671:21;;16665:4;16661:32;;16519:230;16891:21;;16985:18;;;;16888:1;16883:30;;;;;16985:32;;16883:30;16985:22;:32::i;:::-;16964:18;;;:53;17555:81;17579:13;;;:37;;;;;17596:15;17615:1;17596:20;17579:37;:56;;17634:1;17579:56;;;17619:12;17579:56;17555:18;;;;;:23;:81::i;:::-;17506:18;;;:130;-1:-1:-1;17698:1:138;17680:19;;;;;16333:3;;16298:1420;;;-1:-1:-1;;17735:16:138;;;;;-1:-1:-1;16012:4:138;16002:14;15960:1806;;;-1:-1:-1;;;;17820:1:138;17800:21;17780:17;;;;:41;;;;-1:-1:-1;;;12464:5374:138:o;28949:6035::-;29042:20;;;;29328:4;29317:16;;29311:23;29107:4;29089:22;;;;29017;29303:32;29337:1;29299:40;;29363:14;;;29359:5619;;29400:12;;;;;;;;;;;;;;29359:5619;29887:14;29915:25;29943:5;:18;;;29915:46;;30086:5;30080:12;30159:6;30149;30143:13;30137:4;30133:24;30129:37;30183:172;30204:11;30197:19;30183:172;;30314:13;;30253:11;;-1:-1:-1;30308:4:138;30304:24;30330:6;30300:37;30183:172;;;-1:-1:-1;30790:4:138;30784:11;31027:4;31016:16;;31132:20;;30784:11;;-1:-1:-1;30643:4:138;30631:17;;;30598:6;30756:1;;30958:19;;;;31084:1;;31124:29;;;31049:2893;31231:3;31228:1;31225:10;31049:2893;;;31523:1;31511:10;31507:18;31499:6;31495:31;31485:41;;31685:1;31671:11;31663:6;31659:24;31655:32;31847:362;31873:22;31857:14;31854:42;31847:362;;;32039:18;;32059:6;32035:31;32178:4;32161:22;;;-1:-1:-1;32035:31:138;31948:43;;32121:1;31847:362;;;-1:-1:-1;32610:1:138;32590:22;;32647:17;;;;32709:13;;32689:34;;32647:17;32763:22;;;;;32947:31;;32542:11;33058:433;33084:1;33068:14;33065:21;33058:433;;;33289:25;33283:4;33279:36;33317:6;33275:49;33373:25;;33353:46;;33460:4;33443:22;;;;33138;;;;;33058:433;;;33594:21;;33591:311;;33682:25;33676:4;33672:36;33710:6;33668:49;33766:25;;33746:46;;33873:1;33853:22;;33836:40;;;;33591:311;-1:-1:-1;;;31270:1:138;31310:21;;;31374:20;;31310:21;;31263:9;;;;;31371:1;31366:29;;31049:2893;;;31053:171;;;;34031:6;34023;34016:22;34196:1;34188:6;34184:14;34158:40;;34422:12;34417:1;34413;34405:6;34401:14;34397:22;34391:4;34387:33;34384:51;34346:10;34342:15;34321:18;34315:25;34311:47;34283:174;34243:18;34215:260;34609:4;34605:9;34598:4;34585:11;34581:22;34577:38;34571:4;34564:52;;;;;34823:1;34813:6;34808:1;:11;;34807:17;;;;:::i;:::-;34789:36;;34768:16;;;34759:4;34741:13;34778:6;34750:4;34741:13;:::i;:::-;34740:23;;34739:46;:87;34700:20;;;:126;34898:9;;;:36;;34911:23;34898:36;;;9906:4;9900:11;;3266:4;9924:42;;;9992:26;;;9979:40;;10038:39;;;-1:-1:-1;10087:15:138;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;29873:5105;;29007:5977;;;28949:6035;:::o;34990:4165::-;35143:20;;;;35652:12;;35646:19;35061:21;;35143:20;35216:4;35198:22;;;;3266:4;35696:35;;35692:97;;35758:16;;;;;;;;;;;;;;35692:97;35958:4;35952:11;;-1:-1:-1;36118:4:138;36106:17;;36228:4;36213:20;;35803:14;36213:20;36106:17;36250:29;-1:-1:-1;36318:1:138;36564;36549:17;;36537:30;;;;;;;36306:14;36852:1;;;36910:916;36945:9;36937:6;36934:21;36910:916;;;37042:27;;;37071:6;37038:40;;37330:27;37605:31;37609:4;37605:31;;;;37602:56;;37596:4;37592:67;37687:32;;;37680:51;37769:39;;;37252:4;37248:17;;;37244:37;37225:57;;;;;36968:17;36910:916;;;-1:-1:-1;37869:21:138;;37866:41;37843:65;;;37961:38;;;37942:58;37965:23;37942:58;;;37925:76;;38155:41;;;38209:4;38151:52;38147:68;38141:4;38134:82;-1:-1:-1;38468:671:138;38492:12;38488:1;:16;38468:671;;;38747:1;38740:9;;38719:32;;38737:1;38719:32;38713:39;38754:6;38709:52;;;38799:34;;38871:20;;38933:4;38943;38939:20;;;38929:31;;38999:4;38995:20;;;;38991:33;;39059:65;38929:31;38799:34;38991:33;39059:27;:65::i;:::-;-1:-1:-1;;;38506:3:138;;38468:671;;;;35094:4055;;;;;;34990:4165;;;:::o;39161:1947::-;39297:22;;;;39456:4;39450:11;;39322:6;39297:31;;39506;;;39881:4;39860:26;;;39848:39;;40112:17;;;40099:31;;;39450:11;;39297:31;;39382:4;39356:30;;;;;39450:11;40529:563;40547:3;40539:6;40536:15;40529:563;;;41071:4;41058:18;;41052:25;41037:41;;40931:14;;40947:6;40927:27;;40629:17;;;;;40529:563;;;40533:2;;39422:1680;;39161:1947;;;:::o;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;11511:947:138:-;11675:4;11668:5;11664:16;11731;11725:23;11722:1;11717:32;11896:1;11878:16;11874:24;11856:16;11852:47;11846:54;11843:1;11838:63;11828:614;;11939:12;;11994:17;;12147:4;12136:16;;12130:23;;12022:1;12013:6;11990:30;;;;11986:38;;;;12075:4;12071:21;12055:38;;;12272:4;12299:1;12220:2;12215:21;;;12193:44;;12278:23;12268:34;12350:23;12334:40;12391:37;;11828:614;;11511:947;:::o;3348:5359:140:-;3709:13;;3476:64;;3541:7;;;;;;3826:1;3811:13;;;3807:21;12910:131:139;3903:33:140;;:38;3899:4435;;4137:1;4122:13;;;4118:21;4233:47;4234:15;;;4233:47;4229:4091;;4334:1;4325:10;;;14521:65:139;4618:169:140;4677:11;4673:1;4661:8;4655:15;4652:1;4647:24;4643:32;4639:50;4632:58;4618:169;;4752:1;4742:8;4738:16;4726:28;;4618:169;;;-1:-1:-1;5330:11:140;;5034:6;4987:53;;;5316:33;;5343:4;5316:33;5404:17;;;5400:106;;;5460:19;;;;;;;;;;;;;;5400:106;-1:-1:-1;5557:6:140;-1:-1:-1;5565:10:140;;-1:-1:-1;5577:8:140;-1:-1:-1;5577:8:140;;-1:-1:-1;5549:47:140;;-1:-1:-1;;;5549:47:140;4229:4091;5757:6;5894:1;5881:14;;5736:18;12910:131:139;13103:29;6241:173:140;6300:15;6296:1;6284:8;6278:15;6275:1;6270:24;6266:32;6262:54;6255:62;6241:173;;6379:1;6369:8;6365:16;6353:28;;6241:173;;;6741:5;6737:1;6725:8;6719:15;6716:1;6711:24;6707:32;6703:44;6696:52;6686:567;;6864:1;6850:16;;;6797:8;-1:-1:-1;7042:181:140;7101:15;7097:1;7085:8;7079:15;7076:1;7071:24;7067:32;7063:54;7056:62;7042:181;;7184:1;7174:8;7170:16;7158:28;;7042:181;;;-1:-1:-1;;7326:14:140;;;;;:73;;;7356:9;7368:1;7356:13;7345:8;:24;:53;;;;7385:9;7397:1;7385:13;7373:8;:25;7345:53;7322:202;;;7434:67;;;;;41413:28:138;;;;;7434:67:140;;;5446:25:211;5419:18;;7434:67:140;5300:177:211;7322:202:140;8031:11;;7727:6;1320:4;7677:46;;;7676:57;;8017:33;;8044:4;8017:33;8105:21;;;8101:110;;;8165:19;;;;;;;;;;;;;;8101:110;-1:-1:-1;8262:6:140;-1:-1:-1;8270:10:140;;-1:-1:-1;8282:8:140;-1:-1:-1;8282:8:140;;-1:-1:-1;8254:47:140;;-1:-1:-1;;;;8254:47:140;3899:4435;8451:11;;8437:33;;8464:4;8437:33;8501:20;;;8497:194;;8548:19;;;;;;;;;;;;;;8497:194;8613:63;;;;;41413:28:138;;;;;8613:63:140;;;5446:25:211;5419:18;;8613:63:140;5300:177:211;3348:5359:140;;;;;;;;:::o;8331:369:138:-;8407:12;8465:15;:7;8478:1;8465:12;:15::i;:::-;8455:25;-1:-1:-1;;8649:16:138;8618:47;;8549:4;8544:1;8512:33;;;8511:42;;;;8567:11;;8670;;8617:65;8331:369;;;;:::o;9220:345::-;9289:12;9386:4;9355:35;;9408:11;;;9404:73;;;9446:16;;;;;;;;;;;;;;9404:73;-1:-1:-1;;9515:32:138;;;9220:345::o;8706:508::-;8776:12;8873:4;8842:35;;;9028:12;;;8941:1;8909:33;;;8908:42;9010:4;8978:36;;;9058:13;;;9054:65;;;-1:-1:-1;9097:7:138;9054:65;9191:4;9184:3;:11;;9178:1;9168:6;:11;;9157:7;:23;:39;9132:65;;;;;8706:508;;;;:::o;9010:1887:140:-;9105:13;9171:11;;;9209:4;9200:13;;9196:1685;;;9240:58;;;;;41413:28:138;;;;;9240:58:140;;;5446:25:211;5419:18;;9240:58:140;5300:177:211;9196:1685:140;9323:6;9333:1;9323:11;9319:1562;;9361:60;;;;;41413:28:138;;;;;9361:60:140;;;5446:25:211;5419:18;;9361:60:140;5300:177:211;9319:1562:140;9455:1;9446:6;:10;9460:1;9446:15;9442:1439;;9488:59;;;;;41413:28:138;;;;;9488:59:140;;;5446:25:211;5419:18;;9488:59:140;5300:177:211;9442:1439:140;9603:7;;;9586:14;9669:1198;9686:5;9676:6;:15;9669:1198;;9830:13;;9715:19;9822:22;;;;9969:1;:16;;;12910:131:139;10075:27:140;;:32;10071:657;;-1:-1:-1;10144:41:140;;;10071:657;;;14199:93:139;10265:31:140;;:36;10261:467;;-1:-1:-1;10338:46:140;;;10261:467;;;14371:93:139;10464:31:140;;:36;10460:268;;-1:-1:-1;10537:46:140;;;10460:268;;;10645:60;;;;;41413:28:138;;;;;10645:60:140;;;5446:25:211;5419:18;;10645:60:140;5300:177:211;10460:268:140;10759:21;;10750:30;;;;;-1:-1:-1;;10840:8:140;;;;;10817:1;10802:16;9669:1198;;;9568:1313;;9130:1761;9010:1887;;;;;:::o;11526:4950::-;12331:11;;;12325:18;11625:13;;;;11891:18;;11625:13;;12383;;;12241:11;;;12340:1;12625:10;;:62;;;;-1:-1:-1;7285:1:139;12641:20:140;;13103:29:139;12640:41:140;12639:48;;12625:62;12621:1379;;;12726:1;12720:3;:7;12711:16;;12886:2;12872:11;12865:4;12862:1;12857:13;12853:31;12849:40;12835:11;12828:4;12825:1;12820:13;12816:31;12812:78;12800:90;;12621:1379;;;13036:4;13033:1;13028:13;13009:32;;13299:1;13290:6;:10;:62;;;;-1:-1:-1;7285:1:139;13306:20:140;;13103:29:139;13305:41:140;13304:48;;13290:62;13286:696;;;13395:1;13389:3;:7;13380:16;;13508:11;13501:4;13498:1;13493:13;13489:31;13477:43;;13286:696;;;13748:10;;13744:238;;13801:1;13795:3;:7;13786:16;;13839:1;13828:12;;13744:238;;;13902:57;;;;;41413:28:138;;;;;13902:57:140;;;5446:25:211;5419:18;;13902:57:140;5300:177:211;13744:238:140;12077:1937;;;14146:486;14163:5;14153:6;:15;;:32;;;;;14183:2;14172:8;:13;14153:32;14146:486;;;14497:13;;14494:1;14489:22;14485:40;;;14531:2;14527:17;;;14481:64;14470:76;;;;;14609:8;;;;;14581:10;;14146:486;;;14848:5;14838:6;:15;14834:1626;;15002:13;;14895;14994:22;14990:40;;;15230:1;15222:9;;15218:451;;;41413:28:138;;;;;15289:39:140;15266:63;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;15218:451:140;15410:2;:14;;;15401:24;;15455:14;;;:22;-1:-1:-1;15451:155:140;;;41413:28:138;;;;;15539:39:140;41254:203:138;15451:155:140;15631:15;;;;;-1:-1:-1;15690:8:140;;;;;15881:547;15898:5;15888:6;:15;15881:547;;16128:13;;15997:23;16120:22;16224:18;16197:46;;16193:179;;41413:28:138;;;;;16305:39:140;41254:203:138;16193:179:140;-1:-1:-1;16397:8:140;;;;;15881:547;;3762:535:142;4038:13;;3885:7;;;;4054:1;4030:22;;;4026:30;4079:27;;;4075:123;;4129:58;;;;;41413:28:138;;;;;4129:58:142;;;5446:25:211;5419:18;;4129:58:142;5300:177:211;4075:123:142;4266:6;4287:1;4258:32;;;;;3762:535;;;;;;;:::o;4349:1314::-;4642:11;;4758:13;;4487:7;;;;4774:1;4750:22;;;4746:30;;4628:33;;4655:4;4628:33;4807:27;;;4803:844;;4863:52;4890:1;4881:10;;4893:3;15866:76:139;4863:17:142;:52::i;:::-;4854:61;-1:-1:-1;4934:13:142;4983:67;5003:14;5019:4;5025:16;4854:61;4983:19;:67::i;:::-;4965:85;;-1:-1:-1;4965:85:142;-1:-1:-1;5078:48:142;4965:85;5104:3;15866:76:139;5078:17:142;:48::i;:::-;5275:13;;5069:57;;-1:-1:-1;5291:1:142;5272;5267:22;;;;5263:30;;-1:-1:-1;6613:41:139;5332:25:142;;5328:135;;41413:28:138;;;;;5404:39:142;5388:56;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;5328:135:142;5497:1;5488:10;;;-1:-1:-1;5513:5:142;-1:-1:-1;5480:40:142;;-1:-1:-1;;5480:40:142;4803:844;5608:6;5629:1;5600:32;;;;;;;;5699:1704;6020:11;;6136:13;;5849:7;;;;6152:1;6128:22;;;6124:30;;6006:33;;6033:4;6006:33;6185:27;;;6181:1206;;6241:52;6268:1;6259:10;;6271:3;15866:76:139;6241:17:142;:52::i;:::-;6232:61;-1:-1:-1;6312:9:142;6353:66;6373:14;6389:4;6395:15;6232:61;6353:19;:66::i;:::-;6339:80;;-1:-1:-1;6339:80:142;-1:-1:-1;6339:80:142;6498:48;6339:80;6524:3;15866:76:139;6498:17:142;:48::i;:::-;6489:57;-1:-1:-1;6565:9:142;6606:66;6626:14;6642:4;6648:15;6489:57;6606:19;:66::i;:::-;6592:80;;-1:-1:-1;6745:1:142;6740:6;;;6713:34;;;;;6592:80;-1:-1:-1;6776:48:142;6592:80;6802:3;15866:76:139;6776:17:142;:48::i;:::-;6974:13;;6767:57;;-1:-1:-1;6990:1:142;6971;6966:22;;;;6962:30;;-1:-1:-1;6613:41:139;7031:25:142;;7027:135;;41413:28:138;;;;;7103:39:142;41254:203:138;7027:135:142;-1:-1:-1;7196:1:142;7187:10;;;-1:-1:-1;7199:7:142;-1:-1:-1;7179:28:142;;-1:-1:-1;;;7179:28:142;6181:1206;41413:28:138;;;;;7332:39:142;7316:56;;;;;;;;;5446:25:211;;5434:2;5419:18;;5300:177;10078:2147:142;10367:11;;10483:13;;10212:7;;;;10499:1;10475:22;;;10471:30;;10353:33;;10380:4;10353:33;10532:27;;;10528:1681;;10588:52;10615:1;10606:10;;10618:3;15866:76:139;10588:17:142;:52::i;:::-;10817:13;;10579:61;;-1:-1:-1;10833:1:142;10659:9;10809:22;;;10805:30;;-1:-1:-1;10874:25:142;;;10870:269;;-1:-1:-1;10927:1:142;10870:269;;;10989:52;11009:14;11025:4;11031:1;11034:6;10989:19;:52::i;:::-;10975:66;;-1:-1:-1;10975:66:142;-1:-1:-1;11072:48:142;10975:66;11098:3;15866:76:139;11072:17:142;:48::i;:::-;11063:57;;10870:269;11315:13;;11331:1;11157:9;11307:22;;;11303:30;;-1:-1:-1;11372:25:142;;;11368:269;;-1:-1:-1;11425:1:142;11368:269;;;11487:52;11507:14;11523:4;11529:1;11532:6;11487:19;:52::i;:::-;11473:66;;-1:-1:-1;11473:66:142;-1:-1:-1;11570:48:142;11473:66;11596:3;15866:76:139;11570:17:142;:48::i;:::-;11561:57;;11368:269;11849:13;;11696:1;11655:15;11841:22;;;;11837:30;;;;-1:-1:-1;11691:6:142;;;11686:12;;6613:41:139;11906:25:142;;11902:135;;41413:28:138;;;;;11978:39:142;41254:203:138;11902:135:142;12071:1;12062:10;;;-1:-1:-1;12074:7:142;-1:-1:-1;12054:28:142;;-1:-1:-1;;;;12054:28:142;7466:2576;7757:11;;7873:13;;7602:7;;;;7889:1;7865:22;;;7861:30;;7743:33;;7770:4;7743:33;7922:27;;;7918:2108;;7978:52;8005:1;7996:10;;8008:3;15866:76:139;7978:17:142;:52::i;:::-;7969:61;-1:-1:-1;8091:9:142;8132:66;8152:14;8168:4;8174:15;7969:61;8132:19;:66::i;:::-;8118:80;;-1:-1:-1;8118:80:142;-1:-1:-1;8225:48:142;8118:80;8251:3;15866:76:139;8225:17:142;:48::i;:::-;8487:13;;8216:57;;-1:-1:-1;8503:1:142;8329:9;8479:22;;;8475:30;;-1:-1:-1;8544:25:142;;;8540:269;;-1:-1:-1;8597:1:142;8540:269;;;8659:52;8679:14;8695:4;8701:1;8704:6;8659:19;:52::i;:::-;8645:66;;-1:-1:-1;8645:66:142;-1:-1:-1;8742:48:142;8645:66;8768:3;15866:76:139;8742:17:142;:48::i;:::-;8733:57;;8540:269;9022:13;;9038:1;8864:9;9014:22;;;9010:30;;-1:-1:-1;9079:25:142;;;9075:269;;-1:-1:-1;9132:1:142;9075:269;;;9194:52;9214:14;9230:4;9236:1;9239:6;9194:19;:52::i;:::-;9180:66;;-1:-1:-1;9180:66:142;-1:-1:-1;9277:48:142;9180:66;9303:3;15866:76:139;9277:17:142;:48::i;:::-;9268:57;;9075:269;9567:13;;9583:1;9362:15;9559:22;;;;9555:30;;-1:-1:-1;9403:1:142;9398:6;;;9393:12;;9414:1;9409:6;;;9393:23;6613:41:139;9624:25:142;;9620:135;;41413:28:138;;;;;9696:39:142;41254:203:138;9620:135:142;9789:1;9780:10;;;-1:-1:-1;9792:7:142;-1:-1:-1;9772:28:142;;-1:-1:-1;;;;;9772:28:142;2744:967;3045:13;;2892:7;;;;3061:1;3037:22;;;3033:30;3086:25;;;3082:119;;41413:28:138;;;;;3150:39:142;41254:203:138;3082:119:142;3224:77;3315:18;3347:16;3377;3406:58;3435:14;3451:4;3457:6;3406:28;:58::i;:::-;3210:254;;;;;;;;3474:13;3490:41;3504:4;3510:10;3522:8;3490:13;:41;;:::i;:::-;3474:57;;3553:3;3545:5;:11;3541:105;;;3579:56;;;;;41413:28:138;;;;;3579:56:142;;;5446:25:211;5419:18;;3579:56:142;5300:177:211;3541:105:142;3664:8;;;;-1:-1:-1;2744:967:142;-1:-1:-1;;;;;;;;;2744:967:142:o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:211:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:211:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:253;804:2;798:9;846:4;834:17;;881:18;866:34;;902:22;;;863:62;860:88;;;928:18;;:::i;:::-;964:2;957:22;732:253;:::o;990:334::-;1061:2;1055:9;1117:2;1107:13;;1122:66;1103:86;1091:99;;1220:18;1205:34;;1241:22;;;1202:62;1199:88;;;1267:18;;:::i;:::-;1303:2;1296:22;990:334;;-1:-1:-1;990:334:211:o;1329:245::-;1377:4;1410:18;1402:6;1399:30;1396:56;;;1432:18;;:::i;:::-;-1:-1:-1;1489:2:211;1477:15;1494:66;1473:88;1563:4;1469:99;;1329:245::o;1579:462::-;1621:5;1674:3;1667:4;1659:6;1655:17;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1728:6;1715:20;1759:48;1775:31;1803:2;1775:31;:::i;:::-;1759:48;:::i;:::-;1832:2;1823:7;1816:19;1878:3;1871:4;1866:2;1858:6;1854:15;1850:26;1847:35;1844:55;;;1895:1;1892;1885:12;1844:55;1960:2;1953:4;1945:6;1941:17;1934:4;1925:7;1921:18;1908:55;2008:1;1983:16;;;2001:4;1979:27;1972:38;;;;1987:7;1579:462;-1:-1:-1;;;1579:462:211:o;2046:183::-;2106:4;2139:18;2131:6;2128:30;2125:56;;;2161:18;;:::i;:::-;-1:-1:-1;2206:1:211;2202:14;2218:4;2198:25;;2046:183::o;2234:662::-;2288:5;2341:3;2334:4;2326:6;2322:17;2318:27;2308:55;;2359:1;2356;2349:12;2308:55;2395:6;2382:20;2421:4;2445:60;2461:43;2501:2;2461:43;:::i;2445:60::-;2539:15;;;2625:1;2621:10;;;;2609:23;;2605:32;;;2570:12;;;;2649:15;;;2646:35;;;2677:1;2674;2667:12;2646:35;2713:2;2705:6;2701:15;2725:142;2741:6;2736:3;2733:15;2725:142;;;2807:17;;2795:30;;2845:12;;;;2758;;2725:142;;;-1:-1:-1;2885:5:211;2234:662;-1:-1:-1;;;;;;2234:662:211:o;2901:793::-;3037:6;3045;3053;3106:2;3094:9;3085:7;3081:23;3077:32;3074:52;;;3122:1;3119;3112:12;3074:52;3162:9;3149:23;3191:18;3232:2;3224:6;3221:14;3218:34;;;3248:1;3245;3238:12;3218:34;3271:49;3312:7;3303:6;3292:9;3288:22;3271:49;:::i;:::-;3261:59;;3373:2;3362:9;3358:18;3345:32;3329:48;;3402:2;3392:8;3389:16;3386:36;;;3418:1;3415;3408:12;3386:36;3441:63;3496:7;3485:8;3474:9;3470:24;3441:63;:::i;:::-;3431:73;;3557:2;3546:9;3542:18;3529:32;3513:48;;3586:2;3576:8;3573:16;3570:36;;;3602:1;3599;3592:12;3570:36;;3625:63;3680:7;3669:8;3658:9;3654:24;3625:63;:::i;:::-;3615:73;;;2901:793;;;;;:::o;4164:250::-;4249:1;4259:113;4273:6;4270:1;4267:13;4259:113;;;4349:11;;;4343:18;4330:11;;;4323:39;4295:2;4288:10;4259:113;;;-1:-1:-1;;4406:1:211;4388:16;;4381:27;4164:250::o;4419:329::-;4460:3;4498:5;4492:12;4525:6;4520:3;4513:19;4541:76;4610:6;4603:4;4598:3;4594:14;4587:4;4580:5;4576:16;4541:76;:::i;:::-;4662:2;4650:15;4667:66;4646:88;4637:98;;;;4737:4;4633:109;;4419:329;-1:-1:-1;;4419:329:211:o;4753:217::-;4900:2;4889:9;4882:21;4863:4;4920:44;4960:2;4949:9;4945:18;4937:6;4920:44;:::i;4975:320::-;5043:6;5096:2;5084:9;5075:7;5071:23;5067:32;5064:52;;;5112:1;5109;5102:12;5064:52;5152:9;5139:23;5185:18;5177:6;5174:30;5171:50;;;5217:1;5214;5207:12;5171:50;5240:49;5281:7;5272:6;5261:9;5257:22;5240:49;:::i;5997:435::-;6050:3;6088:5;6082:12;6115:6;6110:3;6103:19;6141:4;6170:2;6165:3;6161:12;6154:19;;6207:2;6200:5;6196:14;6228:1;6238:169;6252:6;6249:1;6246:13;6238:169;;;6313:13;;6301:26;;6347:12;;;;6382:15;;;;6274:1;6267:9;6238:169;;;-1:-1:-1;6423:3:211;;5997:435;-1:-1:-1;;;;;5997:435:211:o;6437:421::-;6662:2;6651:9;6644:21;6625:4;6688:44;6728:2;6717:9;6713:18;6705:6;6688:44;:::i;:::-;6780:9;6772:6;6768:22;6763:2;6752:9;6748:18;6741:50;6808:44;6845:6;6837;6808:44;:::i;:::-;6800:52;6437:421;-1:-1:-1;;;;;6437:421:211:o;6863:747::-;7206:42;7198:6;7194:55;7183:9;7176:74;7286:3;7281:2;7270:9;7266:18;7259:31;7157:4;7313:45;7353:3;7342:9;7338:19;7330:6;7313:45;:::i;:::-;7406:9;7398:6;7394:22;7389:2;7378:9;7374:18;7367:50;7440:44;7477:6;7469;7440:44;:::i;:::-;7426:58;;7532:9;7524:6;7520:22;7515:2;7504:9;7500:18;7493:50;7560:44;7597:6;7589;7560:44;:::i;:::-;7552:52;6863:747;-1:-1:-1;;;;;;;6863:747:211:o;8200:2482::-;8327:6;8358:2;8401;8389:9;8380:7;8376:23;8372:32;8369:52;;;8417:1;8414;8407:12;8369:52;8450:9;8444:16;8479:18;8520:2;8512:6;8509:14;8506:34;;;8536:1;8533;8526:12;8506:34;8574:6;8563:9;8559:22;8549:32;;8619:7;8612:4;8608:2;8604:13;8600:27;8590:55;;8641:1;8638;8631:12;8590:55;8670:2;8664:9;8693:60;8709:43;8749:2;8709:43;:::i;8693:60::-;8787:15;;;8869:1;8865:10;;;;8857:19;;8853:28;;;8818:12;;;;8893:19;;;8890:39;;;8925:1;8922;8915:12;8890:39;8957:2;8953;8949:11;8969:1683;8985:6;8980:3;8977:15;8969:1683;;;9064:3;9058:10;9100:2;9087:11;9084:19;9081:109;;;9144:1;9173:2;9169;9162:14;9081:109;9213:20;;9256:4;9284:16;;;9302:66;9280:89;9276:98;-1:-1:-1;9273:188:211;;;9415:1;9444:2;9440;9433:14;9273:188;9487:22;;:::i;:::-;9550:2;9546;9542:11;9536:18;9529:5;9522:33;9578:2;9622;9618;9614:11;9608:18;9674:4;9665:7;9661:18;9652:7;9649:31;9639:132;;9723:1;9753:3;9748;9741:16;9639:132;9791:14;;;9784:31;9850:11;;;9844:18;;9878:16;;;9875:109;;;9936:1;9966:3;9961;9954:16;9875:109;10016:8;10012:2;10008:17;9997:28;;10066:7;10061:2;10056:3;10052:12;10048:26;10038:127;;10117:1;10106:12;;10147:3;10142;10135:16;10038:127;10204:2;10199:3;10195:12;10189:19;10178:30;;10234:49;10250:32;10278:3;10250:32;:::i;10234:49::-;10310:3;10303:5;10296:18;10357:7;10352:2;10346:3;10341;10337:13;10333:22;10330:35;10327:128;;;10407:1;10437:3;10432;10425:16;10327:128;10468:69;10533:3;10528:2;10521:5;10517:14;10512:2;10507:3;10503:12;10468:69;:::i;:::-;10557:14;;;10550:29;10592:18;;-1:-1:-1;;10630:12:211;;;;9002;;8969:1683;;;-1:-1:-1;10671:5:211;8200:2482;-1:-1:-1;;;;;;;;8200:2482:211:o;10940:184::-;10992:77;10989:1;10982:88;11089:4;11086:1;11079:15;11113:4;11110:1;11103:15;12235:184;12287:77;12284:1;12277:88;12384:4;12381:1;12374:15;12408:4;12405:1;12398:15;12424:128;12491:9;;;12512:11;;;12509:37;;;12526:18;;:::i;12557:125::-;12622:9;;;12643:10;;;12640:36;;;12656:18;;:::i;12687:288::-;12862:2;12851:9;12844:21;12825:4;12882:44;12922:2;12911:9;12907:18;12899:6;12882:44;:::i;:::-;12874:52;;12962:6;12957:2;12946:9;12942:18;12935:34;12687:288;;;;;:::o;12980:184::-;13032:77;13029:1;13022:88;13129:4;13126:1;13119:15;13153:4;13150:1;13143:15", + "sourceMap": "3924:7282:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7571:216;;;;;;:::i;:::-;;:::i;:::-;;;516:14:212;;509:22;491:41;;479:2;464:18;7571:216:80;;;;;;;;8977:1006;;;;;;:::i;:::-;;:::i;:::-;;;;3964:42:212;4033:15;;;4015:34;;4085:15;;;4080:2;4065:18;;4058:43;4137:15;;4117:18;;;4110:43;;;;3942:2;3927:18;8977:1006:80;3699:460:212;11051:153:80;;;:::i;:::-;;;;;;;:::i;7980:481::-;;;;;;:::i;:::-;;:::i;7823:121::-;;;2695:66;5446:25:212;;5434:2;5419:18;7823:121:80;5300:177:212;5217:43:80;;;;;;;;5687:42:212;5675:55;;;5657:74;;5645:2;5630:18;5217:43:80;5482:255:212;10036:249:80;;;;;;:::i;:::-;;:::i;:::-;;5090:44;;;;;8640:289;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8497:107::-;;;:::i;7571:216::-;7657:4;7680:55;;;7696:39;7680:55;;:100;;-1:-1:-1;7739:41:80;;;7755:25;7739:41;7680:100;7673:107;7571:216;-1:-1:-1;;7571:216:80:o;8977:1006::-;9117:14;9133:19;9154:7;9177:47;9192:8;9202:9;9213:10;9177:14;:47::i;:::-;9240:58;9254:10;9266:8;9276:9;9287:10;9240:58;;;;;;;;;:::i;:::-;;;;;;;;502:16:144;;484:15;;9310:37:80;;;;9380:100;;521:4:144;502:23;484:41;528:4;484:48;4202:4:67;4196:11;;4311:43;;;4356:9;4307:59;4291:76;;4278:90;;;4687:343;4972:1;4959:15;;;4787:3;4687:343;;;;;1522:75;4622:430;5069:27;;4196:11;1728:2;4463:35;;;3702:1424;9380:100:80;9309:171;;;;9602:81;9654:7;9663:8;9673:9;9602:51;:81::i;:::-;9747:18;9768:32;9790:9;9768:21;:32::i;:::-;9883:41;;;9901:10;7850:34:212;;7799:42;7920:15;;7915:2;7900:18;;7893:43;9747:53:80;;-1:-1:-1;9883:41:80;;7762:18:212;9883:41:80;;;;;;;9943:12;;-1:-1:-1;9957:6:80;;-1:-1:-1;9965:10:80;-1:-1:-1;;;8977:1006:80;;;;;;;;:::o;11051:153::-;11119:12;11150:47;:45;:47::i;:::-;11143:54;;11051:153;:::o;7980:481::-;8129:24;;;;;;8072:12;;2695:66;8167:45;;8163:153;;8235:70;;;;;2695:66;8235:70;;;8121:25:212;8162:18;;;8155:34;;;8094:18;;8235:70:80;;;;;;;;8163:153;8325:28;8367:13;8356:44;;;;;;;;;;;;:::i;:::-;8325:75;;8417:37;8445:5;8452:1;8417:27;:37::i;:::-;8410:44;7980:481;-1:-1:-1;;;;7980:481:80:o;10036:249::-;10182:96;10217:27;;;;;;;;;;;;;;;;;10246:8;10256:9;10267:10;10182:34;:96::i;:::-;10036:249;;;:::o;8640:289::-;8714:12;8728:16;8889:33;8904:4;8910:11;:9;:11::i;:::-;8889:14;:33::i;:::-;8882:40;;;;8640:289;;;:::o;8497:107::-;8556:12;8587:10;;;;;;;;;;;;;;;;;8580:17;;8497:107;:::o;555:809:144:-;843:9;946:1;934:9;928:16;924:24;918:4;914:35;897:15;893:57;794:385;989:12;972:15;969:33;794:385;;;1154:22;;1139:38;;1065:4;1101:17;;;;1044:26;;;;794:385;;;798:170;;1263:84;1291:23;:8;1472:4:156;1331:161;1291:23:144;1316:6;1324:8;:15;1342:4;1324:22;1263:27;:84::i;5489:666:67:-;5562:7;5581:16;5607:21;1728:2;5607:43;;5959:10;5953:17;5948:3;5944:27;5936:6;5932:40;5839:13;5810:184;5778:10;5755:1;5727:285;5699:313;-1:-1:-1;6080:22:67;;;6076:47;;6111:12;;;;;;;;;;;;;;6076:47;-1:-1:-1;6140:8:67;5489:666;-1:-1:-1;;5489:666:67:o;14259:4336:102:-;14319:12;14367:125;14506:14;2305:2;14506:40;;14620:6;14603:23;;14653:161;:3443;;;;;;;;14839:13;14653:3443;;;;;;;;15083:22;14653:3443;;;;15127:25;14653:3443;;;;15249:24;14653:3443;;;;15295:21;14653:3443;;;;15338:28;14653:3443;;;;15388:24;14653:3443;;;;15594:27;14653:3443;;;;15681:27;14653:3443;;;;15730:26;14653:3443;;;;15778:20;14653:3443;;;;15820:27;14653:3443;;;;15869:23;14653:3443;;;;15914:24;14653:3443;;;;15960:22;14653:3443;;;;16004:28;14653:3443;;;;16054:37;14653:3443;;;;16113:19;14653:3443;;;;16154:23;14653:3443;;;;16199:25;14653:3443;;;;16246:34;14653:3443;;;;16302:29;14653:3443;;;;16353:29;14653:3443;;;;16404:40;14653:3443;;;;16466:33;14653:3443;;;;16521:32;14653:3443;;;;16735:23;14653:3443;;;;16818:23;14653:3443;;;;16863:23;14653:3443;;;;16908:23;14653:3443;;;;17113:23;14653:3443;;;;17196:23;14653:3443;;;;17401:23;14653:3443;;;;17484:23;14653:3443;;;;17529:23;14653:3443;;;;17574:23;14653:3443;;;;17779:23;14653:3443;;;;17862:23;14653:3443;;;;17907:20;14653:3443;;;;17949:20;14653:3443;;;;17991:32;14653:3443;;;;18045:33;14653:3443;;;;;18110:32;18218:13;18199:32;;2305:2;18373:15;:22;:49;18369:143;;18466:22;;18449:48;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;;;8094:18;;18449:48:102;7947:248:212;18369:143:102;18532:46;18562:15;18532:29;:46::i;:::-;18525:53;;;;;;14259:4336;:::o;4650:4696:141:-;4775:22;;;4949:17;;5041:21;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5041:21:141;;5033:29;;5107:8;5093:23;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5093:23:141;-1:-1:-1;5080:36:141;-1:-1:-1;5204:13:141;5239:387;5246:29;;:33;5239:387;;5307:10;5343:17;5430:40;5447:22;5430:16;:40::i;:::-;5496:12;;5386:84;;-1:-1:-1;5386:84:141;;-1:-1:-1;5386:84:141;-1:-1:-1;5386:84:141;;5496:5;;5502;;5496:12;;;;;;:::i;:::-;;;;;;:19;;;;;;;;;;;5561:9;5541:10;5552:5;5541:17;;;;;;;;:::i;:::-;;;;;;;;;;:29;-1:-1:-1;;5596:7:141;;;;;5239:387;;;5134:510;5662:23;1230:1;5757:13;:20;:37;1388:4;5727:5;:27;1460:1;5708:46;:86;5662:132;;5834:15;5824:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5824:26:141;;5812:38;;5945:5;5938:4;5927:9;5923:20;5915:36;5991:9;5986:474;6010:5;6006:1;:9;5986:474;;;6227:1;6221:4;6217:12;6210:4;6199:9;6195:20;6191:39;6313:1;6307:4;6303:12;6297:4;6293:23;6286:5;6282:35;6276:42;6263:11;6255:64;6408:4;6404:12;;;6378:40;;;6372:47;6368:1;6351:19;;;6344:76;6017:3;5986:474;;;-1:-1:-1;;1388:4:141;6557:27;6670:26;;6521:33;6670:26;;-1:-1:-1;6500:18:141;6792:2538;6816:13;:20;6812:1;:24;6792:2538;;;6861:9;6892:21;6935:2381;6970:15;7007;7150:17;7170:10;7181:1;7170:13;;;;;;;;:::i;:::-;;;;;;;7150:33;;7210:14;7280:15;7345:46;7359:5;7365:1;7359:8;;;;;;;;:::i;:::-;;;;;;;7345:46;;7369:13;7383:1;7369:16;;;;;;;;:::i;:::-;;;;;;;:21;;;7345:13;:46::i;:::-;7325:66;-1:-1:-1;7325:66:141;-1:-1:-1;1230:1:141;7422:20;7547:13;7503:41;7531:11;;;7518:25;;7503:14;:41::i;:::-;:57;7675:22;;;;7660:38;;8020:14;;7660:38;;-1:-1:-1;1101:8:141;7836:25;;;;-1:-1:-1;8093:34:141;;-1:-1:-1;8161:19:141;;8157:466;;8238:15;8220:14;:33;8216:141;;8300:22;;;;;;;;;;;;;;8216:141;8456:3;;;;;8525:25;8540:9;8525:14;:25::i;:::-;8509:13;:41;8493:57;;8584:8;;;;;;;;8157:466;8787:15;8777:25;;7780:1049;;7124:1727;;9013:4;8972:13;8986:1;8972:16;;;;;;;;:::i;:::-;;;;;;;:36;;;8964:45;;:53;;8955:4;8950:1;:9;;8949:69;8938:80;;;;9041:12;1291:1;1230;1268;:19;;1267:25;9056:15;9041:30;;9190:7;9183:4;9173:7;9167:14;9163:25;9160:38;9151:7;9144:55;9292:5;;;-1:-1:-1;;6838:3:141;;6792:2538;;;;4813:4527;;;4650:4696;;;;:::o;2846:4663:98:-;3060:19;3082:33;3106:8;3082:23;:33::i;:::-;3060:55;;3265:11;3245:10;:17;:31;3241:126;;;3321:17;;3303:49;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;;;8094:18;;3303:49:98;7947:248:212;3241:126:98;3477:4;3462:20;;3381:22;3567:3926;3591:11;3587:1;:15;3567:3926;;;3698:20;3721:43;3752:8;3762:1;3721:30;:43::i;:::-;3698:66;;3865:21;3889:44;3921:8;3931:1;3889:31;:44::i;:::-;3865:68;;4033:10;:17;4029:1;:21;4025:351;;;4078:17;;4074:118;;4130:39;;;;;;;;8121:25:212;;;8162:18;;;8155:34;;;8094:18;;4130:39:98;7947:248:212;4074:118:98;4234:10;4245:1;4234:13;;;;;;;;:::i;:::-;;;;;;;4218;:29;4214:144;;;4303:1;4306:13;4321:10;4332:1;4321:13;;;;;;;;:::i;:::-;;;;;;;4282:53;;;;;;;;;;;;11331:25:212;;;11387:2;11372:18;;11365:34;;;;11430:2;11415:18;;11408:34;11319:2;11304:18;;11129:319;4214:144:98;4394:34;4451:70;4480:8;4490:12;4504:9;:16;4451:28;:70::i;:::-;4394:127;;4648:14;4722:4;4680:38;4706:8;4716:1;4680:25;:38::i;:::-;4665:61;4648:78;;4744:11;4767:40;4795:8;4805:1;4767:27;:40::i;:::-;4810:1;4767:44;4758:6;:53;4744:67;;4830:2096;4846:3;4837:6;:12;4830:2096;;;5162:13;;5250:2;5245:14;;;5261:1;5241:22;5221:43;;5215:50;5353:8;5343:19;;;5412:2;5407:14;;5209:4;5205:61;4873:15;;5512:17;5514:5;5343:19;5205:61;5512:17::i;:::-;5464:65;;;;5571:16;5555:12;:32;5551:158;;5640:13;;;;5622:64;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;;;11415:18;;;11408:34;;;11304:18;;5622:64:98;11129:319:212;5551:158:98;5750:16;;5735:31;;5731:154;;;5816:13;;;;5831:16;;5801:61;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;5801:61:98;11129:319:212;5731:154:98;5906:32;;;;;;;;6055:19;;;;-1:-1:-1;6032:177:98;;;6133:13;;;;6148:16;;6166:19;;;;;6109:77;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;;;;11415:18;;;11408:34;11304:18;;6109:77:98;11129:319:212;6032:177:98;6368:33;;;;;;;6519:19;;;;-1:-1:-1;6496:131:98;;;6588:16;;6566:19;;;:38;6496:131;6747:1;6731:13;:17;6727:110;;;6798:16;;6776:19;;;:38;6727:110;-1:-1:-1;;;6859:13:98;;;:15;;;;;;-1:-1:-1;;6906:1:98;6896:11;;;;;4830:2096;;;7052:46;7086:8;7096:1;7052:33;:46::i;:::-;7029:5;:19;;;:69;7025:215;;7153:5;:19;;;7174:46;7208:8;7218:1;7174:33;:46::i;:::-;7129:92;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;8094:18;;7129:92:98;7947:248:212;7025:215:98;7343:16;;:33;;7339:140;;7428:16;;7407:53;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;;;8094:18;;7407:53:98;7947:248:212;7339:140:98;-1:-1:-1;;3604:3:98;;;;;-1:-1:-1;3567:3926:98;;-1:-1:-1;;3567:3926:98;;;3036:4467;;2846:4663;;;;:::o;45048:12042:138:-;45148:21;45171:16;45227:23;45253:24;:22;:24::i;:::-;45295:11;;45227:50;;-1:-1:-1;45295:15:138;45291:11715;;45563:11;;45330:12;;45518:4;45508:15;;;;45551:24;;;45330:12;45610:11121;45626:3;45617:6;:12;45610:11121;;;45808:1;45798:6;45792:13;45789:1;45784:22;45780:30;45772:38;;2555:1;45885:5;:9;;;:24;45913:1;45885:29;45881:10832;;14954:40:139;45946:27:138;;:31;45942:3046;;46082:9;;;;2591:6;46082:25;:29;46078:156;;41413:28;;;;;46172:30;46154:49;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;46078:156:138;13201:425:139;46317:28:138;;:32;46313:814;;46402:39;46412:6;15296:54:139;46402:9:138;:39::i;:::-;46385:56;-1:-1:-1;46385:56:138;-1:-1:-1;46476:11:138;;46506:25;:5;46385:56;46506:19;:25::i;:::-;46475:56;;;;46758:6;46754:140;;;46811:48;;;;;41413:28;;;;;46811:48;;;5446:25:212;5419:18;;46811:48:138;5300:177:212;46754:140:138;46351:573;;46313:814;;;47049:47;47067:1;47058:10;;47070:3;15296:54:139;47049:8:138;:47::i;:::-;47040:56;;46313:814;47287:15;;;:17;;;;;;;;;47334;;;:19;;;;;;;47540:9;;;;;:50;;47594:22;47539:77;47527:89;;45610:11121;;45942:3046;15866:76:139;47653:23:138;;:28;47649:1339;;47722:43;47740:1;47731:10;;47743:3;15866:76:139;47722:8:138;:43::i;:::-;47868:9;;;:27;;47881:14;47868:27;;;47713:52;-1:-1:-1;45610:11121:138;;47649:1339;6214:41:139;47932:30:138;;:35;47928:1060;;48143:9;;;;;:49;;48228:40;48142:126;48130:138;;2555:1;48298:8;;;;;45610:11121;;47928:1060;5212:41:139;48343:25:138;;:30;48339:649;;2872:6;48409:5;:9;;;:33;48446:1;48409:38;48405:165;;41413:28;;;;;48508:30;48490:49;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;48405:165:138;48608:25;48620:4;48626:6;48608:11;:25::i;:::-;48816:9;;;:26;;2591:6;48816:26;;;48599:34;-1:-1:-1;45610:11121:138;;48339:649;41413:28;;;;;48930:30;41254:203;45881:10832;13201:425:139;49093:26:138;;:30;49089:7602;;49225:9;;;;2591:6;49225:25;:29;49221:156;;41413:28;;;;;49315:30;49297:49;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;49221:156:138;49424:38;49434:6;15296:54:139;49424:9:138;:38::i;:::-;49407:55;;;;;;;;49595:11;49640:19;49693:86;49812:57;49836:4;49842:5;:20;;;49864:4;49812:23;:57::i;:::-;49561:308;;;;;;49903:6;49899:1207;;;49945:15;50014:49;50028:5;:20;;;50050:4;50056:6;50014:13;:49;;:::i;:::-;49994:69;;-1:-1:-1;49994:69:138;-1:-1:-1;50097:42:138;:5;50118:11;49994:69;50097:20;:42::i;:::-;-1:-1:-1;50300:9:138;;;:30;;2636:6;50300:30;;;49899:1207;;;50507:45;50540:5;50547:4;50507:32;:45::i;:::-;50483:69;;-1:-1:-1;50483:69:138;-1:-1:-1;50586:490:138;;;;50636:61;:5;3474:1;50684:11;50636:20;:61::i;:::-;50895:17;:5;:15;:17::i;:::-;50586:490;;;50998:43;;;;;41413:28;;;;;50998:43;;;5446:25:212;5419:18;;50998:43:138;5300:177:212;50586:490:138;-1:-1:-1;;;51136:9:138;;;:26;;2591:6;51136:26;;;45610:11121;;49089:7602;51302:9;;;;2636:6;51302:29;:33;51298:5393;;4552:41:139;51371:23:138;;51398:1;51371:28;51367:155;;51442:49;;;;;41413:28;;;;;51442:49;;;5446:25:212;5419:18;;51442:49:138;5300:177:212;51367:155:138;52276:4;52265:16;;52259:23;;52118:22;52251:32;52285:1;52247:40;;;;52320:41;52663:2;52646:14;:19;52642:112;;;52708:15;;;;;;;;;;;;;;52642:112;-1:-1:-1;52966:9:138;;;:49;;52979:36;52966:49;;;52783:8;;;;;45610:11121;;51298:5393;4650:41:139;53052:24:138;;:28;53048:3643;;53112:19;53260:4;53253:5;53249:16;53243:23;53240:1;53235:32;53220:47;;53330:11;53345:1;53330:16;53326:146;;53389:52;;;;;41413:28;;;;;53389:52;;;5446:25:212;5419:18;;53389:52:138;5300:177:212;53326:146:138;54051:19;;53998:4;53987:16;;54051:19;53987:16;54103:33;54877:11;54873:1;54860:11;54856:19;54852:37;54846:44;54843:1;54838:53;54632:11;54628:1;54615:11;54611:19;54607:37;54601:44;54595:4;54591:55;54588:1;54584:63;54169:756;;54984:17;:5;:15;:17::i;:::-;-1:-1:-1;55031:8:138;;;;;45610:11121;;53048:3643;15866:76:139;55076:23:138;;:27;55072:1619;;55144:43;55162:1;55153:10;;55165:3;15866:76:139;55144:8:138;:43::i;55072:1619::-;12910:131:139;55425:25:138;;:29;55421:1270;;55495:31;:5;55513:4;55519:6;55495:17;:31::i;:::-;55486:40;;55556:17;:5;:15;:17::i;:::-;55720:9;;;:26;;2591:6;55720:26;;;45610:11121;;55421:1270;4933:41:139;55783:16:138;;:20;55779:912;;55835:27;:5;55849:4;55855:6;55835:13;:27::i;:::-;55892:8;;;;;45610:11121;;55779:912;6310:41:139;56003:16:138;;:20;55999:692;;56055:27;:5;56069:4;56075:6;56055:13;:27::i;:::-;56112:17;:5;:15;:17::i;:::-;3175:49;56198:9;;;:23;56159:8;;;;;45610:11121;;55999:692;5212:41:139;56427:25:138;;:30;56423:268;;41413:28;;;;;56514:30;41254:203;56423:268;41413:28;;;;;56633:30;41254:203;45610:11121;56762:3;56752:6;:13;56748:86;;56796:19;;;;;;;;;;;;;;56748:86;56855:9;;;;3023:6;56855:34;:39;56851:141;;56925:48;;;;;41413:28;;;;;56925:48;;;5446:25:212;5419:18;;56925:48:138;5300:177:212;56851:141:138;45312:11694;;;;45291:11715;57027:21;:5;:19;:21::i;:::-;57050:22;:5;:20;:22::i;:::-;57019:54;;;;;45048:12042;;;;;;:::o;1085:1363:157:-;1617:4;1609:6;1605:17;1676:1;1668:6;1664:14;1650:12;1646:33;1692:202;1716:3;1702:12;1699:21;1692:202;;;1872:19;;1851:41;;1773:4;1755:23;;;;1811;;;;1692:202;;;1696:2;1925:1;1918:9;1908:524;;2035:66;2031:1;2028;2024:9;2020:82;2372:5;2357:12;2351:19;2347:31;2314:5;2310:10;2295:12;2289:19;2285:36;2224:176;2190:12;2162:256;;1908:524;;1085:1363;;;:::o;603:563:101:-;873:16;;698:7;;;;761;;860:29;;856:131;;933:13;;;;948:16;;912:64;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;912:64:101;11129:319:212;856:131:101;1059:5;:19;;;1047:9;:31;1043:93;;;1094:19;;;:31;;;1043:93;-1:-1:-1;1154:1:101;;1157;;-1:-1:-1;603:563:101;-1:-1:-1;;;603:563:101:o;580:555:100:-;675:7;684;816:5;:21;;;804:7;789:48;785:172;;884:13;;;;899:21;;;;860:86;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;860:86:100;11129:319:212;785:172:100;-1:-1:-1;1123:1:100;;1126;;-1:-1:-1;580:555:100;-1:-1:-1;;580:555:100:o;186:359:103:-;-1:-1:-1;267:7:103;;536:1;;-1:-1:-1;186:359:103:o;277:307:104:-;545:4;518:31;;575:1;;-1:-1:-1;277:307:104:o;339:287:109:-;428:7;;545:4;518:31;;;568:10;:23;;590:1;568:23;;;581:6;568:23;559:32;617:1;;-1:-1:-1;339:287:109;-1:-1:-1;;;;339:287:109:o;698:417:110:-;787:7;;905:4;878:31;;;928:10;:23;;950:1;928:23;;;941:6;928:23;919:32;-1:-1:-1;1042:1:110;919:32;1033:10;:15;:37;;1060:6;1069:1;1060:10;1033:37;;728:287:111;817:7;;934:4;907:31;;;957:10;:23;;979:1;957:23;;;970:6;957:23;948:32;1006:1;;-1:-1:-1;728:287:111;-1:-1:-1;;;;728:287:111:o;328:129:112:-;-1:-1:-1;445:1:112;;448;;-1:-1:-1;328:129:112:o;356::116:-;-1:-1:-1;473:1:116;;476;;-1:-1:-1;356:129:116:o;287::117:-;-1:-1:-1;404:1:117;;;;-1:-1:-1;287:129:117:o;660:288:120:-;749:7;;867:4;840:31;;;899:1;890:10;;:23;;912:1;890:23;;359:239:134;-1:-1:-1;586:1:134;;440:7;;-1:-1:-1;359:239:134:o;339:355:135:-;666:1;642;616:27;;;611:33;339:355;;;;;:::o;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;2762:1882:141:-;2865:14;2881:21;2904:32;2994:14;3035:12;3030:789;3060:15;3053:22;;3030:789;;;3107:17;3155:9;3150:253;3174:5;:12;3170:1;:16;3150:253;;;3220:15;3237:14;3255:34;3269:4;3275:5;3281:1;3275:8;;;;;;;;:::i;3255:34::-;-1:-1:-1;3361:19:141;;;;;-1:-1:-1;;3188:3:141;;3150:253;;;;3424:10;3437:25;3452:9;3437:14;:25::i;:::-;3424:38;;3493:6;3488:2;:11;3484:176;;;3536:2;3527:11;;3581:4;3564:22;;3628:9;3612:25;;3484:176;3733:5;:12;3727:2;:18;3723:78;;3773:5;;;;3723:78;-1:-1:-1;;3077:6:141;;3030:789;;;-1:-1:-1;3863:12:141;;3968:4;3962:11;;3863:21;;;;3994:34;;;4091:1;4087:23;4081:4;4077:34;4062:50;;4049:64;;3962:11;-1:-1:-1;3837:23:141;;;4224:404;4248:5;:12;4244:1;:16;4224:404;;;4286:15;4303:14;4321:38;4335:8;4321:38;;4345:5;4351:1;4345:8;;;;;;;;:::i;4321:38::-;4285:74;;;;4418:13;4408:7;:23;4436:1;4407:30;4403:211;;4477:23;;;;4403:211;;;4562:5;4568:1;4562:8;;;;;;;;:::i;:::-;;;;;;;4547:9;4557:1;4547:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;4592:3;;;;;4403:211;-1:-1:-1;;4262:3:141;;4224:404;;;;2952:1686;;2762:1882;;;;;:::o;1664:727::-;1738:14;1754;1829:4;1826:1;1819:15;1861:4;1855;1847:19;1902:4;1899:1;1889:18;1879:28;;2373:1;2364:6;2361:1;2356:15;2352:23;2342:33;;1664:727;;;;;:::o;680:427:137:-;729:7;822:17;817:1;:22;813:63;;-1:-1:-1;862:3:137;;680:427;-1:-1:-1;680:427:137:o;813:63::-;-1:-1:-1;375:66:137;115;920:1;915:6;;;914:19;909:24;;;975:1;970:6;;;241:66;969:19;;;952:12;;951:38;1018:1;1013:6;;;1008:12;1007:25;499:66;1051:13;1069:3;1050:22;;680:427::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;3054:319::-;3149:14;3199:15;3217:36;3231:8;3241:11;3217:13;:36::i;:::-;3328:14;3325:1;3320:23;;3054:319;-1:-1:-1;;;;3054:319:92:o;3379:320::-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;1923:555:98:-;2056:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:28:98;-1:-1:-1;2107:364:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2107:364:98;;;;;;;;;;;;1923:555::o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;2690:358::-;2812:18;2870:15;2888:36;2902:8;2912:11;2888:13;:36::i;:::-;3003:14;3000:1;2995:23;;2690:358;-1:-1:-1;;;;2690:358:92:o;10360:1022:138:-;10403:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:17:138;10432:23;10458:866;;;;;;;;10562:1;10458:866;;;;10602:1;10458:866;;;;10642:1;10458:866;;;;10686:1;10458:866;;;;10730:1;10458:866;;;;10824:1;10458:866;;;;10869:1;10458:866;;;;2872:6;2689;3175:49;10458:866;;;;10954:1;10458:866;;;;10999:1;10458:866;;;;11042:1;10458:866;;;;11089:1;10458:866;;;;11134:37;2099:35:140;1320:4;2357:52;1881:31;2308:102;;1357:1083;11134:37:138;10458:866;;;;11215:37;2445:36:142;470:4;2627:54;2090:34;417:4;2266:50;1637;366:4;1881:82;1246:38;295:4;1436:58;868:38;1417:78;1862:102;2247:70;2608:74;;669:2029;11215:37:138;10458:866;;11312:1;10458:866;;;;;;;9906:4;9900:11;;9924:42;;;9992:26;;;9979:40;;10038:39;;10087:15;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;10038:39;11370:5;-1:-1:-1;;10360:1022:138:o;41463:710::-;41690:13;;41535:7;;;;41597:1;41806:92;41868:4;41864:9;41860:1;41853:4;41850:1;41845:13;41841:21;41837:37;41830:45;41823:4;41820:1;41817:11;41813:63;41806:92;;;41891:1;41884:9;41806:92;;;42016:14;;;;41932:4;41928:12;;;41942:1;41924:20;;41976:16;;;41965:28;;;;42049:87;;42101:22;;;;;;11953:19:212;;;11988:12;42101:22:138;;;;;;;;;;;;;;42085:40;;;;;;;;:::i;42049:87::-;-1:-1:-1;42153:6:138;;41463:710;-1:-1:-1;;;41463:710:138:o;338:950:143:-;423:11;436:13;503:27;518:5;525:4;503:14;:27::i;:::-;485:45;;-1:-1:-1;485:45:143;-1:-1:-1;485:45:143;544:728;;-1:-1:-1;665:16:143;;;;;759:4;753:11;;785:17;;;857:4;842:20;;;901:26;;;961:14;;948:28;;1112:15;;;;864;838:42;;;1203:4;1186:21;;;;;1171:37;:43;;;1152:62;;;338:950;1130:4;1112:22;;;1256:1;1240:17;;338:950::o;42272:346:138:-;42356:7;42470:109;42544:1;42537:4;42533:1;42523:6;42517:13;42514:1;42509:22;42505:30;42501:41;42498:48;42492:3;42484:6;42481:15;42477:70;42470:109;;;42572:1;42564:6;42560:14;42550:24;;42470:109;;;-1:-1:-1;42605:6:138;;42272:346;-1:-1:-1;;42272:346:138:o;42989:1999::-;43254:13;;43068:7;;43248:4;43244:24;16488:20:139;43291:39:138;;43287:130;;43353:53;;;;;41413:28;;;;;43353:53;;;5446:25:212;5419:18;;43353:53:138;5300:177:212;43287:130:138;43727:11;;43691:1;43679:14;;;;;43460:25;;43527:27;;43713:33;;43740:4;43713:33;43426:31;43838:799;43852:4;43838:799;;43879:156;43962:3;43954:6;43951:15;43924:23;43914:6;43908:13;43905:1;43900:22;43897:51;43890:59;43886:81;43879:156;;;44015:1;44007:6;44003:14;43993:24;;43879:156;;;44196:1;44188:6;44184:14;44174:24;;44522:3;44514:6;44511:15;44504:23;44480:21;44470:6;44464:13;44461:1;44456:22;44453:49;44450:78;44447:176;;;-1:-1:-1;44559:1:138;44591:14;;;;44447:176;43838:799;;;43842:2;44903:3;44894:6;:12;44890:69;;;44929:19;;;;;;;;;;;;;;44890:69;-1:-1:-1;44975:6:138;;42989:1999;-1:-1:-1;;;;;42989:1999:138:o;9774:2851:141:-;10370:1;10360:12;;;10410:13;;9898:4;;;;9913:73;;1388:4;10425;10406:24;;;10512:29;10500:42;;10576:22;;;;10500:42;9898:4;10682:1600;10698:3;10689:6;:12;10682:1600;;;11002:1;10990:14;;11041:13;11096:17;;;;11151:13;;11096:17;;10721;;;;11056:4;11037:24;10721:17;;11244:25;11037:24;11264:4;11244:13;:25::i;:::-;11208:61;;;;11291:11;11349:12;11305:41;11343:1;11333:7;:11;11320:9;:25;11305:14;:41::i;:::-;:56;1230:1;11590:22;11575:38;;11569:45;;-1:-1:-1;;1101:8:141;11401:25;;;;-1:-1:-1;11720:26:141;;11701:45;;;-1:-1:-1;11697:571:141;;-1:-1:-1;11697:571:141;-1:-1:-1;12134:4:141;;-1:-1:-1;11978:2:141;11973:17;;;;-1:-1:-1;12045:2:141;12040:17;12036:38;;;12076:6;12032:51;;-1:-1:-1;12126:35:141;;-1:-1:-1;;;;;12126:35:141;11697:571;12224:25;12239:9;12224:14;:25::i;:::-;12208:41;;;;10703:1579;;;10682:1600;;;-1:-1:-1;12544:1:141;;;;-1:-1:-1;12544:1:141;;-1:-1:-1;9774:2851:141;-1:-1:-1;;;;;;;9774:2851:141:o;23858:5085:138:-;24134:39;:5;:37;:39::i;:::-;24270:9;;;:39;;3023:6;24283:26;24270:39;;;;24369:35;;;;;24690:16;;24776:20;24745:57;-1:-1:-1;24768:29:138;;;24745:57;;;24897:21;;24745:57;;24889:30;24799:1;24885:38;24745:57;24861:63;-1:-1:-1;25084:12:138;;25129:26;;26044:4;26033:16;;26262:22;24952:20;26254:31;;;26134:177;;26105:396;;26604:22;;25129:26;;25279:6;25261:25;;;25531:1;25519:14;;25479:59;;;;;;26478:1;26596:31;;;26592:39;26105:396;26567:65;26731:1;26727;26710:15;26706:23;26698:35;26991:24;;27067:26;;27095:11;27063:44;27060:67;;;27032:96;;27871:12;;27440:4;27425:19;;;27590:33;;;27425:198;27802:4;27793:13;;27782:25;;;27425:382;27864:34;;;;28081:4;28071:14;;;28067:860;;28425:12;;28527:4;28521:11;;28553:25;;;3266:4;28644;28640:21;;;28618:44;;28599:64;;28697:21;;28684:35;;;28850:17;;28869:11;28846:35;28843:51;28824:71;;28067:860;23964:4973;;23858:5085;;;:::o;1356:1144:143:-;1530:16;;;;1581:20;;;;1442:11;1673:15;;;1739:4;1726:18;;;1442:11;;;;1716:29;;;;;1851:1;1844:4;1827:22;;1823:30;1949:26;;;1946:483;;;2027:6;2015:10;2011:23;1994:421;2051:3;2044:11;1994:421;;2224:10;2218:4;2214:21;2201:11;2198:38;2195:202;;2273:4;2263:14;;2338:6;2325:10;2319:4;2315:21;2311:34;2302:43;;2370:5;;2195:202;2093:10;;-1:-1:-1;2147:6:143;2131:23;;1994:421;;;1998:38;1946:483;2471:22;2448:20;;;;:45;;;;-1:-1:-1;1356:1144:143;;;;-1:-1:-1;1356:1144:143;-1:-1:-1;1356:1144:143:o;18146:631:138:-;18214:19;18322:4;18315:5;18311:16;18305:23;18302:1;18297:32;18282:47;;18352:11;18367:1;18352:16;18348:423;;18502:4;18491:16;;18557:24;;18384:25;18549:33;18584:1;18545:41;;;18491:16;18603:45;;18679:17;18700:4;18679:25;18675:86;;18731:15;;;;;;;;;;;;;;18348:423;18204:573;18146:631;:::o;18783:5069::-;18887:7;18948:70;19036:18;19072:16;19106;19139:64;19168:5;:20;;;19190:4;19196:6;19139:28;:64::i;:::-;19368:21;;;19350:40;;20777:18;;;;18930:273;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;-1:-1:-1;19392:11:138;19346:58;;19527:1;19217:19;19505:20;;;19501:28;;;;19217:19;;19527:1;20777:37;;:42;20773:948;;20857:22;;;;20883:4;20857:30;20905:802;20912:12;;20905:802;;21047:14;;21348:16;21338:26;;21322:43;;21318:142;;21402:4;21393:13;;21432:5;;;21318:142;-1:-1:-1;21619:14:138;21685:3;;;;;21635:6;21615:27;20905:802;;;20821:900;20773:948;22133:22;;;;22158:6;22133:31;22182:99;3638:1;22233:6;:46;;22264:15;22233:46;;;22260:1;22242:15;:19;22233:46;22182:5;;:99;:20;:99::i;:::-;22089:207;22572:6;22567:1239;;22730:4;22724:11;;22769:14;;;22756:28;;;23123:22;;;;23149:4;23123:30;:44;;23240:20;;22598:11;23404:34;23411:4;23417:10;23429:8;23404:34;;;:::i;:::-;23580:4;23571:14;;23564:33;-1:-1:-1;23682:22:138;;;;;23717:1;23707:6;23682:31;;;23681:37;23730:4;23723:11;;;;23680:55;;;;23655:80;;23753:18;;;:38;;;;;;22567:1239;-1:-1:-1;23827:8:138;;18783:5069;-1:-1:-1;;;;;;;;;;18783:5069:138:o;12464:5374::-;12731:4;12720:16;;12714:23;12607:19;12706:32;12777:15;;12773:127;;12823:58;;;;;41413:28;;;;;12823:58;;;5446:25:212;5419:18;;12823:58:138;5300:177:212;12773:127:138;12589:325;13116:39;:5;:37;:39::i;:::-;13391:9;;;;;13345:125;2689:6;13391:37;;;13345:125;13333:137;;;13508:17;;;;3023:6;13651:15;;;13528:4;13508:24;;;;13670:4;13651:23;;;;;13836:22;;;13835:31;13815:52;;-1:-1:-1;14375:20:138;;;14371:1378;;2689:6;14419:5;:9;;;:37;14460:1;14419:42;14415:682;;14492:59;;;;;41413:28;;;;;14492:59;;;5446:25:212;5419:18;;14492:59:138;5300:177:212;14415:682:138;14832:32;;;14924:4;14904:24;;;14886:15;;;:42;15035:18;;;;14832:32;;-1:-1:-1;15035:43:138;;14852:12;15035:29;:43::i;:::-;15014:18;;;:64;14371:1378;;;15430:1;15412:15;:19;15408:341;;;15470:15;15455:12;:30;15451:284;;;15516:55;;;;;41413:28;;;;;15516:55;;;5446:25:212;5419:18;;15516:55:138;5300:177:212;15451:284:138;15615:15;15600:12;:30;15596:139;;;15661:55;;;;;41413:28;;;;;15661:55;;;5446:25:212;5419:18;;15661:55:138;5300:177:212;15596:139:138;15849:38;;;:1;:38;15942:4;15916;:22;;15915:31;;;15960:1806;15997:3;15988:6;:12;15960:1806;;;16062:17;;;;16239:4;16224:37;;;;16218:44;16062:27;;;16093:6;16061:38;;16036:22;16210:53;16315:1;16298:1420;16323:8;16318:1;:13;16298:1420;;16540:4;16523:14;:21;16548:4;16523:29;16519:230;;16671:21;;16665:4;16661:32;;16519:230;16891:21;;16985:18;;;;16888:1;16883:30;;;;;16985:32;;16883:30;16985:22;:32::i;:::-;16964:18;;;:53;17555:81;17579:13;;;:37;;;;;17596:15;17615:1;17596:20;17579:37;:56;;17634:1;17579:56;;;17619:12;17579:56;17555:18;;;;;:23;:81::i;:::-;17506:18;;;:130;-1:-1:-1;17698:1:138;17680:19;;;;;16333:3;;16298:1420;;;-1:-1:-1;;17735:16:138;;;;;-1:-1:-1;16012:4:138;16002:14;15960:1806;;;-1:-1:-1;;;;17820:1:138;17800:21;17780:17;;;;:41;;;;-1:-1:-1;;;12464:5374:138:o;28949:6035::-;29042:20;;;;29328:4;29317:16;;29311:23;29107:4;29089:22;;;;29017;29303:32;29337:1;29299:40;;29363:14;;;29359:5619;;29400:12;;;;;;;;;;;;;;29359:5619;29887:14;29915:25;29943:5;:18;;;29915:46;;30086:5;30080:12;30159:6;30149;30143:13;30137:4;30133:24;30129:37;30183:172;30204:11;30197:19;30183:172;;30314:13;;30253:11;;-1:-1:-1;30308:4:138;30304:24;30330:6;30300:37;30183:172;;;-1:-1:-1;30790:4:138;30784:11;31027:4;31016:16;;31132:20;;30784:11;;-1:-1:-1;30643:4:138;30631:17;;;30598:6;30756:1;;30958:19;;;;31084:1;;31124:29;;;31049:2893;31231:3;31228:1;31225:10;31049:2893;;;31523:1;31511:10;31507:18;31499:6;31495:31;31485:41;;31685:1;31671:11;31663:6;31659:24;31655:32;31847:362;31873:22;31857:14;31854:42;31847:362;;;32039:18;;32059:6;32035:31;32178:4;32161:22;;;-1:-1:-1;32035:31:138;31948:43;;32121:1;31847:362;;;-1:-1:-1;32610:1:138;32590:22;;32647:17;;;;32709:13;;32689:34;;32647:17;32763:22;;;;;32947:31;;32542:11;33058:433;33084:1;33068:14;33065:21;33058:433;;;33289:25;33283:4;33279:36;33317:6;33275:49;33373:25;;33353:46;;33460:4;33443:22;;;;33138;;;;;33058:433;;;33594:21;;33591:311;;33682:25;33676:4;33672:36;33710:6;33668:49;33766:25;;33746:46;;33873:1;33853:22;;33836:40;;;;33591:311;-1:-1:-1;;;31270:1:138;31310:21;;;31374:20;;31310:21;;31263:9;;;;;31371:1;31366:29;;31049:2893;;;31053:171;;;;34031:6;34023;34016:22;34196:1;34188:6;34184:14;34158:40;;34422:12;34417:1;34413;34405:6;34401:14;34397:22;34391:4;34387:33;34384:51;34346:10;34342:15;34321:18;34315:25;34311:47;34283:174;34243:18;34215:260;34609:4;34605:9;34598:4;34585:11;34581:22;34577:38;34571:4;34564:52;;;;;34823:1;34813:6;34808:1;:11;;34807:17;;;;:::i;:::-;34789:36;;34768:16;;;34759:4;34741:13;34778:6;34750:4;34741:13;:::i;:::-;34740:23;;34739:46;:87;34700:20;;;:126;34898:9;;;:36;;34911:23;34898:36;;;9906:4;9900:11;;3266:4;9924:42;;;9992:26;;;9979:40;;10038:39;;;-1:-1:-1;10087:15:138;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;29873:5105;;29007:5977;;;28949:6035;:::o;34990:4165::-;35143:20;;;;35652:12;;35646:19;35061:21;;35143:20;35216:4;35198:22;;;;3266:4;35696:35;;35692:97;;35758:16;;;;;;;;;;;;;;35692:97;35958:4;35952:11;;-1:-1:-1;36118:4:138;36106:17;;36228:4;36213:20;;35803:14;36213:20;36106:17;36250:29;-1:-1:-1;36318:1:138;36564;36549:17;;36537:30;;;;;;;36306:14;36852:1;;;36910:916;36945:9;36937:6;36934:21;36910:916;;;37042:27;;;37071:6;37038:40;;37330:27;37605:31;37609:4;37605:31;;;;37602:56;;37596:4;37592:67;37687:32;;;37680:51;37769:39;;;37252:4;37248:17;;;37244:37;37225:57;;;;;36968:17;36910:916;;;-1:-1:-1;37869:21:138;;37866:41;37843:65;;;37961:38;;;37942:58;37965:23;37942:58;;;37925:76;;38155:41;;;38209:4;38151:52;38147:68;38141:4;38134:82;-1:-1:-1;38468:671:138;38492:12;38488:1;:16;38468:671;;;38747:1;38740:9;;38719:32;;38737:1;38719:32;38713:39;38754:6;38709:52;;;38799:34;;38871:20;;38933:4;38943;38939:20;;;38929:31;;38999:4;38995:20;;;;38991:33;;39059:65;38929:31;38799:34;38991:33;39059:27;:65::i;:::-;-1:-1:-1;;;38506:3:138;;38468:671;;;;35094:4055;;;;;;34990:4165;;;:::o;39161:1947::-;39297:22;;;;39456:4;39450:11;;39322:6;39297:31;;39506;;;39881:4;39860:26;;;39848:39;;40112:17;;;40099:31;;;39450:11;;39297:31;;39382:4;39356:30;;;;;39450:11;40529:563;40547:3;40539:6;40536:15;40529:563;;;41071:4;41058:18;;41052:25;41037:41;;40931:14;;40947:6;40927:27;;40629:17;;;;;40529:563;;;40533:2;;39422:1680;;39161:1947;;;:::o;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;11511:947:138:-;11675:4;11668:5;11664:16;11731;11725:23;11722:1;11717:32;11896:1;11878:16;11874:24;11856:16;11852:47;11846:54;11843:1;11838:63;11828:614;;11939:12;;11994:17;;12147:4;12136:16;;12130:23;;12022:1;12013:6;11990:30;;;;11986:38;;;;12075:4;12071:21;12055:38;;;12272:4;12299:1;12220:2;12215:21;;;12193:44;;12278:23;12268:34;12350:23;12334:40;12391:37;;11828:614;;11511:947;:::o;3348:5359:140:-;3709:13;;3476:64;;3541:7;;;;;;3826:1;3811:13;;;3807:21;12910:131:139;3903:33:140;;:38;3899:4435;;4137:1;4122:13;;;4118:21;4233:47;4234:15;;;4233:47;4229:4091;;4334:1;4325:10;;;14521:65:139;4618:169:140;4677:11;4673:1;4661:8;4655:15;4652:1;4647:24;4643:32;4639:50;4632:58;4618:169;;4752:1;4742:8;4738:16;4726:28;;4618:169;;;-1:-1:-1;5330:11:140;;5034:6;4987:53;;;5316:33;;5343:4;5316:33;5404:17;;;5400:106;;;5460:19;;;;;;;;;;;;;;5400:106;-1:-1:-1;5557:6:140;-1:-1:-1;5565:10:140;;-1:-1:-1;5577:8:140;-1:-1:-1;5577:8:140;;-1:-1:-1;5549:47:140;;-1:-1:-1;;;5549:47:140;4229:4091;5757:6;5894:1;5881:14;;5736:18;12910:131:139;13103:29;6241:173:140;6300:15;6296:1;6284:8;6278:15;6275:1;6270:24;6266:32;6262:54;6255:62;6241:173;;6379:1;6369:8;6365:16;6353:28;;6241:173;;;6741:5;6737:1;6725:8;6719:15;6716:1;6711:24;6707:32;6703:44;6696:52;6686:567;;6864:1;6850:16;;;6797:8;-1:-1:-1;7042:181:140;7101:15;7097:1;7085:8;7079:15;7076:1;7071:24;7067:32;7063:54;7056:62;7042:181;;7184:1;7174:8;7170:16;7158:28;;7042:181;;;-1:-1:-1;;7326:14:140;;;;;:73;;;7356:9;7368:1;7356:13;7345:8;:24;:53;;;;7385:9;7397:1;7385:13;7373:8;:25;7345:53;7322:202;;;7434:67;;;;;41413:28:138;;;;;7434:67:140;;;5446:25:212;5419:18;;7434:67:140;5300:177:212;7322:202:140;8031:11;;7727:6;1320:4;7677:46;;;7676:57;;8017:33;;8044:4;8017:33;8105:21;;;8101:110;;;8165:19;;;;;;;;;;;;;;8101:110;-1:-1:-1;8262:6:140;-1:-1:-1;8270:10:140;;-1:-1:-1;8282:8:140;-1:-1:-1;8282:8:140;;-1:-1:-1;8254:47:140;;-1:-1:-1;;;;8254:47:140;3899:4435;8451:11;;8437:33;;8464:4;8437:33;8501:20;;;8497:194;;8548:19;;;;;;;;;;;;;;8497:194;8613:63;;;;;41413:28:138;;;;;8613:63:140;;;5446:25:212;5419:18;;8613:63:140;5300:177:212;3348:5359:140;;;;;;;;:::o;8331:369:138:-;8407:12;8465:15;:7;8478:1;8465:12;:15::i;:::-;8455:25;-1:-1:-1;;8649:16:138;8618:47;;8549:4;8544:1;8512:33;;;8511:42;;;;8567:11;;8670;;8617:65;8331:369;;;;:::o;9220:345::-;9289:12;9386:4;9355:35;;9408:11;;;9404:73;;;9446:16;;;;;;;;;;;;;;9404:73;-1:-1:-1;;9515:32:138;;;9220:345::o;8706:508::-;8776:12;8873:4;8842:35;;;9028:12;;;8941:1;8909:33;;;8908:42;9010:4;8978:36;;;9058:13;;;9054:65;;;-1:-1:-1;9097:7:138;9054:65;9191:4;9184:3;:11;;9178:1;9168:6;:11;;9157:7;:23;:39;9132:65;;;;;8706:508;;;;:::o;9010:1887:140:-;9105:13;9171:11;;;9209:4;9200:13;;9196:1685;;;9240:58;;;;;41413:28:138;;;;;9240:58:140;;;5446:25:212;5419:18;;9240:58:140;5300:177:212;9196:1685:140;9323:6;9333:1;9323:11;9319:1562;;9361:60;;;;;41413:28:138;;;;;9361:60:140;;;5446:25:212;5419:18;;9361:60:140;5300:177:212;9319:1562:140;9455:1;9446:6;:10;9460:1;9446:15;9442:1439;;9488:59;;;;;41413:28:138;;;;;9488:59:140;;;5446:25:212;5419:18;;9488:59:140;5300:177:212;9442:1439:140;9603:7;;;9586:14;9669:1198;9686:5;9676:6;:15;9669:1198;;9830:13;;9715:19;9822:22;;;;9969:1;:16;;;12910:131:139;10075:27:140;;:32;10071:657;;-1:-1:-1;10144:41:140;;;10071:657;;;14199:93:139;10265:31:140;;:36;10261:467;;-1:-1:-1;10338:46:140;;;10261:467;;;14371:93:139;10464:31:140;;:36;10460:268;;-1:-1:-1;10537:46:140;;;10460:268;;;10645:60;;;;;41413:28:138;;;;;10645:60:140;;;5446:25:212;5419:18;;10645:60:140;5300:177:212;10460:268:140;10759:21;;10750:30;;;;;-1:-1:-1;;10840:8:140;;;;;10817:1;10802:16;9669:1198;;;9568:1313;;9130:1761;9010:1887;;;;;:::o;11526:4950::-;12331:11;;;12325:18;11625:13;;;;11891:18;;11625:13;;12383;;;12241:11;;;12340:1;12625:10;;:62;;;;-1:-1:-1;7285:1:139;12641:20:140;;13103:29:139;12640:41:140;12639:48;;12625:62;12621:1379;;;12726:1;12720:3;:7;12711:16;;12886:2;12872:11;12865:4;12862:1;12857:13;12853:31;12849:40;12835:11;12828:4;12825:1;12820:13;12816:31;12812:78;12800:90;;12621:1379;;;13036:4;13033:1;13028:13;13009:32;;13299:1;13290:6;:10;:62;;;;-1:-1:-1;7285:1:139;13306:20:140;;13103:29:139;13305:41:140;13304:48;;13290:62;13286:696;;;13395:1;13389:3;:7;13380:16;;13508:11;13501:4;13498:1;13493:13;13489:31;13477:43;;13286:696;;;13748:10;;13744:238;;13801:1;13795:3;:7;13786:16;;13839:1;13828:12;;13744:238;;;13902:57;;;;;41413:28:138;;;;;13902:57:140;;;5446:25:212;5419:18;;13902:57:140;5300:177:212;13744:238:140;12077:1937;;;14146:486;14163:5;14153:6;:15;;:32;;;;;14183:2;14172:8;:13;14153:32;14146:486;;;14497:13;;14494:1;14489:22;14485:40;;;14531:2;14527:17;;;14481:64;14470:76;;;;;14609:8;;;;;14581:10;;14146:486;;;14848:5;14838:6;:15;14834:1626;;15002:13;;14895;14994:22;14990:40;;;15230:1;15222:9;;15218:451;;;41413:28:138;;;;;15289:39:140;15266:63;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;15218:451:140;15410:2;:14;;;15401:24;;15455:14;;;:22;-1:-1:-1;15451:155:140;;;41413:28:138;;;;;15539:39:140;41254:203:138;15451:155:140;15631:15;;;;;-1:-1:-1;15690:8:140;;;;;15881:547;15898:5;15888:6;:15;15881:547;;16128:13;;15997:23;16120:22;16224:18;16197:46;;16193:179;;41413:28:138;;;;;16305:39:140;41254:203:138;16193:179:140;-1:-1:-1;16397:8:140;;;;;15881:547;;3762:535:142;4038:13;;3885:7;;;;4054:1;4030:22;;;4026:30;4079:27;;;4075:123;;4129:58;;;;;41413:28:138;;;;;4129:58:142;;;5446:25:212;5419:18;;4129:58:142;5300:177:212;4075:123:142;4266:6;4287:1;4258:32;;;;;3762:535;;;;;;;:::o;4349:1314::-;4642:11;;4758:13;;4487:7;;;;4774:1;4750:22;;;4746:30;;4628:33;;4655:4;4628:33;4807:27;;;4803:844;;4863:52;4890:1;4881:10;;4893:3;15866:76:139;4863:17:142;:52::i;:::-;4854:61;-1:-1:-1;4934:13:142;4983:67;5003:14;5019:4;5025:16;4854:61;4983:19;:67::i;:::-;4965:85;;-1:-1:-1;4965:85:142;-1:-1:-1;5078:48:142;4965:85;5104:3;15866:76:139;5078:17:142;:48::i;:::-;5275:13;;5069:57;;-1:-1:-1;5291:1:142;5272;5267:22;;;;5263:30;;-1:-1:-1;6613:41:139;5332:25:142;;5328:135;;41413:28:138;;;;;5404:39:142;5388:56;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;5328:135:142;5497:1;5488:10;;;-1:-1:-1;5513:5:142;-1:-1:-1;5480:40:142;;-1:-1:-1;;5480:40:142;4803:844;5608:6;5629:1;5600:32;;;;;;;;5699:1704;6020:11;;6136:13;;5849:7;;;;6152:1;6128:22;;;6124:30;;6006:33;;6033:4;6006:33;6185:27;;;6181:1206;;6241:52;6268:1;6259:10;;6271:3;15866:76:139;6241:17:142;:52::i;:::-;6232:61;-1:-1:-1;6312:9:142;6353:66;6373:14;6389:4;6395:15;6232:61;6353:19;:66::i;:::-;6339:80;;-1:-1:-1;6339:80:142;-1:-1:-1;6339:80:142;6498:48;6339:80;6524:3;15866:76:139;6498:17:142;:48::i;:::-;6489:57;-1:-1:-1;6565:9:142;6606:66;6626:14;6642:4;6648:15;6489:57;6606:19;:66::i;:::-;6592:80;;-1:-1:-1;6745:1:142;6740:6;;;6713:34;;;;;6592:80;-1:-1:-1;6776:48:142;6592:80;6802:3;15866:76:139;6776:17:142;:48::i;:::-;6974:13;;6767:57;;-1:-1:-1;6990:1:142;6971;6966:22;;;;6962:30;;-1:-1:-1;6613:41:139;7031:25:142;;7027:135;;41413:28:138;;;;;7103:39:142;41254:203:138;7027:135:142;-1:-1:-1;7196:1:142;7187:10;;;-1:-1:-1;7199:7:142;-1:-1:-1;7179:28:142;;-1:-1:-1;;;7179:28:142;6181:1206;41413:28:138;;;;;7332:39:142;7316:56;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;10078:2147:142;10367:11;;10483:13;;10212:7;;;;10499:1;10475:22;;;10471:30;;10353:33;;10380:4;10353:33;10532:27;;;10528:1681;;10588:52;10615:1;10606:10;;10618:3;15866:76:139;10588:17:142;:52::i;:::-;10817:13;;10579:61;;-1:-1:-1;10833:1:142;10659:9;10809:22;;;10805:30;;-1:-1:-1;10874:25:142;;;10870:269;;-1:-1:-1;10927:1:142;10870:269;;;10989:52;11009:14;11025:4;11031:1;11034:6;10989:19;:52::i;:::-;10975:66;;-1:-1:-1;10975:66:142;-1:-1:-1;11072:48:142;10975:66;11098:3;15866:76:139;11072:17:142;:48::i;:::-;11063:57;;10870:269;11315:13;;11331:1;11157:9;11307:22;;;11303:30;;-1:-1:-1;11372:25:142;;;11368:269;;-1:-1:-1;11425:1:142;11368:269;;;11487:52;11507:14;11523:4;11529:1;11532:6;11487:19;:52::i;:::-;11473:66;;-1:-1:-1;11473:66:142;-1:-1:-1;11570:48:142;11473:66;11596:3;15866:76:139;11570:17:142;:48::i;:::-;11561:57;;11368:269;11849:13;;11696:1;11655:15;11841:22;;;;11837:30;;;;-1:-1:-1;11691:6:142;;;11686:12;;6613:41:139;11906:25:142;;11902:135;;41413:28:138;;;;;11978:39:142;41254:203:138;11902:135:142;12071:1;12062:10;;;-1:-1:-1;12074:7:142;-1:-1:-1;12054:28:142;;-1:-1:-1;;;;12054:28:142;7466:2576;7757:11;;7873:13;;7602:7;;;;7889:1;7865:22;;;7861:30;;7743:33;;7770:4;7743:33;7922:27;;;7918:2108;;7978:52;8005:1;7996:10;;8008:3;15866:76:139;7978:17:142;:52::i;:::-;7969:61;-1:-1:-1;8091:9:142;8132:66;8152:14;8168:4;8174:15;7969:61;8132:19;:66::i;:::-;8118:80;;-1:-1:-1;8118:80:142;-1:-1:-1;8225:48:142;8118:80;8251:3;15866:76:139;8225:17:142;:48::i;:::-;8487:13;;8216:57;;-1:-1:-1;8503:1:142;8329:9;8479:22;;;8475:30;;-1:-1:-1;8544:25:142;;;8540:269;;-1:-1:-1;8597:1:142;8540:269;;;8659:52;8679:14;8695:4;8701:1;8704:6;8659:19;:52::i;:::-;8645:66;;-1:-1:-1;8645:66:142;-1:-1:-1;8742:48:142;8645:66;8768:3;15866:76:139;8742:17:142;:48::i;:::-;8733:57;;8540:269;9022:13;;9038:1;8864:9;9014:22;;;9010:30;;-1:-1:-1;9079:25:142;;;9075:269;;-1:-1:-1;9132:1:142;9075:269;;;9194:52;9214:14;9230:4;9236:1;9239:6;9194:19;:52::i;:::-;9180:66;;-1:-1:-1;9180:66:142;-1:-1:-1;9277:48:142;9180:66;9303:3;15866:76:139;9277:17:142;:48::i;:::-;9268:57;;9075:269;9567:13;;9583:1;9362:15;9559:22;;;;9555:30;;-1:-1:-1;9403:1:142;9398:6;;;9393:12;;9414:1;9409:6;;;9393:23;6613:41:139;9624:25:142;;9620:135;;41413:28:138;;;;;9696:39:142;41254:203:138;9620:135:142;9789:1;9780:10;;;-1:-1:-1;9792:7:142;-1:-1:-1;9772:28:142;;-1:-1:-1;;;;;9772:28:142;2744:967;3045:13;;2892:7;;;;3061:1;3037:22;;;3033:30;3086:25;;;3082:119;;41413:28:138;;;;;3150:39:142;41254:203:138;3082:119:142;3224:77;3315:18;3347:16;3377;3406:58;3435:14;3451:4;3457:6;3406:28;:58::i;:::-;3210:254;;;;;;;;3474:13;3490:41;3504:4;3510:10;3522:8;3490:13;:41;;:::i;:::-;3474:57;;3553:3;3545:5;:11;3541:105;;;3579:56;;;;;41413:28:138;;;;;3579:56:142;;;5446:25:212;5419:18;;3579:56:142;5300:177:212;3541:105:142;3664:8;;;;-1:-1:-1;2744:967:142;-1:-1:-1;;;;;;;;;2744:967:142:o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:212:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:212:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:253;804:2;798:9;846:4;834:17;;881:18;866:34;;902:22;;;863:62;860:88;;;928:18;;:::i;:::-;964:2;957:22;732:253;:::o;990:334::-;1061:2;1055:9;1117:2;1107:13;;1122:66;1103:86;1091:99;;1220:18;1205:34;;1241:22;;;1202:62;1199:88;;;1267:18;;:::i;:::-;1303:2;1296:22;990:334;;-1:-1:-1;990:334:212:o;1329:245::-;1377:4;1410:18;1402:6;1399:30;1396:56;;;1432:18;;:::i;:::-;-1:-1:-1;1489:2:212;1477:15;1494:66;1473:88;1563:4;1469:99;;1329:245::o;1579:462::-;1621:5;1674:3;1667:4;1659:6;1655:17;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1728:6;1715:20;1759:48;1775:31;1803:2;1775:31;:::i;:::-;1759:48;:::i;:::-;1832:2;1823:7;1816:19;1878:3;1871:4;1866:2;1858:6;1854:15;1850:26;1847:35;1844:55;;;1895:1;1892;1885:12;1844:55;1960:2;1953:4;1945:6;1941:17;1934:4;1925:7;1921:18;1908:55;2008:1;1983:16;;;2001:4;1979:27;1972:38;;;;1987:7;1579:462;-1:-1:-1;;;1579:462:212:o;2046:183::-;2106:4;2139:18;2131:6;2128:30;2125:56;;;2161:18;;:::i;:::-;-1:-1:-1;2206:1:212;2202:14;2218:4;2198:25;;2046:183::o;2234:662::-;2288:5;2341:3;2334:4;2326:6;2322:17;2318:27;2308:55;;2359:1;2356;2349:12;2308:55;2395:6;2382:20;2421:4;2445:60;2461:43;2501:2;2461:43;:::i;2445:60::-;2539:15;;;2625:1;2621:10;;;;2609:23;;2605:32;;;2570:12;;;;2649:15;;;2646:35;;;2677:1;2674;2667:12;2646:35;2713:2;2705:6;2701:15;2725:142;2741:6;2736:3;2733:15;2725:142;;;2807:17;;2795:30;;2845:12;;;;2758;;2725:142;;;-1:-1:-1;2885:5:212;2234:662;-1:-1:-1;;;;;;2234:662:212:o;2901:793::-;3037:6;3045;3053;3106:2;3094:9;3085:7;3081:23;3077:32;3074:52;;;3122:1;3119;3112:12;3074:52;3162:9;3149:23;3191:18;3232:2;3224:6;3221:14;3218:34;;;3248:1;3245;3238:12;3218:34;3271:49;3312:7;3303:6;3292:9;3288:22;3271:49;:::i;:::-;3261:59;;3373:2;3362:9;3358:18;3345:32;3329:48;;3402:2;3392:8;3389:16;3386:36;;;3418:1;3415;3408:12;3386:36;3441:63;3496:7;3485:8;3474:9;3470:24;3441:63;:::i;:::-;3431:73;;3557:2;3546:9;3542:18;3529:32;3513:48;;3586:2;3576:8;3573:16;3570:36;;;3602:1;3599;3592:12;3570:36;;3625:63;3680:7;3669:8;3658:9;3654:24;3625:63;:::i;:::-;3615:73;;;2901:793;;;;;:::o;4164:250::-;4249:1;4259:113;4273:6;4270:1;4267:13;4259:113;;;4349:11;;;4343:18;4330:11;;;4323:39;4295:2;4288:10;4259:113;;;-1:-1:-1;;4406:1:212;4388:16;;4381:27;4164:250::o;4419:329::-;4460:3;4498:5;4492:12;4525:6;4520:3;4513:19;4541:76;4610:6;4603:4;4598:3;4594:14;4587:4;4580:5;4576:16;4541:76;:::i;:::-;4662:2;4650:15;4667:66;4646:88;4637:98;;;;4737:4;4633:109;;4419:329;-1:-1:-1;;4419:329:212:o;4753:217::-;4900:2;4889:9;4882:21;4863:4;4920:44;4960:2;4949:9;4945:18;4937:6;4920:44;:::i;4975:320::-;5043:6;5096:2;5084:9;5075:7;5071:23;5067:32;5064:52;;;5112:1;5109;5102:12;5064:52;5152:9;5139:23;5185:18;5177:6;5174:30;5171:50;;;5217:1;5214;5207:12;5171:50;5240:49;5281:7;5272:6;5261:9;5257:22;5240:49;:::i;5997:435::-;6050:3;6088:5;6082:12;6115:6;6110:3;6103:19;6141:4;6170:2;6165:3;6161:12;6154:19;;6207:2;6200:5;6196:14;6228:1;6238:169;6252:6;6249:1;6246:13;6238:169;;;6313:13;;6301:26;;6347:12;;;;6382:15;;;;6274:1;6267:9;6238:169;;;-1:-1:-1;6423:3:212;;5997:435;-1:-1:-1;;;;;5997:435:212:o;6437:421::-;6662:2;6651:9;6644:21;6625:4;6688:44;6728:2;6717:9;6713:18;6705:6;6688:44;:::i;:::-;6780:9;6772:6;6768:22;6763:2;6752:9;6748:18;6741:50;6808:44;6845:6;6837;6808:44;:::i;:::-;6800:52;6437:421;-1:-1:-1;;;;;6437:421:212:o;6863:747::-;7206:42;7198:6;7194:55;7183:9;7176:74;7286:3;7281:2;7270:9;7266:18;7259:31;7157:4;7313:45;7353:3;7342:9;7338:19;7330:6;7313:45;:::i;:::-;7406:9;7398:6;7394:22;7389:2;7378:9;7374:18;7367:50;7440:44;7477:6;7469;7440:44;:::i;:::-;7426:58;;7532:9;7524:6;7520:22;7515:2;7504:9;7500:18;7493:50;7560:44;7597:6;7589;7560:44;:::i;:::-;7552:52;6863:747;-1:-1:-1;;;;;;;6863:747:212:o;8200:2482::-;8327:6;8358:2;8401;8389:9;8380:7;8376:23;8372:32;8369:52;;;8417:1;8414;8407:12;8369:52;8450:9;8444:16;8479:18;8520:2;8512:6;8509:14;8506:34;;;8536:1;8533;8526:12;8506:34;8574:6;8563:9;8559:22;8549:32;;8619:7;8612:4;8608:2;8604:13;8600:27;8590:55;;8641:1;8638;8631:12;8590:55;8670:2;8664:9;8693:60;8709:43;8749:2;8709:43;:::i;8693:60::-;8787:15;;;8869:1;8865:10;;;;8857:19;;8853:28;;;8818:12;;;;8893:19;;;8890:39;;;8925:1;8922;8915:12;8890:39;8957:2;8953;8949:11;8969:1683;8985:6;8980:3;8977:15;8969:1683;;;9064:3;9058:10;9100:2;9087:11;9084:19;9081:109;;;9144:1;9173:2;9169;9162:14;9081:109;9213:20;;9256:4;9284:16;;;9302:66;9280:89;9276:98;-1:-1:-1;9273:188:212;;;9415:1;9444:2;9440;9433:14;9273:188;9487:22;;:::i;:::-;9550:2;9546;9542:11;9536:18;9529:5;9522:33;9578:2;9622;9618;9614:11;9608:18;9674:4;9665:7;9661:18;9652:7;9649:31;9639:132;;9723:1;9753:3;9748;9741:16;9639:132;9791:14;;;9784:31;9850:11;;;9844:18;;9878:16;;;9875:109;;;9936:1;9966:3;9961;9954:16;9875:109;10016:8;10012:2;10008:17;9997:28;;10066:7;10061:2;10056:3;10052:12;10048:26;10038:127;;10117:1;10106:12;;10147:3;10142;10135:16;10038:127;10204:2;10199:3;10195:12;10189:19;10178:30;;10234:49;10250:32;10278:3;10250:32;:::i;10234:49::-;10310:3;10303:5;10296:18;10357:7;10352:2;10346:3;10341;10337:13;10333:22;10330:35;10327:128;;;10407:1;10437:3;10432;10425:16;10327:128;10468:69;10533:3;10528:2;10521:5;10517:14;10512:2;10507:3;10503:12;10468:69;:::i;:::-;10557:14;;;10550:29;10592:18;;-1:-1:-1;;10630:12:212;;;;9002;;8969:1683;;;-1:-1:-1;10671:5:212;8200:2482;-1:-1:-1;;;;;;;;8200:2482:212:o;10940:184::-;10992:77;10989:1;10982:88;11089:4;11086:1;11079:15;11113:4;11110:1;11103:15;12235:184;12287:77;12284:1;12277:88;12384:4;12381:1;12374:15;12408:4;12405:1;12398:15;12424:128;12491:9;;;12512:11;;;12509:37;;;12526:18;;:::i;12557:125::-;12622:9;;;12643:10;;;12640:36;;;12656:18;;:::i;12687:288::-;12862:2;12851:9;12844:21;12825:4;12882:44;12922:2;12911:9;12907:18;12899:6;12882:44;:::i;:::-;12874:52;;12962:6;12957:2;12946:9;12942:18;12935:34;12687:288;;;;;:::o;12980:184::-;13032:77;13029:1;13022:88;13129:4;13126:1;13119:15;13153:4;13150:1;13143:15", "linkReferences": {}, "immutableReferences": { - "54991": [ + "55483": [ { "start": 497, "length": 32 @@ -928,7 +907,7 @@ "length": 32 } ], - "54995": [ + "55487": [ { "start": 400, "length": 32 @@ -1389,6 +1368,11 @@ "type": "error", "name": "StackUnderflow" }, + { + "inputs": [], + "type": "error", + "name": "StackUnderflow" + }, { "inputs": [ { @@ -2858,304 +2842,818 @@ }, "ast": { "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol", - "id": 55343, + "id": 55835, "exportedSymbols": { - "ALL_STANDARD_OPS_LENGTH": [57789], - "AUTHORING_META_HASH": [54936], - "AuthoringMeta": [68390], - "AuthoringMetaHashMismatch": [55986], - "B_1": [54321], - "B_11": [54329], - "B_111": [54337], - "B_1111": [54345], - "B_11111": [54353], - "B_111111": [54361], - "B_1111111": [54369], - "B_11111111": [54377], - "B_111111111": [54385], - "B_1111111111": [54393], - "B_11111111111": [54401], - "B_111111111111": [54409], - "B_1111111111111": [54417], - "B_11111111111111": [54425], - "B_111111111111111": [54433], - "B_1111111111111111": [54441], - "BadDynamicLength": [57785], - "BadOpInputsLength": [57137], - "Casting": [53375], - "CastingErrors": [51588], - "Common": [52619], - "DEFAULT_STATE_NAMESPACE": [55824], - "DataContractMemoryContainer": [53466], - "E": [51901], - "ERC165": [45446], - "EXP2_MAX_INPUT": [51925], - "EXP_MAX_INPUT": [51912], - "EncodedDispatch": [55812], - "EnsureFailed": [59227], - "EntrypointMinOutputs": [57128], - "EntrypointMissing": [57112], - "EntrypointNonZeroInput": [57119], - "Errors": [52620], - "FIXED_POINT_DECIMALS": [70773], - "FIXED_POINT_ONE": [70777], - "FLAG_MAX_INT": [70793], - "FLAG_ROUND_UP": [70781], - "FLAG_SATURATE": [70787], - "FullyQualifiedNamespace": [55773], - "HALF_UNIT": [51936], - "Helpers": [53376], - "IDebugExpressionDeployerV2": [55901], - "IDebugInterpreterV2": [55935], - "IERC165": [45458], - "IERC1820Registry": [46519], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [55941], - "IERC1820_REGISTRY": [46529], - "IExpressionDeployerV2": [55976], - "IInterpreterStoreV1": [55805], - "IInterpreterV1": [55855], - "INTEGRITY_FUNCTION_POINTERS": [54915], - "INTERPRETER_BYTECODE_HASH": [54922], - "IParserV1": [56018], - "IUniswapV2Factory": [54568], - "IUniswapV2Pair": [54810], - "IntegrityCheckStateNP": [57182], - "InterpreterStateNP": [70213], - "LOG2_10": [51947], - "LOG2_E": [51958], - "LibAllStandardOpsNP": [58346], - "LibBytecode": [56300], - "LibBytes": [71664], - "LibConvert": [53753], - "LibDataContract": [53573], - "LibFixedPointDecimalScale": [71254], - "LibIntegrityCheckNP": [57500], - "LibInterpreterStateDataContractNP": [70181], - "LibInterpreterStateNP": [70258], - "LibMemCpy": [71696], - "LibMemory": [71707], - "LibMemoryKV": [70767], - "LibNamespace": [57518], - "LibOpAnyNP": [59029], - "LibOpBlockNumberNP": [58658], - "LibOpChainIdNP": [58737], - "LibOpConditionsNP": [59215], - "LibOpConstantNP": [57638], - "LibOpContextNP": [58489], - "LibOpDecimal18DivNP": [60324], - "LibOpDecimal18MulNP": [60545], - "LibOpDecimal18Scale18DynamicNP": [60656], - "LibOpDecimal18Scale18NP": [60773], - "LibOpDecimal18ScaleNNP": [60890], - "LibOpEnsureNP": [59384], - "LibOpEqualToNP": [59468], - "LibOpEveryNP": [59595], - "LibOpGetNP": [62432], - "LibOpGreaterThanNP": [59679], - "LibOpGreaterThanOrEqualToNP": [59763], - "LibOpHashNP": [58579], - "LibOpIfNP": [59849], - "LibOpIntAddNP": [61053], - "LibOpIntDivNP": [61216], - "LibOpIntExpNP": [61385], - "LibOpIntMaxNP": [61565], - "LibOpIntMinNP": [61745], - "LibOpIntModNP": [61908], - "LibOpIntMulNP": [62071], - "LibOpIntSubNP": [62234], - "LibOpIsZeroNP": [59931], - "LibOpLessThanNP": [60015], - "LibOpLessThanOrEqualToNP": [60099], - "LibOpMaxUint256NP": [58827], - "LibOpSetNP": [62555], - "LibOpStackNP": [57729], - "LibOpTimestampNP": [58906], - "LibOpUniswapV2AmountIn": [62762], - "LibOpUniswapV2AmountOut": [62969], - "LibParse": [65022], - "LibParseMeta": [69086], - "LibPointer": [71831], - "LibStackPointer": [71994], - "LibUint256Array": [72222], - "LibUniswapV2": [70629], - "LibWillOverflow": [71473], - "MASK_10BIT": [54481], - "MASK_11BIT": [54485], - "MASK_12BIT": [54489], - "MASK_13BIT": [54493], - "MASK_14BIT": [54497], - "MASK_15BIT": [54501], - "MASK_16BIT": [54505], - "MASK_1BIT": [54445], - "MASK_2BIT": [54449], - "MASK_3BIT": [54453], - "MASK_4BIT": [54457], - "MASK_5BIT": [54461], - "MASK_6BIT": [54465], - "MASK_7BIT": [54469], - "MASK_8BIT": [54473], - "MASK_9BIT": [54477], - "MAX_UD60x18": [51969], - "MAX_UINT128": [46622], - "MAX_UINT40": [46630], - "MAX_WHOLE_UD60x18": [51980], - "Math": [53377], - "MemoryKV": [70680], - "MemoryKVKey": [70682], - "MemoryKVVal": [70684], - "NO_STORE": [55782], - "NoConditionsMet": [59039], - "OPCODE_FUNCTION_POINTERS": [55383], - "OPERAND_PARSER_OFFSET_8_M1_M1": [69107], - "OPERAND_PARSER_OFFSET_DISALLOWED": [69095], - "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [69101], - "OPERAND_PARSER_OFFSET_M1_M1": [69104], - "OPERAND_PARSER_OFFSET_SINGLE_FULL": [69098], - "OVERFLOW_RESCALE_OOMS": [70797], - "OZMath": [46324], - "Operand": [55816], - "OutOfBoundsConstantRead": [57531], - "OutOfBoundsStackRead": [57652], - "OutOfBoundsTruncate": [72004], - "PARSE_META": [54939], - "PI": [51988], - "PRBMath_UD60x18_Ceil_Overflow": [52087], - "PRBMath_UD60x18_Convert_Overflow": [52092], - "PRBMath_UD60x18_Exp2_InputTooBig": [52104], - "PRBMath_UD60x18_Exp_InputTooBig": [52098], - "PRBMath_UD60x18_Gm_Overflow": [52113], - "PRBMath_UD60x18_IntoSD1x18_Overflow": [52119], - "PRBMath_UD60x18_IntoSD59x18_Overflow": [52125], - "PRBMath_UD60x18_IntoUD2x18_Overflow": [52131], - "PRBMath_UD60x18_IntoUint128_Overflow": [52137], - "PRBMath_UD60x18_IntoUint40_Overflow": [52143], - "PRBMath_UD60x18_Log_InputTooSmall": [52149], - "PRBMath_UD60x18_Sqrt_Overflow": [52155], - "Pointer": [71711], - "RainterpreterExpressionDeployerConstructionConfig": [54946], - "RainterpreterExpressionDeployerNP": [55342], - "RainterpreterNP": [55567], - "SD1x18": [48719], - "SD59x18": [51204], - "STORE_BYTECODE_HASH": [54929], - "SourceIndex": [55810], - "SourceOffsetOutOfBounds": [56031], - "StackAllocationMismatch": [57162], - "StackOutputsMismatch": [57169], - "StackUnderflow": [57146], - "StackUnderflowHighwater": [57155], - "StateNamespace": [55814], - "TruncateError": [71596], - "UD2x18": [51575], - "UD60x18": [53379], - "UNIT": [51999], - "UNIT_SQUARED": [52010], - "UnalignedStackPointer": [71842], - "UnexpectedInterpreterBytecodeHash": [54901], - "UnexpectedOpMetaHash": [54911], - "UnexpectedPointers": [54896], - "UnexpectedStoreBytecodeHash": [54906], - "ZERO": [52018], - "add": [52187], - "and": [52210], - "and2": [52236], - "avg": [52680], - "ceil": [52709], - "convert": [52046, 52077], - "div": [52738], - "eq": [52259], - "exp": [52783], - "exp2": [52829], - "floor": [52841], - "frac": [52853], - "gm": [52920], - "gt": [52282], - "gte": [52305], - "intoSD1x18": [51653], - "intoSD59x18": [51734], - "intoUD2x18": [51692], - "intoUint128": [51786], - "intoUint256": [51751], - "intoUint40": [51821], - "inv": [52942], - "isZero": [52323], - "ln": [52968], - "log10": [53019], - "log2": [53123], - "lshift": [52346], - "lt": [52369], - "lte": [52392], - "mod": [52418], - "mul": [53151], - "neq": [52441], - "not": [52461], - "or": [52487], - "pow": [53258], - "powu": [53330], - "rshift": [52510], - "sqrt": [53372], - "sub": [52536], - "uEXP2_MAX_INPUT": [51918], - "uEXP_MAX_INPUT": [51905], - "uHALF_UNIT": [51929], - "uLOG2_10": [51940], - "uLOG2_E": [51951], - "uMAX_SD1x18": [48636], - "uMAX_SD59x18": [49199], - "uMAX_UD2x18": [51528], - "uMAX_UD60x18": [51962], - "uMAX_WHOLE_UD60x18": [51973], - "uUNIT": [51992], - "uUNIT_SQUARED": [52003], - "ud": [51838], - "ud60x18": [51855], - "uncheckedAdd": [52563], - "uncheckedSub": [52590], - "unwrap": [51872], - "wrap": [51889], - "xor": [52616] + "ALL_STANDARD_OPS_LENGTH": [ + 58281 + ], + "AUTHORING_META_HASH": [ + 55428 + ], + "AuthoringMeta": [ + 68882 + ], + "AuthoringMetaHashMismatch": [ + 56478 + ], + "B_1": [ + 54813 + ], + "B_11": [ + 54821 + ], + "B_111": [ + 54829 + ], + "B_1111": [ + 54837 + ], + "B_11111": [ + 54845 + ], + "B_111111": [ + 54853 + ], + "B_1111111": [ + 54861 + ], + "B_11111111": [ + 54869 + ], + "B_111111111": [ + 54877 + ], + "B_1111111111": [ + 54885 + ], + "B_11111111111": [ + 54893 + ], + "B_111111111111": [ + 54901 + ], + "B_1111111111111": [ + 54909 + ], + "B_11111111111111": [ + 54917 + ], + "B_111111111111111": [ + 54925 + ], + "B_1111111111111111": [ + 54933 + ], + "BadDynamicLength": [ + 58277 + ], + "BadOpInputsLength": [ + 57629 + ], + "Casting": [ + 53867 + ], + "CastingErrors": [ + 52080 + ], + "Common": [ + 53111 + ], + "DEFAULT_STATE_NAMESPACE": [ + 56316 + ], + "DataContractMemoryContainer": [ + 53958 + ], + "E": [ + 52393 + ], + "ERC165": [ + 45938 + ], + "EXP2_MAX_INPUT": [ + 52417 + ], + "EXP_MAX_INPUT": [ + 52404 + ], + "EncodedDispatch": [ + 56304 + ], + "EnsureFailed": [ + 59719 + ], + "EntrypointMinOutputs": [ + 57620 + ], + "EntrypointMissing": [ + 57604 + ], + "EntrypointNonZeroInput": [ + 57611 + ], + "Errors": [ + 53112 + ], + "FIXED_POINT_DECIMALS": [ + 71265 + ], + "FIXED_POINT_ONE": [ + 71269 + ], + "FLAG_MAX_INT": [ + 71285 + ], + "FLAG_ROUND_UP": [ + 71273 + ], + "FLAG_SATURATE": [ + 71279 + ], + "FullyQualifiedNamespace": [ + 56265 + ], + "HALF_UNIT": [ + 52428 + ], + "Helpers": [ + 53868 + ], + "IDebugExpressionDeployerV2": [ + 56393 + ], + "IDebugInterpreterV2": [ + 56427 + ], + "IERC165": [ + 45950 + ], + "IERC1820Registry": [ + 47011 + ], + "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ + 56433 + ], + "IERC1820_REGISTRY": [ + 47021 + ], + "IExpressionDeployerV2": [ + 56468 + ], + "IInterpreterStoreV1": [ + 56297 + ], + "IInterpreterV1": [ + 56347 + ], + "INTEGRITY_FUNCTION_POINTERS": [ + 55407 + ], + "INTERPRETER_BYTECODE_HASH": [ + 55414 + ], + "IParserV1": [ + 56510 + ], + "IUniswapV2Factory": [ + 55060 + ], + "IUniswapV2Pair": [ + 55302 + ], + "IntegrityCheckStateNP": [ + 57674 + ], + "InterpreterStateNP": [ + 70705 + ], + "LOG2_10": [ + 52439 + ], + "LOG2_E": [ + 52450 + ], + "LibAllStandardOpsNP": [ + 58838 + ], + "LibBytecode": [ + 56792 + ], + "LibBytes": [ + 72156 + ], + "LibConvert": [ + 54245 + ], + "LibDataContract": [ + 54065 + ], + "LibFixedPointDecimalScale": [ + 71746 + ], + "LibIntegrityCheckNP": [ + 57992 + ], + "LibInterpreterStateDataContractNP": [ + 70673 + ], + "LibInterpreterStateNP": [ + 70750 + ], + "LibMemCpy": [ + 72188 + ], + "LibMemory": [ + 72199 + ], + "LibMemoryKV": [ + 71259 + ], + "LibNamespace": [ + 58010 + ], + "LibOpAnyNP": [ + 59521 + ], + "LibOpBlockNumberNP": [ + 59150 + ], + "LibOpChainIdNP": [ + 59229 + ], + "LibOpConditionsNP": [ + 59707 + ], + "LibOpConstantNP": [ + 58130 + ], + "LibOpContextNP": [ + 58981 + ], + "LibOpDecimal18DivNP": [ + 60816 + ], + "LibOpDecimal18MulNP": [ + 61037 + ], + "LibOpDecimal18Scale18DynamicNP": [ + 61148 + ], + "LibOpDecimal18Scale18NP": [ + 61265 + ], + "LibOpDecimal18ScaleNNP": [ + 61382 + ], + "LibOpEnsureNP": [ + 59876 + ], + "LibOpEqualToNP": [ + 59960 + ], + "LibOpEveryNP": [ + 60087 + ], + "LibOpGetNP": [ + 62924 + ], + "LibOpGreaterThanNP": [ + 60171 + ], + "LibOpGreaterThanOrEqualToNP": [ + 60255 + ], + "LibOpHashNP": [ + 59071 + ], + "LibOpIfNP": [ + 60341 + ], + "LibOpIntAddNP": [ + 61545 + ], + "LibOpIntDivNP": [ + 61708 + ], + "LibOpIntExpNP": [ + 61877 + ], + "LibOpIntMaxNP": [ + 62057 + ], + "LibOpIntMinNP": [ + 62237 + ], + "LibOpIntModNP": [ + 62400 + ], + "LibOpIntMulNP": [ + 62563 + ], + "LibOpIntSubNP": [ + 62726 + ], + "LibOpIsZeroNP": [ + 60423 + ], + "LibOpLessThanNP": [ + 60507 + ], + "LibOpLessThanOrEqualToNP": [ + 60591 + ], + "LibOpMaxUint256NP": [ + 59319 + ], + "LibOpSetNP": [ + 63047 + ], + "LibOpStackNP": [ + 58221 + ], + "LibOpTimestampNP": [ + 59398 + ], + "LibOpUniswapV2AmountIn": [ + 63254 + ], + "LibOpUniswapV2AmountOut": [ + 63461 + ], + "LibParse": [ + 65514 + ], + "LibParseMeta": [ + 69578 + ], + "LibPointer": [ + 72323 + ], + "LibStackPointer": [ + 72486 + ], + "LibUint256Array": [ + 72714 + ], + "LibUniswapV2": [ + 71121 + ], + "LibWillOverflow": [ + 71965 + ], + "MASK_10BIT": [ + 54973 + ], + "MASK_11BIT": [ + 54977 + ], + "MASK_12BIT": [ + 54981 + ], + "MASK_13BIT": [ + 54985 + ], + "MASK_14BIT": [ + 54989 + ], + "MASK_15BIT": [ + 54993 + ], + "MASK_16BIT": [ + 54997 + ], + "MASK_1BIT": [ + 54937 + ], + "MASK_2BIT": [ + 54941 + ], + "MASK_3BIT": [ + 54945 + ], + "MASK_4BIT": [ + 54949 + ], + "MASK_5BIT": [ + 54953 + ], + "MASK_6BIT": [ + 54957 + ], + "MASK_7BIT": [ + 54961 + ], + "MASK_8BIT": [ + 54965 + ], + "MASK_9BIT": [ + 54969 + ], + "MAX_UD60x18": [ + 52461 + ], + "MAX_UINT128": [ + 47114 + ], + "MAX_UINT40": [ + 47122 + ], + "MAX_WHOLE_UD60x18": [ + 52472 + ], + "Math": [ + 53869 + ], + "MemoryKV": [ + 71172 + ], + "MemoryKVKey": [ + 71174 + ], + "MemoryKVVal": [ + 71176 + ], + "NO_STORE": [ + 56274 + ], + "NoConditionsMet": [ + 59531 + ], + "OPCODE_FUNCTION_POINTERS": [ + 55875 + ], + "OPERAND_PARSER_OFFSET_8_M1_M1": [ + 69599 + ], + "OPERAND_PARSER_OFFSET_DISALLOWED": [ + 69587 + ], + "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ + 69593 + ], + "OPERAND_PARSER_OFFSET_M1_M1": [ + 69596 + ], + "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ + 69590 + ], + "OVERFLOW_RESCALE_OOMS": [ + 71289 + ], + "OZMath": [ + 46816 + ], + "Operand": [ + 56308 + ], + "OutOfBoundsConstantRead": [ + 58023 + ], + "OutOfBoundsStackRead": [ + 58144 + ], + "OutOfBoundsTruncate": [ + 72496 + ], + "PARSE_META": [ + 55431 + ], + "PI": [ + 52480 + ], + "PRBMath_UD60x18_Ceil_Overflow": [ + 52579 + ], + "PRBMath_UD60x18_Convert_Overflow": [ + 52584 + ], + "PRBMath_UD60x18_Exp2_InputTooBig": [ + 52596 + ], + "PRBMath_UD60x18_Exp_InputTooBig": [ + 52590 + ], + "PRBMath_UD60x18_Gm_Overflow": [ + 52605 + ], + "PRBMath_UD60x18_IntoSD1x18_Overflow": [ + 52611 + ], + "PRBMath_UD60x18_IntoSD59x18_Overflow": [ + 52617 + ], + "PRBMath_UD60x18_IntoUD2x18_Overflow": [ + 52623 + ], + "PRBMath_UD60x18_IntoUint128_Overflow": [ + 52629 + ], + "PRBMath_UD60x18_IntoUint40_Overflow": [ + 52635 + ], + "PRBMath_UD60x18_Log_InputTooSmall": [ + 52641 + ], + "PRBMath_UD60x18_Sqrt_Overflow": [ + 52647 + ], + "Pointer": [ + 72203 + ], + "RainterpreterExpressionDeployerConstructionConfig": [ + 55438 + ], + "RainterpreterExpressionDeployerNP": [ + 55834 + ], + "RainterpreterNP": [ + 56059 + ], + "SD1x18": [ + 49211 + ], + "SD59x18": [ + 51696 + ], + "STORE_BYTECODE_HASH": [ + 55421 + ], + "SourceIndex": [ + 56302 + ], + "SourceOffsetOutOfBounds": [ + 56523 + ], + "StackAllocationMismatch": [ + 57654 + ], + "StackOutputsMismatch": [ + 57661 + ], + "StackUnderflow": [ + 57638 + ], + "StackUnderflowHighwater": [ + 57647 + ], + "StateNamespace": [ + 56306 + ], + "TruncateError": [ + 72088 + ], + "UD2x18": [ + 52067 + ], + "UD60x18": [ + 53871 + ], + "UNIT": [ + 52491 + ], + "UNIT_SQUARED": [ + 52502 + ], + "UnalignedStackPointer": [ + 72334 + ], + "UnexpectedInterpreterBytecodeHash": [ + 55393 + ], + "UnexpectedOpMetaHash": [ + 55403 + ], + "UnexpectedPointers": [ + 55388 + ], + "UnexpectedStoreBytecodeHash": [ + 55398 + ], + "ZERO": [ + 52510 + ], + "add": [ + 52679 + ], + "and": [ + 52702 + ], + "and2": [ + 52728 + ], + "avg": [ + 53172 + ], + "ceil": [ + 53201 + ], + "convert": [ + 52538, + 52569 + ], + "div": [ + 53230 + ], + "eq": [ + 52751 + ], + "exp": [ + 53275 + ], + "exp2": [ + 53321 + ], + "floor": [ + 53333 + ], + "frac": [ + 53345 + ], + "gm": [ + 53412 + ], + "gt": [ + 52774 + ], + "gte": [ + 52797 + ], + "intoSD1x18": [ + 52145 + ], + "intoSD59x18": [ + 52226 + ], + "intoUD2x18": [ + 52184 + ], + "intoUint128": [ + 52278 + ], + "intoUint256": [ + 52243 + ], + "intoUint40": [ + 52313 + ], + "inv": [ + 53434 + ], + "isZero": [ + 52815 + ], + "ln": [ + 53460 + ], + "log10": [ + 53511 + ], + "log2": [ + 53615 + ], + "lshift": [ + 52838 + ], + "lt": [ + 52861 + ], + "lte": [ + 52884 + ], + "mod": [ + 52910 + ], + "mul": [ + 53643 + ], + "neq": [ + 52933 + ], + "not": [ + 52953 + ], + "or": [ + 52979 + ], + "pow": [ + 53750 + ], + "powu": [ + 53822 + ], + "rshift": [ + 53002 + ], + "sqrt": [ + 53864 + ], + "sub": [ + 53028 + ], + "uEXP2_MAX_INPUT": [ + 52410 + ], + "uEXP_MAX_INPUT": [ + 52397 + ], + "uHALF_UNIT": [ + 52421 + ], + "uLOG2_10": [ + 52432 + ], + "uLOG2_E": [ + 52443 + ], + "uMAX_SD1x18": [ + 49128 + ], + "uMAX_SD59x18": [ + 49691 + ], + "uMAX_UD2x18": [ + 52020 + ], + "uMAX_UD60x18": [ + 52454 + ], + "uMAX_WHOLE_UD60x18": [ + 52465 + ], + "uUNIT": [ + 52484 + ], + "uUNIT_SQUARED": [ + 52495 + ], + "ud": [ + 52330 + ], + "ud60x18": [ + 52347 + ], + "uncheckedAdd": [ + 53055 + ], + "uncheckedSub": [ + 53082 + ], + "unwrap": [ + 52364 + ], + "wrap": [ + 52381 + ], + "xor": [ + 53108 + ] }, "nodeType": "SourceUnit", "src": "32:11175:80", "nodes": [ { - "id": 54867, + "id": 55359, "nodeType": "PragmaDirective", "src": "32:24:80", "nodes": [], - "literals": ["solidity", "=", "0.8", ".19"] + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] }, { - "id": 54868, + "id": 55360, "nodeType": "ImportDirective", "src": "58:73:80", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", "file": "openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 45447, + "scope": 55835, + "sourceUnit": 45939, "symbolAliases": [], "unitAlias": "" }, { - "id": 54870, + "id": 55362, "nodeType": "ImportDirective", "src": "133:55:80", "nodes": [], "absolutePath": "lib/rain.solmem/src/lib/LibPointer.sol", "file": "rain.solmem/lib/LibPointer.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 71832, + "scope": 55835, + "sourceUnit": 72324, "symbolAliases": [ { "foreign": { - "id": 54869, + "id": 55361, "name": "Pointer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "141:7:80", "typeDescriptions": {} }, @@ -3165,23 +3663,23 @@ "unitAlias": "" }, { - "id": 54872, + "id": 55364, "nodeType": "ImportDirective", "src": "189:68:80", "nodes": [], "absolutePath": "lib/rain.solmem/src/lib/LibStackPointer.sol", "file": "rain.solmem/lib/LibStackPointer.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 71995, + "scope": 55835, + "sourceUnit": 72487, "symbolAliases": [ { "foreign": { - "id": 54871, + "id": 55363, "name": "LibStackPointer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71994, + "referencedDeclaration": 72486, "src": "197:15:80", "typeDescriptions": {} }, @@ -3191,23 +3689,23 @@ "unitAlias": "" }, { - "id": 54875, + "id": 55367, "nodeType": "ImportDirective", "src": "258:103:80", "nodes": [], "absolutePath": "lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol", "file": "rain.datacontract/lib/LibDataContract.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 53574, + "scope": 55835, + "sourceUnit": 54066, "symbolAliases": [ { "foreign": { - "id": 54873, + "id": 55365, "name": "LibDataContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 53573, + "referencedDeclaration": 54065, "src": "266:15:80", "typeDescriptions": {} }, @@ -3215,11 +3713,11 @@ }, { "foreign": { - "id": 54874, + "id": 55366, "name": "DataContractMemoryContainer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 53466, + "referencedDeclaration": 53958, "src": "283:27:80", "typeDescriptions": {} }, @@ -3229,88 +3727,88 @@ "unitAlias": "" }, { - "id": 54876, + "id": 55368, "nodeType": "ImportDirective", "src": "362:42:80", "nodes": [], "absolutePath": "lib/rain.erc1820/src/lib/LibIERC1820.sol", "file": "rain.erc1820/lib/LibIERC1820.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 46530, + "scope": 55835, + "sourceUnit": 47022, "symbolAliases": [], "unitAlias": "" }, { - "id": 54877, + "id": 55369, "nodeType": "ImportDirective", "src": "406:57:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol", "file": "../interface/unstable/IExpressionDeployerV2.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 55977, + "scope": 55835, + "sourceUnit": 56469, "symbolAliases": [], "unitAlias": "" }, { - "id": 54878, + "id": 55370, "nodeType": "ImportDirective", "src": "464:62:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol", "file": "../interface/unstable/IDebugExpressionDeployerV2.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 55902, + "scope": 55835, + "sourceUnit": 56394, "symbolAliases": [], "unitAlias": "" }, { - "id": 54879, + "id": 55371, "nodeType": "ImportDirective", "src": "527:55:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol", "file": "../interface/unstable/IDebugInterpreterV2.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 55936, + "scope": 55835, + "sourceUnit": 56428, "symbolAliases": [], "unitAlias": "" }, { - "id": 54880, + "id": 55372, "nodeType": "ImportDirective", "src": "583:45:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/interface/unstable/IParserV1.sol", "file": "../interface/unstable/IParserV1.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 56019, + "scope": 55835, + "sourceUnit": 56511, "symbolAliases": [], "unitAlias": "" }, { - "id": 54882, + "id": 55374, "nodeType": "ImportDirective", "src": "630:77:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol", "file": "../lib/integrity/LibIntegrityCheckNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 57501, + "scope": 55835, + "sourceUnit": 57993, "symbolAliases": [ { "foreign": { - "id": 54881, + "id": 55373, "name": "LibIntegrityCheckNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57500, + "referencedDeclaration": 57992, "src": "638:19:80", "typeDescriptions": {} }, @@ -3320,49 +3818,49 @@ "unitAlias": "" }, { - "id": 54883, + "id": 55375, "nodeType": "ImportDirective", "src": "708:60:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol", "file": "../lib/state/LibInterpreterStateDataContractNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 70182, + "scope": 55835, + "sourceUnit": 70674, "symbolAliases": [], "unitAlias": "" }, { - "id": 54884, + "id": 55376, "nodeType": "ImportDirective", "src": "769:43:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", "file": "../lib/op/LibAllStandardOpsNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 58347, + "scope": 55835, + "sourceUnit": 58839, "symbolAliases": [], "unitAlias": "" }, { - "id": 54888, + "id": 55380, "nodeType": "ImportDirective", "src": "813:80:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/parse/LibParse.sol", "file": "../lib/parse/LibParse.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 65023, + "scope": 55835, + "sourceUnit": 65515, "symbolAliases": [ { "foreign": { - "id": 54885, + "id": 55377, "name": "LibParse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65022, + "referencedDeclaration": 65514, "src": "821:8:80", "typeDescriptions": {} }, @@ -3370,11 +3868,11 @@ }, { "foreign": { - "id": 54886, + "id": 55378, "name": "LibParseMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69086, + "referencedDeclaration": 69578, "src": "831:12:80", "typeDescriptions": {} }, @@ -3382,11 +3880,11 @@ }, { "foreign": { - "id": 54887, + "id": 55379, "name": "AuthoringMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 68390, + "referencedDeclaration": 68882, "src": "845:13:80", "typeDescriptions": {} }, @@ -3396,23 +3894,23 @@ "unitAlias": "" }, { - "id": 54891, + "id": 55383, "nodeType": "ImportDirective", "src": "895:80:80", "nodes": [], "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterNP.sol", "file": "./RainterpreterNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55343, - "sourceUnit": 55568, + "scope": 55835, + "sourceUnit": 56060, "symbolAliases": [ { "foreign": { - "id": 54889, + "id": 55381, "name": "RainterpreterNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55567, + "referencedDeclaration": 56059, "src": "903:15:80", "typeDescriptions": {} }, @@ -3420,11 +3918,11 @@ }, { "foreign": { - "id": 54890, + "id": 55382, "name": "OPCODE_FUNCTION_POINTERS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55383, + "referencedDeclaration": 55875, "src": "920:24:80", "typeDescriptions": {} }, @@ -3434,12 +3932,12 @@ "unitAlias": "" }, { - "id": 54896, + "id": 55388, "nodeType": "ErrorDefinition", "src": "1278:47:80", "nodes": [], "documentation": { - "id": 54892, + "id": 55384, "nodeType": "StructuredDocumentation", "src": "977:301:80", "text": "@dev Thrown when the pointers known to the expression deployer DO NOT match\n the interpreter it is constructed for. This WILL cause undefined expression\n behaviour so MUST REVERT.\n @param actualPointers The actual function pointers found at the interpreter\n address upon construction." @@ -3448,17 +3946,17 @@ "name": "UnexpectedPointers", "nameLocation": "1284:18:80", "parameters": { - "id": 54895, + "id": 55387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54894, + "id": 55386, "mutability": "mutable", "name": "actualPointers", "nameLocation": "1309:14:80", "nodeType": "VariableDeclaration", - "scope": 54896, + "scope": 55388, "src": "1303:20:80", "stateVariable": false, "storageLocation": "default", @@ -3467,7 +3965,7 @@ "typeString": "bytes" }, "typeName": { - "id": 54893, + "id": 55385, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1303:5:80", @@ -3483,12 +3981,12 @@ } }, { - "id": 54901, + "id": 55393, "nodeType": "ErrorDefinition", "src": "1548:68:80", "nodes": [], "documentation": { - "id": 54897, + "id": 55389, "nodeType": "StructuredDocumentation", "src": "1327:221:80", "text": "Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown\n interpreter bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the interpreter\n address upon construction." @@ -3497,17 +3995,17 @@ "name": "UnexpectedInterpreterBytecodeHash", "nameLocation": "1554:33:80", "parameters": { - "id": 54900, + "id": 55392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54899, + "id": 55391, "mutability": "mutable", "name": "actualBytecodeHash", "nameLocation": "1596:18:80", "nodeType": "VariableDeclaration", - "scope": 54901, + "scope": 55393, "src": "1588:26:80", "stateVariable": false, "storageLocation": "default", @@ -3516,7 +4014,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 54898, + "id": 55390, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1588:7:80", @@ -3532,12 +4030,12 @@ } }, { - "id": 54906, + "id": 55398, "nodeType": "ErrorDefinition", "src": "1805:62:80", "nodes": [], "documentation": { - "id": 54902, + "id": 55394, "nodeType": "StructuredDocumentation", "src": "1618:187:80", "text": "Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the store\n address upon construction." @@ -3546,17 +4044,17 @@ "name": "UnexpectedStoreBytecodeHash", "nameLocation": "1811:27:80", "parameters": { - "id": 54905, + "id": 55397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54904, + "id": 55396, "mutability": "mutable", "name": "actualBytecodeHash", "nameLocation": "1847:18:80", "nodeType": "VariableDeclaration", - "scope": 54906, + "scope": 55398, "src": "1839:26:80", "stateVariable": false, "storageLocation": "default", @@ -3565,7 +4063,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 54903, + "id": 55395, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1839:7:80", @@ -3581,12 +4079,12 @@ } }, { - "id": 54911, + "id": 55403, "nodeType": "ErrorDefinition", "src": "1941:49:80", "nodes": [], "documentation": { - "id": 54907, + "id": 55399, "nodeType": "StructuredDocumentation", "src": "1869:72:80", "text": "Thrown when the `Rainterpreter` is constructed with unknown opMeta." @@ -3595,17 +4093,17 @@ "name": "UnexpectedOpMetaHash", "nameLocation": "1947:20:80", "parameters": { - "id": 54910, + "id": 55402, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54909, + "id": 55401, "mutability": "mutable", "name": "actualOpMeta", "nameLocation": "1976:12:80", "nodeType": "VariableDeclaration", - "scope": 54911, + "scope": 55403, "src": "1968:20:80", "stateVariable": false, "storageLocation": "default", @@ -3614,7 +4112,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 54908, + "id": 55400, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1968:7:80", @@ -3630,7 +4128,7 @@ } }, { - "id": 54915, + "id": 55407, "nodeType": "VariableDeclaration", "src": "2052:218:80", "nodes": [], @@ -3638,7 +4136,7 @@ "mutability": "constant", "name": "INTEGRITY_FUNCTION_POINTERS", "nameLocation": "2067:27:80", - "scope": 55343, + "scope": 55835, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3646,7 +4144,7 @@ "typeString": "bytes" }, "typeName": { - "id": 54913, + "id": 55405, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2052:5:80", @@ -3657,7 +4155,7 @@ }, "value": { "hexValue": "17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992", - "id": 54914, + "id": 55406, "isConstant": false, "isLValue": false, "isPure": true, @@ -3673,7 +4171,7 @@ "visibility": "internal" }, { - "id": 54922, + "id": 55414, "nodeType": "VariableDeclaration", "src": "2322:120:80", "nodes": [], @@ -3681,7 +4179,7 @@ "mutability": "constant", "name": "INTERPRETER_BYTECODE_HASH", "nameLocation": "2339:25:80", - "scope": 55343, + "scope": 55835, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3689,7 +4187,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 54917, + "id": 55409, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2322:7:80", @@ -3702,7 +4200,7 @@ "arguments": [ { "hexValue": "307861613866313862623230666332336534386233643531626362336564326130366231373462653537363932376434636330353534666435653738316637623139", - "id": 54920, + "id": 55412, "isConstant": false, "isLValue": false, "isPure": true, @@ -3724,7 +4222,7 @@ "typeString": "int_const 7714...(69 digits omitted)...6969" } ], - "id": 54919, + "id": 55411, "isConstant": false, "isLValue": false, "isPure": true, @@ -3736,14 +4234,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 54918, + "id": 55410, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2367:7:80", "typeDescriptions": {} } }, - "id": 54921, + "id": 55413, "isConstant": false, "isLValue": false, "isPure": true, @@ -3762,7 +4260,7 @@ "visibility": "internal" }, { - "id": 54929, + "id": 55421, "nodeType": "VariableDeclaration", "src": "2488:114:80", "nodes": [], @@ -3770,7 +4268,7 @@ "mutability": "constant", "name": "STORE_BYTECODE_HASH", "nameLocation": "2505:19:80", - "scope": 55343, + "scope": 55835, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3778,7 +4276,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 54924, + "id": 55416, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2488:7:80", @@ -3791,7 +4289,7 @@ "arguments": [ { "hexValue": "307864363133303136383235306433393537616533346638303236633262646264376532316433356262323032653835343061396233616263626332333264646236", - "id": 54927, + "id": 55419, "isConstant": false, "isLValue": false, "isPure": true, @@ -3813,7 +4311,7 @@ "typeString": "int_const 9682...(69 digits omitted)...7782" } ], - "id": 54926, + "id": 55418, "isConstant": false, "isLValue": false, "isPure": true, @@ -3825,14 +4323,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 54925, + "id": 55417, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2527:7:80", "typeDescriptions": {} } }, - "id": 54928, + "id": 55420, "isConstant": false, "isLValue": false, "isPure": true, @@ -3851,7 +4349,7 @@ "visibility": "internal" }, { - "id": 54936, + "id": 55428, "nodeType": "VariableDeclaration", "src": "2648:114:80", "nodes": [], @@ -3859,7 +4357,7 @@ "mutability": "constant", "name": "AUTHORING_META_HASH", "nameLocation": "2665:19:80", - "scope": 55343, + "scope": 55835, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3867,7 +4365,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 54931, + "id": 55423, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2648:7:80", @@ -3880,7 +4378,7 @@ "arguments": [ { "hexValue": "307861346435353864653363616230353665666661373930343939656133313366663364393632643935353133363436363134613961323930373366343461656231", - "id": 54934, + "id": 55426, "isConstant": false, "isLValue": false, "isPure": true, @@ -3902,7 +4400,7 @@ "typeString": "int_const 7455...(69 digits omitted)...5777" } ], - "id": 54933, + "id": 55425, "isConstant": false, "isLValue": false, "isPure": true, @@ -3914,14 +4412,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 54932, + "id": 55424, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2687:7:80", "typeDescriptions": {} } }, - "id": 54935, + "id": 55427, "isConstant": false, "isLValue": false, "isPure": true, @@ -3940,7 +4438,7 @@ "visibility": "internal" }, { - "id": 54939, + "id": 55431, "nodeType": "VariableDeclaration", "src": "2765:515:80", "nodes": [], @@ -3948,7 +4446,7 @@ "mutability": "constant", "name": "PARSE_META", "nameLocation": "2780:10:80", - "scope": 55343, + "scope": 55835, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3956,7 +4454,7 @@ "typeString": "bytes" }, "typeName": { - "id": 54937, + "id": 55429, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2765:5:80", @@ -3967,7 +4465,7 @@ }, "value": { "hexValue": "010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51", - "id": 54938, + "id": 55430, "isConstant": false, "isLValue": false, "isPure": true, @@ -3983,7 +4481,7 @@ "visibility": "internal" }, { - "id": 54946, + "id": 55438, "nodeType": "StructDefinition", "src": "3572:129:80", "nodes": [], @@ -3991,12 +4489,12 @@ "members": [ { "constant": false, - "id": 54941, + "id": 55433, "mutability": "mutable", "name": "interpreter", "nameLocation": "3643:11:80", "nodeType": "VariableDeclaration", - "scope": 54946, + "scope": 55438, "src": "3635:19:80", "stateVariable": false, "storageLocation": "default", @@ -4005,7 +4503,7 @@ "typeString": "address" }, "typeName": { - "id": 54940, + "id": 55432, "name": "address", "nodeType": "ElementaryTypeName", "src": "3635:7:80", @@ -4019,12 +4517,12 @@ }, { "constant": false, - "id": 54943, + "id": 55435, "mutability": "mutable", "name": "store", "nameLocation": "3668:5:80", "nodeType": "VariableDeclaration", - "scope": 54946, + "scope": 55438, "src": "3660:13:80", "stateVariable": false, "storageLocation": "default", @@ -4033,7 +4531,7 @@ "typeString": "address" }, "typeName": { - "id": 54942, + "id": 55434, "name": "address", "nodeType": "ElementaryTypeName", "src": "3660:7:80", @@ -4047,12 +4545,12 @@ }, { "constant": false, - "id": 54945, + "id": 55437, "mutability": "mutable", "name": "authoringMeta", "nameLocation": "3685:13:80", "nodeType": "VariableDeclaration", - "scope": 54946, + "scope": 55438, "src": "3679:19:80", "stateVariable": false, "storageLocation": "default", @@ -4061,7 +4559,7 @@ "typeString": "bytes" }, "typeName": { - "id": 54944, + "id": 55436, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3679:5:80", @@ -4075,97 +4573,107 @@ ], "name": "RainterpreterExpressionDeployerConstructionConfig", "nameLocation": "3579:49:80", - "scope": 55343, + "scope": 55835, "visibility": "public" }, { - "id": 55342, + "id": 55834, "nodeType": "ContractDefinition", "src": "3924:7282:80", "nodes": [ { - "id": 54959, + "id": 55451, "nodeType": "UsingForDirective", "src": "4045:29:80", "nodes": [], "global": false, "libraryName": { - "id": 54956, + "id": 55448, "name": "LibPointer", - "nameLocations": ["4051:10:80"], + "nameLocations": [ + "4051:10:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71831, + "referencedDeclaration": 72323, "src": "4051:10:80" }, "typeName": { - "id": 54958, + "id": 55450, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 54957, + "id": 55449, "name": "Pointer", - "nameLocations": ["4066:7:80"], + "nameLocations": [ + "4066:7:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "4066:7:80" }, - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "4066:7:80", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", "typeString": "Pointer" } } }, { - "id": 54963, + "id": 55455, "nodeType": "UsingForDirective", "src": "4079:34:80", "nodes": [], "global": false, "libraryName": { - "id": 54960, + "id": 55452, "name": "LibStackPointer", - "nameLocations": ["4085:15:80"], + "nameLocations": [ + "4085:15:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71994, + "referencedDeclaration": 72486, "src": "4085:15:80" }, "typeName": { - "id": 54962, + "id": 55454, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 54961, + "id": 55453, "name": "Pointer", - "nameLocations": ["4105:7:80"], + "nameLocations": [ + "4105:7:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "4105:7:80" }, - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "4105:7:80", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", "typeString": "Pointer" } } }, { - "id": 54967, + "id": 55459, "nodeType": "UsingForDirective", "src": "4118:36:80", "nodes": [], "global": false, "libraryName": { - "id": 54964, + "id": 55456, "name": "LibUint256Array", - "nameLocations": ["4124:15:80"], + "nameLocations": [ + "4124:15:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 72222, + "referencedDeclaration": 72714, "src": "4124:15:80" }, "typeName": { "baseType": { - "id": 54965, + "id": 55457, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4144:7:80", @@ -4174,7 +4682,7 @@ "typeString": "uint256" } }, - "id": 54966, + "id": 55458, "nodeType": "ArrayTypeName", "src": "4144:9:80", "typeDescriptions": { @@ -4184,13 +4692,13 @@ } }, { - "id": 54980, + "id": 55472, "nodeType": "EventDefinition", "src": "4537:95:80", "nodes": [], "anonymous": false, "documentation": { - "id": 54968, + "id": 55460, "nodeType": "StructuredDocumentation", "src": "4160:372:80", "text": "The config of the deployed expression including uncompiled sources. Will\n only be emitted after the config passes the integrity check.\n @param sender The caller of `deployExpression`.\n @param bytecode As per `IExpressionDeployerV2`.\n @param constants As per `IExpressionDeployerV2`.\n @param minOutputs As per `IExpressionDeployerV2`." @@ -4199,18 +4707,18 @@ "name": "NewExpression", "nameLocation": "4543:13:80", "parameters": { - "id": 54979, + "id": 55471, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54970, + "id": 55462, "indexed": false, "mutability": "mutable", "name": "sender", "nameLocation": "4565:6:80", "nodeType": "VariableDeclaration", - "scope": 54980, + "scope": 55472, "src": "4557:14:80", "stateVariable": false, "storageLocation": "default", @@ -4219,7 +4727,7 @@ "typeString": "address" }, "typeName": { - "id": 54969, + "id": 55461, "name": "address", "nodeType": "ElementaryTypeName", "src": "4557:7:80", @@ -4233,13 +4741,13 @@ }, { "constant": false, - "id": 54972, + "id": 55464, "indexed": false, "mutability": "mutable", "name": "bytecode", "nameLocation": "4579:8:80", "nodeType": "VariableDeclaration", - "scope": 54980, + "scope": 55472, "src": "4573:14:80", "stateVariable": false, "storageLocation": "default", @@ -4248,7 +4756,7 @@ "typeString": "bytes" }, "typeName": { - "id": 54971, + "id": 55463, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4573:5:80", @@ -4261,13 +4769,13 @@ }, { "constant": false, - "id": 54975, + "id": 55467, "indexed": false, "mutability": "mutable", "name": "constants", "nameLocation": "4599:9:80", "nodeType": "VariableDeclaration", - "scope": 54980, + "scope": 55472, "src": "4589:19:80", "stateVariable": false, "storageLocation": "default", @@ -4277,7 +4785,7 @@ }, "typeName": { "baseType": { - "id": 54973, + "id": 55465, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4589:7:80", @@ -4286,7 +4794,7 @@ "typeString": "uint256" } }, - "id": 54974, + "id": 55466, "nodeType": "ArrayTypeName", "src": "4589:9:80", "typeDescriptions": { @@ -4298,13 +4806,13 @@ }, { "constant": false, - "id": 54978, + "id": 55470, "indexed": false, "mutability": "mutable", "name": "minOutputs", "nameLocation": "4620:10:80", "nodeType": "VariableDeclaration", - "scope": 54980, + "scope": 55472, "src": "4610:20:80", "stateVariable": false, "storageLocation": "default", @@ -4314,7 +4822,7 @@ }, "typeName": { "baseType": { - "id": 54976, + "id": 55468, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4610:7:80", @@ -4323,7 +4831,7 @@ "typeString": "uint256" } }, - "id": 54977, + "id": 55469, "nodeType": "ArrayTypeName", "src": "4610:9:80", "typeDescriptions": { @@ -4338,13 +4846,13 @@ } }, { - "id": 54987, + "id": 55479, "nodeType": "EventDefinition", "src": "4933:60:80", "nodes": [], "anonymous": false, "documentation": { - "id": 54981, + "id": 55473, "nodeType": "StructuredDocumentation", "src": "4638:290:80", "text": "The address of the deployed expression. Will only be emitted once the\n expression can be loaded and deserialized into an evaluable interpreter\n state.\n @param sender The caller of `deployExpression`.\n @param expression The address of the deployed expression." @@ -4353,18 +4861,18 @@ "name": "ExpressionAddress", "nameLocation": "4939:17:80", "parameters": { - "id": 54986, + "id": 55478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54983, + "id": 55475, "indexed": false, "mutability": "mutable", "name": "sender", "nameLocation": "4965:6:80", "nodeType": "VariableDeclaration", - "scope": 54987, + "scope": 55479, "src": "4957:14:80", "stateVariable": false, "storageLocation": "default", @@ -4373,7 +4881,7 @@ "typeString": "address" }, "typeName": { - "id": 54982, + "id": 55474, "name": "address", "nodeType": "ElementaryTypeName", "src": "4957:7:80", @@ -4387,13 +4895,13 @@ }, { "constant": false, - "id": 54985, + "id": 55477, "indexed": false, "mutability": "mutable", "name": "expression", "nameLocation": "4981:10:80", "nodeType": "VariableDeclaration", - "scope": 54987, + "scope": 55479, "src": "4973:18:80", "stateVariable": false, "storageLocation": "default", @@ -4402,7 +4910,7 @@ "typeString": "address" }, "typeName": { - "id": 54984, + "id": 55476, "name": "address", "nodeType": "ElementaryTypeName", "src": "4973:7:80", @@ -4419,13 +4927,13 @@ } }, { - "id": 54991, + "id": 55483, "nodeType": "VariableDeclaration", "src": "5090:44:80", "nodes": [], "constant": false, "documentation": { - "id": 54988, + "id": 55480, "nodeType": "StructuredDocumentation", "src": "4999:86:80", "text": "The interpreter with known bytecode that this deployer is constructed\n for." @@ -4434,41 +4942,43 @@ "mutability": "immutable", "name": "iInterpreter", "nameLocation": "5122:12:80", - "scope": 55342, + "scope": 55834, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" }, "typeName": { - "id": 54990, + "id": 55482, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 54989, + "id": 55481, "name": "IInterpreterV1", - "nameLocations": ["5090:14:80"], + "nameLocations": [ + "5090:14:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "5090:14:80" }, - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "5090:14:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, "visibility": "public" }, { - "id": 54995, + "id": 55487, "nodeType": "VariableDeclaration", "src": "5217:43:80", "nodes": [], "constant": false, "documentation": { - "id": 54992, + "id": 55484, "nodeType": "StructuredDocumentation", "src": "5140:72:80", "text": "The store with known bytecode that this deployer is constructed for." @@ -4477,100 +4987,106 @@ "mutability": "immutable", "name": "iStore", "nameLocation": "5254:6:80", - "scope": 55342, + "scope": 55834, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 54994, + "id": 55486, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 54993, + "id": 55485, "name": "IInterpreterStoreV1", - "nameLocations": ["5217:19:80"], + "nameLocations": [ + "5217:19:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5217:19:80" }, - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5217:19:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, "visibility": "public" }, { - "id": 55124, + "id": 55616, "nodeType": "FunctionDefinition", "src": "5267:2271:80", "nodes": [], "body": { - "id": 55123, + "id": 55615, "nodeType": "Block", "src": "5344:2194:80", "nodes": [], "statements": [ { - "assignments": [55003], + "assignments": [ + 55495 + ], "declarations": [ { "constant": false, - "id": 55003, + "id": 55495, "mutability": "mutable", "name": "interpreter", "nameLocation": "5400:11:80", "nodeType": "VariableDeclaration", - "scope": 55123, + "scope": 55615, "src": "5385:26:80", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" }, "typeName": { - "id": 55002, + "id": 55494, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55001, + "id": 55493, "name": "IInterpreterV1", - "nameLocations": ["5385:14:80"], + "nameLocations": [ + "5385:14:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "5385:14:80" }, - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "5385:14:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, "visibility": "internal" } ], - "id": 55008, + "id": 55500, "initialValue": { "arguments": [ { "expression": { - "id": 55005, + "id": 55497, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54998, + "referencedDeclaration": 55490, "src": "5429:6:80", "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" } }, - "id": 55006, + "id": 55498, "isConstant": false, "isLValue": true, "isPure": false, @@ -4578,7 +5094,7 @@ "memberLocation": "5436:11:80", "memberName": "interpreter", "nodeType": "MemberAccess", - "referencedDeclaration": 54941, + "referencedDeclaration": 55433, "src": "5429:18:80", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4593,18 +5109,18 @@ "typeString": "address" } ], - "id": 55004, + "id": 55496, "name": "IInterpreterV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "5414:14:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$55855_$", + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$56347_$", "typeString": "type(contract IInterpreterV1)" } }, - "id": 55007, + "id": 55499, "isConstant": false, "isLValue": false, "isPure": false, @@ -4616,7 +5132,7 @@ "src": "5414:34:80", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, @@ -4624,61 +5140,65 @@ "src": "5385:63:80" }, { - "assignments": [55011], + "assignments": [ + 55503 + ], "declarations": [ { "constant": false, - "id": 55011, + "id": 55503, "mutability": "mutable", "name": "store", "nameLocation": "5478:5:80", "nodeType": "VariableDeclaration", - "scope": 55123, + "scope": 55615, "src": "5458:25:80", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 55010, + "id": 55502, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55009, + "id": 55501, "name": "IInterpreterStoreV1", - "nameLocations": ["5458:19:80"], + "nameLocations": [ + "5458:19:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5458:19:80" }, - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5458:19:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, "visibility": "internal" } ], - "id": 55016, + "id": 55508, "initialValue": { "arguments": [ { "expression": { - "id": 55013, + "id": 55505, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54998, + "referencedDeclaration": 55490, "src": "5506:6:80", "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" } }, - "id": 55014, + "id": 55506, "isConstant": false, "isLValue": true, "isPure": false, @@ -4686,7 +5206,7 @@ "memberLocation": "5513:5:80", "memberName": "store", "nodeType": "MemberAccess", - "referencedDeclaration": 54943, + "referencedDeclaration": 55435, "src": "5506:12:80", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4701,18 +5221,18 @@ "typeString": "address" } ], - "id": 55012, + "id": 55504, "name": "IInterpreterStoreV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5486:19:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$55805_$", + "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$56297_$", "typeString": "type(contract IInterpreterStoreV1)" } }, - "id": 55015, + "id": 55507, "isConstant": false, "isLValue": false, "isPure": false, @@ -4724,7 +5244,7 @@ "src": "5486:33:80", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, @@ -4733,101 +5253,103 @@ }, { "expression": { - "id": 55019, + "id": 55511, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 55017, + "id": 55509, "name": "iInterpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54991, + "referencedDeclaration": 55483, "src": "5529:12:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 55018, + "id": 55510, "name": "interpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55003, + "referencedDeclaration": 55495, "src": "5544:11:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, "src": "5529:26:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, - "id": 55020, + "id": 55512, "nodeType": "ExpressionStatement", "src": "5529:26:80" }, { "expression": { - "id": 55023, + "id": 55515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 55021, + "id": 55513, "name": "iStore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54995, + "referencedDeclaration": 55487, "src": "5565:6:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 55022, + "id": 55514, "name": "store", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55011, + "referencedDeclaration": 55503, "src": "5574:5:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, "src": "5565:14:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, - "id": 55024, + "id": 55516, "nodeType": "ExpressionStatement", "src": "5565:14:80" }, { - "assignments": [55026], + "assignments": [ + 55518 + ], "declarations": [ { "constant": false, - "id": 55026, + "id": 55518, "mutability": "mutable", "name": "functionPointers", "nameLocation": "5749:16:80", "nodeType": "VariableDeclaration", - "scope": 55123, + "scope": 55615, "src": "5736:29:80", "stateVariable": false, "storageLocation": "memory", @@ -4836,7 +5358,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55025, + "id": 55517, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5736:5:80", @@ -4848,24 +5370,24 @@ "visibility": "internal" } ], - "id": 55030, + "id": 55522, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 55027, + "id": 55519, "name": "interpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55003, + "referencedDeclaration": 55495, "src": "5768:11:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, - "id": 55028, + "id": 55520, "isConstant": false, "isLValue": false, "isPure": false, @@ -4873,14 +5395,14 @@ "memberLocation": "5780:16:80", "memberName": "functionPointers", "nodeType": "MemberAccess", - "referencedDeclaration": 55831, + "referencedDeclaration": 56323, "src": "5768:28:80", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () view external returns (bytes memory)" } }, - "id": 55029, + "id": 55521, "isConstant": false, "isLValue": false, "isPure": false, @@ -4905,7 +5427,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 55037, + "id": 55529, "isConstant": false, "isLValue": false, "isPure": false, @@ -4913,11 +5435,11 @@ "leftExpression": { "arguments": [ { - "id": 55032, + "id": 55524, "name": "functionPointers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55026, + "referencedDeclaration": 55518, "src": "5822:16:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4932,7 +5454,7 @@ "typeString": "bytes memory" } ], - "id": 55031, + "id": 55523, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4943,7 +5465,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 55033, + "id": 55525, "isConstant": false, "isLValue": false, "isPure": false, @@ -4964,11 +5486,11 @@ "rightExpression": { "arguments": [ { - "id": 55035, + "id": 55527, "name": "OPCODE_FUNCTION_POINTERS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55383, + "referencedDeclaration": 55875, "src": "5853:24:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4983,7 +5505,7 @@ "typeString": "bytes memory" } ], - "id": 55034, + "id": 55526, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4994,7 +5516,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 55036, + "id": 55528, "isConstant": false, "isLValue": false, "isPure": true, @@ -5016,11 +5538,11 @@ "typeString": "bool" } }, - "id": 55043, + "id": 55535, "nodeType": "IfStatement", "src": "5808:140:80", "trueBody": { - "id": 55042, + "id": 55534, "nodeType": "Block", "src": "5880:68:80", "statements": [ @@ -5028,11 +5550,11 @@ "errorCall": { "arguments": [ { - "id": 55039, + "id": 55531, "name": "functionPointers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55026, + "referencedDeclaration": 55518, "src": "5920:16:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5047,18 +5569,18 @@ "typeString": "bytes memory" } ], - "id": 55038, + "id": 55530, "name": "UnexpectedPointers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54896, + "referencedDeclaration": 55388, "src": "5901:18:80", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory) pure" } }, - "id": 55040, + "id": 55532, "isConstant": false, "isLValue": false, "isPure": false, @@ -5074,7 +5596,7 @@ "typeString": "tuple()" } }, - "id": 55041, + "id": 55533, "nodeType": "RevertStatement", "src": "5894:43:80" } @@ -5082,16 +5604,18 @@ } }, { - "assignments": [55045], + "assignments": [ + 55537 + ], "declarations": [ { "constant": false, - "id": 55045, + "id": 55537, "mutability": "mutable", "name": "interpreterHash", "nameLocation": "6028:15:80", "nodeType": "VariableDeclaration", - "scope": 55123, + "scope": 55615, "src": "6020:23:80", "stateVariable": false, "storageLocation": "default", @@ -5100,7 +5624,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 55044, + "id": 55536, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6020:7:80", @@ -5112,7 +5636,7 @@ "visibility": "internal" } ], - "id": 55046, + "id": 55538, "nodeType": "VariableDeclarationStatement", "src": "6020:23:80" }, @@ -5153,22 +5677,24 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 55003, + "declaration": 55495, "isOffset": false, "isSlot": false, "src": "6123:11:80", "valueSize": 1 }, { - "declaration": 55045, + "declaration": 55537, "isOffset": false, "isSlot": false, "src": "6092:15:80", "valueSize": 1 } ], - "flags": ["memory-safe"], - "id": 55047, + "flags": [ + "memory-safe" + ], + "id": 55539, "nodeType": "InlineAssembly", "src": "6053:92:80" }, @@ -5178,17 +5704,17 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 55050, + "id": 55542, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55048, + "id": 55540, "name": "interpreterHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55045, + "referencedDeclaration": 55537, "src": "6158:15:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5198,11 +5724,11 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 55049, + "id": 55541, "name": "INTERPRETER_BYTECODE_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54922, + "referencedDeclaration": 55414, "src": "6177:25:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5215,11 +5741,11 @@ "typeString": "bool" } }, - "id": 55056, + "id": 55548, "nodeType": "IfStatement", "src": "6154:247:80", "trueBody": { - "id": 55055, + "id": 55547, "nodeType": "Block", "src": "6204:197:80", "statements": [ @@ -5228,11 +5754,11 @@ "errorCall": { "arguments": [ { - "id": 55052, + "id": 55544, "name": "interpreterHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55045, + "referencedDeclaration": 55537, "src": "6374:15:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5247,18 +5773,18 @@ "typeString": "bytes32" } ], - "id": 55051, + "id": 55543, "name": "UnexpectedInterpreterBytecodeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54901, + "referencedDeclaration": 55393, "src": "6340:33:80", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", "typeString": "function (bytes32) pure" } }, - "id": 55053, + "id": 55545, "isConstant": false, "isLValue": false, "isPure": false, @@ -5274,7 +5800,7 @@ "typeString": "tuple()" } }, - "id": 55054, + "id": 55546, "nodeType": "RevertStatement", "src": "6333:57:80" } @@ -5282,16 +5808,18 @@ } }, { - "assignments": [55058], + "assignments": [ + 55550 + ], "declarations": [ { "constant": false, - "id": 55058, + "id": 55550, "mutability": "mutable", "name": "storeHash", "nameLocation": "6476:9:80", "nodeType": "VariableDeclaration", - "scope": 55123, + "scope": 55615, "src": "6468:17:80", "stateVariable": false, "storageLocation": "default", @@ -5300,7 +5828,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 55057, + "id": 55549, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6468:7:80", @@ -5312,7 +5840,7 @@ "visibility": "internal" } ], - "id": 55059, + "id": 55551, "nodeType": "VariableDeclarationStatement", "src": "6468:17:80" }, @@ -5353,22 +5881,24 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 55011, + "declaration": 55503, "isOffset": false, "isSlot": false, "src": "6559:5:80", "valueSize": 1 }, { - "declaration": 55058, + "declaration": 55550, "isOffset": false, "isSlot": false, "src": "6534:9:80", "valueSize": 1 } ], - "flags": ["memory-safe"], - "id": 55060, + "flags": [ + "memory-safe" + ], + "id": 55552, "nodeType": "InlineAssembly", "src": "6495:80:80" }, @@ -5378,17 +5908,17 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 55063, + "id": 55555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55061, + "id": 55553, "name": "storeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55058, + "referencedDeclaration": 55550, "src": "6588:9:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5398,11 +5928,11 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 55062, + "id": 55554, "name": "STORE_BYTECODE_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54929, + "referencedDeclaration": 55421, "src": "6601:19:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5415,11 +5945,11 @@ "typeString": "bool" } }, - "id": 55069, + "id": 55561, "nodeType": "IfStatement", "src": "6584:223:80", "trueBody": { - "id": 55068, + "id": 55560, "nodeType": "Block", "src": "6622:185:80", "statements": [ @@ -5428,11 +5958,11 @@ "errorCall": { "arguments": [ { - "id": 55065, + "id": 55557, "name": "storeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55058, + "referencedDeclaration": 55550, "src": "6786:9:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5447,18 +5977,18 @@ "typeString": "bytes32" } ], - "id": 55064, + "id": 55556, "name": "UnexpectedStoreBytecodeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54906, + "referencedDeclaration": 55398, "src": "6758:27:80", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", "typeString": "function (bytes32) pure" } }, - "id": 55066, + "id": 55558, "isConstant": false, "isLValue": false, "isPure": false, @@ -5474,7 +6004,7 @@ "typeString": "tuple()" } }, - "id": 55067, + "id": 55559, "nodeType": "RevertStatement", "src": "6751:45:80" } @@ -5482,16 +6012,18 @@ } }, { - "assignments": [55072], + "assignments": [ + 55564 + ], "declarations": [ { "constant": false, - "id": 55072, + "id": 55564, "mutability": "mutable", "name": "configAuthoringMetaHash", "nameLocation": "7050:23:80", "nodeType": "VariableDeclaration", - "scope": 55123, + "scope": 55615, "src": "7042:31:80", "stateVariable": false, "storageLocation": "default", @@ -5500,7 +6032,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 55071, + "id": 55563, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7042:7:80", @@ -5513,23 +6045,23 @@ } ], "documentation": "This IS a security check. This prevents someone making an exact\n bytecode copy of the interpreter and shipping different meta for\n the copy to lie about what each op does in the interpreter.", - "id": 55077, + "id": 55569, "initialValue": { "arguments": [ { "expression": { - "id": 55074, + "id": 55566, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54998, + "referencedDeclaration": 55490, "src": "7086:6:80", "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" } }, - "id": 55075, + "id": 55567, "isConstant": false, "isLValue": true, "isPure": false, @@ -5537,7 +6069,7 @@ "memberLocation": "7093:13:80", "memberName": "authoringMeta", "nodeType": "MemberAccess", - "referencedDeclaration": 54945, + "referencedDeclaration": 55437, "src": "7086:20:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5552,7 +6084,7 @@ "typeString": "bytes memory" } ], - "id": 55073, + "id": 55565, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5563,7 +6095,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 55076, + "id": 55568, "isConstant": false, "isLValue": false, "isPure": false, @@ -5588,17 +6120,17 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 55080, + "id": 55572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55078, + "id": 55570, "name": "configAuthoringMetaHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55072, + "referencedDeclaration": 55564, "src": "7121:23:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5608,11 +6140,11 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 55079, + "id": 55571, "name": "AUTHORING_META_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54936, + "referencedDeclaration": 55428, "src": "7148:19:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5625,11 +6157,11 @@ "typeString": "bool" } }, - "id": 55086, + "id": 55578, "nodeType": "IfStatement", "src": "7117:129:80", "trueBody": { - "id": 55085, + "id": 55577, "nodeType": "Block", "src": "7169:77:80", "statements": [ @@ -5637,11 +6169,11 @@ "errorCall": { "arguments": [ { - "id": 55082, + "id": 55574, "name": "configAuthoringMetaHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55072, + "referencedDeclaration": 55564, "src": "7211:23:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5656,18 +6188,18 @@ "typeString": "bytes32" } ], - "id": 55081, + "id": 55573, "name": "UnexpectedOpMetaHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54911, + "referencedDeclaration": 55403, "src": "7190:20:80", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", "typeString": "function (bytes32) pure" } }, - "id": 55083, + "id": 55575, "isConstant": false, "isLValue": false, "isPure": false, @@ -5683,7 +6215,7 @@ "typeString": "tuple()" } }, - "id": 55084, + "id": 55576, "nodeType": "RevertStatement", "src": "7183:52:80" } @@ -5695,7 +6227,7 @@ "arguments": [ { "expression": { - "id": 55088, + "id": 55580, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5706,7 +6238,7 @@ "typeString": "msg" } }, - "id": 55089, + "id": 55581, "isConstant": false, "isLValue": false, "isPure": false, @@ -5723,14 +6255,14 @@ { "arguments": [ { - "id": 55092, + "id": 55584, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7289:4:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", "typeString": "contract RainterpreterExpressionDeployerNP" } } @@ -5738,11 +6270,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", "typeString": "contract RainterpreterExpressionDeployerNP" } ], - "id": 55091, + "id": 55583, "isConstant": false, "isLValue": false, "isPure": true, @@ -5754,14 +6286,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 55090, + "id": 55582, "name": "address", "nodeType": "ElementaryTypeName", "src": "7281:7:80", "typeDescriptions": {} } }, - "id": 55093, + "id": 55585, "isConstant": false, "isLValue": false, "isPure": false, @@ -5780,14 +6312,14 @@ { "arguments": [ { - "id": 55096, + "id": 55588, "name": "interpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55003, + "referencedDeclaration": 55495, "src": "7304:11:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } } @@ -5795,11 +6327,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } ], - "id": 55095, + "id": 55587, "isConstant": false, "isLValue": false, "isPure": true, @@ -5811,14 +6343,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 55094, + "id": 55586, "name": "address", "nodeType": "ElementaryTypeName", "src": "7296:7:80", "typeDescriptions": {} } }, - "id": 55097, + "id": 55589, "isConstant": false, "isLValue": false, "isPure": false, @@ -5837,14 +6369,14 @@ { "arguments": [ { - "id": 55100, + "id": 55592, "name": "store", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55011, + "referencedDeclaration": 55503, "src": "7326:5:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } } @@ -5852,11 +6384,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } ], - "id": 55099, + "id": 55591, "isConstant": false, "isLValue": false, "isPure": true, @@ -5868,14 +6400,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 55098, + "id": 55590, "name": "address", "nodeType": "ElementaryTypeName", "src": "7318:7:80", "typeDescriptions": {} } }, - "id": 55101, + "id": 55593, "isConstant": false, "isLValue": false, "isPure": false, @@ -5893,18 +6425,18 @@ }, { "expression": { - "id": 55102, + "id": 55594, "name": "config", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54998, + "referencedDeclaration": 55490, "src": "7334:6:80", "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" } }, - "id": 55103, + "id": 55595, "isConstant": false, "isLValue": true, "isPure": false, @@ -5912,7 +6444,7 @@ "memberLocation": "7341:13:80", "memberName": "authoringMeta", "nodeType": "MemberAccess", - "referencedDeclaration": 54945, + "referencedDeclaration": 55437, "src": "7334:20:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5943,18 +6475,18 @@ "typeString": "bytes memory" } ], - "id": 55087, + "id": 55579, "name": "DISpair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55955, + "referencedDeclaration": 56447, "src": "7261:7:80", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,address,address,address,bytes memory)" } }, - "id": 55104, + "id": 55596, "isConstant": false, "isLValue": false, "isPure": false, @@ -5970,7 +6502,7 @@ "typeString": "tuple()" } }, - "id": 55105, + "id": 55597, "nodeType": "EmitStatement", "src": "7256:99:80" }, @@ -5980,14 +6512,14 @@ { "arguments": [ { - "id": 55111, + "id": 55603, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7429:4:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", "typeString": "contract RainterpreterExpressionDeployerNP" } } @@ -5995,11 +6527,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", "typeString": "contract RainterpreterExpressionDeployerNP" } ], - "id": 55110, + "id": 55602, "isConstant": false, "isLValue": false, "isPure": true, @@ -6011,14 +6543,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 55109, + "id": 55601, "name": "address", "nodeType": "ElementaryTypeName", "src": "7421:7:80", "typeDescriptions": {} } }, - "id": 55112, + "id": 55604, "isConstant": false, "isLValue": false, "isPure": false, @@ -6037,11 +6569,11 @@ { "arguments": [ { - "id": 55115, + "id": 55607, "name": "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55941, + "referencedDeclaration": 56433, "src": "7468:37:80", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6057,18 +6589,18 @@ } ], "expression": { - "id": 55113, + "id": 55605, "name": "IERC1820_REGISTRY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46529, + "referencedDeclaration": 47021, "src": "7436:17:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1820Registry_$46519", + "typeIdentifier": "t_contract$_IERC1820Registry_$47011", "typeString": "contract IERC1820Registry" } }, - "id": 55114, + "id": 55606, "isConstant": false, "isLValue": false, "isPure": false, @@ -6076,14 +6608,14 @@ "memberLocation": "7454:13:80", "memberName": "interfaceHash", "nodeType": "MemberAccess", - "referencedDeclaration": 46490, + "referencedDeclaration": 46982, "src": "7436:31:80", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (string memory) pure external returns (bytes32)" } }, - "id": 55116, + "id": 55608, "isConstant": false, "isLValue": false, "isPure": false, @@ -6102,14 +6634,14 @@ { "arguments": [ { - "id": 55119, + "id": 55611, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7516:4:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", "typeString": "contract RainterpreterExpressionDeployerNP" } } @@ -6117,11 +6649,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55342", + "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", "typeString": "contract RainterpreterExpressionDeployerNP" } ], - "id": 55118, + "id": 55610, "isConstant": false, "isLValue": false, "isPure": true, @@ -6133,14 +6665,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 55117, + "id": 55609, "name": "address", "nodeType": "ElementaryTypeName", "src": "7508:7:80", "typeDescriptions": {} } }, - "id": 55120, + "id": 55612, "isConstant": false, "isLValue": false, "isPure": false, @@ -6173,18 +6705,18 @@ } ], "expression": { - "id": 55106, + "id": 55598, "name": "IERC1820_REGISTRY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46529, + "referencedDeclaration": 47021, "src": "7366:17:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1820Registry_$46519", + "typeIdentifier": "t_contract$_IERC1820Registry_$47011", "typeString": "contract IERC1820Registry" } }, - "id": 55108, + "id": 55600, "isConstant": false, "isLValue": false, "isPure": false, @@ -6192,14 +6724,14 @@ "memberLocation": "7384:23:80", "memberName": "setInterfaceImplementer", "nodeType": "MemberAccess", - "referencedDeclaration": 46472, + "referencedDeclaration": 46964, "src": "7366:41:80", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (address,bytes32,address) external" } }, - "id": 55121, + "id": 55613, "isConstant": false, "isLValue": false, "isPure": false, @@ -6215,7 +6747,7 @@ "typeString": "tuple()" } }, - "id": 55122, + "id": 55614, "nodeType": "ExpressionStatement", "src": "7366:165:80" } @@ -6227,39 +6759,41 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 54999, + "id": 55491, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 54998, + "id": 55490, "mutability": "mutable", "name": "config", "nameLocation": "5336:6:80", "nodeType": "VariableDeclaration", - "scope": 55124, + "scope": 55616, "src": "5279:63:80", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_memory_ptr", + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" }, "typeName": { - "id": 54997, + "id": 55489, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 54996, + "id": 55488, "name": "RainterpreterExpressionDeployerConstructionConfig", - "nameLocations": ["5279:49:80"], + "nameLocations": [ + "5279:49:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 54946, + "referencedDeclaration": 55438, "src": "5279:49:80" }, - "referencedDeclaration": 54946, + "referencedDeclaration": 55438, "src": "5279:49:80", "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$54946_storage_ptr", + "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_storage_ptr", "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" } }, @@ -6269,23 +6803,23 @@ "src": "5278:65:80" }, "returnParameters": { - "id": 55000, + "id": 55492, "nodeType": "ParameterList", "parameters": [], "src": "5344:0:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 55147, + "id": 55639, "nodeType": "FunctionDefinition", "src": "7571:216:80", "nodes": [], "body": { - "id": 55146, + "id": 55638, "nodeType": "Block", "src": "7663:124:80", "nodes": [], @@ -6296,7 +6830,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 55144, + "id": 55636, "isConstant": false, "isLValue": false, "isPure": false, @@ -6306,17 +6840,17 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 55137, + "id": 55629, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55132, + "id": 55624, "name": "interfaceId_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55126, + "referencedDeclaration": 55618, "src": "7680:12:80", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -6329,14 +6863,14 @@ "expression": { "arguments": [ { - "id": 55134, + "id": 55626, "name": "IExpressionDeployerV2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55976, + "referencedDeclaration": 56468, "src": "7701:21:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$55976_$", + "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$56468_$", "typeString": "type(contract IExpressionDeployerV2)" } } @@ -6344,11 +6878,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$55976_$", + "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$56468_$", "typeString": "type(contract IExpressionDeployerV2)" } ], - "id": 55133, + "id": 55625, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6359,7 +6893,7 @@ "typeString": "function () pure" } }, - "id": 55135, + "id": 55627, "isConstant": false, "isLValue": false, "isPure": true, @@ -6371,11 +6905,11 @@ "src": "7696:27:80", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IExpressionDeployerV2_$55976", + "typeIdentifier": "t_magic_meta_type_t_contract$_IExpressionDeployerV2_$56468", "typeString": "type(contract IExpressionDeployerV2)" } }, - "id": 55136, + "id": 55628, "isConstant": false, "isLValue": false, "isPure": true, @@ -6402,17 +6936,17 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 55143, + "id": 55635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55138, + "id": 55630, "name": "interfaceId_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55126, + "referencedDeclaration": 55618, "src": "7739:12:80", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -6425,14 +6959,14 @@ "expression": { "arguments": [ { - "id": 55140, + "id": 55632, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45458, + "referencedDeclaration": 45950, "src": "7760:7:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$45458_$", + "typeIdentifier": "t_type$_t_contract$_IERC165_$45950_$", "typeString": "type(contract IERC165)" } } @@ -6440,11 +6974,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IERC165_$45458_$", + "typeIdentifier": "t_type$_t_contract$_IERC165_$45950_$", "typeString": "type(contract IERC165)" } ], - "id": 55139, + "id": 55631, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6455,7 +6989,7 @@ "typeString": "function () pure" } }, - "id": 55141, + "id": 55633, "isConstant": false, "isLValue": false, "isPure": true, @@ -6467,11 +7001,11 @@ "src": "7755:13:80", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$45458", + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$45950", "typeString": "type(contract IERC165)" } }, - "id": 55142, + "id": 55634, "isConstant": false, "isLValue": false, "isPure": true, @@ -6497,14 +7031,16 @@ "typeString": "bool" } }, - "functionReturnParameters": 55131, - "id": 55145, + "functionReturnParameters": 55623, + "id": 55637, "nodeType": "Return", "src": "7673:107:80" } ] }, - "baseFunctions": [45445], + "baseFunctions": [ + 45937 + ], "functionSelector": "01ffc9a7", "implemented": true, "kind": "function", @@ -6512,23 +7048,23 @@ "name": "supportsInterface", "nameLocation": "7580:17:80", "overrides": { - "id": 55128, + "id": 55620, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7639:8:80" }, "parameters": { - "id": 55127, + "id": 55619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55126, + "id": 55618, "mutability": "mutable", "name": "interfaceId_", "nameLocation": "7605:12:80", "nodeType": "VariableDeclaration", - "scope": 55147, + "scope": 55639, "src": "7598:19:80", "stateVariable": false, "storageLocation": "default", @@ -6537,7 +7073,7 @@ "typeString": "bytes4" }, "typeName": { - "id": 55125, + "id": 55617, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "7598:6:80", @@ -6552,17 +7088,17 @@ "src": "7597:21:80" }, "returnParameters": { - "id": 55131, + "id": 55623, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55130, + "id": 55622, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55147, + "scope": 55639, "src": "7657:4:80", "stateVariable": false, "storageLocation": "default", @@ -6571,7 +7107,7 @@ "typeString": "bool" }, "typeName": { - "id": 55129, + "id": 55621, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7657:4:80", @@ -6585,45 +7121,47 @@ ], "src": "7656:6:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 55157, + "id": 55649, "nodeType": "FunctionDefinition", "src": "7823:121:80", "nodes": [], "body": { - "id": 55156, + "id": 55648, "nodeType": "Block", "src": "7901:43:80", "nodes": [], "statements": [ { "expression": { - "id": 55154, + "id": 55646, "name": "AUTHORING_META_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54936, + "referencedDeclaration": 55428, "src": "7918:19:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 55153, - "id": 55155, + "functionReturnParameters": 55645, + "id": 55647, "nodeType": "Return", "src": "7911:26:80" } ] }, - "baseFunctions": [55992], + "baseFunctions": [ + 56484 + ], "documentation": { - "id": 55148, + "id": 55640, "nodeType": "StructuredDocumentation", "src": "7793:25:80", "text": "@inheritdoc IParserV1" @@ -6635,29 +7173,29 @@ "name": "authoringMetaHash", "nameLocation": "7832:17:80", "overrides": { - "id": 55150, + "id": 55642, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7874:8:80" }, "parameters": { - "id": 55149, + "id": 55641, "nodeType": "ParameterList", "parameters": [], "src": "7849:2:80" }, "returnParameters": { - "id": 55153, + "id": 55645, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55152, + "id": 55644, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55157, + "scope": 55649, "src": "7892:7:80", "stateVariable": false, "storageLocation": "default", @@ -6666,7 +7204,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 55151, + "id": 55643, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7892:7:80", @@ -6680,33 +7218,35 @@ ], "src": "7891:9:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "pure", "virtual": true, "visibility": "external" }, { - "id": 55202, + "id": 55694, "nodeType": "FunctionDefinition", "src": "7980:481:80", "nodes": [], "body": { - "id": 55201, + "id": 55693, "nodeType": "Block", "src": "8086:375:80", "nodes": [], "statements": [ { - "assignments": [55167], + "assignments": [ + 55659 + ], "declarations": [ { "constant": false, - "id": 55167, + "id": 55659, "mutability": "mutable", "name": "inputAuthoringMetaHash", "nameLocation": "8104:22:80", "nodeType": "VariableDeclaration", - "scope": 55201, + "scope": 55693, "src": "8096:30:80", "stateVariable": false, "storageLocation": "default", @@ -6715,7 +7255,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 55166, + "id": 55658, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8096:7:80", @@ -6727,15 +7267,15 @@ "visibility": "internal" } ], - "id": 55171, + "id": 55663, "initialValue": { "arguments": [ { - "id": 55169, + "id": 55661, "name": "authoringMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55160, + "referencedDeclaration": 55652, "src": "8139:13:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6750,7 +7290,7 @@ "typeString": "bytes memory" } ], - "id": 55168, + "id": 55660, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6761,7 +7301,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 55170, + "id": 55662, "isConstant": false, "isLValue": false, "isPure": false, @@ -6786,17 +7326,17 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 55174, + "id": 55666, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55172, + "id": 55664, "name": "inputAuthoringMetaHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55167, + "referencedDeclaration": 55659, "src": "8167:22:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6806,11 +7346,11 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 55173, + "id": 55665, "name": "AUTHORING_META_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54936, + "referencedDeclaration": 55428, "src": "8193:19:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6823,11 +7363,11 @@ "typeString": "bool" } }, - "id": 55181, + "id": 55673, "nodeType": "IfStatement", "src": "8163:153:80", "trueBody": { - "id": 55180, + "id": 55672, "nodeType": "Block", "src": "8214:102:80", "statements": [ @@ -6835,11 +7375,11 @@ "errorCall": { "arguments": [ { - "id": 55176, + "id": 55668, "name": "AUTHORING_META_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54936, + "referencedDeclaration": 55428, "src": "8261:19:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6847,11 +7387,11 @@ } }, { - "id": 55177, + "id": 55669, "name": "inputAuthoringMetaHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55167, + "referencedDeclaration": 55659, "src": "8282:22:80", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6870,18 +7410,18 @@ "typeString": "bytes32" } ], - "id": 55175, + "id": 55667, "name": "AuthoringMetaHashMismatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55986, + "referencedDeclaration": 56478, "src": "8235:25:80", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32) pure" } }, - "id": 55178, + "id": 55670, "isConstant": false, "isLValue": false, "isPure": false, @@ -6897,7 +7437,7 @@ "typeString": "tuple()" } }, - "id": 55179, + "id": 55671, "nodeType": "RevertStatement", "src": "8228:77:80" } @@ -6905,62 +7445,66 @@ } }, { - "assignments": [55186], + "assignments": [ + 55678 + ], "declarations": [ { "constant": false, - "id": 55186, + "id": 55678, "mutability": "mutable", "name": "words", "nameLocation": "8348:5:80", "nodeType": "VariableDeclaration", - "scope": 55201, + "scope": 55693, "src": "8325:28:80", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", "typeString": "struct AuthoringMeta[]" }, "typeName": { "baseType": { - "id": 55184, + "id": 55676, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55183, + "id": 55675, "name": "AuthoringMeta", - "nameLocations": ["8325:13:80"], + "nameLocations": [ + "8325:13:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 68390, + "referencedDeclaration": 68882, "src": "8325:13:80" }, - "referencedDeclaration": 68390, + "referencedDeclaration": 68882, "src": "8325:13:80", "typeDescriptions": { - "typeIdentifier": "t_struct$_AuthoringMeta_$68390_storage_ptr", + "typeIdentifier": "t_struct$_AuthoringMeta_$68882_storage_ptr", "typeString": "struct AuthoringMeta" } }, - "id": 55185, + "id": 55677, "nodeType": "ArrayTypeName", "src": "8325:15:80", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_storage_$dyn_storage_ptr", "typeString": "struct AuthoringMeta[]" } }, "visibility": "internal" } ], - "id": 55194, + "id": 55686, "initialValue": { "arguments": [ { - "id": 55189, + "id": 55681, "name": "authoringMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55160, + "referencedDeclaration": 55652, "src": "8367:13:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6971,18 +7515,18 @@ "components": [ { "baseExpression": { - "id": 55190, + "id": 55682, "name": "AuthoringMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 68390, + "referencedDeclaration": 68882, "src": "8383:13:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_AuthoringMeta_$68390_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_AuthoringMeta_$68882_storage_ptr_$", "typeString": "type(struct AuthoringMeta storage pointer)" } }, - "id": 55191, + "id": 55683, "isConstant": false, "isLValue": false, "isPure": true, @@ -6990,12 +7534,12 @@ "nodeType": "IndexAccess", "src": "8383:15:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$", + "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$", "typeString": "type(struct AuthoringMeta memory[] memory)" } } ], - "id": 55192, + "id": 55684, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7004,7 +7548,7 @@ "nodeType": "TupleExpression", "src": "8382:17:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$", + "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$", "typeString": "type(struct AuthoringMeta memory[] memory)" } } @@ -7016,12 +7560,12 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$", + "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$", "typeString": "type(struct AuthoringMeta memory[] memory)" } ], "expression": { - "id": 55187, + "id": 55679, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7032,7 +7576,7 @@ "typeString": "abi" } }, - "id": 55188, + "id": 55680, "isConstant": false, "isLValue": false, "isPure": true, @@ -7046,7 +7590,7 @@ "typeString": "function () pure" } }, - "id": 55193, + "id": 55685, "isConstant": false, "isLValue": false, "isPure": false, @@ -7058,7 +7602,7 @@ "src": "8356:44:80", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", "typeString": "struct AuthoringMeta memory[] memory" } }, @@ -7069,20 +7613,20 @@ "expression": { "arguments": [ { - "id": 55197, + "id": 55689, "name": "words", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55186, + "referencedDeclaration": 55678, "src": "8445:5:80", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", "typeString": "struct AuthoringMeta memory[] memory" } }, { "hexValue": "32", - "id": 55198, + "id": 55690, "isConstant": false, "isLValue": false, "isPure": true, @@ -7100,7 +7644,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", "typeString": "struct AuthoringMeta memory[] memory" }, { @@ -7109,18 +7653,18 @@ } ], "expression": { - "id": 55195, + "id": 55687, "name": "LibParseMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69086, + "referencedDeclaration": 69578, "src": "8417:12:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibParseMeta_$69086_$", + "typeIdentifier": "t_type$_t_contract$_LibParseMeta_$69578_$", "typeString": "type(library LibParseMeta)" } }, - "id": 55196, + "id": 55688, "isConstant": false, "isLValue": false, "isPure": false, @@ -7128,14 +7672,14 @@ "memberLocation": "8430:14:80", "memberName": "buildParseMeta", "nodeType": "MemberAccess", - "referencedDeclaration": 68916, + "referencedDeclaration": 69408, "src": "8417:27:80", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_AuthoringMeta_$68390_memory_ptr_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct AuthoringMeta memory[] memory,uint8) pure returns (bytes memory)" } }, - "id": 55199, + "id": 55691, "isConstant": false, "isLValue": false, "isPure": false, @@ -7151,16 +7695,18 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 55165, - "id": 55200, + "functionReturnParameters": 55657, + "id": 55692, "nodeType": "Return", "src": "8410:44:80" } ] }, - "baseFunctions": [56000], + "baseFunctions": [ + 56492 + ], "documentation": { - "id": 55158, + "id": 55650, "nodeType": "StructuredDocumentation", "src": "7950:25:80", "text": "@inheritdoc IParserV1" @@ -7172,23 +7718,23 @@ "name": "buildParseMeta", "nameLocation": "7989:14:80", "overrides": { - "id": 55162, + "id": 55654, "nodeType": "OverrideSpecifier", "overrides": [], "src": "8054:8:80" }, "parameters": { - "id": 55161, + "id": 55653, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55160, + "id": 55652, "mutability": "mutable", "name": "authoringMeta", "nameLocation": "8017:13:80", "nodeType": "VariableDeclaration", - "scope": 55202, + "scope": 55694, "src": "8004:26:80", "stateVariable": false, "storageLocation": "memory", @@ -7197,7 +7743,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55159, + "id": 55651, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8004:5:80", @@ -7212,17 +7758,17 @@ "src": "8003:28:80" }, "returnParameters": { - "id": 55165, + "id": 55657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55164, + "id": 55656, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55202, + "scope": 55694, "src": "8072:12:80", "stateVariable": false, "storageLocation": "memory", @@ -7231,7 +7777,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55163, + "id": 55655, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8072:5:80", @@ -7245,45 +7791,47 @@ ], "src": "8071:14:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "pure", "virtual": true, "visibility": "external" }, { - "id": 55212, + "id": 55704, "nodeType": "FunctionDefinition", "src": "8497:107:80", "nodes": [], "body": { - "id": 55211, + "id": 55703, "nodeType": "Block", "src": "8570:34:80", "nodes": [], "statements": [ { "expression": { - "id": 55209, + "id": 55701, "name": "PARSE_META", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54939, + "referencedDeclaration": 55431, "src": "8587:10:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 55208, - "id": 55210, + "functionReturnParameters": 55700, + "id": 55702, "nodeType": "Return", "src": "8580:17:80" } ] }, - "baseFunctions": [56006], + "baseFunctions": [ + 56498 + ], "documentation": { - "id": 55203, + "id": 55695, "nodeType": "StructuredDocumentation", "src": "8467:25:80", "text": "@inheritdoc IParserV1" @@ -7295,29 +7843,29 @@ "name": "parseMeta", "nameLocation": "8506:9:80", "overrides": { - "id": 55205, + "id": 55697, "nodeType": "OverrideSpecifier", "overrides": [], "src": "8538:8:80" }, "parameters": { - "id": 55204, + "id": 55696, "nodeType": "ParameterList", "parameters": [], "src": "8515:2:80" }, "returnParameters": { - "id": 55208, + "id": 55700, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55207, + "id": 55699, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55212, + "scope": 55704, "src": "8556:12:80", "stateVariable": false, "storageLocation": "memory", @@ -7326,7 +7874,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55206, + "id": 55698, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8556:5:80", @@ -7340,18 +7888,18 @@ ], "src": "8555:14:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "pure", "virtual": true, "visibility": "public" }, { - "id": 55232, + "id": 55724, "nodeType": "FunctionDefinition", "src": "8640:289:80", "nodes": [], "body": { - "id": 55231, + "id": 55723, "nodeType": "Block", "src": "8746:183:80", "nodes": [], @@ -7360,11 +7908,11 @@ "expression": { "arguments": [ { - "id": 55226, + "id": 55718, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55215, + "referencedDeclaration": 55707, "src": "8904:4:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7375,18 +7923,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 55227, + "id": 55719, "name": "parseMeta", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55212, + "referencedDeclaration": 55704, "src": "8910:9:80", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 55228, + "id": 55720, "isConstant": false, "isLValue": false, "isPure": false, @@ -7415,18 +7963,18 @@ } ], "expression": { - "id": 55224, + "id": 55716, "name": "LibParse", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65022, + "referencedDeclaration": 65514, "src": "8889:8:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibParse_$65022_$", + "typeIdentifier": "t_type$_t_contract$_LibParse_$65514_$", "typeString": "type(library LibParse)" } }, - "id": 55225, + "id": 55717, "isConstant": false, "isLValue": false, "isPure": false, @@ -7434,14 +7982,14 @@ "memberLocation": "8898:5:80", "memberName": "parse", "nodeType": "MemberAccess", - "referencedDeclaration": 65021, + "referencedDeclaration": 65513, "src": "8889:14:80", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory,uint256[] memory)" } }, - "id": 55229, + "id": 55721, "isConstant": false, "isLValue": false, "isPure": false, @@ -7457,16 +8005,18 @@ "typeString": "tuple(bytes memory,uint256[] memory)" } }, - "functionReturnParameters": 55223, - "id": 55230, + "functionReturnParameters": 55715, + "id": 55722, "nodeType": "Return", "src": "8882:40:80" } ] }, - "baseFunctions": [56017], + "baseFunctions": [ + 56509 + ], "documentation": { - "id": 55213, + "id": 55705, "nodeType": "StructuredDocumentation", "src": "8610:25:80", "text": "@inheritdoc IParserV1" @@ -7478,23 +8028,23 @@ "name": "parse", "nameLocation": "8649:5:80", "overrides": { - "id": 55217, + "id": 55709, "nodeType": "OverrideSpecifier", "overrides": [], "src": "8696:8:80" }, "parameters": { - "id": 55216, + "id": 55708, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55215, + "id": 55707, "mutability": "mutable", "name": "data", "nameLocation": "8668:4:80", "nodeType": "VariableDeclaration", - "scope": 55232, + "scope": 55724, "src": "8655:17:80", "stateVariable": false, "storageLocation": "memory", @@ -7503,7 +8053,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55214, + "id": 55706, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8655:5:80", @@ -7518,17 +8068,17 @@ "src": "8654:19:80" }, "returnParameters": { - "id": 55223, + "id": 55715, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55219, + "id": 55711, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55232, + "scope": 55724, "src": "8714:12:80", "stateVariable": false, "storageLocation": "memory", @@ -7537,7 +8087,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55218, + "id": 55710, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8714:5:80", @@ -7550,12 +8100,12 @@ }, { "constant": false, - "id": 55222, + "id": 55714, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55232, + "scope": 55724, "src": "8728:16:80", "stateVariable": false, "storageLocation": "memory", @@ -7565,7 +8115,7 @@ }, "typeName": { "baseType": { - "id": 55220, + "id": 55712, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8728:7:80", @@ -7574,7 +8124,7 @@ "typeString": "uint256" } }, - "id": 55221, + "id": 55713, "nodeType": "ArrayTypeName", "src": "8728:9:80", "typeDescriptions": { @@ -7587,18 +8137,18 @@ ], "src": "8713:32:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "pure", "virtual": true, "visibility": "external" }, { - "id": 55308, + "id": 55800, "nodeType": "FunctionDefinition", "src": "8977:1006:80", "nodes": [], "body": { - "id": 55307, + "id": 55799, "nodeType": "Block", "src": "9167:816:80", "nodes": [], @@ -7607,11 +8157,11 @@ "expression": { "arguments": [ { - "id": 55253, + "id": 55745, "name": "bytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55235, + "referencedDeclaration": 55727, "src": "9192:8:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7619,11 +8169,11 @@ } }, { - "id": 55254, + "id": 55746, "name": "constants", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55238, + "referencedDeclaration": 55730, "src": "9202:9:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -7631,11 +8181,11 @@ } }, { - "id": 55255, + "id": 55747, "name": "minOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55241, + "referencedDeclaration": 55733, "src": "9213:10:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -7658,18 +8208,18 @@ "typeString": "uint256[] memory" } ], - "id": 55252, + "id": 55744, "name": "integrityCheck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55330, + "referencedDeclaration": 55822, "src": "9177:14:80", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) view" } }, - "id": 55256, + "id": 55748, "isConstant": false, "isLValue": false, "isPure": false, @@ -7685,7 +8235,7 @@ "typeString": "tuple()" } }, - "id": 55257, + "id": 55749, "nodeType": "ExpressionStatement", "src": "9177:47:80" }, @@ -7694,7 +8244,7 @@ "arguments": [ { "expression": { - "id": 55259, + "id": 55751, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7705,7 +8255,7 @@ "typeString": "msg" } }, - "id": 55260, + "id": 55752, "isConstant": false, "isLValue": false, "isPure": false, @@ -7720,11 +8270,11 @@ } }, { - "id": 55261, + "id": 55753, "name": "bytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55235, + "referencedDeclaration": 55727, "src": "9266:8:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7732,11 +8282,11 @@ } }, { - "id": 55262, + "id": 55754, "name": "constants", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55238, + "referencedDeclaration": 55730, "src": "9276:9:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -7744,11 +8294,11 @@ } }, { - "id": 55263, + "id": 55755, "name": "minOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55241, + "referencedDeclaration": 55733, "src": "9287:10:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -7775,18 +8325,18 @@ "typeString": "uint256[] memory" } ], - "id": 55258, + "id": 55750, "name": "NewExpression", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54980, + "referencedDeclaration": 55472, "src": "9240:13:80", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (address,bytes memory,uint256[] memory,uint256[] memory)" } }, - "id": 55264, + "id": 55756, "isConstant": false, "isLValue": false, "isPure": false, @@ -7802,43 +8352,48 @@ "typeString": "tuple()" } }, - "id": 55265, + "id": 55757, "nodeType": "EmitStatement", "src": "9235:63:80" }, { - "assignments": [55268, 55271], + "assignments": [ + 55760, + 55763 + ], "declarations": [ { "constant": false, - "id": 55268, + "id": 55760, "mutability": "mutable", "name": "container", "nameLocation": "9338:9:80", "nodeType": "VariableDeclaration", - "scope": 55307, + "scope": 55799, "src": "9310:37:80", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", "typeString": "DataContractMemoryContainer" }, "typeName": { - "id": 55267, + "id": 55759, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55266, + "id": 55758, "name": "DataContractMemoryContainer", - "nameLocations": ["9310:27:80"], + "nameLocations": [ + "9310:27:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 53466, + "referencedDeclaration": 53958, "src": "9310:27:80" }, - "referencedDeclaration": 53466, + "referencedDeclaration": 53958, "src": "9310:27:80", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", "typeString": "DataContractMemoryContainer" } }, @@ -7846,51 +8401,53 @@ }, { "constant": false, - "id": 55271, + "id": 55763, "mutability": "mutable", "name": "pointer", "nameLocation": "9357:7:80", "nodeType": "VariableDeclaration", - "scope": 55307, + "scope": 55799, "src": "9349:15:80", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", "typeString": "Pointer" }, "typeName": { - "id": 55270, + "id": 55762, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55269, + "id": 55761, "name": "Pointer", - "nameLocations": ["9349:7:80"], + "nameLocations": [ + "9349:7:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "9349:7:80" }, - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "9349:7:80", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", "typeString": "Pointer" } }, "visibility": "internal" } ], - "id": 55280, + "id": 55772, "initialValue": { "arguments": [ { "arguments": [ { - "id": 55276, + "id": 55768, "name": "bytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55235, + "referencedDeclaration": 55727, "src": "9459:8:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7898,11 +8455,11 @@ } }, { - "id": 55277, + "id": 55769, "name": "constants", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55238, + "referencedDeclaration": 55730, "src": "9469:9:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -7922,18 +8479,18 @@ } ], "expression": { - "id": 55274, + "id": 55766, "name": "LibInterpreterStateDataContractNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 70181, + "referencedDeclaration": 70673, "src": "9409:33:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70181_$", + "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70673_$", "typeString": "type(library LibInterpreterStateDataContractNP)" } }, - "id": 55275, + "id": 55767, "isConstant": false, "isLValue": false, "isPure": false, @@ -7941,14 +8498,14 @@ "memberLocation": "9443:15:80", "memberName": "serializeSizeNP", "nodeType": "MemberAccess", - "referencedDeclaration": 70091, + "referencedDeclaration": 70583, "src": "9409:49:80", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory,uint256[] memory) pure returns (uint256)" } }, - "id": 55278, + "id": 55770, "isConstant": false, "isLValue": false, "isPure": false, @@ -7973,18 +8530,18 @@ } ], "expression": { - "id": 55272, + "id": 55764, "name": "LibDataContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 53573, + "referencedDeclaration": 54065, "src": "9380:15:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$53573_$", + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$54065_$", "typeString": "type(library LibDataContract)" } }, - "id": 55273, + "id": 55765, "isConstant": false, "isLValue": false, "isPure": false, @@ -7992,14 +8549,14 @@ "memberLocation": "9396:12:80", "memberName": "newContainer", "nodeType": "MemberAccess", - "referencedDeclaration": 53490, + "referencedDeclaration": 53982, "src": "9380:28:80", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_DataContractMemoryContainer_$53466_$_t_userDefinedValueType$_Pointer_$71711_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_DataContractMemoryContainer_$53958_$_t_userDefinedValueType$_Pointer_$72203_$", "typeString": "function (uint256) pure returns (DataContractMemoryContainer,Pointer)" } }, - "id": 55279, + "id": 55771, "isConstant": false, "isLValue": false, "isPure": false, @@ -8011,7 +8568,7 @@ "src": "9380:100:80", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_userDefinedValueType$_DataContractMemoryContainer_$53466_$_t_userDefinedValueType$_Pointer_$71711_$", + "typeIdentifier": "t_tuple$_t_userDefinedValueType$_DataContractMemoryContainer_$53958_$_t_userDefinedValueType$_Pointer_$72203_$", "typeString": "tuple(DataContractMemoryContainer,Pointer)" } }, @@ -8022,23 +8579,23 @@ "expression": { "arguments": [ { - "id": 55284, + "id": 55776, "name": "pointer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55271, + "referencedDeclaration": 55763, "src": "9654:7:80", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", "typeString": "Pointer" } }, { - "id": 55285, + "id": 55777, "name": "bytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55235, + "referencedDeclaration": 55727, "src": "9663:8:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8046,11 +8603,11 @@ } }, { - "id": 55286, + "id": 55778, "name": "constants", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55238, + "referencedDeclaration": 55730, "src": "9673:9:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -8061,7 +8618,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$71711", + "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", "typeString": "Pointer" }, { @@ -8074,18 +8631,18 @@ } ], "expression": { - "id": 55281, + "id": 55773, "name": "LibInterpreterStateDataContractNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 70181, + "referencedDeclaration": 70673, "src": "9602:33:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70181_$", + "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70673_$", "typeString": "type(library LibInterpreterStateDataContractNP)" } }, - "id": 55283, + "id": 55775, "isConstant": false, "isLValue": false, "isPure": false, @@ -8093,14 +8650,14 @@ "memberLocation": "9636:17:80", "memberName": "unsafeSerializeNP", "nodeType": "MemberAccess", - "referencedDeclaration": 70118, + "referencedDeclaration": 70610, "src": "9602:51:80", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Pointer_$71711_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Pointer_$72203_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (Pointer,bytes memory,uint256[] memory) pure" } }, - "id": 55287, + "id": 55779, "isConstant": false, "isLValue": false, "isPure": false, @@ -8116,21 +8673,23 @@ "typeString": "tuple()" } }, - "id": 55288, + "id": 55780, "nodeType": "ExpressionStatement", "src": "9602:81:80" }, { - "assignments": [55290], + "assignments": [ + 55782 + ], "declarations": [ { "constant": false, - "id": 55290, + "id": 55782, "mutability": "mutable", "name": "expression", "nameLocation": "9755:10:80", "nodeType": "VariableDeclaration", - "scope": 55307, + "scope": 55799, "src": "9747:18:80", "stateVariable": false, "storageLocation": "default", @@ -8139,7 +8698,7 @@ "typeString": "address" }, "typeName": { - "id": 55289, + "id": 55781, "name": "address", "nodeType": "ElementaryTypeName", "src": "9747:7:80", @@ -8152,18 +8711,18 @@ "visibility": "internal" } ], - "id": 55295, + "id": 55787, "initialValue": { "arguments": [ { - "id": 55293, + "id": 55785, "name": "container", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55268, + "referencedDeclaration": 55760, "src": "9790:9:80", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", "typeString": "DataContractMemoryContainer" } } @@ -8171,23 +8730,23 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53466", + "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", "typeString": "DataContractMemoryContainer" } ], "expression": { - "id": 55291, + "id": 55783, "name": "LibDataContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 53573, + "referencedDeclaration": 54065, "src": "9768:15:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$53573_$", + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$54065_$", "typeString": "type(library LibDataContract)" } }, - "id": 55292, + "id": 55784, "isConstant": false, "isLValue": false, "isPure": false, @@ -8195,14 +8754,14 @@ "memberLocation": "9784:5:80", "memberName": "write", "nodeType": "MemberAccess", - "referencedDeclaration": 53520, + "referencedDeclaration": 54012, "src": "9768:21:80", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_DataContractMemoryContainer_$53466_$returns$_t_address_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_DataContractMemoryContainer_$53958_$returns$_t_address_$", "typeString": "function (DataContractMemoryContainer) returns (address)" } }, - "id": 55294, + "id": 55786, "isConstant": false, "isLValue": false, "isPure": false, @@ -8226,7 +8785,7 @@ "arguments": [ { "expression": { - "id": 55297, + "id": 55789, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8237,7 +8796,7 @@ "typeString": "msg" } }, - "id": 55298, + "id": 55790, "isConstant": false, "isLValue": false, "isPure": false, @@ -8252,11 +8811,11 @@ } }, { - "id": 55299, + "id": 55791, "name": "expression", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55290, + "referencedDeclaration": 55782, "src": "9913:10:80", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8275,18 +8834,18 @@ "typeString": "address" } ], - "id": 55296, + "id": 55788, "name": "ExpressionAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54987, + "referencedDeclaration": 55479, "src": "9883:17:80", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 55300, + "id": 55792, "isConstant": false, "isLValue": false, "isPure": false, @@ -8302,7 +8861,7 @@ "typeString": "tuple()" } }, - "id": 55301, + "id": 55793, "nodeType": "EmitStatement", "src": "9878:46:80" }, @@ -8310,35 +8869,35 @@ "expression": { "components": [ { - "id": 55302, + "id": 55794, "name": "iInterpreter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54991, + "referencedDeclaration": 55483, "src": "9943:12:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, { - "id": 55303, + "id": 55795, "name": "iStore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54995, + "referencedDeclaration": 55487, "src": "9957:6:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 55304, + "id": 55796, "name": "expression", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55290, + "referencedDeclaration": 55782, "src": "9965:10:80", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8346,7 +8905,7 @@ } } ], - "id": 55305, + "id": 55797, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -8355,20 +8914,22 @@ "nodeType": "TupleExpression", "src": "9942:34:80", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$55855_$_t_contract$_IInterpreterStoreV1_$55805_$_t_address_$", + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" } }, - "functionReturnParameters": 55251, - "id": 55306, + "functionReturnParameters": 55743, + "id": 55798, "nodeType": "Return", "src": "9935:41:80" } ] }, - "baseFunctions": [55975], + "baseFunctions": [ + 56467 + ], "documentation": { - "id": 55233, + "id": 55725, "nodeType": "StructuredDocumentation", "src": "8935:37:80", "text": "@inheritdoc IExpressionDeployerV2" @@ -8380,17 +8941,17 @@ "name": "deployExpression", "nameLocation": "8986:16:80", "parameters": { - "id": 55242, + "id": 55734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55235, + "id": 55727, "mutability": "mutable", "name": "bytecode", "nameLocation": "9016:8:80", "nodeType": "VariableDeclaration", - "scope": 55308, + "scope": 55800, "src": "9003:21:80", "stateVariable": false, "storageLocation": "memory", @@ -8399,7 +8960,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55234, + "id": 55726, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9003:5:80", @@ -8412,12 +8973,12 @@ }, { "constant": false, - "id": 55238, + "id": 55730, "mutability": "mutable", "name": "constants", "nameLocation": "9043:9:80", "nodeType": "VariableDeclaration", - "scope": 55308, + "scope": 55800, "src": "9026:26:80", "stateVariable": false, "storageLocation": "memory", @@ -8427,7 +8988,7 @@ }, "typeName": { "baseType": { - "id": 55236, + "id": 55728, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9026:7:80", @@ -8436,7 +8997,7 @@ "typeString": "uint256" } }, - "id": 55237, + "id": 55729, "nodeType": "ArrayTypeName", "src": "9026:9:80", "typeDescriptions": { @@ -8448,12 +9009,12 @@ }, { "constant": false, - "id": 55241, + "id": 55733, "mutability": "mutable", "name": "minOutputs", "nameLocation": "9071:10:80", "nodeType": "VariableDeclaration", - "scope": 55308, + "scope": 55800, "src": "9054:27:80", "stateVariable": false, "storageLocation": "memory", @@ -8463,7 +9024,7 @@ }, "typeName": { "baseType": { - "id": 55239, + "id": 55731, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9054:7:80", @@ -8472,7 +9033,7 @@ "typeString": "uint256" } }, - "id": 55240, + "id": 55732, "nodeType": "ArrayTypeName", "src": "9054:9:80", "typeDescriptions": { @@ -8486,39 +9047,41 @@ "src": "9002:80:80" }, "returnParameters": { - "id": 55251, + "id": 55743, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55245, + "id": 55737, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55308, + "scope": 55800, "src": "9117:14:80", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" }, "typeName": { - "id": 55244, + "id": 55736, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55243, + "id": 55735, "name": "IInterpreterV1", - "nameLocations": ["9117:14:80"], + "nameLocations": [ + "9117:14:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "9117:14:80" }, - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "9117:14:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_contract$_IInterpreterV1_$56347", "typeString": "contract IInterpreterV1" } }, @@ -8526,34 +9089,36 @@ }, { "constant": false, - "id": 55248, + "id": 55740, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55308, + "scope": 55800, "src": "9133:19:80", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 55247, + "id": 55739, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55246, + "id": 55738, "name": "IInterpreterStoreV1", - "nameLocations": ["9133:19:80"], + "nameLocations": [ + "9133:19:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "9133:19:80" }, - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "9133:19:80", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, @@ -8561,12 +9126,12 @@ }, { "constant": false, - "id": 55250, + "id": 55742, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55308, + "scope": 55800, "src": "9154:7:80", "stateVariable": false, "storageLocation": "default", @@ -8575,7 +9140,7 @@ "typeString": "address" }, "typeName": { - "id": 55249, + "id": 55741, "name": "address", "nodeType": "ElementaryTypeName", "src": "9154:7:80", @@ -8590,18 +9155,18 @@ ], "src": "9116:46:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 55330, + "id": 55822, "nodeType": "FunctionDefinition", "src": "10036:249:80", "nodes": [], "body": { - "id": 55329, + "id": 55821, "nodeType": "Block", "src": "10172:113:80", "nodes": [], @@ -8610,11 +9175,11 @@ "expression": { "arguments": [ { - "id": 55323, + "id": 55815, "name": "INTEGRITY_FUNCTION_POINTERS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 54915, + "referencedDeclaration": 55407, "src": "10217:27:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8622,11 +9187,11 @@ } }, { - "id": 55324, + "id": 55816, "name": "bytecode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55311, + "referencedDeclaration": 55803, "src": "10246:8:80", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8634,11 +9199,11 @@ } }, { - "id": 55325, + "id": 55817, "name": "constants", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55314, + "referencedDeclaration": 55806, "src": "10256:9:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -8646,11 +9211,11 @@ } }, { - "id": 55326, + "id": 55818, "name": "minOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55317, + "referencedDeclaration": 55809, "src": "10267:10:80", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -8678,18 +9243,18 @@ } ], "expression": { - "id": 55320, + "id": 55812, "name": "LibIntegrityCheckNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57500, + "referencedDeclaration": 57992, "src": "10182:19:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheckNP_$57500_$", + "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheckNP_$57992_$", "typeString": "type(library LibIntegrityCheckNP)" } }, - "id": 55322, + "id": 55814, "isConstant": false, "isLValue": false, "isPure": false, @@ -8697,14 +9262,14 @@ "memberLocation": "10202:14:80", "memberName": "integrityCheck", "nodeType": "MemberAccess", - "referencedDeclaration": 57499, + "referencedDeclaration": 57991, "src": "10182:34:80", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory,bytes memory,uint256[] memory,uint256[] memory) view" } }, - "id": 55327, + "id": 55819, "isConstant": false, "isLValue": false, "isPure": false, @@ -8720,15 +9285,17 @@ "typeString": "tuple()" } }, - "id": 55328, + "id": 55820, "nodeType": "ExpressionStatement", "src": "10182:96:80" } ] }, - "baseFunctions": [55900], + "baseFunctions": [ + 56392 + ], "documentation": { - "id": 55309, + "id": 55801, "nodeType": "StructuredDocumentation", "src": "9989:42:80", "text": "@inheritdoc IDebugExpressionDeployerV2" @@ -8740,17 +9307,17 @@ "name": "integrityCheck", "nameLocation": "10045:14:80", "parameters": { - "id": 55318, + "id": 55810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55311, + "id": 55803, "mutability": "mutable", "name": "bytecode", "nameLocation": "10073:8:80", "nodeType": "VariableDeclaration", - "scope": 55330, + "scope": 55822, "src": "10060:21:80", "stateVariable": false, "storageLocation": "memory", @@ -8759,7 +9326,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55310, + "id": 55802, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "10060:5:80", @@ -8772,12 +9339,12 @@ }, { "constant": false, - "id": 55314, + "id": 55806, "mutability": "mutable", "name": "constants", "nameLocation": "10100:9:80", "nodeType": "VariableDeclaration", - "scope": 55330, + "scope": 55822, "src": "10083:26:80", "stateVariable": false, "storageLocation": "memory", @@ -8787,7 +9354,7 @@ }, "typeName": { "baseType": { - "id": 55312, + "id": 55804, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10083:7:80", @@ -8796,7 +9363,7 @@ "typeString": "uint256" } }, - "id": 55313, + "id": 55805, "nodeType": "ArrayTypeName", "src": "10083:9:80", "typeDescriptions": { @@ -8808,12 +9375,12 @@ }, { "constant": false, - "id": 55317, + "id": 55809, "mutability": "mutable", "name": "minOutputs", "nameLocation": "10128:10:80", "nodeType": "VariableDeclaration", - "scope": 55330, + "scope": 55822, "src": "10111:27:80", "stateVariable": false, "storageLocation": "memory", @@ -8823,7 +9390,7 @@ }, "typeName": { "baseType": { - "id": 55315, + "id": 55807, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10111:7:80", @@ -8832,7 +9399,7 @@ "typeString": "uint256" } }, - "id": 55316, + "id": 55808, "nodeType": "ArrayTypeName", "src": "10111:9:80", "typeDescriptions": { @@ -8846,23 +9413,23 @@ "src": "10059:80:80" }, "returnParameters": { - "id": 55319, + "id": 55811, "nodeType": "ParameterList", "parameters": [], "src": "10172:0:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 55341, + "id": 55833, "nodeType": "FunctionDefinition", "src": "11051:153:80", "nodes": [], "body": { - "id": 55340, + "id": 55832, "nodeType": "Block", "src": "11133:71:80", "nodes": [], @@ -8873,18 +9440,18 @@ "expression": { "argumentTypes": [], "expression": { - "id": 55336, + "id": 55828, "name": "LibAllStandardOpsNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 58346, + "referencedDeclaration": 58838, "src": "11150:19:80", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58346_$", + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58838_$", "typeString": "type(library LibAllStandardOpsNP)" } }, - "id": 55337, + "id": 55829, "isConstant": false, "isLValue": false, "isPure": false, @@ -8892,14 +9459,14 @@ "memberLocation": "11170:25:80", "memberName": "integrityFunctionPointers", "nodeType": "MemberAccess", - "referencedDeclaration": 58186, + "referencedDeclaration": 58678, "src": "11150:45:80", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 55338, + "id": 55830, "isConstant": false, "isLValue": false, "isPure": false, @@ -8915,15 +9482,15 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 55335, - "id": 55339, + "functionReturnParameters": 55827, + "id": 55831, "nodeType": "Return", "src": "11143:54:80" } ] }, "documentation": { - "id": 55331, + "id": 55823, "nodeType": "StructuredDocumentation", "src": "10291:755:80", "text": "Defines all the function pointers to integrity checks. This is the\n expression deployer's equivalent of the opcode function pointers and\n follows a near identical dispatch process. These are never compiled into\n source and are instead indexed into directly by the integrity check. The\n indexing into integrity pointers (which has an out of bounds check) is a\n proxy for enforcing that all opcode pointers exist at runtime, so the\n length of the integrity pointers MUST match the length of opcode function\n pointers. This function is `virtual` so that it can be overridden\n pairwise with overrides to `functionPointers` on `Rainterpreter`.\n @return The list of integrity function pointers." @@ -8935,23 +9502,23 @@ "name": "integrityFunctionPointers", "nameLocation": "11060:25:80", "parameters": { - "id": 55332, + "id": 55824, "nodeType": "ParameterList", "parameters": [], "src": "11085:2:80" }, "returnParameters": { - "id": 55335, + "id": 55827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55334, + "id": 55826, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55341, + "scope": 55833, "src": "11119:12:80", "stateVariable": false, "storageLocation": "memory", @@ -8960,7 +9527,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55333, + "id": 55825, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11119:5:80", @@ -8974,7 +9541,7 @@ ], "src": "11118:14:80" }, - "scope": 55342, + "scope": 55834, "stateMutability": "view", "virtual": true, "visibility": "external" @@ -8984,53 +9551,61 @@ "baseContracts": [ { "baseName": { - "id": 54948, + "id": 55440, "name": "IExpressionDeployerV2", - "nameLocations": ["3970:21:80"], + "nameLocations": [ + "3970:21:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55976, + "referencedDeclaration": 56468, "src": "3970:21:80" }, - "id": 54949, + "id": 55441, "nodeType": "InheritanceSpecifier", "src": "3970:21:80" }, { "baseName": { - "id": 54950, + "id": 55442, "name": "IDebugExpressionDeployerV2", - "nameLocations": ["3993:26:80"], + "nameLocations": [ + "3993:26:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55901, + "referencedDeclaration": 56393, "src": "3993:26:80" }, - "id": 54951, + "id": 55443, "nodeType": "InheritanceSpecifier", "src": "3993:26:80" }, { "baseName": { - "id": 54952, + "id": 55444, "name": "IParserV1", - "nameLocations": ["4021:9:80"], + "nameLocations": [ + "4021:9:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 56018, + "referencedDeclaration": 56510, "src": "4021:9:80" }, - "id": 54953, + "id": 55445, "nodeType": "InheritanceSpecifier", "src": "4021:9:80" }, { "baseName": { - "id": 54954, + "id": 55446, "name": "ERC165", - "nameLocations": ["4032:6:80"], + "nameLocations": [ + "4032:6:80" + ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45446, + "referencedDeclaration": 45938, "src": "4032:6:80" }, - "id": 54955, + "id": 55447, "nodeType": "InheritanceSpecifier", "src": "4032:6:80" } @@ -9039,23 +9614,75 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 54947, + "id": 55439, "nodeType": "StructuredDocumentation", "src": "3703:221:80", "text": "@title RainterpreterExpressionDeployer\n @notice !!!EXPERIMENTAL!!! This is the deployer for the RainterpreterNP\n interpreter. Notably includes onchain parsing/compiling of expressions from\n Rainlang strings." }, "fullyImplemented": true, - "linearizedBaseContracts": [55342, 45446, 45458, 56018, 55901, 55976], + "linearizedBaseContracts": [ + 55834, + 45938, + 45950, + 56510, + 56393, + 56468 + ], "name": "RainterpreterExpressionDeployerNP", "nameLocation": "3933:33:80", - "scope": 55343, + "scope": 55835, "usedErrors": [ - 53453, 54896, 54901, 54906, 54911, 55986, 56031, 57112, 57119, 57128, - 57137, 57146, 57155, 57162, 57169, 57531, 57652, 57785, 63072, 63077, - 63082, 63087, 63092, 63097, 63102, 63107, 63112, 63117, 63122, 63127, - 63132, 63137, 63140, 63143, 63146, 63149, 63152, 63155, 67619, 67624, - 67629, 67634, 67639, 67644, 67649, 67654, 68352, 69111, 69115, 69119, - 69123 + 53945, + 55388, + 55393, + 55398, + 55403, + 56478, + 56523, + 57604, + 57611, + 57620, + 57629, + 57638, + 57647, + 57654, + 57661, + 58023, + 58144, + 58277, + 63564, + 63569, + 63574, + 63579, + 63584, + 63589, + 63594, + 63599, + 63604, + 63609, + 63614, + 63619, + 63624, + 63629, + 63632, + 63635, + 63638, + 63641, + 63644, + 63647, + 68111, + 68116, + 68121, + 68126, + 68131, + 68136, + 68141, + 68146, + 68844, + 69603, + 69607, + 69611, + 69615 ] } ], diff --git a/subgraph/tests/generated/RainterpreterNP.json b/subgraph/tests/generated/RainterpreterNP.json index cca4579825..98b6024dab 100644 --- a/subgraph/tests/generated/RainterpreterNP.json +++ b/subgraph/tests/generated/RainterpreterNP.json @@ -234,7 +234,7 @@ }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780636715f82514610079578063758c13b61461009a578063f933c72f146100ad575b600080fd5b61006461005f36600461239d565b6100c2565b60405190151581526020015b60405180910390f35b61008c610087366004612591565b6101a7565b60405161007092919061262f565b61008c6100a836600461266b565b61023c565b6100b5610294565b6040516100709190612801565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9e263f0a00000000000000000000000000000000000000000000000000000000148061015557507fffffffff0000000000000000000000000000000000000000000000000000000082167f758c13b600000000000000000000000000000000000000000000000000000000145b806101a157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606080602084901c601085901c61ffff861660006101c4846102a3565b905061ffff8316600061020b826101e58d3360009182526020526040902090565b8e8c604051806080016040528060528152602001612b286052913988949392919061034a565b6040805160008152602081019091529091506102299082908661049b565b9750975050505050505094509492505050565b606080600061ffff871690506000610275828b8d89604051806080016040528060528152602001612b28605291398e949392919061034a565b905061028281868961049b565b93509350505097509795505050505050565b606061029e610804565b905090565b6060813b60008190036102e2576040517f26a9f61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603e83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910180825290915080600160208401853c50919050565b6103af6040518061012001604052806060815260200160608152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b602087810180516040600191820184028b01818101518251600091821a808252948501870281019093526041808301968381019593600285020190910191908401905b8381101561043057875160f01c83015160408051600192831a80825283016020908102909101918290529084526002909901989290920191016103f2565b505050506040518061012001604052808281526020018481526020018b8152602001600081526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff168152602001888152602001838152602001878152509450505050509695505050505050565b606080600085600001518660400151815181106104ba576104ba612814565b602002602001015190506000855111156104ed5760006020865102820391506020860190506104eb818388516109a4565b505b600086604001519050600080600080600060028c6101000151518161051457610514612843565b60e08e01516101008f0151602080830151600261ffff9c909c168c8102850160219081015160f01c600093841a9e909e029095019c909c019384015160258086019c50600791831a918216918290036004029095019094019950929750019450919004915061239390805b868810156106fb57875190506002848260001a060285015160f01c925062ffffff8160e01c1691506105b68f838c8663ffffffff16565b99506002848260041a060285015160f01c925062ffffff8160c01c1691506105e38f838c8663ffffffff16565b99506002848260081a060285015160f01c925062ffffff8160a01c1691506106108f838c8663ffffffff16565b995060028482600c1a060285015160f01c925062ffffff8160801c16915061063d8f838c8663ffffffff16565b99506002848260101a060285015160f01c925062ffffff8160601c16915061066a8f838c8663ffffffff16565b99506002848260141a060285015160f01c925062ffffff8160401c1691506106978f838c8663ffffffff16565b99506002848260181a060285015160f01c925062ffffff8160201c1691506106c48f838c8663ffffffff16565b995060028482601c1a060285015160f01c925062ffffff811691506106ee8f838c8663ffffffff16565b995060208801975061057f565b601c8803975085600402880196505b868810156107465750508551601c81901a83900660020284015160f01c915062ffffff8116906107398f838c86565b995060048801975061070a565b50505050505050505060006107638760e0015188604001516109cc565b90508085106107725780610774565b845b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08084018281529192508390602084028201015b808210156107e55781518151835281526020909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016107a8565b5050806107f589606001516109e5565b94509450505050935093915050565b60408051610540810182526029808252610c596020830152610ca592820192909252610ce0606082810191909152610dc46080830152610dfe60a0830152610e2d60c0830152610e5c60e08301819052610100830152610eab610120830152610eda610140830152610f3c610160830152610fc461018083015261106b6101a083015261107f6101c08301526110d56101e08301526110e96102008301526110fe61022083015261111861024083015261112361026083015261113761028083015261114c6102a08301526111c96102c08301526112146102e083015261123a61030083015261125c61032083015261127361034083018190526103608301526112be6103808301526113096103a08301526113546103c083018190526103e083015261139f61040083018190526104208301526113ea61044083015261143561046083015261148061048083018190526104a08301526114cb6104c08301526115b26104e08301526115e561050083015261163c6105208301529190819080610992565b60405180910390fd5b61099b8161166e565b94505050505090565b8060200283015b808410156109c65783518352602093840193909201916109ab565b50505050565b6000806109d984846116ff565b5160031a949350505050565b6040805160f083901c602081810283010190925290815261ffff63ffffffff67ffffffffffffffff6fffffffffffffffffffffffffffffffff610a52565b60005b8215610a4c57825182526020830151602083015260408301519250604082019150610a26565b50919050565b602085018660101b60901c8015610b42578060401c8015610ac0578060201c8015610a8457610a818185610a23565b93505b508086168015610abe578060101c8015610aa557610aa28186610a23565b94505b508088168015610abc57610ab98186610a23565b94505b505b505b508084168015610b40578060201c8015610b04578060101c8015610aeb57610ae88186610a23565b94505b508088168015610b0257610aff8186610a23565b94505b505b508086168015610b3e578060101c8015610b2557610b228186610a23565b94505b508088168015610b3c57610b398186610a23565b94505b505b505b505b508682168015610c4e578060401c8015610bcc578060201c8015610b90578060101c8015610b7757610b748186610a23565b94505b508088168015610b8e57610b8b8186610a23565b94505b505b508086168015610bca578060101c8015610bb157610bae8186610a23565b94505b508088168015610bc857610bc58186610a23565b94505b505b505b508084168015610c4c578060201c8015610c10578060101c8015610bf757610bf48186610a23565b94505b508088168015610c0e57610c0b8186610a23565b94505b505b508086168015610c4a578060101c8015610c3157610c2e8186610a23565b94505b508088168015610c4857610c458186610a23565b94505b505b505b505b505050505050919050565b604083015183516020600192830181029190910151918401029003517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152805b9392505050565b60209283015160019290920190920201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190815290565b600060ff8316600884901c6020841015610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f737461636b20756e646572666c6f7700000000000000000000000000000000006044820152606401610989565b60008660c001518381518110610d6e57610d6e612814565b60200260200101518281518110610d8757610d87612814565b60209081029190910101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909501948552509295945050505050565b60109190911c6020028082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190920101908152919050565b437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f315781518015610f25578552610f31565b50602082019150610f0e565b509295945050505050565b6000808260208560101c0281016020810394505b80821015610f7957815192508215610f6e5760208201518552610f79565b604082019150610f50565b505080600003610fbb576040517fff86627a00000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401610989565b50909392505050565b8051600090602080840190601086901c0284015b600083118183101615610ff45781519250602082019150610fd8565b5081600003611062576040517f40dccdf600000000000000000000000000000000000000000000000000000000815261ffff8616600482015260208583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001046024820152604401610989565b95945050505050565b805160209091018051909114815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f31578151806110c9578552610f31565b506020820191506110b3565b805160209091018051909111815292915050565b80516020909101805190911015815292915050565b805160409015156020028203810151910190815292915050565b805115815292915050565b805160209091018051909110815292915050565b80516020909101805190911115815292915050565b80516020820151604090920191600091906111678282611730565b9150601085901c60025b81811015611197578551925060208601955061118d8484611730565b9350600101611171565b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0929092019182525092915050565b80516020820151604090920191600091906111e4828261174b565b9150601085901c60025b81811015611197578551925060208601955061120a848461174b565b93506001016111ee565b80516020909101805190916000919061122e82828761175a565b84525091949350505050565b80516000906112518160ff8616600887901c61175a565b835250909392505050565b80516000906112518160ff8616600887901c6117df565b805160208201516040909201916000919061128e81836128a1565b9150601085901c60025b8181101561119757855160209096019592506112b483856128a1565b9350600101611298565b80516020820151604090920191600091906112d981836128b4565b9150601085901c60025b8181101561119757855160209096019592506112ff83856128b4565b93506001016112e3565b805160208201516040909201916000919061132481836129e8565b9150601085901c60025b81811015611197578551602090960195925061134a83856129e8565b935060010161132e565b805160208201516040909201916000919080821015611371578091505b601085901c60025b81811015611197578551925060208601955082841015611397578293505b600101611379565b8051602082015160409092019160009190808211156113bc578091505b601085901c60025b818110156111975785519250602086019550828411156113e2578293505b6001016113c4565b805160208201516040909201916000919061140581836129f4565b9150601085901c60025b81811015611197578551602090960195925061142b83856129f4565b935060010161140f565b80516020820151604090920191600091906114508183612a08565b9150601085901c60025b8181101561119757855160209096019592506114768385612a08565b935060010161145a565b805160208201516040909201916000919061149b8183612a1f565b9150601085901c60025b8181101561119757855160209096019592506114c18385612a1f565b93506001016114a5565b8051606084015160009190829081906114e49084611841565b915091508160000361122e5760a087015160808801516040517f669e48aa00000000000000000000000000000000000000000000000000000000815260048101919091526024810185905260009173ffffffffffffffffffffffffffffffffffffffff169063669e48aa90604401602060405180830381865afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190612a32565b60608901519091506115a690858361188b565b60608901528552610f31565b80516020820151606085015160409093019260009291906115d490838361188b565b606087015250829150509392505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861191d565b91509150818852600189161561162e578060208901525b509598975050505050505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861195f565b60606000825160020267ffffffffffffffff81111561168f5761168f612404565b6040519080825280601f01601f1916602001820160405280156116b9576020820181803683370190505b50905061ffff80196020850160208651028101600285015b818310156116f3578051835186169085161781526020909201916002016116d1565b50939695505050505050565b60008061170b8461198b565b6002026001019050600061171f85856119a9565b949091019093016020019392505050565b6000610c9e61174884670de0b6b3a764000085611a21565b90565b6000610c9e6117488484611b2c565b6000826012111561178f57601283900360028316156117855761177d8582611c33565b915050610c9e565b61177d8582611cc3565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156117ce5761177d8582611cfb565b61177d8582611d4d565b5082610c9e565b6000826012111561180257601283900360018316156117ce5761177d8582611cfb565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156117855761177d8582611c33565b600080826000526010600f6020600020060261ffff85821c165b80156118825780518503611879576001935060208101519250611882565b6040015161185b565b50509250929050565b6000826000526010600f6020600020060261ffff85821c16805b80156118bc57805186146118bc57604001516118a5565b8015801561190a5760405191506060820160405286825285602083015282604083015260028860f01c0161ffff60f01b1989168160f01b1798505061ffff841b19881682851b179750611911565b8560208301525b50959695505050505050565b6000806000806000611930898989611d70565b9250925092508560001461194e57611949868484611f14565b611951565b60005b999098509650505050505050565b6000806000806000611972898989611d70565b9250925092508560001461194e57611949868484612094565b6000815160000361199e57506000919050565b506020015160001a90565b6002810282016003015161ffff1660006119c28461198b565b8451909150600560028302840101908111806119de5750818410155b15611a195784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610989929190612a4b565b505092915050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611a7957838281611a6f57611a6f612843565b0492505050610c9e565b838110611ac3576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610989565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84860984860292508281108382030391505080600003611b7e5750670de0b6b3a7640000900490506101a1565b670de0b6b3a76400008110611bc9576040517f5173648d0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610989565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b6000604e8210611c73578215611c69577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611c6c565b60005b90506101a1565b50600a81900a8281029083818381611c8d57611c8d612843565b0414611cb9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611cbb565b815b949350505050565b600a81900a611cd28184612a08565b9050604e82106101a1578215611cf257611ced82600a6129e8565b610c9e565b50600092915050565b6000604e8210611d1f578215611d12576001611d15565b60005b60ff1690506101a1565b600a82900a808481611d3357611d33612843565b0491508082028414611d46576001820191505b5092915050565b6000604e821015611cf25781600a0a8381611d6a57611d6a612843565b04610c9e565b600080600080611d80868661220f565b506040517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015291925060009189169063e6a4390590604401602060405180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190612a6d565b905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190612aa8565b63ffffffff1692506dffffffffffffffffffffffffffff1692506dffffffffffffffffffffffffffff1692508473ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611efc57818382611f00565b8282825b919d909c50909a5098505050505050505050565b6000808411611fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201527f55545055545f414d4f554e5400000000000000000000000000000000000000006064820152608401610989565b600083118015611fb55750600082115b612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b600061204d8585612a08565b612059906103e8612a08565b905060006120678685612a1f565b612073906103e5612a08565b905061207f81836128b4565b61208a9060016128a1565b9695505050505050565b6000808411612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201527f4e5055545f414d4f554e540000000000000000000000000000000000000000006064820152608401610989565b6000831180156121355750600082115b6121c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b60006121cf856103e5612a08565b905060006121dd8483612a08565b90506000826121ee876103e8612a08565b6121f891906128a1565b905061220481836128b4565b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260448201527f45535345530000000000000000000000000000000000000000000000000000006064820152608401610989565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061230757828461230a565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606401610989565b9250929050565b61239b612af8565b565b6000602082840312156123af57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c9e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461240157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561247a5761247a612404565b604052919050565b600067ffffffffffffffff82111561249c5761249c612404565b5060051b60200190565b600082601f8301126124b757600080fd5b813560206124cc6124c783612482565b612433565b82815260059290921b840181019181810190868411156124eb57600080fd5b8286015b8481101561250657803583529183019183016124ef565b509695505050505050565b600082601f83011261252257600080fd5b813560206125326124c783612482565b82815260059290921b8401810191818101908684111561255157600080fd5b8286015b8481101561250657803567ffffffffffffffff8111156125755760008081fd5b6125838986838b01016124a6565b845250918301918301612555565b600080600080608085870312156125a757600080fd5b84356125b2816123df565b93506020850135925060408501359150606085013567ffffffffffffffff8111156125dc57600080fd5b6125e887828801612511565b91505092959194509250565b600081518084526020808501945080840160005b8381101561262457815187529582019590820190600101612608565b509495945050505050565b60408152600061264260408301856125f4565b828103602084015261106281856125f4565b803561ffff8116811461266657600080fd5b919050565b600080600080600080600060e0888a03121561268657600080fd5b8735612691816123df565b96506020888101359650604089013567ffffffffffffffff808211156126b657600080fd5b818b0191508b601f8301126126ca57600080fd5b8135818111156126dc576126dc612404565b61270c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612433565b8181528d8583860101111561272057600080fd5b81858501868301376000858383010152809950505061274160608c01612654565b965060808b0135955060a08b013592508083111561275e57600080fd5b61276a8c848d01612511565b945060c08b013592508083111561278057600080fd5b505061278e8a828b016124a6565b91505092959891949750929550565b6000815180845260005b818110156127c3576020818501810151868301820152016127a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c9e602083018461279d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101a1576101a1612872565b6000826128c3576128c3612843565b500490565b600181815b8085111561292157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561290757612907612872565b8085161561291457918102915b93841c93908002906128cd565b509250929050565b600082612938575060016101a1565b81612945575060006101a1565b816001811461295b576002811461296557612981565b60019150506101a1565b60ff84111561297657612976612872565b50506001821b6101a1565b5060208310610133831016604e8410600b84101617156129a4575081810a6101a1565b6129ae83836128c8565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156129e0576129e0612872565b029392505050565b6000610c9e8383612929565b600082612a0357612a03612843565b500690565b80820281158282048414176101a1576101a1612872565b818103818111156101a1576101a1612872565b600060208284031215612a4457600080fd5b5051919050565b604081526000612a5e604083018561279d565b90508260208301529392505050565b600060208284031215612a7f57600080fd5b8151610c9e816123df565b80516dffffffffffffffffffffffffffff8116811461266657600080fd5b600080600060608486031215612abd57600080fd5b612ac684612a8a565b9250612ad460208501612a8a565b9150604084015163ffffffff81168114612aed57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "sourceMap": "2324:3600:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4688:270;;;;;;:::i;:::-;;:::i;:::-;;;516:14:211;;509:22;491:41;;479:2;464:18;4688:270:81;;;;;;;;3771:885;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5004:736::-;;;;;;:::i;:::-;;:::i;5781:141::-;;;:::i;:::-;;;;;;;:::i;4688:270::-;4773:4;4796:47;;;4811:32;4796:47;;:103;;-1:-1:-1;4847:52:81;;;4862:37;4847:52;4796:103;:155;;;-1:-1:-1;952:25:34;937:40;;;;4915:36:81;4789:162;4688:270;-1:-1:-1;;4688:270:81:o;3771:885::-;3953:16;;1518:2:95;1481:39;;;1597:2;1560:39;;;4031:105:81;;;4032:18;4176:32;1481:39:95;4176:20:81;:32::i;:::-;4146:62;-1:-1:-1;4378:6:81;4359:26;;4276:19;4439:151;4359:26;4500:38;:9;4527:10;997:42:99;1094:25;;;1139:4;1132:20;1200:4;1187:18;;;877:344;4500:38:81;4540:5;4547:7;4556:24;;;;;;;;;;;;;;;;;4439:14;;:151;;;;:34;:151::i;:::-;4620:16;;;4634:1;4620:16;;;;;;;;4405:185;;-1:-1:-1;4607:42:81;;4405:185;;4638:10;4607:12;:42::i;:::-;4600:49;;;;;;;;;;3771:885;;;;;;;:::o;5004:736::-;5307:16;5325;5410:19;5512:6;5497:13;5493:26;5478:41;;5538:31;5584:100;5619:11;5632:9;5643:5;5650:7;5659:24;;;;;;;;;;;;;;;;;5584:14;;:100;;;;:34;:100::i;:::-;5538:146;-1:-1:-1;5701:32:81;5538:146;5714:6;5722:10;5701:12;:32::i;:::-;5694:39;;;;;;5004:736;;;;;;;;;;:::o;5781:141::-;5840:12;5871:44;:42;:44::i;:::-;5864:51;;5781:141;:::o;6737:1024:38:-;6792:18;6960:21;;6822:13;7004:10;;;7000:34;;7023:11;;;;;;;;;;;;;;7000:34;7302:4;7296:11;;7472:27;;;7501:9;7468:43;7457:55;;7444:69;;;7128:13;;;;7565:20;;;7296:11;;-1:-1:-1;7128:13:38;7139:1;7487:4;7718:16;;7708:8;7696:49;7069:686;6737:1024;;;:::o;1370:3106:144:-;1629:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:25:144;1787:4;1771:21;;;2051:13;;2406:17;2066:1;2047:21;;;2037:32;;2025:45;;2406:17;;;2468:13;2766:11;;1690:14;2460:22;;;2794:34;;;2880:20;;;2876:31;;2858:50;;2845:64;;;2509:14;;;;;2025:45;;;;2460:22;2590:1;2572:20;;2560:33;;;;;3003:23;;;;3043:1236;3068:12;3065:1;3062:19;3043:1236;;;3585:13;;3579:4;3575:24;3557:43;;3721:20;3981:4;3975:11;;3718:1;3713:29;;;4007:24;;;4086:17;;4105:4;4082:28;;;4071:40;;;4132:25;;;;4228:33;;;3221:1;3209:14;;;;3315:23;;;;;3109:9;3043:1236;;;3047:14;;;;4314:145;;;;;;;;4350:12;4314:145;;;;4364:9;4314:145;;;;4375:11;4314:145;;;;4402:1;4314:145;;;;4406:9;4314:145;;;;4417:5;4314:145;;;;;;4424:7;4314:145;;;;4433:8;4314:145;;;;4443:2;4314:145;;;4307:152;;;;;;1370:3106;;;;;;;;:::o;289:9015:97:-;430:16;448;504;563:5;:18;;;582:5;:17;;;563:37;;;;;;;;:::i;:::-;;;;;;;552:48;;691:1;675:6;:13;:17;671:573;;;832:25;1042:4;1033:6;1027:13;1023:24;1013:8;1009:39;997:51;;1106:4;1098:6;1094:17;1073:38;;1154:71;1182:17;1201:8;1211:6;:13;1154:27;:71::i;:::-;694:550;671:573;1290:19;1312:5;:17;;;1290:39;;1347:14;1379:11;1408:9;1435:22;1645:15;1681:1;1663:5;:8;;;:15;:19;;;;;:::i;:::-;1746:14;;;;1807:8;;;;2119:4;2105:19;;;2178:13;2367:1;1990:6;1973:24;;;;2505:19;;;2493:32;;2227:14;2493:32;;;2487:39;2481:4;2477:50;1722:21;2170:22;;;2348:21;;;;2336:34;;;2621:33;;;;;;;2750:13;2865:14;;;;;-1:-1:-1;3061:17:97;2742:22;;;3061:17;;;3337;;;;2877:1;3333:25;3321:38;;;;;;;-1:-1:-1;3061:17:97;;-1:-1:-1;3403:20:97;;-1:-1:-1;1663:19:97;;;;-1:-1:-1;3481:147:97;;1722:21;3709:3023;3725:3;3716:6;:12;3709:3023;;;3817:6;3811:13;3803:21;;4162:1;4152:7;4145:4;4142:1;4137:13;4133:27;4129:35;4113:14;4109:56;4103:63;4097:4;4093:74;4088:79;;4224:8;4217:4;4211;4207:15;4203:30;4192:41;;4287:27;4289:5;4296:7;4305:8;4287:1;:27;;:::i;:::-;4276:38;;4501:1;4491:7;4484:4;4481:1;4476:13;4472:27;4468:35;4452:14;4448:56;4442:63;4436:4;4432:74;4427:79;;4563:8;4556:4;4550;4546:15;4542:30;4531:41;;4626:27;4628:5;4635:7;4644:8;4626:1;:27;;:::i;:::-;4615:38;;4840:1;4830:7;4823:4;4820:1;4815:13;4811:27;4807:35;4791:14;4787:56;4781:63;4775:4;4771:74;4766:79;;4902:8;4895:4;4889;4885:15;4881:30;4870:41;;4965:27;4967:5;4974:7;4983:8;4965:1;:27;;:::i;:::-;4954:38;;5180:1;5170:7;5163:4;5159:2;5154:14;5150:28;5146:36;5130:14;5126:57;5120:64;5114:4;5110:75;5105:80;;5242:8;5235:4;5229;5225:15;5221:30;5210:41;;5305:27;5307:5;5314:7;5323:8;5305:1;:27;;:::i;:::-;5294:38;;5520:1;5510:7;5503:4;5499:2;5494:14;5490:28;5486:36;5470:14;5466:57;5460:64;5454:4;5450:75;5445:80;;5582:8;5575:4;5569;5565:15;5561:30;5550:41;;5645:27;5647:5;5654:7;5663:8;5645:1;:27;;:::i;:::-;5634:38;;5859:1;5849:7;5842:4;5838:2;5833:14;5829:28;5825:36;5809:14;5805:57;5799:64;5793:4;5789:75;5784:80;;5921:8;5914:4;5908;5904:15;5900:30;5889:41;;5984:27;5986:5;5993:7;6002:8;5984:1;:27;;:::i;:::-;5973:38;;6197:1;6187:7;6180:4;6176:2;6171:14;6167:28;6163:36;6147:14;6143:57;6137:64;6131:4;6127:75;6122:80;;6259:8;6252:4;6246;6242:15;6238:30;6227:41;;6322:27;6324:5;6331:7;6340:8;6322:1;:27;;:::i;:::-;6311:38;;6535:1;6525:7;6518:4;6514:2;6509:14;6505:28;6501:36;6485:14;6481:57;6475:64;6469:4;6465:75;6460:80;;6586:8;6580:4;6576:19;6565:30;;6649:27;6651:5;6658:7;6667:8;6649:1;:27;;:::i;:::-;6638:38;;6709:4;6699:14;;;;3709:3023;;;7004:4;6994:14;;;;7041:1;7045;7041:5;7032:6;:14;7026:20;;7064:449;7080:3;7071:6;:12;7064:449;;;-1:-1:-1;;7166:13:97;;7258:2;7253:14;;;7249:28;;;7279:1;7245:36;7225:57;;7219:64;7213:4;7209:75;;-1:-1:-1;7371:8:97;7361:19;;;7434:27;7436:5;7361:19;7452:8;7209:75;7434:27::i;:::-;7423:38;;7493:1;7483:11;;;;7064:449;;;1272:6255;;;;;;;;;7755:15;7773:66;7805:5;:14;;;7821:5;:17;;;7773:31;:66::i;:::-;7755:84;;8419:7;8406:10;:20;:43;;8442:7;8406:43;;;8429:10;8406:43;8553:19;;;;8589:23;;;8396:53;;-1:-1:-1;8557:8:97;;8567:4;8935:18;;8923:31;;;8841:371;8979:1;8976;8973:8;8841:371;;;9111:8;;9150;;9140:19;;9180:14;;9016:4;9009:12;;;;9047;;8841:371;;;8845:127;;9248:6;9256:30;:5;:13;;;:28;:30::i;:::-;9240:47;;;;;;;289:9015;;;;;;:::o;18823:4081:102:-;19211:3194;;;;;;;;2305:2;19211:3194;;;19638:16;19211:3194;;;;19676:19;19211:3194;;;;;;;19792:18;18880:12;19211:3194;;;;;;;19832:15;19211:3194;;;;19869:22;19211:3194;;;;19913:18;19211:3194;;;;20113:21;19211:3194;;;;;;;;;;20237:20;19211:3194;;;;20279:14;19211:3194;;;;20315:21;19211:3194;;;;20358:17;19211:3194;;;;20397:18;19211:3194;;;;20437:16;19211:3194;;;;20475:22;19211:3194;;;;20519:31;19211:3194;;;;20572:13;19211:3194;;;;20607:17;19211:3194;;;;20646:19;19211:3194;;;;20687:28;19211:3194;;;;20737:23;19211:3194;;;;20782:23;19211:3194;;;;20827:34;19211:3194;;;;20883:27;19211:3194;;;;20932:26;19211:3194;;;;21140:17;19211:3194;;;;;;;;;;21256:17;19211:3194;;;;21295:17;19211:3194;;;;21494:17;19211:3194;;;;;;;;;;21770:17;19211:3194;;;;;;;;;;21886:17;19211:3194;;;;21925:17;19211:3194;;;;22124:17;19211:3194;;;;;;;;;;22240:14;19211:3194;;;;22276:14;19211:3194;;;;22312:26;19211:3194;;;;22360:27;19211:3194;;;;18880:12;2305:2;;;19211:3194;22678:143;;22758:48;;;;;;;;22678:143;22841:46;22871:15;22841:29;:46::i;:::-;22834:53;;;;;;18823:4081;:::o;3212:359:157:-;3390:6;3384:4;3380:17;3372:6;3368:30;3350:205;3412:4;3404:6;3401:16;3350:205;;;3539:13;;3524:29;;3458:4;3446:17;;;;3490;;;;3350:205;;;3354:46;3212:359;;;:::o;3379:320:92:-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;5878:7160:148:-;6320:4;6314:11;;6356:4;6352:13;;;6424:4;6412:17;;;6391:40;;;6378:54;;;6445:21;;;5989:16;6032;6075;6119:17;6647:406;;;6688:3;6710:299;6731:7;6724:15;6710:299;;6909:7;6903:14;6895:6;6888:30;6984:4;6975:7;6971:18;6965:25;6958:4;6950:6;6946:17;6939:52;6793:4;6784:7;6780:18;6774:25;6763:36;;6842:4;6834:6;6830:17;6820:27;;6710:299;;;-1:-1:-1;7033:6:148;6647:406;-1:-1:-1;6647:406:148:o;:::-;7481:4;7474:5;7470:16;7624:2;7618:4;7614:13;7608:4;7604:24;7662:2;7655:10;7645:2693;;7736:2;7730:4;7726:13;7781:3;7774:11;7764:1330;;8399:3;8393:4;8389:14;8453:5;8446:13;8436:65;;8473:26;8493:5;8485:6;8473:26;:::i;:::-;8463:36;;8436:65;;8584:3;8576:6;8572:16;8634:4;8627:12;8617:451;;8736:4;8730;8726:15;8795:5;8788:13;8778:65;;8815:26;8835:5;8827:6;8815:26;:::i;:::-;8805:36;;8778:65;;8935:4;8927:6;8923:17;8990:5;8983:13;8973:65;;9010:26;9030:5;9022:6;9010:26;:::i;:::-;9000:36;;8973:65;;8617:451;;7764:1330;;9160:2;9152:6;9148:15;9201:3;9194:11;9184:1136;;9285:3;9279:4;9275:14;9335:4;9328:12;9318:451;;9437:4;9431;9427:15;9496:5;9489:13;9479:65;;9516:26;9536:5;9528:6;9516:26;:::i;:::-;9506:36;;9479:65;;9636:4;9628:6;9624:17;9691:5;9684:13;9674:65;;9711:26;9731:5;9723:6;9711:26;:::i;:::-;9701:36;;9674:65;;9318:451;;9845:3;9837:6;9833:16;9891:4;9884:12;9874:424;;9985:4;9979;9975:15;10040:5;10033:13;10023:65;;10060:26;10080:5;10072:6;10060:26;:::i;:::-;10050:36;;10023:65;;10173:4;10165:6;10161:17;10224:5;10217:13;10207:65;;10244:26;10264:5;10256:6;10244:26;:::i;:::-;10234:36;;10207:65;;9874:424;;9184:1136;;7645:2693;;10407:2;10398:7;10394:16;10444:2;10437:10;10427:2581;;10518:2;10512:4;10508:13;10563:3;10556:11;10546:1218;;10655:3;10649:4;10645:14;10709:4;10702:12;10692:479;;10819:4;10813;10809:15;10882:5;10875:13;10865:65;;10902:26;10922:5;10914:6;10902:26;:::i;:::-;10892:36;;10865:65;;11030:4;11022:6;11018:17;11089:5;11082:13;11072:65;;11109:26;11129:5;11121:6;11109:26;:::i;:::-;11099:36;;11072:65;;10692:479;;11254:3;11246:6;11242:16;11304:4;11297:12;11287:451;;11406:4;11400;11396:15;11465:5;11458:13;11448:65;;11485:26;11505:5;11497:6;11485:26;:::i;:::-;11475:36;;11448:65;;11605:4;11597:6;11593:17;11660:5;11653:13;11643:65;;11680:26;11700:5;11692:6;11680:26;:::i;:::-;11670:36;;11643:65;;11287:451;;10546:1218;;11830:2;11822:6;11818:15;11871:3;11864:11;11854:1136;;11955:3;11949:4;11945:14;12005:4;11998:12;11988:451;;12107:4;12101;12097:15;12166:5;12159:13;12149:65;;12186:26;12206:5;12198:6;12186:26;:::i;:::-;12176:36;;12149:65;;12306:4;12298:6;12294:17;12361:5;12354:13;12344:65;;12381:26;12401:5;12393:6;12381:26;:::i;:::-;12371:36;;12344:65;;11988:451;;12515:3;12507:6;12503:16;12561:4;12554:12;12544:424;;12655:4;12649;12645:15;12710:5;12703:13;12693:65;;12730:26;12750:5;12742:6;12730:26;:::i;:::-;12720:36;;12693:65;;12843:4;12835:6;12831:17;12894:5;12887:13;12877:65;;12914:26;12934:5;12926:6;12914:26;:::i;:::-;12904:36;;12877:65;;12544:424;;11854:1136;;10427:2581;;10366:2656;6171:6861;;;;5878:7160;;;:::o;1172:494:101:-;1317:17;;;;1412:12;;1430:4;1453:1;1436:19;;;1426:30;;1408:49;;;;1402:56;1522:15;;;1512:26;1495:44;;1489:51;1565:19;;;;1597:28;;;1565:19;1172:494;;;;;;:::o;1141:469:100:-;1293:15;;;;;1478:1;1465:15;;;;1461:26;;;1446:42;1440:49;1514:19;;;;1546:23;;;1514:19;1141:469::o;551:810:103:-;655:7;712:4;686:30;;823:1;796:28;;;1112:4;1085:31;;1081:87;;;1132:25;;;;;8291:2:211;1132:25:103;;;8273:21:211;8330:2;8310:18;;;8303:30;8369:17;8349:18;;;8342:45;8404:18;;1132:25:103;8089:339:211;1081:87:103;1177:9;1189:5;:13;;;1203:1;1189:16;;;;;;;;:::i;:::-;;;;;;;1206:1;1189:19;;;;;;;;:::i;:::-;;;;;;;;;;;1269;;;;1301;;;-1:-1:-1;1269:19:103;;551:810;-1:-1:-1;;;;;551:810:103:o;590:386:104:-;768:4;764:18;;;;784:4;760:29;815:27;;;867:32;871:21;;;;867:32;912:23;;;867:32;;-1:-1:-1;590:386:104:o;437:259:105:-;646:8;597:19;;;;;629:26;;;597:19;437:259;-1:-1:-1;;437:259:105:o;425:260:106:-;634:9;585:19;;;;;617:27;;;585:19;425:260;-1:-1:-1;;425:260:106:o;407:299:107:-;532:17;610:19;;;;;642:23;;;610:19;407:299;-1:-1:-1;;407:299:107:o;431:262:108:-;640:11;591:19;;;;;623:29;;;591:19;431:262;-1:-1:-1;;431:262:108:o;691:609:109:-;950:32;869:4;865:18;;;885:4;861:29;954:21;;;950:32;;;;789:7;;995:264;1045:3;1037:6;1034:15;995:264;;;1112:13;;1145:11;;1142:103;;1179:22;;1222:5;;1142:103;;1074:4;1066:6;1062:17;1052:27;;995:264;;;-1:-1:-1;1285:8:109;;691:609;-1:-1:-1;;;;;691:609:109:o;1589:745:110:-;1687:7;1706:17;1786:8;1876:4;1866:7;1860:4;1856:18;1852:29;1844:6;1840:42;1920:4;1915:3;1911:14;1899:26;;1807:377;1951:3;1943:6;1940:15;1807:377;;;2025:6;2019:13;2006:26;;2052:9;2049:121;;;2119:4;2111:6;2107:17;2101:24;2091:8;2084:42;2147:5;;2049:121;1980:4;1972:6;1968:17;1958:27;;1807:377;;;1811:128;;2207:9;2220:1;2207:14;2203:100;;2244:48;;;;;8608:6:211;8596:19;;2244:48:110;;;8578:38:211;8551:18;;2244:48:110;8433:189:211;2203:100:110;-1:-1:-1;2319:8:110;;1589:745;-1:-1:-1;;;1589:745:110:o;1191:1011:111:-;1514:13;;1289:7;;1478:4;1554:17;;;;1462:4;1458:18;;;1454:29;1442:42;;1409:321;1621:1;1610:9;1607:16;1601:3;1593:6;1590:15;1586:38;1409:321;;;1665:6;1659:13;1646:26;;1711:4;1703:6;1699:17;1689:27;;1409:321;;;1413:172;1753:9;1766:1;1753:14;1749:424;;1998:150;;;;;8830:6:211;8818:19;;1998:150:111;;;8800:38:211;2126:4:111;2066:49;;;:56;;2065:65;8854:18:211;;;8847:34;8773:18;;1998:150:111;8627:260:211;1749:424:111;2189:6;1191:1011;-1:-1:-1;;;;;1191:1011:111:o;545:310:112:-;702:15;;756:4;742:19;;;797:15;;791:22;;;774:40;;742:19;545:310;-1:-1:-1;;545:310:112:o;718:610:113:-;977:32;896:4;892:18;;;912:4;888:29;981:21;;;977:32;;;;816:7;;1022:265;1072:3;1064:6;1061:15;1022:265;;;1145:6;1139:13;1179:4;1169:104;;1207:22;;1250:5;;1169:104;;1101:4;1093:6;1089:17;1079:27;;1022:265;;561:310:114;718:15;;772:4;758:19;;;813:15;;807:22;;;790:40;;758:19;561:310;-1:-1:-1;;561:310:114:o;613:318:115:-;770:15;;824:4;810:19;;;872:15;;866:22;;;859:30;842:48;;810:19;613:318;-1:-1:-1;;613:318:115:o;643:354:116:-;808:15;;862:4;934:17;;927:25;921:4;917:36;903:51;;;;897:58;848:19;;880:76;;;848:19;643:354;-1:-1:-1;;643:354:116:o;490:230:117:-;662:15;;655:23;638:41;;662:15;490:230;-1:-1:-1;;490:230:117:o;549:310:118:-;706:15;;760:4;746:19;;;801:15;;795:22;;;778:40;;746:19;549:310;-1:-1:-1;;549:310:118:o;601:318:119:-;758:15;;812:4;798:19;;;860:15;;854:22;;;847:30;830:48;;798:19;601:318;-1:-1:-1;;601:318:119:o;1068:988:120:-;1267:15;;1320:4;1306:19;;1300:26;1365:4;1351:19;;;;1166:7;;1267:15;1408:37;1267:15;1300:26;1408:3;:37::i;:::-;1389:57;-1:-1:-1;1515:4:120;1488:31;;;1545:1;1560:334;1571:6;1567:1;:10;1560:334;;;1655:8;1649:15;1644:20;;1711:4;1701:8;1697:19;1685:31;;1770:37;1787:1;1804;1770:3;:37::i;:::-;1751:57;-1:-1:-1;1858:3:120;;1560:334;;;-1:-1:-1;;;1964:19:120;;;;;1996;;;-1:-1:-1;1964:19:120;1068:988;-1:-1:-1;;1068:988:120:o;1074::121:-;1273:15;;1326:4;1312:19;;1306:26;1371:4;1357:19;;;;1172:7;;1273:15;1414:37;1273:15;1306:26;1414:3;:37::i;:::-;1395:57;-1:-1:-1;1521:4:121;1494:31;;;1551:1;1566:334;1577:6;1573:1;:10;1566:334;;;1661:8;1655:15;1650:20;;1717:4;1707:8;1703:19;1691:31;;1776:37;1793:1;1810;1776:3;:37::i;:::-;1757:57;-1:-1:-1;1864:3:121;;1566:334;;768:472:122;975:15;;1029:4;1015:19;;;1052:15;;1015:19;;866:7;;1052:15;1090:41;1052:15;975;1122:7;1090:9;:41::i;:::-;1180:19;;-1:-1:-1;1180:19:122;;768:472;-1:-1:-1;;;;768:472:122:o;653:398:123:-;833:15;;751:7;;871:71;833:15;907:4;881:30;;940:1;913:28;;;871:9;:71::i;:::-;991:19;;-1:-1:-1;991:19:123;;653:398;-1:-1:-1;;;653:398:123:o;661:397:124:-;841:15;;759:7;;879:70;841:15;914:4;888:30;;947:1;920:28;;;879:8;:70::i;741:887:125:-;940:15;;993:4;979:19;;973:26;1038:4;1024:19;;;;839:7;;940:15;1062:6;973:26;940:15;1062:6;:::i;:::-;;-1:-1:-1;1137:4:125;1110:31;;;1167:1;1182:283;1193:6;1189:1;:10;1182:283;;;1271:15;;1333:4;1319:19;;;;1271:15;-1:-1:-1;1373:6:125;1271:15;1373:6;;:::i;:::-;;-1:-1:-1;1429:3:125;;1182:283;;769:887:126;968:15;;1021:4;1007:19;;1001:26;1066:4;1052:19;;;;867:7;;968:15;1090:6;1001:26;968:15;1090:6;:::i;:::-;;-1:-1:-1;1165:4:126;1138:31;;;1195:1;1210:283;1221:6;1217:1;:10;1210:283;;;1299:15;;1361:4;1347:19;;;;1299:15;-1:-1:-1;1401:6:126;1299:15;1401:6;;:::i;:::-;;-1:-1:-1;1457:3:126;;1210:283;;775:894:127;974:15;;1027:4;1013:19;;1007:26;1072:4;1058:19;;;;873:7;;974:15;1100:6;1007:26;974:15;1100:6;:::i;:::-;1096:10;-1:-1:-1;1175:4:127;1148:31;;;1205:1;1220:287;1231:6;1227:1;:10;1220:287;;;1309:15;;1371:4;1357:19;;;;1309:15;-1:-1:-1;1415:6:127;1309:15;1415:1;:6;:::i;:::-;1411:10;-1:-1:-1;1471:3:127;;1220:287;;704:971:128;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;704:971:129;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;739:887:130;938:15;;991:4;977:19;;971:26;1036:4;1022:19;;;;837:7;;938:15;1060:6;971:26;938:15;1060:6;:::i;:::-;;-1:-1:-1;1135:4:130;1108:31;;;1165:1;1180:283;1191:6;1187:1;:10;1180:283;;;1269:15;;1331:4;1317:19;;;;1269:15;-1:-1:-1;1371:6:130;1269:15;1371:6;;:::i;:::-;;-1:-1:-1;1427:3:130;;1180:283;;755:886:131;954:15;;1007:4;993:19;;987:26;1052:4;1038:19;;;;853:7;;954:15;1076:6;987:26;954:15;1076:6;:::i;:::-;;-1:-1:-1;1151:4:131;1124:31;;;1181:1;1196:283;1207:6;1203:1;:10;1196:283;;;1285:15;;1347:4;1333:19;;;;1285:15;-1:-1:-1;1387:6:131;1285:15;1387:6;;:::i;:::-;;-1:-1:-1;1443:3:131;;1196:283;;729:887:132;928:15;;981:4;967:19;;961:26;1026:4;1012:19;;;;827:7;;928:15;1050:6;961:26;928:15;1050:6;:::i;:::-;;-1:-1:-1;1125:4:132;1098:31;;;1155:1;1170:283;1181:6;1177:1;:10;1170:283;;;1259:15;;1321:4;1307:19;;;;1259:15;-1:-1:-1;1361:6:132;1259:15;1361:6;;:::i;:::-;;-1:-1:-1;1417:3:132;;1170:283;;1003:945:133;1185:15;;1257:13;;;;1099:7;;1185:15;1099:7;;;;1257:40;;1185:15;1257:17;:40::i;:::-;1219:78;;;;1360:6;1370:1;1360:11;1356:560;;1408:11;;;;1424:15;;;;1408:37;;;;;;;;8010:25:211;;;;8051:18;;;8044:34;;;1387:18:133;;1408:15;;;;;7983:18:211;;1408:37:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1596:13;;;;1387:58;;-1:-1:-1;1596:70:133;;1631:3;1387:58;1596:17;:70::i;:::-;1580:13;;;:86;1724:28;;1356:560;;604:495:134;829:15;;890:4;876:19;;870:26;988:13;;;;939:4;925:19;;;;700:7;;829:15;870:26;988:65;;829:15;870:26;988:17;:65::i;:::-;972:13;;;:81;-1:-1:-1;1074:8:134;;-1:-1:-1;;604:495:134;;;;;:::o;700:941:135:-;970:15;;1031:4;1017:19;;;1011:26;1081:4;1067:19;;;1061:26;1132:4;1118:19;;1112:26;1217:1;1204:15;;1197:23;1187:34;;;1163:60;;;;;798:7;;970:15;798:7;;1289:154;970:15;1061:26;1112;1011;1289:39;:154::i;:::-;1242:201;;;;1510:8;1500;1493:26;1548:1;1539:7;1535:15;1532:68;;;1581:16;1574:4;1564:8;1560:19;1553:45;1532:68;-1:-1:-1;1626:8:135;;700:941;-1:-1:-1;;;;;;;;700:941:135:o;703::136:-;972:15;;1032:4;1018:19;;;1012:26;1082:4;1068:19;;;1062:26;1133:4;1119:19;;1113:26;1218:1;1205:15;;1198:23;1188:34;;;1164:60;;;;;801:7;;972:15;801:7;;1291:154;972:15;1062:26;1113;1012;1291:40;:154::i;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;3162:133:65:-;3211:14;3242:50;3247:44;3261:1;1663:4:61;3280:1:65;3247:13;:44::i;:::-;2988:1:60;2901:92;18988:128:65;19037:14;19068:45;19073:39;19089:1;19101;19073:15;:39::i;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;7325:878;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;1347:770:148:-;1413:14;1429:17;1611:3;1608:1;1601:14;1678:4;1673:2;1666:4;1663:1;1653:18;1649:27;1645:38;1807:6;1802:2;1791:9;1787:18;1783:31;1762:339;1831:7;1824:15;1762:339;;1945:7;1939:14;1934:3;1931:23;1928:159;;1987:1;1977:11;;2037:4;2028:7;2024:18;2018:25;2009:34;;2064:5;;1928:159;1889:4;1876:18;1870:25;1762:339;;;1766:50;;1347:770;;;;;:::o;2703:2078::-;2788:8;2976:3;2973:1;2966:14;3043:4;3038:2;3031:4;3028:1;3018:18;3014:27;3010:38;3236:6;3231:2;3220:9;3216:18;3212:31;3354:12;3379:140;3400:7;3393:15;3379:140;;3480:14;;3469:36;;3498:5;3469:36;3442:4;3429:18;3423:25;3379:140;;;3684:15;;3735:44;;;;3905:4;3899:11;3888:22;;3953:4;3944:7;3940:18;3934:4;3927:32;4037:3;4028:7;4021:20;4085:5;4078:4;4069:7;4065:18;4058:33;4135:12;4128:4;4119:7;4115:18;4108:40;4250:1;4245:2;4239:4;4235:13;4231:21;4380:6;4374:4;4370:17;4366:22;4362:2;4358:31;4349:6;4343:4;4339:17;4336:54;4330:60;;;4701:6;4690:9;4686:22;4682:27;4678:2;4674:36;4588:7;4577:9;4573:23;4545:187;4519:213;;3677:1069;;3735:44;3771:5;3764:4;3755:7;3751:18;3744:33;3677:1069;-1:-1:-1;4772:2:148;;2703:2078;-1:-1:-1;;;;;;2703:2078:148:o;4381:603:146:-;4535:16;4553:17;4587;4606:18;4626:24;4666:47;4686:7;4695;4704:8;4666:19;:47::i;:::-;4586:127;;;;;;4873:9;4886:1;4873:14;:66;;4894:45;4906:9;4917;4928:10;4894:11;:45::i;:::-;4873:66;;;4890:1;4873:66;4862:77;4961:16;;-1:-1:-1;4381:603:146;-1:-1:-1;;;;;;;4381:603:146:o;5265:604::-;5419:17;5438;5472;5491:18;5511:24;5551:47;5571:7;5580;5589:8;5551:19;:47::i;:::-;5471:127;;;;;;5759:8;5771:1;5759:13;:65;;5779:45;5792:8;5802:9;5813:10;5779:12;:45::i;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;831:1113::-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;14476:4121:44:-;14549:14;;;15029:6;15026:1;15023;15016:20;15061:1;15058;15054:9;15045:18;;15108:5;15104:2;15101:13;15093:5;15089:2;15085:14;15081:34;15072:43;;;15186:5;15195:1;15186:10;15182:93;;15247:11;15239:5;:19;;;;;:::i;:::-;;15232:26;;;;;;15182:93;15374:11;15365:5;:20;15361:92;;15404:42;;;;;;;;12235:25:211;;;12276:18;;;12269:34;;;12319:18;;;12312:34;;;12208:18;;15404:42:44;12033:319:211;15361:92:44;15725:17;15872:11;15869:1;15866;15859:25;17578:1;16437;16422:12;;:16;;16407:32;;16592:25;;;;17559:1;:15;;17558:21;;17799;;;17795:25;;17784:36;17864:21;;;17860:25;;17849:36;17930:21;;;17926:25;;17915:36;17996:21;;;17992:25;;17981:36;18062:21;;;18058:25;;18047:36;18129:21;;;18125:25;;;18114:36;;;16389:15;17110;;;17106:29;;;17102:37;;;15970:20;;;15959:32;;;17216:22;;;;16009:21;;16688:19;;;;17207:31;;;;18573:15;;;-1:-1:-1;;;;14476:4121:44:o;19581:819::-;19635:14;;;19753:6;19750:1;19747;19740:20;19785:1;19782;19778:9;19769:18;;19832:5;19828:2;19825:13;19817:5;19813:2;19809:14;19805:34;19796:43;;;19855:5;19864:1;19855:10;19851:86;;-1:-1:-1;1506:4:44;19908:12;;;-1:-1:-1;19901:19:44;;19851:86;1506:4;19947:5;:13;19943:74;;19979:31;;;;;;;;8010:25:211;;;8051:18;;;8044:34;;;7983:18;;19979:31:44;7836:248:211;19943:74:44;20023:17;20107:4;20104:1;20101;20094:18;20314:10;20192:21;;;20188:38;20263:20;-1:-1:-1;20252:32:44;;;20286:43;20248:82;20164:184;;;;20366:12;20143:249;;-1:-1:-1;;19581:819:44;;;;:::o;3534:689:152:-;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;;4171:1;4157:35;4153:39;3534:689;-1:-1:-1;;;;3534:689:152:o;2590:688::-;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;5720:1;5715:6;;;;5677:63;5397:357;5172:598;;;;:::o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;2102:790:146;2227:16;2245;2263:17;2297:14;2316:26;2327:6;2335;2316:10;:26::i;:::-;-1:-1:-1;2566:50:146;;;;;:34;12610:15:211;;;2566:50:146;;;12592:34:211;12662:15;;;12642:18;;;12635:43;2296:46:146;;-1:-1:-1;2551:12:146;;2566:34;;;;;12504:18:211;;2566:50:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2551:65;;2627:16;2645;2663:26;2708:4;2693:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2626:101;;;;;;;;;;;;2793:6;2783:16;;:6;:16;;;:102;;2846:8;2856;2866:18;2783:102;;;2803:8;2813;2823:18;2783:102;2737:148;;;;-1:-1:-1;2737:148:146;;-1:-1:-1;2102:790:146;-1:-1:-1;;;;;;;;;2102:790:146:o;2971:499::-;3097:16;3149:1;3137:9;:13;3129:70;;;;;;;13816:2:211;3129:70:146;;;13798:21:211;13855:2;13835:18;;;13828:30;13894:34;13874:18;;;13867:62;13965:14;13945:18;;;13938:42;13997:19;;3129:70:146;13614:408:211;3129:70:146;3229:1;3217:9;:13;:31;;;;;3247:1;3234:10;:14;3217:31;3209:84;;;;;;;14229:2:211;3209:84:146;;;14211:21:211;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3209:84:146;14027:404:211;3209:84:146;3303:17;3323:21;3335:9;3323;:21;:::i;:::-;:28;;3347:4;3323:28;:::i;:::-;3303:48;-1:-1:-1;3361:19:146;3384:22;3397:9;3384:10;:22;:::i;:::-;3383:30;;3410:3;3383:30;:::i;:::-;3361:52;-1:-1:-1;3435:23:146;3361:52;3435:9;:23;:::i;:::-;3434:29;;3462:1;3434:29;:::i;:::-;3423:40;2971:499;-1:-1:-1;;;;;;2971:499:146:o;3550:549::-;3676:17;3728:1;3717:8;:12;3709:68;;;;;;;14638:2:211;3709:68:146;;;14620:21:211;14677:2;14657:18;;;14650:30;14716:34;14696:18;;;14689:62;14787:13;14767:18;;;14760:41;14818:19;;3709:68:146;14436:407:211;3709:68:146;3807:1;3795:9;:13;:31;;;;;3825:1;3812:10;:14;3795:31;3787:84;;;;;;;14229:2:211;3787:84:146;;;14211:21:211;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3787:84:146;14027:404:211;3787:84:146;3881:23;3907:14;:8;3918:3;3907:14;:::i;:::-;3881:40;-1:-1:-1;3931:17:146;3951:28;3969:10;3881:40;3951:28;:::i;:::-;3931:48;-1:-1:-1;3989:19:146;4032:15;4012:16;:9;4024:4;4012:16;:::i;:::-;4011:36;;;;:::i;:::-;3989:58;-1:-1:-1;4069:23:146;3989:58;4069:9;:23;:::i;:::-;4057:35;3550:549;-1:-1:-1;;;;;;;3550:549:146:o;762:345::-;837:14;853;897:6;887:16;;:6;:16;;;879:66;;;;;;;15050:2:211;879:66:146;;;15032:21:211;15089:2;15069:18;;;15062:30;15128:34;15108:18;;;15101:62;15199:7;15179:18;;;15172:35;15224:19;;879:66:146;14848:401:211;879:66:146;983:6;974:15;;:6;:15;;;:53;;1012:6;1020;974:53;;;993:6;1001;974:53;955:72;;-1:-1:-1;955:72:146;-1:-1:-1;1045:20:146;;;1037:63;;;;;;;15456:2:211;1037:63:146;;;15438:21:211;15495:2;15475:18;;;15468:30;15534:32;15514:18;;;15507:60;15584:18;;1037:63:146;15254:354:211;1037:63:146;762:345;;;;;:::o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:211:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:175;650:42;643:5;639:54;632:5;629:65;619:93;;708:1;705;698:12;619:93;543:175;:::o;723:184::-;775:77;772:1;765:88;872:4;869:1;862:15;896:4;893:1;886:15;912:334;983:2;977:9;1039:2;1029:13;;1044:66;1025:86;1013:99;;1142:18;1127:34;;1163:22;;;1124:62;1121:88;;;1189:18;;:::i;:::-;1225:2;1218:22;912:334;;-1:-1:-1;912:334:211:o;1251:193::-;1321:4;1354:18;1346:6;1343:30;1340:56;;;1376:18;;:::i;:::-;-1:-1:-1;1421:1:211;1417:14;1433:4;1413:25;;1251:193::o;1449:672::-;1503:5;1556:3;1549:4;1541:6;1537:17;1533:27;1523:55;;1574:1;1571;1564:12;1523:55;1610:6;1597:20;1636:4;1660:70;1676:53;1726:2;1676:53;:::i;:::-;1660:70;:::i;:::-;1764:15;;;1850:1;1846:10;;;;1834:23;;1830:32;;;1795:12;;;;1874:15;;;1871:35;;;1902:1;1899;1892:12;1871:35;1938:2;1930:6;1926:15;1950:142;1966:6;1961:3;1958:15;1950:142;;;2032:17;;2020:30;;2070:12;;;;1983;;1950:142;;;-1:-1:-1;2110:5:211;1449:672;-1:-1:-1;;;;;;1449:672:211:o;2126:920::-;2190:5;2243:3;2236:4;2228:6;2224:17;2220:27;2210:55;;2261:1;2258;2251:12;2210:55;2297:6;2284:20;2323:4;2347:70;2363:53;2413:2;2363:53;:::i;2347:70::-;2451:15;;;2537:1;2533:10;;;;2521:23;;2517:32;;;2482:12;;;;2561:15;;;2558:35;;;2589:1;2586;2579:12;2558:35;2625:2;2617:6;2613:15;2637:380;2653:6;2648:3;2645:15;2637:380;;;2739:3;2726:17;2775:18;2762:11;2759:35;2756:125;;;2835:1;2864:2;2860;2853:14;2756:125;2906:68;2970:3;2965:2;2951:11;2943:6;2939:24;2935:33;2906:68;:::i;:::-;2894:81;;-1:-1:-1;2995:12:211;;;;2670;;2637:380;;3051:778;3289:6;3297;3305;3313;3366:3;3354:9;3345:7;3341:23;3337:33;3334:53;;;3383:1;3380;3373:12;3334:53;3422:9;3409:23;3441:52;3487:5;3441:52;:::i;:::-;3512:5;-1:-1:-1;3564:2:211;3549:18;;3536:32;;-1:-1:-1;3615:2:211;3600:18;;3587:32;;-1:-1:-1;3670:2:211;3655:18;;3642:32;3697:18;3686:30;;3683:50;;;3729:1;3726;3719:12;3683:50;3752:71;3815:7;3806:6;3795:9;3791:22;3752:71;:::i;:::-;3742:81;;;3051:778;;;;;;;:::o;3834:435::-;3887:3;3925:5;3919:12;3952:6;3947:3;3940:19;3978:4;4007:2;4002:3;3998:12;3991:19;;4044:2;4037:5;4033:14;4065:1;4075:169;4089:6;4086:1;4083:13;4075:169;;;4150:13;;4138:26;;4184:12;;;;4219:15;;;;4111:1;4104:9;4075:169;;;-1:-1:-1;4260:3:211;;3834:435;-1:-1:-1;;;;;3834:435:211:o;4274:465::-;4531:2;4520:9;4513:21;4494:4;4557:56;4609:2;4598:9;4594:18;4586:6;4557:56;:::i;:::-;4661:9;4653:6;4649:22;4644:2;4633:9;4629:18;4622:50;4689:44;4726:6;4718;4689:44;:::i;4744:185::-;4837:20;;4897:6;4886:18;;4876:29;;4866:57;;4919:1;4916;4909:12;4866:57;4744:185;;;:::o;4934:1811::-;5238:6;5246;5254;5262;5270;5278;5286;5339:3;5327:9;5318:7;5314:23;5310:33;5307:53;;;5356:1;5353;5346:12;5307:53;5395:9;5382:23;5414:52;5460:5;5414:52;:::i;:::-;5485:5;-1:-1:-1;5509:2:211;5543:18;;;5530:32;;-1:-1:-1;5613:2:211;5598:18;;5585:32;5636:18;5666:14;;;5663:34;;;5693:1;5690;5683:12;5663:34;5731:6;5720:9;5716:22;5706:32;;5776:7;5769:4;5765:2;5761:13;5757:27;5747:55;;5798:1;5795;5788:12;5747:55;5834:2;5821:16;5856:2;5852;5849:10;5846:36;;;5862:18;;:::i;:::-;5904:112;6012:2;5943:66;5936:4;5932:2;5928:13;5924:86;5920:95;5904:112;:::i;:::-;6039:2;6032:5;6025:17;6079:7;6074:2;6069;6065;6061:11;6057:20;6054:33;6051:53;;;6100:1;6097;6090:12;6051:53;6155:2;6150;6146;6142:11;6137:2;6130:5;6126:14;6113:45;6199:1;6194:2;6189;6182:5;6178:14;6174:23;6167:34;6220:5;6210:15;;;;6244:63;6303:2;6292:9;6288:18;6244:63;:::i;:::-;6234:73;;6354:3;6343:9;6339:19;6326:33;6316:43;;6412:3;6401:9;6397:19;6384:33;6368:49;;6442:2;6432:8;6429:16;6426:36;;;6458:1;6455;6448:12;6426:36;6481:73;6546:7;6535:8;6524:9;6520:24;6481:73;:::i;:::-;6471:83;;6607:3;6596:9;6592:19;6579:33;6563:49;;6637:2;6627:8;6624:16;6621:36;;;6653:1;6650;6643:12;6621:36;;;6676:63;6731:7;6720:8;6709:9;6705:24;6676:63;:::i;:::-;6666:73;;;4934:1811;;;;;;;;;;:::o;6750:481::-;6791:3;6829:5;6823:12;6856:6;6851:3;6844:19;6881:1;6891:162;6905:6;6902:1;6899:13;6891:162;;;6967:4;7023:13;;;7019:22;;7013:29;6995:11;;;6991:20;;6984:59;6920:12;6891:162;;;6895:3;7098:1;7091:4;7082:6;7077:3;7073:16;7069:27;7062:38;7220:4;7150:66;7145:2;7137:6;7133:15;7129:88;7124:3;7120:98;7116:109;7109:116;;;6750:481;;;;:::o;7236:217::-;7383:2;7372:9;7365:21;7346:4;7403:44;7443:2;7432:9;7428:18;7420:6;7403:44;:::i;7458:184::-;7510:77;7507:1;7500:88;7607:4;7604:1;7597:15;7631:4;7628:1;7621:15;7647:184;7699:77;7696:1;7689:88;7796:4;7793:1;7786:15;7820:4;7817:1;7810:15;8892:184;8944:77;8941:1;8934:88;9041:4;9038:1;9031:15;9065:4;9062:1;9055:15;9081:125;9146:9;;;9167:10;;;9164:36;;;9180:18;;:::i;9211:120::-;9251:1;9277;9267:35;;9282:18;;:::i;:::-;-1:-1:-1;9316:9:211;;9211:120::o;9336:482::-;9425:1;9468:5;9425:1;9482:330;9503:7;9493:8;9490:21;9482:330;;;9622:4;9554:66;9550:77;9544:4;9541:87;9538:113;;;9631:18;;:::i;:::-;9681:7;9671:8;9667:22;9664:55;;;9701:16;;;;9664:55;9780:22;;;;9740:15;;;;9482:330;;;9486:3;9336:482;;;;;:::o;9823:866::-;9872:5;9902:8;9892:80;;-1:-1:-1;9943:1:211;9957:5;;9892:80;9991:4;9981:76;;-1:-1:-1;10028:1:211;10042:5;;9981:76;10073:4;10091:1;10086:59;;;;10159:1;10154:130;;;;10066:218;;10086:59;10116:1;10107:10;;10130:5;;;10154:130;10191:3;10181:8;10178:17;10175:43;;;10198:18;;:::i;:::-;-1:-1:-1;;10254:1:211;10240:16;;10269:5;;10066:218;;10368:2;10358:8;10355:16;10349:3;10343:4;10340:13;10336:36;10330:2;10320:8;10317:16;10312:2;10306:4;10303:12;10299:35;10296:77;10293:159;;;-1:-1:-1;10405:19:211;;;10437:5;;10293:159;10484:34;10509:8;10503:4;10484:34;:::i;:::-;10614:6;10546:66;10542:79;10533:7;10530:92;10527:118;;;10625:18;;:::i;:::-;10663:20;;9823:866;-1:-1:-1;;;9823:866:211:o;10694:131::-;10754:5;10783:36;10810:8;10804:4;10783:36;:::i;10830:112::-;10862:1;10888;10878:35;;10893:18;;:::i;:::-;-1:-1:-1;10927:9:211;;10830:112::o;10947:168::-;11020:9;;;11051;;11068:15;;;11062:22;;11048:37;11038:71;;11089:18;;:::i;11120:128::-;11187:9;;;11208:11;;;11205:37;;;11222:18;;:::i;11551:184::-;11621:6;11674:2;11662:9;11653:7;11649:23;11645:32;11642:52;;;11690:1;11687;11680:12;11642:52;-1:-1:-1;11713:16:211;;11551:184;-1:-1:-1;11551:184:211:o;11740:288::-;11915:2;11904:9;11897:21;11878:4;11935:44;11975:2;11964:9;11960:18;11952:6;11935:44;:::i;:::-;11927:52;;12015:6;12010:2;11999:9;11995:18;11988:34;11740:288;;;;;:::o;12689:272::-;12759:6;12812:2;12800:9;12791:7;12787:23;12783:32;12780:52;;;12828:1;12825;12818:12;12780:52;12860:9;12854:16;12879:52;12925:5;12879:52;:::i;12966:188::-;13045:13;;13098:30;13087:42;;13077:53;;13067:81;;13144:1;13141;13134:12;13159:450;13246:6;13254;13262;13315:2;13303:9;13294:7;13290:23;13286:32;13283:52;;;13331:1;13328;13321:12;13283:52;13354:40;13384:9;13354:40;:::i;:::-;13344:50;;13413:49;13458:2;13447:9;13443:18;13413:49;:::i;:::-;13403:59;;13505:2;13494:9;13490:18;13484:25;13549:10;13542:5;13538:22;13531:5;13528:33;13518:61;;13575:1;13572;13565:12;13518:61;13598:5;13588:15;;;13159:450;;;;;:::o;15613:184::-;15665:77;15662:1;15655:88;15762:4;15759:1;15752:15;15786:4;15783:1;15776:15", + "sourceMap": "2324:3600:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4688:270;;;;;;:::i;:::-;;:::i;:::-;;;516:14:212;;509:22;491:41;;479:2;464:18;4688:270:81;;;;;;;;3771:885;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5004:736::-;;;;;;:::i;:::-;;:::i;5781:141::-;;;:::i;:::-;;;;;;;:::i;4688:270::-;4773:4;4796:47;;;4811:32;4796:47;;:103;;-1:-1:-1;4847:52:81;;;4862:37;4847:52;4796:103;:155;;;-1:-1:-1;952:25:34;937:40;;;;4915:36:81;4789:162;4688:270;-1:-1:-1;;4688:270:81:o;3771:885::-;3953:16;;1518:2:95;1481:39;;;1597:2;1560:39;;;4031:105:81;;;4032:18;4176:32;1481:39:95;4176:20:81;:32::i;:::-;4146:62;-1:-1:-1;4378:6:81;4359:26;;4276:19;4439:151;4359:26;4500:38;:9;4527:10;997:42:99;1094:25;;;1139:4;1132:20;1200:4;1187:18;;;877:344;4500:38:81;4540:5;4547:7;4556:24;;;;;;;;;;;;;;;;;4439:14;;:151;;;;:34;:151::i;:::-;4620:16;;;4634:1;4620:16;;;;;;;;4405:185;;-1:-1:-1;4607:42:81;;4405:185;;4638:10;4607:12;:42::i;:::-;4600:49;;;;;;;;;;3771:885;;;;;;;:::o;5004:736::-;5307:16;5325;5410:19;5512:6;5497:13;5493:26;5478:41;;5538:31;5584:100;5619:11;5632:9;5643:5;5650:7;5659:24;;;;;;;;;;;;;;;;;5584:14;;:100;;;;:34;:100::i;:::-;5538:146;-1:-1:-1;5701:32:81;5538:146;5714:6;5722:10;5701:12;:32::i;:::-;5694:39;;;;;;5004:736;;;;;;;;;;:::o;5781:141::-;5840:12;5871:44;:42;:44::i;:::-;5864:51;;5781:141;:::o;6737:1024:38:-;6792:18;6960:21;;6822:13;7004:10;;;7000:34;;7023:11;;;;;;;;;;;;;;7000:34;7302:4;7296:11;;7472:27;;;7501:9;7468:43;7457:55;;7444:69;;;7128:13;;;;7565:20;;;7296:11;;-1:-1:-1;7128:13:38;7139:1;7487:4;7718:16;;7708:8;7696:49;7069:686;6737:1024;;;:::o;1370:3106:144:-;1629:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:25:144;1787:4;1771:21;;;2051:13;;2406:17;2066:1;2047:21;;;2037:32;;2025:45;;2406:17;;;2468:13;2766:11;;1690:14;2460:22;;;2794:34;;;2880:20;;;2876:31;;2858:50;;2845:64;;;2509:14;;;;;2025:45;;;;2460:22;2590:1;2572:20;;2560:33;;;;;3003:23;;;;3043:1236;3068:12;3065:1;3062:19;3043:1236;;;3585:13;;3579:4;3575:24;3557:43;;3721:20;3981:4;3975:11;;3718:1;3713:29;;;4007:24;;;4086:17;;4105:4;4082:28;;;4071:40;;;4132:25;;;;4228:33;;;3221:1;3209:14;;;;3315:23;;;;;3109:9;3043:1236;;;3047:14;;;;4314:145;;;;;;;;4350:12;4314:145;;;;4364:9;4314:145;;;;4375:11;4314:145;;;;4402:1;4314:145;;;;4406:9;4314:145;;;;4417:5;4314:145;;;;;;4424:7;4314:145;;;;4433:8;4314:145;;;;4443:2;4314:145;;;4307:152;;;;;;1370:3106;;;;;;;;:::o;289:9015:97:-;430:16;448;504;563:5;:18;;;582:5;:17;;;563:37;;;;;;;;:::i;:::-;;;;;;;552:48;;691:1;675:6;:13;:17;671:573;;;832:25;1042:4;1033:6;1027:13;1023:24;1013:8;1009:39;997:51;;1106:4;1098:6;1094:17;1073:38;;1154:71;1182:17;1201:8;1211:6;:13;1154:27;:71::i;:::-;694:550;671:573;1290:19;1312:5;:17;;;1290:39;;1347:14;1379:11;1408:9;1435:22;1645:15;1681:1;1663:5;:8;;;:15;:19;;;;;:::i;:::-;1746:14;;;;1807:8;;;;2119:4;2105:19;;;2178:13;2367:1;1990:6;1973:24;;;;2505:19;;;2493:32;;2227:14;2493:32;;;2487:39;2481:4;2477:50;1722:21;2170:22;;;2348:21;;;;2336:34;;;2621:33;;;;;;;2750:13;2865:14;;;;;-1:-1:-1;3061:17:97;2742:22;;;3061:17;;;3337;;;;2877:1;3333:25;3321:38;;;;;;;-1:-1:-1;3061:17:97;;-1:-1:-1;3403:20:97;;-1:-1:-1;1663:19:97;;;;-1:-1:-1;3481:147:97;;1722:21;3709:3023;3725:3;3716:6;:12;3709:3023;;;3817:6;3811:13;3803:21;;4162:1;4152:7;4145:4;4142:1;4137:13;4133:27;4129:35;4113:14;4109:56;4103:63;4097:4;4093:74;4088:79;;4224:8;4217:4;4211;4207:15;4203:30;4192:41;;4287:27;4289:5;4296:7;4305:8;4287:1;:27;;:::i;:::-;4276:38;;4501:1;4491:7;4484:4;4481:1;4476:13;4472:27;4468:35;4452:14;4448:56;4442:63;4436:4;4432:74;4427:79;;4563:8;4556:4;4550;4546:15;4542:30;4531:41;;4626:27;4628:5;4635:7;4644:8;4626:1;:27;;:::i;:::-;4615:38;;4840:1;4830:7;4823:4;4820:1;4815:13;4811:27;4807:35;4791:14;4787:56;4781:63;4775:4;4771:74;4766:79;;4902:8;4895:4;4889;4885:15;4881:30;4870:41;;4965:27;4967:5;4974:7;4983:8;4965:1;:27;;:::i;:::-;4954:38;;5180:1;5170:7;5163:4;5159:2;5154:14;5150:28;5146:36;5130:14;5126:57;5120:64;5114:4;5110:75;5105:80;;5242:8;5235:4;5229;5225:15;5221:30;5210:41;;5305:27;5307:5;5314:7;5323:8;5305:1;:27;;:::i;:::-;5294:38;;5520:1;5510:7;5503:4;5499:2;5494:14;5490:28;5486:36;5470:14;5466:57;5460:64;5454:4;5450:75;5445:80;;5582:8;5575:4;5569;5565:15;5561:30;5550:41;;5645:27;5647:5;5654:7;5663:8;5645:1;:27;;:::i;:::-;5634:38;;5859:1;5849:7;5842:4;5838:2;5833:14;5829:28;5825:36;5809:14;5805:57;5799:64;5793:4;5789:75;5784:80;;5921:8;5914:4;5908;5904:15;5900:30;5889:41;;5984:27;5986:5;5993:7;6002:8;5984:1;:27;;:::i;:::-;5973:38;;6197:1;6187:7;6180:4;6176:2;6171:14;6167:28;6163:36;6147:14;6143:57;6137:64;6131:4;6127:75;6122:80;;6259:8;6252:4;6246;6242:15;6238:30;6227:41;;6322:27;6324:5;6331:7;6340:8;6322:1;:27;;:::i;:::-;6311:38;;6535:1;6525:7;6518:4;6514:2;6509:14;6505:28;6501:36;6485:14;6481:57;6475:64;6469:4;6465:75;6460:80;;6586:8;6580:4;6576:19;6565:30;;6649:27;6651:5;6658:7;6667:8;6649:1;:27;;:::i;:::-;6638:38;;6709:4;6699:14;;;;3709:3023;;;7004:4;6994:14;;;;7041:1;7045;7041:5;7032:6;:14;7026:20;;7064:449;7080:3;7071:6;:12;7064:449;;;-1:-1:-1;;7166:13:97;;7258:2;7253:14;;;7249:28;;;7279:1;7245:36;7225:57;;7219:64;7213:4;7209:75;;-1:-1:-1;7371:8:97;7361:19;;;7434:27;7436:5;7361:19;7452:8;7209:75;7434:27::i;:::-;7423:38;;7493:1;7483:11;;;;7064:449;;;1272:6255;;;;;;;;;7755:15;7773:66;7805:5;:14;;;7821:5;:17;;;7773:31;:66::i;:::-;7755:84;;8419:7;8406:10;:20;:43;;8442:7;8406:43;;;8429:10;8406:43;8553:19;;;;8589:23;;;8396:53;;-1:-1:-1;8557:8:97;;8567:4;8935:18;;8923:31;;;8841:371;8979:1;8976;8973:8;8841:371;;;9111:8;;9150;;9140:19;;9180:14;;9016:4;9009:12;;;;9047;;8841:371;;;8845:127;;9248:6;9256:30;:5;:13;;;:28;:30::i;:::-;9240:47;;;;;;;289:9015;;;;;;:::o;18823:4081:102:-;19211:3194;;;;;;;;2305:2;19211:3194;;;19638:16;19211:3194;;;;19676:19;19211:3194;;;;;;;19792:18;18880:12;19211:3194;;;;;;;19832:15;19211:3194;;;;19869:22;19211:3194;;;;19913:18;19211:3194;;;;20113:21;19211:3194;;;;;;;;;;20237:20;19211:3194;;;;20279:14;19211:3194;;;;20315:21;19211:3194;;;;20358:17;19211:3194;;;;20397:18;19211:3194;;;;20437:16;19211:3194;;;;20475:22;19211:3194;;;;20519:31;19211:3194;;;;20572:13;19211:3194;;;;20607:17;19211:3194;;;;20646:19;19211:3194;;;;20687:28;19211:3194;;;;20737:23;19211:3194;;;;20782:23;19211:3194;;;;20827:34;19211:3194;;;;20883:27;19211:3194;;;;20932:26;19211:3194;;;;21140:17;19211:3194;;;;;;;;;;21256:17;19211:3194;;;;21295:17;19211:3194;;;;21494:17;19211:3194;;;;;;;;;;21770:17;19211:3194;;;;;;;;;;21886:17;19211:3194;;;;21925:17;19211:3194;;;;22124:17;19211:3194;;;;;;;;;;22240:14;19211:3194;;;;22276:14;19211:3194;;;;22312:26;19211:3194;;;;22360:27;19211:3194;;;;18880:12;2305:2;;;19211:3194;22678:143;;22758:48;;;;;;;;22678:143;22841:46;22871:15;22841:29;:46::i;:::-;22834:53;;;;;;18823:4081;:::o;3212:359:157:-;3390:6;3384:4;3380:17;3372:6;3368:30;3350:205;3412:4;3404:6;3401:16;3350:205;;;3539:13;;3524:29;;3458:4;3446:17;;;;3490;;;;3350:205;;;3354:46;3212:359;;;:::o;3379:320:92:-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;5878:7160:148:-;6320:4;6314:11;;6356:4;6352:13;;;6424:4;6412:17;;;6391:40;;;6378:54;;;6445:21;;;5989:16;6032;6075;6119:17;6647:406;;;6688:3;6710:299;6731:7;6724:15;6710:299;;6909:7;6903:14;6895:6;6888:30;6984:4;6975:7;6971:18;6965:25;6958:4;6950:6;6946:17;6939:52;6793:4;6784:7;6780:18;6774:25;6763:36;;6842:4;6834:6;6830:17;6820:27;;6710:299;;;-1:-1:-1;7033:6:148;6647:406;-1:-1:-1;6647:406:148:o;:::-;7481:4;7474:5;7470:16;7624:2;7618:4;7614:13;7608:4;7604:24;7662:2;7655:10;7645:2693;;7736:2;7730:4;7726:13;7781:3;7774:11;7764:1330;;8399:3;8393:4;8389:14;8453:5;8446:13;8436:65;;8473:26;8493:5;8485:6;8473:26;:::i;:::-;8463:36;;8436:65;;8584:3;8576:6;8572:16;8634:4;8627:12;8617:451;;8736:4;8730;8726:15;8795:5;8788:13;8778:65;;8815:26;8835:5;8827:6;8815:26;:::i;:::-;8805:36;;8778:65;;8935:4;8927:6;8923:17;8990:5;8983:13;8973:65;;9010:26;9030:5;9022:6;9010:26;:::i;:::-;9000:36;;8973:65;;8617:451;;7764:1330;;9160:2;9152:6;9148:15;9201:3;9194:11;9184:1136;;9285:3;9279:4;9275:14;9335:4;9328:12;9318:451;;9437:4;9431;9427:15;9496:5;9489:13;9479:65;;9516:26;9536:5;9528:6;9516:26;:::i;:::-;9506:36;;9479:65;;9636:4;9628:6;9624:17;9691:5;9684:13;9674:65;;9711:26;9731:5;9723:6;9711:26;:::i;:::-;9701:36;;9674:65;;9318:451;;9845:3;9837:6;9833:16;9891:4;9884:12;9874:424;;9985:4;9979;9975:15;10040:5;10033:13;10023:65;;10060:26;10080:5;10072:6;10060:26;:::i;:::-;10050:36;;10023:65;;10173:4;10165:6;10161:17;10224:5;10217:13;10207:65;;10244:26;10264:5;10256:6;10244:26;:::i;:::-;10234:36;;10207:65;;9874:424;;9184:1136;;7645:2693;;10407:2;10398:7;10394:16;10444:2;10437:10;10427:2581;;10518:2;10512:4;10508:13;10563:3;10556:11;10546:1218;;10655:3;10649:4;10645:14;10709:4;10702:12;10692:479;;10819:4;10813;10809:15;10882:5;10875:13;10865:65;;10902:26;10922:5;10914:6;10902:26;:::i;:::-;10892:36;;10865:65;;11030:4;11022:6;11018:17;11089:5;11082:13;11072:65;;11109:26;11129:5;11121:6;11109:26;:::i;:::-;11099:36;;11072:65;;10692:479;;11254:3;11246:6;11242:16;11304:4;11297:12;11287:451;;11406:4;11400;11396:15;11465:5;11458:13;11448:65;;11485:26;11505:5;11497:6;11485:26;:::i;:::-;11475:36;;11448:65;;11605:4;11597:6;11593:17;11660:5;11653:13;11643:65;;11680:26;11700:5;11692:6;11680:26;:::i;:::-;11670:36;;11643:65;;11287:451;;10546:1218;;11830:2;11822:6;11818:15;11871:3;11864:11;11854:1136;;11955:3;11949:4;11945:14;12005:4;11998:12;11988:451;;12107:4;12101;12097:15;12166:5;12159:13;12149:65;;12186:26;12206:5;12198:6;12186:26;:::i;:::-;12176:36;;12149:65;;12306:4;12298:6;12294:17;12361:5;12354:13;12344:65;;12381:26;12401:5;12393:6;12381:26;:::i;:::-;12371:36;;12344:65;;11988:451;;12515:3;12507:6;12503:16;12561:4;12554:12;12544:424;;12655:4;12649;12645:15;12710:5;12703:13;12693:65;;12730:26;12750:5;12742:6;12730:26;:::i;:::-;12720:36;;12693:65;;12843:4;12835:6;12831:17;12894:5;12887:13;12877:65;;12914:26;12934:5;12926:6;12914:26;:::i;:::-;12904:36;;12877:65;;12544:424;;11854:1136;;10427:2581;;10366:2656;6171:6861;;;;5878:7160;;;:::o;1172:494:101:-;1317:17;;;;1412:12;;1430:4;1453:1;1436:19;;;1426:30;;1408:49;;;;1402:56;1522:15;;;1512:26;1495:44;;1489:51;1565:19;;;;1597:28;;;1565:19;1172:494;;;;;;:::o;1141:469:100:-;1293:15;;;;;1478:1;1465:15;;;;1461:26;;;1446:42;1440:49;1514:19;;;;1546:23;;;1514:19;1141:469::o;551:810:103:-;655:7;712:4;686:30;;823:1;796:28;;;1112:4;1085:31;;1081:87;;;1132:25;;;;;8291:2:212;1132:25:103;;;8273:21:212;8330:2;8310:18;;;8303:30;8369:17;8349:18;;;8342:45;8404:18;;1132:25:103;8089:339:212;1081:87:103;1177:9;1189:5;:13;;;1203:1;1189:16;;;;;;;;:::i;:::-;;;;;;;1206:1;1189:19;;;;;;;;:::i;:::-;;;;;;;;;;;1269;;;;1301;;;-1:-1:-1;1269:19:103;;551:810;-1:-1:-1;;;;;551:810:103:o;590:386:104:-;768:4;764:18;;;;784:4;760:29;815:27;;;867:32;871:21;;;;867:32;912:23;;;867:32;;-1:-1:-1;590:386:104:o;437:259:105:-;646:8;597:19;;;;;629:26;;;597:19;437:259;-1:-1:-1;;437:259:105:o;425:260:106:-;634:9;585:19;;;;;617:27;;;585:19;425:260;-1:-1:-1;;425:260:106:o;407:299:107:-;532:17;610:19;;;;;642:23;;;610:19;407:299;-1:-1:-1;;407:299:107:o;431:262:108:-;640:11;591:19;;;;;623:29;;;591:19;431:262;-1:-1:-1;;431:262:108:o;691:609:109:-;950:32;869:4;865:18;;;885:4;861:29;954:21;;;950:32;;;;789:7;;995:264;1045:3;1037:6;1034:15;995:264;;;1112:13;;1145:11;;1142:103;;1179:22;;1222:5;;1142:103;;1074:4;1066:6;1062:17;1052:27;;995:264;;;-1:-1:-1;1285:8:109;;691:609;-1:-1:-1;;;;;691:609:109:o;1589:745:110:-;1687:7;1706:17;1786:8;1876:4;1866:7;1860:4;1856:18;1852:29;1844:6;1840:42;1920:4;1915:3;1911:14;1899:26;;1807:377;1951:3;1943:6;1940:15;1807:377;;;2025:6;2019:13;2006:26;;2052:9;2049:121;;;2119:4;2111:6;2107:17;2101:24;2091:8;2084:42;2147:5;;2049:121;1980:4;1972:6;1968:17;1958:27;;1807:377;;;1811:128;;2207:9;2220:1;2207:14;2203:100;;2244:48;;;;;8608:6:212;8596:19;;2244:48:110;;;8578:38:212;8551:18;;2244:48:110;8433:189:212;2203:100:110;-1:-1:-1;2319:8:110;;1589:745;-1:-1:-1;;;1589:745:110:o;1191:1011:111:-;1514:13;;1289:7;;1478:4;1554:17;;;;1462:4;1458:18;;;1454:29;1442:42;;1409:321;1621:1;1610:9;1607:16;1601:3;1593:6;1590:15;1586:38;1409:321;;;1665:6;1659:13;1646:26;;1711:4;1703:6;1699:17;1689:27;;1409:321;;;1413:172;1753:9;1766:1;1753:14;1749:424;;1998:150;;;;;8830:6:212;8818:19;;1998:150:111;;;8800:38:212;2126:4:111;2066:49;;;:56;;2065:65;8854:18:212;;;8847:34;8773:18;;1998:150:111;8627:260:212;1749:424:111;2189:6;1191:1011;-1:-1:-1;;;;;1191:1011:111:o;545:310:112:-;702:15;;756:4;742:19;;;797:15;;791:22;;;774:40;;742:19;545:310;-1:-1:-1;;545:310:112:o;718:610:113:-;977:32;896:4;892:18;;;912:4;888:29;981:21;;;977:32;;;;816:7;;1022:265;1072:3;1064:6;1061:15;1022:265;;;1145:6;1139:13;1179:4;1169:104;;1207:22;;1250:5;;1169:104;;1101:4;1093:6;1089:17;1079:27;;1022:265;;561:310:114;718:15;;772:4;758:19;;;813:15;;807:22;;;790:40;;758:19;561:310;-1:-1:-1;;561:310:114:o;613:318:115:-;770:15;;824:4;810:19;;;872:15;;866:22;;;859:30;842:48;;810:19;613:318;-1:-1:-1;;613:318:115:o;643:354:116:-;808:15;;862:4;934:17;;927:25;921:4;917:36;903:51;;;;897:58;848:19;;880:76;;;848:19;643:354;-1:-1:-1;;643:354:116:o;490:230:117:-;662:15;;655:23;638:41;;662:15;490:230;-1:-1:-1;;490:230:117:o;549:310:118:-;706:15;;760:4;746:19;;;801:15;;795:22;;;778:40;;746:19;549:310;-1:-1:-1;;549:310:118:o;601:318:119:-;758:15;;812:4;798:19;;;860:15;;854:22;;;847:30;830:48;;798:19;601:318;-1:-1:-1;;601:318:119:o;1068:988:120:-;1267:15;;1320:4;1306:19;;1300:26;1365:4;1351:19;;;;1166:7;;1267:15;1408:37;1267:15;1300:26;1408:3;:37::i;:::-;1389:57;-1:-1:-1;1515:4:120;1488:31;;;1545:1;1560:334;1571:6;1567:1;:10;1560:334;;;1655:8;1649:15;1644:20;;1711:4;1701:8;1697:19;1685:31;;1770:37;1787:1;1804;1770:3;:37::i;:::-;1751:57;-1:-1:-1;1858:3:120;;1560:334;;;-1:-1:-1;;;1964:19:120;;;;;1996;;;-1:-1:-1;1964:19:120;1068:988;-1:-1:-1;;1068:988:120:o;1074::121:-;1273:15;;1326:4;1312:19;;1306:26;1371:4;1357:19;;;;1172:7;;1273:15;1414:37;1273:15;1306:26;1414:3;:37::i;:::-;1395:57;-1:-1:-1;1521:4:121;1494:31;;;1551:1;1566:334;1577:6;1573:1;:10;1566:334;;;1661:8;1655:15;1650:20;;1717:4;1707:8;1703:19;1691:31;;1776:37;1793:1;1810;1776:3;:37::i;:::-;1757:57;-1:-1:-1;1864:3:121;;1566:334;;768:472:122;975:15;;1029:4;1015:19;;;1052:15;;1015:19;;866:7;;1052:15;1090:41;1052:15;975;1122:7;1090:9;:41::i;:::-;1180:19;;-1:-1:-1;1180:19:122;;768:472;-1:-1:-1;;;;768:472:122:o;653:398:123:-;833:15;;751:7;;871:71;833:15;907:4;881:30;;940:1;913:28;;;871:9;:71::i;:::-;991:19;;-1:-1:-1;991:19:123;;653:398;-1:-1:-1;;;653:398:123:o;661:397:124:-;841:15;;759:7;;879:70;841:15;914:4;888:30;;947:1;920:28;;;879:8;:70::i;741:887:125:-;940:15;;993:4;979:19;;973:26;1038:4;1024:19;;;;839:7;;940:15;1062:6;973:26;940:15;1062:6;:::i;:::-;;-1:-1:-1;1137:4:125;1110:31;;;1167:1;1182:283;1193:6;1189:1;:10;1182:283;;;1271:15;;1333:4;1319:19;;;;1271:15;-1:-1:-1;1373:6:125;1271:15;1373:6;;:::i;:::-;;-1:-1:-1;1429:3:125;;1182:283;;769:887:126;968:15;;1021:4;1007:19;;1001:26;1066:4;1052:19;;;;867:7;;968:15;1090:6;1001:26;968:15;1090:6;:::i;:::-;;-1:-1:-1;1165:4:126;1138:31;;;1195:1;1210:283;1221:6;1217:1;:10;1210:283;;;1299:15;;1361:4;1347:19;;;;1299:15;-1:-1:-1;1401:6:126;1299:15;1401:6;;:::i;:::-;;-1:-1:-1;1457:3:126;;1210:283;;775:894:127;974:15;;1027:4;1013:19;;1007:26;1072:4;1058:19;;;;873:7;;974:15;1100:6;1007:26;974:15;1100:6;:::i;:::-;1096:10;-1:-1:-1;1175:4:127;1148:31;;;1205:1;1220:287;1231:6;1227:1;:10;1220:287;;;1309:15;;1371:4;1357:19;;;;1309:15;-1:-1:-1;1415:6:127;1309:15;1415:1;:6;:::i;:::-;1411:10;-1:-1:-1;1471:3:127;;1220:287;;704:971:128;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;704:971:129;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;739:887:130;938:15;;991:4;977:19;;971:26;1036:4;1022:19;;;;837:7;;938:15;1060:6;971:26;938:15;1060:6;:::i;:::-;;-1:-1:-1;1135:4:130;1108:31;;;1165:1;1180:283;1191:6;1187:1;:10;1180:283;;;1269:15;;1331:4;1317:19;;;;1269:15;-1:-1:-1;1371:6:130;1269:15;1371:6;;:::i;:::-;;-1:-1:-1;1427:3:130;;1180:283;;755:886:131;954:15;;1007:4;993:19;;987:26;1052:4;1038:19;;;;853:7;;954:15;1076:6;987:26;954:15;1076:6;:::i;:::-;;-1:-1:-1;1151:4:131;1124:31;;;1181:1;1196:283;1207:6;1203:1;:10;1196:283;;;1285:15;;1347:4;1333:19;;;;1285:15;-1:-1:-1;1387:6:131;1285:15;1387:6;;:::i;:::-;;-1:-1:-1;1443:3:131;;1196:283;;729:887:132;928:15;;981:4;967:19;;961:26;1026:4;1012:19;;;;827:7;;928:15;1050:6;961:26;928:15;1050:6;:::i;:::-;;-1:-1:-1;1125:4:132;1098:31;;;1155:1;1170:283;1181:6;1177:1;:10;1170:283;;;1259:15;;1321:4;1307:19;;;;1259:15;-1:-1:-1;1361:6:132;1259:15;1361:6;;:::i;:::-;;-1:-1:-1;1417:3:132;;1170:283;;1003:945:133;1185:15;;1257:13;;;;1099:7;;1185:15;1099:7;;;;1257:40;;1185:15;1257:17;:40::i;:::-;1219:78;;;;1360:6;1370:1;1360:11;1356:560;;1408:11;;;;1424:15;;;;1408:37;;;;;;;;8010:25:212;;;;8051:18;;;8044:34;;;1387:18:133;;1408:15;;;;;7983:18:212;;1408:37:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1596:13;;;;1387:58;;-1:-1:-1;1596:70:133;;1631:3;1387:58;1596:17;:70::i;:::-;1580:13;;;:86;1724:28;;1356:560;;604:495:134;829:15;;890:4;876:19;;870:26;988:13;;;;939:4;925:19;;;;700:7;;829:15;870:26;988:65;;829:15;870:26;988:17;:65::i;:::-;972:13;;;:81;-1:-1:-1;1074:8:134;;-1:-1:-1;;604:495:134;;;;;:::o;700:941:135:-;970:15;;1031:4;1017:19;;;1011:26;1081:4;1067:19;;;1061:26;1132:4;1118:19;;1112:26;1217:1;1204:15;;1197:23;1187:34;;;1163:60;;;;;798:7;;970:15;798:7;;1289:154;970:15;1061:26;1112;1011;1289:39;:154::i;:::-;1242:201;;;;1510:8;1500;1493:26;1548:1;1539:7;1535:15;1532:68;;;1581:16;1574:4;1564:8;1560:19;1553:45;1532:68;-1:-1:-1;1626:8:135;;700:941;-1:-1:-1;;;;;;;;700:941:135:o;703::136:-;972:15;;1032:4;1018:19;;;1012:26;1082:4;1068:19;;;1062:26;1133:4;1119:19;;1113:26;1218:1;1205:15;;1198:23;1188:34;;;1164:60;;;;;801:7;;972:15;801:7;;1291:154;972:15;1062:26;1113;1012;1291:40;:154::i;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;3162:133:65:-;3211:14;3242:50;3247:44;3261:1;1663:4:61;3280:1:65;3247:13;:44::i;:::-;2988:1:60;2901:92;18988:128:65;19037:14;19068:45;19073:39;19089:1;19101;19073:15;:39::i;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;7325:878;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;1347:770:148:-;1413:14;1429:17;1611:3;1608:1;1601:14;1678:4;1673:2;1666:4;1663:1;1653:18;1649:27;1645:38;1807:6;1802:2;1791:9;1787:18;1783:31;1762:339;1831:7;1824:15;1762:339;;1945:7;1939:14;1934:3;1931:23;1928:159;;1987:1;1977:11;;2037:4;2028:7;2024:18;2018:25;2009:34;;2064:5;;1928:159;1889:4;1876:18;1870:25;1762:339;;;1766:50;;1347:770;;;;;:::o;2703:2078::-;2788:8;2976:3;2973:1;2966:14;3043:4;3038:2;3031:4;3028:1;3018:18;3014:27;3010:38;3236:6;3231:2;3220:9;3216:18;3212:31;3354:12;3379:140;3400:7;3393:15;3379:140;;3480:14;;3469:36;;3498:5;3469:36;3442:4;3429:18;3423:25;3379:140;;;3684:15;;3735:44;;;;3905:4;3899:11;3888:22;;3953:4;3944:7;3940:18;3934:4;3927:32;4037:3;4028:7;4021:20;4085:5;4078:4;4069:7;4065:18;4058:33;4135:12;4128:4;4119:7;4115:18;4108:40;4250:1;4245:2;4239:4;4235:13;4231:21;4380:6;4374:4;4370:17;4366:22;4362:2;4358:31;4349:6;4343:4;4339:17;4336:54;4330:60;;;4701:6;4690:9;4686:22;4682:27;4678:2;4674:36;4588:7;4577:9;4573:23;4545:187;4519:213;;3677:1069;;3735:44;3771:5;3764:4;3755:7;3751:18;3744:33;3677:1069;-1:-1:-1;4772:2:148;;2703:2078;-1:-1:-1;;;;;;2703:2078:148:o;4381:603:146:-;4535:16;4553:17;4587;4606:18;4626:24;4666:47;4686:7;4695;4704:8;4666:19;:47::i;:::-;4586:127;;;;;;4873:9;4886:1;4873:14;:66;;4894:45;4906:9;4917;4928:10;4894:11;:45::i;:::-;4873:66;;;4890:1;4873:66;4862:77;4961:16;;-1:-1:-1;4381:603:146;-1:-1:-1;;;;;;;4381:603:146:o;5265:604::-;5419:17;5438;5472;5491:18;5511:24;5551:47;5571:7;5580;5589:8;5551:19;:47::i;:::-;5471:127;;;;;;5759:8;5771:1;5759:13;:65;;5779:45;5792:8;5802:9;5813:10;5779:12;:45::i;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;831:1113::-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;14476:4121:44:-;14549:14;;;15029:6;15026:1;15023;15016:20;15061:1;15058;15054:9;15045:18;;15108:5;15104:2;15101:13;15093:5;15089:2;15085:14;15081:34;15072:43;;;15186:5;15195:1;15186:10;15182:93;;15247:11;15239:5;:19;;;;;:::i;:::-;;15232:26;;;;;;15182:93;15374:11;15365:5;:20;15361:92;;15404:42;;;;;;;;12235:25:212;;;12276:18;;;12269:34;;;12319:18;;;12312:34;;;12208:18;;15404:42:44;12033:319:212;15361:92:44;15725:17;15872:11;15869:1;15866;15859:25;17578:1;16437;16422:12;;:16;;16407:32;;16592:25;;;;17559:1;:15;;17558:21;;17799;;;17795:25;;17784:36;17864:21;;;17860:25;;17849:36;17930:21;;;17926:25;;17915:36;17996:21;;;17992:25;;17981:36;18062:21;;;18058:25;;18047:36;18129:21;;;18125:25;;;18114:36;;;16389:15;17110;;;17106:29;;;17102:37;;;15970:20;;;15959:32;;;17216:22;;;;16009:21;;16688:19;;;;17207:31;;;;18573:15;;;-1:-1:-1;;;;14476:4121:44:o;19581:819::-;19635:14;;;19753:6;19750:1;19747;19740:20;19785:1;19782;19778:9;19769:18;;19832:5;19828:2;19825:13;19817:5;19813:2;19809:14;19805:34;19796:43;;;19855:5;19864:1;19855:10;19851:86;;-1:-1:-1;1506:4:44;19908:12;;;-1:-1:-1;19901:19:44;;19851:86;1506:4;19947:5;:13;19943:74;;19979:31;;;;;;;;8010:25:212;;;8051:18;;;8044:34;;;7983:18;;19979:31:44;7836:248:212;19943:74:44;20023:17;20107:4;20104:1;20101;20094:18;20314:10;20192:21;;;20188:38;20263:20;-1:-1:-1;20252:32:44;;;20286:43;20248:82;20164:184;;;;20366:12;20143:249;;-1:-1:-1;;19581:819:44;;;;:::o;3534:689:152:-;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;;4171:1;4157:35;4153:39;3534:689;-1:-1:-1;;;;3534:689:152:o;2590:688::-;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;5720:1;5715:6;;;;5677:63;5397:357;5172:598;;;;:::o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;2102:790:146;2227:16;2245;2263:17;2297:14;2316:26;2327:6;2335;2316:10;:26::i;:::-;-1:-1:-1;2566:50:146;;;;;:34;12610:15:212;;;2566:50:146;;;12592:34:212;12662:15;;;12642:18;;;12635:43;2296:46:146;;-1:-1:-1;2551:12:146;;2566:34;;;;;12504:18:212;;2566:50:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2551:65;;2627:16;2645;2663:26;2708:4;2693:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2626:101;;;;;;;;;;;;2793:6;2783:16;;:6;:16;;;:102;;2846:8;2856;2866:18;2783:102;;;2803:8;2813;2823:18;2783:102;2737:148;;;;-1:-1:-1;2737:148:146;;-1:-1:-1;2102:790:146;-1:-1:-1;;;;;;;;;2102:790:146:o;2971:499::-;3097:16;3149:1;3137:9;:13;3129:70;;;;;;;13816:2:212;3129:70:146;;;13798:21:212;13855:2;13835:18;;;13828:30;13894:34;13874:18;;;13867:62;13965:14;13945:18;;;13938:42;13997:19;;3129:70:146;13614:408:212;3129:70:146;3229:1;3217:9;:13;:31;;;;;3247:1;3234:10;:14;3217:31;3209:84;;;;;;;14229:2:212;3209:84:146;;;14211:21:212;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3209:84:146;14027:404:212;3209:84:146;3303:17;3323:21;3335:9;3323;:21;:::i;:::-;:28;;3347:4;3323:28;:::i;:::-;3303:48;-1:-1:-1;3361:19:146;3384:22;3397:9;3384:10;:22;:::i;:::-;3383:30;;3410:3;3383:30;:::i;:::-;3361:52;-1:-1:-1;3435:23:146;3361:52;3435:9;:23;:::i;:::-;3434:29;;3462:1;3434:29;:::i;:::-;3423:40;2971:499;-1:-1:-1;;;;;;2971:499:146:o;3550:549::-;3676:17;3728:1;3717:8;:12;3709:68;;;;;;;14638:2:212;3709:68:146;;;14620:21:212;14677:2;14657:18;;;14650:30;14716:34;14696:18;;;14689:62;14787:13;14767:18;;;14760:41;14818:19;;3709:68:146;14436:407:212;3709:68:146;3807:1;3795:9;:13;:31;;;;;3825:1;3812:10;:14;3795:31;3787:84;;;;;;;14229:2:212;3787:84:146;;;14211:21:212;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3787:84:146;14027:404:212;3787:84:146;3881:23;3907:14;:8;3918:3;3907:14;:::i;:::-;3881:40;-1:-1:-1;3931:17:146;3951:28;3969:10;3881:40;3951:28;:::i;:::-;3931:48;-1:-1:-1;3989:19:146;4032:15;4012:16;:9;4024:4;4012:16;:::i;:::-;4011:36;;;;:::i;:::-;3989:58;-1:-1:-1;4069:23:146;3989:58;4069:9;:23;:::i;:::-;4057:35;3550:549;-1:-1:-1;;;;;;;3550:549:146:o;762:345::-;837:14;853;897:6;887:16;;:6;:16;;;879:66;;;;;;;15050:2:212;879:66:146;;;15032:21:212;15089:2;15069:18;;;15062:30;15128:34;15108:18;;;15101:62;15199:7;15179:18;;;15172:35;15224:19;;879:66:146;14848:401:212;879:66:146;983:6;974:15;;:6;:15;;;:53;;1012:6;1020;974:53;;;993:6;1001;974:53;955:72;;-1:-1:-1;955:72:146;-1:-1:-1;1045:20:146;;;1037:63;;;;;;;15456:2:212;1037:63:146;;;15438:21:212;15495:2;15475:18;;;15468:30;15534:32;15514:18;;;15507:60;15584:18;;1037:63:146;15254:354:212;1037:63:146;762:345;;;;;:::o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:212:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:175;650:42;643:5;639:54;632:5;629:65;619:93;;708:1;705;698:12;619:93;543:175;:::o;723:184::-;775:77;772:1;765:88;872:4;869:1;862:15;896:4;893:1;886:15;912:334;983:2;977:9;1039:2;1029:13;;1044:66;1025:86;1013:99;;1142:18;1127:34;;1163:22;;;1124:62;1121:88;;;1189:18;;:::i;:::-;1225:2;1218:22;912:334;;-1:-1:-1;912:334:212:o;1251:193::-;1321:4;1354:18;1346:6;1343:30;1340:56;;;1376:18;;:::i;:::-;-1:-1:-1;1421:1:212;1417:14;1433:4;1413:25;;1251:193::o;1449:672::-;1503:5;1556:3;1549:4;1541:6;1537:17;1533:27;1523:55;;1574:1;1571;1564:12;1523:55;1610:6;1597:20;1636:4;1660:70;1676:53;1726:2;1676:53;:::i;:::-;1660:70;:::i;:::-;1764:15;;;1850:1;1846:10;;;;1834:23;;1830:32;;;1795:12;;;;1874:15;;;1871:35;;;1902:1;1899;1892:12;1871:35;1938:2;1930:6;1926:15;1950:142;1966:6;1961:3;1958:15;1950:142;;;2032:17;;2020:30;;2070:12;;;;1983;;1950:142;;;-1:-1:-1;2110:5:212;1449:672;-1:-1:-1;;;;;;1449:672:212:o;2126:920::-;2190:5;2243:3;2236:4;2228:6;2224:17;2220:27;2210:55;;2261:1;2258;2251:12;2210:55;2297:6;2284:20;2323:4;2347:70;2363:53;2413:2;2363:53;:::i;2347:70::-;2451:15;;;2537:1;2533:10;;;;2521:23;;2517:32;;;2482:12;;;;2561:15;;;2558:35;;;2589:1;2586;2579:12;2558:35;2625:2;2617:6;2613:15;2637:380;2653:6;2648:3;2645:15;2637:380;;;2739:3;2726:17;2775:18;2762:11;2759:35;2756:125;;;2835:1;2864:2;2860;2853:14;2756:125;2906:68;2970:3;2965:2;2951:11;2943:6;2939:24;2935:33;2906:68;:::i;:::-;2894:81;;-1:-1:-1;2995:12:212;;;;2670;;2637:380;;3051:778;3289:6;3297;3305;3313;3366:3;3354:9;3345:7;3341:23;3337:33;3334:53;;;3383:1;3380;3373:12;3334:53;3422:9;3409:23;3441:52;3487:5;3441:52;:::i;:::-;3512:5;-1:-1:-1;3564:2:212;3549:18;;3536:32;;-1:-1:-1;3615:2:212;3600:18;;3587:32;;-1:-1:-1;3670:2:212;3655:18;;3642:32;3697:18;3686:30;;3683:50;;;3729:1;3726;3719:12;3683:50;3752:71;3815:7;3806:6;3795:9;3791:22;3752:71;:::i;:::-;3742:81;;;3051:778;;;;;;;:::o;3834:435::-;3887:3;3925:5;3919:12;3952:6;3947:3;3940:19;3978:4;4007:2;4002:3;3998:12;3991:19;;4044:2;4037:5;4033:14;4065:1;4075:169;4089:6;4086:1;4083:13;4075:169;;;4150:13;;4138:26;;4184:12;;;;4219:15;;;;4111:1;4104:9;4075:169;;;-1:-1:-1;4260:3:212;;3834:435;-1:-1:-1;;;;;3834:435:212:o;4274:465::-;4531:2;4520:9;4513:21;4494:4;4557:56;4609:2;4598:9;4594:18;4586:6;4557:56;:::i;:::-;4661:9;4653:6;4649:22;4644:2;4633:9;4629:18;4622:50;4689:44;4726:6;4718;4689:44;:::i;4744:185::-;4837:20;;4897:6;4886:18;;4876:29;;4866:57;;4919:1;4916;4909:12;4866:57;4744:185;;;:::o;4934:1811::-;5238:6;5246;5254;5262;5270;5278;5286;5339:3;5327:9;5318:7;5314:23;5310:33;5307:53;;;5356:1;5353;5346:12;5307:53;5395:9;5382:23;5414:52;5460:5;5414:52;:::i;:::-;5485:5;-1:-1:-1;5509:2:212;5543:18;;;5530:32;;-1:-1:-1;5613:2:212;5598:18;;5585:32;5636:18;5666:14;;;5663:34;;;5693:1;5690;5683:12;5663:34;5731:6;5720:9;5716:22;5706:32;;5776:7;5769:4;5765:2;5761:13;5757:27;5747:55;;5798:1;5795;5788:12;5747:55;5834:2;5821:16;5856:2;5852;5849:10;5846:36;;;5862:18;;:::i;:::-;5904:112;6012:2;5943:66;5936:4;5932:2;5928:13;5924:86;5920:95;5904:112;:::i;:::-;6039:2;6032:5;6025:17;6079:7;6074:2;6069;6065;6061:11;6057:20;6054:33;6051:53;;;6100:1;6097;6090:12;6051:53;6155:2;6150;6146;6142:11;6137:2;6130:5;6126:14;6113:45;6199:1;6194:2;6189;6182:5;6178:14;6174:23;6167:34;6220:5;6210:15;;;;6244:63;6303:2;6292:9;6288:18;6244:63;:::i;:::-;6234:73;;6354:3;6343:9;6339:19;6326:33;6316:43;;6412:3;6401:9;6397:19;6384:33;6368:49;;6442:2;6432:8;6429:16;6426:36;;;6458:1;6455;6448:12;6426:36;6481:73;6546:7;6535:8;6524:9;6520:24;6481:73;:::i;:::-;6471:83;;6607:3;6596:9;6592:19;6579:33;6563:49;;6637:2;6627:8;6624:16;6621:36;;;6653:1;6650;6643:12;6621:36;;;6676:63;6731:7;6720:8;6709:9;6705:24;6676:63;:::i;:::-;6666:73;;;4934:1811;;;;;;;;;;:::o;6750:481::-;6791:3;6829:5;6823:12;6856:6;6851:3;6844:19;6881:1;6891:162;6905:6;6902:1;6899:13;6891:162;;;6967:4;7023:13;;;7019:22;;7013:29;6995:11;;;6991:20;;6984:59;6920:12;6891:162;;;6895:3;7098:1;7091:4;7082:6;7077:3;7073:16;7069:27;7062:38;7220:4;7150:66;7145:2;7137:6;7133:15;7129:88;7124:3;7120:98;7116:109;7109:116;;;6750:481;;;;:::o;7236:217::-;7383:2;7372:9;7365:21;7346:4;7403:44;7443:2;7432:9;7428:18;7420:6;7403:44;:::i;7458:184::-;7510:77;7507:1;7500:88;7607:4;7604:1;7597:15;7631:4;7628:1;7621:15;7647:184;7699:77;7696:1;7689:88;7796:4;7793:1;7786:15;7820:4;7817:1;7810:15;8892:184;8944:77;8941:1;8934:88;9041:4;9038:1;9031:15;9065:4;9062:1;9055:15;9081:125;9146:9;;;9167:10;;;9164:36;;;9180:18;;:::i;9211:120::-;9251:1;9277;9267:35;;9282:18;;:::i;:::-;-1:-1:-1;9316:9:212;;9211:120::o;9336:482::-;9425:1;9468:5;9425:1;9482:330;9503:7;9493:8;9490:21;9482:330;;;9622:4;9554:66;9550:77;9544:4;9541:87;9538:113;;;9631:18;;:::i;:::-;9681:7;9671:8;9667:22;9664:55;;;9701:16;;;;9664:55;9780:22;;;;9740:15;;;;9482:330;;;9486:3;9336:482;;;;;:::o;9823:866::-;9872:5;9902:8;9892:80;;-1:-1:-1;9943:1:212;9957:5;;9892:80;9991:4;9981:76;;-1:-1:-1;10028:1:212;10042:5;;9981:76;10073:4;10091:1;10086:59;;;;10159:1;10154:130;;;;10066:218;;10086:59;10116:1;10107:10;;10130:5;;;10154:130;10191:3;10181:8;10178:17;10175:43;;;10198:18;;:::i;:::-;-1:-1:-1;;10254:1:212;10240:16;;10269:5;;10066:218;;10368:2;10358:8;10355:16;10349:3;10343:4;10340:13;10336:36;10330:2;10320:8;10317:16;10312:2;10306:4;10303:12;10299:35;10296:77;10293:159;;;-1:-1:-1;10405:19:212;;;10437:5;;10293:159;10484:34;10509:8;10503:4;10484:34;:::i;:::-;10614:6;10546:66;10542:79;10533:7;10530:92;10527:118;;;10625:18;;:::i;:::-;10663:20;;9823:866;-1:-1:-1;;;9823:866:212:o;10694:131::-;10754:5;10783:36;10810:8;10804:4;10783:36;:::i;10830:112::-;10862:1;10888;10878:35;;10893:18;;:::i;:::-;-1:-1:-1;10927:9:212;;10830:112::o;10947:168::-;11020:9;;;11051;;11068:15;;;11062:22;;11048:37;11038:71;;11089:18;;:::i;11120:128::-;11187:9;;;11208:11;;;11205:37;;;11222:18;;:::i;11551:184::-;11621:6;11674:2;11662:9;11653:7;11649:23;11645:32;11642:52;;;11690:1;11687;11680:12;11642:52;-1:-1:-1;11713:16:212;;11551:184;-1:-1:-1;11551:184:212:o;11740:288::-;11915:2;11904:9;11897:21;11878:4;11935:44;11975:2;11964:9;11960:18;11952:6;11935:44;:::i;:::-;11927:52;;12015:6;12010:2;11999:9;11995:18;11988:34;11740:288;;;;;:::o;12689:272::-;12759:6;12812:2;12800:9;12791:7;12787:23;12783:32;12780:52;;;12828:1;12825;12818:12;12780:52;12860:9;12854:16;12879:52;12925:5;12879:52;:::i;12966:188::-;13045:13;;13098:30;13087:42;;13077:53;;13067:81;;13144:1;13141;13134:12;13159:450;13246:6;13254;13262;13315:2;13303:9;13294:7;13290:23;13286:32;13283:52;;;13331:1;13328;13321:12;13283:52;13354:40;13384:9;13354:40;:::i;:::-;13344:50;;13413:49;13458:2;13447:9;13443:18;13413:49;:::i;:::-;13403:59;;13505:2;13494:9;13490:18;13484:25;13549:10;13542:5;13538:22;13531:5;13528:33;13518:61;;13575:1;13572;13565:12;13518:61;13598:5;13588:15;;;13159:450;;;;;:::o;15613:184::-;15665:77;15662:1;15655:88;15762:4;15759:1;15752:15;15786:4;15783:1;15776:15", "linkReferences": {} }, "methodIdentifiers": { @@ -1359,104 +1359,104 @@ }, "ast": { "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterNP.sol", - "id": 55568, + "id": 56060, "exportedSymbols": { "DEFAULT_STATE_NAMESPACE": [ - 55824 + 56316 ], "ERC165": [ - 45446 + 45938 ], "EncodedDispatch": [ - 55812 + 56304 ], "FullyQualifiedNamespace": [ - 55773 + 56265 ], "IDebugInterpreterV2": [ - 55935 + 56427 ], "IERC165": [ - 45458 + 45950 ], "IInterpreterStoreV1": [ - 55805 + 56297 ], "IInterpreterV1": [ - 55855 + 56347 ], "InterpreterStateNP": [ - 70213 + 70705 ], "InvalidSourceIndex": [ - 55379 + 55871 ], "LibAllStandardOpsNP": [ - 58346 + 58838 ], "LibCast": [ - 86840 + 87348 ], "LibDataContract": [ - 86790 + 87298 ], "LibEncodedDispatch": [ - 56784 + 57276 ], "LibEvalNP": [ - 57101 + 57593 ], "LibInterpreterStateDataContractNP": [ - 70181 + 70673 ], "LibMemoryKV": [ - 70767 + 71259 ], "LibNamespace": [ - 57518 + 58010 ], "LibPointer": [ - 71831 + 72323 ], "LibStackPointer": [ - 71994 + 72486 ], "LibUint256Array": [ - 72222 + 72714 ], "MemoryKV": [ - 70680 + 71172 ], "NO_STORE": [ - 55782 + 56274 ], "NegativeStackLength": [ - 55373 + 55865 ], "OPCODE_FUNCTION_POINTERS": [ - 55383 + 55875 ], "Operand": [ - 55816 + 56308 ], "Pointer": [ - 71711 + 72203 ], "RainterpreterNP": [ - 55567 + 56059 ], "SourceIndex": [ - 55810 + 56302 ], "StateNamespace": [ - 55814 + 56306 ] }, "nodeType": "SourceUnit", "src": "32:5893:81", "nodes": [ { - "id": 55344, + "id": 55836, "nodeType": "PragmaDirective", "src": "32:24:81", "nodes": [], @@ -1468,49 +1468,49 @@ ] }, { - "id": 55345, + "id": 55837, "nodeType": "ImportDirective", "src": "58:77:81", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", "file": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 45447, + "scope": 56060, + "sourceUnit": 45939, "symbolAliases": [], "unitAlias": "" }, { - "id": 55346, + "id": 55838, "nodeType": "ImportDirective", "src": "137:47:81", "nodes": [], "absolutePath": "lib/rain.lib.typecast/src/LibCast.sol", "file": "lib/rain.lib.typecast/src/LibCast.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 86841, + "scope": 56060, + "sourceUnit": 87349, "symbolAliases": [], "unitAlias": "" }, { - "id": 55348, + "id": 55840, "nodeType": "ImportDirective", "src": "185:82:81", "nodes": [], "absolutePath": "lib/rain.datacontract/src/lib/LibDataContract.sol", "file": "lib/rain.datacontract/src/lib/LibDataContract.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 86791, + "scope": 56060, + "sourceUnit": 87299, "symbolAliases": [ { "foreign": { - "id": 55347, + "id": 55839, "name": "LibDataContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86790, + "referencedDeclaration": 87298, "src": "193:15:81", "typeDescriptions": {} }, @@ -1520,36 +1520,36 @@ "unitAlias": "" }, { - "id": 55349, + "id": 55841, "nodeType": "ImportDirective", "src": "269:55:81", "nodes": [], "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol", "file": "../interface/unstable/IDebugInterpreterV2.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 55936, + "scope": 56060, + "sourceUnit": 56428, "symbolAliases": [], "unitAlias": "" }, { - "id": 55351, + "id": 55843, "nodeType": "ImportDirective", "src": "326:52:81", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol", "file": "../lib/eval/LibEvalNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 57102, + "scope": 56060, + "sourceUnit": 57594, "symbolAliases": [ { "foreign": { - "id": 55350, + "id": 55842, "name": "LibEvalNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57101, + "referencedDeclaration": 57593, "src": "334:9:81", "typeDescriptions": {} }, @@ -1559,36 +1559,36 @@ "unitAlias": "" }, { - "id": 55352, + "id": 55844, "nodeType": "ImportDirective", "src": "379:36:81", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", "file": "../lib/ns/LibNamespace.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 57519, + "scope": 56060, + "sourceUnit": 58011, "symbolAliases": [], "unitAlias": "" }, { - "id": 55354, + "id": 55846, "nodeType": "ImportDirective", "src": "416:101:81", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol", "file": "../lib/state/LibInterpreterStateDataContractNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 70182, + "scope": 56060, + "sourceUnit": 70674, "symbolAliases": [ { "foreign": { - "id": 55353, + "id": 55845, "name": "LibInterpreterStateDataContractNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 70181, + "referencedDeclaration": 70673, "src": "424:33:81", "typeDescriptions": {} }, @@ -1598,36 +1598,36 @@ "unitAlias": "" }, { - "id": 55355, + "id": 55847, "nodeType": "ImportDirective", "src": "518:46:81", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", "file": "../lib/caller/LibEncodedDispatch.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 56785, + "scope": 56060, + "sourceUnit": 57277, "symbolAliases": [], "unitAlias": "" }, { - "id": 55358, + "id": 55850, "nodeType": "ImportDirective", "src": "566:90:81", "nodes": [], "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", "file": "../lib/op/LibAllStandardOpsNP.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 58347, + "scope": 56060, + "sourceUnit": 58839, "symbolAliases": [ { "foreign": { - "id": 55356, + "id": 55848, "name": "LibAllStandardOpsNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 58346, + "referencedDeclaration": 58838, "src": "574:19:81", "typeDescriptions": {} }, @@ -1635,11 +1635,11 @@ }, { "foreign": { - "id": 55357, + "id": 55849, "name": "InterpreterStateNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "595:18:81", "typeDescriptions": {} }, @@ -1649,23 +1649,23 @@ "unitAlias": "" }, { - "id": 55361, + "id": 55853, "nodeType": "ImportDirective", "src": "657:75:81", "nodes": [], "absolutePath": "lib/rain.solmem/src/lib/LibPointer.sol", "file": "lib/rain.solmem/src/lib/LibPointer.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 71832, + "scope": 56060, + "sourceUnit": 72324, "symbolAliases": [ { "foreign": { - "id": 55359, + "id": 55851, "name": "LibPointer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71831, + "referencedDeclaration": 72323, "src": "665:10:81", "typeDescriptions": {} }, @@ -1673,11 +1673,11 @@ }, { "foreign": { - "id": 55360, + "id": 55852, "name": "Pointer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71711, + "referencedDeclaration": 72203, "src": "677:7:81", "typeDescriptions": {} }, @@ -1687,23 +1687,23 @@ "unitAlias": "" }, { - "id": 55363, + "id": 55855, "nodeType": "ImportDirective", "src": "733:76:81", "nodes": [], "absolutePath": "lib/rain.solmem/src/lib/LibStackPointer.sol", "file": "lib/rain.solmem/src/lib/LibStackPointer.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 71995, + "scope": 56060, + "sourceUnit": 72487, "symbolAliases": [ { "foreign": { - "id": 55362, + "id": 55854, "name": "LibStackPointer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71994, + "referencedDeclaration": 72486, "src": "741:15:81", "typeDescriptions": {} }, @@ -1713,23 +1713,23 @@ "unitAlias": "" }, { - "id": 55365, + "id": 55857, "nodeType": "ImportDirective", "src": "810:76:81", "nodes": [], "absolutePath": "lib/rain.solmem/src/lib/LibUint256Array.sol", "file": "lib/rain.solmem/src/lib/LibUint256Array.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 72223, + "scope": 56060, + "sourceUnit": 72715, "symbolAliases": [ { "foreign": { - "id": 55364, + "id": 55856, "name": "LibUint256Array", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72222, + "referencedDeclaration": 72714, "src": "818:15:81", "typeDescriptions": {} }, @@ -1739,23 +1739,23 @@ "unitAlias": "" }, { - "id": 55368, + "id": 55860, "nodeType": "ImportDirective", "src": "887:81:81", "nodes": [], "absolutePath": "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol", "file": "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol", "nameLocation": "-1:-1:-1", - "scope": 55568, - "sourceUnit": 70768, + "scope": 56060, + "sourceUnit": 71260, "symbolAliases": [ { "foreign": { - "id": 55366, + "id": 55858, "name": "LibMemoryKV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 70767, + "referencedDeclaration": 71259, "src": "895:11:81", "typeDescriptions": {} }, @@ -1763,11 +1763,11 @@ }, { "foreign": { - "id": 55367, + "id": 55859, "name": "MemoryKV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 70680, + "referencedDeclaration": 71172, "src": "908:8:81", "typeDescriptions": {} }, @@ -1777,12 +1777,12 @@ "unitAlias": "" }, { - "id": 55373, + "id": 55865, "nodeType": "ErrorDefinition", "src": "1028:41:81", "nodes": [], "documentation": { - "id": 55369, + "id": 55861, "nodeType": "StructuredDocumentation", "src": "970:58:81", "text": "Thrown when the stack length is negative during eval." @@ -1791,17 +1791,17 @@ "name": "NegativeStackLength", "nameLocation": "1034:19:81", "parameters": { - "id": 55372, + "id": 55864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55371, + "id": 55863, "mutability": "mutable", "name": "length", "nameLocation": "1061:6:81", "nodeType": "VariableDeclaration", - "scope": 55373, + "scope": 55865, "src": "1054:13:81", "stateVariable": false, "storageLocation": "default", @@ -1810,7 +1810,7 @@ "typeString": "int256" }, "typeName": { - "id": 55370, + "id": 55862, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1054:6:81", @@ -1826,12 +1826,12 @@ } }, { - "id": 55379, + "id": 55871, "nodeType": "ErrorDefinition", "src": "1279:50:81", "nodes": [], "documentation": { - "id": 55374, + "id": 55866, "nodeType": "StructuredDocumentation", "src": "1071:208:81", "text": "Thrown when the source index is invalid during eval. This is a runtime check\n for the exposed external eval entrypoint. Internally recursive evals are\n expected to preflight check the source index." @@ -1840,41 +1840,41 @@ "name": "InvalidSourceIndex", "nameLocation": "1285:18:81", "parameters": { - "id": 55378, + "id": 55870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55377, + "id": 55869, "mutability": "mutable", "name": "sourceIndex", "nameLocation": "1316:11:81", "nodeType": "VariableDeclaration", - "scope": 55379, + "scope": 55871, "src": "1304:23:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" }, "typeName": { - "id": 55376, + "id": 55868, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55375, + "id": 55867, "name": "SourceIndex", "nameLocations": [ "1304:11:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55810, + "referencedDeclaration": 56302, "src": "1304:11:81" }, - "referencedDeclaration": 55810, + "referencedDeclaration": 56302, "src": "1304:11:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, @@ -1885,7 +1885,7 @@ } }, { - "id": 55383, + "id": 55875, "nodeType": "VariableDeclaration", "src": "1634:215:81", "nodes": [], @@ -1893,7 +1893,7 @@ "mutability": "constant", "name": "OPCODE_FUNCTION_POINTERS", "nameLocation": "1649:24:81", - "scope": 55568, + "scope": 56060, "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1901,7 +1901,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55381, + "id": 55873, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1634:5:81", @@ -1912,7 +1912,7 @@ }, "value": { "hexValue": "0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "id": 55382, + "id": 55874, "isConstant": false, "isLValue": false, "isPure": true, @@ -1928,102 +1928,102 @@ "visibility": "internal" }, { - "id": 55567, + "id": 56059, "nodeType": "ContractDefinition", "src": "2324:3600:81", "nodes": [ { - "id": 55394, + "id": 55886, "nodeType": "UsingForDirective", "src": "2402:39:81", "nodes": [], "global": false, "libraryName": { - "id": 55391, + "id": 55883, "name": "LibEvalNP", "nameLocations": [ "2408:9:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 57101, + "referencedDeclaration": 57593, "src": "2408:9:81" }, "typeName": { - "id": 55393, + "id": 55885, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55392, + "id": 55884, "name": "InterpreterStateNP", "nameLocations": [ "2422:18:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "2422:18:81" }, - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "2422:18:81", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_storage_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_storage_ptr", "typeString": "struct InterpreterStateNP" } } }, { - "id": 55398, + "id": 55890, "nodeType": "UsingForDirective", "src": "2446:38:81", "nodes": [], "global": false, "libraryName": { - "id": 55395, + "id": 55887, "name": "LibNamespace", "nameLocations": [ "2452:12:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 57518, + "referencedDeclaration": 58010, "src": "2452:12:81" }, "typeName": { - "id": 55397, + "id": 55889, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55396, + "id": 55888, "name": "StateNamespace", "nameLocations": [ "2469:14:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55814, + "referencedDeclaration": 56306, "src": "2469:14:81" }, - "referencedDeclaration": 55814, + "referencedDeclaration": 56306, "src": "2469:14:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } } }, { - "id": 55401, + "id": 55893, "nodeType": "UsingForDirective", "src": "2489:50:81", "nodes": [], "global": false, "libraryName": { - "id": 55399, + "id": 55891, "name": "LibInterpreterStateDataContractNP", "nameLocations": [ "2495:33:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 70181, + "referencedDeclaration": 70673, "src": "2495:33:81" }, "typeName": { - "id": 55400, + "id": 55892, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2533:5:81", @@ -2034,31 +2034,31 @@ } }, { - "id": 55474, + "id": 55966, "nodeType": "FunctionDefinition", "src": "3771:885:81", "nodes": [], "body": { - "id": 55473, + "id": 55965, "nodeType": "Block", "src": "3989:667:81", "nodes": [], "statements": [ { "assignments": [ - 55425, - 55428, - 55430 + 55917, + 55920, + 55922 ], "declarations": [ { "constant": false, - "id": 55425, + "id": 55917, "mutability": "mutable", "name": "expression", "nameLocation": "4040:10:81", "nodeType": "VariableDeclaration", - "scope": 55473, + "scope": 55965, "src": "4032:18:81", "stateVariable": false, "storageLocation": "default", @@ -2067,7 +2067,7 @@ "typeString": "address" }, "typeName": { - "id": 55424, + "id": 55916, "name": "address", "nodeType": "ElementaryTypeName", "src": "4032:7:81", @@ -2081,36 +2081,36 @@ }, { "constant": false, - "id": 55428, + "id": 55920, "mutability": "mutable", "name": "sourceIndex16", "nameLocation": "4064:13:81", "nodeType": "VariableDeclaration", - "scope": 55473, + "scope": 55965, "src": "4052:25:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" }, "typeName": { - "id": 55427, + "id": 55919, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55426, + "id": 55918, "name": "SourceIndex", "nameLocations": [ "4052:11:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55810, + "referencedDeclaration": 56302, "src": "4052:11:81" }, - "referencedDeclaration": 55810, + "referencedDeclaration": 56302, "src": "4052:11:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, @@ -2118,12 +2118,12 @@ }, { "constant": false, - "id": 55430, + "id": 55922, "mutability": "mutable", "name": "maxOutputs", "nameLocation": "4087:10:81", "nodeType": "VariableDeclaration", - "scope": 55473, + "scope": 55965, "src": "4079:18:81", "stateVariable": false, "storageLocation": "default", @@ -2132,7 +2132,7 @@ "typeString": "uint256" }, "typeName": { - "id": 55429, + "id": 55921, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4079:7:81", @@ -2144,18 +2144,18 @@ "visibility": "internal" } ], - "id": 55435, + "id": 55927, "initialValue": { "arguments": [ { - "id": 55433, + "id": 55925, "name": "dispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55411, + "referencedDeclaration": 55903, "src": "4127:8:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } } @@ -2163,23 +2163,23 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } ], "expression": { - "id": 55431, + "id": 55923, "name": "LibEncodedDispatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 56784, + "referencedDeclaration": 57276, "src": "4101:18:81", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$56784_$", + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", "typeString": "type(library LibEncodedDispatch)" } }, - "id": 55432, + "id": 55924, "isConstant": false, "isLValue": false, "isPure": false, @@ -2187,14 +2187,14 @@ "memberLocation": "4120:6:81", "memberName": "decode", "nodeType": "MemberAccess", - "referencedDeclaration": 56783, + "referencedDeclaration": 57275, "src": "4101:25:81", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_EncodedDispatch_$55812_$returns$_t_address_$_t_userDefinedValueType$_SourceIndex_$55810_$_t_uint16_$", + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_EncodedDispatch_$56304_$returns$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$", "typeString": "function (EncodedDispatch) pure returns (address,SourceIndex,uint16)" } }, - "id": 55434, + "id": 55926, "isConstant": false, "isLValue": false, "isPure": false, @@ -2206,7 +2206,7 @@ "src": "4101:35:81", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_userDefinedValueType$_SourceIndex_$55810_$_t_uint16_$", + "typeIdentifier": "t_tuple$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$", "typeString": "tuple(address,SourceIndex,uint16)" } }, @@ -2215,17 +2215,17 @@ }, { "assignments": [ - 55437 + 55929 ], "declarations": [ { "constant": false, - "id": 55437, + "id": 55929, "mutability": "mutable", "name": "expressionData", "nameLocation": "4159:14:81", "nodeType": "VariableDeclaration", - "scope": 55473, + "scope": 55965, "src": "4146:27:81", "stateVariable": false, "storageLocation": "memory", @@ -2234,7 +2234,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55436, + "id": 55928, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4146:5:81", @@ -2246,15 +2246,15 @@ "visibility": "internal" } ], - "id": 55442, + "id": 55934, "initialValue": { "arguments": [ { - "id": 55440, + "id": 55932, "name": "expression", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55425, + "referencedDeclaration": 55917, "src": "4197:10:81", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2270,18 +2270,18 @@ } ], "expression": { - "id": 55438, + "id": 55930, "name": "LibDataContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86790, + "referencedDeclaration": 87298, "src": "4176:15:81", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$86790_$", + "typeIdentifier": "t_type$_t_contract$_LibDataContract_$87298_$", "typeString": "type(library LibDataContract)" } }, - "id": 55439, + "id": 55931, "isConstant": false, "isLValue": false, "isPure": false, @@ -2289,14 +2289,14 @@ "memberLocation": "4192:4:81", "memberName": "read", "nodeType": "MemberAccess", - "referencedDeclaration": 86758, + "referencedDeclaration": 87266, "src": "4176:20:81", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address) view returns (bytes memory)" } }, - "id": 55441, + "id": 55933, "isConstant": false, "isLValue": false, "isPure": false, @@ -2317,17 +2317,17 @@ }, { "assignments": [ - 55444 + 55936 ], "declarations": [ { "constant": false, - "id": 55444, + "id": 55936, "mutability": "mutable", "name": "sourceIndex", "nameLocation": "4284:11:81", "nodeType": "VariableDeclaration", - "scope": 55473, + "scope": 55965, "src": "4276:19:81", "stateVariable": false, "storageLocation": "default", @@ -2336,7 +2336,7 @@ "typeString": "uint256" }, "typeName": { - "id": 55443, + "id": 55935, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4276:7:81", @@ -2348,7 +2348,7 @@ "visibility": "internal" } ], - "id": 55445, + "id": 55937, "nodeType": "VariableDeclarationStatement", "src": "4276:19:81" }, @@ -2396,14 +2396,14 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 55444, + "declaration": 55936, "isOffset": false, "isSlot": false, "src": "4344:11:81", "valueSize": 1 }, { - "declaration": 55428, + "declaration": 55920, "isOffset": false, "isSlot": false, "src": "4363:13:81", @@ -2413,62 +2413,62 @@ "flags": [ "memory-safe" ], - "id": 55446, + "id": 55938, "nodeType": "InlineAssembly", "src": "4305:90:81" }, { "assignments": [ - 55449 + 55941 ], "declarations": [ { "constant": false, - "id": 55449, + "id": 55941, "mutability": "mutable", "name": "state", "nameLocation": "4431:5:81", "nodeType": "VariableDeclaration", - "scope": 55473, + "scope": 55965, "src": "4405:31:81", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", "typeString": "struct InterpreterStateNP" }, "typeName": { - "id": 55448, + "id": 55940, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55447, + "id": 55939, "name": "InterpreterStateNP", "nameLocations": [ "4405:18:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "4405:18:81" }, - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "4405:18:81", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_storage_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_storage_ptr", "typeString": "struct InterpreterStateNP" } }, "visibility": "internal" } ], - "id": 55462, + "id": 55954, "initialValue": { "arguments": [ { - "id": 55452, + "id": 55944, "name": "sourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55444, + "referencedDeclaration": 55936, "src": "4487:11:81", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2479,7 +2479,7 @@ "arguments": [ { "expression": { - "id": 55455, + "id": 55947, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2490,7 +2490,7 @@ "typeString": "msg" } }, - "id": 55456, + "id": 55948, "isConstant": false, "isLValue": false, "isPure": false, @@ -2513,18 +2513,18 @@ } ], "expression": { - "id": 55453, + "id": 55945, "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55408, + "referencedDeclaration": 55900, "src": "4500:9:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, - "id": 55454, + "id": 55946, "isConstant": false, "isLValue": false, "isPure": false, @@ -2532,14 +2532,14 @@ "memberLocation": "4510:16:81", "memberName": "qualifyNamespace", "nodeType": "MemberAccess", - "referencedDeclaration": 57517, + "referencedDeclaration": 58009, "src": "4500:26:81", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$55814_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$55773_$attached_to$_t_userDefinedValueType$_StateNamespace_$55814_$", + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$56306_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$attached_to$_t_userDefinedValueType$_StateNamespace_$56306_$", "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" } }, - "id": 55457, + "id": 55949, "isConstant": false, "isLValue": false, "isPure": false, @@ -2551,28 +2551,28 @@ "src": "4500:38:81", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, { - "id": 55458, + "id": 55950, "name": "store", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55405, + "referencedDeclaration": 55897, "src": "4540:5:81", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 55459, + "id": 55951, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55415, + "referencedDeclaration": 55907, "src": "4547:7:81", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", @@ -2580,11 +2580,11 @@ } }, { - "id": 55460, + "id": 55952, "name": "OPCODE_FUNCTION_POINTERS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55383, + "referencedDeclaration": 55875, "src": "4556:24:81", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2599,11 +2599,11 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" }, { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, { @@ -2616,18 +2616,18 @@ } ], "expression": { - "id": 55450, + "id": 55942, "name": "expressionData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55437, + "referencedDeclaration": 55929, "src": "4439:14:81", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 55451, + "id": 55943, "isConstant": false, "isLValue": false, "isPure": false, @@ -2635,14 +2635,14 @@ "memberLocation": "4454:19:81", "memberName": "unsafeDeserializeNP", "nodeType": "MemberAccess", - "referencedDeclaration": 70180, + "referencedDeclaration": 70672, "src": "4439:34:81", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55773_$_t_contract$_IInterpreterStoreV1_$55805_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_contract$_IInterpreterStoreV1_$56297_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,FullyQualifiedNamespace,contract IInterpreterStoreV1,uint256[] memory[] memory,bytes memory) pure returns (struct InterpreterStateNP memory)" } }, - "id": 55461, + "id": 55953, "isConstant": false, "isLValue": false, "isPure": false, @@ -2654,7 +2654,7 @@ "src": "4439:151:81", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", "typeString": "struct InterpreterStateNP memory" } }, @@ -2668,7 +2668,7 @@ "arguments": [ { "hexValue": "30", - "id": 55468, + "id": 55960, "isConstant": false, "isLValue": false, "isPure": true, @@ -2690,7 +2690,7 @@ "typeString": "int_const 0" } ], - "id": 55467, + "id": 55959, "isConstant": false, "isLValue": false, "isPure": true, @@ -2703,7 +2703,7 @@ }, "typeName": { "baseType": { - "id": 55465, + "id": 55957, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4624:7:81", @@ -2712,7 +2712,7 @@ "typeString": "uint256" } }, - "id": 55466, + "id": 55958, "nodeType": "ArrayTypeName", "src": "4624:9:81", "typeDescriptions": { @@ -2721,7 +2721,7 @@ } } }, - "id": 55469, + "id": 55961, "isConstant": false, "isLValue": false, "isPure": true, @@ -2738,11 +2738,11 @@ } }, { - "id": 55470, + "id": 55962, "name": "maxOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55430, + "referencedDeclaration": 55922, "src": "4638:10:81", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2762,18 +2762,18 @@ } ], "expression": { - "id": 55463, + "id": 55955, "name": "state", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55449, + "referencedDeclaration": 55941, "src": "4607:5:81", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", "typeString": "struct InterpreterStateNP memory" } }, - "id": 55464, + "id": 55956, "isConstant": false, "isLValue": true, "isPure": false, @@ -2781,14 +2781,14 @@ "memberLocation": "4613:6:81", "memberName": "evalNP", "nodeType": "MemberAccess", - "referencedDeclaration": 57100, + "referencedDeclaration": 57592, "src": "4607:12:81", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$", "typeString": "function (struct InterpreterStateNP memory,uint256[] memory,uint256) view returns (uint256[] memory,uint256[] memory)" } }, - "id": 55471, + "id": 55963, "isConstant": false, "isLValue": false, "isPure": false, @@ -2804,18 +2804,18 @@ "typeString": "tuple(uint256[] memory,uint256[] memory)" } }, - "functionReturnParameters": 55423, - "id": 55472, + "functionReturnParameters": 55915, + "id": 55964, "nodeType": "Return", "src": "4600:49:81" } ] }, "baseFunctions": [ - 55854 + 56346 ], "documentation": { - "id": 55402, + "id": 55894, "nodeType": "StructuredDocumentation", "src": "2545:1221:81", "text": "There are MANY ways that eval can be forced into undefined/corrupt\n behaviour by passing in invalid data. This is a deliberate design\n decision to allow for the interpreter to be as gas efficient as\n possible. The interpreter is provably read only, it contains no state\n changing evm opcodes reachable on any logic path. This means that\n the caller can only harm themselves by passing in invalid data and\n either reverting, exhausting gas or getting back some garbage data.\n The caller can trivially protect themselves from these OOB issues by\n ensuring the integrity check has successfully run over the bytecode\n before calling eval. Any smart contract caller can do this by using a\n trusted and appropriate deployer contract to deploy the bytecode, which\n will automatically run the integrity check during deployment, then\n keeping a registry of trusted expression addresses for itself in storage.\n This appears first in the contract in the hope that the compiler will\n put it in the most efficient internal dispatch location to save a few\n gas per eval call.\n @inheritdoc IInterpreterV1" @@ -2827,41 +2827,41 @@ "name": "eval", "nameLocation": "3780:4:81", "parameters": { - "id": 55416, + "id": 55908, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55405, + "id": 55897, "mutability": "mutable", "name": "store", "nameLocation": "3814:5:81", "nodeType": "VariableDeclaration", - "scope": 55474, + "scope": 55966, "src": "3794:25:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 55404, + "id": 55896, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55403, + "id": 55895, "name": "IInterpreterStoreV1", "nameLocations": [ "3794:19:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "3794:19:81" }, - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "3794:19:81", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, @@ -2869,36 +2869,36 @@ }, { "constant": false, - "id": 55408, + "id": 55900, "mutability": "mutable", "name": "namespace", "nameLocation": "3844:9:81", "nodeType": "VariableDeclaration", - "scope": 55474, + "scope": 55966, "src": "3829:24:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" }, "typeName": { - "id": 55407, + "id": 55899, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55406, + "id": 55898, "name": "StateNamespace", "nameLocations": [ "3829:14:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55814, + "referencedDeclaration": 56306, "src": "3829:14:81" }, - "referencedDeclaration": 55814, + "referencedDeclaration": 56306, "src": "3829:14:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55814", + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", "typeString": "StateNamespace" } }, @@ -2906,36 +2906,36 @@ }, { "constant": false, - "id": 55411, + "id": 55903, "mutability": "mutable", "name": "dispatch", "nameLocation": "3879:8:81", "nodeType": "VariableDeclaration", - "scope": 55474, + "scope": 55966, "src": "3863:24:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" }, "typeName": { - "id": 55410, + "id": 55902, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55409, + "id": 55901, "name": "EncodedDispatch", "nameLocations": [ "3863:15:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55812, + "referencedDeclaration": 56304, "src": "3863:15:81" }, - "referencedDeclaration": 55812, + "referencedDeclaration": 56304, "src": "3863:15:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55812", + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", "typeString": "EncodedDispatch" } }, @@ -2943,12 +2943,12 @@ }, { "constant": false, - "id": 55415, + "id": 55907, "mutability": "mutable", "name": "context", "nameLocation": "3916:7:81", "nodeType": "VariableDeclaration", - "scope": 55474, + "scope": 55966, "src": "3897:26:81", "stateVariable": false, "storageLocation": "memory", @@ -2959,7 +2959,7 @@ "typeName": { "baseType": { "baseType": { - "id": 55412, + "id": 55904, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3897:7:81", @@ -2968,7 +2968,7 @@ "typeString": "uint256" } }, - "id": 55413, + "id": 55905, "nodeType": "ArrayTypeName", "src": "3897:9:81", "typeDescriptions": { @@ -2976,7 +2976,7 @@ "typeString": "uint256[]" } }, - "id": 55414, + "id": 55906, "nodeType": "ArrayTypeName", "src": "3897:11:81", "typeDescriptions": { @@ -2990,17 +2990,17 @@ "src": "3784:145:81" }, "returnParameters": { - "id": 55423, + "id": 55915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55419, + "id": 55911, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55474, + "scope": 55966, "src": "3953:16:81", "stateVariable": false, "storageLocation": "memory", @@ -3010,7 +3010,7 @@ }, "typeName": { "baseType": { - "id": 55417, + "id": 55909, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3953:7:81", @@ -3019,7 +3019,7 @@ "typeString": "uint256" } }, - "id": 55418, + "id": 55910, "nodeType": "ArrayTypeName", "src": "3953:9:81", "typeDescriptions": { @@ -3031,12 +3031,12 @@ }, { "constant": false, - "id": 55422, + "id": 55914, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55474, + "scope": 55966, "src": "3971:16:81", "stateVariable": false, "storageLocation": "memory", @@ -3046,7 +3046,7 @@ }, "typeName": { "baseType": { - "id": 55420, + "id": 55912, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3971:7:81", @@ -3055,7 +3055,7 @@ "typeString": "uint256" } }, - "id": 55421, + "id": 55913, "nodeType": "ArrayTypeName", "src": "3971:9:81", "typeDescriptions": { @@ -3068,18 +3068,18 @@ ], "src": "3952:36:81" }, - "scope": 55567, + "scope": 56059, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 55502, + "id": 55994, "nodeType": "FunctionDefinition", "src": "4688:270:81", "nodes": [], "body": { - "id": 55501, + "id": 55993, "nodeType": "Block", "src": "4779:179:81", "nodes": [], @@ -3090,7 +3090,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 55499, + "id": 55991, "isConstant": false, "isLValue": false, "isPure": false, @@ -3100,7 +3100,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 55494, + "id": 55986, "isConstant": false, "isLValue": false, "isPure": false, @@ -3110,17 +3110,17 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 55487, + "id": 55979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55482, + "id": 55974, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55476, + "referencedDeclaration": 55968, "src": "4796:11:81", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -3133,14 +3133,14 @@ "expression": { "arguments": [ { - "id": 55484, + "id": 55976, "name": "IInterpreterV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "4816:14:81", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$55855_$", + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$56347_$", "typeString": "type(contract IInterpreterV1)" } } @@ -3148,11 +3148,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$55855_$", + "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$56347_$", "typeString": "type(contract IInterpreterV1)" } ], - "id": 55483, + "id": 55975, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3163,7 +3163,7 @@ "typeString": "function () pure" } }, - "id": 55485, + "id": 55977, "isConstant": false, "isLValue": false, "isPure": true, @@ -3175,11 +3175,11 @@ "src": "4811:20:81", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterV1_$55855", + "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterV1_$56347", "typeString": "type(contract IInterpreterV1)" } }, - "id": 55486, + "id": 55978, "isConstant": false, "isLValue": false, "isPure": true, @@ -3206,17 +3206,17 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 55493, + "id": 55985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 55488, + "id": 55980, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55476, + "referencedDeclaration": 55968, "src": "4847:11:81", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -3229,14 +3229,14 @@ "expression": { "arguments": [ { - "id": 55490, + "id": 55982, "name": "IDebugInterpreterV2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55935, + "referencedDeclaration": 56427, "src": "4867:19:81", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$55935_$", + "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$56427_$", "typeString": "type(contract IDebugInterpreterV2)" } } @@ -3244,11 +3244,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$55935_$", + "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$56427_$", "typeString": "type(contract IDebugInterpreterV2)" } ], - "id": 55489, + "id": 55981, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3259,7 +3259,7 @@ "typeString": "function () pure" } }, - "id": 55491, + "id": 55983, "isConstant": false, "isLValue": false, "isPure": true, @@ -3271,11 +3271,11 @@ "src": "4862:25:81", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IDebugInterpreterV2_$55935", + "typeIdentifier": "t_magic_meta_type_t_contract$_IDebugInterpreterV2_$56427", "typeString": "type(contract IDebugInterpreterV2)" } }, - "id": 55492, + "id": 55984, "isConstant": false, "isLValue": false, "isPure": true, @@ -3306,11 +3306,11 @@ "rightExpression": { "arguments": [ { - "id": 55497, + "id": 55989, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55476, + "referencedDeclaration": 55968, "src": "4939:11:81", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -3326,18 +3326,18 @@ } ], "expression": { - "id": 55495, + "id": 55987, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, "src": "4915:5:81", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_RainterpreterNP_$55567_$", + "typeIdentifier": "t_type$_t_super$_RainterpreterNP_$56059_$", "typeString": "type(contract super RainterpreterNP)" } }, - "id": 55496, + "id": 55988, "isConstant": false, "isLValue": false, "isPure": false, @@ -3345,14 +3345,14 @@ "memberLocation": "4921:17:81", "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 45445, + "referencedDeclaration": 45937, "src": "4915:23:81", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 55498, + "id": 55990, "isConstant": false, "isLValue": false, "isPure": false, @@ -3374,15 +3374,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 55481, - "id": 55500, + "functionReturnParameters": 55973, + "id": 55992, "nodeType": "Return", "src": "4789:162:81" } ] }, "baseFunctions": [ - 45445 + 45937 ], "functionSelector": "01ffc9a7", "implemented": true, @@ -3391,23 +3391,23 @@ "name": "supportsInterface", "nameLocation": "4697:17:81", "overrides": { - "id": 55478, + "id": 55970, "nodeType": "OverrideSpecifier", "overrides": [], "src": "4755:8:81" }, "parameters": { - "id": 55477, + "id": 55969, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55476, + "id": 55968, "mutability": "mutable", "name": "interfaceId", "nameLocation": "4722:11:81", "nodeType": "VariableDeclaration", - "scope": 55502, + "scope": 55994, "src": "4715:18:81", "stateVariable": false, "storageLocation": "default", @@ -3416,7 +3416,7 @@ "typeString": "bytes4" }, "typeName": { - "id": 55475, + "id": 55967, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "4715:6:81", @@ -3431,17 +3431,17 @@ "src": "4714:20:81" }, "returnParameters": { - "id": 55481, + "id": 55973, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55480, + "id": 55972, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55502, + "scope": 55994, "src": "4773:4:81", "stateVariable": false, "storageLocation": "default", @@ -3450,7 +3450,7 @@ "typeString": "bool" }, "typeName": { - "id": 55479, + "id": 55971, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4773:4:81", @@ -3464,35 +3464,35 @@ ], "src": "4772:6:81" }, - "scope": 55567, + "scope": 56059, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 55555, + "id": 56047, "nodeType": "FunctionDefinition", "src": "5004:736:81", "nodes": [], "body": { - "id": 55554, + "id": 56046, "nodeType": "Block", "src": "5343:397:81", "nodes": [], "statements": [ { "assignments": [ - 55533 + 56025 ], "declarations": [ { "constant": false, - "id": 55533, + "id": 56025, "mutability": "mutable", "name": "sourceIndex", "nameLocation": "5418:11:81", "nodeType": "VariableDeclaration", - "scope": 55554, + "scope": 56046, "src": "5410:19:81", "stateVariable": false, "storageLocation": "default", @@ -3501,7 +3501,7 @@ "typeString": "uint256" }, "typeName": { - "id": 55532, + "id": 56024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5410:7:81", @@ -3513,7 +3513,7 @@ "visibility": "internal" } ], - "id": 55534, + "id": 56026, "nodeType": "VariableDeclarationStatement", "src": "5410:19:81" }, @@ -3561,14 +3561,14 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 55533, + "declaration": 56025, "isOffset": false, "isSlot": false, "src": "5478:11:81", "valueSize": 1 }, { - "declaration": 55514, + "declaration": 56006, "isOffset": false, "isSlot": false, "src": "5497:13:81", @@ -3578,62 +3578,62 @@ "flags": [ "memory-safe" ], - "id": 55535, + "id": 56027, "nodeType": "InlineAssembly", "src": "5439:90:81" }, { "assignments": [ - 55538 + 56030 ], "declarations": [ { "constant": false, - "id": 55538, + "id": 56030, "mutability": "mutable", "name": "state", "nameLocation": "5564:5:81", "nodeType": "VariableDeclaration", - "scope": 55554, + "scope": 56046, "src": "5538:31:81", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", "typeString": "struct InterpreterStateNP" }, "typeName": { - "id": 55537, + "id": 56029, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55536, + "id": 56028, "name": "InterpreterStateNP", "nameLocations": [ "5538:18:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "5538:18:81" }, - "referencedDeclaration": 70213, + "referencedDeclaration": 70705, "src": "5538:18:81", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_storage_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_storage_ptr", "typeString": "struct InterpreterStateNP" } }, "visibility": "internal" } ], - "id": 55547, + "id": 56039, "initialValue": { "arguments": [ { - "id": 55541, + "id": 56033, "name": "sourceIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55533, + "referencedDeclaration": 56025, "src": "5619:11:81", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3641,35 +3641,35 @@ } }, { - "id": 55542, + "id": 56034, "name": "namespace", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55509, + "referencedDeclaration": 56001, "src": "5632:9:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, { - "id": 55543, + "id": 56035, "name": "store", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55506, + "referencedDeclaration": 55998, "src": "5643:5:81", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, { - "id": 55544, + "id": 56036, "name": "context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55520, + "referencedDeclaration": 56012, "src": "5650:7:81", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", @@ -3677,11 +3677,11 @@ } }, { - "id": 55545, + "id": 56037, "name": "OPCODE_FUNCTION_POINTERS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55383, + "referencedDeclaration": 55875, "src": "5659:24:81", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3696,11 +3696,11 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" }, { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, { @@ -3713,18 +3713,18 @@ } ], "expression": { - "id": 55539, + "id": 56031, "name": "expressionData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55511, + "referencedDeclaration": 56003, "src": "5584:14:81", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 55540, + "id": 56032, "isConstant": false, "isLValue": false, "isPure": false, @@ -3732,14 +3732,14 @@ "memberLocation": "5599:19:81", "memberName": "unsafeDeserializeNP", "nodeType": "MemberAccess", - "referencedDeclaration": 70180, + "referencedDeclaration": 70672, "src": "5584:34:81", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55773_$_t_contract$_IInterpreterStoreV1_$55805_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_contract$_IInterpreterStoreV1_$56297_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,FullyQualifiedNamespace,contract IInterpreterStoreV1,uint256[] memory[] memory,bytes memory) pure returns (struct InterpreterStateNP memory)" } }, - "id": 55546, + "id": 56038, "isConstant": false, "isLValue": false, "isPure": false, @@ -3751,7 +3751,7 @@ "src": "5584:100:81", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", "typeString": "struct InterpreterStateNP memory" } }, @@ -3762,11 +3762,11 @@ "expression": { "arguments": [ { - "id": 55550, + "id": 56042, "name": "inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55523, + "referencedDeclaration": 56015, "src": "5714:6:81", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -3774,11 +3774,11 @@ } }, { - "id": 55551, + "id": 56043, "name": "maxOutputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55516, + "referencedDeclaration": 56008, "src": "5722:10:81", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3798,18 +3798,18 @@ } ], "expression": { - "id": 55548, + "id": 56040, "name": "state", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 55538, + "referencedDeclaration": 56030, "src": "5701:5:81", "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70213_memory_ptr", + "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", "typeString": "struct InterpreterStateNP memory" } }, - "id": 55549, + "id": 56041, "isConstant": false, "isLValue": true, "isPure": false, @@ -3817,14 +3817,14 @@ "memberLocation": "5707:6:81", "memberName": "evalNP", "nodeType": "MemberAccess", - "referencedDeclaration": 57100, + "referencedDeclaration": 57592, "src": "5701:12:81", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70213_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$", "typeString": "function (struct InterpreterStateNP memory,uint256[] memory,uint256) view returns (uint256[] memory,uint256[] memory)" } }, - "id": 55552, + "id": 56044, "isConstant": false, "isLValue": false, "isPure": false, @@ -3840,18 +3840,18 @@ "typeString": "tuple(uint256[] memory,uint256[] memory)" } }, - "functionReturnParameters": 55531, - "id": 55553, + "functionReturnParameters": 56023, + "id": 56045, "nodeType": "Return", "src": "5694:39:81" } ] }, "baseFunctions": [ - 55934 + 56426 ], "documentation": { - "id": 55503, + "id": 55995, "nodeType": "StructuredDocumentation", "src": "4964:35:81", "text": "@inheritdoc IDebugInterpreterV2" @@ -3863,41 +3863,41 @@ "name": "offchainDebugEval", "nameLocation": "5013:17:81", "parameters": { - "id": 55524, + "id": 56016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55506, + "id": 55998, "mutability": "mutable", "name": "store", "nameLocation": "5060:5:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5040:25:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" }, "typeName": { - "id": 55505, + "id": 55997, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55504, + "id": 55996, "name": "IInterpreterStoreV1", "nameLocations": [ "5040:19:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5040:19:81" }, - "referencedDeclaration": 55805, + "referencedDeclaration": 56297, "src": "5040:19:81", "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55805", + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", "typeString": "contract IInterpreterStoreV1" } }, @@ -3905,36 +3905,36 @@ }, { "constant": false, - "id": 55509, + "id": 56001, "mutability": "mutable", "name": "namespace", "nameLocation": "5099:9:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5075:33:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" }, "typeName": { - "id": 55508, + "id": 56000, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55507, + "id": 55999, "name": "FullyQualifiedNamespace", "nameLocations": [ "5075:23:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55773, + "referencedDeclaration": 56265, "src": "5075:23:81" }, - "referencedDeclaration": 55773, + "referencedDeclaration": 56265, "src": "5075:23:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55773", + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", "typeString": "FullyQualifiedNamespace" } }, @@ -3942,12 +3942,12 @@ }, { "constant": false, - "id": 55511, + "id": 56003, "mutability": "mutable", "name": "expressionData", "nameLocation": "5131:14:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5118:27:81", "stateVariable": false, "storageLocation": "memory", @@ -3956,7 +3956,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55510, + "id": 56002, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5118:5:81", @@ -3969,36 +3969,36 @@ }, { "constant": false, - "id": 55514, + "id": 56006, "mutability": "mutable", "name": "sourceIndex16", "nameLocation": "5167:13:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5155:25:81", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" }, "typeName": { - "id": 55513, + "id": 56005, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 55512, + "id": 56004, "name": "SourceIndex", "nameLocations": [ "5155:11:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55810, + "referencedDeclaration": 56302, "src": "5155:11:81" }, - "referencedDeclaration": 55810, + "referencedDeclaration": 56302, "src": "5155:11:81", "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$55810", + "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", "typeString": "SourceIndex" } }, @@ -4006,12 +4006,12 @@ }, { "constant": false, - "id": 55516, + "id": 56008, "mutability": "mutable", "name": "maxOutputs", "nameLocation": "5198:10:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5190:18:81", "stateVariable": false, "storageLocation": "default", @@ -4020,7 +4020,7 @@ "typeString": "uint256" }, "typeName": { - "id": 55515, + "id": 56007, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5190:7:81", @@ -4033,12 +4033,12 @@ }, { "constant": false, - "id": 55520, + "id": 56012, "mutability": "mutable", "name": "context", "nameLocation": "5237:7:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5218:26:81", "stateVariable": false, "storageLocation": "memory", @@ -4049,7 +4049,7 @@ "typeName": { "baseType": { "baseType": { - "id": 55517, + "id": 56009, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5218:7:81", @@ -4058,7 +4058,7 @@ "typeString": "uint256" } }, - "id": 55518, + "id": 56010, "nodeType": "ArrayTypeName", "src": "5218:9:81", "typeDescriptions": { @@ -4066,7 +4066,7 @@ "typeString": "uint256[]" } }, - "id": 55519, + "id": 56011, "nodeType": "ArrayTypeName", "src": "5218:11:81", "typeDescriptions": { @@ -4078,12 +4078,12 @@ }, { "constant": false, - "id": 55523, + "id": 56015, "mutability": "mutable", "name": "inputs", "nameLocation": "5271:6:81", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5254:23:81", "stateVariable": false, "storageLocation": "memory", @@ -4093,7 +4093,7 @@ }, "typeName": { "baseType": { - "id": 55521, + "id": 56013, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5254:7:81", @@ -4102,7 +4102,7 @@ "typeString": "uint256" } }, - "id": 55522, + "id": 56014, "nodeType": "ArrayTypeName", "src": "5254:9:81", "typeDescriptions": { @@ -4116,17 +4116,17 @@ "src": "5030:253:81" }, "returnParameters": { - "id": 55531, + "id": 56023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55527, + "id": 56019, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5307:16:81", "stateVariable": false, "storageLocation": "memory", @@ -4136,7 +4136,7 @@ }, "typeName": { "baseType": { - "id": 55525, + "id": 56017, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5307:7:81", @@ -4145,7 +4145,7 @@ "typeString": "uint256" } }, - "id": 55526, + "id": 56018, "nodeType": "ArrayTypeName", "src": "5307:9:81", "typeDescriptions": { @@ -4157,12 +4157,12 @@ }, { "constant": false, - "id": 55530, + "id": 56022, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55555, + "scope": 56047, "src": "5325:16:81", "stateVariable": false, "storageLocation": "memory", @@ -4172,7 +4172,7 @@ }, "typeName": { "baseType": { - "id": 55528, + "id": 56020, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5325:7:81", @@ -4181,7 +4181,7 @@ "typeString": "uint256" } }, - "id": 55529, + "id": 56021, "nodeType": "ArrayTypeName", "src": "5325:9:81", "typeDescriptions": { @@ -4194,18 +4194,18 @@ ], "src": "5306:36:81" }, - "scope": 55567, + "scope": 56059, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 55566, + "id": 56058, "nodeType": "FunctionDefinition", "src": "5781:141:81", "nodes": [], "body": { - "id": 55565, + "id": 56057, "nodeType": "Block", "src": "5854:68:81", "nodes": [], @@ -4216,18 +4216,18 @@ "expression": { "argumentTypes": [], "expression": { - "id": 55561, + "id": 56053, "name": "LibAllStandardOpsNP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 58346, + "referencedDeclaration": 58838, "src": "5871:19:81", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58346_$", + "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58838_$", "typeString": "type(library LibAllStandardOpsNP)" } }, - "id": 55562, + "id": 56054, "isConstant": false, "isLValue": false, "isPure": false, @@ -4235,14 +4235,14 @@ "memberLocation": "5891:22:81", "memberName": "opcodeFunctionPointers", "nodeType": "MemberAccess", - "referencedDeclaration": 58345, + "referencedDeclaration": 58837, "src": "5871:42:81", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 55563, + "id": 56055, "isConstant": false, "isLValue": false, "isPure": false, @@ -4258,18 +4258,18 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 55560, - "id": 55564, + "functionReturnParameters": 56052, + "id": 56056, "nodeType": "Return", "src": "5864:51:81" } ] }, "baseFunctions": [ - 55831 + 56323 ], "documentation": { - "id": 55556, + "id": 56048, "nodeType": "StructuredDocumentation", "src": "5746:30:81", "text": "@inheritdoc IInterpreterV1" @@ -4281,23 +4281,23 @@ "name": "functionPointers", "nameLocation": "5790:16:81", "parameters": { - "id": 55557, + "id": 56049, "nodeType": "ParameterList", "parameters": [], "src": "5806:2:81" }, "returnParameters": { - "id": 55560, + "id": 56052, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 55559, + "id": 56051, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 55566, + "scope": 56058, "src": "5840:12:81", "stateVariable": false, "storageLocation": "memory", @@ -4306,7 +4306,7 @@ "typeString": "bytes" }, "typeName": { - "id": 55558, + "id": 56050, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5840:5:81", @@ -4320,7 +4320,7 @@ ], "src": "5839:14:81" }, - "scope": 55567, + "scope": 56059, "stateMutability": "view", "virtual": true, "visibility": "external" @@ -4330,46 +4330,46 @@ "baseContracts": [ { "baseName": { - "id": 55385, + "id": 55877, "name": "IInterpreterV1", "nameLocations": [ "2352:14:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55855, + "referencedDeclaration": 56347, "src": "2352:14:81" }, - "id": 55386, + "id": 55878, "nodeType": "InheritanceSpecifier", "src": "2352:14:81" }, { "baseName": { - "id": 55387, + "id": 55879, "name": "IDebugInterpreterV2", "nameLocations": [ "2368:19:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 55935, + "referencedDeclaration": 56427, "src": "2368:19:81" }, - "id": 55388, + "id": 55880, "nodeType": "InheritanceSpecifier", "src": "2368:19:81" }, { "baseName": { - "id": 55389, + "id": 55881, "name": "ERC165", "nameLocations": [ "2389:6:81" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 45446, + "referencedDeclaration": 45938, "src": "2389:6:81" }, - "id": 55390, + "id": 55882, "nodeType": "InheritanceSpecifier", "src": "2389:6:81" } @@ -4378,30 +4378,30 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 55384, + "id": 55876, "nodeType": "StructuredDocumentation", "src": "1852:472:81", "text": "@title RainterpreterNP\n @notice !!EXPERIMENTAL!! implementation of a Rainlang interpreter that is\n compatible with native onchain Rainlang parsing. Initially copied verbatim\n from the JS compatible Rainterpreter. This interpreter is deliberately\n separate from the JS Rainterpreter to allow for experimentation with the\n onchain interpreter without affecting the JS interpreter, up to and including\n a complely different execution model and opcodes." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 55567, - 45446, - 45458, - 55935, - 55855 + 56059, + 45938, + 45950, + 56427, + 56347 ], "name": "RainterpreterNP", "nameLocation": "2333:15:81", - "scope": 55568, + "scope": 56060, "usedErrors": [ - 46597, - 46604, - 56031, - 57785, - 59039, - 59227, - 86673 + 47089, + 47096, + 56523, + 58277, + 59531, + 59719, + 87181 ] } ], diff --git a/subgraph/tests/generated/RainterpreterStore.json b/subgraph/tests/generated/RainterpreterStore.json index ec195169fc..77f106201a 100644 --- a/subgraph/tests/generated/RainterpreterStore.json +++ b/subgraph/tests/generated/RainterpreterStore.json @@ -80,7 +80,7 @@ }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b61005961005436600461021e565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c366004610267565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610289565b610153565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff2f4e56c00000000000000000000000000000000000000000000000000000000148061014d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b61015e600282610308565b1561019c576040517f042a603d0000000000000000000000000000000000000000000000000000000081526004810182905260240160405180910390fd5b60008381523360205260408120905b82811015610217578383826001018181106101c8576101c8610343565b9050602002013560008084815260200190815260200160002060008686858181106101f5576101f5610343565b60209081029290920135835250810191909152604001600020556002016101ab565b5050505050565b60006020828403121561023057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461026057600080fd5b9392505050565b6000806040838503121561027a57600080fd5b50508035926020909101359150565b60008060006040848603121561029e57600080fd5b83359250602084013567ffffffffffffffff808211156102bd57600080fd5b818601915086601f8301126102d157600080fd5b8135818111156102e057600080fd5b8760208260051b85010111156102f557600080fd5b6020830194508093505050509250925092565b60008261033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd", - "sourceMap": "704:1873:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:207;;;;;;:::i;:::-;;:::i;:::-;;;516:14:209;;509:22;491:41;;479:2;464:18;1542:207:82;;;;;;;;2436:139;;;;;;:::i;:::-;2520:7;2546:17;;;;;;;;;;;:22;;;;;;;;;;2436:139;;;;987:25:209;;;975:2;960:18;2436:139:82;841:177:209;1795:595:82;;;;;;:::i;:::-;;:::i;:::-;;1542:207;1627:4;1650:52;;;1665:37;1650:52;;:92;;-1:-1:-1;952:25:34;937:40;;;;1706:36:82;1643:99;1542:207;-1:-1:-1;;1542:207:82:o;1795:595::-;2015:14;2028:1;2015:3;:14;:::i;:::-;:19;2011:99;;2057:42;;;;;;;;987:25:209;;;960:18;;2057:42:82;;;;;;;2011:99;2143:47;1094:25:98;;;2220:10:82;1139:4:98;1132:20;1200:4;1187:18;;;2245:129:82;2265:14;;;2245:129;;;2349:3;;2353:1;2357;2353:5;2349:10;;;;;;;:::i;:::-;;;;;;;2307:6;:31;2314:23;2307:31;;;;;;;;;;;:39;2339:3;;2343:1;2339:6;;;;;;;:::i;:::-;;;;;;;;;;2307:39;;-1:-1:-1;2307:39:82;;;;;;;;-1:-1:-1;2307:39:82;:52;2286:1;2281:6;2245:129;;;;2119:265;1795:595;;;:::o;14:332:209:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:209:o;543:293::-;656:6;664;717:2;705:9;696:7;692:23;688:32;685:52;;;733:1;730;723:12;685:52;-1:-1:-1;;756:23:209;;;826:2;811:18;;;798:32;;-1:-1:-1;543:293:209:o;1023:719::-;1154:6;1162;1170;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;1275:9;1262:23;1252:33;;1336:2;1325:9;1321:18;1308:32;1359:18;1400:2;1392:6;1389:14;1386:34;;;1416:1;1413;1406:12;1386:34;1454:6;1443:9;1439:22;1429:32;;1499:7;1492:4;1488:2;1484:13;1480:27;1470:55;;1521:1;1518;1511:12;1470:55;1561:2;1548:16;1587:2;1579:6;1576:14;1573:34;;;1603:1;1600;1593:12;1573:34;1656:7;1651:2;1641:6;1638:1;1634:14;1630:2;1626:23;1622:32;1619:45;1616:65;;;1677:1;1674;1667:12;1616:65;1708:2;1704;1700:11;1690:21;;1730:6;1720:16;;;;;1023:719;;;;;:::o;1747:266::-;1779:1;1805;1795:189;;1840:77;1837:1;1830:88;1941:4;1938:1;1931:15;1969:4;1966:1;1959:15;1795:189;-1:-1:-1;1998:9:209;;1747:266::o;2018:184::-;2070:77;2067:1;2060:88;2167:4;2164:1;2157:15;2191:4;2188:1;2181:15", + "sourceMap": "704:1873:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:207;;;;;;:::i;:::-;;:::i;:::-;;;516:14:212;;509:22;491:41;;479:2;464:18;1542:207:82;;;;;;;;2436:139;;;;;;:::i;:::-;2520:7;2546:17;;;;;;;;;;;:22;;;;;;;;;;2436:139;;;;987:25:212;;;975:2;960:18;2436:139:82;841:177:212;1795:595:82;;;;;;:::i;:::-;;:::i;:::-;;1542:207;1627:4;1650:52;;;1665:37;1650:52;;:92;;-1:-1:-1;952:25:34;937:40;;;;1706:36:82;1643:99;1542:207;-1:-1:-1;;1542:207:82:o;1795:595::-;2015:14;2028:1;2015:3;:14;:::i;:::-;:19;2011:99;;2057:42;;;;;;;;987:25:212;;;960:18;;2057:42:82;;;;;;;2011:99;2143:47;1094:25:99;;;2220:10:82;1139:4:99;1132:20;1200:4;1187:18;;;2245:129:82;2265:14;;;2245:129;;;2349:3;;2353:1;2357;2353:5;2349:10;;;;;;;:::i;:::-;;;;;;;2307:6;:31;2314:23;2307:31;;;;;;;;;;;:39;2339:3;;2343:1;2339:6;;;;;;;:::i;:::-;;;;;;;;;;2307:39;;-1:-1:-1;2307:39:82;;;;;;;;-1:-1:-1;2307:39:82;:52;2286:1;2281:6;2245:129;;;;2119:265;1795:595;;;:::o;14:332:212:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:212:o;543:293::-;656:6;664;717:2;705:9;696:7;692:23;688:32;685:52;;;733:1;730;723:12;685:52;-1:-1:-1;;756:23:212;;;826:2;811:18;;;798:32;;-1:-1:-1;543:293:212:o;1023:719::-;1154:6;1162;1170;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;1275:9;1262:23;1252:33;;1336:2;1325:9;1321:18;1308:32;1359:18;1400:2;1392:6;1389:14;1386:34;;;1416:1;1413;1406:12;1386:34;1454:6;1443:9;1439:22;1429:32;;1499:7;1492:4;1488:2;1484:13;1480:27;1470:55;;1521:1;1518;1511:12;1470:55;1561:2;1548:16;1587:2;1579:6;1576:14;1573:34;;;1603:1;1600;1593:12;1573:34;1656:7;1651:2;1641:6;1638:1;1634:14;1630:2;1626:23;1622:32;1619:45;1616:65;;;1677:1;1674;1667:12;1616:65;1708:2;1704;1700:11;1690:21;;1730:6;1720:16;;;;;1023:719;;;;;:::o;1747:266::-;1779:1;1805;1795:189;;1840:77;1837:1;1830:88;1941:4;1938:1;1931:15;1969:4;1966:1;1959:15;1795:189;-1:-1:-1;1998:9:212;;1747:266::o;2018:184::-;2070:77;2067:1;2060:88;2167:4;2164:1;2157:15;2191:4;2188:1;2181:15", "linkReferences": {} }, "methodIdentifiers": { @@ -337,7 +337,7 @@ 56347 ], "LibNamespace": [ - 57980 + 58010 ], "NO_STORE": [ 56274 @@ -408,7 +408,7 @@ "file": "../lib/ns/LibNamespace.sol", "nameLocation": "-1:-1:-1", "scope": 56189, - "sourceUnit": 57981, + "sourceUnit": 58011, "symbolAliases": [], "unitAlias": "" }, @@ -479,7 +479,7 @@ "775:12:82" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 57980, + "referencedDeclaration": 58010, "src": "775:12:82" }, "typeName": { @@ -1171,7 +1171,7 @@ "memberLocation": "2203:16:82", "memberName": "qualifyNamespace", "nodeType": "MemberAccess", - "referencedDeclaration": 57979, + "referencedDeclaration": 58009, "src": "2193:26:82", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$56306_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$attached_to$_t_userDefinedValueType$_StateNamespace_$56306_$", From a26d841c4cf7923c97572ef01a879c02192a1149 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 02:05:50 -0400 Subject: [PATCH 034/163] update abis on ci --- .github/workflows/subgraph-test.yaml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 7823a75461..637dc130e8 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -7,14 +7,28 @@ jobs: steps: - uses: actions/checkout@v3 - # with: - # submodules: recursive + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@v4 + + - uses: DeterminateSystems/magic-nix-cache-action@v2 + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Forge shallow install + run: forge install --shallow - name: Install rustup stable uses: actions-rs/toolchain@v1 with: toolchain: stable + - name: Initialize setup + run: nix run .#init-setup + - name: Start docker container run: docker-compose -f subgraph/docker/docker-compose.yaml up -d From ee1997067f451ba9365e0e2030f3ac034b825fdd Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 02:12:58 -0400 Subject: [PATCH 035/163] fix woring directory nix --- .github/workflows/subgraph-test.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 637dc130e8..9b967d724a 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -21,14 +21,15 @@ jobs: - name: Forge shallow install run: forge install --shallow + - name: Initialize setup + working-directory: ./subgraph + run: nix run .#init-setup + - name: Install rustup stable uses: actions-rs/toolchain@v1 with: toolchain: stable - - name: Initialize setup - run: nix run .#init-setup - - name: Start docker container run: docker-compose -f subgraph/docker/docker-compose.yaml up -d From 0a52a5662ad3d98f78b0750daf4ce8396eae4e68 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 02:59:16 -0400 Subject: [PATCH 036/163] wip: order queries --- subgraph/tests/entities.rs | 99 ++++++++++++++++- subgraph/tests/subgraph/query/mod.rs | 1 + subgraph/tests/subgraph/query/order/mod.rs | 100 ++++++++++++++++++ .../tests/subgraph/query/order/order.graphql | 39 +++++++ subgraph/tests/utils/events.rs | 2 +- 5 files changed, 238 insertions(+), 3 deletions(-) create mode 100644 subgraph/tests/subgraph/query/order/mod.rs create mode 100644 subgraph/tests/subgraph/query/order/order.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 7a8a89f434..e452baa5c9 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -3,11 +3,18 @@ mod subgraph; mod utils; use anyhow::Result; -use ethers::{signers::Signer, types::Bytes, utils::keccak256}; +use ethers::{ + signers::Signer, + types::{Bytes, U256}, + utils::keccak256, +}; +use generated::{EvaluableConfigV2, Io, OrderConfigV2}; +use hex::FromHex; use subgraph::{wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, - deploy::{get_orderbook, read_orderbook_meta}, + deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, + events::get_add_order_event, }; #[tokio::main] @@ -193,6 +200,94 @@ async fn content_meta_v1_entity_test() -> Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn order_entity_test() -> Result<()> { + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + /////////////////////////////////////////////// + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token A"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token B"); + + // * Build OrderConfig + // Build IO (input) + let io_input = Io { + token: token_a.address(), + decimals: token_a.decimals().await.unwrap(), + vault_id: U256::from(0), + }; + + // Build IO (output) + let io_output = Io { + token: token_b.address(), + decimals: token_b.decimals().await.unwrap(), + vault_id: U256::from(0), + }; + + let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); + let (bytecode, constants) = expression_deployer + .parse(data_parse.clone()) + .await + .expect("cannot get value from parse"); + + // An example rain doc (hardcoded - does not contain any well info. Only rain doc well formed) + let rain_doc = Bytes::from_hex("0xff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e")?; + + // Build EvaluableConfigV2 + let eval_config = EvaluableConfigV2 { + deployer: expression_deployer.address(), + bytecode, + constants, + }; + + let config = OrderConfigV2 { + valid_inputs: vec![io_input], + valid_outputs: vec![io_output], + evaluable_config: eval_config, + meta: rain_doc.clone(), + }; + + // Add the order + let add_order_func = orderbook.add_order(config); + let tx_add_order = add_order_func.send().await.expect("order not sent"); + + let add_order_data = get_add_order_event(orderbook.clone(), tx_add_order).await; + println!("add_order_data: {:?}", add_order_data); + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // let id = response; + + // let response = Query::content_meta_v1(content.hash().as_fixed_bytes().into()) + // .await + // .expect("cannot get the query response"); + + // let mint_func = token_a.mint(wallet_0.address(), _get_amount_tokens(20, 18)); + // let tx_mint = mint_func.send().await.expect("mint not sent"); + + // let mint_data = _get_transfer_event(token_a, tx_mint).await; + // println!("mint_data: {:?}", mint_data); + + // let _ = is_sugraph_node_init() + // .await + // .expect("cannot check subgraph node"); + + Ok(()) +} + #[test] fn util_cbor_meta_test() -> Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index ee2863e938..d70fa461e6 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,6 +1,7 @@ pub(crate) mod content_meta_v1; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; +pub(crate) mod order; use anyhow::Result; use ethers::types::{Address, Bytes}; diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs new file mode 100644 index 0000000000..c4dd1a3464 --- /dev/null +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -0,0 +1,100 @@ +use self::order::{OrderOrder, OrderOrderOwner, ResponseData}; +use super::SG_URL; +use crate::{subgraph::wait, utils::mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/order/order.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct Order; + +#[derive(Serialize, Deserialize, Debug)] +pub struct OrderResponse { + pub id: Bytes, + pub order_hash: Bytes, + pub owner: Address, + pub interpreter: Address, + pub interpreter_store: Address, + pub expression_deployer: Address, + pub expression: Address, + pub order_active: bool, + pub handle_i_o: bool, + pub meta: Bytes, + + pub valid_inputs: Vec, + pub valid_outputs: Vec, + pub order_jsonstring: String, + pub expression_jsonstring: String, + + pub transaction: Bytes, + pub emitter: Address, + pub timestamp: U256, + + pub take_orders: Vec, + pub orders_clears: Vec, +} + +impl OrderResponse { + // pub fn from(response: ResponseData) -> OrderResponse { + pub fn from(response: ResponseData) -> () { + let data = response.order.unwrap(); + + // Check here. + let owner: Bytes = data.owner.id; + println!("owner: {}", owner); + let emitter = data.emitter.id; + + let meta = data.meta.unwrap().id; + + let valid_inputs = data.valid_inputs.unwrap().get(0).unwrap().id.clone(); + let valid_outputs = data.valid_outputs.unwrap().get(0).unwrap().id.clone(); + + let transaction = data.transaction.id; + + let take_orders = data.take_orders.unwrap().get(0).unwrap().id.clone(); + let orders_clears = data.orders_clears.unwrap().get(0).unwrap().id.clone(); + + // OrderResponse { + // id: data.id + // order_active: data.order_active, + // owner: data.owner + // } + () + } +} + +// pub async fn get_content_meta_v1(id: Bytes) -> Result { +pub async fn get_content_meta_v1(id: Bytes) -> Result<()> { + wait().await?; + + let variables = order::Variables { + id: id.to_string().into(), + }; + + let request_body = Order::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = (); + // let response: OrderResponse = OrderResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/order/order.graphql b/subgraph/tests/subgraph/query/order/order.graphql new file mode 100644 index 0000000000..d5dc281768 --- /dev/null +++ b/subgraph/tests/subgraph/query/order/order.graphql @@ -0,0 +1,39 @@ +query Order($id: String) { + order(id: $id) { + id + orderHash + owner { + id + } + interpreter + interpreterStore + expressionDeployer + expression + orderActive + handleIO + meta { + id + } + validInputs { + id + } + validOutputs { + id + } + orderJSONString + expressionJSONString + transaction { + id + } + emitter { + id + } + timestamp + takeOrders { + id + } + ordersClears { + id + } + } +} diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index a491e35a5b..4dceb4b4d6 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -56,7 +56,7 @@ pub async fn _get_transfer_event( .expect("cannot decode the event"); } -pub async fn _get_add_order_event( +pub async fn get_add_order_event( contract: OrderBook, Wallet>>, tx: PendingTransaction<'_, Http>, ) -> AddOrderFilter { From b7cef609a00bad4156c98e134d6fce8f4b3cf11d Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 03:23:53 -0400 Subject: [PATCH 037/163] wip: order response --- subgraph/tests/entities.rs | 6 +++++- subgraph/tests/subgraph/query/mod.rs | 4 +++- subgraph/tests/subgraph/query/order/mod.rs | 11 ++++++++--- subgraph/tests/subgraph/query/order/order.graphql | 6 +++--- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e452baa5c9..555c8e7535 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -10,7 +10,7 @@ use ethers::{ }; use generated::{EvaluableConfigV2, Io, OrderConfigV2}; use hex::FromHex; -use subgraph::{wait, Query}; +use subgraph::{query::get_order, wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, @@ -269,8 +269,12 @@ async fn order_entity_test() -> Result<()> { // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); + let id = Bytes::from(add_order_data.order_hash); + // let id = response; + let _ = get_order(id).await; + // let response = Query::content_meta_v1(content.hash().as_fixed_bytes().into()) // .await // .expect("cannot get the query response"); diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index d70fa461e6..60bb58e784 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,7 +1,7 @@ pub(crate) mod content_meta_v1; +pub(crate) mod order; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; -pub(crate) mod order; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -12,6 +12,8 @@ use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; +pub use order::get_order; + pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index c4dd1a3464..76396e8bfd 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -45,12 +45,14 @@ pub struct OrderResponse { impl OrderResponse { // pub fn from(response: ResponseData) -> OrderResponse { pub fn from(response: ResponseData) -> () { + println!("OrderResponse.from()"); let data = response.order.unwrap(); // Check here. let owner: Bytes = data.owner.id; println!("owner: {}", owner); let emitter = data.emitter.id; + println!("emitter: {}", emitter); let meta = data.meta.unwrap().id; @@ -72,8 +74,9 @@ impl OrderResponse { } // pub async fn get_content_meta_v1(id: Bytes) -> Result { -pub async fn get_content_meta_v1(id: Bytes) -> Result<()> { +pub async fn get_order(id: Bytes) -> Result<()> { wait().await?; + println!("get_order_0"); let variables = order::Variables { id: id.to_string().into(), @@ -87,12 +90,14 @@ pub async fn get_content_meta_v1(id: Bytes) -> Result<()> { .send() .await?; + println!("get_order_1"); + let response_body: Response = res.json().await?; + println!("get_order_2.is_some: {}", response_body.data.is_some()); match response_body.data { Some(data) => { - let response = (); - // let response: OrderResponse = OrderResponse::from(data); + let response = OrderResponse::from(data); Ok(response) } None => Err(anyhow!("Failed to get query")), diff --git a/subgraph/tests/subgraph/query/order/order.graphql b/subgraph/tests/subgraph/query/order/order.graphql index d5dc281768..16e8ea7d84 100644 --- a/subgraph/tests/subgraph/query/order/order.graphql +++ b/subgraph/tests/subgraph/query/order/order.graphql @@ -2,9 +2,6 @@ query Order($id: String) { order(id: $id) { id orderHash - owner { - id - } interpreter interpreterStore expressionDeployer @@ -25,6 +22,9 @@ query Order($id: String) { transaction { id } + owner { + id + } emitter { id } From 99c7fcb67ac3df254fb9eec555fe56e8d0730b27 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 15:38:58 -0400 Subject: [PATCH 038/163] remove generate sg abis --- subgraph/.gitignore | 1 + subgraph/abis/.gitkeep | 0 subgraph/abis/ERC20.json | 8266 -------- subgraph/abis/OrderBook.json | 33887 ------------------------------ subgraph/abis/ReserveToken.json | 8266 -------- subgraph/flake.nix | 4 +- 6 files changed, 3 insertions(+), 50421 deletions(-) create mode 100644 subgraph/abis/.gitkeep delete mode 100644 subgraph/abis/ERC20.json delete mode 100644 subgraph/abis/OrderBook.json delete mode 100644 subgraph/abis/ReserveToken.json diff --git a/subgraph/.gitignore b/subgraph/.gitignore index 35265193d0..6c5600362b 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -2,6 +2,7 @@ /build /generated /subgraph.yaml +/abis/*.json # Rust generated files /tests/generated/abigen diff --git a/subgraph/abis/.gitkeep b/subgraph/abis/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/subgraph/abis/ERC20.json b/subgraph/abis/ERC20.json deleted file mode 100644 index 3c62a19040..0000000000 --- a/subgraph/abis/ERC20.json +++ /dev/null @@ -1,8266 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162000dd938038062000dd983398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610ae580620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", - "sourceMap": "1532:11312:23:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:23;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:212;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:212;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:212;;;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:212: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:212;;;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:212;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:212;;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:212;;;3992:26;3943:89;-1:-1:-1;;2747:1:212;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:212;;;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:212;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:212;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:212:o;:::-;1532:11312:23;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", - "sourceMap": "1532:11312:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1251:14:212;;1244:22;1226:41;;1214:2;1199:18;4444:197:23;1086:187:212;3255:106:23;3342:12;;3255:106;;;1424:25:212;;;1412:2;1397:18;3255:106:23;1278:177:212;5203:256:23;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1935:36:212;;1923:2;1908:18;3104:91:23;1793:184:212;5854:234:23;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;3519:18;;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;4102:18;;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149;2158:98;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:29;4581:32:23;719:10:29;4597:7:23;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:29;5356:38:23;5372:4;719:10:29;5387:6:23;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:23;;5203:256;-1:-1:-1;;;;5203:256:23:o;5854:234::-;719:10:29;5942:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;5942:4;;719:10:29;5996:64:23;;719:10:29;;4102:27:23;;6021:38;;6049:10;;6021:38;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;719:10:29;6668:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;6668:4;;719:10:29;6812:15:23;6792:16;:35;;6784:85;;;;;;;3366:2:212;6784:85:23;;;3348:21:212;3405:2;3385:18;;;3378:30;3444:34;3424:18;;;3417:62;3515:7;3495:18;;;3488:35;3540:19;;6784:85:23;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:29;3873:28:23;719:10:29;3890:2:23;3894:6;3873:9;:28::i;10457:340::-;10558:19;;;10550:68;;;;;;;3772:2:212;10550:68:23;;;3754:21:212;3811:2;3791:18;;;3784:30;3850:34;3830:18;;;3823:62;3921:6;3901:18;;;3894:34;3945:19;;10550:68:23;3570:400:212;10550:68:23;10636:21;;;10628:68;;;;;;;4177:2:212;10628:68:23;;;4159:21:212;4216:2;4196:18;;;4189:30;4255:34;4235:18;;;4228:62;4326:4;4306:18;;;4299:32;4348:19;;10628:68:23;3975:398:212;10628:68:23;10707:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1424:25:212;;;10758:32:23;;1397:18:212;10758:32:23;;;;;;;10457:340;;;:::o;11078:411::-;4102:18;;;;11178:24;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;11264:17;11244:37;;11240:243;;11325:6;11305:16;:26;;11297:68;;;;;;;4580:2:212;11297:68:23;;;4562:21:212;4619:2;4599:18;;;4592:30;4658:31;4638:18;;;4631:59;4707:18;;11297:68:23;4378:353:212;11297:68:23;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;7552:18;;;7544:68;;;;;;;4938:2:212;7544:68:23;;;4920:21:212;4977:2;4957:18;;;4950:30;5016:34;4996:18;;;4989:62;5087:7;5067:18;;;5060:35;5112:19;;7544:68:23;4736:401:212;7544:68:23;7630:16;;;7622:64;;;;;;;5344:2:212;7622:64:23;;;5326:21:212;5383:2;5363:18;;;5356:30;5422:34;5402:18;;;5395:62;5493:5;5473:18;;;5466:33;5516:19;;7622:64:23;5142:399:212;7622:64:23;7768:15;;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;;;;5748:2:212;7793:72:23;;;5730:21:212;5787:2;5767:18;;;5760:30;5826:34;5806:18;;;5799:62;5897:8;5877:18;;;5870:36;5923:19;;7793:72:23;5546:402:212;7793:72:23;7899:15;;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1424:25:212;;;8114:13:23;;8163:26;;1397:18:212;8163:26:23;;;;;;;8200:37;12073:91;14:607:212;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:196::-;694:20;;754:42;743:54;;733:65;;723:93;;812:1;809;802:12;723:93;626:196;;;:::o;827:254::-;895:6;903;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;1071:2;1056:18;;;;1043:32;;-1:-1:-1;;;827:254:212:o;1460:328::-;1537:6;1545;1553;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;1645:29;1664:9;1645:29;:::i;:::-;1635:39;;1693:38;1727:2;1716:9;1712:18;1693:38;:::i;:::-;1683:48;;1778:2;1767:9;1763:18;1750:32;1740:42;;1460:328;;;;;:::o;1982:186::-;2041:6;2094:2;2082:9;2073:7;2069:23;2065:32;2062:52;;;2110:1;2107;2100:12;2062:52;2133:29;2152:9;2133:29;:::i;:::-;2123:39;1982:186;-1:-1:-1;;;1982:186:212:o;2173:260::-;2241:6;2249;2302:2;2290:9;2281:7;2277:23;2273:32;2270:52;;;2318:1;2315;2308:12;2270:52;2341:29;2360:9;2341:29;:::i;:::-;2331:39;;2389:38;2423:2;2412:9;2408:18;2389:38;:::i;:::-;2379:48;;2173:260;;;;;:::o;2438:437::-;2517:1;2513:12;;;;2560;;;2581:61;;2635:4;2627:6;2623:17;2613:27;;2581:61;2688:2;2680:6;2677:14;2657:18;2654:38;2651:218;;2725:77;2722:1;2715:88;2826:4;2823:1;2816:15;2854:4;2851:1;2844:15;2651:218;;2438:437;;;:::o;2880:279::-;2945:9;;;2966:10;;;2963:190;;;3009:77;3006:1;2999:88;3110:4;3107:1;3100:15;3138:4;3135:1;3128:15", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "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": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": "ERC20" - }, - "libraries": {} - }, - "sources": { - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", - "id": 44299, - "exportedSymbols": { - "Context": [ - 45165 - ], - "ERC20": [ - 44298 - ], - "IERC20": [ - 44376 - ], - "IERC20Metadata": [ - 44401 - ] - }, - "nodeType": "SourceUnit", - "src": "105:12740:23", - "nodes": [ - { - "id": 43713, - "nodeType": "PragmaDirective", - "src": "105:23:23", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ] - }, - { - "id": 43714, - "nodeType": "ImportDirective", - "src": "130:22:23", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 44299, - "sourceUnit": 44377, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 43715, - "nodeType": "ImportDirective", - "src": "153:41:23", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "file": "./extensions/IERC20Metadata.sol", - "nameLocation": "-1:-1:-1", - "scope": 44299, - "sourceUnit": 44402, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 43716, - "nodeType": "ImportDirective", - "src": "195:33:23", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "nameLocation": "-1:-1:-1", - "scope": 44299, - "sourceUnit": 45166, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 44298, - "nodeType": "ContractDefinition", - "src": "1532:11312:23", - "nodes": [ - { - "id": 43727, - "nodeType": "VariableDeclaration", - "src": "1588:45:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1624:9:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 43726, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 43724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1596:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1588:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "id": 43733, - "nodeType": "VariableDeclaration", - "src": "1640:67:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_allowances", - "nameLocation": "1696:11:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 43732, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 43728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1648:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1640:47:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43731, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 43729, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1667:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1659:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "id": 43735, - "nodeType": "VariableDeclaration", - "src": "1714:28:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_totalSupply", - "nameLocation": "1730:12:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1714:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "id": 43737, - "nodeType": "VariableDeclaration", - "src": "1749:20:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1764:5:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 43736, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1749:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "id": 43739, - "nodeType": "VariableDeclaration", - "src": "1775:22:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "1790:7:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 43738, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1775:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "id": 43756, - "nodeType": "FunctionDefinition", - "src": "1980:113:23", - "nodes": [], - "body": { - "id": 43755, - "nodeType": "Block", - "src": "2036:57:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 43747, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43737, - "src": "2046:5:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 43748, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43742, - "src": "2054:5:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2046:13:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 43750, - "nodeType": "ExpressionStatement", - "src": "2046:13:23" - }, - { - "expression": { - "id": 43753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 43751, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43739, - "src": "2069:7:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 43752, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43744, - "src": "2079:7:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2069:17:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 43754, - "nodeType": "ExpressionStatement", - "src": "2069:17:23" - } - ] - }, - "documentation": { - "id": 43740, - "nodeType": "StructuredDocumentation", - "src": "1804:171:23", - "text": " @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 43745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43742, - "mutability": "mutable", - "name": "name_", - "nameLocation": "2006:5:23", - "nodeType": "VariableDeclaration", - "scope": 43756, - "src": "1992:19:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43741, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1992:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43744, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "2027:7:23", - "nodeType": "VariableDeclaration", - "scope": 43756, - "src": "2013:21:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43743, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2013:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1991:44:23" - }, - "returnParameters": { - "id": 43746, - "nodeType": "ParameterList", - "parameters": [], - "src": "2036:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 43766, - "nodeType": "FunctionDefinition", - "src": "2158:98:23", - "nodes": [], - "body": { - "id": 43765, - "nodeType": "Block", - "src": "2227:29:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43763, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43737, - "src": "2244:5:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 43762, - "id": 43764, - "nodeType": "Return", - "src": "2237:12:23" - } - ] - }, - "baseFunctions": [ - 44388 - ], - "documentation": { - "id": 43757, - "nodeType": "StructuredDocumentation", - "src": "2099:54:23", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2167:4:23", - "overrides": { - "id": 43759, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2194:8:23" - }, - "parameters": { - "id": 43758, - "nodeType": "ParameterList", - "parameters": [], - "src": "2171:2:23" - }, - "returnParameters": { - "id": 43762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43761, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43766, - "src": "2212:13:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43760, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2212:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2211:15:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43776, - "nodeType": "FunctionDefinition", - "src": "2369:102:23", - "nodes": [], - "body": { - "id": 43775, - "nodeType": "Block", - "src": "2440:31:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43773, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43739, - "src": "2457:7:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 43772, - "id": 43774, - "nodeType": "Return", - "src": "2450:14:23" - } - ] - }, - "baseFunctions": [ - 44394 - ], - "documentation": { - "id": 43767, - "nodeType": "StructuredDocumentation", - "src": "2262:102:23", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2378:6:23", - "overrides": { - "id": 43769, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2407:8:23" - }, - "parameters": { - "id": 43768, - "nodeType": "ParameterList", - "parameters": [], - "src": "2384:2:23" - }, - "returnParameters": { - "id": 43772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43771, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43776, - "src": "2425:13:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43770, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2425:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2424:15:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43786, - "nodeType": "FunctionDefinition", - "src": "3104:91:23", - "nodes": [], - "body": { - "id": 43785, - "nodeType": "Block", - "src": "3169:26:23", - "nodes": [], - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 43783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3186:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 43782, - "id": 43784, - "nodeType": "Return", - "src": "3179:9:23" - } - ] - }, - "baseFunctions": [ - 44400 - ], - "documentation": { - "id": 43777, - "nodeType": "StructuredDocumentation", - "src": "2477:622:23", - "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." - }, - "functionSelector": "313ce567", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "3113:8:23", - "overrides": { - "id": 43779, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3144:8:23" - }, - "parameters": { - "id": 43778, - "nodeType": "ParameterList", - "parameters": [], - "src": "3121:2:23" - }, - "returnParameters": { - "id": 43782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43781, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43786, - "src": "3162:5:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 43780, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3162:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3161:7:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43796, - "nodeType": "FunctionDefinition", - "src": "3255:106:23", - "nodes": [], - "body": { - "id": 43795, - "nodeType": "Block", - "src": "3325:36:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43793, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43735, - "src": "3342:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 43792, - "id": 43794, - "nodeType": "Return", - "src": "3335:19:23" - } - ] - }, - "baseFunctions": [ - 44325 - ], - "documentation": { - "id": 43787, - "nodeType": "StructuredDocumentation", - "src": "3201:49:23", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "3264:11:23", - "overrides": { - "id": 43789, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3298:8:23" - }, - "parameters": { - "id": 43788, - "nodeType": "ParameterList", - "parameters": [], - "src": "3275:2:23" - }, - "returnParameters": { - "id": 43792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43791, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43796, - "src": "3316:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3316:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3315:9:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43810, - "nodeType": "FunctionDefinition", - "src": "3419:125:23", - "nodes": [], - "body": { - "id": 43809, - "nodeType": "Block", - "src": "3502:42:23", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 43805, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "3519:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 43807, - "indexExpression": { - "id": 43806, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43799, - "src": "3529:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3519:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 43804, - "id": 43808, - "nodeType": "Return", - "src": "3512:25:23" - } - ] - }, - "baseFunctions": [ - 44333 - ], - "documentation": { - "id": 43797, - "nodeType": "StructuredDocumentation", - "src": "3367:47:23", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "3428:9:23", - "overrides": { - "id": 43801, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3475:8:23" - }, - "parameters": { - "id": 43800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43799, - "mutability": "mutable", - "name": "account", - "nameLocation": "3446:7:23", - "nodeType": "VariableDeclaration", - "scope": 43810, - "src": "3438:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3438:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3437:17:23" - }, - "returnParameters": { - "id": 43804, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43803, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43810, - "src": "3493:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3493:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3492:9:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43835, - "nodeType": "FunctionDefinition", - "src": "3740:189:23", - "nodes": [], - "body": { - "id": 43834, - "nodeType": "Block", - "src": "3825:104:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43822 - ], - "declarations": [ - { - "constant": false, - "id": 43822, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3843:5:23", - "nodeType": "VariableDeclaration", - "scope": 43834, - "src": "3835:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3835:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43825, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43823, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "3851:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3851:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3835:28:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43827, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43822, - "src": "3883:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43828, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43813, - "src": "3890:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43829, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43815, - "src": "3894:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43826, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44058, - "src": "3873:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3873:28:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43831, - "nodeType": "ExpressionStatement", - "src": "3873:28:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3918:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43820, - "id": 43833, - "nodeType": "Return", - "src": "3911:11:23" - } - ] - }, - "baseFunctions": [ - 44343 - ], - "documentation": { - "id": 43811, - "nodeType": "StructuredDocumentation", - "src": "3550:185:23", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "3749:8:23", - "overrides": { - "id": 43817, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3801:8:23" - }, - "parameters": { - "id": 43816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43813, - "mutability": "mutable", - "name": "to", - "nameLocation": "3766:2:23", - "nodeType": "VariableDeclaration", - "scope": 43835, - "src": "3758:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3758:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43815, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3778:6:23", - "nodeType": "VariableDeclaration", - "scope": 43835, - "src": "3770:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3770:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3757:28:23" - }, - "returnParameters": { - "id": 43820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43819, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43835, - "src": "3819:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43818, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3819:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3818:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43853, - "nodeType": "FunctionDefinition", - "src": "3987:149:23", - "nodes": [], - "body": { - "id": 43852, - "nodeType": "Block", - "src": "4085:51:23", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 43846, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43733, - "src": "4102:11:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 43848, - "indexExpression": { - "id": 43847, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43838, - "src": "4114:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4102:18:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 43850, - "indexExpression": { - "id": 43849, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43840, - "src": "4121:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4102:27:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 43845, - "id": 43851, - "nodeType": "Return", - "src": "4095:34:23" - } - ] - }, - "baseFunctions": [ - 44353 - ], - "documentation": { - "id": 43836, - "nodeType": "StructuredDocumentation", - "src": "3935:47:23", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "3996:9:23", - "overrides": { - "id": 43842, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4058:8:23" - }, - "parameters": { - "id": 43841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43838, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4014:5:23", - "nodeType": "VariableDeclaration", - "scope": 43853, - "src": "4006:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4006:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43840, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4029:7:23", - "nodeType": "VariableDeclaration", - "scope": 43853, - "src": "4021:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43839, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4021:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4005:32:23" - }, - "returnParameters": { - "id": 43845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43844, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43853, - "src": "4076:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4076:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4075:9:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43878, - "nodeType": "FunctionDefinition", - "src": "4444:197:23", - "nodes": [], - "body": { - "id": 43877, - "nodeType": "Block", - "src": "4533:108:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43865 - ], - "declarations": [ - { - "constant": false, - "id": 43865, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4551:5:23", - "nodeType": "VariableDeclaration", - "scope": 43877, - "src": "4543:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4543:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43868, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43866, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "4559:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4559:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4543:28:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43870, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43865, - "src": "4590:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43871, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43856, - "src": "4597:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43872, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43858, - "src": "4606:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43869, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "4581:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4581:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43874, - "nodeType": "ExpressionStatement", - "src": "4581:32:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4630:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43863, - "id": 43876, - "nodeType": "Return", - "src": "4623:11:23" - } - ] - }, - "baseFunctions": [ - 44363 - ], - "documentation": { - "id": 43854, - "nodeType": "StructuredDocumentation", - "src": "4142:297:23", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4453:7:23", - "overrides": { - "id": 43860, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4509:8:23" - }, - "parameters": { - "id": 43859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43856, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4469:7:23", - "nodeType": "VariableDeclaration", - "scope": 43878, - "src": "4461:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4461:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43858, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4486:6:23", - "nodeType": "VariableDeclaration", - "scope": 43878, - "src": "4478:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4478:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4460:33:23" - }, - "returnParameters": { - "id": 43863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43862, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43878, - "src": "4527:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4527:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4526:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43911, - "nodeType": "FunctionDefinition", - "src": "5203:256:23", - "nodes": [], - "body": { - "id": 43910, - "nodeType": "Block", - "src": "5306:153:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43892 - ], - "declarations": [ - { - "constant": false, - "id": 43892, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5324:7:23", - "nodeType": "VariableDeclaration", - "scope": 43910, - "src": "5316:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5316:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43895, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43893, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "5334:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5334:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5316:30:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43897, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43881, - "src": "5372:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43898, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43892, - "src": "5378:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43899, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43885, - "src": "5387:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43896, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44275, - "src": "5356:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5356:38:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43901, - "nodeType": "ExpressionStatement", - "src": "5356:38:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43903, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43881, - "src": "5414:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43904, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43883, - "src": "5420:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43905, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43885, - "src": "5424:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43902, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44058, - "src": "5404:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5404:27:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43907, - "nodeType": "ExpressionStatement", - "src": "5404:27:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5448:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43890, - "id": 43909, - "nodeType": "Return", - "src": "5441:11:23" - } - ] - }, - "baseFunctions": [ - 44375 - ], - "documentation": { - "id": 43879, - "nodeType": "StructuredDocumentation", - "src": "4647:551:23", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "5212:12:23", - "overrides": { - "id": 43887, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5282:8:23" - }, - "parameters": { - "id": 43886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43881, - "mutability": "mutable", - "name": "from", - "nameLocation": "5233:4:23", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5225:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43880, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5225:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43883, - "mutability": "mutable", - "name": "to", - "nameLocation": "5247:2:23", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5239:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5239:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43885, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5259:6:23", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5251:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43884, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5251:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5224:42:23" - }, - "returnParameters": { - "id": 43890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43889, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5300:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43888, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5300:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5299:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43940, - "nodeType": "FunctionDefinition", - "src": "5854:234:23", - "nodes": [], - "body": { - "id": 43939, - "nodeType": "Block", - "src": "5948:140:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43922 - ], - "declarations": [ - { - "constant": false, - "id": 43922, - "mutability": "mutable", - "name": "owner", - "nameLocation": "5966:5:23", - "nodeType": "VariableDeclaration", - "scope": 43939, - "src": "5958:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5958:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43925, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43923, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "5974:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5974:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5958:28:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43927, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43922, - "src": "6005:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43928, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43914, - "src": "6012:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 43934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 43930, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43922, - "src": "6031:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43931, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43914, - "src": "6038:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 43929, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43853, - "src": "6021:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 43932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6021:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 43933, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43916, - "src": "6049:10:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6021:38:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43926, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "5996:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5996:64:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43936, - "nodeType": "ExpressionStatement", - "src": "5996:64:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43920, - "id": 43938, - "nodeType": "Return", - "src": "6070:11:23" - } - ] - }, - "documentation": { - "id": 43912, - "nodeType": "StructuredDocumentation", - "src": "5465:384:23", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "5863:17:23", - "parameters": { - "id": 43917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43914, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5889:7:23", - "nodeType": "VariableDeclaration", - "scope": 43940, - "src": "5881:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43913, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5881:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43916, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "5906:10:23", - "nodeType": "VariableDeclaration", - "scope": 43940, - "src": "5898:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5898:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5880:37:23" - }, - "returnParameters": { - "id": 43920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43919, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43940, - "src": "5942:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43918, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5942:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5941:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43981, - "nodeType": "FunctionDefinition", - "src": "6575:427:23", - "nodes": [], - "body": { - "id": 43980, - "nodeType": "Block", - "src": "6674:328:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43951 - ], - "declarations": [ - { - "constant": false, - "id": 43951, - "mutability": "mutable", - "name": "owner", - "nameLocation": "6692:5:23", - "nodeType": "VariableDeclaration", - "scope": 43980, - "src": "6684:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6684:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43954, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43952, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "6700:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6700:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6684:28:23" - }, - { - "assignments": [ - 43956 - ], - "declarations": [ - { - "constant": false, - "id": 43956, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "6730:16:23", - "nodeType": "VariableDeclaration", - "scope": 43980, - "src": "6722:24:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6722:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 43961, - "initialValue": { - "arguments": [ - { - "id": 43958, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43951, - "src": "6759:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43959, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43943, - "src": "6766:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 43957, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43853, - "src": "6749:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 43960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6749:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6722:52:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 43965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43963, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43956, - "src": "6792:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 43964, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43945, - "src": "6812:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6792:35:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 43966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6829:39:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 43962, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6784:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 43967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6784:85:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43968, - "nodeType": "ExpressionStatement", - "src": "6784:85:23" - }, - { - "id": 43977, - "nodeType": "UncheckedBlock", - "src": "6879:95:23", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 43970, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43951, - "src": "6912:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43971, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43943, - "src": "6919:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 43974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43972, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43956, - "src": "6928:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 43973, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43945, - "src": "6947:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6928:34:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43969, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "6903:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6903:60:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43976, - "nodeType": "ExpressionStatement", - "src": "6903:60:23" - } - ] - }, - { - "expression": { - "hexValue": "74727565", - "id": 43978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6991:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43949, - "id": 43979, - "nodeType": "Return", - "src": "6984:11:23" - } - ] - }, - "documentation": { - "id": 43941, - "nodeType": "StructuredDocumentation", - "src": "6094:476:23", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "6584:17:23", - "parameters": { - "id": 43946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43943, - "mutability": "mutable", - "name": "spender", - "nameLocation": "6610:7:23", - "nodeType": "VariableDeclaration", - "scope": 43981, - "src": "6602:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6602:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43945, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "6627:15:23", - "nodeType": "VariableDeclaration", - "scope": 43981, - "src": "6619:23:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6619:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6601:42:23" - }, - "returnParameters": { - "id": 43949, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43948, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43981, - "src": "6668:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43947, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6668:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6667:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 44058, - "nodeType": "FunctionDefinition", - "src": "7456:788:23", - "nodes": [], - "body": { - "id": 44057, - "nodeType": "Block", - "src": "7534:710:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 43997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43992, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7552:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 43995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7568:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 43994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7560:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 43993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7560:7:23", - "typeDescriptions": {} - } - }, - "id": 43996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7560:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7552:18:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 43998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7572:39:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 43991, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7544:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 43999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7544:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44000, - "nodeType": "ExpressionStatement", - "src": "7544:68:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44002, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "7630:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7644:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7636:7:23", - "typeDescriptions": {} - } - }, - "id": 44006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7636:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7630:16:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 44008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7648:37:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 44001, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7622:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7622:64:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44010, - "nodeType": "ExpressionStatement", - "src": "7622:64:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44012, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7718:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44013, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "7724:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44014, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "7728:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44011, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44286, - "src": "7697:20:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7697:38:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44016, - "nodeType": "ExpressionStatement", - "src": "7697:38:23" - }, - { - "assignments": [ - 44018 - ], - "declarations": [ - { - "constant": false, - "id": 44018, - "mutability": "mutable", - "name": "fromBalance", - "nameLocation": "7754:11:23", - "nodeType": "VariableDeclaration", - "scope": 44057, - "src": "7746:19:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7746:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 44022, - "initialValue": { - "baseExpression": { - "id": 44019, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "7768:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44021, - "indexExpression": { - "id": 44020, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7778:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7768:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7746:37:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44024, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44018, - "src": "7801:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 44025, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "7816:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7801:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 44027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7824:40:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 44023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7793:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7793:72:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44029, - "nodeType": "ExpressionStatement", - "src": "7793:72:23" - }, - { - "id": 44044, - "nodeType": "UncheckedBlock", - "src": "7875:273:23", - "statements": [ - { - "expression": { - "id": 44036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44030, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "7899:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44032, - "indexExpression": { - "id": 44031, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7909:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7899:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44033, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44018, - "src": "7917:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 44034, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "7931:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7917:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7899:38:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44037, - "nodeType": "ExpressionStatement", - "src": "7899:38:23" - }, - { - "expression": { - "id": 44042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44038, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "8114:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44040, - "indexExpression": { - "id": 44039, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "8124:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8114:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 44041, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "8131:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8114:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44043, - "nodeType": "ExpressionStatement", - "src": "8114:23:23" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 44046, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "8172:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44047, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "8178:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44048, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "8182:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44045, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44310, - "src": "8163:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8163:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44050, - "nodeType": "EmitStatement", - "src": "8158:31:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44052, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "8220:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44053, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "8226:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44054, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "8230:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44051, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44297, - "src": "8200:19:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8200:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44056, - "nodeType": "ExpressionStatement", - "src": "8200:37:23" - } - ] - }, - "documentation": { - "id": 43982, - "nodeType": "StructuredDocumentation", - "src": "7008:443:23", - "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "7465:9:23", - "parameters": { - "id": 43989, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43984, - "mutability": "mutable", - "name": "from", - "nameLocation": "7483:4:23", - "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "7475:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43983, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7475:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43986, - "mutability": "mutable", - "name": "to", - "nameLocation": "7497:2:23", - "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "7489:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43985, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7489:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43988, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7509:6:23", - "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "7501:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7501:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7474:42:23" - }, - "returnParameters": { - "id": 43990, - "nodeType": "ParameterList", - "parameters": [], - "src": "7534:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44115, - "nodeType": "FunctionDefinition", - "src": "8520:535:23", - "nodes": [], - "body": { - "id": 44114, - "nodeType": "Block", - "src": "8585:470:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44067, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8603:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8622:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8614:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8614:7:23", - "typeDescriptions": {} - } - }, - "id": 44071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8614:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8603:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 44073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8626:33:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 44066, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8595:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8595:65:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44075, - "nodeType": "ExpressionStatement", - "src": "8595:65:23" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 44079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8700:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8692:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8692:7:23", - "typeDescriptions": {} - } - }, - "id": 44080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8692:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44081, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8704:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44082, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8713:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44076, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44286, - "src": "8671:20:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8671:49:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44084, - "nodeType": "ExpressionStatement", - "src": "8671:49:23" - }, - { - "expression": { - "id": 44087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 44085, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43735, - "src": "8731:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 44086, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8747:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8731:22:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44088, - "nodeType": "ExpressionStatement", - "src": "8731:22:23" - }, - { - "id": 44095, - "nodeType": "UncheckedBlock", - "src": "8763:175:23", - "statements": [ - { - "expression": { - "id": 44093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44089, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "8899:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44091, - "indexExpression": { - "id": 44090, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8909:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8899:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 44092, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8921:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8899:28:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44094, - "nodeType": "ExpressionStatement", - "src": "8899:28:23" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 44099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8969:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8961:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8961:7:23", - "typeDescriptions": {} - } - }, - "id": 44100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8961:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44101, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8973:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44102, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8982:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44096, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44310, - "src": "8952:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8952:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44104, - "nodeType": "EmitStatement", - "src": "8947:42:23" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 44108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9028:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9020:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9020:7:23", - "typeDescriptions": {} - } - }, - "id": 44109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9020:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44110, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "9032:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44111, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "9041:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44105, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44297, - "src": "9000:19:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9000:48:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44113, - "nodeType": "ExpressionStatement", - "src": "9000:48:23" - } - ] - }, - "documentation": { - "id": 44059, - "nodeType": "StructuredDocumentation", - "src": "8250:265:23", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8529:5:23", - "parameters": { - "id": 44064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44061, - "mutability": "mutable", - "name": "account", - "nameLocation": "8543:7:23", - "nodeType": "VariableDeclaration", - "scope": 44115, - "src": "8535:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8535:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44063, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8560:6:23", - "nodeType": "VariableDeclaration", - "scope": 44115, - "src": "8552:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8552:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8534:33:23" - }, - "returnParameters": { - "id": 44065, - "nodeType": "ParameterList", - "parameters": [], - "src": "8585:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44187, - "nodeType": "FunctionDefinition", - "src": "9375:659:23", - "nodes": [], - "body": { - "id": 44186, - "nodeType": "Block", - "src": "9440:594:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44124, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9458:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9477:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9469:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9469:7:23", - "typeDescriptions": {} - } - }, - "id": 44128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9469:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9458:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 44130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9481:35:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 44123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9450:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9450:67:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44132, - "nodeType": "ExpressionStatement", - "src": "9450:67:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44134, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9549:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 44137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9566:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9558:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44135, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9558:7:23", - "typeDescriptions": {} - } - }, - "id": 44138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9558:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44139, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9570:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44133, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44286, - "src": "9528:20:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9528:49:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44141, - "nodeType": "ExpressionStatement", - "src": "9528:49:23" - }, - { - "assignments": [ - 44143 - ], - "declarations": [ - { - "constant": false, - "id": 44143, - "mutability": "mutable", - "name": "accountBalance", - "nameLocation": "9596:14:23", - "nodeType": "VariableDeclaration", - "scope": 44186, - "src": "9588:22:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9588:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 44147, - "initialValue": { - "baseExpression": { - "id": 44144, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "9613:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44146, - "indexExpression": { - "id": 44145, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9623:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9613:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9588:43:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44149, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44143, - "src": "9649:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 44150, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9667:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9649:24:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 44152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9675:36:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 44148, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9641:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9641:71:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44154, - "nodeType": "ExpressionStatement", - "src": "9641:71:23" - }, - { - "id": 44167, - "nodeType": "UncheckedBlock", - "src": "9722:194:23", - "statements": [ - { - "expression": { - "id": 44161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44155, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "9746:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44157, - "indexExpression": { - "id": 44156, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9756:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9746:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44158, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44143, - "src": "9767:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 44159, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9784:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9767:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9746:44:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44162, - "nodeType": "ExpressionStatement", - "src": "9746:44:23" - }, - { - "expression": { - "id": 44165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 44163, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43735, - "src": "9883:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 44164, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9899:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9883:22:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44166, - "nodeType": "ExpressionStatement", - "src": "9883:22:23" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 44169, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9940:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 44172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9957:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9949:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9949:7:23", - "typeDescriptions": {} - } - }, - "id": 44173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9949:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44174, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9961:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44168, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44310, - "src": "9931:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9931:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44176, - "nodeType": "EmitStatement", - "src": "9926:42:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44178, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9999:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 44181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10016:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10008:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10008:7:23", - "typeDescriptions": {} - } - }, - "id": 44182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10008:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44183, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "10020:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44177, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44297, - "src": "9979:19:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9979:48:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44185, - "nodeType": "ExpressionStatement", - "src": "9979:48:23" - } - ] - }, - "documentation": { - "id": 44116, - "nodeType": "StructuredDocumentation", - "src": "9061:309:23", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9384:5:23", - "parameters": { - "id": 44121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44118, - "mutability": "mutable", - "name": "account", - "nameLocation": "9398:7:23", - "nodeType": "VariableDeclaration", - "scope": 44187, - "src": "9390:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9390:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44120, - "mutability": "mutable", - "name": "amount", - "nameLocation": "9415:6:23", - "nodeType": "VariableDeclaration", - "scope": 44187, - "src": "9407:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9407:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9389:33:23" - }, - "returnParameters": { - "id": 44122, - "nodeType": "ParameterList", - "parameters": [], - "src": "9440:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44232, - "nodeType": "FunctionDefinition", - "src": "10457:340:23", - "nodes": [], - "body": { - "id": 44231, - "nodeType": "Block", - "src": "10540:257:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44198, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44190, - "src": "10558:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10575:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10567:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10567:7:23", - "typeDescriptions": {} - } - }, - "id": 44202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10567:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10558:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 44204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10579:38:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 44197, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10550:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10550:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44206, - "nodeType": "ExpressionStatement", - "src": "10550:68:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44208, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44192, - "src": "10636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10655:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10647:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10647:7:23", - "typeDescriptions": {} - } - }, - "id": 44212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10647:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10636:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 44214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10659:36:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 44207, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10628:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10628:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44216, - "nodeType": "ExpressionStatement", - "src": "10628:68:23" - }, - { - "expression": { - "id": 44223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 44217, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43733, - "src": "10707:11:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 44220, - "indexExpression": { - "id": 44218, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44190, - "src": "10719:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10707:18:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44221, - "indexExpression": { - "id": 44219, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44192, - "src": "10726:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10707:27:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 44222, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44194, - "src": "10737:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10707:36:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44224, - "nodeType": "ExpressionStatement", - "src": "10707:36:23" - }, - { - "eventCall": { - "arguments": [ - { - "id": 44226, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44190, - "src": "10767:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44227, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44192, - "src": "10774:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44228, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44194, - "src": "10783:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44225, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44319, - "src": "10758:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10758:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44230, - "nodeType": "EmitStatement", - "src": "10753:37:23" - } - ] - }, - "documentation": { - "id": 44188, - "nodeType": "StructuredDocumentation", - "src": "10040:412:23", - "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "10466:8:23", - "parameters": { - "id": 44195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44190, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10483:5:23", - "nodeType": "VariableDeclaration", - "scope": 44232, - "src": "10475:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10475:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44192, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10498:7:23", - "nodeType": "VariableDeclaration", - "scope": 44232, - "src": "10490:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10490:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44194, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10515:6:23", - "nodeType": "VariableDeclaration", - "scope": 44232, - "src": "10507:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10507:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10474:48:23" - }, - "returnParameters": { - "id": 44196, - "nodeType": "ParameterList", - "parameters": [], - "src": "10540:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44275, - "nodeType": "FunctionDefinition", - "src": "11078:411:23", - "nodes": [], - "body": { - "id": 44274, - "nodeType": "Block", - "src": "11168:321:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 44243 - ], - "declarations": [ - { - "constant": false, - "id": 44243, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "11186:16:23", - "nodeType": "VariableDeclaration", - "scope": 44274, - "src": "11178:24:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11178:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 44248, - "initialValue": { - "arguments": [ - { - "id": 44245, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44235, - "src": "11215:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44246, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44237, - "src": "11222:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 44244, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43853, - "src": "11205:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 44247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11205:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11178:52:23" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44249, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44243, - "src": "11244:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 44252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11269:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 44251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11269:7:23", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 44250, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "11264:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 44253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11264:13:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 44254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11278:3:23", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "11264:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11244:37:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 44273, - "nodeType": "IfStatement", - "src": "11240:243:23", - "trueBody": { - "id": 44272, - "nodeType": "Block", - "src": "11283:200:23", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44257, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44243, - "src": "11305:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 44258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44239, - "src": "11325:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11305:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "id": 44260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11333:31:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - }, - "value": "ERC20: insufficient allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - } - ], - "id": 44256, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11297:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11297:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44262, - "nodeType": "ExpressionStatement", - "src": "11297:68:23" - }, - { - "id": 44271, - "nodeType": "UncheckedBlock", - "src": "11379:94:23", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 44264, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44235, - "src": "11416:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44265, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44237, - "src": "11423:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44266, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44243, - "src": "11432:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 44267, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44239, - "src": "11451:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11432:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44263, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "11407:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11407:51:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44270, - "nodeType": "ExpressionStatement", - "src": "11407:51:23" - } - ] - } - ] - } - } - ] - }, - "documentation": { - "id": 44233, - "nodeType": "StructuredDocumentation", - "src": "10803:270:23", - "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_spendAllowance", - "nameLocation": "11087:15:23", - "parameters": { - "id": 44240, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44235, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11111:5:23", - "nodeType": "VariableDeclaration", - "scope": 44275, - "src": "11103:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11103:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44237, - "mutability": "mutable", - "name": "spender", - "nameLocation": "11126:7:23", - "nodeType": "VariableDeclaration", - "scope": 44275, - "src": "11118:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11118:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44239, - "mutability": "mutable", - "name": "amount", - "nameLocation": "11143:6:23", - "nodeType": "VariableDeclaration", - "scope": 44275, - "src": "11135:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11135:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11102:48:23" - }, - "returnParameters": { - "id": 44241, - "nodeType": "ParameterList", - "parameters": [], - "src": "11168:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44286, - "nodeType": "FunctionDefinition", - "src": "12073:91:23", - "nodes": [], - "body": { - "id": 44285, - "nodeType": "Block", - "src": "12162:2:23", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 44276, - "nodeType": "StructuredDocumentation", - "src": "11495:573:23", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "12082:20:23", - "parameters": { - "id": 44283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44278, - "mutability": "mutable", - "name": "from", - "nameLocation": "12111:4:23", - "nodeType": "VariableDeclaration", - "scope": 44286, - "src": "12103:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12103:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44280, - "mutability": "mutable", - "name": "to", - "nameLocation": "12125:2:23", - "nodeType": "VariableDeclaration", - "scope": 44286, - "src": "12117:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12117:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44282, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12137:6:23", - "nodeType": "VariableDeclaration", - "scope": 44286, - "src": "12129:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12129:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12102:42:23" - }, - "returnParameters": { - "id": 44284, - "nodeType": "ParameterList", - "parameters": [], - "src": "12162:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44297, - "nodeType": "FunctionDefinition", - "src": "12752:90:23", - "nodes": [], - "body": { - "id": 44296, - "nodeType": "Block", - "src": "12840:2:23", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 44287, - "nodeType": "StructuredDocumentation", - "src": "12170:577:23", - "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "12761:19:23", - "parameters": { - "id": 44294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44289, - "mutability": "mutable", - "name": "from", - "nameLocation": "12789:4:23", - "nodeType": "VariableDeclaration", - "scope": 44297, - "src": "12781:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12781:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44291, - "mutability": "mutable", - "name": "to", - "nameLocation": "12803:2:23", - "nodeType": "VariableDeclaration", - "scope": 44297, - "src": "12795:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12795:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44293, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12815:6:23", - "nodeType": "VariableDeclaration", - "scope": 44297, - "src": "12807:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12807:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12780:42:23" - }, - "returnParameters": { - "id": 44295, - "nodeType": "ParameterList", - "parameters": [], - "src": "12840:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 43718, - "name": "Context", - "nameLocations": [ - "1550:7:23" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45165, - "src": "1550:7:23" - }, - "id": 43719, - "nodeType": "InheritanceSpecifier", - "src": "1550:7:23" - }, - { - "baseName": { - "id": 43720, - "name": "IERC20", - "nameLocations": [ - "1559:6:23" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44376, - "src": "1559:6:23" - }, - "id": 43721, - "nodeType": "InheritanceSpecifier", - "src": "1559:6:23" - }, - { - "baseName": { - "id": 43722, - "name": "IERC20Metadata", - "nameLocations": [ - "1567:14:23" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44401, - "src": "1567:14:23" - }, - "id": 43723, - "nodeType": "InheritanceSpecifier", - "src": "1567:14:23" - } - ], - "canonicalName": "ERC20", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 43717, - "nodeType": "StructuredDocumentation", - "src": "230:1301:23", - "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 44298, - 44401, - 44376, - 45165 - ], - "name": "ERC20", - "nameLocation": "1541:5:23", - "scope": 44299, - "usedErrors": [] - } - ], - "license": "MIT" - }, - "id": 23 -} \ No newline at end of file diff --git a/subgraph/abis/OrderBook.json b/subgraph/abis/OrderBook.json deleted file mode 100644 index 479e5e0fc2..0000000000 --- a/subgraph/abis/OrderBook.json +++ /dev/null @@ -1,33887 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", - "name": "config", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ActiveDebt", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "name": "FlashLenderCallbackFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "name": "MinimumInput", - "type": "error" - }, - { - "inputs": [], - "name": "NoOrders", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "NotOrderOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "name": "NotRainMetaV1", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoHandleIO", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoInputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoOutputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoSources", - "type": "error" - }, - { - "inputs": [], - "name": "ReentrancyGuardReentrantCall", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "SameOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "name": "SourceOffsetOutOfBounds", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "aliceTokenDecimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "bobTokenDecimals", - "type": "uint8" - } - ], - "name": "TokenDecimalsMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "name": "TokenMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "name": "UnexpectedMetaHash", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroAmount", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "ZeroDepositAmount", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroReceiver", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroToken", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "ZeroWithdrawTargetAmount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract IExpressionDeployerV2", - "name": "expressionDeployer", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "AddOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple" - } - ], - "name": "AfterClear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - } - ], - "name": "Clear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - } - ], - "name": "Context", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "subject", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "name": "MetaV1", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderExceedsMaxRatio", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderNotFound", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderZeroAmount", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "RemoveOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "input", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "output", - "type": "uint256" - } - ], - "name": "TakeOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "contract IExpressionDeployerV2", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ], - "internalType": "struct EvaluableConfigV2", - "name": "evaluableConfig", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct OrderConfigV2", - "name": "config", - "type": "tuple" - } - ], - "name": "addOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext", - "type": "tuple[]" - } - ], - "name": "clear", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - } - ], - "name": "removeOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct TakeOrdersConfigV2", - "name": "config", - "type": "tuple" - } - ], - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalTakerInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTakerOutput", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517f71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee90829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:173:-:0;;;1858:76:170;;;-1:-1:-1;;;;;;1858:76:170;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:173;1821:22:22;1109:11:79;;;;6419:66:173;;10962:6;;1075:46:79;;6419:66:173;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:173;8997:33509;;1424:292:155;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:155;;;;;3082:25:212;;;3123:18;;;3116:34;;;3055:18;;1619:46:155;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:94:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:94;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:94;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:94:o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:155;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;-1:-1:-1;;;;;825:32:155;667:18:154;883:36:155;;550:376::o;14:127:212:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:212;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:212;508:40;;-1:-1:-1;;;;;563:34:212;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:212:o;687:131::-;-1:-1:-1;;;;;762:31:212;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:212;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:212;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:212;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:212;;;2179:29;-1:-1:-1;2190:5:212;1078:1160;-1:-1:-1;;;1078:1160:212:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:212;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:212:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:212:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:212;;3161:435;-1:-1:-1;;;;;3161:435:212:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:212;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:212;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:212:o;:::-;8997:33509:173;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:212;;904:22;886:41;;874:2;859:18;11833:151:173;;;;;;;;5614:2666:170;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:212;;;2296:2;2281:18;8721:162:170;2162:177:212;13693:2174:173;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:212;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:173;3147:248:212;24689:4247:173;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:173:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:170:-;;;;;;:::i;:::-;;:::i;15906:448:173:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:173::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:173::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:212::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:173::1;::::0;15943:3:212;15928:19;12422:43:173::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:173;;;:::o;2303:20:22:-;12023:640:173;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:173::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:170:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:177;6965:6:170;:40;6961:111;;7028:33;;;;;;;;2308:25:212;;;2281:18;;7028:33:170;2162:177:212;6961:111:170;7450:14;;;-1:-1:-1;7482:10:170;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:170;;5614:2666;-1:-1:-1;;;;;;5614:2666:170:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:212;8838:23:170;;;;;;17954:18:212;;8838:38:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:170:o;13693:2174:173:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:173::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:173::1;::::0;-1:-1:-1;;;13824:56:173:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:212::0;17954:18;;13933:26:173::1;17835:226:212::0;13890:80:173::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:212::0;17954:18;;14022:27:173::1;17835:226:212::0;13979:81:173::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:212::0;17954:18;;14126:25:173::1;17835:226:212::0;14069:93:173::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:212::0;17954:18;;14229:26:173::1;17835:226:212::0;14171:95:173::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:161::0;3277:11;;3335:1:173::1;3301:16:161::0;;;3348:4;3337:16;;3330:27;3574:1:173::1;3377:16:161::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:173::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:173::1;::::0;-1:-1:-1;14882:27:173::1;::::0;-1:-1:-1;;14882:102:173:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:173::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:173::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:173::1;::::0;-1:-1:-1;;;15724:38:173:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:173;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:173::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:173::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:173;-1:-1:-1;17129:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:173::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:173::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:212;28256:15;;;17240:199:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:173::1;28003:327:212::0;17031:423:173::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:173::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:212;28706:17;;;18246:213:173::1;::::0;::::1;28688:36:212::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:173::1;28522:262:212::0;18031:443:173::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:173::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:173::1;::::0;15512:2:212;15497:18;19124:49:173::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:173::1;::::0;15512:2:212;15497:18;19933:56:173::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:173::1;::::0;15512:2:212;15497:18;20103:51:173::1;15322:398:212::0;20014:2488:173::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:173::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:150;21000:27:173;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:150;21906:13:173;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:173::1;::::0;-1:-1:-1;22120:76:173::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:150;22120:41:173;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:173::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:173::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:173::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:173;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:212::0;3362:18;;;3355:34;;;3294:18;;22729:50:173::1;3147:248:212::0;22665:125:173::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:173::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:173::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:173::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:173::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:173::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:173;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:173;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:212;17999:55;;;25011:22:173::1;::::0;::::1;17981:74:212::0;17954:18;;25011:22:173::1;17835:226:212::0;24956:92:173::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:212;28256:15;;;25252:181:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:173::1;28003:327:212::0;25061:387:173::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:212::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:173::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:212;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:173::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:173;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:173::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:173::1;-1:-1:-1::0;;28889:40:173::1;::::0;;28900:10:::1;32657:74:212::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:173::1;::::0;32644:3:212;32629:19;28889:40:173::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:173;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:173:-;2261:21:22;:19;:21::i;:::-;12810:12:173::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:173::1;15322:398:212::0;12806:107:173::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:173;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:212;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:173::1;::::0;33416:3:212;33401:19;13491:66:173::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:173;11720:7;3098::22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:173::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:173::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:212;28256:15;;;16061:38:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:173::1;28003:327:212::0;16009:101:173::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:173;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:173::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:212;2460:63:22;;;37243:21:212;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:212;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:212;15603:15;;;1482:68:27;;;15585:34:212;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:212;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:170:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:212;2555:7:170;;;;15635:18:212;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:170;15322:398:212;2481:109:170;2429:167::o;941:175:27:-;1050:58;;37623:42:212;37611:55;;1050:58:27;;;37593:74:212;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:212;;1050:58:27;37419:297:212;2258:165:170;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:170;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:170;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;537:118:182:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:173:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:173;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:173;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:173;;4055:4:161;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:173;;;;4149:16:161;;;4142:27;30311:30:173;;;3967:22:161;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:173;;-1:-1:-1;30160:14:173;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:161;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:173;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:161;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:173;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:173;;;;;;;;;;;-1:-1:-1;;;;34596:141:173;;;;-1:-1:-1;34596:141:173;29640:5114::o;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;649:163:151;741:7;767:38;:1;776;339:4:150;796:8:151;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:151:o;7325:878:152:-;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:173:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:173;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:173;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:173;-1:-1:-1;38505:22:173;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:170:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:170;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:170;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:170;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:173:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:173;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:212;5720:111:27;;;42026:21:212;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:212;1950:412:92;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;550:376:155:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;691:16;825:32;667:18:154;883:36:155;;550:376::o;7166:2290:93:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:93;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:161;3277:11;;3315:1;3301:16;;2288:10:93;3348:4:161;3337:16;;3330:27;2326:4:93;3377:16:161;;;3370:27;2211:16:93;3423::161;;3410:30;;;3277:11;2258:165:170;7817:17:93;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:93;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:147;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:93;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:93;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:212;;;2281:18;;9164:19:93;2162:177:212;8196:1010:93;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:93;7166:2290;-1:-1:-1;;;;;7166:2290:93:o;42090:213:173:-;42167:15;1048:2:95;1016:34;;;;;3455:1:173;1015:100:95;42201:95:173;816:316:95;3534:689:152;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:152;5715:6;;5172:598;-1:-1:-1;;5172:598:152:o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:173:-;42380:15;1055:46:95;1048:2;1016:34;;;;;1015:87;42414:83:173;816:316:95;40029:2055:173;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:173;;;40835:183;;;-1:-1:-1;40992:13:173;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:173:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:212;2952:53:36;;;45067:21:212;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:212;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:212;8113:60:28;;;45417:21:212;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:212;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:212;5354:81:28;;;45775:21:212;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:212;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:212;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:212;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:212:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:212;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:212:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:212;;561:180;-1:-1:-1;561:180:212:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:212;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:212;1437:18;;1424:32;;-1:-1:-1;1507:2:212;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:212;;-1:-1:-1;1871:2:212;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:212:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:212:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:212:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:212;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:212;;5790:703;-1:-1:-1;;;;;;;5790:703:212:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:212:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:212;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:212;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:212;;-1:-1:-1;;10648:12:212;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:212;8145:2554;-1:-1:-1;;;;;;8145:2554:212:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:212;;-1:-1:-1;;;;12066:626:212:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:212;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:212:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:212;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:212;;13286:859;-1:-1:-1;;;;;;;13286:859:212:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:212;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:212;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:212:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:212:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:212;;17464:184;-1:-1:-1;17464:184:212:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:212:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:212;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:212;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:212;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:212;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:212;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:212;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:212;;20766:435;-1:-1:-1;;;;;20766:435:212:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:212;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:212;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:212;26645:966;-1:-1:-1;;26645:966:212:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:212;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:212;30554:9;30525:685;;;-1:-1:-1;31249:18:212;;;31242:34;;;;-1:-1:-1;;31292:18:212;;;31285:34;;;;-1:-1:-1;31227:6:212;;29325:2000;-1:-1:-1;;;;;;29325:2000:212:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:212;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:212;;-1:-1:-1;34383:18:212;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:212;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:212;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:212;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:212;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:212;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:212:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": "847a1bc9", - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", - "deposit(address,uint256,uint256)": "0efe6a8b", - "flashFee(address,uint256)": "d9d98ce4", - "flashLoan(address,address,uint256,bytes)": "5cffe9de", - "maxFlashLoan(address)": "613255ab", - "multicall(bytes[])": "ac9650d8", - "orderExists(bytes32)": "2cb77e9f", - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": "8a44689c", - "vaultBalance(address,address,uint256)": "d97b2e48", - "withdraw(address,uint256,uint256)": "b5c5f672" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV2ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoOrders\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoSources\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"aliceTokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"bobTokenDecimals\",\"type\":\"uint8\"}],\"name\":\"TokenDecimalsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroDepositAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroWithdrawTargetAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV2\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTakerInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTakerOutput\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"OrderNoHandleIO(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoInputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoOutputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoSources(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"params\":{\"aliceTokenDecimals\":\"The input or output decimals of one order.\",\"bobTokenDecimals\":\"The input or output decimals of the other order.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}],\"ZeroDepositAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` depositing tokens.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` withdrawing tokens.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the target amount if the vault does not have the funds available to cover the target amount. For example an active order might move tokens before the withdraw completes.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\",\"targetAmount\":\"The amount of tokens requested to withdraw.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"},\"returns\":{\"stateChanged\":\"True if the order was added, false if it already existed.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"token\":\"The token to deposit.\",\"vaultId\":\"The vault ID to deposit under.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"_0\":\"True if the order exists, false otherwise.\"}},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"},\"returns\":{\"stateChanged\":\"True if the order was removed, false if it did not exist.\"}},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalTakerInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalTakerOutput\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"vaultBalance(address,address,uint256)\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"returns\":{\"_0\":\"The current balance of the vault.\"}},\"withdraw(address,uint256,uint256)\":{\"params\":{\"targetAmount\":\"The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.\",\"token\":\"The token to withdraw.\",\"vaultId\":\"The vault ID to withdraw from.\"}}},\"stateVariables\":{\"sVaultBalances\":{\"details\":\"Vault balances are stored in a mapping of owner => token => vault ID This gives 1:1 parity with the `IOrderBookV1` interface but keeping the `sFoo` naming convention for storage variables.\"}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NoOrders()\":[{\"notice\":\"Thrown when take orders is called with no orders.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"OrderNoHandleIO(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"This will exist in a future version of Open Zeppelin if their main branch is to be believed.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"notice\":\"Thrown when the input and output token decimals don't match, in either direction.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroAmount()\":[{\"notice\":\"Thrown when `flashLoan` amount is zero.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `withdraw` if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens if the vault balance is zero, or the withdrawal is used to repay a flash loan.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,bytes32)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"orderExists(bytes32)\":{\"notice\":\"Returns true if the order exists, false otherwise.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw(address,uint256,uint256)\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0\",\"dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol\":{\"keccak256\":\"0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a\",\"dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768\",\"dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibContext.sol\":{\"keccak256\":\"0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05\",\"dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF\"]},\"lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb\",\"dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c\",\"dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP\"]},\"lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28\",\"dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"src/abstract/OrderBookV3FlashLender.sol\":{\"keccak256\":\"0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa\",\"dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86\",\"dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798\",\"dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc\",\"dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206\",\"dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "type": "error", - "name": "ActiveDebt" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "type": "error", - "name": "FlashLenderCallbackFailed" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "type": "error", - "name": "InvalidSignature" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "type": "error", - "name": "MinimumInput" - }, - { - "inputs": [], - "type": "error", - "name": "NoOrders" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "NotOrderOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "type": "error", - "name": "NotRainMetaV1" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoHandleIO" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoInputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoOutputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoSources" - }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "SameOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "SourceOffsetOutOfBounds" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "aliceTokenDecimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "bobTokenDecimals", - "type": "uint8" - } - ], - "type": "error", - "name": "TokenDecimalsMismatch" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "type": "error", - "name": "TokenMismatch" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedMetaHash" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroDepositAmount" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroReceiver" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroToken" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroWithdrawTargetAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "contract IExpressionDeployerV2", - "name": "expressionDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "AddOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "AfterClear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "Clear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]", - "indexed": false - } - ], - "type": "event", - "name": "Context", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "subject", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "MetaV1", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderExceedsMaxRatio", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderNotFound", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderZeroAmount", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "RemoveOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "output", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TakeOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdraw", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "struct OrderConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct EvaluableConfigV2", - "name": "evaluableConfig", - "type": "tuple", - "components": [ - { - "internalType": "contract IExpressionDeployerV2", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ] - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "clear" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct TakeOrdersConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalTakerInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTakerOutput", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { - "params": { - "config": "All config required to build an `Order`." - }, - "returns": { - "stateChanged": "True if the order was added, false if it already existed." - } - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "params": { - "alice": "Some order to clear.", - "aliceSignedContext": "Optional signed context that is relevant to A.", - "bob": "Another order to clear.", - "bobSignedContext": "Optional signed context that is relevant to B.", - "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." - } - }, - "deposit(address,uint256,uint256)": { - "params": { - "amount": "The amount of tokens to deposit.", - "token": "The token to deposit.", - "vaultId": "The vault ID to deposit under." - } - }, - "flashFee(address,uint256)": { - "details": "The fee to be charged for a given loan.", - "params": { - "amount": "The amount of tokens lent.", - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." - } - }, - "flashLoan(address,address,uint256,bytes)": { - "details": "Initiate a flash loan.", - "params": { - "amount": "The amount of tokens lent.", - "data": "Arbitrary data structure, intended to contain user-defined parameters.", - "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", - "token": "The loan currency." - } - }, - "maxFlashLoan(address)": { - "details": "The amount of currency available to be lent.", - "params": { - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` that can be borrowed." - } - }, - "multicall(bytes[])": { - "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", - "details": "Receives and executes a batch of function calls on this contract." - }, - "orderExists(bytes32)": { - "params": { - "orderHash": "The hash of the order to check." - }, - "returns": { - "_0": "True if the order exists, false otherwise." - } - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "params": { - "order": "The `Order` data exactly as it was added." - }, - "returns": { - "stateChanged": "True if the order was removed, false if it did not exist." - } - }, - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { - "params": { - "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." - }, - "returns": { - "totalTakerInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", - "totalTakerOutput": "Total tokens taken from `msg.sender` and distributed between vaults." - } - }, - "vaultBalance(address,address,uint256)": { - "params": { - "id": "The vault ID to read.", - "owner": "The owner of the vault.", - "token": "The token the vault is for." - }, - "returns": { - "_0": "The current balance of the vault." - } - }, - "withdraw(address,uint256,uint256)": { - "params": { - "targetAmount": "The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.", - "token": "The token to withdraw.", - "vaultId": "The vault ID to withdraw from." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { - "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true." - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" - }, - "constructor": { - "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." - }, - "deposit(address,uint256,uint256)": { - "notice": "Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero." - }, - "maxFlashLoan(address)": { - "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." - }, - "orderExists(bytes32)": { - "notice": "Returns true if the order exists, false otherwise." - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." - }, - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { - "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." - }, - "vaultBalance(address,address,uint256)": { - "notice": "Get the current balance of a vault for a given owner, token and vault ID." - }, - "withdraw(address,uint256,uint256)": { - "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "src/concrete/OrderBook.sol": "OrderBook" - }, - "libraries": {} - }, - "sources": { - "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": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1", - "urls": [ - "bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68", - "dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { - "keccak256": "0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4", - "urls": [ - "bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0", - "dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { - "keccak256": "0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58", - "urls": [ - "bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2", - "dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { - "keccak256": "0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80", - "urls": [ - "bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d", - "dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol": { - "keccak256": "0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db", - "urls": [ - "bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a", - "dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { - "keccak256": "0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6", - "urls": [ - "bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768", - "dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { - "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", - "urls": [ - "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", - "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { - "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", - "urls": [ - "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", - "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibContext.sol": { - "keccak256": "0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a", - "urls": [ - "bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05", - "dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol": { - "keccak256": "0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085", - "urls": [ - "bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb", - "dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { - "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", - "urls": [ - "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", - "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { - "keccak256": "0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364", - "urls": [ - "bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c", - "dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { - "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", - "urls": [ - "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", - "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol": { - "keccak256": "0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc", - "urls": [ - "bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28", - "dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { - "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", - "urls": [ - "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", - "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" - ], - "license": "CAL" - }, - "lib/rain.metadata/src/IMetaV1.sol": { - "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", - "urls": [ - "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", - "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" - ], - "license": "CAL" - }, - "lib/rain.metadata/src/LibMeta.sol": { - "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", - "urls": [ - "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", - "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - }, - "src/abstract/OrderBookV3FlashLender.sol": { - "keccak256": "0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471", - "urls": [ - "bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa", - "dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd" - ], - "license": "CAL" - }, - "src/concrete/OrderBook.sol": { - "keccak256": "0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b", - "urls": [ - "bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86", - "dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA" - ], - "license": "CAL" - }, - "src/interface/IOrderBookV2.sol": { - "keccak256": "0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a", - "urls": [ - "bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798", - "dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR" - ], - "license": "CAL" - }, - "src/interface/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", - "urls": [ - "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", - "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" - ], - "license": "CC0" - }, - "src/interface/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", - "urls": [ - "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", - "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" - ], - "license": "CC0" - }, - "src/interface/unstable/IOrderBookV3.sol": { - "keccak256": "0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da", - "urls": [ - "bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc", - "dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo" - ], - "license": "CAL" - }, - "src/interface/unstable/IOrderBookV3OrderTaker.sol": { - "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", - "urls": [ - "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", - "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" - ], - "license": "CAL" - }, - "src/lib/LibOrder.sol": { - "keccak256": "0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280", - "urls": [ - "bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206", - "dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/concrete/OrderBook.sol", - "id": 77035, - "exportedSymbols": { - "ActiveDebt": [ - 74245 - ], - "CALCULATE_ORDER_ENTRYPOINT": [ - 74905 - ], - "CALCULATE_ORDER_MAX_OUTPUTS": [ - 74921 - ], - "CALCULATE_ORDER_MIN_OUTPUTS": [ - 74917 - ], - "CALLER_META_HASH": [ - 74984 - ], - "CALLING_CONTEXT_COLUMNS": [ - 74933 - ], - "CONTEXT_BASE_COLUMN": [ - 74937 - ], - "CONTEXT_CALCULATIONS_COLUMN": [ - 74945 - ], - "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 74941 - ], - "CONTEXT_VAULT_INPUTS_COLUMN": [ - 74949 - ], - "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 74969 - ], - "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 74973 - ], - "CONTEXT_VAULT_IO_ROWS": [ - 74977 - ], - "CONTEXT_VAULT_IO_TOKEN": [ - 74957 - ], - "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 74961 - ], - "CONTEXT_VAULT_IO_VAULT_ID": [ - 74965 - ], - "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 74953 - ], - "ClearConfig": [ - 77292 - ], - "ClearStateChange": [ - 77301 - ], - "DEFAULT_STATE_NAMESPACE": [ - 56316 - ], - "DeployerDiscoverableMetaV2": [ - 55357 - ], - "DeployerDiscoverableMetaV2ConstructionConfig": [ - 55312 - ], - "ECDSA": [ - 45815 - ], - "EncodedDispatch": [ - 56304 - ], - "Evaluable": [ - 57310 - ], - "EvaluableConfig": [ - 57292 - ], - "EvaluableConfigV2": [ - 57301 - ], - "FIXED_POINT_DECIMALS": [ - 71265 - ], - "FIXED_POINT_ONE": [ - 71269 - ], - "FLAG_MAX_INT": [ - 71285 - ], - "FLAG_ROUND_UP": [ - 71273 - ], - "FLAG_SATURATE": [ - 71279 - ], - "FLASH_FEE": [ - 74249 - ], - "FlashLenderCallbackFailed": [ - 74236 - ], - "FullyQualifiedNamespace": [ - 56265 - ], - "HANDLE_IO_ENTRYPOINT": [ - 74913 - ], - "HANDLE_IO_MAX_OUTPUTS": [ - 74929 - ], - "HANDLE_IO_MIN_OUTPUTS": [ - 74925 - ], - "HASH_NIL": [ - 71126 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ - 56194 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ - 56433 - ], - "IERC20": [ - 44376 - ], - "IERC3156FlashBorrower": [ - 77791 - ], - "IERC3156FlashLender": [ - 77828 - ], - "IExpressionDeployerV1": [ - 56230 - ], - "IExpressionDeployerV2": [ - 56468 - ], - "IInterpreterCallerV2": [ - 56260 - ], - "IInterpreterStoreV1": [ - 56297 - ], - "IInterpreterV1": [ - 56347 - ], - "IO": [ - 77222 - ], - "IOrderBookV3": [ - 78111 - ], - "IOrderBookV3OrderTaker": [ - 78143 - ], - "Input18Amount": [ - 75009 - ], - "InvalidSignature": [ - 56806 - ], - "LibBytecode": [ - 56792 - ], - "LibBytes": [ - 72156 - ], - "LibContext": [ - 57091 - ], - "LibEncodedDispatch": [ - 57276 - ], - "LibEvaluable": [ - 57323 - ], - "LibFixedPointDecimalArithmeticOpenZeppelin": [ - 71340 - ], - "LibFixedPointDecimalScale": [ - 71746 - ], - "LibHashNoAlloc": [ - 71168 - ], - "LibMemCpy": [ - 72188 - ], - "LibMeta": [ - 72078 - ], - "LibOrder": [ - 78165 - ], - "LibPointer": [ - 72323 - ], - "LibUint256Array": [ - 72714 - ], - "Math": [ - 46816 - ], - "MinimumInput": [ - 74884 - ], - "Multicall": [ - 45220 - ], - "NO_STORE": [ - 56274 - ], - "NoOrders": [ - 77842 - ], - "NotOrderOwner": [ - 74863 - ], - "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ - 77774 - ], - "ORDER_DEAD": [ - 74897 - ], - "ORDER_LIVE": [ - 74893 - ], - "OVERFLOW_RESCALE_OOMS": [ - 71289 - ], - "Operand": [ - 56308 - ], - "Order": [ - 77252 - ], - "OrderBook": [ - 77034 - ], - "OrderBookV3FlashLender": [ - 74569 - ], - "OrderConfigV2": [ - 77856 - ], - "OrderIOCalculation": [ - 75005 - ], - "OutOfBoundsTruncate": [ - 72496 - ], - "Output18Amount": [ - 75007 - ], - "Pointer": [ - 72203 - ], - "ReentrancyGuard": [ - 43711 - ], - "ReentrancyGuardReentrantCall": [ - 74856 - ], - "SIGNED_CONTEXT_CONTEXT_OFFSET": [ - 56246 - ], - "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ - 56249 - ], - "SIGNED_CONTEXT_SIGNER_OFFSET": [ - 56243 - ], - "SafeERC20": [ - 44813 - ], - "SameOwner": [ - 74889 - ], - "SignatureChecker": [ - 45914 - ], - "SignedContextV1": [ - 56240 - ], - "SourceIndex": [ - 56302 - ], - "SourceOffsetOutOfBounds": [ - 56523 - ], - "StateNamespace": [ - 56306 - ], - "TakeOrderConfig": [ - 77279 - ], - "TakeOrdersConfigV2": [ - 77869 - ], - "TokenDecimalsMismatch": [ - 74877 - ], - "TokenMismatch": [ - 74870 - ], - "TruncateError": [ - 72088 - ], - "ZeroAmount": [ - 74231 - ], - "ZeroReceiver": [ - 74228 - ], - "ZeroToken": [ - 74225 - ] - }, - "nodeType": "SourceUnit", - "src": "32:42475:173", - "nodes": [ - { - "id": 74830, - "nodeType": "PragmaDirective", - "src": "32:24:173", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 74832, - "nodeType": "ImportDirective", - "src": "58:78:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 46817, - "symbolAliases": [ - { - "foreign": { - "id": 74831, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "66:4:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74834, - "nodeType": "ImportDirective", - "src": "137:83:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 45221, - "symbolAliases": [ - { - "foreign": { - "id": 74833, - "name": "Multicall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45220, - "src": "145:9:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74836, - "nodeType": "ImportDirective", - "src": "221:83:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 44377, - "symbolAliases": [ - { - "foreign": { - "id": 74835, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "229:6:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74838, - "nodeType": "ImportDirective", - "src": "305:95:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "file": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 44814, - "symbolAliases": [ - { - "foreign": { - "id": 74837, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44813, - "src": "313:9:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74840, - "nodeType": "ImportDirective", - "src": "401:98:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 43712, - "symbolAliases": [ - { - "foreign": { - "id": 74839, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43711, - "src": "409:15:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74841, - "nodeType": "ImportDirective", - "src": "501:89:173", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", - "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 71341, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74842, - "nodeType": "ImportDirective", - "src": "591:72:173", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", - "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 71747, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74843, - "nodeType": "ImportDirective", - "src": "664:68:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "file": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 57277, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74844, - "nodeType": "ImportDirective", - "src": "733:60:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", - "file": "lib/rain.interpreter/src/lib/caller/LibContext.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 57092, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74848, - "nodeType": "ImportDirective", - "src": "794:177:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", - "file": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 55358, - "symbolAliases": [ - { - "foreign": { - "id": 74845, - "name": "DeployerDiscoverableMetaV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55357, - "src": "807:26:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74846, - "name": "DeployerDiscoverableMetaV2ConstructionConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55312, - "src": "839:44:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74847, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72078, - "src": "889:7:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74849, - "nodeType": "ImportDirective", - "src": "972:63:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "file": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 56793, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74850, - "nodeType": "ImportDirective", - "src": "1037:48:173", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3.sol", - "file": "../interface/unstable/IOrderBookV3.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 78112, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74851, - "nodeType": "ImportDirective", - "src": "1086:58:173", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", - "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 78144, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74852, - "nodeType": "ImportDirective", - "src": "1145:29:173", - "nodes": [], - "absolutePath": "src/lib/LibOrder.sol", - "file": "../lib/LibOrder.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 78166, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74853, - "nodeType": "ImportDirective", - "src": "1175:48:173", - "nodes": [], - "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", - "file": "../abstract/OrderBookV3FlashLender.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 74570, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74856, - "nodeType": "ErrorDefinition", - "src": "1326:37:173", - "nodes": [], - "documentation": { - "id": 74854, - "nodeType": "StructuredDocumentation", - "src": "1225:101:173", - "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." - }, - "errorSelector": "3ee5aeb5", - "name": "ReentrancyGuardReentrantCall", - "nameLocation": "1332:28:173", - "parameters": { - "id": 74855, - "nodeType": "ParameterList", - "parameters": [], - "src": "1360:2:173" - } - }, - { - "id": 74863, - "nodeType": "ErrorDefinition", - "src": "1539:51:173", - "nodes": [], - "documentation": { - "id": 74857, - "nodeType": "StructuredDocumentation", - "src": "1365:174:173", - "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." - }, - "errorSelector": "4702b914", - "name": "NotOrderOwner", - "nameLocation": "1545:13:173", - "parameters": { - "id": 74862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74859, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1567:6:173", - "nodeType": "VariableDeclaration", - "scope": 74863, - "src": "1559:14:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1559:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74861, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1583:5:173", - "nodeType": "VariableDeclaration", - "scope": 74863, - "src": "1575:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1575:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1558:31:173" - } - }, - { - "id": 74870, - "nodeType": "ErrorDefinition", - "src": "1807:58:173", - "nodes": [], - "documentation": { - "id": 74864, - "nodeType": "StructuredDocumentation", - "src": "1592:215:173", - "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." - }, - "errorSelector": "f902523f", - "name": "TokenMismatch", - "nameLocation": "1813:13:173", - "parameters": { - "id": 74869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74866, - "mutability": "mutable", - "name": "aliceToken", - "nameLocation": "1835:10:173", - "nodeType": "VariableDeclaration", - "scope": 74870, - "src": "1827:18:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74868, - "mutability": "mutable", - "name": "bobToken", - "nameLocation": "1855:8:173", - "nodeType": "VariableDeclaration", - "scope": 74870, - "src": "1847:16:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1847:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1826:38:173" - } - }, - { - "id": 74877, - "nodeType": "ErrorDefinition", - "src": "2107:78:173", - "nodes": [], - "documentation": { - "id": 74871, - "nodeType": "StructuredDocumentation", - "src": "1867:240:173", - "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." - }, - "errorSelector": "0f6ce477", - "name": "TokenDecimalsMismatch", - "nameLocation": "2113:21:173", - "parameters": { - "id": 74876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74873, - "mutability": "mutable", - "name": "aliceTokenDecimals", - "nameLocation": "2141:18:173", - "nodeType": "VariableDeclaration", - "scope": 74877, - "src": "2135:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 74872, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2135:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74875, - "mutability": "mutable", - "name": "bobTokenDecimals", - "nameLocation": "2167:16:173", - "nodeType": "VariableDeclaration", - "scope": 74877, - "src": "2161:22:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 74874, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2161:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "2134:50:173" - } - }, - { - "id": 74884, - "nodeType": "ErrorDefinition", - "src": "2331:56:173", - "nodes": [], - "documentation": { - "id": 74878, - "nodeType": "StructuredDocumentation", - "src": "2187:144:173", - "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." - }, - "errorSelector": "45094d88", - "name": "MinimumInput", - "nameLocation": "2337:12:173", - "parameters": { - "id": 74883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74880, - "mutability": "mutable", - "name": "minimumInput", - "nameLocation": "2358:12:173", - "nodeType": "VariableDeclaration", - "scope": 74884, - "src": "2350:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2350:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74882, - "mutability": "mutable", - "name": "input", - "nameLocation": "2380:5:173", - "nodeType": "VariableDeclaration", - "scope": 74884, - "src": "2372:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2372:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2349:37:173" - } - }, - { - "id": 74889, - "nodeType": "ErrorDefinition", - "src": "2493:31:173", - "nodes": [], - "documentation": { - "id": 74885, - "nodeType": "StructuredDocumentation", - "src": "2389:104:173", - "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." - }, - "errorSelector": "227e4ce9", - "name": "SameOwner", - "nameLocation": "2499:9:173", - "parameters": { - "id": 74888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74887, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2517:5:173", - "nodeType": "VariableDeclaration", - "scope": 74889, - "src": "2509:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2509:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2508:15:173" - } - }, - { - "id": 74893, - "nodeType": "VariableDeclaration", - "src": "2652:31:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_LIVE", - "nameLocation": "2669:10:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 74892, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2682:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 74897, - "nodeType": "VariableDeclaration", - "src": "2856:31:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_DEAD", - "nameLocation": "2873:10:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2886:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74905, - "nodeType": "VariableDeclaration", - "src": "2959:69:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "2980:26:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 74900, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74899, - "name": "SourceIndex", - "nameLocations": [ - "2959:11:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "2959:11:173" - }, - "referencedDeclaration": 56302, - "src": "2959:11:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "30", - "id": 74903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3026:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 74901, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56302, - "src": "3009:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 74902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3021:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "3009:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 74904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3009:19:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 74913, - "nodeType": "VariableDeclaration", - "src": "3151:63:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "3172:20:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 74908, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74907, - "name": "SourceIndex", - "nameLocations": [ - "3151:11:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "3151:11:173" - }, - "referencedDeclaration": 56302, - "src": "3151:11:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 74911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3212:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "id": 74909, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56302, - "src": "3195:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 74910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3207:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "3195:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 74912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3195:19:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 74917, - "nodeType": "VariableDeclaration", - "src": "3288:48:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "3305:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3288:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 74916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74921, - "nodeType": "VariableDeclaration", - "src": "3409:47:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "3425:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 74919, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3409:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "32", - "id": 74920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3455:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74925, - "nodeType": "VariableDeclaration", - "src": "3533:42:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "3550:21:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3533:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74929, - "nodeType": "VariableDeclaration", - "src": "3651:41:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "3667:21:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 74927, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3651:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "30", - "id": 74928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3691:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74933, - "nodeType": "VariableDeclaration", - "src": "4230:44:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "4247:23:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4230:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 74932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4273:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 74937, - "nodeType": "VariableDeclaration", - "src": "4315:40:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "4332:19:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4315:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4354:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74941, - "nodeType": "VariableDeclaration", - "src": "4656:51:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "4673:30:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4656:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 74940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4706:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 74945, - "nodeType": "VariableDeclaration", - "src": "4854:48:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "4871:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 74944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4901:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74949, - "nodeType": "VariableDeclaration", - "src": "5194:48:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "5211:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 74948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5241:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 74953, - "nodeType": "VariableDeclaration", - "src": "5360:49:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "5377:28:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5360:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 74952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5408:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 74957, - "nodeType": "VariableDeclaration", - "src": "5484:43:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "5501:22:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5484:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5526:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74961, - "nodeType": "VariableDeclaration", - "src": "5602:52:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "5619:31:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5602:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 74960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5653:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 74965, - "nodeType": "VariableDeclaration", - "src": "5723:46:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "5740:25:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5723:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 74964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5768:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74969, - "nodeType": "VariableDeclaration", - "src": "5876:52:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "5893:31:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5876:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 74968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5927:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 74973, - "nodeType": "VariableDeclaration", - "src": "6176:50:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "6193:29:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6176:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 74972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6225:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 74977, - "nodeType": "VariableDeclaration", - "src": "6266:42:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "6283:21:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6266:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 74976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6307:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "id": 74984, - "nodeType": "VariableDeclaration", - "src": "6375:111:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLER_META_HASH", - "nameLocation": "6392:16:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74979, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6375:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307837316665326634663638663137646665366165376162613262626436636266653561326134386139336562626338623166313930303838376239373865656565", - "id": 74982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6419:66:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", - "typeString": "int_const 5156...(69 digits omitted)...4718" - }, - "value": "0x71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", - "typeString": "int_const 5156...(69 digits omitted)...4718" - } - ], - "id": 74981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6411:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 74980, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6411:7:173", - "typeDescriptions": {} - } - }, - "id": 74983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6411:75:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 75005, - "nodeType": "StructDefinition", - "src": "8613:249:173", - "nodes": [], - "canonicalName": "OrderIOCalculation", - "members": [ - { - "constant": false, - "id": 74987, - "mutability": "mutable", - "name": "order", - "nameLocation": "8651:5:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8645:11:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74986, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74985, - "name": "Order", - "nameLocations": [ - "8645:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "8645:5:173" - }, - "referencedDeclaration": 77252, - "src": "8645:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74989, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "8670:13:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8662:21:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8662:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74992, - "mutability": "mutable", - "name": "outputMax", - "nameLocation": "8704:9:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8689:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 74991, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74990, - "name": "Output18Amount", - "nameLocations": [ - "8689:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "8689:14:173" - }, - "referencedDeclaration": 75007, - "src": "8689:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74994, - "mutability": "mutable", - "name": "IORatio", - "nameLocation": "8778:7:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8770:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8770:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74998, - "mutability": "mutable", - "name": "context", - "nameLocation": "8803:7:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8791:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 74995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8791:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74996, - "nodeType": "ArrayTypeName", - "src": "8791:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 74997, - "nodeType": "ArrayTypeName", - "src": "8791:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75001, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "8831:9:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8816:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 75000, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74999, - "name": "StateNamespace", - "nameLocations": [ - "8816:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "8816:14:173" - }, - "referencedDeclaration": 56306, - "src": "8816:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75004, - "mutability": "mutable", - "name": "kvs", - "nameLocation": "8856:3:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8846:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 75002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8846:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75003, - "nodeType": "ArrayTypeName", - "src": "8846:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "name": "OrderIOCalculation", - "nameLocation": "8620:18:173", - "scope": 77035, - "visibility": "public" - }, - { - "id": 75007, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "8864:31:173", - "nodes": [], - "canonicalName": "Output18Amount", - "name": "Output18Amount", - "nameLocation": "8869:14:173", - "underlyingType": { - "id": 75006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8887:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75009, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "8897:30:173", - "nodes": [], - "canonicalName": "Input18Amount", - "name": "Input18Amount", - "nameLocation": "8902:13:173", - "underlyingType": { - "id": 75008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8919:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 77034, - "nodeType": "ContractDefinition", - "src": "8997:33509:173", - "nodes": [ - { - "id": 75024, - "nodeType": "UsingForDirective", - "src": "9118:36:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75021, - "name": "LibUint256Array", - "nameLocations": [ - "9124:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72714, - "src": "9124:15:173" - }, - "typeName": { - "baseType": { - "id": 75022, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75023, - "nodeType": "ArrayTypeName", - "src": "9144:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - { - "id": 75028, - "nodeType": "UsingForDirective", - "src": "9159:27:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75025, - "name": "SafeERC20", - "nameLocations": [ - "9165:9:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44813, - "src": "9165:9:173" - }, - "typeName": { - "id": 75027, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75026, - "name": "IERC20", - "nameLocations": [ - "9179:6:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44376, - "src": "9179:6:173" - }, - "referencedDeclaration": 44376, - "src": "9179:6:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - } - }, - { - "id": 75032, - "nodeType": "UsingForDirective", - "src": "9191:25:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75029, - "name": "LibOrder", - "nameLocations": [ - "9197:8:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78165, - "src": "9197:8:173" - }, - "typeName": { - "id": 75031, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75030, - "name": "Order", - "nameLocations": [ - "9210:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "9210:5:173" - }, - "referencedDeclaration": 77252, - "src": "9210:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - } - }, - { - "id": 75035, - "nodeType": "UsingForDirective", - "src": "9221:34:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75033, - "name": "LibUint256Array", - "nameLocations": [ - "9227:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72714, - "src": "9227:15:173" - }, - "typeName": { - "id": 75034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9247:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75038, - "nodeType": "UsingForDirective", - "src": "9260:23:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75036, - "name": "Math", - "nameLocations": [ - "9266:4:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 46816, - "src": "9266:4:173" - }, - "typeName": { - "id": 75037, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9275:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75041, - "nodeType": "UsingForDirective", - "src": "9288:44:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75039, - "name": "LibFixedPointDecimalScale", - "nameLocations": [ - "9294:25:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 71746, - "src": "9294:25:173" - }, - "typeName": { - "id": 75040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9324:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75044, - "nodeType": "UsingForDirective", - "src": "9337:61:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75042, - "name": "LibFixedPointDecimalArithmeticOpenZeppelin", - "nameLocations": [ - "9343:42:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 71340, - "src": "9343:42:173" - }, - "typeName": { - "id": 75043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9390:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75049, - "nodeType": "VariableDeclaration", - "src": "9997:63:173", - "nodes": [], - "constant": false, - "documentation": { - "id": 75045, - "nodeType": "StructuredDocumentation", - "src": "9404:465:173", - "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" - }, - "mutability": "mutable", - "name": "sOrders", - "nameLocation": "10053:7:173", - "scope": 77034, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 75048, - "keyName": "orderHash", - "keyNameLocation": "10013:9:173", - "keyType": { - "id": 75046, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10005:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "9997:46:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueName": "liveness", - "valueNameLocation": "10034:8:173", - "valueType": { - "id": 75047, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10026:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "id": 75058, - "nodeType": "VariableDeclaration", - "src": "10408:127:173", - "nodes": [], - "constant": false, - "documentation": { - "id": 75050, - "nodeType": "StructuredDocumentation", - "src": "10067:213:173", - "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." - }, - "mutability": "mutable", - "name": "sVaultBalances", - "nameLocation": "10521:14:173", - "scope": 77034, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "typeName": { - "id": 75057, - "keyName": "owner", - "keyNameLocation": "10424:5:173", - "keyType": { - "id": 75051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10416:7:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "10408:95:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75056, - "keyName": "token", - "keyNameLocation": "10449:5:173", - "keyType": { - "id": 75052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10441:7:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "10433:69:173", - "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": 75055, - "keyName": "vaultId", - "keyNameLocation": "10474:7:173", - "keyType": { - "id": 75053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10466:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "10458:43:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "balance", - "valueNameLocation": "10493:7:173", - "valueType": { - "id": 75054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10485:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "internal" - }, - { - "id": 75070, - "nodeType": "FunctionDefinition", - "src": "10837:139:173", - "nodes": [], - "body": { - "id": 75069, - "nodeType": "Block", - "src": "10974:2:173", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 75059, - "nodeType": "StructuredDocumentation", - "src": "10542:290:173", - "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 75065, - "name": "CALLER_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74984, - "src": "10944:16:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 75066, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75062, - "src": "10962:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" - } - } - ], - "id": 75067, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 75064, - "name": "DeployerDiscoverableMetaV2", - "nameLocations": [ - "10917:26:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55357, - "src": "10917:26:173" - }, - "nodeType": "ModifierInvocation", - "src": "10917:52:173" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75062, - "mutability": "mutable", - "name": "config", - "nameLocation": "10901:6:173", - "nodeType": "VariableDeclaration", - "scope": 75070, - "src": "10849:58:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" - }, - "typeName": { - "id": 75061, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75060, - "name": "DeployerDiscoverableMetaV2ConstructionConfig", - "nameLocations": [ - "10849:44:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55312, - "src": "10849:44:173" - }, - "referencedDeclaration": 55312, - "src": "10849:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_storage_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "10848:60:173" - }, - "returnParameters": { - "id": 75068, - "nodeType": "ParameterList", - "parameters": [], - "src": "10974:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75082, - "nodeType": "ModifierDefinition", - "src": "11090:148:173", - "nodes": [], - "body": { - "id": 75081, - "nodeType": "Block", - "src": "11118:120:173", - "nodes": [], - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75073, - "name": "_reentrancyGuardEntered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43710, - "src": "11132:23:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 75074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11132:25:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75079, - "nodeType": "IfStatement", - "src": "11128:93:173", - "trueBody": { - "id": 75078, - "nodeType": "Block", - "src": "11159:62:173", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75075, - "name": "ReentrancyGuardReentrantCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74856, - "src": "11180:28:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11180:30:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75077, - "nodeType": "RevertStatement", - "src": "11173:37:173" - } - ] - } - }, - { - "id": 75080, - "nodeType": "PlaceholderStatement", - "src": "11230:1:173" - } - ] - }, - "documentation": { - "id": 75071, - "nodeType": "StructuredDocumentation", - "src": "10982:103:173", - "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" - }, - "name": "nonReentrantView", - "nameLocation": "11099:16:173", - "parameters": { - "id": 75072, - "nodeType": "ParameterList", - "parameters": [], - "src": "11115:2:173" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 75106, - "nodeType": "FunctionDefinition", - "src": "11562:232:173", - "nodes": [], - "body": { - "id": 75105, - "nodeType": "Block", - "src": "11733:61:173", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75097, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "11750:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75099, - "indexExpression": { - "id": 75098, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75085, - "src": "11765:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11750:21:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75101, - "indexExpression": { - "id": 75100, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75087, - "src": "11772:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11750:28:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75103, - "indexExpression": { - "id": 75102, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75089, - "src": "11779:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11750:37:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75096, - "id": 75104, - "nodeType": "Return", - "src": "11743:44:173" - } - ] - }, - "baseFunctions": [ - 78032 - ], - "documentation": { - "id": 75083, - "nodeType": "StructuredDocumentation", - "src": "11244:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "d97b2e48", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75093, - "kind": "modifierInvocation", - "modifierName": { - "id": 75092, - "name": "nonReentrantView", - "nameLocations": [ - "11686:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75082, - "src": "11686:16:173" - }, - "nodeType": "ModifierInvocation", - "src": "11686:16:173" - } - ], - "name": "vaultBalance", - "nameLocation": "11571:12:173", - "overrides": { - "id": 75091, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11669:8:173" - }, - "parameters": { - "id": 75090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75085, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11592:5:173", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11584:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11584:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75087, - "mutability": "mutable", - "name": "token", - "nameLocation": "11607:5:173", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11599:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11599:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75089, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "11622:7:173", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11614:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11614:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11583:47:173" - }, - "returnParameters": { - "id": 75096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75095, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11720:7:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11720:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11719:9:173" - }, - "scope": 77034, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 75124, - "nodeType": "FunctionDefinition", - "src": "11833:151:173", - "nodes": [], - "body": { - "id": 75123, - "nodeType": "Block", - "src": "11928:56:173", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75117, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "11945:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75119, - "indexExpression": { - "id": 75118, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75109, - "src": "11953:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11945:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75120, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74893, - "src": "11967:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11945:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75116, - "id": 75122, - "nodeType": "Return", - "src": "11938:39:173" - } - ] - }, - "baseFunctions": [ - 78069 - ], - "documentation": { - "id": 75107, - "nodeType": "StructuredDocumentation", - "src": "11800:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "2cb77e9f", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75113, - "kind": "modifierInvocation", - "modifierName": { - "id": 75112, - "name": "nonReentrantView", - "nameLocations": [ - "11896:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75082, - "src": "11896:16:173" - }, - "nodeType": "ModifierInvocation", - "src": "11896:16:173" - } - ], - "name": "orderExists", - "nameLocation": "11842:11:173", - "overrides": { - "id": 75111, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11887:8:173" - }, - "parameters": { - "id": 75110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75109, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "11862:9:173", - "nodeType": "VariableDeclaration", - "scope": 75124, - "src": "11854:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75108, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11854:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "11853:19:173" - }, - "returnParameters": { - "id": 75116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75115, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75124, - "src": "11922:4:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11922:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "11921:6:173" - }, - "scope": 77034, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 75181, - "nodeType": "FunctionDefinition", - "src": "12023:640:173", - "nodes": [], - "body": { - "id": 75180, - "nodeType": "Block", - "src": "12110:553:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75136, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12124:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12134:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12124:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75147, - "nodeType": "IfStatement", - "src": "12120:94:173", - "trueBody": { - "id": 75146, - "nodeType": "Block", - "src": "12137:77:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75140, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12176:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12180:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12176:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75142, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12188:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75143, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75129, - "src": "12195:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75139, - "name": "ZeroDepositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77883, - "src": "12158:17:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 75144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12158:45:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75145, - "nodeType": "RevertStatement", - "src": "12151:52:173" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75149, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12430:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12434:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12430:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75151, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12442:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75152, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75129, - "src": "12449:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75153, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12458:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75148, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77923, - "src": "12422:7:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 75154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12422:43:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75155, - "nodeType": "EmitStatement", - "src": "12417:48:173" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75160, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12560:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12564:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12560:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75164, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12580:4:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - ], - "id": 75163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12572:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12572:7:173", - "typeDescriptions": {} - } - }, - "id": 75165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12572:13:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75166, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12587:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75157, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12536:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75156, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "12529:6:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 75158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12529:13:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 75159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12543:16:173", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44497, - "src": "12529:30:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 75167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12529:65:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75168, - "nodeType": "ExpressionStatement", - "src": "12529:65:173" - }, - { - "expression": { - "id": 75178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75169, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "12604:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75174, - "indexExpression": { - "expression": { - "id": 75170, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12619:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12623:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12619:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12604:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75175, - "indexExpression": { - "id": 75172, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12631:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12604:33:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75176, - "indexExpression": { - "id": 75173, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75129, - "src": "12638:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12604:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75177, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12650:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12604:52:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75179, - "nodeType": "ExpressionStatement", - "src": "12604:52:173" - } - ] - }, - "baseFunctions": [ - 78042 - ], - "documentation": { - "id": 75125, - "nodeType": "StructuredDocumentation", - "src": "11990:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "0efe6a8b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75134, - "kind": "modifierInvocation", - "modifierName": { - "id": 75133, - "name": "nonReentrant", - "nameLocations": [ - "12097:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "12097:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "12097:12:173" - } - ], - "name": "deposit", - "nameLocation": "12032:7:173", - "parameters": { - "id": 75132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75127, - "mutability": "mutable", - "name": "token", - "nameLocation": "12048:5:173", - "nodeType": "VariableDeclaration", - "scope": 75181, - "src": "12040:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12040:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75129, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "12063:7:173", - "nodeType": "VariableDeclaration", - "scope": 75181, - "src": "12055:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12055:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75131, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12080:6:173", - "nodeType": "VariableDeclaration", - "scope": 75181, - "src": "12072:14:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12072:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12039:48:173" - }, - "returnParameters": { - "id": 75135, - "nodeType": "ParameterList", - "parameters": [], - "src": "12110:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75258, - "nodeType": "FunctionDefinition", - "src": "12702:952:173", - "nodes": [], - "body": { - "id": 75257, - "nodeType": "Block", - "src": "12796:858:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75193, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75188, - "src": "12810:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12826:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12810:17:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75204, - "nodeType": "IfStatement", - "src": "12806:107:173", - "trueBody": { - "id": 75203, - "nodeType": "Block", - "src": "12829:84:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12875:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12879:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12875:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75199, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "12887:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75200, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "12894:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75196, - "name": "ZeroWithdrawTargetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77892, - "src": "12850:24:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 75201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12850:52:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75202, - "nodeType": "RevertStatement", - "src": "12843:59:173" - } - ] - } - }, - { - "assignments": [ - 75206 - ], - "declarations": [ - { - "constant": false, - "id": 75206, - "mutability": "mutable", - "name": "currentVaultBalance", - "nameLocation": "12930:19:173", - "nodeType": "VariableDeclaration", - "scope": 75257, - "src": "12922:27:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12922:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75215, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75207, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "12952:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75210, - "indexExpression": { - "expression": { - "id": 75208, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12967:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12971:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12967:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12952:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75212, - "indexExpression": { - "id": 75211, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "12979:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12952:33:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75214, - "indexExpression": { - "id": 75213, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "12986:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12952:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12922:72:173" - }, - { - "assignments": [ - 75217 - ], - "declarations": [ - { - "constant": false, - "id": 75217, - "mutability": "mutable", - "name": "withdrawAmount", - "nameLocation": "13084:14:173", - "nodeType": "VariableDeclaration", - "scope": 75257, - "src": "13076:22:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13076:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75222, - "initialValue": { - "arguments": [ - { - "id": 75220, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75206, - "src": "13118:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75218, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75188, - "src": "13101:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13114:3:173", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 45993, - "src": "13101:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 75221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13101:37:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13076:62:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75223, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13152:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13169:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13152:18:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75256, - "nodeType": "IfStatement", - "src": "13148:500:173", - "trueBody": { - "id": 75255, - "nodeType": "Block", - "src": "13172:476:173", - "statements": [ - { - "expression": { - "id": 75237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75226, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "13391:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75231, - "indexExpression": { - "expression": { - "id": 75227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13406:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13410:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13406:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13391:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75232, - "indexExpression": { - "id": 75229, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "13418:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13391:33:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75233, - "indexExpression": { - "id": 75230, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "13425:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13391:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75234, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75206, - "src": "13436:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75235, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13458:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13436:36:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13391:81:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75238, - "nodeType": "ExpressionStatement", - "src": "13391:81:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75240, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13500:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13504:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13500:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75242, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "13512:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75243, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "13519:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75244, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75188, - "src": "13528:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75245, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13542:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75239, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77936, - "src": "13491:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256)" - } - }, - "id": 75246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13491:66:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75247, - "nodeType": "EmitStatement", - "src": "13486:71:173" - }, - { - "expression": { - "arguments": [ - { - "id": 75249, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "13603:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75250, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13610:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13614:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13610:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75252, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13622:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75248, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74380, - "src": "13571:31:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) returns (uint256)" - } - }, - "id": 75253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13571:66:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75254, - "nodeType": "ExpressionStatement", - "src": "13571:66:173" - } - ] - } - } - ] - }, - "baseFunctions": [ - 78052 - ], - "documentation": { - "id": 75182, - "nodeType": "StructuredDocumentation", - "src": "12669:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "b5c5f672", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75191, - "kind": "modifierInvocation", - "modifierName": { - "id": 75190, - "name": "nonReentrant", - "nameLocations": [ - "12783:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "12783:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "12783:12:173" - } - ], - "name": "withdraw", - "nameLocation": "12711:8:173", - "parameters": { - "id": 75189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75184, - "mutability": "mutable", - "name": "token", - "nameLocation": "12728:5:173", - "nodeType": "VariableDeclaration", - "scope": 75258, - "src": "12720:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12720:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75186, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "12743:7:173", - "nodeType": "VariableDeclaration", - "scope": 75258, - "src": "12735:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12735:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75188, - "mutability": "mutable", - "name": "targetAmount", - "nameLocation": "12760:12:173", - "nodeType": "VariableDeclaration", - "scope": 75258, - "src": "12752:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12752:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12719:54:173" - }, - "returnParameters": { - "id": 75192, - "nodeType": "ParameterList", - "parameters": [], - "src": "12796:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75435, - "nodeType": "FunctionDefinition", - "src": "13693:2174:173", - "nodes": [], - "body": { - "id": 75434, - "nodeType": "Block", - "src": "13792:2075:173", - "nodes": [], - "statements": [ - { - "assignments": [ - 75270 - ], - "declarations": [ - { - "constant": false, - "id": 75270, - "mutability": "mutable", - "name": "sourceCount", - "nameLocation": "13810:11:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "13802:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13802:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75277, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75273, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "13848:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13855:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "13848:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13871:8:173", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57297, - "src": "13848:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 75271, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56792, - "src": "13824:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 75272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13836:11:173", - "memberName": "sourceCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 56551, - "src": "13824:23:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 75276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13824:56:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13802:78:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75278, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75270, - "src": "13894:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13909:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13894:16:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75287, - "nodeType": "IfStatement", - "src": "13890:80:173", - "trueBody": { - "id": 75286, - "nodeType": "Block", - "src": "13912:58:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75282, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13948:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13952:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13948:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75281, - "name": "OrderNoSources", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77897, - "src": "13933:14:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13933:26:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75285, - "nodeType": "RevertStatement", - "src": "13926:33:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75288, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75270, - "src": "13983:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 75289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13998:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13983:16:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75297, - "nodeType": "IfStatement", - "src": "13979:81:173", - "trueBody": { - "id": 75296, - "nodeType": "Block", - "src": "14001:59:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75292, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14038:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14042:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14038:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75291, - "name": "OrderNoHandleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77902, - "src": "14022:15:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14022:27:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75295, - "nodeType": "RevertStatement", - "src": "14015:34:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75298, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14073:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14080:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77846, - "src": "14073:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14092:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14073:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14102:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14073:30:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75309, - "nodeType": "IfStatement", - "src": "14069:93:173", - "trueBody": { - "id": 75308, - "nodeType": "Block", - "src": "14105:57:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75304, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14140:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14144:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14140:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75303, - "name": "OrderNoInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77907, - "src": "14126:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14126:25:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75307, - "nodeType": "RevertStatement", - "src": "14119:32:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75310, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14175:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14182:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77850, - "src": "14175:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14195:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14175:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14205:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14175:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75321, - "nodeType": "IfStatement", - "src": "14171:95:173", - "trueBody": { - "id": 75320, - "nodeType": "Block", - "src": "14208:58:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75316, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14244:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14248:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14244:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75315, - "name": "OrderNoOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77912, - "src": "14229:14:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14229:26:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75319, - "nodeType": "RevertStatement", - "src": "14222:33:173" - } - ] - } - }, - { - "assignments": [ - 75324, - 75327, - 75329 - ], - "declarations": [ - { - "constant": false, - "id": 75324, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "14291:11:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14276:26:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 75323, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75322, - "name": "IInterpreterV1", - "nameLocations": [ - "14276:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56347, - "src": "14276:14:173" - }, - "referencedDeclaration": 56347, - "src": "14276:14:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75327, - "mutability": "mutable", - "name": "store", - "nameLocation": "14324:5:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14304:25:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 75326, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75325, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "14304:19:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "14304:19:173" - }, - "referencedDeclaration": 56297, - "src": "14304:19:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75329, - "mutability": "mutable", - "name": "expression", - "nameLocation": "14339:10:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14331:18:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14331:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75346, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75334, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14454:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14461:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14454:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14477:8:173", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57297, - "src": "14454:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "expression": { - "expression": { - "id": 75337, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14499:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14506:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14499:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14522:9:173", - "memberName": "constants", - "nodeType": "MemberAccess", - "referencedDeclaration": 57300, - "src": "14499:32:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "arguments": [ - { - "id": 75342, - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74917, - "src": "14571:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75343, - "name": "HANDLE_IO_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74925, - "src": "14600:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75340, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "14545:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 75341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14561:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72573, - "src": "14545:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 75344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14545:77:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 75330, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14353:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14373:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14353:35:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14402:8:173", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57295, - "src": "14353:57:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", - "typeString": "contract IExpressionDeployerV2" - } - }, - "id": 75333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14424:16:173", - "memberName": "deployExpression", - "nodeType": "MemberAccess", - "referencedDeclaration": 56467, - "src": "14353:87:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", - "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "id": 75345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14353:279:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", - "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14275:357:173" - }, - { - "assignments": [ - 75349 - ], - "declarations": [ - { - "constant": false, - "id": 75349, - "mutability": "mutable", - "name": "order", - "nameLocation": "14831:5:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14818:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75348, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75347, - "name": "Order", - "nameLocations": [ - "14818:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "14818:5:173" - }, - "referencedDeclaration": 77252, - "src": "14818:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 75375, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 75351, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14858:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14862:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14858:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75355, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14910:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14917:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14910:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14933:8:173", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57297, - "src": "14910:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "arguments": [ - { - "id": 75360, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74913, - "src": "14962:20:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - ], - "expression": { - "id": 75358, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56302, - "src": "14943:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 75359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14955:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "14943:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56302_$returns$_t_uint16_$", - "typeString": "function (SourceIndex) pure returns (uint16)" - } - }, - "id": 75361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14943:40:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 75353, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56792, - "src": "14882:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 75354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14894:15:173", - "memberName": "sourceOpsLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 56646, - "src": "14882:27:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 75362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14882:102:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14987:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14882:106:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "arguments": [ - { - "id": 75366, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75324, - "src": "15012:11:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - { - "id": 75367, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75327, - "src": "15025:5:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 75368, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75329, - "src": "15032:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75365, - "name": "Evaluable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57310, - "src": "15002:9:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Evaluable_$57310_storage_ptr_$", - "typeString": "type(struct Evaluable storage pointer)" - } - }, - "id": 75369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15002:41:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - { - "expression": { - "id": 75370, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15057:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15064:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77846, - "src": "15057:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - { - "expression": { - "id": 75372, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15089:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15096:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77850, - "src": "15089:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - ], - "id": 75350, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77252, - "src": "14839:5:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$77252_storage_ptr_$", - "typeString": "type(struct Order storage pointer)" - } - }, - "id": 75374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14839:279:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14818:300:173" - }, - { - "assignments": [ - 75377 - ], - "declarations": [ - { - "constant": false, - "id": 75377, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "15136:9:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "15128:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75376, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15128:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75381, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75378, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75349, - "src": "15148:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15154:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "15148:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15148:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15128:32:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75382, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "15250:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75384, - "indexExpression": { - "id": 75383, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15258:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15250:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75385, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "15272:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15250:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75433, - "nodeType": "IfStatement", - "src": "15246:615:173", - "trueBody": { - "id": 75432, - "nodeType": "Block", - "src": "15284:577:173", - "statements": [ - { - "expression": { - "id": 75389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75387, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75267, - "src": "15298:12:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 75388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15313:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15298:19:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75390, - "nodeType": "ExpressionStatement", - "src": "15298:19:173" - }, - { - "expression": { - "id": 75395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75391, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "15390:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75393, - "indexExpression": { - "id": 75392, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15398:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15390:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75394, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74893, - "src": "15411:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15390:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75396, - "nodeType": "ExpressionStatement", - "src": "15390:31:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75398, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15449:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15453:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15449:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "expression": { - "id": 75400, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15461:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15468:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "15461:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15484:8:173", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57295, - "src": "15461:31:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", - "typeString": "contract IExpressionDeployerV2" - } - }, - { - "id": 75403, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75349, - "src": "15494:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75404, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15501:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", - "typeString": "contract IExpressionDeployerV2" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75397, - "name": "AddOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77949, - "src": "15440:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56468_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" - } - }, - "id": 75405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15440:71:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75406, - "nodeType": "EmitStatement", - "src": "15435:76:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75407, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15682:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15689:4:173", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 77855, - "src": "15682:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 75409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15694:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15682:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15703:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15682:22:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75431, - "nodeType": "IfStatement", - "src": "15678:173:173", - "trueBody": { - "id": 75430, - "nodeType": "Block", - "src": "15706:145:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75415, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15750:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15757:4:173", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 77855, - "src": "15750:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 75412, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72078, - "src": "15724:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$72078_$", - "typeString": "type(library LibMeta)" - } - }, - "id": 75414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15732:17:173", - "memberName": "checkMetaUnhashed", - "nodeType": "MemberAccess", - "referencedDeclaration": 72048, - "src": "15724:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 75417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15724:38:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75418, - "nodeType": "ExpressionStatement", - "src": "15724:38:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15792:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15796:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15792:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75424, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15812:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15804:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15804:7:173", - "typeDescriptions": {} - } - }, - "id": 75425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15804:18:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75426, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15824:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15831:4:173", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 77855, - "src": "15824:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 75419, - "name": "MetaV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71993, - "src": "15785:6:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 75428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15785:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75429, - "nodeType": "EmitStatement", - "src": "15780:56:173" - } - ] - } - } - ] - } - } - ] - }, - "baseFunctions": [ - 78061 - ], - "documentation": { - "id": 75259, - "nodeType": "StructuredDocumentation", - "src": "13660:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "847a1bc9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75265, - "kind": "modifierInvocation", - "modifierName": { - "id": 75264, - "name": "nonReentrant", - "nameLocations": [ - "13751:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "13751:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "13751:12:173" - } - ], - "name": "addOrder", - "nameLocation": "13702:8:173", - "parameters": { - "id": 75263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75262, - "mutability": "mutable", - "name": "config", - "nameLocation": "13734:6:173", - "nodeType": "VariableDeclaration", - "scope": 75435, - "src": "13711:29:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2" - }, - "typeName": { - "id": 75261, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75260, - "name": "OrderConfigV2", - "nameLocations": [ - "13711:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77856, - "src": "13711:13:173" - }, - "referencedDeclaration": 77856, - "src": "13711:13:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_storage_ptr", - "typeString": "struct OrderConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "13710:31:173" - }, - "returnParameters": { - "id": 75268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75267, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "13778:12:173", - "nodeType": "VariableDeclaration", - "scope": 75435, - "src": "13773:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75266, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13773:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "13772:19:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75491, - "nodeType": "FunctionDefinition", - "src": "15906:448:173", - "nodes": [], - "body": { - "id": 75490, - "nodeType": "Block", - "src": "15999:355:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75446, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16013:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16017:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16013:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 75448, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16027:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16033:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "16027:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16013:25:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75459, - "nodeType": "IfStatement", - "src": "16009:101:173", - "trueBody": { - "id": 75458, - "nodeType": "Block", - "src": "16040:70:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75452, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16075:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16079:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16075:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75454, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16087:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16093:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "16087:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75451, - "name": "NotOrderOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "16061:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 75456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16061:38:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75457, - "nodeType": "RevertStatement", - "src": "16054:45:173" - } - ] - } - }, - { - "assignments": [ - 75461 - ], - "declarations": [ - { - "constant": false, - "id": 75461, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "16127:9:173", - "nodeType": "VariableDeclaration", - "scope": 75490, - "src": "16119:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75460, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16119:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75465, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75462, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16139:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16145:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "16139:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16139:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16119:32:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75466, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "16165:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75468, - "indexExpression": { - "id": 75467, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75461, - "src": "16173:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16165:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75469, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74893, - "src": "16187:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16165:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75489, - "nodeType": "IfStatement", - "src": "16161:187:173", - "trueBody": { - "id": 75488, - "nodeType": "Block", - "src": "16199:149:173", - "statements": [ - { - "expression": { - "id": 75473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75471, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75444, - "src": "16213:12:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 75472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16228:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16213:19:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75474, - "nodeType": "ExpressionStatement", - "src": "16213:19:173" - }, - { - "expression": { - "id": 75479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75475, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "16246:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75477, - "indexExpression": { - "id": 75476, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75461, - "src": "16254:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16246:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75478, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "16267:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16246:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75480, - "nodeType": "ExpressionStatement", - "src": "16246:31:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75482, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16308:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16312:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16308:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75484, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16320:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - { - "id": 75485, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75461, - "src": "16327:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75481, - "name": "RemoveOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77959, - "src": "16296:11:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,struct Order memory,bytes32)" - } - }, - "id": 75486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16296:41:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75487, - "nodeType": "EmitStatement", - "src": "16291:46:173" - } - ] - } - } - ] - }, - "baseFunctions": [ - 78078 - ], - "documentation": { - "id": 75436, - "nodeType": "StructuredDocumentation", - "src": "15873:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "e23746a3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75442, - "kind": "modifierInvocation", - "modifierName": { - "id": 75441, - "name": "nonReentrant", - "nameLocations": [ - "15958:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "15958:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "15958:12:173" - } - ], - "name": "removeOrder", - "nameLocation": "15915:11:173", - "parameters": { - "id": 75440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75439, - "mutability": "mutable", - "name": "order", - "nameLocation": "15942:5:173", - "nodeType": "VariableDeclaration", - "scope": 75491, - "src": "15927:20:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75438, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75437, - "name": "Order", - "nameLocations": [ - "15927:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "15927:5:173" - }, - "referencedDeclaration": 77252, - "src": "15927:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "src": "15926:22:173" - }, - "returnParameters": { - "id": 75445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75444, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "15985:12:173", - "nodeType": "VariableDeclaration", - "scope": 75491, - "src": "15980:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75443, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15980:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "15979:19:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76040, - "nodeType": "FunctionDefinition", - "src": "16393:8257:173", - "nodes": [], - "body": { - "id": 76039, - "nodeType": "Block", - "src": "16559:8091:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75504, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16573:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16580:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "16573:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16587:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16573:20:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16597:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16573:25:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75513, - "nodeType": "IfStatement", - "src": "16569:73:173", - "trueBody": { - "id": 75512, - "nodeType": "Block", - "src": "16600:42:173", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75509, - "name": "NoOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77842, - "src": "16621:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16621:10:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75511, - "nodeType": "RevertStatement", - "src": "16614:17:173" - } - ] - } - }, - { - "assignments": [ - 75515 - ], - "declarations": [ - { - "constant": false, - "id": 75515, - "mutability": "mutable", - "name": "i", - "nameLocation": "16660:1:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16652:9:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16652:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75517, - "initialValue": { - "hexValue": "30", - "id": 75516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16664:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16652:13:173" - }, - { - "assignments": [ - 75520 - ], - "declarations": [ - { - "constant": false, - "id": 75520, - "mutability": "mutable", - "name": "takeOrderConfig", - "nameLocation": "16698:15:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16675:38:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig" - }, - "typeName": { - "id": 75519, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75518, - "name": "TakeOrderConfig", - "nameLocations": [ - "16675:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77279, - "src": "16675:15:173" - }, - "referencedDeclaration": 77279, - "src": "16675:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_storage_ptr", - "typeString": "struct TakeOrderConfig" - } - }, - "visibility": "internal" - } - ], - "id": 75521, - "nodeType": "VariableDeclarationStatement", - "src": "16675:38:173" - }, - { - "assignments": [ - 75524 - ], - "declarations": [ - { - "constant": false, - "id": 75524, - "mutability": "mutable", - "name": "order", - "nameLocation": "16736:5:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16723:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75523, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75522, - "name": "Order", - "nameLocations": [ - "16723:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "16723:5:173" - }, - "referencedDeclaration": 77252, - "src": "16723:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 75525, - "nodeType": "VariableDeclarationStatement", - "src": "16723:18:173" - }, - { - "assignments": [ - 75527 - ], - "declarations": [ - { - "constant": false, - "id": 75527, - "mutability": "mutable", - "name": "remainingTakerInput", - "nameLocation": "16760:19:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16752:27:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16752:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75530, - "initialValue": { - "expression": { - "id": 75528, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16782:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16789:12:173", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77860, - "src": "16782:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16752:49:173" - }, - { - "body": { - "id": 75923, - "nodeType": "Block", - "src": "16871:5715:173", - "statements": [ - { - "expression": { - "id": 75545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75540, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "16885:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "id": 75541, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16903:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16910:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "16903:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75544, - "indexExpression": { - "id": 75543, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75515, - "src": "16917:1:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16903:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "src": "16885:34:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75546, - "nodeType": "ExpressionStatement", - "src": "16885:34:173" - }, - { - "expression": { - "id": 75550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75547, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "16933:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75548, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "16941:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75549, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16957:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "16941:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "src": "16933:29:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75551, - "nodeType": "ExpressionStatement", - "src": "16933:29:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75552, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17052:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75553, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17058:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17052:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75556, - "indexExpression": { - "expression": { - "id": 75554, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17070:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17086:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17070:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17052:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17100:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17052:53:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75558, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17129:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17136:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17129:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75561, - "indexExpression": { - "hexValue": "30", - "id": 75560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17143:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17129:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17146:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17129:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17152:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17129:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75569, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75564, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17164:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17171:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17164:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75567, - "indexExpression": { - "hexValue": "30", - "id": 75566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17178:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17164:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17181:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17164:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17129:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17195:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17129:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17052:148:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75595, - "nodeType": "IfStatement", - "src": "17031:423:173", - "trueBody": { - "id": 75594, - "nodeType": "Block", - "src": "17215:239:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75573, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17275:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17281:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17275:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75577, - "indexExpression": { - "expression": { - "id": 75575, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17293:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17309:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17293:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17275:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17323:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17275:53:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75579, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17350:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17357:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17350:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75582, - "indexExpression": { - "hexValue": "30", - "id": 75581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17364:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17350:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17367:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17350:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17373:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17350:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75590, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75585, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17385:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17392:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17385:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75588, - "indexExpression": { - "hexValue": "30", - "id": 75587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17399:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17385:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17402:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17385:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17350:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17416:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17350:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75572, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "17240:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 75592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17240:199:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75593, - "nodeType": "RevertStatement", - "src": "17233:206:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75596, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17544:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17550:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17544:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75600, - "indexExpression": { - "expression": { - "id": 75598, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17563:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17579:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17563:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17544:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17594:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17544:55:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75602, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17623:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17630:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17623:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75605, - "indexExpression": { - "hexValue": "30", - "id": 75604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17637:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17623:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17640:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17623:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17646:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17623:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75613, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75608, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17659:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17666:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17659:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75611, - "indexExpression": { - "hexValue": "30", - "id": 75610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17673:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17659:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17676:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17659:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17623:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17691:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17623:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17544:152:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75639, - "nodeType": "IfStatement", - "src": "17523:431:173", - "trueBody": { - "id": 75638, - "nodeType": "Block", - "src": "17711:243:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75617, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17771:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17777:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17771:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75621, - "indexExpression": { - "expression": { - "id": 75619, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17790:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17806:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17790:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17771:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17821:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17771:55:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75623, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17848:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17855:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17848:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75626, - "indexExpression": { - "hexValue": "30", - "id": 75625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17862:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17848:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17865:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17848:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17871:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17848:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75634, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75629, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17884:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17891:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17884:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75632, - "indexExpression": { - "hexValue": "30", - "id": 75631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17898:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17884:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17901:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17884:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17848:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17916:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17848:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75616, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "17736:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 75636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17736:203:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75637, - "nodeType": "RevertStatement", - "src": "17729:210:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 75659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75640, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18052:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18058:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18052:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75644, - "indexExpression": { - "expression": { - "id": 75642, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18070:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18086:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18070:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18052:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18100:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18052:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75646, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18132:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18139:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18132:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75649, - "indexExpression": { - "hexValue": "30", - "id": 75648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18146:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18149:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18132:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18155:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18132:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75657, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75652, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18167:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18174:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18167:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75655, - "indexExpression": { - "hexValue": "30", - "id": 75654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18181:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18167:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18184:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18167:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18198:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18132:74:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18052:154:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75683, - "nodeType": "IfStatement", - "src": "18031:443:173", - "trueBody": { - "id": 75682, - "nodeType": "Block", - "src": "18221:253:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75661, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18289:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18295:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18289:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75665, - "indexExpression": { - "expression": { - "id": 75663, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18307:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75664, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18323:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18307:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18289:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18337:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18289:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75667, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18367:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18374:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18367:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75670, - "indexExpression": { - "hexValue": "30", - "id": 75669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18381:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18367:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18384:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18367:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18390:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18367:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75678, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75673, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18402:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18409:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18402:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75676, - "indexExpression": { - "hexValue": "30", - "id": 75675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18416:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18402:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18419:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18402:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18367:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18433:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18367:74:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75660, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "18246:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 75680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18246:213:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75681, - "nodeType": "RevertStatement", - "src": "18239:220:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 75703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75684, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18573:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18579:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18573:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75688, - "indexExpression": { - "expression": { - "id": 75686, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18592:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18608:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18592:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18573:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18623:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18573:58:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75690, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18655:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18662:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18655:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75693, - "indexExpression": { - "hexValue": "30", - "id": 75692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18669:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18655:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18672:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18655:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18678:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18655:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75701, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75696, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18691:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18698:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18691:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75699, - "indexExpression": { - "hexValue": "30", - "id": 75698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18705:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18691:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18708:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18691:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18655:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18723:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18655:76:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18573:158:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75727, - "nodeType": "IfStatement", - "src": "18552:451:173", - "trueBody": { - "id": 75726, - "nodeType": "Block", - "src": "18746:257:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75705, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18814:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18820:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18814:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75709, - "indexExpression": { - "expression": { - "id": 75707, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18833:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18849:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18833:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18814:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18864:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18814:58:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75711, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18894:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18901:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18894:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75714, - "indexExpression": { - "hexValue": "30", - "id": 75713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18908:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18894:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18911:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18894:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18917:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18894:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75722, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75717, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18930:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18937:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18930:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75720, - "indexExpression": { - "hexValue": "30", - "id": 75719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18944:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18930:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18947:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18930:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18894:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18962:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18894:76:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75704, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "18771:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 75724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18771:217:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75725, - "nodeType": "RevertStatement", - "src": "18764:224:173" - } - ] - } - }, - { - "assignments": [ - 75729 - ], - "declarations": [ - { - "constant": false, - "id": 75729, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "19025:9:173", - "nodeType": "VariableDeclaration", - "scope": 75923, - "src": "19017:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75728, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19017:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75733, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75730, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19037:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19043:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "19037:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19037:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19017:32:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75734, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "19067:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75736, - "indexExpression": { - "id": 75735, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "19075:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19067:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75737, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "19089:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19067:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75917, - "nodeType": "Block", - "src": "19194:3322:173", - "statements": [ - { - "assignments": [ - 75750 - ], - "declarations": [ - { - "constant": false, - "id": 75750, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "19238:18:173", - "nodeType": "VariableDeclaration", - "scope": 75917, - "src": "19212:44:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75749, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75748, - "name": "OrderIOCalculation", - "nameLocations": [ - "19212:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "19212:18:173" - }, - "referencedDeclaration": 75005, - "src": "19212:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 75762, - "initialValue": { - "arguments": [ - { - "id": 75752, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19297:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 75753, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "19324:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19340:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "19324:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75755, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "19374:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19390:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "19374:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19425:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19429:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19425:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75759, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "19457:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19473:13:173", - "memberName": "signedContext", - "nodeType": "MemberAccess", - "referencedDeclaration": 77278, - "src": "19457:29:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 75751, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76683, - "src": "19259:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 75761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19259:245:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19212:292:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75763, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "19854:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19873:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "19854:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 75765, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "19883:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19890:14:173", - "memberName": "maximumIORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 77862, - "src": "19883:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19854:50:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "id": 75779, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "20040:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20059:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "20040:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75777, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "20018:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20033:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "20018:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20018:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20073:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20018:56:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75914, - "nodeType": "Block", - "src": "20179:2323:173", - "statements": [ - { - "assignments": [ - 75794 - ], - "declarations": [ - { - "constant": false, - "id": 75794, - "mutability": "mutable", - "name": "takerInputDecimals", - "nameLocation": "20207:18:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "20201:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75793, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "20201:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 75801, - "initialValue": { - "expression": { - "baseExpression": { - "expression": { - "id": 75795, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "20228:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20234:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "20228:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75799, - "indexExpression": { - "expression": { - "id": 75797, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "20247:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20263:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "20247:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20228:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20278:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "20228:58:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20201:85:173" - }, - { - "assignments": [ - 75804 - ], - "declarations": [ - { - "constant": false, - "id": 75804, - "mutability": "mutable", - "name": "takerInput18", - "nameLocation": "20397:12:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "20383:26:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 75803, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75802, - "name": "Input18Amount", - "nameLocations": [ - "20383:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "20383:13:173" - }, - "referencedDeclaration": 75009, - "src": "20383:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75813, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75809, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "20453:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20472:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "20453:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75807, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "20431:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20446:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "20431:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20431:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75805, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "20412:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20426:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20412:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 75812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20412:71:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20383:100:173" - }, - { - "id": 75841, - "nodeType": "Block", - "src": "20784:506:173", - "statements": [ - { - "assignments": [ - 75816 - ], - "declarations": [ - { - "constant": false, - "id": 75816, - "mutability": "mutable", - "name": "remainingTakerInput18", - "nameLocation": "20929:21:173", - "nodeType": "VariableDeclaration", - "scope": 75841, - "src": "20915:35:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 75815, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75814, - "name": "Input18Amount", - "nameLocations": [ - "20915:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "20915:13:173" - }, - "referencedDeclaration": 75009, - "src": "20915:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75825, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 75821, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75794, - "src": "21028:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75822, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71279, - "src": "21048:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75819, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "21000:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21020:7:173", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 71591, - "src": "21000:27:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21000:62:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75817, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "20981:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20995:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20981:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 75824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20981:82:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20915:148:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75828, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "21114:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75826, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "21093:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21107:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21093:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21093:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 75832, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75816, - "src": "21151:21:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75830, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "21130:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21144:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21130:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21130:43:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21093:80:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75840, - "nodeType": "IfStatement", - "src": "21089:179:173", - "trueBody": { - "id": 75839, - "nodeType": "Block", - "src": "21175:93:173", - "statements": [ - { - "expression": { - "id": 75837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75835, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "21205:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75836, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75816, - "src": "21220:21:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "src": "21205:36:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "id": 75838, - "nodeType": "ExpressionStatement", - "src": "21205:36:173" - } - ] - } - } - ] - }, - { - "assignments": [ - 75843 - ], - "declarations": [ - { - "constant": false, - "id": 75843, - "mutability": "mutable", - "name": "takerOutput", - "nameLocation": "21320:11:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "21312:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21312:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75844, - "nodeType": "VariableDeclarationStatement", - "src": "21312:19:173" - }, - { - "id": 75879, - "nodeType": "Block", - "src": "21353:724:173", - "statements": [ - { - "assignments": [ - 75847 - ], - "declarations": [ - { - "constant": false, - "id": 75847, - "mutability": "mutable", - "name": "takerOutput18", - "nameLocation": "21477:13:173", - "nodeType": "VariableDeclaration", - "scope": 75879, - "src": "21462:28:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 75846, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75845, - "name": "Output18Amount", - "nameLocations": [ - "21462:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "21462:14:173" - }, - "referencedDeclaration": 75007, - "src": "21462:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75862, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75855, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "21744:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21763:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "21744:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 75857, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "21772:4:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", - "typeString": "type(library Math)" - } - }, - "id": 75858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21777:8:173", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45957, - "src": "21772:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 75859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21786:2:173", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45955, - "src": "21772:16:173", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 75852, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "21683:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75850, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "21662:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21676:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21662:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21662:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21697:13:173", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 71318, - "src": "21662:48:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 75860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21662:156:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75848, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "21493:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21508:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "21493:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 75861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21493:351:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21462:382:173" - }, - { - "expression": { - "id": 75877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75863, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "21870:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75869, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "21957:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75870, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21963:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "21957:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75873, - "indexExpression": { - "expression": { - "id": 75871, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "21975:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75872, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21991:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "21975:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21957:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22005:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "21957:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75875, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71273, - "src": "22015:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75866, - "name": "takerOutput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75847, - "src": "21906:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75864, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "21884:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21899:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21884:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21884:36:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21921:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "21884:43:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21884:170:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21870:184:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75878, - "nodeType": "ExpressionStatement", - "src": "21870:184:173" - } - ] - }, - { - "assignments": [ - 75881 - ], - "declarations": [ - { - "constant": false, - "id": 75881, - "mutability": "mutable", - "name": "takerInput", - "nameLocation": "22107:10:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "22099:18:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22099:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75890, - "initialValue": { - "arguments": [ - { - "id": 75887, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75794, - "src": "22162:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75888, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71279, - "src": "22182:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75884, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "22141:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75882, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "22120:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22134:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "22120:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22120:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22155:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "22120:41:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22120:76:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22099:97:173" - }, - { - "expression": { - "id": 75893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75891, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "22219:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 75892, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75881, - "src": "22242:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22219:33:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75894, - "nodeType": "ExpressionStatement", - "src": "22219:33:173" - }, - { - "expression": { - "id": 75897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75895, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "22274:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75896, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "22294:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22274:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75898, - "nodeType": "ExpressionStatement", - "src": "22274:31:173" - }, - { - "expression": { - "arguments": [ - { - "id": 75900, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "22342:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75901, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "22349:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75902, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75881, - "src": "22362:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75903, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "22374:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75899, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76860, - "src": "22328:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 75904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22328:65:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75905, - "nodeType": "ExpressionStatement", - "src": "22328:65:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75907, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22430:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22434:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "22430:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75909, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "22442:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - { - "id": 75910, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75881, - "src": "22459:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75911, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "22471:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75906, - "name": "TakeOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77971, - "src": "22420:9:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77279_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" - } - }, - "id": 75912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22420:63:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75913, - "nodeType": "EmitStatement", - "src": "22415:68:173" - } - ] - }, - "id": 75915, - "nodeType": "IfStatement", - "src": "20014:2488:173", - "trueBody": { - "id": 75792, - "nodeType": "Block", - "src": "20076:97:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75785, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20119:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20123:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "20119:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75787, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "20131:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20137:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "20131:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75789, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "20144:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75784, - "name": "OrderZeroAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77989, - "src": "20103:15:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20103:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75791, - "nodeType": "EmitStatement", - "src": "20098:56:173" - } - ] - } - }, - "id": 75916, - "nodeType": "IfStatement", - "src": "19850:2652:173", - "trueBody": { - "id": 75776, - "nodeType": "Block", - "src": "19906:102:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75769, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19954:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19958:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19954:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75771, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19966:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19972:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "19966:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75773, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "19979:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75768, - "name": "OrderExceedsMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77998, - "src": "19933:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19933:56:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75775, - "nodeType": "EmitStatement", - "src": "19928:61:173" - } - ] - } - } - ] - }, - "id": 75918, - "nodeType": "IfStatement", - "src": "19063:3453:173", - "trueBody": { - "id": 75747, - "nodeType": "Block", - "src": "19101:87:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75740, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19138:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19142:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19138:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75742, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19150:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19156:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "19150:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75744, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "19163:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75739, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77980, - "src": "19124:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19124:49:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75746, - "nodeType": "EmitStatement", - "src": "19119:54:173" - } - ] - } - }, - { - "id": 75922, - "nodeType": "UncheckedBlock", - "src": "22530:46:173", - "statements": [ - { - "expression": { - "id": 75920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "22558:3:173", - "subExpression": { - "id": 75919, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75515, - "src": "22558:1:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75921, - "nodeType": "ExpressionStatement", - "src": "22558:3:173" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75531, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75515, - "src": "16818:1:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "id": 75532, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16822:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16829:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "16822:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16836:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16822:20:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16818:24:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75536, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "16846:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16868:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16846:23:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16818:51:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75924, - "nodeType": "WhileStatement", - "src": "16811:5775:173" - }, - { - "expression": { - "id": 75930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75925, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "22595:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75926, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "22613:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22620:12:173", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77860, - "src": "22613:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75928, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "22635:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22613:41:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22595:59:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75931, - "nodeType": "ExpressionStatement", - "src": "22595:59:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75932, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "22669:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 75933, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "22687:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22694:12:173", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77858, - "src": "22687:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22669:37:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75943, - "nodeType": "IfStatement", - "src": "22665:125:173", - "trueBody": { - "id": 75942, - "nodeType": "Block", - "src": "22708:82:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75937, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "22742:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22749:12:173", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77858, - "src": "22742:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75939, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "22763:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75936, - "name": "MinimumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74884, - "src": "22729:12:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 75940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22729:50:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75941, - "nodeType": "RevertStatement", - "src": "22722:57:173" - } - ] - } - }, - { - "assignments": [ - 75945 - ], - "declarations": [ - { - "constant": false, - "id": 75945, - "mutability": "mutable", - "name": "takerInputAmountSent", - "nameLocation": "23580:20:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "23572:28:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23572:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75964, - "initialValue": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75947, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23648:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23655:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23648:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75950, - "indexExpression": { - "hexValue": "30", - "id": 75949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23662:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23648:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23665:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "23648:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23671:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "23648:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75958, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75953, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23684:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23691:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23684:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75956, - "indexExpression": { - "hexValue": "30", - "id": 75955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23698:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23684:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23701:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "23684:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23648:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23716:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23648:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75960, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23723:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23727:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23723:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75962, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "23735:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75946, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74380, - "src": "23603:31:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) returns (uint256)" - } - }, - "id": 75963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23603:157:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23572:188:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75965, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23774:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23781:4:173", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 77868, - "src": "23774:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 75967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23786:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "23774:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23795:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23774:22:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76008, - "nodeType": "IfStatement", - "src": "23770:395:173", - "trueBody": { - "id": 76007, - "nodeType": "Block", - "src": "23798:367:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75975, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23877:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23884:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23877:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75978, - "indexExpression": { - "hexValue": "30", - "id": 75977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23891:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23877:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23894:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "23877:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23900:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "23877:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75986, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75981, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23913:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23920:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23913:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75984, - "indexExpression": { - "hexValue": "30", - "id": 75983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23927:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23913:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23930:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "23913:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23877:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23945:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23877:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75988, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23968:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23975:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23968:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75991, - "indexExpression": { - "hexValue": "30", - "id": 75990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23982:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23968:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23985:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "23968:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23991:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "23968:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75999, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75994, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24003:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24010:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "24003:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75997, - "indexExpression": { - "hexValue": "30", - "id": 75996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24017:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24003:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24020:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "24003:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23968:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24034:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23968:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76001, - "name": "takerInputAmountSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75945, - "src": "24057:20:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76002, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "24095:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76003, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24129:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24136:4:173", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 77868, - "src": "24129:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 75971, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23835:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23839:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23835:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75970, - "name": "IOrderBookV3OrderTaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78143, - "src": "23812:22:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$78143_$", - "typeString": "type(contract IOrderBookV3OrderTaker)" - } - }, - "id": 75973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23812:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$78143", - "typeString": "contract IOrderBookV3OrderTaker" - } - }, - "id": 75974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23847:12:173", - "memberName": "onTakeOrders", - "nodeType": "MemberAccess", - "referencedDeclaration": 78142, - "src": "23812:47:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external" - } - }, - "id": 76005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23812:342:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76006, - "nodeType": "ExpressionStatement", - "src": "23812:342:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76009, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "24179:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24198:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24179:20:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76038, - "nodeType": "IfStatement", - "src": "24175:469:173", - "trueBody": { - "id": 76037, - "nodeType": "Block", - "src": "24201:443:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76028, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24576:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24580:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "24576:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76032, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24596:4:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - ], - "id": 76031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24588:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76030, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24588:7:173", - "typeDescriptions": {} - } - }, - "id": 76033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24588:13:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76034, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "24603:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76013, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24469:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24476:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "24469:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 76016, - "indexExpression": { - "hexValue": "30", - "id": 76015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24483:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24469:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 76017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24486:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "24469:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 76018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24492:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "24469:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76024, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76019, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24504:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24511:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "24504:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 76022, - "indexExpression": { - "hexValue": "30", - "id": 76021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24518:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24504:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 76023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24521:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "24504:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24469:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24535:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "24469:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76012, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "24462:6:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 76026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24462:79:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 76027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24542:16:173", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44497, - "src": "24462:96:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 76035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24462:171:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76036, - "nodeType": "ExpressionStatement", - "src": "24462:171:173" - } - ] - } - } - ] - }, - "baseFunctions": [ - 78089 - ], - "documentation": { - "id": 75492, - "nodeType": "StructuredDocumentation", - "src": "16360:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "8a44689c", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75498, - "kind": "modifierInvocation", - "modifierName": { - "id": 75497, - "name": "nonReentrant", - "nameLocations": [ - "16474:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "16474:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "16474:12:173" - } - ], - "name": "takeOrders", - "nameLocation": "16402:10:173", - "parameters": { - "id": 75496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75495, - "mutability": "mutable", - "name": "config", - "nameLocation": "16441:6:173", - "nodeType": "VariableDeclaration", - "scope": 76040, - "src": "16413:34:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2" - }, - "typeName": { - "id": 75494, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75493, - "name": "TakeOrdersConfigV2", - "nameLocations": [ - "16413:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77869, - "src": "16413:18:173" - }, - "referencedDeclaration": 77869, - "src": "16413:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_storage_ptr", - "typeString": "struct TakeOrdersConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "16412:36:173" - }, - "returnParameters": { - "id": 75503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75500, - "mutability": "mutable", - "name": "totalTakerInput", - "nameLocation": "16512:15:173", - "nodeType": "VariableDeclaration", - "scope": 76040, - "src": "16504:23:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16504:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75502, - "mutability": "mutable", - "name": "totalTakerOutput", - "nameLocation": "16537:16:173", - "nodeType": "VariableDeclaration", - "scope": 76040, - "src": "16529:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16529:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16503:51:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76366, - "nodeType": "FunctionDefinition", - "src": "24689:4247:173", - "nodes": [], - "body": { - "id": 76365, - "nodeType": "Block", - "src": "24932:4004:173", - "nodes": [], - "statements": [ - { - "id": 76243, - "nodeType": "Block", - "src": "24942:2410:173", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76063, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "24960:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76064, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24966:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "24960:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 76065, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "24975:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24979:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "24975:9:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24960:24:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76074, - "nodeType": "IfStatement", - "src": "24956:92:173", - "trueBody": { - "id": 76073, - "nodeType": "Block", - "src": "24986:62:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 76069, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25021:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25027:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "25021:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76068, - "name": "SameOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74889, - "src": "25011:9:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 76071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25011:22:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76072, - "nodeType": "RevertStatement", - "src": "25004:29:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76075, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25082:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25088:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25082:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76079, - "indexExpression": { - "expression": { - "id": 76077, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25101:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25113:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25101:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25082:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25133:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25082:56:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76081, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25162:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76082, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25166:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25162:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76085, - "indexExpression": { - "expression": { - "id": 76083, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25178:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25190:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25178:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25162:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76086, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25207:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25162:50:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "25082:130:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76104, - "nodeType": "IfStatement", - "src": "25061:387:173", - "trueBody": { - "id": 76103, - "nodeType": "Block", - "src": "25227:221:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76089, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25287:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25293:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25287:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76093, - "indexExpression": { - "expression": { - "id": 76091, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25306:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25318:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25306:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25287:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76094, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25338:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25287:56:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76095, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25365:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25369:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25365:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76099, - "indexExpression": { - "expression": { - "id": 76097, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25381:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25393:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25381:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25365:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25410:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25365:50:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76088, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25252:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25252:181:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76102, - "nodeType": "RevertStatement", - "src": "25245:188:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 76117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76105, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25483:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25489:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25483:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76109, - "indexExpression": { - "expression": { - "id": 76107, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25502:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25514:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25502:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25483:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25534:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25483:59:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76111, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25566:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25570:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25566:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76115, - "indexExpression": { - "expression": { - "id": 76113, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25582:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25594:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25582:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25566:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25611:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25566:53:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "25483:136:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76134, - "nodeType": "IfStatement", - "src": "25462:407:173", - "trueBody": { - "id": 76133, - "nodeType": "Block", - "src": "25634:235:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76119, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25702:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25708:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25702:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76123, - "indexExpression": { - "expression": { - "id": 76121, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25721:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25733:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25721:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25702:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25753:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25702:59:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76125, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25783:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25787:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25783:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76129, - "indexExpression": { - "expression": { - "id": 76127, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25799:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25811:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25799:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25783:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25828:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25783:53:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 76118, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "25659:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 76131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25659:195:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76132, - "nodeType": "RevertStatement", - "src": "25652:202:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76135, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25904:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76136, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25908:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25904:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76139, - "indexExpression": { - "expression": { - "id": 76137, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25921:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25933:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "25921:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25904:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76140, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25951:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25904:52:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76141, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25980:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25986:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25980:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76145, - "indexExpression": { - "expression": { - "id": 76143, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25998:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26010:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "25998:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25980:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26029:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25980:54:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "25904:130:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76164, - "nodeType": "IfStatement", - "src": "25883:387:173", - "trueBody": { - "id": 76163, - "nodeType": "Block", - "src": "26049:221:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76149, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26109:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26115:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "26109:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76153, - "indexExpression": { - "expression": { - "id": 76151, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26127:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26139:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "26127:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26109:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26158:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26109:54:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76155, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "26185:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26189:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26185:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76159, - "indexExpression": { - "expression": { - "id": 76157, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26202:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26214:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "26202:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26185:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76160, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26232:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26185:52:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76148, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26074:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26074:181:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76162, - "nodeType": "RevertStatement", - "src": "26067:188:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 76177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76165, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "26305:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26309:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26305:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76169, - "indexExpression": { - "expression": { - "id": 76167, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26322:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26334:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "26322:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26305:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76170, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26352:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26305:55:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76171, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26384:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76172, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26390:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "26384:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76175, - "indexExpression": { - "expression": { - "id": 76173, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26402:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26414:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "26402:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26384:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26433:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26384:57:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "26305:136:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76194, - "nodeType": "IfStatement", - "src": "26284:407:173", - "trueBody": { - "id": 76193, - "nodeType": "Block", - "src": "26456:235:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76179, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26524:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76180, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26530:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "26524:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76183, - "indexExpression": { - "expression": { - "id": 76181, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26542:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26554:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "26542:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26524:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76184, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26573:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26524:57:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76185, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "26603:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76186, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26607:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26603:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76189, - "indexExpression": { - "expression": { - "id": 76187, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26620:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26632:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "26620:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26603:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26650:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26603:55:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 76178, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "26481:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 76191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26481:195:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76192, - "nodeType": "RevertStatement", - "src": "26474:202:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76195, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "26916:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76199, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76196, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26924:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26930:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "26924:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26924:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26916:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76200, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "26941:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26916:35:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76214, - "nodeType": "IfStatement", - "src": "26912:155:173", - "trueBody": { - "id": 76213, - "nodeType": "Block", - "src": "26953:114:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76203, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "26990:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26994:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "26990:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76205, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27002:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27008:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27002:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76207, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27015:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27021:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "27015:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27015:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76202, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77980, - "src": "26976:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26976:52:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76211, - "nodeType": "EmitStatement", - "src": "26971:57:173" - }, - { - "functionReturnParameters": 76062, - "id": 76212, - "nodeType": "Return", - "src": "27046:7:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76215, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "27084:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76219, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76216, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27092:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76217, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27096:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "27092:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27092:10:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27084:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76220, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "27107:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27084:33:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76234, - "nodeType": "IfStatement", - "src": "27080:149:173", - "trueBody": { - "id": 76233, - "nodeType": "Block", - "src": "27119:110:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27156:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27160:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27156:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76225, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27168:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27172:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27168:9:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76227, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27179:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76228, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27183:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "27179:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27179:10:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76222, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77980, - "src": "27142:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27142:48:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76231, - "nodeType": "EmitStatement", - "src": "27137:53:173" - }, - { - "functionReturnParameters": 76062, - "id": 76232, - "nodeType": "Return", - "src": "27208:7:173" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27305:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27309:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27305:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76238, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27317:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 76239, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27324:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 76240, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27329:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - ], - "id": 76235, - "name": "Clear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78012, - "src": "27299:5:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_ClearConfig_$77292_memory_ptr_$returns$__$", - "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" - } - }, - "id": 76241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27299:42:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76242, - "nodeType": "EmitStatement", - "src": "27294:47:173" - } - ] - }, - { - "assignments": [ - 76246 - ], - "declarations": [ - { - "constant": false, - "id": 76246, - "mutability": "mutable", - "name": "aliceOrderIOCalculation_", - "nameLocation": "27387:24:173", - "nodeType": "VariableDeclaration", - "scope": 76365, - "src": "27361:50:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76245, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76244, - "name": "OrderIOCalculation", - "nameLocations": [ - "27361:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "27361:18:173" - }, - "referencedDeclaration": 75005, - "src": "27361:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 76257, - "initialValue": { - "arguments": [ - { - "id": 76248, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27444:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76249, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27451:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27463:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "27451:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76251, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27482:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27494:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "27482:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76253, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27514:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27518:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27514:9:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76255, - "name": "bobSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76058, - "src": "27525:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 76247, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76683, - "src": "27414:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 76256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27414:137:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27361:190:173" - }, - { - "assignments": [ - 76260 - ], - "declarations": [ - { - "constant": false, - "id": 76260, - "mutability": "mutable", - "name": "bobOrderIOCalculation_", - "nameLocation": "27587:22:173", - "nodeType": "VariableDeclaration", - "scope": 76365, - "src": "27561:48:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76259, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76258, - "name": "OrderIOCalculation", - "nameLocations": [ - "27561:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "27561:18:173" - }, - "referencedDeclaration": 75005, - "src": "27561:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 76271, - "initialValue": { - "arguments": [ - { - "id": 76262, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27642:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76263, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27647:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27659:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "27647:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76265, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27676:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27688:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "27676:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76267, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27706:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27712:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27706:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76269, - "name": "aliceSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76054, - "src": "27719:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 76261, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76683, - "src": "27612:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 76270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27612:135:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27561:186:173" - }, - { - "assignments": [ - 76274 - ], - "declarations": [ - { - "constant": false, - "id": 76274, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "27781:16:173", - "nodeType": "VariableDeclaration", - "scope": 76365, - "src": "27757:40:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 76273, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76272, - "name": "ClearStateChange", - "nameLocations": [ - "27757:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77301, - "src": "27757:16:173" - }, - "referencedDeclaration": 77301, - "src": "27757:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "id": 76279, - "initialValue": { - "arguments": [ - { - "id": 76276, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76246, - "src": "27838:24:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 76277, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76260, - "src": "27864:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76275, - "name": "calculateClearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76886, - "src": "27812:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$_t_struct$_ClearStateChange_$77301_memory_ptr_$", - "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" - } - }, - "id": 76278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27812:75:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27757:130:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76281, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27912:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76282, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "27919:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27936:10:173", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77298, - "src": "27919:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76284, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "27948:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27965:11:173", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77294, - "src": "27948:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76286, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76246, - "src": "27978:24:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76280, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76860, - "src": "27898:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 76287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27898:105:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76288, - "nodeType": "ExpressionStatement", - "src": "27898:105:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76290, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "28027:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76291, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28032:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76292, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28049:8:173", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77300, - "src": "28032:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76293, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28059:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28076:9:173", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77296, - "src": "28059:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76295, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76260, - "src": "28087:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76289, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76860, - "src": "28013:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 76296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28013:97:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76297, - "nodeType": "ExpressionStatement", - "src": "28013:97:173" - }, - { - "id": 76358, - "nodeType": "Block", - "src": "28121:753:173", - "statements": [ - { - "assignments": [ - 76299 - ], - "declarations": [ - { - "constant": false, - "id": 76299, - "mutability": "mutable", - "name": "aliceBounty", - "nameLocation": "28275:11:173", - "nodeType": "VariableDeclaration", - "scope": 76358, - "src": "28267:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28267:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76305, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76300, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28289:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28306:11:173", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77294, - "src": "28289:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 76302, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28320:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28337:8:173", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77300, - "src": "28320:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28289:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28267:78:173" - }, - { - "assignments": [ - 76307 - ], - "declarations": [ - { - "constant": false, - "id": 76307, - "mutability": "mutable", - "name": "bobBounty", - "nameLocation": "28367:9:173", - "nodeType": "VariableDeclaration", - "scope": 76358, - "src": "28359:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28359:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76313, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76308, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28379:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28396:9:173", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77296, - "src": "28379:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 76310, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28408:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28425:10:173", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77298, - "src": "28408:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28379:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28359:76:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76314, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76299, - "src": "28453:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28467:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28453:15:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76335, - "nodeType": "IfStatement", - "src": "28449:206:173", - "trueBody": { - "id": 76334, - "nodeType": "Block", - "src": "28470:185:173", - "statements": [ - { - "expression": { - "id": 76332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76317, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "28488:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76328, - "indexExpression": { - "expression": { - "id": 76318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28503:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28507:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28503:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28488:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76329, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76320, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "28515:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28521:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "28515:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76324, - "indexExpression": { - "expression": { - "id": 76322, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28534:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28546:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "28534:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28515:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28566:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "28515:56:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28488:84:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76330, - "indexExpression": { - "expression": { - "id": 76326, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28573:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28606:18:173", - "memberName": "aliceBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77289, - "src": "28573:51:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "28488:137:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76331, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76299, - "src": "28629:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28488:152:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76333, - "nodeType": "ExpressionStatement", - "src": "28488:152:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76336, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76307, - "src": "28672:9:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28684:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28672:13:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76357, - "nodeType": "IfStatement", - "src": "28668:196:173", - "trueBody": { - "id": 76356, - "nodeType": "Block", - "src": "28687:177:173", - "statements": [ - { - "expression": { - "id": 76354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76339, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "28705:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76350, - "indexExpression": { - "expression": { - "id": 76340, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28720:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28724:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28720:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28705:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76351, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76342, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "28732:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76343, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28736:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "28732:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76346, - "indexExpression": { - "expression": { - "id": 76344, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28749:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28761:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "28749:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28732:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76347, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28779:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "28732:52:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28705:80:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76352, - "indexExpression": { - "expression": { - "id": 76348, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28786:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28819:16:173", - "memberName": "bobBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77291, - "src": "28786:49:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "28705:131:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76353, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76307, - "src": "28840:9:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28705:144:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76355, - "nodeType": "ExpressionStatement", - "src": "28705:144:173" - } - ] - } - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76360, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28900:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28904:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28900:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76362, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28912:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - ], - "id": 76359, - "name": "AfterClear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78020, - "src": "28889:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77301_memory_ptr_$returns$__$", - "typeString": "function (address,struct ClearStateChange memory)" - } - }, - "id": 76363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28889:40:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76364, - "nodeType": "EmitStatement", - "src": "28884:45:173" - } - ] - }, - "baseFunctions": [ - 78110 - ], - "documentation": { - "id": 76041, - "nodeType": "StructuredDocumentation", - "src": "24656:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "9e18968b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76061, - "kind": "modifierInvocation", - "modifierName": { - "id": 76060, - "name": "nonReentrant", - "nameLocations": [ - "24919:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "24919:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "24919:12:173" - } - ], - "name": "clear", - "nameLocation": "24698:5:173", - "parameters": { - "id": 76059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76044, - "mutability": "mutable", - "name": "alice", - "nameLocation": "24726:5:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24713:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76043, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76042, - "name": "Order", - "nameLocations": [ - "24713:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "24713:5:173" - }, - "referencedDeclaration": 77252, - "src": "24713:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76047, - "mutability": "mutable", - "name": "bob", - "nameLocation": "24754:3:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24741:16:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76046, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76045, - "name": "Order", - "nameLocations": [ - "24741:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "24741:5:173" - }, - "referencedDeclaration": 77252, - "src": "24741:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76050, - "mutability": "mutable", - "name": "clearConfig", - "nameLocation": "24788:11:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24767:32:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 76049, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76048, - "name": "ClearConfig", - "nameLocations": [ - "24767:11:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77292, - "src": "24767:11:173" - }, - "referencedDeclaration": 77292, - "src": "24767:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76054, - "mutability": "mutable", - "name": "aliceSignedContext", - "nameLocation": "24834:18:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24809:43:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 76052, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76051, - "name": "SignedContextV1", - "nameLocations": [ - "24809:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56240, - "src": "24809:15:173" - }, - "referencedDeclaration": 56240, - "src": "24809:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 76053, - "nodeType": "ArrayTypeName", - "src": "24809:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76058, - "mutability": "mutable", - "name": "bobSignedContext", - "nameLocation": "24887:16:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24862:41:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 76056, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76055, - "name": "SignedContextV1", - "nameLocations": [ - "24862:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56240, - "src": "24862:15:173" - }, - "referencedDeclaration": 56240, - "src": "24862:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 76057, - "nodeType": "ArrayTypeName", - "src": "24862:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "24703:206:173" - }, - "returnParameters": { - "id": 76062, - "nodeType": "ParameterList", - "parameters": [], - "src": "24932:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76683, - "nodeType": "FunctionDefinition", - "src": "29640:5114:173", - "nodes": [], - "body": { - "id": 76682, - "nodeType": "Block", - "src": "29889:4865:173", - "nodes": [], - "statements": [ - { - "id": 76681, - "nodeType": "UncheckedBlock", - "src": "29899:4849:173", - "statements": [ - { - "assignments": [ - 76387 - ], - "declarations": [ - { - "constant": false, - "id": 76387, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "29931:9:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "29923:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76386, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "29923:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 76391, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76388, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "29943:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76389, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29949:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "29943:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29943:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29923:32:173" - }, - { - "assignments": [ - 76397 - ], - "declarations": [ - { - "constant": false, - "id": 76397, - "mutability": "mutable", - "name": "context", - "nameLocation": "29989:7:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "29970:26:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 76394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29970:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76395, - "nodeType": "ArrayTypeName", - "src": "29970:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76396, - "nodeType": "ArrayTypeName", - "src": "29970:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 76398, - "nodeType": "VariableDeclarationStatement", - "src": "29970:26:173" - }, - { - "id": 76545, - "nodeType": "Block", - "src": "30010:1540:173", - "statements": [ - { - "assignments": [ - 76404 - ], - "declarations": [ - { - "constant": false, - "id": 76404, - "mutability": "mutable", - "name": "callingContext", - "nameLocation": "30047:14:173", - "nodeType": "VariableDeclaration", - "scope": 76545, - "src": "30028:33:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 76401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30028:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76402, - "nodeType": "ArrayTypeName", - "src": "30028:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76403, - "nodeType": "ArrayTypeName", - "src": "30028:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 76411, - "initialValue": { - "arguments": [ - { - "id": 76409, - "name": "CALLING_CONTEXT_COLUMNS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74933, - "src": "30101:23:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "30064:15:173", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 76405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30068:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76406, - "nodeType": "ArrayTypeName", - "src": "30068:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76407, - "nodeType": "ArrayTypeName", - "src": "30068:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - } - }, - "id": 76410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30064:78:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30028:114:173" - }, - { - "expression": { - "id": 76439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76412, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "30160:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76416, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 76413, - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74941, - "src": "30175:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30208:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30175:34:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30160:50:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 76421, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76387, - "src": "30268:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30260:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76419, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30260:7:173", - "typeDescriptions": {} - } - }, - "id": 76422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30260:18:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76427, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30296:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30302:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "30296:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30288:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76425, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30288:7:173", - "typeDescriptions": {} - } - }, - "id": 76429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30288:20:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30280:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30280:7:173", - "typeDescriptions": {} - } - }, - "id": 76430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30280:29:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 76435, - "name": "counterparty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76376, - "src": "30327:12:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30319:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76433, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30319:7:173", - "typeDescriptions": {} - } - }, - "id": 76436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30319:21:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30311:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76431, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30311:7:173", - "typeDescriptions": {} - } - }, - "id": 76437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30311:30:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76417, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "30213:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30229:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72588, - "src": "30213:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30213:146:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30160:199:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76440, - "nodeType": "ExpressionStatement", - "src": "30160:199:173" - }, - { - "expression": { - "id": 76487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76441, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "30378:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76445, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 76442, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "30393:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30423:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30393:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30378:47:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76452, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30491:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30497:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30491:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76455, - "indexExpression": { - "id": 76454, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30509:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30491:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76456, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30523:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30491:37:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30483:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76450, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30483:7:173", - "typeDescriptions": {} - } - }, - "id": 76457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30483:46:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30475:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30475:7:173", - "typeDescriptions": {} - } - }, - "id": 76458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30475:55:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76459, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30552:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30558:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30552:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76462, - "indexExpression": { - "id": 76461, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30570:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30552:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30584:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "30552:40:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76464, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30614:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30620:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30614:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76467, - "indexExpression": { - "id": 76466, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30632:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30614:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30646:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "30614:39:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76469, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "30675:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76472, - "indexExpression": { - "expression": { - "id": 76470, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30690:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30696:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "30690:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30675:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76478, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76473, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30703:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76474, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30709:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30703:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76476, - "indexExpression": { - "id": 76475, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30721:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30703:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76477, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30735:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30703:37:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30675:66:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76484, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76479, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30742:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76480, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30748:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30742:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76482, - "indexExpression": { - "id": 76481, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30760:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30742:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30799:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "30742:64:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30675:132:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30885:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 76446, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "30428:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30444:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72624, - "src": "30428:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30428:476:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30378:526:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76488, - "nodeType": "ExpressionStatement", - "src": "30378:526:173" - }, - { - "expression": { - "id": 76535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76489, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "30923:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76493, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 76490, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "30938:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30969:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30938:32:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30923:48:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76500, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31037:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31043:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31037:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76503, - "indexExpression": { - "id": 76502, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31056:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31037:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76504, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31071:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "31037:39:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31029:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76498, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "31029:7:173", - "typeDescriptions": {} - } - }, - "id": 76505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31029:48:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31021:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76496, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31021:7:173", - "typeDescriptions": {} - } - }, - "id": 76506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31021:57:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76507, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31100:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76508, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31106:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31100:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76510, - "indexExpression": { - "id": 76509, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31119:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31100:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31134:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "31100:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76512, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31164:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76513, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31170:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31164:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76515, - "indexExpression": { - "id": 76514, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31183:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31164:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31198:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31164:41:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76517, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "31227:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76520, - "indexExpression": { - "expression": { - "id": 76518, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31242:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31248:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "31242:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31227:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76526, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76521, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31255:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76522, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31261:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31255:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76524, - "indexExpression": { - "id": 76523, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31274:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31255:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31289:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "31255:39:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31227:68:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76532, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76527, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31296:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31302:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31296:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76530, - "indexExpression": { - "id": 76529, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31315:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31296:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31355:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31296:66:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31227:136:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31441:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 76494, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "30974:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30990:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72624, - "src": "30974:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30974:486:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30923:537:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76536, - "nodeType": "ExpressionStatement", - "src": "30923:537:173" - }, - { - "expression": { - "id": 76543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76537, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "31478:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 76540, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "31505:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 76541, - "name": "signedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76380, - "src": "31521:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "expression": { - "id": 76538, - "name": "LibContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57091, - "src": "31488:10:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$57091_$", - "typeString": "type(library LibContext)" - } - }, - "id": 76539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31499:5:173", - "memberName": "build", - "nodeType": "MemberAccess", - "referencedDeclaration": 57090, - "src": "31488:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" - } - }, - "id": 76542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31488:47:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "src": "31478:57:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76544, - "nodeType": "ExpressionStatement", - "src": "31478:57:173" - } - ] - }, - { - "assignments": [ - 76548 - ], - "declarations": [ - { - "constant": false, - "id": 76548, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "31741:9:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "31726:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 76547, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76546, - "name": "StateNamespace", - "nameLocations": [ - "31726:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "31726:14:173" - }, - "referencedDeclaration": 56306, - "src": "31726:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - } - ], - "id": 76560, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76555, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31789:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31795:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "31789:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31781:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76553, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "31781:7:173", - "typeDescriptions": {} - } - }, - "id": 76557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31781:20:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31773:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31773:7:173", - "typeDescriptions": {} - } - }, - "id": 76558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31773:29:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76549, - "name": "StateNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56306, - "src": "31753:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56306_$", - "typeString": "type(StateNamespace)" - } - }, - "id": 76550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "31768:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "31753:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56306_$", - "typeString": "function (uint256) pure returns (StateNamespace)" - } - }, - "id": 76559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31753:50:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31726:77:173" - }, - { - "assignments": [ - 76565, - 76568 - ], - "declarations": [ - { - "constant": false, - "id": 76565, - "mutability": "mutable", - "name": "calculateOrderStack", - "nameLocation": "32162:19:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32145:36:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32145:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76564, - "nodeType": "ArrayTypeName", - "src": "32145:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76568, - "mutability": "mutable", - "name": "calculateOrderKVs", - "nameLocation": "32200:17:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32183:34:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32183:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76567, - "nodeType": "ArrayTypeName", - "src": "32183:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76584, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76573, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32305:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32311:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "32305:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32321:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "32305:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 76576, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76548, - "src": "32328:9:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 76578, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32363:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32369:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "32363:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76580, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32379:10:173", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 57309, - "src": "32363:26:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76577, - "name": "_calculateOrderDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77017, - "src": "32339:23:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 76581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32339:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - { - "id": 76582, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "32392:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76569, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32221:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76570, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32244:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "32221:32:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76571, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32271:11:173", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 57304, - "src": "32221:61:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "id": 76572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32300:4:173", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 56346, - "src": "32221:83:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 76583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32221:179:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32144:256:173" - }, - { - "assignments": [ - 76587 - ], - "declarations": [ - { - "constant": false, - "id": 76587, - "mutability": "mutable", - "name": "orderOutputMax18", - "nameLocation": "32430:16:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32415:31:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76586, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76585, - "name": "Output18Amount", - "nameLocations": [ - "32415:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "32415:14:173" - }, - "referencedDeclaration": 75007, - "src": "32415:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76597, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 76590, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32469:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76595, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76591, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32489:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32509:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "32489:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "32", - "id": 76593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32518:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "32489:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32469:51:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76588, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "32449:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "32464:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "32449:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32449:72:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32415:106:173" - }, - { - "assignments": [ - 76599 - ], - "declarations": [ - { - "constant": false, - "id": 76599, - "mutability": "mutable", - "name": "orderIORatio", - "nameLocation": "32543:12:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32535:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32535:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76606, - "initialValue": { - "baseExpression": { - "id": 76600, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32558:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76605, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76601, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32578:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32598:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "32578:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32607:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "32578:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32558:51:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32535:74:173" - }, - { - "id": 76657, - "nodeType": "Block", - "src": "32624:1718:173", - "statements": [ - { - "assignments": [ - 76608 - ], - "declarations": [ - { - "constant": false, - "id": 76608, - "mutability": "mutable", - "name": "ownerVaultBalance", - "nameLocation": "32786:17:173", - "nodeType": "VariableDeclaration", - "scope": 76657, - "src": "32778:25:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32778:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76625, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76609, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "32806:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76612, - "indexExpression": { - "expression": { - "id": 76610, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32821:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32827:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "32821:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32806:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76618, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76613, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32834:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32840:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "32834:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76616, - "indexExpression": { - "id": 76615, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "32853:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32834:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32868:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "32834:39:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32806:68:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76624, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76619, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32875:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32902:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "32875:39:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76622, - "indexExpression": { - "id": 76621, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "32915:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32875:54:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32930:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "32875:62:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32806:132:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32778:160:173" - }, - { - "assignments": [ - 76628 - ], - "declarations": [ - { - "constant": false, - "id": 76628, - "mutability": "mutable", - "name": "ownerVaultBalance18", - "nameLocation": "34006:19:173", - "nodeType": "VariableDeclaration", - "scope": 76657, - "src": "33991:34:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76627, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76626, - "name": "Output18Amount", - "nameLocations": [ - "33991:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "33991:14:173" - }, - "referencedDeclaration": 75007, - "src": "33991:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76641, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76633, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "34094:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34100:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "34094:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76636, - "indexExpression": { - "id": 76635, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "34113:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34094:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34128:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "34094:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 76638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34138:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 76631, - "name": "ownerVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76608, - "src": "34068:17:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34086:7:173", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 71591, - "src": "34068:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 76639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34068:72:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76629, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34048:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34063:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "34048:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34048:93:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33991:150:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 76644, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34185:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76642, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34163:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34178:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34163:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34163:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 76648, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76628, - "src": "34227:19:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76646, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34205:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34220:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34205:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34205:42:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34163:84:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76656, - "nodeType": "IfStatement", - "src": "34159:169:173", - "trueBody": { - "id": 76655, - "nodeType": "Block", - "src": "34249:79:173", - "statements": [ - { - "expression": { - "id": 76653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76651, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34271:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76652, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76628, - "src": "34290:19:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "src": "34271:38:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "id": 76654, - "nodeType": "ExpressionStatement", - "src": "34271:38:173" - } - ] - } - } - ] - }, - { - "expression": { - "id": 76669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76658, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "34439:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76660, - "indexExpression": { - "id": 76659, - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74945, - "src": "34447:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "34439:36:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 76665, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34542:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76663, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34520:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34535:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34520:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34520:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76667, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "34561:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76661, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "34494:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34510:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72573, - "src": "34494:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34494:80:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "34439:135:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76670, - "nodeType": "ExpressionStatement", - "src": "34439:135:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76672, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "34632:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 76673, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "34639:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76674, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34654:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - { - "id": 76675, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "34672:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76676, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "34686:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 76677, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76548, - "src": "34695:9:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "id": 76678, - "name": "calculateOrderKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76568, - "src": "34706:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 76671, - "name": "OrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "34596:18:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$75005_storage_ptr_$", - "typeString": "type(struct OrderIOCalculation storage pointer)" - } - }, - "id": 76679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34596:141:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "functionReturnParameters": 76385, - "id": 76680, - "nodeType": "Return", - "src": "34589:148:173" - } - ] - } - ] - }, - "documentation": { - "id": 76367, - "nodeType": "StructuredDocumentation", - "src": "28942:693:173", - "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateOrderIO", - "nameLocation": "29649:16:173", - "parameters": { - "id": 76381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76370, - "mutability": "mutable", - "name": "order", - "nameLocation": "29688:5:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29675:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76368, - "name": "Order", - "nameLocations": [ - "29675:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "29675:5:173" - }, - "referencedDeclaration": 77252, - "src": "29675:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76372, - "mutability": "mutable", - "name": "inputIOIndex", - "nameLocation": "29711:12:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29703:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29703:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76374, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "29741:13:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29733:21:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29733:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76376, - "mutability": "mutable", - "name": "counterparty", - "nameLocation": "29772:12:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29764:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29764:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76380, - "mutability": "mutable", - "name": "signedContext", - "nameLocation": "29819:13:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29794:38:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 76378, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76377, - "name": "SignedContextV1", - "nameLocations": [ - "29794:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56240, - "src": "29794:15:173" - }, - "referencedDeclaration": 56240, - "src": "29794:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 76379, - "nodeType": "ArrayTypeName", - "src": "29794:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "29665:173:173" - }, - "returnParameters": { - "id": 76385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76384, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29862:25:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76383, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76382, - "name": "OrderIOCalculation", - "nameLocations": [ - "29862:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "29862:18:173" - }, - "referencedDeclaration": 75005, - "src": "29862:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "29861:27:173" - }, - "scope": 77034, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76860, - "nodeType": "FunctionDefinition", - "src": "35328:3665:173", - "nodes": [], - "body": { - "id": 76859, - "nodeType": "Block", - "src": "35495:3498:173", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76697, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35505:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35524:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35505:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76702, - "indexExpression": { - "id": 76699, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "35532:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35505:55:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76703, - "indexExpression": { - "id": 76700, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74973, - "src": "35561:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35505:86:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76704, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76689, - "src": "35594:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35505:94:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76706, - "nodeType": "ExpressionStatement", - "src": "35505:94:173" - }, - { - "expression": { - "id": 76715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76707, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35609:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35628:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35609:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76712, - "indexExpression": { - "id": 76709, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "35636:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35609:56:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76713, - "indexExpression": { - "id": 76710, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74973, - "src": "35666:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35609:87:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76714, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76691, - "src": "35699:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35609:96:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76716, - "nodeType": "ExpressionStatement", - "src": "35609:96:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76717, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76689, - "src": "35720:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35728:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35720:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76748, - "nodeType": "IfStatement", - "src": "35716:360:173", - "trueBody": { - "id": 76747, - "nodeType": "Block", - "src": "35731:345:173", - "statements": [ - { - "expression": { - "id": 76745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76720, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "35816:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76741, - "indexExpression": { - "expression": { - "id": 76721, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "35831:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35837:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "35831:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35816:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76742, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76727, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35877:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35896:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35877:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76730, - "indexExpression": { - "id": 76729, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "35904:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35877:55:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76732, - "indexExpression": { - "id": 76731, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74957, - "src": "35933:22:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35877:79:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35869:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76725, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "35869:7:173", - "typeDescriptions": {} - } - }, - "id": 76733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35869:88:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35844:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "35844:7:173", - "typeDescriptions": {} - } - }, - "id": 76734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35844:127:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35816:156:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76743, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76735, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35973:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76736, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35992:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35973:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76738, - "indexExpression": { - "id": 76737, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "36000:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35973:55:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76740, - "indexExpression": { - "id": 76739, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74965, - "src": "36029:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35973:82:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35816:240:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76744, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76689, - "src": "36060:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35816:249:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76746, - "nodeType": "ExpressionStatement", - "src": "35816:249:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76749, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76691, - "src": "36089:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36098:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36089:10:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76780, - "nodeType": "IfStatement", - "src": "36085:365:173", - "trueBody": { - "id": 76779, - "nodeType": "Block", - "src": "36101:349:173", - "statements": [ - { - "expression": { - "id": 76777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76752, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "36187:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76773, - "indexExpression": { - "expression": { - "id": 76753, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "36202:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36208:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "36202:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36187:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76774, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76759, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36248:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36267:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "36248:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76762, - "indexExpression": { - "id": 76761, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "36275:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36248:56:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76764, - "indexExpression": { - "id": 76763, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74957, - "src": "36305:22:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36248:80:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36240:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76757, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "36240:7:173", - "typeDescriptions": {} - } - }, - "id": 76765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36240:89:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36215:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36215:7:173", - "typeDescriptions": {} - } - }, - "id": 76766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36215:128:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36187:157:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76775, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76767, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36345:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76768, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36364:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "36345:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76770, - "indexExpression": { - "id": 76769, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "36372:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36345:56:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76772, - "indexExpression": { - "id": 76771, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74965, - "src": "36402:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36345:83:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36187:242:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76776, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76691, - "src": "36433:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36187:252:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76778, - "nodeType": "ExpressionStatement", - "src": "36187:252:173" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76782, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "36624:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36628:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "36624:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76784, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36636:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76785, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36655:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "36636:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "id": 76781, - "name": "Context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56259, - "src": "36616:7:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,uint256[] memory[] memory)" - } - }, - "id": 76786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36616:47:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76787, - "nodeType": "EmitStatement", - "src": "36611:52:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 76788, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36894:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36913:3:173", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 75004, - "src": "36894:22:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36917:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "36894:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36926:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36894:33:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76807, - "nodeType": "IfStatement", - "src": "36890:470:173", - "trueBody": { - "id": 76806, - "nodeType": "Block", - "src": "36929:431:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76800, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "37296:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37315:9:173", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 75001, - "src": "37296:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "expression": { - "id": 76802, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "37326:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37345:3:173", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 75004, - "src": "37326:22:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76793, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "37270:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37276:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "37270:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37286:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "37270:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 76799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37292:3:173", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 56285, - "src": "37270:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 76804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37270:79:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76805, - "nodeType": "ExpressionStatement", - "src": "37270:79:173" - } - ] - } - }, - { - "condition": { - "expression": { - "id": 76808, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "37518:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76809, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37524:8:173", - "memberName": "handleIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "37518:14:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76858, - "nodeType": "IfStatement", - "src": "37514:1473:173", - "trueBody": { - "id": 76857, - "nodeType": "Block", - "src": "37534:1453:173", - "statements": [ - { - "assignments": [ - 76814, - 76817 - ], - "declarations": [ - { - "constant": false, - "id": 76814, - "mutability": "mutable", - "name": "handleIOStack", - "nameLocation": "38009:13:173", - "nodeType": "VariableDeclaration", - "scope": 76857, - "src": "37992:30:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37992:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76813, - "nodeType": "ArrayTypeName", - "src": "37992:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76817, - "mutability": "mutable", - "name": "handleIOKVs", - "nameLocation": "38041:11:173", - "nodeType": "VariableDeclaration", - "scope": 76857, - "src": "38024:28:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38024:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76816, - "nodeType": "ArrayTypeName", - "src": "38024:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76835, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76822, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38106:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38112:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38106:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38122:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "38106:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "expression": { - "id": 76825, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "38145:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38164:9:173", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 75001, - "src": "38145:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 76828, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38209:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38215:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38209:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38225:10:173", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 57309, - "src": "38209:26:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76827, - "name": "_handleIODispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77033, - "src": "38191:17:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 76831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38191:45:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - { - "expression": { - "id": 76832, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "38254:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38273:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "38254:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76818, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38056:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38062:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38056:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38072:11:173", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 57304, - "src": "38056:27:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "id": 76821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38084:4:173", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 56346, - "src": "38056:32:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 76834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38056:238:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37991:303:173" - }, - { - "expression": { - "components": [ - { - "id": 76836, - "name": "handleIOStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76814, - "src": "38367:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 76837, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38366:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76838, - "nodeType": "ExpressionStatement", - "src": "38366:15:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76839, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76817, - "src": "38505:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38517:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "38505:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38526:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38505:22:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76856, - "nodeType": "IfStatement", - "src": "38501:476:173", - "trueBody": { - "id": 76855, - "nodeType": "Block", - "src": "38529:448:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76850, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "38920:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38939:9:173", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 75001, - "src": "38920:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "id": 76852, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76817, - "src": "38950:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76843, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38894:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38900:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38894:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76848, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38910:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "38894:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 76849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38916:3:173", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 56285, - "src": "38894:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 76853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38894:68:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76854, - "nodeType": "ExpressionStatement", - "src": "38894:68:173" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 76684, - "nodeType": "StructuredDocumentation", - "src": "34760:563:173", - "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recordVaultIO", - "nameLocation": "35337:13:173", - "parameters": { - "id": 76695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76687, - "mutability": "mutable", - "name": "order", - "nameLocation": "35373:5:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35360:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76686, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76685, - "name": "Order", - "nameLocations": [ - "35360:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "35360:5:173" - }, - "referencedDeclaration": 77252, - "src": "35360:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76689, - "mutability": "mutable", - "name": "input", - "nameLocation": "35396:5:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35388:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35388:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76691, - "mutability": "mutable", - "name": "output", - "nameLocation": "35419:6:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35411:14:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35411:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76694, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "35461:18:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35435:44:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76693, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76692, - "name": "OrderIOCalculation", - "nameLocations": [ - "35435:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "35435:18:173" - }, - "referencedDeclaration": 75005, - "src": "35435:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "35350:135:173" - }, - "returnParameters": { - "id": 76696, - "nodeType": "ParameterList", - "parameters": [], - "src": "35495:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76886, - "nodeType": "FunctionDefinition", - "src": "39537:486:173", - "nodes": [], - "body": { - "id": 76885, - "nodeType": "Block", - "src": "39759:264:173", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76874, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76871, - "src": "39794:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - { - "id": 76875, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76864, - "src": "39812:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 76876, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76867, - "src": "39837:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76873, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77001, - "src": "39769:24:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" - } - }, - "id": 76877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39769:90:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76878, - "nodeType": "ExpressionStatement", - "src": "39769:90:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76880, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76871, - "src": "39951:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - { - "id": 76881, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76867, - "src": "39969:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 76882, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76864, - "src": "39992:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76879, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77001, - "src": "39926:24:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" - } - }, - "id": 76883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39926:90:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76884, - "nodeType": "ExpressionStatement", - "src": "39926:90:173" - } - ] - }, - "documentation": { - "id": 76861, - "nodeType": "StructuredDocumentation", - "src": "38999:533:173", - "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateChange", - "nameLocation": "39546:25:173", - "parameters": { - "id": 76868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76864, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "39607:23:173", - "nodeType": "VariableDeclaration", - "scope": 76886, - "src": "39581:49:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76863, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76862, - "name": "OrderIOCalculation", - "nameLocations": [ - "39581:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "39581:18:173" - }, - "referencedDeclaration": 75005, - "src": "39581:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76867, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "39666:21:173", - "nodeType": "VariableDeclaration", - "scope": 76886, - "src": "39640:47:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76866, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76865, - "name": "OrderIOCalculation", - "nameLocations": [ - "39640:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "39640:18:173" - }, - "referencedDeclaration": 75005, - "src": "39640:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "39571:122:173" - }, - "returnParameters": { - "id": 76872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76871, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "39741:16:173", - "nodeType": "VariableDeclaration", - "scope": 76886, - "src": "39717:40:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 76870, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76869, - "name": "ClearStateChange", - "nameLocations": [ - "39717:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77301, - "src": "39717:16:173" - }, - "referencedDeclaration": 77301, - "src": "39717:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "src": "39716:42:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77001, - "nodeType": "FunctionDefinition", - "src": "40029:2055:173", - "nodes": [], - "body": { - "id": 77000, - "nodeType": "Block", - "src": "40249:1835:173", - "nodes": [], - "statements": [ - { - "assignments": [ - 76900 - ], - "declarations": [ - { - "constant": false, - "id": 76900, - "mutability": "mutable", - "name": "bobInputMax18", - "nameLocation": "40466:13:173", - "nodeType": "VariableDeclaration", - "scope": 77000, - "src": "40452:27:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 76899, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76898, - "name": "Input18Amount", - "nameLocations": [ - "40452:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "40452:13:173" - }, - "referencedDeclaration": 75009, - "src": "40452:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76916, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76909, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "40600:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76910, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40622:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "40600:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 76911, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "40631:4:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", - "typeString": "type(library Math)" - } - }, - "id": 76912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40636:8:173", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45957, - "src": "40631:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 76913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40645:2:173", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45955, - "src": "40631:16:173", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 76905, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "40536:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40558:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "40536:31:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76903, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "40514:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40529:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40514:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40514:54:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40569:13:173", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 71318, - "src": "40514:68:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 76914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40514:147:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76901, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "40482:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40496:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "40482:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 76915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40482:189:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40452:219:173" - }, - { - "assignments": [ - 76919 - ], - "declarations": [ - { - "constant": false, - "id": 76919, - "mutability": "mutable", - "name": "aliceOutputMax18", - "nameLocation": "40696:16:173", - "nodeType": "VariableDeclaration", - "scope": 77000, - "src": "40681:31:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76918, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76917, - "name": "Output18Amount", - "nameLocations": [ - "40681:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "40681:14:173" - }, - "referencedDeclaration": 75007, - "src": "40681:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76922, - "initialValue": { - "expression": { - "id": 76920, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "40715:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76921, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40739:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "40715:33:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40681:67:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 76925, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "40861:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76923, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "40839:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40854:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40839:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40839:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 76929, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76900, - "src": "40902:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76927, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "40881:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40895:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40881:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40881:35:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40839:77:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76943, - "nodeType": "IfStatement", - "src": "40835:183:173", - "trueBody": { - "id": 76942, - "nodeType": "Block", - "src": "40918:100:173", - "statements": [ - { - "expression": { - "id": 76940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76932, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "40932:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 76937, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76900, - "src": "40992:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76935, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "40971:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40985:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40971:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40971:35:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76933, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "40951:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40966:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "40951:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40951:56:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "src": "40932:75:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "id": 76941, - "nodeType": "ExpressionStatement", - "src": "40932:75:173" - } - ] - } - }, - { - "expression": { - "id": 76961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76944, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41149:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "41166:11:173", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77294, - "src": "41149:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 76952, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "41240:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41264:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 74987, - "src": "41240:29:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41270:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "41240:42:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76957, - "indexExpression": { - "expression": { - "id": 76955, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "41283:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41307:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 74989, - "src": "41283:37:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "41240:81:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41322:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "41240:90:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 76959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "41332:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "arguments": [ - { - "id": 76949, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "41202:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76947, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "41180:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41195:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41180:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41180:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41220:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "41180:46:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 76960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41180:163:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41149:194:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76962, - "nodeType": "ExpressionStatement", - "src": "41149:194:173" - }, - { - "assignments": [ - 76965 - ], - "declarations": [ - { - "constant": false, - "id": 76965, - "mutability": "mutable", - "name": "aliceInput18", - "nameLocation": "41446:12:173", - "nodeType": "VariableDeclaration", - "scope": 77000, - "src": "41432:26:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 76964, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76963, - "name": "Input18Amount", - "nameLocations": [ - "41432:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "41432:13:173" - }, - "referencedDeclaration": 75009, - "src": "41432:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76980, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76973, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "41547:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41571:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "41547:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 76975, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "41580:4:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", - "typeString": "type(library Math)" - } - }, - "id": 76976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41585:8:173", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45957, - "src": "41580:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 76977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41594:2:173", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45955, - "src": "41580:16:173", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 76970, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "41515:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76968, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "41493:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41508:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41493:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41493:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41533:13:173", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 71318, - "src": "41493:53:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 76978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41493:104:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76966, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "41461:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41475:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "41461:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 76979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41461:146:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "41432:175:173" - }, - { - "expression": { - "id": 76998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76981, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41617:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "41634:10:173", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77298, - "src": "41617:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 76989, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "41966:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41988:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 74987, - "src": "41966:27:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41994:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "41966:40:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76994, - "indexExpression": { - "expression": { - "id": 76992, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "42007:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42029:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 74989, - "src": "42007:35:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "41966:77:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76995, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42044:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "41966:86:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 76996, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71273, - "src": "42054:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 76986, - "name": "aliceInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76965, - "src": "41932:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76984, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "41911:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41925:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41911:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41911:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41946:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "41911:41:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 76997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41911:166:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41617:460:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76999, - "nodeType": "ExpressionStatement", - "src": "41617:460:173" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateAlice", - "nameLocation": "40038:24:173", - "parameters": { - "id": 76896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76889, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "40096:16:173", - "nodeType": "VariableDeclaration", - "scope": 77001, - "src": "40072:40:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 76888, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76887, - "name": "ClearStateChange", - "nameLocations": [ - "40072:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77301, - "src": "40072:16:173" - }, - "referencedDeclaration": 77301, - "src": "40072:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76892, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "40148:23:173", - "nodeType": "VariableDeclaration", - "scope": 77001, - "src": "40122:49:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76891, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76890, - "name": "OrderIOCalculation", - "nameLocations": [ - "40122:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "40122:18:173" - }, - "referencedDeclaration": 75005, - "src": "40122:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76895, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "40207:21:173", - "nodeType": "VariableDeclaration", - "scope": 77001, - "src": "40181:47:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76894, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76893, - "name": "OrderIOCalculation", - "nameLocations": [ - "40181:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "40181:18:173" - }, - "referencedDeclaration": 75005, - "src": "40181:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "40062:172:173" - }, - "returnParameters": { - "id": 76897, - "nodeType": "ParameterList", - "parameters": [], - "src": "40249:0:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77017, - "nodeType": "FunctionDefinition", - "src": "42090:213:173", - "nodes": [], - "body": { - "id": 77016, - "nodeType": "Block", - "src": "42184:119:173", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77011, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77003, - "src": "42227:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77012, - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74905, - "src": "42240:26:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - { - "id": 77013, - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74921, - "src": "42268:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 77009, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57276, - "src": "42201:18:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 77010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42220:6:173", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57227, - "src": "42201:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 77014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42201:95:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 77008, - "id": 77015, - "nodeType": "Return", - "src": "42194:102:173" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateOrderDispatch", - "nameLocation": "42099:23:173", - "parameters": { - "id": 77004, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77003, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "42131:11:173", - "nodeType": "VariableDeclaration", - "scope": 77017, - "src": "42123:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77002, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "42123:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "42122:21:173" - }, - "returnParameters": { - "id": 77008, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77007, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77017, - "src": "42167:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 77006, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77005, - "name": "EncodedDispatch", - "nameLocations": [ - "42167:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56304, - "src": "42167:15:173" - }, - "referencedDeclaration": 56304, - "src": "42167:15:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "42166:17:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77033, - "nodeType": "FunctionDefinition", - "src": "42309:195:173", - "nodes": [], - "body": { - "id": 77032, - "nodeType": "Block", - "src": "42397:107:173", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77027, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77019, - "src": "42440:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77028, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74913, - "src": "42453:20:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - { - "id": 77029, - "name": "HANDLE_IO_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74929, - "src": "42475:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 77025, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57276, - "src": "42414:18:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 77026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42433:6:173", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57227, - "src": "42414:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 77030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42414:83:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 77024, - "id": 77031, - "nodeType": "Return", - "src": "42407:90:173" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_handleIODispatch", - "nameLocation": "42318:17:173", - "parameters": { - "id": 77020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77019, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "42344:11:173", - "nodeType": "VariableDeclaration", - "scope": 77033, - "src": "42336:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "42336:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "42335:21:173" - }, - "returnParameters": { - "id": 77024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77023, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77033, - "src": "42380:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 77022, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77021, - "name": "EncodedDispatch", - "nameLocations": [ - "42380:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56304, - "src": "42380:15:173" - }, - "referencedDeclaration": 56304, - "src": "42380:15:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "42379:17:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 75011, - "name": "IOrderBookV3", - "nameLocations": [ - "9019:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78111, - "src": "9019:12:173" - }, - "id": 75012, - "nodeType": "InheritanceSpecifier", - "src": "9019:12:173" - }, - { - "baseName": { - "id": 75013, - "name": "ReentrancyGuard", - "nameLocations": [ - "9033:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43711, - "src": "9033:15:173" - }, - "id": 75014, - "nodeType": "InheritanceSpecifier", - "src": "9033:15:173" - }, - { - "baseName": { - "id": 75015, - "name": "Multicall", - "nameLocations": [ - "9050:9:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45220, - "src": "9050:9:173" - }, - "id": 75016, - "nodeType": "InheritanceSpecifier", - "src": "9050:9:173" - }, - { - "baseName": { - "id": 75017, - "name": "OrderBookV3FlashLender", - "nameLocations": [ - "9061:22:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74569, - "src": "9061:22:173" - }, - "id": 75018, - "nodeType": "InheritanceSpecifier", - "src": "9061:22:173" - }, - { - "baseName": { - "id": 75019, - "name": "DeployerDiscoverableMetaV2", - "nameLocations": [ - "9085:26:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55357, - "src": "9085:26:173" - }, - "id": 75020, - "nodeType": "InheritanceSpecifier", - "src": "9085:26:173" - } - ], - "canonicalName": "OrderBook", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 75010, - "nodeType": "StructuredDocumentation", - "src": "8929:68:173", - "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 77034, - 55357, - 71994, - 74569, - 45220, - 43711, - 78111, - 56260, - 77828 - ], - "name": "OrderBook", - "nameLocation": "9006:9:173", - "scope": 77035, - "usedErrors": [ - 56523, - 56806, - 71974, - 71979, - 74225, - 74228, - 74231, - 74236, - 74245, - 74856, - 74863, - 74870, - 74877, - 74884, - 74889, - 77842, - 77883, - 77892, - 77897, - 77902, - 77907, - 77912 - ] - } - ], - "license": "CAL" - }, - "id": 173 -} \ No newline at end of file diff --git a/subgraph/abis/ReserveToken.json b/subgraph/abis/ReserveToken.json deleted file mode 100644 index 3c62a19040..0000000000 --- a/subgraph/abis/ReserveToken.json +++ /dev/null @@ -1,8266 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162000dd938038062000dd983398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610ae580620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", - "sourceMap": "1532:11312:23:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:23;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:212;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:212;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:212;;;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:212: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:212;;;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:212;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:212;;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:212;;;3992:26;3943:89;-1:-1:-1;;2747:1:212;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:212;;;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:212;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:212;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:212:o;:::-;1532:11312:23;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd", - "sourceMap": "1532:11312:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1251:14:212;;1244:22;1226:41;;1214:2;1199:18;4444:197:23;1086:187:212;3255:106:23;3342:12;;3255:106;;;1424:25:212;;;1412:2;1397:18;3255:106:23;1278:177:212;5203:256:23;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1935:36:212;;1923:2;1908:18;3104:91:23;1793:184:212;5854:234:23;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;3519:18;;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;4102:18;;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149;2158:98;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:29;4581:32:23;719:10:29;4597:7:23;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:29;5356:38:23;5372:4;719:10:29;5387:6:23;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:23;;5203:256;-1:-1:-1;;;;5203:256:23:o;5854:234::-;719:10:29;5942:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;5942:4;;719:10:29;5996:64:23;;719:10:29;;4102:27:23;;6021:38;;6049:10;;6021:38;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;719:10:29;6668:4:23;4102:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;6668:4;;719:10:29;6812:15:23;6792:16;:35;;6784:85;;;;;;;3366:2:212;6784:85:23;;;3348:21:212;3405:2;3385:18;;;3378:30;3444:34;3424:18;;;3417:62;3515:7;3495:18;;;3488:35;3540:19;;6784:85:23;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:29;3873:28:23;719:10:29;3890:2:23;3894:6;3873:9;:28::i;10457:340::-;10558:19;;;10550:68;;;;;;;3772:2:212;10550:68:23;;;3754:21:212;3811:2;3791:18;;;3784:30;3850:34;3830:18;;;3823:62;3921:6;3901:18;;;3894:34;3945:19;;10550:68:23;3570:400:212;10550:68:23;10636:21;;;10628:68;;;;;;;4177:2:212;10628:68:23;;;4159:21:212;4216:2;4196:18;;;4189:30;4255:34;4235:18;;;4228:62;4326:4;4306:18;;;4299:32;4348:19;;10628:68:23;3975:398:212;10628:68:23;10707:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1424:25:212;;;10758:32:23;;1397:18:212;10758:32:23;;;;;;;10457:340;;;:::o;11078:411::-;4102:18;;;;11178:24;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;11264:17;11244:37;;11240:243;;11325:6;11305:16;:26;;11297:68;;;;;;;4580:2:212;11297:68:23;;;4562:21:212;4619:2;4599:18;;;4592:30;4658:31;4638:18;;;4631:59;4707:18;;11297:68:23;4378:353:212;11297:68:23;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;7552:18;;;7544:68;;;;;;;4938:2:212;7544:68:23;;;4920:21:212;4977:2;4957:18;;;4950:30;5016:34;4996:18;;;4989:62;5087:7;5067:18;;;5060:35;5112:19;;7544:68:23;4736:401:212;7544:68:23;7630:16;;;7622:64;;;;;;;5344:2:212;7622:64:23;;;5326:21:212;5383:2;5363:18;;;5356:30;5422:34;5402:18;;;5395:62;5493:5;5473:18;;;5466:33;5516:19;;7622:64:23;5142:399:212;7622:64:23;7768:15;;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;;;;5748:2:212;7793:72:23;;;5730:21:212;5787:2;5767:18;;;5760:30;5826:34;5806:18;;;5799:62;5897:8;5877:18;;;5870:36;5923:19;;7793:72:23;5546:402:212;7793:72:23;7899:15;;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1424:25:212;;;8114:13:23;;8163:26;;1397:18:212;8163:26:23;;;;;;;8200:37;12073:91;14:607:212;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:196::-;694:20;;754:42;743:54;;733:65;;723:93;;812:1;809;802:12;723:93;626:196;;;:::o;827:254::-;895:6;903;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;1071:2;1056:18;;;;1043:32;;-1:-1:-1;;;827:254:212:o;1460:328::-;1537:6;1545;1553;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;1645:29;1664:9;1645:29;:::i;:::-;1635:39;;1693:38;1727:2;1716:9;1712:18;1693:38;:::i;:::-;1683:48;;1778:2;1767:9;1763:18;1750:32;1740:42;;1460:328;;;;;:::o;1982:186::-;2041:6;2094:2;2082:9;2073:7;2069:23;2065:32;2062:52;;;2110:1;2107;2100:12;2062:52;2133:29;2152:9;2133:29;:::i;:::-;2123:39;1982:186;-1:-1:-1;;;1982:186:212:o;2173:260::-;2241:6;2249;2302:2;2290:9;2281:7;2277:23;2273:32;2270:52;;;2318:1;2315;2308:12;2270:52;2341:29;2360:9;2341:29;:::i;:::-;2331:39;;2389:38;2423:2;2412:9;2408:18;2389:38;:::i;:::-;2379:48;;2173:260;;;;;:::o;2438:437::-;2517:1;2513:12;;;;2560;;;2581:61;;2635:4;2627:6;2623:17;2613:27;;2581:61;2688:2;2680:6;2677:14;2657:18;2654:38;2651:218;;2725:77;2722:1;2715:88;2826:4;2823:1;2816:15;2854:4;2851:1;2844:15;2651:218;;2438:437;;;:::o;2880:279::-;2945:9;;;2966:10;;;2963:190;;;3009:77;3006:1;2999:88;3110:4;3107:1;3100:15;3138:4;3135:1;3128:15", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "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": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": "ERC20" - }, - "libraries": {} - }, - "sources": { - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", - "id": 44299, - "exportedSymbols": { - "Context": [ - 45165 - ], - "ERC20": [ - 44298 - ], - "IERC20": [ - 44376 - ], - "IERC20Metadata": [ - 44401 - ] - }, - "nodeType": "SourceUnit", - "src": "105:12740:23", - "nodes": [ - { - "id": 43713, - "nodeType": "PragmaDirective", - "src": "105:23:23", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ] - }, - { - "id": 43714, - "nodeType": "ImportDirective", - "src": "130:22:23", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 44299, - "sourceUnit": 44377, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 43715, - "nodeType": "ImportDirective", - "src": "153:41:23", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "file": "./extensions/IERC20Metadata.sol", - "nameLocation": "-1:-1:-1", - "scope": 44299, - "sourceUnit": 44402, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 43716, - "nodeType": "ImportDirective", - "src": "195:33:23", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "nameLocation": "-1:-1:-1", - "scope": 44299, - "sourceUnit": 45166, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 44298, - "nodeType": "ContractDefinition", - "src": "1532:11312:23", - "nodes": [ - { - "id": 43727, - "nodeType": "VariableDeclaration", - "src": "1588:45:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1624:9:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 43726, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 43724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1596:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1588:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "id": 43733, - "nodeType": "VariableDeclaration", - "src": "1640:67:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_allowances", - "nameLocation": "1696:11:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 43732, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 43728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1648:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1640:47:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43731, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 43729, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1667:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1659:27:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "id": 43735, - "nodeType": "VariableDeclaration", - "src": "1714:28:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_totalSupply", - "nameLocation": "1730:12:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1714:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "id": 43737, - "nodeType": "VariableDeclaration", - "src": "1749:20:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1764:5:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 43736, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1749:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "id": 43739, - "nodeType": "VariableDeclaration", - "src": "1775:22:23", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "1790:7:23", - "scope": 44298, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 43738, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1775:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "id": 43756, - "nodeType": "FunctionDefinition", - "src": "1980:113:23", - "nodes": [], - "body": { - "id": 43755, - "nodeType": "Block", - "src": "2036:57:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 43747, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43737, - "src": "2046:5:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 43748, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43742, - "src": "2054:5:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2046:13:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 43750, - "nodeType": "ExpressionStatement", - "src": "2046:13:23" - }, - { - "expression": { - "id": 43753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 43751, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43739, - "src": "2069:7:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 43752, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43744, - "src": "2079:7:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2069:17:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 43754, - "nodeType": "ExpressionStatement", - "src": "2069:17:23" - } - ] - }, - "documentation": { - "id": 43740, - "nodeType": "StructuredDocumentation", - "src": "1804:171:23", - "text": " @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 43745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43742, - "mutability": "mutable", - "name": "name_", - "nameLocation": "2006:5:23", - "nodeType": "VariableDeclaration", - "scope": 43756, - "src": "1992:19:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43741, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1992:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43744, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "2027:7:23", - "nodeType": "VariableDeclaration", - "scope": 43756, - "src": "2013:21:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43743, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2013:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1991:44:23" - }, - "returnParameters": { - "id": 43746, - "nodeType": "ParameterList", - "parameters": [], - "src": "2036:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 43766, - "nodeType": "FunctionDefinition", - "src": "2158:98:23", - "nodes": [], - "body": { - "id": 43765, - "nodeType": "Block", - "src": "2227:29:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43763, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43737, - "src": "2244:5:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 43762, - "id": 43764, - "nodeType": "Return", - "src": "2237:12:23" - } - ] - }, - "baseFunctions": [ - 44388 - ], - "documentation": { - "id": 43757, - "nodeType": "StructuredDocumentation", - "src": "2099:54:23", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2167:4:23", - "overrides": { - "id": 43759, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2194:8:23" - }, - "parameters": { - "id": 43758, - "nodeType": "ParameterList", - "parameters": [], - "src": "2171:2:23" - }, - "returnParameters": { - "id": 43762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43761, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43766, - "src": "2212:13:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43760, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2212:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2211:15:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43776, - "nodeType": "FunctionDefinition", - "src": "2369:102:23", - "nodes": [], - "body": { - "id": 43775, - "nodeType": "Block", - "src": "2440:31:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43773, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43739, - "src": "2457:7:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 43772, - "id": 43774, - "nodeType": "Return", - "src": "2450:14:23" - } - ] - }, - "baseFunctions": [ - 44394 - ], - "documentation": { - "id": 43767, - "nodeType": "StructuredDocumentation", - "src": "2262:102:23", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2378:6:23", - "overrides": { - "id": 43769, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2407:8:23" - }, - "parameters": { - "id": 43768, - "nodeType": "ParameterList", - "parameters": [], - "src": "2384:2:23" - }, - "returnParameters": { - "id": 43772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43771, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43776, - "src": "2425:13:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 43770, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2425:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2424:15:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43786, - "nodeType": "FunctionDefinition", - "src": "3104:91:23", - "nodes": [], - "body": { - "id": 43785, - "nodeType": "Block", - "src": "3169:26:23", - "nodes": [], - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 43783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3186:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 43782, - "id": 43784, - "nodeType": "Return", - "src": "3179:9:23" - } - ] - }, - "baseFunctions": [ - 44400 - ], - "documentation": { - "id": 43777, - "nodeType": "StructuredDocumentation", - "src": "2477:622:23", - "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." - }, - "functionSelector": "313ce567", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "3113:8:23", - "overrides": { - "id": 43779, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3144:8:23" - }, - "parameters": { - "id": 43778, - "nodeType": "ParameterList", - "parameters": [], - "src": "3121:2:23" - }, - "returnParameters": { - "id": 43782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43781, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43786, - "src": "3162:5:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 43780, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3162:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3161:7:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43796, - "nodeType": "FunctionDefinition", - "src": "3255:106:23", - "nodes": [], - "body": { - "id": 43795, - "nodeType": "Block", - "src": "3325:36:23", - "nodes": [], - "statements": [ - { - "expression": { - "id": 43793, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43735, - "src": "3342:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 43792, - "id": 43794, - "nodeType": "Return", - "src": "3335:19:23" - } - ] - }, - "baseFunctions": [ - 44325 - ], - "documentation": { - "id": 43787, - "nodeType": "StructuredDocumentation", - "src": "3201:49:23", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "3264:11:23", - "overrides": { - "id": 43789, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3298:8:23" - }, - "parameters": { - "id": 43788, - "nodeType": "ParameterList", - "parameters": [], - "src": "3275:2:23" - }, - "returnParameters": { - "id": 43792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43791, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43796, - "src": "3316:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3316:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3315:9:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43810, - "nodeType": "FunctionDefinition", - "src": "3419:125:23", - "nodes": [], - "body": { - "id": 43809, - "nodeType": "Block", - "src": "3502:42:23", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 43805, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "3519:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 43807, - "indexExpression": { - "id": 43806, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43799, - "src": "3529:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3519:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 43804, - "id": 43808, - "nodeType": "Return", - "src": "3512:25:23" - } - ] - }, - "baseFunctions": [ - 44333 - ], - "documentation": { - "id": 43797, - "nodeType": "StructuredDocumentation", - "src": "3367:47:23", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "3428:9:23", - "overrides": { - "id": 43801, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3475:8:23" - }, - "parameters": { - "id": 43800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43799, - "mutability": "mutable", - "name": "account", - "nameLocation": "3446:7:23", - "nodeType": "VariableDeclaration", - "scope": 43810, - "src": "3438:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3438:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3437:17:23" - }, - "returnParameters": { - "id": 43804, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43803, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43810, - "src": "3493:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3493:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3492:9:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43835, - "nodeType": "FunctionDefinition", - "src": "3740:189:23", - "nodes": [], - "body": { - "id": 43834, - "nodeType": "Block", - "src": "3825:104:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43822 - ], - "declarations": [ - { - "constant": false, - "id": 43822, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3843:5:23", - "nodeType": "VariableDeclaration", - "scope": 43834, - "src": "3835:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3835:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43825, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43823, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "3851:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3851:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3835:28:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43827, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43822, - "src": "3883:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43828, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43813, - "src": "3890:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43829, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43815, - "src": "3894:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43826, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44058, - "src": "3873:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3873:28:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43831, - "nodeType": "ExpressionStatement", - "src": "3873:28:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3918:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43820, - "id": 43833, - "nodeType": "Return", - "src": "3911:11:23" - } - ] - }, - "baseFunctions": [ - 44343 - ], - "documentation": { - "id": 43811, - "nodeType": "StructuredDocumentation", - "src": "3550:185:23", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "3749:8:23", - "overrides": { - "id": 43817, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3801:8:23" - }, - "parameters": { - "id": 43816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43813, - "mutability": "mutable", - "name": "to", - "nameLocation": "3766:2:23", - "nodeType": "VariableDeclaration", - "scope": 43835, - "src": "3758:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3758:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43815, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3778:6:23", - "nodeType": "VariableDeclaration", - "scope": 43835, - "src": "3770:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3770:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3757:28:23" - }, - "returnParameters": { - "id": 43820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43819, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43835, - "src": "3819:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43818, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3819:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3818:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43853, - "nodeType": "FunctionDefinition", - "src": "3987:149:23", - "nodes": [], - "body": { - "id": 43852, - "nodeType": "Block", - "src": "4085:51:23", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 43846, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43733, - "src": "4102:11:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 43848, - "indexExpression": { - "id": 43847, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43838, - "src": "4114:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4102:18:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 43850, - "indexExpression": { - "id": 43849, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43840, - "src": "4121:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4102:27:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 43845, - "id": 43851, - "nodeType": "Return", - "src": "4095:34:23" - } - ] - }, - "baseFunctions": [ - 44353 - ], - "documentation": { - "id": 43836, - "nodeType": "StructuredDocumentation", - "src": "3935:47:23", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "3996:9:23", - "overrides": { - "id": 43842, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4058:8:23" - }, - "parameters": { - "id": 43841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43838, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4014:5:23", - "nodeType": "VariableDeclaration", - "scope": 43853, - "src": "4006:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4006:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43840, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4029:7:23", - "nodeType": "VariableDeclaration", - "scope": 43853, - "src": "4021:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43839, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4021:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4005:32:23" - }, - "returnParameters": { - "id": 43845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43844, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43853, - "src": "4076:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4076:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4075:9:23" - }, - "scope": 44298, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 43878, - "nodeType": "FunctionDefinition", - "src": "4444:197:23", - "nodes": [], - "body": { - "id": 43877, - "nodeType": "Block", - "src": "4533:108:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43865 - ], - "declarations": [ - { - "constant": false, - "id": 43865, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4551:5:23", - "nodeType": "VariableDeclaration", - "scope": 43877, - "src": "4543:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4543:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43868, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43866, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "4559:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4559:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4543:28:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43870, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43865, - "src": "4590:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43871, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43856, - "src": "4597:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43872, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43858, - "src": "4606:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43869, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "4581:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4581:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43874, - "nodeType": "ExpressionStatement", - "src": "4581:32:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4630:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43863, - "id": 43876, - "nodeType": "Return", - "src": "4623:11:23" - } - ] - }, - "baseFunctions": [ - 44363 - ], - "documentation": { - "id": 43854, - "nodeType": "StructuredDocumentation", - "src": "4142:297:23", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4453:7:23", - "overrides": { - "id": 43860, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4509:8:23" - }, - "parameters": { - "id": 43859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43856, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4469:7:23", - "nodeType": "VariableDeclaration", - "scope": 43878, - "src": "4461:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4461:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43858, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4486:6:23", - "nodeType": "VariableDeclaration", - "scope": 43878, - "src": "4478:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4478:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4460:33:23" - }, - "returnParameters": { - "id": 43863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43862, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43878, - "src": "4527:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4527:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4526:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43911, - "nodeType": "FunctionDefinition", - "src": "5203:256:23", - "nodes": [], - "body": { - "id": 43910, - "nodeType": "Block", - "src": "5306:153:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43892 - ], - "declarations": [ - { - "constant": false, - "id": 43892, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5324:7:23", - "nodeType": "VariableDeclaration", - "scope": 43910, - "src": "5316:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5316:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43895, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43893, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "5334:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5334:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5316:30:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43897, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43881, - "src": "5372:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43898, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43892, - "src": "5378:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43899, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43885, - "src": "5387:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43896, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44275, - "src": "5356:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5356:38:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43901, - "nodeType": "ExpressionStatement", - "src": "5356:38:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43903, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43881, - "src": "5414:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43904, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43883, - "src": "5420:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43905, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43885, - "src": "5424:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43902, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44058, - "src": "5404:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5404:27:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43907, - "nodeType": "ExpressionStatement", - "src": "5404:27:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5448:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43890, - "id": 43909, - "nodeType": "Return", - "src": "5441:11:23" - } - ] - }, - "baseFunctions": [ - 44375 - ], - "documentation": { - "id": 43879, - "nodeType": "StructuredDocumentation", - "src": "4647:551:23", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "5212:12:23", - "overrides": { - "id": 43887, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5282:8:23" - }, - "parameters": { - "id": 43886, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43881, - "mutability": "mutable", - "name": "from", - "nameLocation": "5233:4:23", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5225:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43880, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5225:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43883, - "mutability": "mutable", - "name": "to", - "nameLocation": "5247:2:23", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5239:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5239:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43885, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5259:6:23", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5251:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43884, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5251:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5224:42:23" - }, - "returnParameters": { - "id": 43890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43889, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43911, - "src": "5300:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43888, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5300:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5299:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43940, - "nodeType": "FunctionDefinition", - "src": "5854:234:23", - "nodes": [], - "body": { - "id": 43939, - "nodeType": "Block", - "src": "5948:140:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43922 - ], - "declarations": [ - { - "constant": false, - "id": 43922, - "mutability": "mutable", - "name": "owner", - "nameLocation": "5966:5:23", - "nodeType": "VariableDeclaration", - "scope": 43939, - "src": "5958:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5958:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43925, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43923, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "5974:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5974:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5958:28:23" - }, - { - "expression": { - "arguments": [ - { - "id": 43927, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43922, - "src": "6005:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43928, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43914, - "src": "6012:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 43934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 43930, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43922, - "src": "6031:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43931, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43914, - "src": "6038:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 43929, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43853, - "src": "6021:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 43932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6021:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 43933, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43916, - "src": "6049:10:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6021:38:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43926, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "5996:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5996:64:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43936, - "nodeType": "ExpressionStatement", - "src": "5996:64:23" - }, - { - "expression": { - "hexValue": "74727565", - "id": 43937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43920, - "id": 43938, - "nodeType": "Return", - "src": "6070:11:23" - } - ] - }, - "documentation": { - "id": 43912, - "nodeType": "StructuredDocumentation", - "src": "5465:384:23", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "5863:17:23", - "parameters": { - "id": 43917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43914, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5889:7:23", - "nodeType": "VariableDeclaration", - "scope": 43940, - "src": "5881:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43913, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5881:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43916, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "5906:10:23", - "nodeType": "VariableDeclaration", - "scope": 43940, - "src": "5898:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5898:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5880:37:23" - }, - "returnParameters": { - "id": 43920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43919, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43940, - "src": "5942:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43918, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5942:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5941:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 43981, - "nodeType": "FunctionDefinition", - "src": "6575:427:23", - "nodes": [], - "body": { - "id": 43980, - "nodeType": "Block", - "src": "6674:328:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 43951 - ], - "declarations": [ - { - "constant": false, - "id": 43951, - "mutability": "mutable", - "name": "owner", - "nameLocation": "6692:5:23", - "nodeType": "VariableDeclaration", - "scope": 43980, - "src": "6684:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6684:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 43954, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 43952, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45155, - "src": "6700:10:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 43953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6700:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6684:28:23" - }, - { - "assignments": [ - 43956 - ], - "declarations": [ - { - "constant": false, - "id": 43956, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "6730:16:23", - "nodeType": "VariableDeclaration", - "scope": 43980, - "src": "6722:24:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6722:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 43961, - "initialValue": { - "arguments": [ - { - "id": 43958, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43951, - "src": "6759:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43959, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43943, - "src": "6766:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 43957, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43853, - "src": "6749:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 43960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6749:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6722:52:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 43965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43963, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43956, - "src": "6792:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 43964, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43945, - "src": "6812:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6792:35:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 43966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6829:39:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 43962, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6784:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 43967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6784:85:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43968, - "nodeType": "ExpressionStatement", - "src": "6784:85:23" - }, - { - "id": 43977, - "nodeType": "UncheckedBlock", - "src": "6879:95:23", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 43970, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43951, - "src": "6912:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 43971, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43943, - "src": "6919:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 43974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43972, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43956, - "src": "6928:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 43973, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43945, - "src": "6947:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6928:34:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 43969, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "6903:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 43975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6903:60:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43976, - "nodeType": "ExpressionStatement", - "src": "6903:60:23" - } - ] - }, - { - "expression": { - "hexValue": "74727565", - "id": 43978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6991:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 43949, - "id": 43979, - "nodeType": "Return", - "src": "6984:11:23" - } - ] - }, - "documentation": { - "id": 43941, - "nodeType": "StructuredDocumentation", - "src": "6094:476:23", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "6584:17:23", - "parameters": { - "id": 43946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43943, - "mutability": "mutable", - "name": "spender", - "nameLocation": "6610:7:23", - "nodeType": "VariableDeclaration", - "scope": 43981, - "src": "6602:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6602:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43945, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "6627:15:23", - "nodeType": "VariableDeclaration", - "scope": 43981, - "src": "6619:23:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6619:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6601:42:23" - }, - "returnParameters": { - "id": 43949, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43948, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 43981, - "src": "6668:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 43947, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6668:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6667:6:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 44058, - "nodeType": "FunctionDefinition", - "src": "7456:788:23", - "nodes": [], - "body": { - "id": 44057, - "nodeType": "Block", - "src": "7534:710:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 43997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43992, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7552:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 43995, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7568:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 43994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7560:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 43993, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7560:7:23", - "typeDescriptions": {} - } - }, - "id": 43996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7560:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7552:18:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 43998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7572:39:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 43991, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7544:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 43999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7544:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44000, - "nodeType": "ExpressionStatement", - "src": "7544:68:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44002, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "7630:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7644:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7636:7:23", - "typeDescriptions": {} - } - }, - "id": 44006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7636:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7630:16:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 44008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7648:37:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 44001, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7622:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7622:64:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44010, - "nodeType": "ExpressionStatement", - "src": "7622:64:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44012, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7718:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44013, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "7724:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44014, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "7728:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44011, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44286, - "src": "7697:20:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7697:38:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44016, - "nodeType": "ExpressionStatement", - "src": "7697:38:23" - }, - { - "assignments": [ - 44018 - ], - "declarations": [ - { - "constant": false, - "id": 44018, - "mutability": "mutable", - "name": "fromBalance", - "nameLocation": "7754:11:23", - "nodeType": "VariableDeclaration", - "scope": 44057, - "src": "7746:19:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7746:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 44022, - "initialValue": { - "baseExpression": { - "id": 44019, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "7768:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44021, - "indexExpression": { - "id": 44020, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7778:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7768:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7746:37:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44024, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44018, - "src": "7801:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 44025, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "7816:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7801:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 44027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7824:40:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 44023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7793:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7793:72:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44029, - "nodeType": "ExpressionStatement", - "src": "7793:72:23" - }, - { - "id": 44044, - "nodeType": "UncheckedBlock", - "src": "7875:273:23", - "statements": [ - { - "expression": { - "id": 44036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44030, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "7899:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44032, - "indexExpression": { - "id": 44031, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "7909:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7899:15:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44033, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44018, - "src": "7917:11:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 44034, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "7931:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7917:20:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7899:38:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44037, - "nodeType": "ExpressionStatement", - "src": "7899:38:23" - }, - { - "expression": { - "id": 44042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44038, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "8114:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44040, - "indexExpression": { - "id": 44039, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "8124:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8114:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 44041, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "8131:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8114:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44043, - "nodeType": "ExpressionStatement", - "src": "8114:23:23" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 44046, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "8172:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44047, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "8178:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44048, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "8182:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44045, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44310, - "src": "8163:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8163:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44050, - "nodeType": "EmitStatement", - "src": "8158:31:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44052, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43984, - "src": "8220:4:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44053, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43986, - "src": "8226:2:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44054, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43988, - "src": "8230:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44051, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44297, - "src": "8200:19:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8200:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44056, - "nodeType": "ExpressionStatement", - "src": "8200:37:23" - } - ] - }, - "documentation": { - "id": 43982, - "nodeType": "StructuredDocumentation", - "src": "7008:443:23", - "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "7465:9:23", - "parameters": { - "id": 43989, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 43984, - "mutability": "mutable", - "name": "from", - "nameLocation": "7483:4:23", - "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "7475:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43983, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7475:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43986, - "mutability": "mutable", - "name": "to", - "nameLocation": "7497:2:23", - "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "7489:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 43985, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7489:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 43988, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7509:6:23", - "nodeType": "VariableDeclaration", - "scope": 44058, - "src": "7501:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 43987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7501:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7474:42:23" - }, - "returnParameters": { - "id": 43990, - "nodeType": "ParameterList", - "parameters": [], - "src": "7534:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44115, - "nodeType": "FunctionDefinition", - "src": "8520:535:23", - "nodes": [], - "body": { - "id": 44114, - "nodeType": "Block", - "src": "8585:470:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44067, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8603:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8622:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8614:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8614:7:23", - "typeDescriptions": {} - } - }, - "id": 44071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8614:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8603:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 44073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8626:33:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 44066, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8595:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8595:65:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44075, - "nodeType": "ExpressionStatement", - "src": "8595:65:23" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 44079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8700:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8692:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8692:7:23", - "typeDescriptions": {} - } - }, - "id": 44080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8692:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44081, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8704:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44082, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8713:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44076, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44286, - "src": "8671:20:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8671:49:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44084, - "nodeType": "ExpressionStatement", - "src": "8671:49:23" - }, - { - "expression": { - "id": 44087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 44085, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43735, - "src": "8731:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 44086, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8747:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8731:22:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44088, - "nodeType": "ExpressionStatement", - "src": "8731:22:23" - }, - { - "id": 44095, - "nodeType": "UncheckedBlock", - "src": "8763:175:23", - "statements": [ - { - "expression": { - "id": 44093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44089, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "8899:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44091, - "indexExpression": { - "id": 44090, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8909:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8899:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 44092, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8921:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8899:28:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44094, - "nodeType": "ExpressionStatement", - "src": "8899:28:23" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 44099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8969:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8961:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8961:7:23", - "typeDescriptions": {} - } - }, - "id": 44100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8961:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44101, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "8973:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44102, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "8982:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44096, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44310, - "src": "8952:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8952:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44104, - "nodeType": "EmitStatement", - "src": "8947:42:23" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 44108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9028:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9020:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9020:7:23", - "typeDescriptions": {} - } - }, - "id": 44109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9020:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44110, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44061, - "src": "9032:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44111, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44063, - "src": "9041:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44105, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44297, - "src": "9000:19:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9000:48:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44113, - "nodeType": "ExpressionStatement", - "src": "9000:48:23" - } - ] - }, - "documentation": { - "id": 44059, - "nodeType": "StructuredDocumentation", - "src": "8250:265:23", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8529:5:23", - "parameters": { - "id": 44064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44061, - "mutability": "mutable", - "name": "account", - "nameLocation": "8543:7:23", - "nodeType": "VariableDeclaration", - "scope": 44115, - "src": "8535:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8535:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44063, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8560:6:23", - "nodeType": "VariableDeclaration", - "scope": 44115, - "src": "8552:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8552:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8534:33:23" - }, - "returnParameters": { - "id": 44065, - "nodeType": "ParameterList", - "parameters": [], - "src": "8585:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44187, - "nodeType": "FunctionDefinition", - "src": "9375:659:23", - "nodes": [], - "body": { - "id": 44186, - "nodeType": "Block", - "src": "9440:594:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44124, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9458:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9477:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9469:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9469:7:23", - "typeDescriptions": {} - } - }, - "id": 44128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9469:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9458:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 44130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9481:35:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 44123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9450:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9450:67:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44132, - "nodeType": "ExpressionStatement", - "src": "9450:67:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44134, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9549:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 44137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9566:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9558:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44135, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9558:7:23", - "typeDescriptions": {} - } - }, - "id": 44138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9558:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44139, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9570:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44133, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44286, - "src": "9528:20:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9528:49:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44141, - "nodeType": "ExpressionStatement", - "src": "9528:49:23" - }, - { - "assignments": [ - 44143 - ], - "declarations": [ - { - "constant": false, - "id": 44143, - "mutability": "mutable", - "name": "accountBalance", - "nameLocation": "9596:14:23", - "nodeType": "VariableDeclaration", - "scope": 44186, - "src": "9588:22:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9588:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 44147, - "initialValue": { - "baseExpression": { - "id": 44144, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "9613:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44146, - "indexExpression": { - "id": 44145, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9623:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9613:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9588:43:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44149, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44143, - "src": "9649:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 44150, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9667:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9649:24:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 44152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9675:36:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 44148, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9641:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9641:71:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44154, - "nodeType": "ExpressionStatement", - "src": "9641:71:23" - }, - { - "id": 44167, - "nodeType": "UncheckedBlock", - "src": "9722:194:23", - "statements": [ - { - "expression": { - "id": 44161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 44155, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43727, - "src": "9746:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44157, - "indexExpression": { - "id": 44156, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9756:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9746:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44158, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44143, - "src": "9767:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 44159, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9784:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9767:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9746:44:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44162, - "nodeType": "ExpressionStatement", - "src": "9746:44:23" - }, - { - "expression": { - "id": 44165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 44163, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43735, - "src": "9883:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 44164, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9899:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9883:22:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44166, - "nodeType": "ExpressionStatement", - "src": "9883:22:23" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 44169, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9940:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 44172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9957:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9949:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9949:7:23", - "typeDescriptions": {} - } - }, - "id": 44173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9949:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44174, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "9961:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44168, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44310, - "src": "9931:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9931:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44176, - "nodeType": "EmitStatement", - "src": "9926:42:23" - }, - { - "expression": { - "arguments": [ - { - "id": 44178, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44118, - "src": "9999:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 44181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10016:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10008:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10008:7:23", - "typeDescriptions": {} - } - }, - "id": 44182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10008:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44183, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44120, - "src": "10020:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44177, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44297, - "src": "9979:19:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9979:48:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44185, - "nodeType": "ExpressionStatement", - "src": "9979:48:23" - } - ] - }, - "documentation": { - "id": 44116, - "nodeType": "StructuredDocumentation", - "src": "9061:309:23", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9384:5:23", - "parameters": { - "id": 44121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44118, - "mutability": "mutable", - "name": "account", - "nameLocation": "9398:7:23", - "nodeType": "VariableDeclaration", - "scope": 44187, - "src": "9390:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9390:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44120, - "mutability": "mutable", - "name": "amount", - "nameLocation": "9415:6:23", - "nodeType": "VariableDeclaration", - "scope": 44187, - "src": "9407:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9407:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9389:33:23" - }, - "returnParameters": { - "id": 44122, - "nodeType": "ParameterList", - "parameters": [], - "src": "9440:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44232, - "nodeType": "FunctionDefinition", - "src": "10457:340:23", - "nodes": [], - "body": { - "id": 44231, - "nodeType": "Block", - "src": "10540:257:23", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44198, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44190, - "src": "10558:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10575:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10567:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10567:7:23", - "typeDescriptions": {} - } - }, - "id": 44202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10567:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10558:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 44204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10579:38:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 44197, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10550:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10550:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44206, - "nodeType": "ExpressionStatement", - "src": "10550:68:23" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 44213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44208, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44192, - "src": "10636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 44211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10655:1:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 44210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10647:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 44209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10647:7:23", - "typeDescriptions": {} - } - }, - "id": 44212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10647:10:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10636:21:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 44214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10659:36:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 44207, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10628:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10628:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44216, - "nodeType": "ExpressionStatement", - "src": "10628:68:23" - }, - { - "expression": { - "id": 44223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 44217, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43733, - "src": "10707:11:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 44220, - "indexExpression": { - "id": 44218, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44190, - "src": "10719:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10707:18:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 44221, - "indexExpression": { - "id": 44219, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44192, - "src": "10726:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10707:27:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 44222, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44194, - "src": "10737:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10707:36:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 44224, - "nodeType": "ExpressionStatement", - "src": "10707:36:23" - }, - { - "eventCall": { - "arguments": [ - { - "id": 44226, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44190, - "src": "10767:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44227, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44192, - "src": "10774:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44228, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44194, - "src": "10783:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44225, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44319, - "src": "10758:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10758:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44230, - "nodeType": "EmitStatement", - "src": "10753:37:23" - } - ] - }, - "documentation": { - "id": 44188, - "nodeType": "StructuredDocumentation", - "src": "10040:412:23", - "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "10466:8:23", - "parameters": { - "id": 44195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44190, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10483:5:23", - "nodeType": "VariableDeclaration", - "scope": 44232, - "src": "10475:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10475:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44192, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10498:7:23", - "nodeType": "VariableDeclaration", - "scope": 44232, - "src": "10490:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10490:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44194, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10515:6:23", - "nodeType": "VariableDeclaration", - "scope": 44232, - "src": "10507:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10507:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10474:48:23" - }, - "returnParameters": { - "id": 44196, - "nodeType": "ParameterList", - "parameters": [], - "src": "10540:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44275, - "nodeType": "FunctionDefinition", - "src": "11078:411:23", - "nodes": [], - "body": { - "id": 44274, - "nodeType": "Block", - "src": "11168:321:23", - "nodes": [], - "statements": [ - { - "assignments": [ - 44243 - ], - "declarations": [ - { - "constant": false, - "id": 44243, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "11186:16:23", - "nodeType": "VariableDeclaration", - "scope": 44274, - "src": "11178:24:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11178:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 44248, - "initialValue": { - "arguments": [ - { - "id": 44245, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44235, - "src": "11215:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44246, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44237, - "src": "11222:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 44244, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43853, - "src": "11205:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 44247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11205:25:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11178:52:23" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44249, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44243, - "src": "11244:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 44252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11269:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 44251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11269:7:23", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 44250, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "11264:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 44253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11264:13:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 44254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11278:3:23", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "11264:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11244:37:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 44273, - "nodeType": "IfStatement", - "src": "11240:243:23", - "trueBody": { - "id": 44272, - "nodeType": "Block", - "src": "11283:200:23", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44257, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44243, - "src": "11305:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 44258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44239, - "src": "11325:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11305:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "id": 44260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11333:31:23", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - }, - "value": "ERC20: insufficient allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - } - ], - "id": 44256, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11297:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 44261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11297:68:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44262, - "nodeType": "ExpressionStatement", - "src": "11297:68:23" - }, - { - "id": 44271, - "nodeType": "UncheckedBlock", - "src": "11379:94:23", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 44264, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44235, - "src": "11416:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 44265, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44237, - "src": "11423:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 44268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 44266, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44243, - "src": "11432:16:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 44267, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44239, - "src": "11451:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11432:25:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 44263, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44232, - "src": "11407:8:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 44269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11407:51:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 44270, - "nodeType": "ExpressionStatement", - "src": "11407:51:23" - } - ] - } - ] - } - } - ] - }, - "documentation": { - "id": 44233, - "nodeType": "StructuredDocumentation", - "src": "10803:270:23", - "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_spendAllowance", - "nameLocation": "11087:15:23", - "parameters": { - "id": 44240, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44235, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11111:5:23", - "nodeType": "VariableDeclaration", - "scope": 44275, - "src": "11103:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11103:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44237, - "mutability": "mutable", - "name": "spender", - "nameLocation": "11126:7:23", - "nodeType": "VariableDeclaration", - "scope": 44275, - "src": "11118:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11118:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44239, - "mutability": "mutable", - "name": "amount", - "nameLocation": "11143:6:23", - "nodeType": "VariableDeclaration", - "scope": 44275, - "src": "11135:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11135:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11102:48:23" - }, - "returnParameters": { - "id": 44241, - "nodeType": "ParameterList", - "parameters": [], - "src": "11168:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44286, - "nodeType": "FunctionDefinition", - "src": "12073:91:23", - "nodes": [], - "body": { - "id": 44285, - "nodeType": "Block", - "src": "12162:2:23", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 44276, - "nodeType": "StructuredDocumentation", - "src": "11495:573:23", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "12082:20:23", - "parameters": { - "id": 44283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44278, - "mutability": "mutable", - "name": "from", - "nameLocation": "12111:4:23", - "nodeType": "VariableDeclaration", - "scope": 44286, - "src": "12103:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12103:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44280, - "mutability": "mutable", - "name": "to", - "nameLocation": "12125:2:23", - "nodeType": "VariableDeclaration", - "scope": 44286, - "src": "12117:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12117:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44282, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12137:6:23", - "nodeType": "VariableDeclaration", - "scope": 44286, - "src": "12129:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12129:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12102:42:23" - }, - "returnParameters": { - "id": 44284, - "nodeType": "ParameterList", - "parameters": [], - "src": "12162:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 44297, - "nodeType": "FunctionDefinition", - "src": "12752:90:23", - "nodes": [], - "body": { - "id": 44296, - "nodeType": "Block", - "src": "12840:2:23", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 44287, - "nodeType": "StructuredDocumentation", - "src": "12170:577:23", - "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "12761:19:23", - "parameters": { - "id": 44294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 44289, - "mutability": "mutable", - "name": "from", - "nameLocation": "12789:4:23", - "nodeType": "VariableDeclaration", - "scope": 44297, - "src": "12781:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12781:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44291, - "mutability": "mutable", - "name": "to", - "nameLocation": "12803:2:23", - "nodeType": "VariableDeclaration", - "scope": 44297, - "src": "12795:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 44290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12795:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 44293, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12815:6:23", - "nodeType": "VariableDeclaration", - "scope": 44297, - "src": "12807:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 44292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12807:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12780:42:23" - }, - "returnParameters": { - "id": 44295, - "nodeType": "ParameterList", - "parameters": [], - "src": "12840:0:23" - }, - "scope": 44298, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 43718, - "name": "Context", - "nameLocations": [ - "1550:7:23" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45165, - "src": "1550:7:23" - }, - "id": 43719, - "nodeType": "InheritanceSpecifier", - "src": "1550:7:23" - }, - { - "baseName": { - "id": 43720, - "name": "IERC20", - "nameLocations": [ - "1559:6:23" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44376, - "src": "1559:6:23" - }, - "id": 43721, - "nodeType": "InheritanceSpecifier", - "src": "1559:6:23" - }, - { - "baseName": { - "id": 43722, - "name": "IERC20Metadata", - "nameLocations": [ - "1567:14:23" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44401, - "src": "1567:14:23" - }, - "id": 43723, - "nodeType": "InheritanceSpecifier", - "src": "1567:14:23" - } - ], - "canonicalName": "ERC20", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 43717, - "nodeType": "StructuredDocumentation", - "src": "230:1301:23", - "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 44298, - 44401, - 44376, - 45165 - ], - "name": "ERC20", - "nameLocation": "1541:5:23", - "scope": 44299, - "usedErrors": [] - } - ], - "license": "MIT" - }, - "id": 23 -} \ No newline at end of file diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 9c0d3fa861..72476fb03a 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -1,11 +1,9 @@ -# TODO: Improve tooling here { description = "Flake for development orderbook subgraph workflows."; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; - # jq.url = "github:jqlang/jq"; }; @@ -34,6 +32,8 @@ ''; remove-duplicate = '' + # Remove a component duplicated on RainterpreterExpressionDeployerNP abi that + # conflict with abigen contract_path="tests/generated/RainterpreterExpressionDeployerNP.json" ${jq} '.abi |= map(select(.name != "StackUnderflow"))' $contract_path > updated_contract.json mv updated_contract.json $contract_path From 99654936eea22c10738c6bd17c6182401154e174 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 15:45:21 -0400 Subject: [PATCH 039/163] ignore generated test abi json files --- subgraph/.gitignore | 4 + .../tests/generated/AuthoringMetaGetter.json | 1727 - subgraph/tests/generated/ERC20Mock.json | 1271 - subgraph/tests/generated/OrderBook.json | 33887 ---------------- .../RainterpreterExpressionDeployerNP.json | 9692 ----- subgraph/tests/generated/RainterpreterNP.json | 4411 -- .../tests/generated/RainterpreterStore.json | 1923 - 7 files changed, 4 insertions(+), 52911 deletions(-) delete mode 100644 subgraph/tests/generated/AuthoringMetaGetter.json delete mode 100644 subgraph/tests/generated/ERC20Mock.json delete mode 100644 subgraph/tests/generated/OrderBook.json delete mode 100644 subgraph/tests/generated/RainterpreterExpressionDeployerNP.json delete mode 100644 subgraph/tests/generated/RainterpreterNP.json delete mode 100644 subgraph/tests/generated/RainterpreterStore.json diff --git a/subgraph/.gitignore b/subgraph/.gitignore index 6c5600362b..0a4480a209 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -6,6 +6,10 @@ # Rust generated files /tests/generated/abigen +# Ignore all JSON files +/tests/generated/*.json +# But include ERC20Mock.json +!/tests/generated/ERC20Mock.json # npm /node_modules diff --git a/subgraph/tests/generated/AuthoringMetaGetter.json b/subgraph/tests/generated/AuthoringMetaGetter.json deleted file mode 100644 index 3e6ebb6170..0000000000 --- a/subgraph/tests/generated/AuthoringMetaGetter.json +++ /dev/null @@ -1,1727 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getAuthoringMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506124d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", - "sourceMap": "291:162:211:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c316e48a14610030575b600080fd5b61003861004e565b6040516100459190611044565b60405180910390f35b606061005861005d565b905090565b604080516060818101835260008083526020830152918101829052600060405180610540016040528083815260200160405180606001604052807f737461636b0000000000000000000000000000000000000000000000000000008152602001601060ff16815260200160405180606001604052806028815260200161177060289139815250815260200160405180606001604052807f636f6e7374616e740000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060600160405280602781526020016118b160279139815250815260200160405180606001604052807f636f6e74657874000000000000000000000000000000000000000000000000008152602001602060ff1681526020016040518060a00160405280606781526020016115fe60679139815250815260200160405180606001604052807f68617368000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603e815260200161235d603e9139815250815260200160405180606001604052807f626c6f636b2d6e756d62657200000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601981526020017f5468652063757272656e7420626c6f636b206e756d6265722e00000000000000815250815250815260200160405180606001604052807f636861696e2d69640000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601581526020017f5468652063757272656e7420636861696e2069642e0000000000000000000000815250815250815260200160405180606001604052807f6d61782d696e742d76616c7565000000000000000000000000000000000000008152602001600060ff1681526020016040518060600160405280603b8152602001611835603b9139815250815260200160405180606001604052807f6d61782d646563696d616c31382d76616c7565000000000000000000000000008152602001600060ff16815260200160405180608001604052806043815260200161149860439139815250815260200160405180606001604052807f626c6f636b2d74696d657374616d7000000000000000000000000000000000008152602001600060ff1681526020016040518060400160405280601c81526020017f5468652063757272656e7420626c6f636b2074696d657374616d702e00000000815250815250815260200160405180606001604052807f616e7900000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604581526020016114db60459139815250815260200160405180606001604052807f636f6e646974696f6e73000000000000000000000000000000000000000000008152602001601060ff16815260200160405180610140016040528061010181526020016113766101019139815250815260200160405180606001604052807f656e7375726500000000000000000000000000000000000000000000000000008152602001601060ff1681526020016040518060e0016040528060bf815260200161166560bf9139815250815260200160405180606001604052807f657175616c2d746f0000000000000000000000000000000000000000000000008152602001600060ff168152602001604051806060016040528060278152602001611c0b60279139815250815260200160405180606001604052807f65766572790000000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161187060419139815250815260200160405180606001604052807f677265617465722d7468616e00000000000000000000000000000000000000008152602001600060ff168152602001604051806080016040528060438152602001611da360439139815250815260200160405180606001604052807f677265617465722d7468616e2d6f722d657175616c2d746f00000000000000008152602001600060ff1681526020016040518060800160405280604f815260200161239b604f9139815250815260200160405180606001604052807f69660000000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060758152602001611cc660759139815250815260200160405180606001604052807f69732d7a65726f000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806021815260200161147760219139815250815260200160405180606001604052807f6c6573732d7468616e00000000000000000000000000000000000000000000008152602001600060ff16815260200160405180606001604052806040815260200161212260409139815250815260200160405180606001604052807f6c6573732d7468616e2d6f722d657175616c2d746f00000000000000000000008152602001600060ff1681526020016040518060800160405280604c8152602001611724604c9139815250815260200160405180606001604052807f646563696d616c31382d646976000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280608281526020016120a060829139815250815260200160405180606001604052807f646563696d616c31382d6d756c000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a0815260200161216260a09139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531382d64796e616d6963000000000000008152602001603060ff1681526020016040518061014001604052806101018152602001611b0a6101019139815250815260200160405180606001604052807f646563696d616c31382d7363616c6531380000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015d815260200161194e61015d9139815250815260200160405180606001604052807f646563696d616c31382d7363616c652d6e0000000000000000000000000000008152602001604060ff16815260200160405180610180016040528061015b815260200161220261015b9139815250815260200160405180606001604052807f696e742d616464000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607681526020016118d860769139815250815260200160405180606001604052807f646563696d616c31382d616464000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060948152602001611c3260949139815250815260200160405180606001604052807f696e742d646976000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a001604052806064815260200161203c60649139815250815260200160405180606001604052807f696e742d657870000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c0016040528060a08152602001611de660a09139815250815260200160405180606001604052807f696e742d6d6178000000000000000000000000000000000000000000000000008152602001600060ff16815260200160405180608001604052806041815260200161133560419139815250815260200160405180606001604052807f646563696d616c31382d6d6178000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611520605f9139815250815260200160405180606001604052807f696e742d6d696e000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604181526020016112f460419139815250815260200160405180606001604052807f646563696d616c31382d6d696e000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280605f8152602001611aab605f9139815250815260200160405180606001604052807f696e742d6d6f64000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280606481526020016123ea60649139815250815260200160405180606001604052807f696e742d6d756c000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060c001604052806082815260200161244e60829139815250815260200160405180606001604052807f696e742d737562000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a00160405280607f815260200161157f607f9139815250815260200160405180606001604052807f646563696d616c31382d737562000000000000000000000000000000000000008152602001600060ff1681526020016040518060c00160405280609d8152602001611798609d9139815250815260200160405180606001604052807f67657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060800160405280604281526020016110ff60429139815250815260200160405180606001604052807f73657400000000000000000000000000000000000000000000000000000000008152602001600060ff1681526020016040518060a0016040528060688152602001611d3b60689139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d696e0000000000000000000000008152602001601060ff168152602001604051806101e001604052806101b68152602001611e866101b69139815250815260200160405180606001604052807f756e69737761702d76322d616d6f756e742d6f757400000000000000000000008152602001601060ff168152602001604051806101e001604052806101b381526020016111416101b391399052905260298082526040519192508291610fc890839060200161105e565b60405160208183030381529060405294505050505090565b6000815180845260005b8181101561100657602081850181015186830182015201610fea565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006110576020830184610fe0565b9392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156110f0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805184528781015160ff168885015286015160608785018190526110dc81860183610fe0565b968901969450505090860190600101611085565b50909897505050505050505056fe4765747320612076616c75652066726f6d2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f206c6f6f6b75702e436f6d707574657320746865206d6178696d756d20616d6f756e74206f66206f757470757420746f6b656e732072656365697665642066726f6d206120676976656e20616d6f756e74206f6620696e70757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f6620696e70757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e54726561747320696e7075747320617320706169727769736520636f6e646974696f6e2f76616c75652070616972732e20546865206669727374206e6f6e7a65726f20636f6e646974696f6e27732076616c756520697320757365642e204966206e6f20636f6e646974696f6e7320617265206e6f6e7a65726f2c207468652065787072657373696f6e20726576657274732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520696e70757420697320302c2030206f74686572776973652e546865206d6178696d756d20706f737369626c6520313820646563696d616c20666978656420706f696e742076616c75652e20726f7567686c7920312e31356537372e546865206669727374206e6f6e2d7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620657665727920696e70757420697320302e46696e647320746865206d6178696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e707574206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e436f7069657320612076616c75652066726f6d2074686520636f6e746578742e20546865206669727374206f706572616e642069732074686520636f6e7465787420636f6c756d6e20616e64207365636f6e642069732074686520636f6e7465787420726f772e5265766572747320696620616e7920696e70757420697320302e20416c6c20696e70757473206172652065616765726c79206576616c756174656420746865726520617265206e6f206f7574707574732e20546865206f706572616e642063616e206265207573656420617320616e206572726f7220636f646520746f20646966666572656e7469617465206265747765656e206d756c7469706c6520636f6e646974696f6e7320696e207468652073616d652065787072657373696f6e2e312069662074686520666972737420696e707574206973206c657373207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e436f7069657320616e206578697374696e672076616c75652066726f6d2074686520737461636b2e53756274726163747320616c6c20696e707574732066726f6d2074686520666972737420696e70757420617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865207375627472616374696f6e20776f756c6420726573756c7420696e2061206e656761746976652076616c75652e546865206d6178696d756d20706f737369626c65206e6f6e2d6e6567617469766520696e74656765722076616c75652e20325e323536202d20312e546865206c617374206e6f6e7a65726f2076616c7565206f7574206f6620616c6c20696e707574732c206f72203020696620616e7920696e70757420697320302e436f70696573206120636f6e7374616e742076616c7565206f6e746f2074686520737461636b2e4164647320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c652066726f6d2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e46696e647320746865206d696e696d756d2076616c75652066726f6d20616c6c20696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e5363616c657320612076616c75652066726f6d20736f6d6520666978656420706f696e7420646563696d616c207363616c6520746f20313820646563696d616c20666978656420706f696e742e2054686520666972737420696e70757420697320746865207363616c6520746f207363616c652066726f6d20616e6420746865207365636f6e64206973207468652076616c756520746f207363616c652e205468652074776f206f7074696f6e616c206f706572616e647320636f6e74726f6c20726f756e64696e6720616e642073617475726174696f6e20726573706563746976656c79206173207065722060646563696d616c31382d7363616c653138602e3120696620616c6c20696e707574732061726520657175616c2c2030206f74686572776973652e4164647320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206164646974696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e49662074686520666972737420696e707574206973206e6f6e7a65726f2c20746865207365636f6e6420696e70757420697320757365642e204f74686572776973652c2074686520746869726420696e70757420697320757365642e2049662069732065616765726c79206576616c75617465642e5365747320612076616c756520696e2073746f726167652e20546865206669727374206f706572616e6420697320746865206b657920746f2073657420616e6420746865207365636f6e64206f706572616e64206973207468652076616c756520746f207365742e312069662074686520666972737420696e7075742069732067726561746572207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e5261697365732074686520666972737420696e70757420746f2074686520706f776572206f6620616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206578706f6e656e74696174696f6e20776f756c642065786365656420746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e436f6d707574657320746865206d696e696d756d20616d6f756e74206f6620696e70757420746f6b656e7320726571756972656420746f20676574206120676976656e20616d6f756e74206f66206f757470757420746f6b656e732066726f6d206120556e6973776170563220706169722e20496e7075742f6f757470757420746f6b656e20646972656374696f6e73206172652066726f6d20746865207065727370656374697665206f662074686520556e697377617020636f6e74726163742e2054686520666972737420696e7075742069732074686520666163746f727920616464726573732c20746865207365636f6e642069732074686520616d6f756e74206f66206f757470757420746f6b656e732c207468652074686972642069732074686520696e70757420746f6b656e20616464726573732c20616e642074686520666f7572746820697320746865206f757470757420746f6b656e20616464726573732e20496620746865206f706572616e64206973203120746865206c6173742074696d652074686520707269636573206368616e6765642077696c6c2062652072657475726e65642061732077656c6c2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e446976696465732074686520666972737420696e70757420627920616c6c206f7468657220696e7075747320617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620616e792064697669736f72206973207a65726f2e312069662074686520666972737420696e707574206973206c657373207468616e20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d756c7469706c69657320616c6c20696e7075747320746f67657468657220617320666978656420706f696e7420313820646563696d616c206e756d626572732028692e652e20276f6e65272069732031653138292e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e5363616c657320616e20696e7075742076616c75652066726f6d20313820646563696d616c20666978656420706f696e7420746f20736f6d65206f7468657220666978656420706f696e74207363616c65204e2e20546865206669727374206f706572616e6420697320746865207363616c6520746f207363616c6520746f2e20546865207365636f6e6420286f7074696f6e616c29206f706572616e6420636f6e74726f6c7320726f756e64696e672077686572652030202864656661756c742920726f756e647320646f776e20616e64203120726f756e64732075702e2054686520746869726420286f7074696f6e616c29206f706572616e6420636f6e74726f6c732073617475726174696f6e2077686572652030202864656661756c7429206572726f7273206f6e206f766572666c6f7720616e64203120736174757261746573206174206d61782d646563696d616c2d76616c75652e48617368657320616c6c20696e7075747320696e746f20612073696e676c6520333220627974652076616c7565207573696e67206b656363616b3235362e312069662074686520666972737420696e7075742069732067726561746572207468616e206f7220657175616c20746f20746865207365636f6e6420696e7075742c2030206f74686572776973652e4d6f64756c6f732074686520666972737420696e70757420627920616c6c206f7468657220696e70757473206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620616e792064697669736f72206973207a65726f2e4d756c7469706c69657320616c6c20696e7075747320746f676574686572206173206e6f6e2d6e6567617469766520696e7465676572732e204572726f727320696620746865206d756c7469706c69636174696f6e206578636565647320746865206d6178696d756d2076616c75652028726f7567686c7920312e3135653737292e", - "sourceMap": "291:162:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;326:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;377:12;409:35;:33;:35::i;:::-;402:42;;326:125;:::o;2522:11731:102:-;-1:-1:-1;;;2570:12:102;-1:-1:-1;;;;;;;;;;;;;;;;;;;2642:60:102;:11343;;;;;;;;2719:17;2642:11343;;;;2827:101;;;;;;;;;;;;;295:4:142;2827:101:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;2942:103;;;;;;;;;;;;;295:4:142;2942:103:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3145:242;;;;;;;;;;;;;366:4:142;3145:242:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3401:151;;;;;;;;;;;;;241:1:142;3401:151:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3566:92;;;;;;;;;;;;;241:1:142;3566:92:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3672:84;;;;;;;;;;;;;241:1:142;3672:84:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3770:189;;;;;;;;;;;;;241:1:142;3770:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;3973:203;;;;;;;;;;;;;241:1:142;3973:203:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4190:98;;;;;;;;;;;;;241:1:142;4190:98:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4302:189;;;;;;;;;;;;;241:1:142;4302:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4505:385;;;;;;;;;;;;;295:4:142;4505:385:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;4904:315;;;;;;;;;;;;;295:4:142;4904:315:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5233:102;;;;;;;;;;;;;241:1:142;5233:102:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5349:187;;;;;;;;;;;;;241:1:142;5349:187:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5550:196;;;;;;;;;;;;;241:1:142;5550:196:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5760:220;;;;;;;;;;;;;241:1:142;5760:220:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;5994:236;;;;;;;;;;;;;241:1:142;5994:236:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6244:95;;;;;;;;;;;;;241:1:142;6244:95:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6353:190;;;;;;;;;;;;;241:1:142;6353:190:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6557:214;;;;;;;;;;;;;241:1:142;6557:214:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;6785:260;;;;;;;;;;;;;241:1:142;6785:260:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7059:290;;;;;;;;;;;;;241:1:142;7059:290:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7363:394;;;;;;;;;;;;;417:4:142;7363:394:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;7771:480;;;;;;;;;;;;;470:4:142;7771:480:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8265:478;;;;;;;;;;;;;470:4:142;8265:478:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;8901:242;;;;;;;;;;;;;241:1:142;8901:242:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9157:278;;;;;;;;;;;;;241:1:142;9157:278:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9449:224;;;;;;;;;;;;;241:1:142;9449:224:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;9687:284;;;;;;;;;;;;;241:1:142;9687:284:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10129:189;;;;;;;;;;;;;241:1:142;10129:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10332:225;;;;;;;;;;;;;241:1:142;10332:225:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10715:189;;;;;;;;;;;;;241:1:142;10715:189:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;10918:225;;;;;;;;;;;;;241:1:142;10918:225:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11157:224;;;;;;;;;;;;;241:1:142;11157:224:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11395:254;;;;;;;;;;;;;241:1:142;11395:254:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;11807:251;;;;;;;;;;;;;241:1:142;11807:251:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12072:287;;;;;;;;;;;;;241:1:142;12072:287:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12373:186;;;;;;;;;;;;;241:1:142;12373:186:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12573:224;;;;;;;;;;;;;241:1:142;12573:224:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;12811:576;;;;;;;;;;;;;295:4:142;12811:576:102;;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;;;13401:574;;;;;;;;;;;;;295:4:142;13401:574:102;;;;;;;;;;;;;;;;;;;;;;;;;2642:11343;;2305:2;14168:28;;;14222:24;;2642:11343;;-1:-1:-1;2642:11343:102;;14222:24;;2642:11343;;14222:24;;;:::i;:::-;;;;;;;;;;;;;14215:31;;;;;;2522:11731;:::o;14:481:212:-;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;484:4;414:66;409:2;401:6;397:15;393:88;388:3;384:98;380:109;373:116;;;14:481;;;;:::o;500:217::-;647:2;636:9;629:21;610:4;667:44;707:2;696:9;692:18;684:6;667:44;:::i;:::-;659:52;500:217;-1:-1:-1;;;500:217:212:o;722:1193::-;928:4;957:2;997;986:9;982:18;1027:2;1016:9;1009:21;1050:6;1085;1079:13;1116:6;1108;1101:22;1142:2;1132:12;;1175:2;1164:9;1160:18;1153:25;;1237:2;1227:6;1224:1;1220:14;1209:9;1205:30;1201:39;1275:2;1267:6;1263:15;1296:1;1306:580;1320:6;1317:1;1314:13;1306:580;;;1385:22;;;1409:66;1381:95;1369:108;;1500:13;;1568:9;;1553:25;;1625:11;;;1619:18;1639:4;1615:29;1598:15;;;1591:54;1684:11;;1678:18;1536:4;1716:15;;;1709:27;;;1759:47;1790:15;;;1678:18;1759:47;:::i;:::-;1864:12;;;;1749:57;-1:-1:-1;;;1829:15:212;;;;1342:1;1335:9;1306:580;;;-1:-1:-1;1903:6:212;;722:1193;-1:-1:-1;;;;;;;;722:1193:212:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAuthoringMeta()": "c316e48a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAuthoringMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"AuthoringMetaGetter A contract to obtain the current AuthoringMeta of the interpreter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/util/subgraph/AuthoringMetaGetter.sol\":\"AuthoringMetaGetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"test/util/subgraph/AuthoringMetaGetter.sol\":{\"keccak256\":\"0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4\",\"dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "getAuthoringMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "test/util/subgraph/AuthoringMetaGetter.sol": "AuthoringMetaGetter" - }, - "libraries": {} - }, - "sources": { - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/Common.sol": { - "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", - "urls": [ - "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", - "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { - "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", - "urls": [ - "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", - "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { - "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", - "urls": [ - "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", - "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { - "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", - "urls": [ - "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", - "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { - "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", - "urls": [ - "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", - "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { - "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", - "urls": [ - "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", - "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { - "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", - "urls": [ - "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", - "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { - "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", - "urls": [ - "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", - "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { - "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", - "urls": [ - "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", - "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { - "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", - "urls": [ - "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", - "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { - "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", - "urls": [ - "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", - "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { - "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", - "urls": [ - "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", - "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { - "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", - "urls": [ - "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", - "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { - "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", - "urls": [ - "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", - "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { - "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", - "urls": [ - "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", - "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { - "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", - "urls": [ - "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", - "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { - "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", - "urls": [ - "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", - "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { - "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", - "urls": [ - "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", - "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { - "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", - "urls": [ - "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", - "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { - "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", - "urls": [ - "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", - "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { - "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", - "urls": [ - "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", - "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { - "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", - "urls": [ - "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", - "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { - "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", - "urls": [ - "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", - "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { - "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", - "urls": [ - "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", - "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", - "urls": [ - "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", - "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", - "urls": [ - "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", - "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" - ], - "license": null - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", - "urls": [ - "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", - "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" - ], - "license": null - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { - "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", - "urls": [ - "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", - "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { - "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", - "urls": [ - "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", - "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { - "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", - "urls": [ - "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", - "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { - "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", - "urls": [ - "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", - "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { - "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", - "urls": [ - "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", - "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { - "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", - "urls": [ - "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", - "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { - "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", - "urls": [ - "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", - "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { - "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", - "urls": [ - "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", - "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { - "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", - "urls": [ - "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", - "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { - "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", - "urls": [ - "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", - "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { - "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", - "urls": [ - "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", - "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { - "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", - "urls": [ - "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", - "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { - "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", - "urls": [ - "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", - "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { - "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", - "urls": [ - "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", - "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { - "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", - "urls": [ - "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", - "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { - "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", - "urls": [ - "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", - "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { - "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", - "urls": [ - "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", - "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { - "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", - "urls": [ - "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", - "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { - "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", - "urls": [ - "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", - "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { - "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", - "urls": [ - "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", - "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { - "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", - "urls": [ - "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", - "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { - "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", - "urls": [ - "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", - "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { - "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", - "urls": [ - "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", - "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { - "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", - "urls": [ - "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", - "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { - "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", - "urls": [ - "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", - "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { - "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", - "urls": [ - "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", - "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { - "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", - "urls": [ - "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", - "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { - "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", - "urls": [ - "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", - "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { - "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", - "urls": [ - "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", - "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { - "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", - "urls": [ - "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", - "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { - "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", - "urls": [ - "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", - "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { - "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", - "urls": [ - "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", - "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { - "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", - "urls": [ - "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", - "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { - "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", - "urls": [ - "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", - "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { - "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", - "urls": [ - "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", - "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { - "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", - "urls": [ - "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", - "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { - "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", - "urls": [ - "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", - "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { - "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", - "urls": [ - "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", - "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { - "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", - "urls": [ - "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", - "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { - "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", - "urls": [ - "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", - "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParse.sol": { - "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", - "urls": [ - "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", - "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { - "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", - "urls": [ - "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", - "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { - "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", - "urls": [ - "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", - "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { - "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", - "urls": [ - "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", - "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { - "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", - "urls": [ - "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", - "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { - "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", - "urls": [ - "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", - "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { - "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", - "urls": [ - "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", - "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { - "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", - "urls": [ - "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", - "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { - "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", - "urls": [ - "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", - "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { - "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", - "urls": [ - "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", - "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { - "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", - "urls": [ - "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", - "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemory.sol": { - "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", - "urls": [ - "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", - "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibStackPointer.sol": { - "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", - "urls": [ - "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", - "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - }, - "test/util/subgraph/AuthoringMetaGetter.sol": { - "keccak256": "0x36628b3a177158bc8e207f35f04a03e3aa7a648a3ba67754d04e72159ba81d07", - "urls": [ - "bzz-raw://574962e7118f27ca4b33e0a96ec0b273a7101a8fe753f55575e0694bf63170e4", - "dweb:/ipfs/QmRc1pXaakCHcby9NrYY9yR5eGP4Gug8RPAsmCUfFNqKEt" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "test/util/subgraph/AuthoringMetaGetter.sol", - "id": 87173, - "exportedSymbols": { - "ALL_STANDARD_OPS_LENGTH": [ - 58281 - ], - "Address": [ - 45143 - ], - "AuthoringMeta": [ - 68882 - ], - "AuthoringMetaGetter": [ - 87172 - ], - "B_1": [ - 54813 - ], - "B_11": [ - 54821 - ], - "B_111": [ - 54829 - ], - "B_1111": [ - 54837 - ], - "B_11111": [ - 54845 - ], - "B_111111": [ - 54853 - ], - "B_1111111": [ - 54861 - ], - "B_11111111": [ - 54869 - ], - "B_111111111": [ - 54877 - ], - "B_1111111111": [ - 54885 - ], - "B_11111111111": [ - 54893 - ], - "B_111111111111": [ - 54901 - ], - "B_1111111111111": [ - 54909 - ], - "B_11111111111111": [ - 54917 - ], - "B_111111111111111": [ - 54925 - ], - "B_1111111111111111": [ - 54933 - ], - "BadDynamicLength": [ - 58277 - ], - "BadOpInputsLength": [ - 57629 - ], - "Casting": [ - 53867 - ], - "CastingErrors": [ - 52080 - ], - "Common": [ - 53111 - ], - "DEFAULT_STATE_NAMESPACE": [ - 56316 - ], - "E": [ - 52393 - ], - "EXP2_MAX_INPUT": [ - 52417 - ], - "EXP_MAX_INPUT": [ - 52404 - ], - "EncodedDispatch": [ - 56304 - ], - "EnsureFailed": [ - 59719 - ], - "EntrypointMinOutputs": [ - 57620 - ], - "EntrypointMissing": [ - 57604 - ], - "EntrypointNonZeroInput": [ - 57611 - ], - "Errors": [ - 53112 - ], - "FIXED_POINT_DECIMALS": [ - 71265 - ], - "FIXED_POINT_ONE": [ - 71269 - ], - "FLAG_MAX_INT": [ - 71285 - ], - "FLAG_ROUND_UP": [ - 71273 - ], - "FLAG_SATURATE": [ - 71279 - ], - "FullyQualifiedNamespace": [ - 56265 - ], - "HALF_UNIT": [ - 52428 - ], - "Helpers": [ - 53868 - ], - "IInterpreterStoreV1": [ - 56297 - ], - "IInterpreterV1": [ - 56347 - ], - "IUniswapV2Factory": [ - 55060 - ], - "IUniswapV2Pair": [ - 55302 - ], - "IntegrityCheckStateNP": [ - 57674 - ], - "InterpreterStateNP": [ - 70705 - ], - "LOG2_10": [ - 52439 - ], - "LOG2_E": [ - 52450 - ], - "LibAllStandardOpsNP": [ - 58838 - ], - "LibBytecode": [ - 56792 - ], - "LibBytes": [ - 72156 - ], - "LibConvert": [ - 54245 - ], - "LibFixedPointDecimalScale": [ - 71746 - ], - "LibIntegrityCheckNP": [ - 57992 - ], - "LibInterpreterStateNP": [ - 70750 - ], - "LibMemCpy": [ - 72188 - ], - "LibMemory": [ - 72199 - ], - "LibMemoryKV": [ - 71259 - ], - "LibNamespace": [ - 58010 - ], - "LibOpAnyNP": [ - 59521 - ], - "LibOpBlockNumberNP": [ - 59150 - ], - "LibOpChainIdNP": [ - 59229 - ], - "LibOpConditionsNP": [ - 59707 - ], - "LibOpConstantNP": [ - 58130 - ], - "LibOpContextNP": [ - 58981 - ], - "LibOpDecimal18DivNP": [ - 60816 - ], - "LibOpDecimal18MulNP": [ - 61037 - ], - "LibOpDecimal18Scale18DynamicNP": [ - 61148 - ], - "LibOpDecimal18Scale18NP": [ - 61265 - ], - "LibOpDecimal18ScaleNNP": [ - 61382 - ], - "LibOpEnsureNP": [ - 59876 - ], - "LibOpEqualToNP": [ - 59960 - ], - "LibOpEveryNP": [ - 60087 - ], - "LibOpGetNP": [ - 62924 - ], - "LibOpGreaterThanNP": [ - 60171 - ], - "LibOpGreaterThanOrEqualToNP": [ - 60255 - ], - "LibOpHashNP": [ - 59071 - ], - "LibOpIfNP": [ - 60341 - ], - "LibOpIntAddNP": [ - 61545 - ], - "LibOpIntDivNP": [ - 61708 - ], - "LibOpIntExpNP": [ - 61877 - ], - "LibOpIntMaxNP": [ - 62057 - ], - "LibOpIntMinNP": [ - 62237 - ], - "LibOpIntModNP": [ - 62400 - ], - "LibOpIntMulNP": [ - 62563 - ], - "LibOpIntSubNP": [ - 62726 - ], - "LibOpIsZeroNP": [ - 60423 - ], - "LibOpLessThanNP": [ - 60507 - ], - "LibOpLessThanOrEqualToNP": [ - 60591 - ], - "LibOpMaxUint256NP": [ - 59319 - ], - "LibOpSetNP": [ - 63047 - ], - "LibOpStackNP": [ - 58221 - ], - "LibOpTimestampNP": [ - 59398 - ], - "LibOpUniswapV2AmountIn": [ - 63254 - ], - "LibOpUniswapV2AmountOut": [ - 63461 - ], - "LibPointer": [ - 72323 - ], - "LibStackPointer": [ - 72486 - ], - "LibUint256Array": [ - 72714 - ], - "LibUniswapV2": [ - 71121 - ], - "LibWillOverflow": [ - 71965 - ], - "MASK_10BIT": [ - 54973 - ], - "MASK_11BIT": [ - 54977 - ], - "MASK_12BIT": [ - 54981 - ], - "MASK_13BIT": [ - 54985 - ], - "MASK_14BIT": [ - 54989 - ], - "MASK_15BIT": [ - 54993 - ], - "MASK_16BIT": [ - 54997 - ], - "MASK_1BIT": [ - 54937 - ], - "MASK_2BIT": [ - 54941 - ], - "MASK_3BIT": [ - 54945 - ], - "MASK_4BIT": [ - 54949 - ], - "MASK_5BIT": [ - 54953 - ], - "MASK_6BIT": [ - 54957 - ], - "MASK_7BIT": [ - 54961 - ], - "MASK_8BIT": [ - 54965 - ], - "MASK_9BIT": [ - 54969 - ], - "MAX_UD60x18": [ - 52461 - ], - "MAX_UINT128": [ - 47114 - ], - "MAX_UINT40": [ - 47122 - ], - "MAX_WHOLE_UD60x18": [ - 52472 - ], - "Math": [ - 53869 - ], - "MemoryKV": [ - 71172 - ], - "MemoryKVKey": [ - 71174 - ], - "MemoryKVVal": [ - 71176 - ], - "NO_STORE": [ - 56274 - ], - "NoConditionsMet": [ - 59531 - ], - "OPERAND_PARSER_OFFSET_8_M1_M1": [ - 69599 - ], - "OPERAND_PARSER_OFFSET_DISALLOWED": [ - 69587 - ], - "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ - 69593 - ], - "OPERAND_PARSER_OFFSET_M1_M1": [ - 69596 - ], - "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ - 69590 - ], - "OVERFLOW_RESCALE_OOMS": [ - 71289 - ], - "OZMath": [ - 46816 - ], - "Operand": [ - 56308 - ], - "OutOfBoundsConstantRead": [ - 58023 - ], - "OutOfBoundsStackRead": [ - 58144 - ], - "OutOfBoundsTruncate": [ - 72496 - ], - "PI": [ - 52480 - ], - "PRBMath_UD60x18_Ceil_Overflow": [ - 52579 - ], - "PRBMath_UD60x18_Convert_Overflow": [ - 52584 - ], - "PRBMath_UD60x18_Exp2_InputTooBig": [ - 52596 - ], - "PRBMath_UD60x18_Exp_InputTooBig": [ - 52590 - ], - "PRBMath_UD60x18_Gm_Overflow": [ - 52605 - ], - "PRBMath_UD60x18_IntoSD1x18_Overflow": [ - 52611 - ], - "PRBMath_UD60x18_IntoSD59x18_Overflow": [ - 52617 - ], - "PRBMath_UD60x18_IntoUD2x18_Overflow": [ - 52623 - ], - "PRBMath_UD60x18_IntoUint128_Overflow": [ - 52629 - ], - "PRBMath_UD60x18_IntoUint40_Overflow": [ - 52635 - ], - "PRBMath_UD60x18_Log_InputTooSmall": [ - 52641 - ], - "PRBMath_UD60x18_Sqrt_Overflow": [ - 52647 - ], - "Pointer": [ - 72203 - ], - "SD1x18": [ - 49211 - ], - "SD59x18": [ - 51696 - ], - "SourceIndex": [ - 56302 - ], - "SourceOffsetOutOfBounds": [ - 56523 - ], - "StackAllocationMismatch": [ - 57654 - ], - "StackOutputsMismatch": [ - 57661 - ], - "StackUnderflow": [ - 57638 - ], - "StackUnderflowHighwater": [ - 57647 - ], - "StateNamespace": [ - 56306 - ], - "TruncateError": [ - 72088 - ], - "UD2x18": [ - 52067 - ], - "UD60x18": [ - 53871 - ], - "UNIT": [ - 52491 - ], - "UNIT_SQUARED": [ - 52502 - ], - "UnalignedStackPointer": [ - 72334 - ], - "ZERO": [ - 52510 - ], - "add": [ - 52679 - ], - "and": [ - 52702 - ], - "and2": [ - 52728 - ], - "avg": [ - 53172 - ], - "ceil": [ - 53201 - ], - "convert": [ - 52538, - 52569 - ], - "div": [ - 53230 - ], - "eq": [ - 52751 - ], - "exp": [ - 53275 - ], - "exp2": [ - 53321 - ], - "floor": [ - 53333 - ], - "frac": [ - 53345 - ], - "gm": [ - 53412 - ], - "gt": [ - 52774 - ], - "gte": [ - 52797 - ], - "intoSD1x18": [ - 52145 - ], - "intoSD59x18": [ - 52226 - ], - "intoUD2x18": [ - 52184 - ], - "intoUint128": [ - 52278 - ], - "intoUint256": [ - 52243 - ], - "intoUint40": [ - 52313 - ], - "inv": [ - 53434 - ], - "isZero": [ - 52815 - ], - "ln": [ - 53460 - ], - "log10": [ - 53511 - ], - "log2": [ - 53615 - ], - "lshift": [ - 52838 - ], - "lt": [ - 52861 - ], - "lte": [ - 52884 - ], - "mod": [ - 52910 - ], - "mul": [ - 53643 - ], - "neq": [ - 52933 - ], - "not": [ - 52953 - ], - "or": [ - 52979 - ], - "pow": [ - 53750 - ], - "powu": [ - 53822 - ], - "rshift": [ - 53002 - ], - "sqrt": [ - 53864 - ], - "sub": [ - 53028 - ], - "uEXP2_MAX_INPUT": [ - 52410 - ], - "uEXP_MAX_INPUT": [ - 52397 - ], - "uHALF_UNIT": [ - 52421 - ], - "uLOG2_10": [ - 52432 - ], - "uLOG2_E": [ - 52443 - ], - "uMAX_SD1x18": [ - 49128 - ], - "uMAX_SD59x18": [ - 49691 - ], - "uMAX_UD2x18": [ - 52020 - ], - "uMAX_UD60x18": [ - 52454 - ], - "uMAX_WHOLE_UD60x18": [ - 52465 - ], - "uUNIT": [ - 52484 - ], - "uUNIT_SQUARED": [ - 52495 - ], - "ud": [ - 52330 - ], - "ud60x18": [ - 52347 - ], - "uncheckedAdd": [ - 53055 - ], - "uncheckedSub": [ - 53082 - ], - "unwrap": [ - 52364 - ], - "wrap": [ - 52381 - ], - "xor": [ - 53108 - ] - }, - "nodeType": "SourceUnit", - "src": "32:422:211", - "nodes": [ - { - "id": 87158, - "nodeType": "PragmaDirective", - "src": "32:24:211", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 87159, - "nodeType": "ImportDirective", - "src": "58:64:211", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "nameLocation": "-1:-1:-1", - "scope": 87173, - "sourceUnit": 45144, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 87160, - "nodeType": "ImportDirective", - "src": "123:65:211", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", - "file": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 87173, - "sourceUnit": 58839, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 87172, - "nodeType": "ContractDefinition", - "src": "291:162:211", - "nodes": [ - { - "id": 87171, - "nodeType": "FunctionDefinition", - "src": "326:125:211", - "nodes": [], - "body": { - "id": 87170, - "nodeType": "Block", - "src": "392:59:211", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 87166, - "name": "LibAllStandardOpsNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58838, - "src": "409:19:211", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58838_$", - "typeString": "type(library LibAllStandardOpsNP)" - } - }, - "id": 87167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "429:13:211", - "memberName": "authoringMeta", - "nodeType": "MemberAccess", - "referencedDeclaration": 58524, - "src": "409:33:211", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 87168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "409:35:211", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 87165, - "id": 87169, - "nodeType": "Return", - "src": "402:42:211" - } - ] - }, - "functionSelector": "c316e48a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAuthoringMeta", - "nameLocation": "335:16:211", - "parameters": { - "id": 87162, - "nodeType": "ParameterList", - "parameters": [], - "src": "351:2:211" - }, - "returnParameters": { - "id": 87165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87164, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 87171, - "src": "377:12:211", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 87163, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "377:5:211", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "376:14:211" - }, - "scope": 87172, - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "AuthoringMetaGetter", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 87161, - "nodeType": "StructuredDocumentation", - "src": "190:101:211", - "text": "@title AuthoringMetaGetter\n A contract to obtain the current AuthoringMeta of the interpreter" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 87172 - ], - "name": "AuthoringMetaGetter", - "nameLocation": "300:19:211", - "scope": 87173, - "usedErrors": [] - } - ], - "license": "CAL" - }, - "id": 211 -} \ No newline at end of file diff --git a/subgraph/tests/generated/ERC20Mock.json b/subgraph/tests/generated/ERC20Mock.json deleted file mode 100644 index 80c49e620d..0000000000 --- a/subgraph/tests/generated/ERC20Mock.json +++ /dev/null @@ -1,1271 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "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" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040518060400160405280600981526020016845524332304d6f636b60b81b815250604051806040016040528060048152602001634532304d60e01b81525081600390816200006291906200011f565b5060046200007182826200011f565b505050620001eb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a557607f821691505b602082108103620000c657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011a57600081815260208120601f850160051c81016020861015620000f55750805b601f850160051c820191505b81811015620001165782815560010162000101565b5050505b505050565b81516001600160401b038111156200013b576200013b6200007a565b62000153816200014c845462000090565b84620000cc565b602080601f8311600181146200018b5760008415620001725750858301515b600019600386901b1c1916600185901b17855562000116565b600085815260208120601f198616915b82811015620001bc578886015182559484019460019091019084016200019b565b5085821015620001db5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610aa280620001fb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101a2578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806340c10f191461015c57806370a082311461017157806395d89b411461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e991906108ec565b60405180910390f35b610105610100366004610956565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610980565b61029a565b604051601281526020016100e9565b610105610157366004610956565b6102be565b61016f61016a366004610956565b6102e0565b005b61011961017f3660046109bc565b6001600160a01b031660009081526020819052604090205490565b6100dc6102ee565b61016f6101b0366004610956565b6102fd565b6101056101c3366004610956565b610307565b6101056101d6366004610956565b610387565b6101196101e93660046109de565b610395565b6060600380546101fd90610a11565b80601f016020809104026020016040519081016040528092919081815260200182805461022990610a11565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103c0565b60019150505b92915050565b6000336102a88582856104e5565b6102b385858561055f565b506001949350505050565b60003361028e8185856102d18383610395565b6102db9190610a4b565b6103c0565b6102ea8282610703565b5050565b6060600480546101fd90610a11565b6102ea82826107c2565b600033816103158286610395565b90508381101561037a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b382868684036103c0565b60003361028e81858561055f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b0382166104835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610371565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104f18484610395565b90506000198114610559578181101561054c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610371565b61055984848484036103c0565b50505050565b6001600160a01b0383166105c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610371565b6001600160a01b0382166106255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610371565b6001600160a01b0383166000908152602081905260409020548181101561069d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610371565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610559565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610371565b806002600082825461076b9190610a4b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166108225760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610371565b6001600160a01b038216600090815260208190526040902054818110156108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610371565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104d8565b600060208083528351808285015260005b81811015610919578581018301518582016040015282016108fd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095157600080fd5b919050565b6000806040838503121561096957600080fd5b6109728361093a565b946020939093013593505050565b60008060006060848603121561099557600080fd5b61099e8461093a565b92506109ac6020850161093a565b9150604084013590509250925092565b6000602082840312156109ce57600080fd5b6109d78261093a565b9392505050565b600080604083850312156109f157600080fd5b6109fa8361093a565b9150610a086020840161093a565b90509250929050565b600181811c90821680610a2557607f821691505b602082108103610a4557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561029457634e487b7160e01b600052601160045260246000fdfea26469706673582212202d7597b2dd2f4b94ffb19355f2921eb82c48391601c4fa9d14d5912e7bb8ee6464736f6c63430008130033", - "sourceMap": "106:281:87:-:0;;;140:43;;;;;;;;;;1980:113:175;;;;;;;;;;;;;-1:-1:-1;;;1980:113:175;;;;;;;;;;;;;;;;-1:-1:-1;;;1980:113:175;;;2054:5;2046;:13;;;;;;:::i;:::-;-1:-1:-1;2069:7:175;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;106:281:87;;14:127:287;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:287;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:287;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:287;;;2580:26;2531:89;-1:-1:-1;;1335:1:287;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:287;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:287;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:287;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:287:o;:::-;106:281:87;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101a2578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806340c10f191461015c57806370a082311461017157806395d89b411461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e991906108ec565b60405180910390f35b610105610100366004610956565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610980565b61029a565b604051601281526020016100e9565b610105610157366004610956565b6102be565b61016f61016a366004610956565b6102e0565b005b61011961017f3660046109bc565b6001600160a01b031660009081526020819052604090205490565b6100dc6102ee565b61016f6101b0366004610956565b6102fd565b6101056101c3366004610956565b610307565b6101056101d6366004610956565b610387565b6101196101e93660046109de565b610395565b6060600380546101fd90610a11565b80601f016020809104026020016040519081016040528092919081815260200182805461022990610a11565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103c0565b60019150505b92915050565b6000336102a88582856104e5565b6102b385858561055f565b506001949350505050565b60003361028e8185856102d18383610395565b6102db9190610a4b565b6103c0565b6102ea8282610703565b5050565b6060600480546101fd90610a11565b6102ea82826107c2565b600033816103158286610395565b90508381101561037a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b382868684036103c0565b60003361028e81858561055f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b0382166104835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610371565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104f18484610395565b90506000198114610559578181101561054c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610371565b61055984848484036103c0565b50505050565b6001600160a01b0383166105c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610371565b6001600160a01b0382166106255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610371565b6001600160a01b0383166000908152602081905260409020548181101561069d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610371565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610559565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610371565b806002600082825461076b9190610a4b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166108225760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610371565b6001600160a01b038216600090815260208190526040902054818110156108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610371565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104d8565b600060208083528351808285015260005b81811015610919578581018301518582016040015282016108fd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095157600080fd5b919050565b6000806040838503121561096957600080fd5b6109728361093a565b946020939093013593505050565b60008060006060848603121561099557600080fd5b61099e8461093a565b92506109ac6020850161093a565b9150604084013590509250925092565b6000602082840312156109ce57600080fd5b6109d78261093a565b9392505050565b600080604083850312156109f157600080fd5b6109fa8361093a565b9150610a086020840161093a565b90509250929050565b600181811c90821680610a2557607f821691505b602082108103610a4557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561029457634e487b7160e01b600052601160045260246000fdfea26469706673582212202d7597b2dd2f4b94ffb19355f2921eb82c48391601c4fa9d14d5912e7bb8ee6464736f6c63430008130033", - "sourceMap": "106:281:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98:175;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:287;;1162:22;1144:41;;1132:2;1117:18;4444:197:175;1004:187:287;3255:106:175;3342:12;;3255:106;;;1342:25:287;;;1330:2;1315:18;3255:106:175;1196:177:287;5203:256:175;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:287;;1841:2;1826:18;3104:91:175;1711:184:287;5854:234:175;;;;;;:::i;:::-;;:::i;189:95:87:-;;;;;;:::i;:::-;;:::i;:::-;;3419:125:175;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:175;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;290:95:87:-;;;;;;:::i;:::-;;:::i;6575:427:175:-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:221;4581:32:175;719:10:221;4597:7:175;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:221;5356:38:175;5372:4;719:10:221;5387:6:175;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:175;;5203:256;-1:-1:-1;;;;5203:256:175:o;5854:234::-;5942:4;719:10:221;5996:64:175;719:10:221;6012:7:175;6049:10;6021:25;719:10:221;6012:7:175;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;189:95:87:-;255:22;261:7;270:6;255:5;:22::i;:::-;189:95;;:::o;2369:102:175:-;2425:13;2457:7;2450:14;;;;;:::i;290:95:87:-;356:22;362:7;371:6;356:5;:22::i;6575:427:175:-;6668:4;719:10:221;6668:4:175;6749:25;719:10:221;6766:7:175;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:175;;3170:2:287;6784:85:175;;;3152:21:287;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:287;;;3292:35;3344:19;;6784:85:175;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:221;3873:28:175;719:10:221;3890:2:175;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:175;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:175;;10550:68;;;;-1:-1:-1;;;10550:68:175;;3576:2:287;10550:68:175;;;3558:21:287;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:287;;;3698:34;3749:19;;10550:68:175;3374:400:287;10550:68:175;-1:-1:-1;;;;;10636:21:175;;10628:68;;;;-1:-1:-1;;;10628:68:175;;3981:2:287;10628:68:175;;;3963:21:287;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:287;;;4103:32;4152:19;;10628:68:175;3779:398:287;10628:68:175;-1:-1:-1;;;;;10707:18:175;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:287;;;10758:32:175;;1315:18:287;10758:32:175;;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:175;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:175;;4384:2:287;11297:68:175;;;4366:21:287;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:175;4182:353:287;11297:68:175;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:175;;7544:68;;;;-1:-1:-1;;;7544:68:175;;4742:2:287;7544:68:175;;;4724:21:287;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:287;;;4864:35;4916:19;;7544:68:175;4540:401:287;7544:68:175;-1:-1:-1;;;;;7630:16:175;;7622:64;;;;-1:-1:-1;;;7622:64:175;;5148:2:287;7622:64:175;;;5130:21:287;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:287;;;5270:33;5320:19;;7622:64:175;4946:399:287;7622:64:175;-1:-1:-1;;;;;7768:15:175;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:175;;5552:2:287;7793:72:175;;;5534:21:287;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:287;;;5674:36;5727:19;;7793:72:175;5350:402:287;7793:72:175;-1:-1:-1;;;;;7899:15:175;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:287;;;8114:13:175;;8163:26;;1315:18:287;8163:26:175;;;;;;;8200:37;9375:659;8520:535;-1:-1:-1;;;;;8603:21:175;;8595:65;;;;-1:-1:-1;;;8595:65:175;;5959:2:287;8595:65:175;;;5941:21:287;5998:2;5978:18;;;5971:30;6037:33;6017:18;;;6010:61;6088:18;;8595:65:175;5757:355:287;8595:65:175;8747:6;8731:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8899:18:175;;:9;:18;;;;;;;;;;;:28;;;;;;8952:37;1342:25:287;;;8952:37:175;;1315:18:287;8952:37:175;;;;;;;189:95:87;;:::o;9375:659:175:-;-1:-1:-1;;;;;9458:21:175;;9450:67;;;;-1:-1:-1;;;9450:67:175;;6319:2:287;9450:67:175;;;6301:21:287;6358:2;6338:18;;;6331:30;6397:34;6377:18;;;6370:62;-1:-1:-1;;;6448:18:287;;;6441:31;6489:19;;9450:67:175;6117:397:287;9450:67:175;-1:-1:-1;;;;;9613:18:175;;9588:22;9613:18;;;;;;;;;;;9649:24;;;;9641:71;;;;-1:-1:-1;;;9641:71:175;;6721:2:287;9641:71:175;;;6703:21:287;6760:2;6740:18;;;6733:30;6799:34;6779:18;;;6772:62;-1:-1:-1;;;6850:18:287;;;6843:32;6892:19;;9641:71:175;6519:398:287;9641:71:175;-1:-1:-1;;;;;9746:18:175;;:9;:18;;;;;;;;;;;9767:23;;;9746:44;;9883:12;:22;;;;;;;9931:37;1342:25:287;;;9746:9:175;;:18;9931:37;;1315:18:287;9931:37:175;1196:177:287;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:287;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:287:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:287:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "mint(address,uint256)": "40c10f19", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin/=contracts/\"]},\"sources\":{\"contracts/mocks/ERC20Mock.sol\":{\"keccak256\":\"0x84e74b44b4a040b78c59f5775b3488568a52b6c444936c7da270d77b8978803a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c3b5d3c0abdf59181985086fa335519b96f3a9489570ee1188fd293b08a7b6f\",\"dweb:/ipfs/Qmey8qcStYDSubZatenoeRoM1ibkpd4nv6Ggdw4sHpct6P\"]},\"contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burn" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "openzeppelin/=contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "contracts/mocks/ERC20Mock.sol": "ERC20Mock" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/ERC20Mock.sol": { - "keccak256": "0x84e74b44b4a040b78c59f5775b3488568a52b6c444936c7da270d77b8978803a", - "urls": [ - "bzz-raw://0c3b5d3c0abdf59181985086fa335519b96f3a9489570ee1188fd293b08a7b6f", - "dweb:/ipfs/Qmey8qcStYDSubZatenoeRoM1ibkpd4nv6Ggdw4sHpct6P" - ], - "license": "MIT" - }, - "contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "contracts/mocks/ERC20Mock.sol", - "id": 10831, - "exportedSymbols": { - "ERC20": [ - 22925 - ], - "ERC20Mock": [ - 10830 - ] - }, - "nodeType": "SourceUnit", - "src": "32:356:87", - "nodes": [ - { - "id": 10791, - "nodeType": "PragmaDirective", - "src": "32:23:87", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ] - }, - { - "id": 10793, - "nodeType": "ImportDirective", - "src": "57:47:87", - "nodes": [], - "absolutePath": "contracts/token/ERC20/ERC20.sol", - "file": "../token/ERC20/ERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 10831, - "sourceUnit": 22926, - "symbolAliases": [ - { - "foreign": { - "id": 10792, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22925, - "src": "65:5:87", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 10830, - "nodeType": "ContractDefinition", - "src": "106:281:87", - "nodes": [ - { - "id": 10803, - "nodeType": "FunctionDefinition", - "src": "140:43:87", - "nodes": [], - "body": { - "id": 10802, - "nodeType": "Block", - "src": "181:2:87", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "45524332304d6f636b", - "id": 10798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "160:11:87", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_33e204670039f8eeeb54743b50a42c4eacdfe9c2a99e7c90a68653a84d2870ae", - "typeString": "literal_string \"ERC20Mock\"" - }, - "value": "ERC20Mock" - }, - { - "hexValue": "4532304d", - "id": 10799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "173:6:87", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e146b19f4863aaa90bb9ad2c640c77b569e376541b06949c872e8cb5e47c42ef", - "typeString": "literal_string \"E20M\"" - }, - "value": "E20M" - } - ], - "id": 10800, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 10797, - "name": "ERC20", - "nameLocations": [ - "154:5:87" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 22925, - "src": "154:5:87" - }, - "nodeType": "ModifierInvocation", - "src": "154:26:87" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 10796, - "nodeType": "ParameterList", - "parameters": [], - "src": "151:2:87" - }, - "returnParameters": { - "id": 10801, - "nodeType": "ParameterList", - "parameters": [], - "src": "181:0:87" - }, - "scope": 10830, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 10816, - "nodeType": "FunctionDefinition", - "src": "189:95:87", - "nodes": [], - "body": { - "id": 10815, - "nodeType": "Block", - "src": "245:39:87", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10811, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10805, - "src": "261:7:87", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10812, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10807, - "src": "270:6:87", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10810, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22742, - "src": "255:5:87", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "255:22:87", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10814, - "nodeType": "ExpressionStatement", - "src": "255:22:87" - } - ] - }, - "functionSelector": "40c10f19", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nameLocation": "198:4:87", - "parameters": { - "id": 10808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10805, - "mutability": "mutable", - "name": "account", - "nameLocation": "211:7:87", - "nodeType": "VariableDeclaration", - "scope": 10816, - "src": "203:15:87", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "203:7:87", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10807, - "mutability": "mutable", - "name": "amount", - "nameLocation": "228:6:87", - "nodeType": "VariableDeclaration", - "scope": 10816, - "src": "220:14:87", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "220:7:87", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "202:33:87" - }, - "returnParameters": { - "id": 10809, - "nodeType": "ParameterList", - "parameters": [], - "src": "245:0:87" - }, - "scope": 10830, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 10829, - "nodeType": "FunctionDefinition", - "src": "290:95:87", - "nodes": [], - "body": { - "id": 10828, - "nodeType": "Block", - "src": "346:39:87", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10824, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10818, - "src": "362:7:87", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10825, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10820, - "src": "371:6:87", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10823, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22814, - "src": "356:5:87", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 10826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "356:22:87", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10827, - "nodeType": "ExpressionStatement", - "src": "356:22:87" - } - ] - }, - "functionSelector": "9dc29fac", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nameLocation": "299:4:87", - "parameters": { - "id": 10821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10818, - "mutability": "mutable", - "name": "account", - "nameLocation": "312:7:87", - "nodeType": "VariableDeclaration", - "scope": 10829, - "src": "304:15:87", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:87", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10820, - "mutability": "mutable", - "name": "amount", - "nameLocation": "329:6:87", - "nodeType": "VariableDeclaration", - "scope": 10829, - "src": "321:14:87", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "321:7:87", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "303:33:87" - }, - "returnParameters": { - "id": 10822, - "nodeType": "ParameterList", - "parameters": [], - "src": "346:0:87" - }, - "scope": 10830, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 10794, - "name": "ERC20", - "nameLocations": [ - "128:5:87" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 22925, - "src": "128:5:87" - }, - "id": 10795, - "nodeType": "InheritanceSpecifier", - "src": "128:5:87" - } - ], - "canonicalName": "ERC20Mock", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 10830, - 22925, - 25478, - 23003, - 32336 - ], - "name": "ERC20Mock", - "nameLocation": "115:9:87", - "scope": 10831, - "usedErrors": [] - } - ], - "license": "MIT" - }, - "id": 87 -} \ No newline at end of file diff --git a/subgraph/tests/generated/OrderBook.json b/subgraph/tests/generated/OrderBook.json deleted file mode 100644 index 479e5e0fc2..0000000000 --- a/subgraph/tests/generated/OrderBook.json +++ /dev/null @@ -1,33887 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", - "name": "config", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ActiveDebt", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "name": "FlashLenderCallbackFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "name": "MinimumInput", - "type": "error" - }, - { - "inputs": [], - "name": "NoOrders", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "NotOrderOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "name": "NotRainMetaV1", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoHandleIO", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoInputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoOutputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "OrderNoSources", - "type": "error" - }, - { - "inputs": [], - "name": "ReentrancyGuardReentrantCall", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "SameOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "name": "SourceOffsetOutOfBounds", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "aliceTokenDecimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "bobTokenDecimals", - "type": "uint8" - } - ], - "name": "TokenDecimalsMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "name": "TokenMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "name": "UnexpectedMetaHash", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroAmount", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "ZeroDepositAmount", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroReceiver", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroToken", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "ZeroWithdrawTargetAmount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract IExpressionDeployerV2", - "name": "expressionDeployer", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "AddOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple" - } - ], - "name": "AfterClear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - } - ], - "name": "Clear", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - } - ], - "name": "Context", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "subject", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "name": "MetaV1", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderExceedsMaxRatio", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderNotFound", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "OrderZeroAmount", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "RemoveOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "indexed": false, - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "input", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "output", - "type": "uint256" - } - ], - "name": "TakeOrder", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "contract IExpressionDeployerV2", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ], - "internalType": "struct EvaluableConfigV2", - "name": "evaluableConfig", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ], - "internalType": "struct OrderConfigV2", - "name": "config", - "type": "tuple" - } - ], - "name": "addOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "alice", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "bob", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext", - "type": "tuple[]" - } - ], - "name": "clear", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - } - ], - "name": "removeOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]" - } - ], - "internalType": "struct Order", - "name": "order", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]" - } - ], - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct TakeOrdersConfigV2", - "name": "config", - "type": "tuple" - } - ], - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalTakerInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTakerOutput", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6080604052600180546001600160a01b031990811690915560028054909116905560006003553480156200003257600080fd5b506040516200621d3803806200621d8339810160408190526200005591620002d5565b600160005560208101517f71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee90829062000090908390620000e7565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000c99133913091620003e3565b60405180910390a18051620000de906200012e565b505050620004f9565b805160208201208281146200011e5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200012982620001c5565b505050565b60408051600080825260208201818152828401938490526331a66b6560e01b90935291829182916001600160a01b038616916331a66b65916200017691906044820162000452565b6060604051808303816000875af115801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000489565b50505050505050565b620001d081620001f5565b620001f25780604051630c89984b60e31b8152600401620001159190620004dd565b50565b60006008825110156200020a57506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000260576200026062000225565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000291576200029162000225565b604052919050565b6001600160a01b0381168114620001f257600080fd5b60005b83811015620002cc578181015183820152602001620002b2565b50506000910152565b60006020808385031215620002e957600080fd5b82516001600160401b03808211156200030157600080fd5b90840190604082870312156200031657600080fd5b620003206200023b565b82516200032d8162000299565b815282840151828111156200034157600080fd5b80840193505086601f8401126200035757600080fd5b8251828111156200036c576200036c62000225565b62000380601f8201601f1916860162000266565b925080835287858286010111156200039757600080fd5b620003a881868501878701620002af565b5092830152509392505050565b60008151808452620003cf816020860160208601620002af565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006200040c6060830184620003b5565b95945050505050565b600081518084526020808501945080840160005b83811015620004475781518752958201959082019060010162000429565b509495945050505050565b606081526000606082015260806020820152600062000475608083018562000415565b82810360408401526200040c818562000415565b6000806000606084860312156200049f57600080fd5b8351620004ac8162000299565b6020850151909350620004bf8162000299565b6040850151909250620004d28162000299565b809150509250925092565b602081526000620004f26020830184620003b5565b9392505050565b615d1480620005096000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:173:-:0;;;1858:76:170;;;-1:-1:-1;;;;;;1858:76:170;;;;;;1940:36;;;;;;;;1931:1;1982:34;;10837:139:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;6411:75:173;1821:22:22;1109:11:79;;;;6419:66:173;;10962:6;;1075:46:79;;6419:66:173;;1075:23:79;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;10837:139:173;8997:33509;;1424:292:155;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:155;;;;;3082:25:212;;;3123:18;;;3116:34;;;3055:18;;1619:46:155;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1308:309:94:-;1513:16;;;1371:26;1513:16;;;;;;1531;;;;;;;;;;-1:-1:-1;;;1460:88:94;;;1371:26;;;;;-1:-1:-1;;;;;1460:48:94;;;;;:88;;1513:16;1460:88;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1308:309:94:o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:155;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;-1:-1:-1;;;;;825:32:155;667:18:154;883:36:155;;550:376::o;14:127:212:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:256;217:4;211:11;;;249:17;;-1:-1:-1;;;;;281:34:212;;317:22;;;278:62;275:88;;;343:18;;:::i;:::-;379:4;372:24;146:256;:::o;407:275::-;478:2;472:9;543:2;524:13;;-1:-1:-1;;520:27:212;508:40;;-1:-1:-1;;;;;563:34:212;;599:22;;;560:62;557:88;;;625:18;;:::i;:::-;661:2;654:22;407:275;;-1:-1:-1;407:275:212:o;687:131::-;-1:-1:-1;;;;;762:31:212;;752:42;;742:70;;808:1;805;798:12;823:250;908:1;918:113;932:6;929:1;926:13;918:113;;;1008:11;;;1002:18;989:11;;;982:39;954:2;947:10;918:113;;;-1:-1:-1;;1065:1:212;1047:16;;1040:27;823:250::o;1078:1160::-;1211:6;1242:2;1285;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1328:16;;-1:-1:-1;;;;;1393:14:212;;;1390:34;;;1420:1;1417;1410:12;1390:34;1443:22;;;;1499:4;1481:16;;;1477:27;1474:47;;;1517:1;1514;1507:12;1474:47;1543:21;;:::i;:::-;1594:2;1588:9;1606:33;1631:7;1606:33;:::i;:::-;1648:22;;1701:11;;;1695:18;1725:16;;;1722:36;;;1754:1;1751;1744:12;1722:36;1785:8;1781:2;1777:17;1767:27;;;1832:7;1825:4;1821:2;1817:13;1813:27;1803:55;;1854:1;1851;1844:12;1803:55;1883:2;1877:9;1905:2;1901;1898:10;1895:36;;;1911:18;;:::i;:::-;1953:53;1996:2;1977:13;;-1:-1:-1;;1973:27:212;1969:36;;1953:53;:::i;:::-;1940:66;;2029:2;2022:5;2015:17;2069:7;2064:2;2059;2055;2051:11;2047:20;2044:33;2041:53;;;2090:1;2087;2080:12;2041:53;2103:67;2167:2;2162;2155:5;2151:14;2146:2;2142;2138:11;2103:67;:::i;:::-;-1:-1:-1;2186:14:212;;;2179:29;-1:-1:-1;2190:5:212;1078:1160;-1:-1:-1;;;1078:1160:212:o;2243:270::-;2284:3;2322:5;2316:12;2349:6;2344:3;2337:19;2365:76;2434:6;2427:4;2422:3;2418:14;2411:4;2404:5;2400:16;2365:76;:::i;:::-;2495:2;2474:15;-1:-1:-1;;2470:29:212;2461:39;;;;2502:4;2457:50;;2243:270;-1:-1:-1;;2243:270:212:o;2518:385::-;2750:1;2746;2741:3;2737:11;2733:19;2725:6;2721:32;2710:9;2703:51;2790:6;2785:2;2774:9;2770:18;2763:34;2833:2;2828;2817:9;2813:18;2806:30;2684:4;2853:44;2893:2;2882:9;2878:18;2870:6;2853:44;:::i;:::-;2845:52;2518:385;-1:-1:-1;;;;;2518:385:212:o;3161:435::-;3214:3;3252:5;3246:12;3279:6;3274:3;3267:19;3305:4;3334:2;3329:3;3325:12;3318:19;;3371:2;3364:5;3360:14;3392:1;3402:169;3416:6;3413:1;3410:13;3402:169;;;3477:13;;3465:26;;3511:12;;;;3546:15;;;;3438:1;3431:9;3402:169;;;-1:-1:-1;3587:3:212;;3161:435;-1:-1:-1;;;;;3161:435:212:o;3601:646::-;3958:2;3947:9;3940:21;3997:1;3992:2;3981:9;3977:18;3970:29;4037:3;4030:4;4019:9;4015:20;4008:33;3921:4;4064:57;4116:3;4105:9;4101:19;4093:6;4064:57;:::i;:::-;4169:9;4161:6;4157:22;4152:2;4141:9;4137:18;4130:50;4197:44;4234:6;4226;4197:44;:::i;4252:572::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;4510:9;4504:16;4529:31;4554:5;4529:31;:::i;:::-;4629:2;4614:18;;4608:25;4579:5;;-1:-1:-1;4642:33:212;4608:25;4642:33;:::i;:::-;4746:2;4731:18;;4725:25;4694:7;;-1:-1:-1;4759:33:212;4725:25;4759:33;:::i;:::-;4811:7;4801:17;;;4252:572;;;;;:::o;4829:217::-;4976:2;4965:9;4958:21;4939:4;4996:44;5036:2;5025:9;5021:18;5013:6;4996:44;:::i;:::-;4988:52;4829:217;-1:-1:-1;;;4829:217:212:o;:::-;8997:33509:173;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101cb578063d9d98ce4146101de578063e23746a3146101f157600080fd5b80639e18968b14610185578063ac9650d814610198578063b5c5f672146101b857600080fd5b8063613255ab116100b2578063613255ab14610129578063847a1bc91461014a5780638a44689c1461015d57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610116575b600080fd5b6100ec6100e73660046145e3565b610204565b005b6101016100fc366004614618565b61034b565b60405190151581526020015b60405180910390f35b610101610124366004614631565b6103a1565b61013c6101373660046146d0565b61067f565b60405190815260200161010d565b6101016101583660046146ed565b610729565b61017061016b366004614728565b610c64565b6040805192835260208301919091520161010d565b6100ec610193366004614c2d565b611b31565b6101ab6101a6366004614d18565b61226b565b60405161010d9190614dfb565b6100ec6101c63660046145e3565b612360565b61013c6101d9366004614e7b565b6124be565b61013c6101ec366004614ebc565b610720565b6101016101ff366004614ee8565b61253f565b61020c612690565b80600003610270576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a16102ef73ffffffffffffffffffffffffffffffffffffffff8416333084612703565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825280832085845290915281208054839290610337908490614f52565b90915550506001600055505050565b505050565b60008054600203610388576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000818152600460205260409020546001145b919050565b600073ffffffffffffffffffffffffffffffffffffffff86166103f0576040517f6ba9ecd800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661043d576040517fad1991f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610477576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047f6127e5565b6002805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928916929091169190911790556104df600085614f52565b60035561050373ffffffffffffffffffffffffffffffffffffffff86168786612856565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906105629033908a908a9087908b908b90600401614fae565b6020604051808303816000875af1158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190615000565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610603576040517f5b62c54800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b600354945084156106365761063073ffffffffffffffffffffffffffffffffffffffff8716883088612703565b60006003555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556002805490911690556106726127e5565b5060019695505050505050565b60006106896128ac565b610720576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190615000565b610723565b60005b92915050565b6000610733612690565b600061078d6107456040850185615019565b610753906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128fd92505050565b9050806000036107cb576040517f1914441e000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b80600103610807576040517f7e47fcba000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61081183806150bc565b905060000361084e576040517f32586a92000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b61085b60208401846150bc565b9050600003610898576040517f08d7d498000000000000000000000000000000000000000000000000000000008152336004820152602401610267565b600080806108a96040870187615019565b6108b79060208101906146d0565b73ffffffffffffffffffffffffffffffffffffffff166331a66b656108df6040890189615019565b6108ed906020810190615057565b6108fa60408b018b615019565b610908906040810190615123565b6040805160028082526020820152600081830152606081019091526040518663ffffffff1660e01b81526004016109439594939291906151c6565b6060604051808303816000875af1158015610962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109869190615237565b92509250925060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000610a158a80604001906109ca9190615019565b6109d8906020810190615057565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061291b915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528781166020838101919091529087168284015283015201610a5d89806150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610aa957610a9a60608302860136819003810190615284565b81526020019060010190610a7d565b50505050508152602001888060200190610ac391906150bc565b808060200260200160405190810160405280939291908181526020016000905b82821015610b0f57610b0060608302860136819003810190615284565b81526020019060010190610ae3565b505050505081525090506000610b2482612934565b600081815260046020526040902054909150610c54576000818152600460205260409081902060019081905597507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610b82908b018b615019565b610b909060208101906146d0565b8484604051610ba29493929190615382565b60405180910390a16000610bb960608a018a615057565b90501115610c5457610c0b610bd160608a018a615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061296492505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610c3b60608c018c615057565b604051610c4b94939291906153cc565b60405180910390a15b50505050505061039c6001600055565b600080610c6f612690565b610c7c6060840184615123565b9050600003610cb7576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d1e604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e0850181905261010085018190529184528301829052928201528181019190915290565b6040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260208601355b610d736060880188615123565b905084108015610d835750600081115b1561178c57610d956060880188615123565b85818110610da557610da5615402565b9050602002810190610db79190615431565b610dc090615465565b80519093509150610dd46060880188615123565b6000818110610de557610de5615402565b9050602002810190610df79190615431565b610e0190806154ff565b610e0f9060a08101906150bc565b610e1c60608a018a615123565b6000818110610e2d57610e2d615402565b9050602002810190610e3f9190615431565b60200135818110610e5257610e52615402565b610e6892602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff168260600151846020015181518110610e9857610e98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610fd8578160600151836020015181518110610ed957610ed9615402565b602090810291909101015151610ef26060890189615123565b6000818110610f0357610f03615402565b9050602002810190610f159190615431565b610f1f90806154ff565b610f2d9060a08101906150bc565b610f3a60608b018b615123565b6000818110610f4b57610f4b615402565b9050602002810190610f5d9190615431565b60200135818110610f7057610f70615402565b610f8692602060609092020190810191506146d0565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b610fe56060880188615123565b6000818110610ff657610ff6615402565b90506020028101906110089190615431565b61101290806154ff565b6110209060c08101906150bc565b61102d60608a018a615123565b600081811061103e5761103e615402565b90506020028101906110509190615431565b6040013581811061106357611063615402565b61107992602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff1682608001518460400151815181106110a9576110a9615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146111815781608001518360400151815181106110ea576110ea615402565b6020908102919091010151516111036060890189615123565b600081811061111457611114615402565b90506020028101906111269190615431565b61113090806154ff565b61113e9060c08101906150bc565b61114b60608b018b615123565b600081811061115c5761115c615402565b905060200281019061116e9190615431565b60400135818110610f7057610f70615402565b61118e6060880188615123565b600081811061119f5761119f615402565b90506020028101906111b19190615431565b6111bb90806154ff565b6111c99060a08101906150bc565b6111d660608a018a615123565b60008181106111e7576111e7615402565b90506020028101906111f99190615431565b6020013581811061120c5761120c615402565b90506060020160200160208101906112249190615533565b60ff16826060015184602001518151811061124157611241615402565b60200260200101516020015160ff161461136057816060015183602001518151811061126f5761126f615402565b60200260200101516020015187806060019061128b9190615123565b600081811061129c5761129c615402565b90506020028101906112ae9190615431565b6112b890806154ff565b6112c69060a08101906150bc565b6112d360608b018b615123565b60008181106112e4576112e4615402565b90506020028101906112f69190615431565b6020013581811061130957611309615402565b90506060020160200160208101906113219190615533565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff928316600482015291166024820152604401610267565b61136d6060880188615123565b600081811061137e5761137e615402565b90506020028101906113909190615431565b61139a90806154ff565b6113a89060c08101906150bc565b6113b560608a018a615123565b60008181106113c6576113c6615402565b90506020028101906113d89190615431565b604001358181106113eb576113eb615402565b90506060020160200160208101906114039190615533565b60ff16826080015184604001518151811061142057611420615402565b60200260200101516020015160ff16146114e857816080015183604001518151811061144e5761144e615402565b60200260200101516020015187806060019061146a9190615123565b600081811061147b5761147b615402565b905060200281019061148d9190615431565b61149790806154ff565b6114a59060c08101906150bc565b6114b260608b018b615123565b60008181106114c3576114c3615402565b90506020028101906114d59190615431565b6040013581811061130957611309615402565b60006114f383612934565b6000818152600460205260409020549091506115665782516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a1611780565b600061158184866020015187604001513389606001516129a8565b90508860400135816060015111156115f15783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a161177e565b80604001516000036116525783516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa906060016115e4565b6000846080015186604001518151811061166e5761166e615402565b6020908102919091018101510151604083015190915060006116958660ff85166002613098565b9050808211156116a3578091505b506000806116c1856060015160018561311d9092919063ffffffff16565b905061170188606001518a60200151815181106116e0576116e0615402565b60200260200101516020015160ff1660018361313b9092919063ffffffff16565b9150600090506117168360ff8616600261313b565b9050611722818861554e565b965061172e828c614f52565b9a5061173c8883838861319d565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338a83856040516117719493929190615561565b60405180910390a1505050505b505b50600190930192610d66565b61179a81602089013561554e565b955086358610156117e1576040517f45094d880000000000000000000000000000000000000000000000000000000081528735600482015260248101879052604401610267565b600061188e6117f360608a018a615123565b600081811061180457611804615402565b90506020028101906118169190615431565b61182090806154ff565b61182e9060c08101906150bc565b61183b60608c018c615123565b600081811061184c5761184c615402565b905060200281019061185e9190615431565b6040013581811061187157611871615402565b61188792602060609092020190810191506146d0565b3389613647565b9050600061189f60808a018a615057565b90501115611a52573363059bebe66118ba60608b018b615123565b60008181106118cb576118cb615402565b90506020028101906118dd9190615431565b6118e790806154ff565b6118f59060c08101906150bc565b61190260608d018d615123565b600081811061191357611913615402565b90506020028101906119259190615431565b6040013581811061193857611938615402565b61194e92602060609092020190810191506146d0565b61195b60608c018c615123565b600081811061196c5761196c615402565b905060200281019061197e9190615431565b61198890806154ff565b6119969060a08101906150bc565b6119a360608e018e615123565b60008181106119b4576119b4615402565b90506020028101906119c69190615431565b602001358181106119d9576119d9615402565b6119ef92602060609092020190810191506146d0565b848a6119fe60808f018f615057565b6040518763ffffffff1660e01b8152600401611a1f96959493929190614fae565b600060405180830381600087803b158015611a3957600080fd5b505af1158015611a4d573d6000803e3d6000fd5b505050505b8515611b1d57611b1d333088611a6b60608d018d615123565b6000818110611a7c57611a7c615402565b9050602002810190611a8e9190615431565b611a9890806154ff565b611aa69060a08101906150bc565b611ab360608f018f615123565b6000818110611ac457611ac4615402565b9050602002810190611ad69190615431565b60200135818110611ae957611ae9615402565b611aff92602060609092020190810191506146d0565b73ffffffffffffffffffffffffffffffffffffffff16929190612703565b5050505050611b2c6001600055565b915091565b611b39612690565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611ba95784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610267565b8360600151836040013581518110611bc357611bc3615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bff57611bff615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611cc4578460800151836020013581518110611c4057611c40615402565b6020026020010151600001518460600151846040013581518110611c6657611c66615402565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b8360600151836040013581518110611cde57611cde615402565b60200260200101516020015160ff168560800151846020013581518110611d0757611d07615402565b60200260200101516020015160ff1614611daa578460800151836020013581518110611d3557611d35615402565b6020026020010151602001518460600151846040013581518110611d5b57611d5b615402565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161026792919060ff92831681529116602082015260400190565b606085015180518435908110611dc257611dc2615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611dfe57611dfe615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e6357606085015180518435908110611e3d57611e3d615402565b6020026020010151600001518460800151846060013581518110611c6657611c66615402565b606085015180518435908110611e7b57611e7b615402565b60200260200101516020015160ff168460800151846060013581518110611ea457611ea4615402565b60200260200101516020015160ff1614611ef657606085015180518435908110611ed057611ed0615402565b6020026020010151602001518460800151846060013581518110611d5b57611d5b615402565b600060046000611f0588612934565b81526020019081526020016000205403611f84577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f4988612934565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a161225a565b600060046000611f9387612934565b81526020019081526020016000205403611fd7577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f4987612934565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa23386868660405161200c9493929190615691565b60405180910390a1600061202f86856000013586602001358860000151866129a8565b9050600061204c86866040013587606001358a60000151886129a8565b9050600061205a83836136f8565b905061207088826040015183600001518661319d565b61208487826060015183602001518561319d565b606081015181516000916120979161554e565b90506000826040015183602001516120af919061554e565b9050811561215557336000908152600560209081526040822060808d01518051869492938d01359081106120e5576120e5615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a608001358152602001908152602001600020600082825461214f9190614f52565b90915550505b80156121f95733600090815260056020526040812060808b015180518493919060608d013590811061218957612189615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121f39190614f52565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a15050505b6122646001600055565b5050505050565b60608167ffffffffffffffff81111561228657612286614763565b6040519080825280602002602001820160405280156122b957816020015b60608152602001906001900390816122a45790505b50905060005b8281101561235957612329308585848181106122dd576122dd615402565b90506020028101906122ef9190615057565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061373992505050565b82828151811061233b5761233b615402565b602002602001018190525080806123519061571b565b9150506122bf565b5092915050565b612368612690565b806000036123c7576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606401610267565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120549061240b838361375e565b905080156124b25761241d818361554e565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a16124b0853383613647565b505b50506103466001600055565b600080546002036124fb576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff80841660009081526005602090815260408083209386168352928152828220848352905220545b9392505050565b6000612549612690565b61255660208301836146d0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e8573361259660208401846146d0565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401610267565b60006125fb6125f684615753565b612934565b6000818152600460205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612685576000818152600460205260408082209190915551600192507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061267c9033908690859061582f565b60405180910390a15b5061039c6001600055565b6002600054036126fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610267565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526127df9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613774565b50505050565b6127ed6128ac565b15612854576001546002546003546040517f60817cfa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529290911660248301526044820152606401610267565b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526103469084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161275d565b60015460009073ffffffffffffffffffffffffffffffffffffffff161515806128ec575060025473ffffffffffffffffffffffffffffffffffffffff1615155b806128f8575060035415155b905090565b6000815160000361291057506000919050565b506020015160001a90565b6000806129288484613883565b5160001a949350505050565b6000816040516020016129479190615934565b604051602081830303815290604052805190602001209050919050565b61296d816138b4565b6129a557806040517f644cc2580000000000000000000000000000000000000000000000000000000081526004016102679190615947565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c08101919091526000612a2a87612934565b60408051600480825260a08201909252919250606091600091816020015b6060815260200190600190039081612a4857905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff928316818301529189166060830152608082019052909150816001800381518110612ab057612ab0615402565b6020026020010181905250612c4589606001518981518110612ad457612ad4615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a81518110612b0c57612b0c615402565b60200260200101516020015160ff168b606001518b81518110612b3157612b31615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612b9857612b98615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612bf657612bf6615402565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612c5b57612c5b615402565b6020026020010181905250612da189608001518881518110612c7f57612c7f615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612cb757612cb7615402565b60200260200101516020015160ff168b608001518a81518110612cdc57612cdc615402565b602002602001015160400151600560008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612d4357612d43615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612bf657612bf6615402565b81600160040381518110612db757612db7615402565b6020026020010181905250612dcc81866138e4565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258c604001516020015185612e308f6040015160400151613bf4565b886040518563ffffffff1660e01b8152600401612e50949392919061599f565b600060405180830381865afa158015612e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612eb39190810190615a35565b91509150600082600284510381518110612ecf57612ecf615402565b60200260200101519050600083600185510381518110612ef157612ef1615402565b602002602001015190506000600560008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612f5857612f58615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612fb657612fb6615402565b6020026020010151604001518152602001908152602001600020549050600061300f8f608001518e81518110612fee57612fee615402565b60200260200101516020015160ff166000846130989092919063ffffffff16565b90508084111561301d578093505b5050604080516002815260208101849052808201839052606081019091528660028151811061304e5761304e615402565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b600082601211156130cd57601283900360028316156130c3576130bb8582613c1d565b915050612538565b6130bb8582613ca3565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561310c576130bb8582613cdb565b6130bb8582613d29565b5082612538565b60006131338484670de0b6b3a764000085613d4c565b949350505050565b6000826012111561315e576012839003600183161561310c576130bb8582613cdb565b6012831115613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156130c3576130bb8582613c1d565b8281608001516003815181106131b5576131b5615402565b60200260200101516004815181106131cf576131cf615402565b6020026020010181815250508181608001516004815181106131f3576131f3615402565b602002602001015160048151811061320d5761320d615402565b6020908102919091010152821561331a57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805186939190600390811061326057613260615402565b602002602001015160008151811061327a5761327a615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106132d5576132d5615402565b60200260200101516002815181106132ef576132ef615402565b6020026020010151815260200190815260200160002060008282546133149190614f52565b90915550505b811561341c57835173ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081206080830151805185939190600490811061336257613362615402565b602002602001015160008151811061337c5761337c615402565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106133d7576133d7615402565b60200260200101516002815181106133f1576133f1615402565b602002602001015181526020019081526020016000206000828254613416919061554e565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f338260800151604051613451929190615a99565b60405180910390a160c081015151156134e25783604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016134af929190615ac8565b600060405180830381600087803b1580156134c957600080fd5b505af11580156134dd573d6000803e3d6000fd5b505050505b8360200151156127df5760008085604001516000015173ffffffffffffffffffffffffffffffffffffffff16636715f8258760400151602001518560a001516135328a6040015160400151613da9565b87608001516040518563ffffffff1660e01b8152600401613556949392919061599f565b600060405180830381865afa158015613573573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526135b99190810190615a35565b805191935091501561363f5785604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161360c929190615ac8565b600060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050505b505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff858116911614801561368e575060015473ffffffffffffffffffffffffffffffffffffffff8481169116145b156136d15760006136aa6003548461375e90919063ffffffff16565b90506136b6818461554e565b925080600360008282546136ca919061554e565b9091555050505b81156123595761235973ffffffffffffffffffffffffffffffffffffffff85168484612856565b6137236040518060800160405280600081526020016000815260200160008152602001600081525090565b61372e818484613dd4565b610723818385613dd4565b60606125388383604051806060016040528060278152602001615ced60279139613e8c565b600081831061376d5781612538565b5090919050565b60006137d6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f119092919063ffffffff16565b90508051600014806137f75750808060200190518101906137f79190615ae1565b610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610267565b60008061388f846128fd565b600202600101905060006138a38585613f20565b949091019093016020019392505050565b60006008825110156138c857506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff81111561390257613902614763565b60405190808252806020026020018201604052801561392b578160200160208202803683370190505b50905060008084511161393f576000613945565b83516001015b855160010101905060008167ffffffffffffffff81111561396857613968614763565b60405190808252806020026020018201604052801561399b57816020015b60608152602001906001900390816139865790505b50905060006139c0604080516002815233602082015230818301526060810190915290565b8282815181106139d2576139d2615402565b602002602001018190525060005b8751811015613a30578180600101925050878181518110613a0357613a03615402565b6020026020010151838381518110613a1d57613a1d615402565b60209081029190910101526001016139e0565b50855115613bea57808060010191505083828281518110613a5357613a53615402565b602002602001018190525060005b8651811015613be857613b12878281518110613a7f57613a7f615402565b602002602001015160000151613aef613abc8a8581518110613aa357613aa3615402565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b898481518110613b0157613b01615402565b602002602001015160400151613f98565b613b4b576040517f52bf984800000000000000000000000000000000000000000000000000000000815260048101829052602401610267565b868181518110613b5d57613b5d615402565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613b9157613b91615402565b6020026020010181815250508180600101925050868181518110613bb757613bb7615402565b602002602001015160200151838381518110613bd557613bd5615402565b6020908102919091010152600101613a61565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff0000000016600217610723565b6000604e8210613c5d578215613c53577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613c56565b60005b9050610723565b50600a81900a8281029083818381613c7757613c77615afe565b0414612359577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613133565b600a81900a613cb28184615b2d565b9050604e8210610723578215613cd257613ccd82600a615c64565b612538565b50600092915050565b6000604e8210613cff578215613cf2576001613cf5565b60005b60ff169050610723565b600a82900a808481613d1357613d13615afe565b0491508082028414612359575060010192915050565b6000604e821015613cd25781600a0a8381613d4657613d46615afe565b04612538565b600080613d5a868686614009565b90506001836002811115613d7057613d70615c70565b148015613d8d575060008480613d8857613d88615afe565b868809115b15613da057613d9d600182614f52565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff000000001617610723565b60608101516040820151600091613ded9190600161311d565b604084015190915081811115613e005750805b613e42846000015160800151856020015181518110613e2157613e21615402565b60200260200101516020015160ff1660008361313b9092919063ffffffff16565b85526060840151600090613e59908390600161311d565b9050613e7c8460000151608001518560200151815181106116e0576116e0615402565b6040909601959095525050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613eb69190615c9f565b600060405180830381855af49150503d8060008114613ef1576040519150601f19603f3d011682016040523d82523d6000602084013e613ef6565b606091505b5091509150613f0786838387614133565b9695505050505050565b606061313384846000856141d3565b6002810282016003015161ffff166000613f39846128fd565b845190915060056002830284010190811180613f555750818410155b15613f905784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610267929190615cb1565b505092915050565b6000806000613fa785856142ec565b90925090506000816004811115613fc057613fc0615c70565b148015613ff857508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613f075750613f07868686614331565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050806000036140615783828161405757614057615afe565b0492505050612538565b8084116140ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610267565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b606083156141c95782516000036141c25773ffffffffffffffffffffffffffffffffffffffff85163b6141c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610267565b5081613133565b613133838361448e565b606082471015614265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610267565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161428e9190615c9f565b60006040518083038185875af1925050503d80600081146142cb576040519150601f19603f3d011682016040523d82523d6000602084013e6142d0565b606091505b50915091506142e187838387614133565b979650505050505050565b60008082516041036143225760208301516040840151606085015160001a614316878285856144d2565b9450945050505061432a565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614368929190615cd3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516143f19190615c9f565b600060405180830381855afa9150503d806000811461442c576040519150601f19603f3d011682016040523d82523d6000602084013e614431565b606091505b509150915081801561444557506020815110155b8015613f07575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906144839083016020908101908401615000565b149695505050505050565b81511561449e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102679190615947565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561450957506000905060036145b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561455d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166145b1576000600192509250506145b8565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff811681146129a557600080fd5b6000806000606084860312156145f857600080fd5b8335614603816145c1565b95602085013595506040909401359392505050565b60006020828403121561462a57600080fd5b5035919050565b60008060008060006080868803121561464957600080fd5b8535614654816145c1565b94506020860135614664816145c1565b935060408601359250606086013567ffffffffffffffff8082111561468857600080fd5b818801915088601f83011261469c57600080fd5b8135818111156146ab57600080fd5b8960208285010111156146bd57600080fd5b9699959850939650602001949392505050565b6000602082840312156146e257600080fd5b8135612538816145c1565b6000602082840312156146ff57600080fd5b813567ffffffffffffffff81111561471657600080fd5b82016080818503121561253857600080fd5b60006020828403121561473a57600080fd5b813567ffffffffffffffff81111561475157600080fd5b820160a0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156147b5576147b5614763565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561480257614802614763565b604052919050565b80151581146129a557600080fd5b803561039c8161480a565b60006060828403121561483557600080fd5b61483d614792565b9050813561484a816145c1565b8152602082013561485a816145c1565b6020820152604082013561486d816145c1565b604082015292915050565b600067ffffffffffffffff82111561489257614892614763565b5060051b60200190565b803560ff8116811461039c57600080fd5b6000606082840312156148bf57600080fd5b6148c7614792565b905081356148d4816145c1565b81526148e26020830161489c565b60208201526040820135604082015292915050565b600082601f83011261490857600080fd5b8135602061491d61491883614878565b6147bb565b8281526060928302850182019282820191908785111561493c57600080fd5b8387015b8581101561495f5761495289826148ad565b8452928401928101614940565b5090979650505050505050565b600060e0828403121561497e57600080fd5b60405160a0810167ffffffffffffffff82821081831117156149a2576149a2614763565b81604052829350843591506149b6826145c1565b8183526149c560208601614818565b60208401526149d78660408701614823565b604084015260a08501359150808211156149f057600080fd5b6149fc868387016148f7565b606084015260c0850135915080821115614a1557600080fd5b50614a22858286016148f7565b6080830152505092915050565b600082601f830112614a4057600080fd5b813567ffffffffffffffff811115614a5a57614a5a614763565b614a8b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016147bb565b818152846020838601011115614aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112614ace57600080fd5b81356020614ade61491883614878565b82815260059290921b84018101918181019086841115614afd57600080fd5b8286015b84811015614c2257803567ffffffffffffffff80821115614b2157600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614b585760008081fd5b614b60614792565b86830135614b6d816145c1565b815260408381013583811115614b835760008081fd5b8401603f81018d13614b955760008081fd5b88810135614ba561491882614878565b81815260059190911b82018301908a8101908f831115614bc55760008081fd5b928401925b82841015614be35783358252928b0192908b0190614bca565b858c0152505050606084013583811115614bfd5760008081fd5b614c0b8d8a83880101614a2f565b918301919091525085525050918301918301614b01565b509695505050505050565b6000806000806000858703610140811215614c4757600080fd5b863567ffffffffffffffff80821115614c5f57600080fd5b614c6b8a838b0161496c565b97506020890135915080821115614c8157600080fd5b614c8d8a838b0161496c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614cbf57600080fd5b604089019550610100890135925080831115614cda57600080fd5b614ce68a848b01614abd565b9450610120890135925080831115614cfd57600080fd5b5050614d0b88828901614abd565b9150509295509295909350565b60008060208385031215614d2b57600080fd5b823567ffffffffffffffff80821115614d4357600080fd5b818501915085601f830112614d5757600080fd5b813581811115614d6657600080fd5b8660208260051b8501011115614d7b57600080fd5b60209290920196919550909350505050565b60005b83811015614da8578181015183820152602001614d90565b50506000910152565b60008151808452614dc9816020860160208601614d8d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e6e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614e5c858351614db1565b94509285019290850190600101614e22565b5092979650505050505050565b600080600060608486031215614e9057600080fd5b8335614e9b816145c1565b92506020840135614eab816145c1565b929592945050506040919091013590565b60008060408385031215614ecf57600080fd5b8235614eda816145c1565b946020939093013593505050565b600060208284031215614efa57600080fd5b813567ffffffffffffffff811115614f1157600080fd5b820160e0818503121561253857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561072357610723614f23565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614ff460a083018486614f65565b98975050505050505050565b60006020828403121561501257600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261504d57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261508c57600080fd5b83018035915067ffffffffffffffff8211156150a757600080fd5b60200191503681900382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150f157600080fd5b83018035915067ffffffffffffffff82111561510c57600080fd5b602001915060608102360382131561432a57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261515857600080fd5b83018035915067ffffffffffffffff82111561517357600080fd5b6020019150600581901b360382131561432a57600080fd5b600081518084526020808501945080840160005b838110156151bb5781518752958201959082019060010161519f565b509495945050505050565b6060815260006151da606083018789614f65565b82810360208401528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561521257600080fd5b8460051b808760208401370182810360209081016040850152614ff49082018561518b565b60008060006060848603121561524c57600080fd5b8351615257816145c1565b6020850151909350615268816145c1565b6040850151909250615279816145c1565b809150509250925092565b60006060828403121561529657600080fd5b61253883836148ad565b600081518084526020808501945080840160005b838110156151bb578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff168489015260409081015190880152606090960195908201906001016152b4565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261536960e08501826152a0565b9050608083015184820360c0860152613da082826152a0565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526153bb60808301856152ff565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613f07606083018486614f65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261504d57600080fd5b60006080823603121561547757600080fd5b6040516080810167ffffffffffffffff828210818311171561549b5761549b614763565b8160405284359150808211156154b057600080fd5b6154bc3683870161496c565b8352602085013560208401526040850135604084015260608501359150808211156154e657600080fd5b506154f336828601614abd565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261504d57600080fd5b60006020828403121561554557600080fd5b6125388261489c565b8181038181111561072357610723614f23565b600073ffffffffffffffffffffffffffffffffffffffff80871683526020608081850152865160808086015261559b6101008601826152ff565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615674577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b8501526156488885018261518b565b91890151848303858b01529190506156608183614db1565b968b0196958b0195935050506001016155fc565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526156c1818401876152ff565b905082810360408401526156d581866152ff565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361574c5761574c614f23565b5060010190565b6000610723368361496c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261579457600080fd5b830160208101925035905067ffffffffffffffff8111156157b457600080fd5b60608102360382131561432a57600080fd5b8183526000602080850194508260005b858110156151bb5781356157e9816145c1565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61580e83850161489c565b168784015260408281013590880152606096870196909101906001016157d6565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561585d816145c1565b8116606084015260208501356158728161480a565b151560808401526040850135615887816145c1565b811660a0840152606085013561589c816145c1565b811660c084015260808501356158b1816145c1565b1660e08301526158c460a085018561575f565b60e06101008501526158db610140850182846157c6565b9150506158eb60c086018661575f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526159218382846157c6565b9350505050826040830152949350505050565b60208152600061253860208301846152ff565b6020815260006125386020830184614db1565b6000815180845260208085019450848260051b860182860160005b8581101561495f57838303895261598d83835161518b565b98850198925090840190600101615975565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201526000613f07608083018461595a565b600082601f8301126159eb57600080fd5b815160206159fb61491883614878565b82815260059290921b84018101918181019086841115615a1a57600080fd5b8286015b84811015614c225780518352918301918301615a1e565b60008060408385031215615a4857600080fd5b825167ffffffffffffffff80821115615a6057600080fd5b615a6c868387016159da565b93506020850151915080821115615a8257600080fd5b50615a8f858286016159da565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613133604083018461595a565b828152604060208201526000613133604083018461518b565b600060208284031215615af357600080fd5b81516125388161480a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761072357610723614f23565b600181815b80851115615b9d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615b8357615b83614f23565b80851615615b9057918102915b93841c9390800290615b49565b509250929050565b600082615bb457506001610723565b81615bc157506000610723565b8160018114615bd75760028114615be157615bfd565b6001915050610723565b60ff841115615bf257615bf2614f23565b50506001821b610723565b5060208310610133831016604e8410600b8410161715615c20575081810a610723565b615c2a8383615b44565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615c5c57615c5c614f23565b029392505050565b60006125388383615ba5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000825161504d818460208701614d8d565b604081526000615cc46040830185614db1565b90508260208301529392505050565b8281526040602082015260006131336040830184614db156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "8997:33509:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:640;;;;;;:::i;:::-;;:::i;:::-;;11833:151;;;;;;:::i;:::-;;:::i;:::-;;;911:14:212;;904:22;886:41;;874:2;859:18;11833:151:173;;;;;;;;5614:2666:170;;;;;;:::i;:::-;;:::i;8721:162::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:212;;;2296:2;2281:18;8721:162:170;2162:177:212;13693:2174:173;;;;;;:::i;:::-;;:::i;16393:8257::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:212;;;3377:2;3362:18;;3355:34;;;;3294:18;16393:8257:173;3147:248:212;24689:4247:173;;;;;;:::i;:::-;;:::i;470:308:30:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12702:952:173:-;;;;;;:::i;:::-;;:::i;11562:232::-;;;;;;:::i;:::-;;:::i;8326:110:170:-;;;;;;:::i;:::-;;:::i;15906:448:173:-;;;;;;:::i;:::-;;:::i;12023:640::-;2261:21:22;:19;:21::i;:::-;12124:6:173::1;12134:1;12124:11:::0;12120:94:::1;;12158:45;::::0;::::1;::::0;;12176:10:::1;12158:45;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12158:45:173::1;;;;;;;;12120:94;12422:43;::::0;;12430:10:::1;16017:34:212::0;;15966:42;16087:15;;16082:2;16067:18;;16060:43;16119:18;;;16112:34;;;16177:2;16162:18;;16155:34;;;12422:43:173::1;::::0;15943:3:212;15928:19;12422:43:173::1;;;;;;;12529:65;:30;::::0;::::1;12560:10;12580:4;12587:6:::0;12529:30:::1;:65::i;:::-;12619:10;12604:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;12650:6;;12604:26;:52:::1;::::0;12650:6;;12604:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;12023:640:173;;;:::o;2303:20:22:-;12023:640:173;;;:::o;11833:151::-;11922:4;3098:7:22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11945:18:173::1;::::0;;;:7:::1;:18;::::0;;;;;2682:1:::1;11945:32;11230:1;11833:151:::0;;;:::o;5614:2666:170:-;5768:4;6035:31;;;6031:91;;6093:14;;;;;;;;;;;;;;6031:91;6139:19;;;6135:76;;6185:11;;;;;;;;;;;;;;6135:76;6228:6;6238:1;6228:11;6224:69;;6266:12;;;;;;;;;;;;;;6224:69;6536:18;:16;:18::i;:::-;6568:7;:15;;;;;;;;;;;;;;;6597:21;;;;;;;;;;;;;;;6764:18;6568:7;6764:6;:18;:::i;:::-;6747:14;:35;6796:53;:26;;;6831:8;6842:6;6796:26;:53::i;:::-;6887:64;;;;;6870:14;;6887:20;;;;;;:64;;6908:10;;6920:5;;6927:6;;6870:14;;6946:4;;;;6887:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6870:81;;425:45:177;6965:6:170;:40;6961:111;;7028:33;;;;;;;;2308:25:212;;;2281:18;;7028:33:170;2162:177:212;6961:111:170;7450:14;;;-1:-1:-1;7482:10:170;;7478:401;;7756:72;:30;;;7795:8;7814:4;7821:6;7756:30;:72::i;:::-;7863:1;7846:14;:18;7478:401;8002:10;:46;;;;;;;;;8062:7;:20;;;;;;;8233:18;:16;:18::i;:::-;-1:-1:-1;8269:4:170;;5614:2666;-1:-1:-1;;;;;;5614:2666:170:o;8721:162::-;8790:7;8816:15;:13;:15::i;:::-;:60;;8838:38;;;;;8870:4;8838:38;;;17981:74:212;8838:23:170;;;;;;17954:18:212;;8838:38:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8816:60;;;8834:1;8816:60;8809:67;8721:162;-1:-1:-1;;8721:162:170:o;13693:2174:173:-;13773:17;2261:21:22;:19;:21::i;:::-;13802:19:173::1;13824:56;13848:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;13824:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13824:23:173::1;::::0;-1:-1:-1;;;13824:56:173:i:1;:::-;13802:78;;13894:11;13909:1;13894:16:::0;13890:80:::1;;13933:26;::::0;::::1;::::0;;13948:10:::1;13933:26;::::0;::::1;17981:74:212::0;17954:18;;13933:26:173::1;17835:226:212::0;13890:80:173::1;13983:11;13998:1;13983:16:::0;13979:81:::1;;14022:27;::::0;::::1;::::0;;14038:10:::1;14022:27;::::0;::::1;17981:74:212::0;17954:18;;14022:27:173::1;17835:226:212::0;13979:81:173::1;14073:18;:6:::0;;:18:::1;:::i;:::-;:25;;14102:1;14073:30:::0;14069:93:::1;;14126:25;::::0;::::1;::::0;;14140:10:::1;14126:25;::::0;::::1;17981:74:212::0;17954:18;;14126:25:173::1;17835:226:212::0;14069:93:173::1;14175:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;14205:1;14175:31:::0;14171:95:::1;;14229:26;::::0;::::1;::::0;;14244:10:::1;14229:26;::::0;::::1;17981:74:212::0;17954:18;;14229:26:173::1;17835:226:212::0;14171:95:173::1;14276:26;::::0;;14353:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:87;;;14454:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14499:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3283:4:161::0;3277:11;;3335:1:173::1;3301:16:161::0;;;3348:4;3337:16;;3330:27;3574:1:173::1;3377:16:161::0;;;3370:27;3195:22;3423:16;;3410:30;;;14353:279:173::1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14275:357;;;;;;14818:18;14839:279;;;;;;;;14858:10;14839:279;;;;;;14987:1;14882:102;14910:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14882:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3212:1:173::1;::::0;-1:-1:-1;14882:27:173::1;::::0;-1:-1:-1;;14882:102:173:i:1;:::-;:106;14839:279:::0;;15002:41:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;14839:279;15002:41:::0;;::::1;::::0;;;;;;::::1;::::0;;;;14839:279;::::1;::::0;;15057:18:::1;:6:::0;;:18:::1;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15089:6;:19;;;;;;;;:::i;:::-;14839:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;14818:300:::1;;15128:17;15148:12;:5;:10;:12::i;:::-;2886:1;15250:18:::0;;;:7:::1;:18;::::0;;;;;15128:32;;-1:-1:-1;15246:615:173::1;;15390:18;::::0;;;:7:::1;:18;::::0;;;;;;15313:4:::1;15390:31:::0;;;;15313:4;-1:-1:-1;15440:71:173::1;::::0;15449:10:::1;::::0;15461:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15494:5;15501:9;15440:71;;;;;;;;;:::i;:::-;;;;;;;;15703:1;15682:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;15678:173;;;15724:38;15750:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15724:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15724:25:173::1;::::0;-1:-1:-1;;;15724:38:173:i:1;:::-;15785:51;15792:10;15812:9:::0;15824:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;15785:51;;;;;;;;;:::i;:::-;;;;;;;;15678:173;13792:2075;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;16393:8257:173;16504:23;16529:24;2261:21:22;:19;:21::i;:::-;16573:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16597:1;16573:25:::0;16569:73:::1;;16621:10;;;;;;;;;;;;;;16569:73;16652:9;16675:38;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:38:173::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:19:173::1;::::0;::::1;;16811:5775;16822:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;16818:1;:24;:51;;;;;16868:1;16846:19;:23;16818:51;16811:5775;;;16903:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;16917:1;16903:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;16885:34;;;:::i;:::-;16941:21:::0;;16885:34;;-1:-1:-1;16941:21:173;-1:-1:-1;17129:13:173::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17143:1;17129:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17164:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17178:1;17164:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17129:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17129:71:173::1;:::i;:::-;17052:148;;:5;:17;;;17070:15;:28;;;17052:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:148;;;17031:423;;17275:5;:17;;;17293:15;:28;;;17275:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;17350:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17364:1;17350:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17385:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17399:1;17385:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;17350:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;17350:71:173::1;:::i;:::-;17240:199;::::0;::::1;::::0;;28187:42:212;28256:15;;;17240:199:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;17240:199:173::1;28003:327:212::0;17031:423:173::1;17623:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17637:1;17623:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17659:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17673:1;17659:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17623:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;17623:73:173::1;:::i;:::-;17544:152;;:5;:18;;;17563:15;:29;;;17544:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:152;;;17523:431;;17771:5;:18;;;17790:15;:29;;;17771:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;17848:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17862:1;17848:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17884:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;17898:1;17884:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;17848:67;;;;;;;:::i;17523:431::-;18132:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18146:1;18132:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18167:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18181:1;18167:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18132:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18052:154;;:5;:17;;;18070:15;:28;;;18052:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:154;;;18031:443;;18289:5;:17;;;18307:15;:28;;;18289:47;;;;;;;;:::i;:::-;;;;;;;:56;;;18367:6;:13;;;;;;;;:::i;:::-;18381:1;18367:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18402:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18416:1;18402:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;18367:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;18246:213;::::0;::::1;::::0;;28718:4:212;28706:17;;;18246:213:173::1;::::0;::::1;28688:36:212::0;28760:17;;28740:18;;;28733:45;28661:18;;18246:213:173::1;28522:262:212::0;18031:443:173::1;18655:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18669:1;18655:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18691:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18705:1;18691:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18655:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;18573:158;;:5;:18;;;18592:15;:29;;;18573:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:158;;;18552:451;;18814:5;:18;;;18833:15;:29;;;18814:49;;;;;;;;:::i;:::-;;;;;;;:58;;;18894:6;:13;;;;;;;;:::i;:::-;18908:1;18894:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;18930:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;18944:1;18930:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;18894:67;;;;;;;:::i;18552:451::-;19017:17;19037:12;:5;:10;:12::i;:::-;2886:1;19067:18:::0;;;:7:::1;:18;::::0;;;;;19017:32;;-1:-1:-1;19063:3453:173::1;;19150:11:::0;;19124:49:::1;::::0;;19138:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19124:49:173::1;::::0;15512:2:212;15497:18;19124:49:173::1;;;;;;;19063:3453;;;19212:44;19259:245;19297:5;19324:15;:28;;;19374:15;:29;;;19425:10;19457:15;:29;;;19259:16;:245::i;:::-;19212:292;;19883:6;:21;;;19854:18;:26;;;:50;19850:2652;;;19966:11:::0;;19933:56:::1;::::0;;19954:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;19933:56:173::1;::::0;15512:2:212;15497:18;19933:56:173::1;;;;;;;;19850:2652;;;20040:18;:28;;;20073:1;20018:56:::0;20014:2488:::1;;20131:11:::0;;20103:51:::1;::::0;;20119:10:::1;15585:34:212::0;;15534:42;15655:15;;;15650:2;15635:18;;15628:43;15687:18;;15680:34;;;20103:51:173::1;::::0;15512:2:212;15497:18;20103:51:173::1;15322:398:212::0;20014:2488:173::1;20201:24;20228:5;:18;;;20247:15;:29;;;20228:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;20453:28:::1;::::0;::::1;::::0;20228:58;;-1:-1:-1;20383:26:173::1;21000:62;:19:::0;:62:::1;::::0;::::1;503:6:150;21000:27:173;:62::i;:::-;20915:148;;21151:21;21114:12;21093:80;21089:179;;;21220:21;21205:36;;21089:179;20784:506;21312:19;21462:28:::0;21662:156:::1;21744:18;:26;;;21772:16;21683:12;21662:48;;:156;;;;;:::i;:::-;21462:382;;21884:170;21957:5;:17;;;21975:15;:28;;;21957:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21884:170;;416:1:150;21906:13:173;21884:43;;:170;;;;;:::i;:::-;21870:184:::0;-1:-1:-1;22099:18:173::1;::::0;-1:-1:-1;22120:76:173::1;22141:12:::0;22120:76:::1;::::0;::::1;503:6:150;22120:41:173;:76::i;:::-;22099:97:::0;-1:-1:-1;22219:33:173::1;22099:97:::0;22219:33;::::1;:::i;:::-;::::0;-1:-1:-1;22274:31:173::1;22294:11:::0;22274:31;::::1;:::i;:::-;;;22328:65;22342:5;22349:11;22362:10;22374:18;22328:13;:65::i;:::-;22420:63;22430:10;22442:15;22459:10;22471:11;22420:63;;;;;;;;;:::i;:::-;;;;;;;;20179:2323;;;;20014:2488;19194:3322;19063:3453;-1:-1:-1::0;22558:3:173::1;::::0;;::::1;::::0;16811:5775:::1;;;22613:41;22635:19:::0;22613::::1;::::0;::::1;;:41;:::i;:::-;22595:59:::0;-1:-1:-1;22687:19:173;::::1;22669:37:::0;::::1;22665:125;;;22729:50;::::0;::::1;::::0;;22742:19;::::1;22729:50;::::0;::::1;3321:25:212::0;3362:18;;;3355:34;;;3294:18;;22729:50:173::1;3147:248:212::0;22665:125:173::1;23572:28;23603:157;23648:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23662:1;23648:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23684:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23698:1;23684:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23648:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23648:73:173::1;:::i;:::-;23723:10;23735:15;23603:31;:157::i;:::-;23572:188:::0;-1:-1:-1;23795:1:173::1;23774:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;23770:395;;;23835:10;23812:47;23877:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23891:1;23877:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;23913:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23927:1;23913:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;23877:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;23877:73:173::1;:::i;:::-;23968:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;23982:1;23968:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24003:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24017:1;24003:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;23968:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;23968:71:173::1;:::i;:::-;24057:20:::0;24095:16;24129:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;23812:342;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23770:395;24179:20:::0;;24175:469:::1;;24462:171;24576:10;24596:4;24603:16:::0;24469:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24483:1;24469:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;24504:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;24518:1;24504:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;24469:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;24469:71:173::1;:::i;:::-;24462:96;;::::0;:171;;:96:::1;:171::i;:::-;16559:8091;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;16393:8257:173;;;:::o;24689:4247::-;2261:21:22;:19;:21::i;:::-;24975:9:173;;24960:11;;:24:::1;::::0;;::::1;::::0;::::1;::::0;24956:92:::1;;25021:11:::0;;25011:22:::1;::::0;::::1;::::0;;18011:42:212;17999:55;;;25011:22:173::1;::::0;::::1;17981:74:212::0;17954:18;;25011:22:173::1;17835:226:212::0;24956:92:173::1;25162:3;:15;;;25178:11;:27;;;25162:44;;;;;;;;:::i;:::-;;;;;;;:50;;;25082:130;;:5;:18;;;25101:11;:30;;;25082:50;;;;;;;;:::i;:::-;;;;;;;:56;;;:130;;;25061:387;;25287:5;:18;;;25306:11;:30;;;25287:50;;;;;;;;:::i;:::-;;;;;;;:56;;;25365:3;:15;;;25381:11;:27;;;25365:44;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:50;25252:181:::1;::::0;::::1;::::0;;28187:42:212;28256:15;;;25252:181:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;25252:181:173::1;28003:327:212::0;25061:387:173::1;25566:3;:15;;;25582:11;:27;;;25566:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25483:136;;:5;:18;;;25502:11;:30;;;25483:50;;;;;;;;:::i;:::-;;;;;;;:59;;;:136;;;25462:407;;25702:5;:18;;;25721:11;:30;;;25702:50;;;;;;;;:::i;:::-;;;;;;;:59;;;25783:3;:15;;;25799:11;:27;;;25783:44;;;;;;;;:::i;:::-;;;;;;;:53;;;25659:195;;;;;;;;;;;28718:4:212::0;28706:17;;;28688:36;;28760:17;;28755:2;28740:18;;28733:45;28676:2;28661:18;;28522:262;25462:407:173::1;25980:17;::::0;::::1;::::0;:48;;25998:29;::::1;::::0;25980:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;25904:130;;:3;:16;;;25921:11;:28;;;25904:46;;;;;;;;:::i;:::-;;;;;;;:52;;;:130;;;25883:387;;26109:17;::::0;::::1;::::0;:48;;26127:29;::::1;::::0;26109:48;::::1;;;;;:::i;:::-;;;;;;;:54;;;26185:3;:16;;;26202:11;:28;;;26185:46;;;;;;;;:::i;25883:387::-;26384:17;::::0;::::1;::::0;:48;;26402:29;::::1;::::0;26384:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26305:136;;:3;:16;;;26322:11;:28;;;26305:46;;;;;;;;:::i;:::-;;;;;;;:55;;;:136;;;26284:407;;26524:17;::::0;::::1;::::0;:48;;26542:29;::::1;::::0;26524:48;::::1;;;;;:::i;:::-;;;;;;;:57;;;26603:3;:16;;;26620:11;:28;;;26603:46;;;;;;;;:::i;26284:407::-;2886:1;26916:7;:21;26924:12;:5;:10;:12::i;:::-;26916:21;;;;;;;;;;;;:35:::0;26912:155:::1;;26976:52;26990:10;27002:5;:11;;;27015:12;:5;:10;:12::i;:::-;26976:52;::::0;;15534:42:212;15603:15;;;15585:34;;15655:15;;;;15650:2;15635:18;;15628:43;15687:18;;;15680:34;15512:2;15497:18;26976:52:173::1;;;;;;;27046:7;;26912:155;2886:1;27084:7;:19;27092:10;:3;:8;:10::i;:::-;27084:19;;;;;;;;;;;;:33:::0;27080:149:::1;;27142:48;27156:10;27168:3;:9;;;27179:10;:3;:8;:10::i;27080:149::-;27299:42;27305:10;27317:5;27324:3;27329:11;27299:42;;;;;;;;;:::i;:::-;;;;;;;;27361:50;27414:137;27444:5;27451:11;:29;;;27482:11;:30;;;27514:3;:9;;;27525:16;27414;:137::i;:::-;27361:190;;27561:48;27612:135;27642:3;27647:11;:27;;;27676:11;:28;;;27706:5;:11;;;27719:18;27612:16;:135::i;:::-;27561:186;;27757:40;27812:75;27838:24;27864:22;27812:25;:75::i;:::-;27757:130;;27898:105;27912:5;27919:16;:27;;;27948:16;:28;;;27978:24;27898:13;:105::i;:::-;28013:97;28027:3;28032:16;:25;;;28059:16;:26;;;28087:22;28013:13;:97::i;:::-;28320:25;::::0;::::1;::::0;28289:28;;28267:19:::1;::::0;28289:56:::1;::::0;::::1;:::i;:::-;28267:78;;28359:17;28408:16;:27;;;28379:16;:26;;;:56;;;;:::i;:::-;28359:76:::0;-1:-1:-1;28453:15:173;;28449:206:::1;;28503:10;28488:26;::::0;;;:14:::1;:26;::::0;;;;;;28515:18:::1;::::0;::::1;::::0;:50;;28629:11;;28488:26;;28534:30;::::1;;::::0;28515:50;::::1;;;;;:::i;:::-;;;;;;;:56;;;28488:84;;;;;;;;;;;;;;;:137;28573:11;:51;;;28488:137;;;;;;;;;;;;:152;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28449:206:173::1;28672:13:::0;;28668:196:::1;;28720:10;28705:26;::::0;;;:14:::1;:26;::::0;;;;28732:16:::1;::::0;::::1;::::0;:46;;28840:9;;28705:26;28732:16;28749:28:::1;::::0;::::1;;::::0;28732:46;::::1;;;;;:::i;:::-;;;;;;;:52;;;28705:80;;;;;;;;;;;;;;;:131;28786:11;:49;;;28705:131;;;;;;;;;;;;:144;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;28668:196:173::1;-1:-1:-1::0;;28889:40:173::1;::::0;;28900:10:::1;32657:74:212::0;;32767:13;;32762:2;32747:18;;;32740:41;;;;32823:15;;32817:22;32797:18;;;32790:50;32882:15;;;32876:22;32871:2;32856:18;;;32849:50;;;;32942:15;;32936:22;32930:3;32915:19;;32908:51;28889:40:173::1;::::0;32644:3:212;32629:19;28889:40:173::1;;;;;;;24932:4004;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;24689:4247:173;;;;;:::o;470:308:30:-;538:22;594:4;582:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;572:34;;621:9;616:132;636:15;;;616:132;;;685:52;722:4;729;;734:1;729:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;685:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;685:28:30;;-1:-1:-1;;;685:52:30:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;12702:952:173:-;2261:21:22;:19;:21::i;:::-;12810:12:173::1;12826:1;12810:17:::0;12806:107:::1;;12850:52;::::0;::::1;::::0;;12875:10:::1;12850:52;::::0;::::1;15585:34:212::0;15534:42;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;15497:18;;12850:52:173::1;15322:398:212::0;12806:107:173::1;12967:10;12922:27;12952:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;13101:37:::1;:12:::0;12952:42;13101:16:::1;:37::i;:::-;13076:62:::0;-1:-1:-1;13152:18:173;;13148:500:::1;;13436:36;13458:14:::0;13436:19;:36:::1;:::i;:::-;13406:10;13391:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;13491:66;;33490:34:212;;;33540:18;;33533:43;33592:18;;;33585:34;;;33650:2;33635:18;;33628:34;;;33693:3;33678:19;;33671:35;;;13491:66:173::1;::::0;33416:3:212;33401:19;13491:66:173::1;;;;;;;13571;13603:5;13610:10;13622:14;13571:31;:66::i;:::-;;13148:500;12796:858;;2303:20:22::0;1716:1;2809:7;:22;2629:209;11562:232:173;11720:7;3098::22;;1759:1;3098:19;11128:93:173;;11180:30;;;;;;;;;;;;;;11128:93;-1:-1:-1;11750:21:173::1;::::0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;;;;:28;;::::1;::::0;;;;;;;;:37;;;;;;;11230:1:::1;11562:232:::0;;;;;:::o;15906:448::-;15980:17;2261:21:22;:19;:21::i;:::-;16027:11:173::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16013:25;;:10;:25;;;16009:101;;16075:10;16087:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;16061:38;::::0;::::1;::::0;;28187:42:212;28256:15;;;16061:38:173::1;::::0;::::1;28238:34:212::0;28308:15;;28288:18;;;28281:43;28150:18;;16061:38:173::1;28003:327:212::0;16009:101:173::1;16119:17;16139:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;16165:18;::::0;;;:7:::1;:18;::::0;;;;;16119:32;;-1:-1:-1;16165:32:173;;16161:187:::1;;2886:1;16246:18:::0;;;:7:::1;:18;::::0;;;;;:31;;;;16296:41;16228:4:::1;::::0;-1:-1:-1;16296:41:173::1;::::0;::::1;::::0;16308:10:::1;::::0;16320:5;;16254:9;;16296:41:::1;:::i;:::-;;;;;;;;16161:187;15999:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37261:2:212;2460:63:22;;;37243:21:212;37300:2;37280:18;;;37273:30;37339:33;37319:18;;;37312:61;37390:18;;2460:63:22;37059:355:212;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15534:42:212;15603:15;;;1482:68:27;;;15585:34:212;15655:15;;15635:18;;;15628:43;15687:18;;;15680:34;;;1455:96:27;;1475:5;;1505:27;;15497:18:212;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;2429:167:170:-;2485:15;:13;:15::i;:::-;2481:109;;;2542:10;;2555:7;;2564:14;;2523:56;;;;;2542:10;;;;2523:56;;;15585:34:212;2555:7:170;;;;15635:18:212;;;15628:43;15687:18;;;15680:34;15497:18;;2523:56:170;15322:398:212;2481:109:170;2429:167::o;941:175:27:-;1050:58;;37623:42:212;37611:55;;1050:58:27;;;37593:74:212;37683:18;;;37676:34;;;1023:86:27;;1043:5;;1073:23;;37566:18:212;;1050:58:27;37419:297:212;2258:165:170;2338:10;;2306:4;;2330:33;2338:10;2330:33;;;2329:62;;-1:-1:-1;2369:7:170;;:21;:7;:21;;2329:62;:87;;;-1:-1:-1;2396:14:170;;:19;;2329:87;2322:94;;2258:165;:::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;537:118:182:-;594:7;641:5;630:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;620:28;;;;;;613:35;;537:118;;;:::o;1075:155:155:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;29640:5114:173:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:17:173;29943:12;:5;:10;:12::i;:::-;30064:78;;;4273:1;30064:78;;;;;;;;;29923:32;;-1:-1:-1;29970:26:173;;30028:33;;30064:78;;;;;;;;;;;;;;;;;;;-1:-1:-1;30296:11:173;;4055:4:161;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;30280:29:173;;;;4149:16:161;;;4142:27;30311:30:173;;;3967:22:161;4189:16;;4182:27;4246:4;4235:16;;4222:30;;30028:114:173;;-1:-1:-1;30160:14:173;30208:1;4706;30175:34;30160:50;;;;;;;;:::i;:::-;;;;;;:199;;;;30428:476;30491:5;:17;;;30509:12;30491:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30475:55;;30552:5;:17;;;30570:12;30552:31;;;;;;;;:::i;:::-;;;;;;;:40;;;30428:476;;30614:5;:17;;;30632:12;30614:31;;;;;;;;:::i;:::-;;;;;;;:39;;;30675:14;:27;30690:5;:11;;;30675:27;;;;;;;;;;;;;;;:66;30703:5;:17;;;30721:12;30703:31;;;;;;;;:::i;:::-;;;;;;;:37;;;30675:66;;;;;;;;;;;;;;;:132;30742:5;:17;;;30760:12;30742:31;;;;;;;;:::i;:::-;;;;;;;:64;;;30675:132;;;;;;;;;;;;30885:1;5980:4:161;5974:11;;6012:1;5998:16;;6045:4;6034:16;;6027:27;;;;6074:16;;;6067:27;;;;5888:22;6114:16;;6107:27;;;;6165:4;6154:16;;6147:27;6205:4;6194:16;;6187:27;6251:4;6240:16;;6227:30;;5974:11;5767:506;30428:476:173;30378:14;30423:1;5241;30393:31;30378:47;;;;;;;;:::i;:::-;;;;;;:526;;;;30974:486;31037:5;:18;;;31056:13;31037:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31021:57;;31100:5;:18;;;31119:13;31100:33;;;;;;;;:::i;:::-;;;;;;;:42;;;30974:486;;31164:5;:18;;;31183:13;31164:33;;;;;;;;:::i;:::-;;;;;;;:41;;;31227:14;:27;31242:5;:11;;;31227:27;;;;;;;;;;;;;;;:68;31255:5;:18;;;31274:13;31255:33;;;;;;;;:::i;:::-;;;;;;;:39;;;31227:68;;;;;;;;;;;;;;;:136;31296:5;:18;;;31315:13;31296:33;;;;;;;;:::i;30974:486::-;30923:14;30969:1;5408;30938:32;30923:48;;;;;;;;:::i;:::-;;;;;;:537;;;;31488:47;31505:14;31521:13;31488:16;:47::i;:::-;31478:57;;30010:1540;31726:24;31789:5;:11;;;31773:29;;31726:77;;32145:36;32183:34;32221:5;:32;;;:61;;;:83;;;32305:5;:15;;;:21;;;32328:9;32339:51;32363:5;:15;;;:26;;;32339:23;:51::i;:::-;32392:7;32221:179;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32144:256;;;;32415:31;32469:19;32518:1;32489:19;:26;:30;32469:51;;;;;;;;:::i;:::-;;;;;;;32415:106;;32535:20;32558:19;32607:1;32578:19;:26;:30;32558:51;;;;;;;;:::i;:::-;;;;;;;32535:74;;32778:25;32806:14;:27;32821:5;:11;;;32806:27;;;;;;;;;;;;;;;:68;32834:5;:18;;;32853:13;32834:33;;;;;;;;:::i;:::-;;;;;;;:39;;;32806:68;;;;;;;;;;;;;;;:132;32875:5;:39;;;32915:13;32875:54;;;;;;;;:::i;:::-;;;;;;;:62;;;32806:132;;;;;;;;;;;;32778:160;;33991:34;34068:72;34094:5;:18;;;34113:13;34094:33;;;;;;;;:::i;:::-;;;;;;;:42;;;34068:72;;34138:1;34068:17;:25;;:72;;;;;:::i;:::-;33991:150;;34227:19;34185:16;34163:84;34159:169;;;34290:19;34271:38;;34159:169;-1:-1:-1;;3283:4:161;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;34439:7:173;4901:1;34439:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;34596:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34596:141:173;;;;;;;;;;;-1:-1:-1;;;;34596:141:173;;;;-1:-1:-1;34596:141:173;29640:5114::o;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;649:163:151;741:7;767:38;:1;776;339:4:150;796:8:151;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:151:o;7325:878:152:-;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;35328:3665:173:-;35594:5;35505:18;:26;;;5241:1;35505:55;;;;;;;;:::i;:::-;;;;;;;6225:1;35505:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;35699:6;35609:18;:26;;;5408:1;35609:56;;;;;;;;:::i;:::-;;;;;;;6225:1;35609:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;35720:9;;35716:360;;35831:11;;35816:27;;;;;;:14;:27;;;;;35877:26;;;;:55;;36060:5;;35816:27;35877:26;5241:1;;35877:55;;;;;;:::i;:::-;;;;;;;5526:1;35877:79;;;;;;;;:::i;:::-;;;;;;;35816:156;;;;;;;;;;;;;;;:240;35973:18;:26;;;5241:1;35973:55;;;;;;;;:::i;:::-;;;;;;;5768:1;35973:82;;;;;;;;:::i;:::-;;;;;;;35816:240;;;;;;;;;;;;:249;;;;;;;:::i;:::-;;;;-1:-1:-1;;35716:360:173;36089:10;;36085:365;;36202:11;;36187:27;;;;;;:14;:27;;;;;36248:26;;;;:56;;36433:6;;36187:27;36248:26;5408:1;;36248:56;;;;;;:::i;:::-;;;;;;;5526:1;36248:80;;;;;;;;:::i;:::-;;;;;;;36187:157;;;;;;;;;;;;;;;:242;36345:18;:26;;;5408:1;36345:56;;;;;;;;:::i;:::-;;;;;;;5768:1;36345:83;;;;;;;;:::i;:::-;;;;;;;36187:242;;;;;;;;;;;;:252;;;;;;;:::i;:::-;;;;-1:-1:-1;;36085:365:173;36616:47;36624:10;36636:18;:26;;;36616:47;;;;;;;:::i;:::-;;;;;;;;36894:22;;;;:29;:33;36890:470;;37270:5;:15;;;:21;;;:25;;;37296:18;:28;;;37326:18;:22;;;37270:79;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36890:470;37518:5;:14;;;37514:1473;;;37992:30;38024:28;38056:5;:15;;;:27;;;:32;;;38106:5;:15;;;:21;;;38145:18;:28;;;38191:45;38209:5;:15;;;:26;;;38191:17;:45::i;:::-;38254:18;:26;;;38056:238;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38505:18;;37991:303;;-1:-1:-1;37991:303:173;-1:-1:-1;38505:22:173;38501:476;;38894:5;:15;;;:21;;;:25;;;38920:18;:28;;;38950:11;38894:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38501:476;37534:1453;;35328:3665;;;;:::o;4778:790:170:-;5062:7;;4906;;5062;5053:16;;;5062:7;;5053:16;:51;;;;-1:-1:-1;5093:10:170;;;5073:31;;;5093:10;;5073:31;5053:51;5049:383;;;5120:21;5144:30;5159:14;;5144:10;:14;;:30;;;;:::i;:::-;5120:54;-1:-1:-1;5188:27:170;5120:54;5188:27;;:::i;:::-;;;5408:13;5390:14;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;;5049:383:170;5446:14;;5442:93;;5476:48;:26;;;5503:8;5513:10;5476:26;:48::i;39537:486:173:-;39717:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39717:40:173;39769:90;39794:16;39812:23;39837:21;39769:24;:90::i;:::-;39926;39951:16;39969:21;39992:23;39926:24;:90::i;6674:198:28:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:36:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:36;;588:104;-1:-1:-1;588:104:36:o;5196:642:27:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;5641:27;;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;;;;42044:2:212;5720:111:27;;;42026:21:212;42083:2;42063:18;;;42056:30;42122:34;42102:18;;;42095:62;42193:12;42173:18;;;42166:40;42223:19;;5720:111:27;41842:406:212;1950:412:92;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;550:376:155:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:155;;550:376;-1:-1:-1;550:376:155:o;631:34::-;-1:-1:-1;846:1:155;835:13;829:20;691:16;825:32;667:18:154;883:36:155;;550:376::o;7166:2290:93:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:93;;7359:63;;7571:21;7645:1;7621:14;:21;:25;:57;;7677:1;7621:57;;;7649:14;:21;7673:1;7649:25;7621:57;7599:11;:18;7595:1;:22;:84;7571:108;;7694:26;7739:13;7723:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7694:59;;7767:14;7817:17;3283:4:161;3277:11;;3315:1;3301:16;;2288:10:93;3348:4:161;3337:16;;3330:27;2326:4:93;3377:16:161;;;3370:27;2211:16:93;3423::161;;3410:30;;;3277:11;2258:165:170;7817:17:93;7799:7;7807:6;7799:15;;;;;;;;:::i;:::-;;;;;;:35;;;;7854:9;7849:140;7873:11;:18;7869:1;:22;7849:140;;;7916:8;;;;;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7942:7;7950:6;7942:15;;;;;;;;:::i;:::-;;;;;;;;;;:32;7893:3;;7849:140;;;-1:-1:-1;8007:21:93;;:25;8003:1408;;8052:8;;;;;;;8096:7;8078;8086:6;8078:15;;;;;;;;:::i;:::-;;;;;;:25;;;;8127:9;8122:1275;8146:14;:21;8142:1;:25;8122:1275;;;8824:284;8890:14;8905:1;8890:17;;;;;;;;:::i;:::-;;;;;;;:24;;;8944:81;8973:51;8998:14;9013:1;8998:17;;;;;;;;:::i;:::-;;;;;;;:25;;;4081:13:147;;4096:4;4077:24;;;4058:17;;4048:54;;3908:210;8973:51:93;7389:34:32;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:93;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:212;;;2281:18;;9164:19:93;2162:177:212;8196:1010:93;9257:14;9272:1;9257:17;;;;;;;;:::i;:::-;;;;;;;:24;;;9241:42;;9228:7;9236:1;9228:10;;;;;;;;:::i;:::-;;;;;;:55;;;;;9305:8;;;;;;;9353:14;9368:1;9353:17;;;;;;;;:::i;:::-;;;;;;;:25;;;9335:7;9343:6;9335:15;;;;;;;;:::i;:::-;;;;;;;;;;:43;8169:3;;8122:1275;;;;8003:1408;-1:-1:-1;9432:7:93;7166:2290;-1:-1:-1;;;;;7166:2290:93:o;42090:213:173:-;42167:15;1048:2:95;1016:34;;;;;3455:1:173;1015:100:95;42201:95:173;816:316:95;3534:689:152;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;2590:688;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;-1:-1:-1;5720:1:152;5715:6;;5172:598;-1:-1:-1;;5172:598:152:o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:36;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:36;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;6012:299;-1:-1:-1;;;;;6012:299:36:o;42309:195:173:-;42380:15;1055:46:95;1048:2;1016:34;;;;;1015:87;42414:83:173;816:316:95;40029:2055:173;40600:29;;;;40536:31;;;;40452:27;;40514:147;;40536:31;40631:16;40514:68;:147::i;:::-;40715:33;;;;40452:219;;-1:-1:-1;40839:77:173;;;40835:183;;;-1:-1:-1;40992:13:173;40835:183;41180:163;41240:23;:29;;;:42;;;41283:23;:37;;;41240:81;;;;;;;;:::i;:::-;;;;;;;:90;;;41180:163;;41332:1;41202:16;41180:46;;:163;;;;;:::i;:::-;41149:194;;41547:31;;;;41149:28;;41493:104;;41515:16;;41580;41493:53;:104::i;:::-;41432:175;;41911:166;41966:21;:27;;;:40;;;42007:21;:35;;;41966:77;;;;;;;;:::i;41911:166::-;41617:27;;;;:460;;;;-1:-1:-1;;;;;40029:2055:173:o;7058:325:28:-;7199:12;7224;7238:23;7265:6;:19;;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:28:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;1014:366:33:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:33;-1:-1:-1;1256:26:33;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;1286:19;;:9;:19;;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;1667:4213:36:-;1749:14;;;2289:6;2286:1;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;;;;45085:2:212;2952:53:36;;;45067:21:212;45124:2;45104:18;;;45097:30;45163:23;45143:18;;;45136:51;45204:18;;2952:53:36;44883:345:212;2952:53:36;3261:17;3396:11;3393:1;3390;3383:25;4774:1;3944;3929:12;;:16;;3914:32;;4049:22;;;;4755:1;:15;;4754:21;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;;;3899:12;4294;;;4290:23;;;4286:31;;;3510:20;;;3499:32;;;4406:12;;;;3557:21;;4147:16;;;;4397:21;;;;5821:15;;;-1:-1:-1;;;;1667:4213:36:o;7671:628:28:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;45435:2:212;8113:60:28;;;45417:21:212;45474:2;45454:18;;;45447:30;45513:31;45493:18;;;45486:59;45562:18;;8113:60:28;45233:353:212;8113:60:28;-1:-1:-1;8208:10:28;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;45793:2:212;5354:81:28;;;45775:21:212;45832:2;45812:18;;;45805:30;45871:34;45851:18;;;45844:62;45942:8;45922:18;;;45915:36;45968:19;;5354:81:28;45591:402:212;5354:81:28;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:28:o;2145:730:32:-;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:32;;-1:-1:-1;2822:35:32;2259:610;2145:730;;;;;:::o;1786:473:33:-;1929:4;1946:12;1960:19;1983:6;:17;;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:33;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:33:o;8821:540:28:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;5009:1456:32:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:32;;-1:-1:-1;6123:30:32;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;46742:25:212;;;46815:4;46803:17;;46783:18;;;46776:45;;;;46837:18;;;46830:34;;;46880:18;;;46873:34;;;6276:24:32;;46714:19:212;;6276:24:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:32;;;;;;-1:-1:-1;;6314:20:32;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:32;;-1:-1:-1;5009:1456:32;;;;;;;;:::o;14:154:212:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:383;250:6;258;266;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;495:2;480:18;;467:32;;-1:-1:-1;546:2:212;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:212:o;561:180::-;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;-1:-1:-1;712:23:212;;561:180;-1:-1:-1;561:180:212:o;938:967::-;1066:6;1074;1082;1090;1098;1151:3;1139:9;1130:7;1126:23;1122:33;1119:53;;;1168:1;1165;1158:12;1119:53;1207:9;1194:23;1226:31;1251:5;1226:31;:::i;:::-;1276:5;-1:-1:-1;1333:2:212;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:212;1437:18;;1424:32;;-1:-1:-1;1507:2:212;1492:18;;1479:32;1530:18;1560:14;;;1557:34;;;1587:1;1584;1577:12;1557:34;1625:6;1614:9;1610:22;1600:32;;1670:7;1663:4;1659:2;1655:13;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1732:2;1719:16;1758:2;1750:6;1747:14;1744:34;;;1774:1;1771;1764:12;1744:34;1819:7;1814:2;1805:6;1801:2;1797:15;1793:24;1790:37;1787:57;;;1840:1;1837;1830:12;1787:57;938:967;;;;-1:-1:-1;938:967:212;;-1:-1:-1;1871:2:212;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:212:o;1910:247::-;1969:6;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2077:9;2064:23;2096:31;2121:5;2096:31;:::i;2344:394::-;2437:6;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2546:9;2533:23;2579:18;2571:6;2568:30;2565:50;;;2611:1;2608;2601:12;2565:50;2634:22;;2690:3;2672:16;;;2668:26;2665:46;;;2707:1;2704;2697:12;2743:399;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;2950:9;2937:23;2983:18;2975:6;2972:30;2969:50;;;3015:1;3012;3005:12;2969:50;3038:22;;3094:3;3076:16;;;3072:26;3069:46;;;3111:1;3108;3101:12;3400:184;3452:77;3449:1;3442:88;3549:4;3546:1;3539:15;3573:4;3570:1;3563:15;3589:253;3661:2;3655:9;3703:4;3691:17;;3738:18;3723:34;;3759:22;;;3720:62;3717:88;;;3785:18;;:::i;:::-;3821:2;3814:22;3589:253;:::o;3847:334::-;3918:2;3912:9;3974:2;3964:13;;3979:66;3960:86;3948:99;;4077:18;4062:34;;4098:22;;;4059:62;4056:88;;;4124:18;;:::i;:::-;4160:2;4153:22;3847:334;;-1:-1:-1;3847:334:212:o;4186:118::-;4272:5;4265:13;4258:21;4251:5;4248:32;4238:60;;4294:1;4291;4284:12;4309:128;4374:20;;4403:28;4374:20;4403:28;:::i;4442:568::-;4498:5;4546:4;4534:9;4529:3;4525:19;4521:30;4518:50;;;4564:1;4561;4554:12;4518:50;4586:22;;:::i;:::-;4577:31;;4645:9;4632:23;4664:33;4689:7;4664:33;:::i;:::-;4706:22;;4780:2;4765:18;;4752:32;4793:33;4752:32;4793:33;:::i;:::-;4853:2;4842:14;;4835:31;4918:2;4903:18;;4890:32;4931:33;4890:32;4931:33;:::i;:::-;4991:2;4980:14;;4973:31;4984:5;4442:568;-1:-1:-1;;4442:568:212:o;5015:185::-;5077:4;5110:18;5102:6;5099:30;5096:56;;;5132:18;;:::i;:::-;-1:-1:-1;5177:1:212;5173:14;5189:4;5169:25;;5015:185::o;5205:156::-;5271:20;;5331:4;5320:16;;5310:27;;5300:55;;5351:1;5348;5341:12;5366:419;5415:5;5463:4;5451:9;5446:3;5442:19;5438:30;5435:50;;;5481:1;5478;5471:12;5435:50;5503:22;;:::i;:::-;5494:31;;5562:9;5549:23;5581:33;5606:7;5581:33;:::i;:::-;5623:22;;5677:36;5709:2;5694:18;;5677:36;:::i;:::-;5672:2;5665:5;5661:14;5654:60;5774:2;5763:9;5759:18;5746:32;5741:2;5734:5;5730:14;5723:56;5366:419;;;;:::o;5790:703::-;5846:5;5899:3;5892:4;5884:6;5880:17;5876:27;5866:55;;5917:1;5914;5907:12;5866:55;5953:6;5940:20;5979:4;6003:62;6019:45;6061:2;6019:45;:::i;:::-;6003:62;:::i;:::-;6099:15;;;6161:4;6204:11;;;6192:24;;6188:33;;;6130:12;;;;6087:3;6233:15;;;6230:35;;;6261:1;6258;6251:12;6230:35;6297:2;6289:6;6285:15;6309:155;6325:6;6320:3;6317:15;6309:155;;;6391:30;6417:3;6412;6391:30;:::i;:::-;6379:43;;6442:12;;;;6342;;6309:155;;;-1:-1:-1;6482:5:212;;5790:703;-1:-1:-1;;;;;;;5790:703:212:o;6498:1048::-;6550:5;6598:4;6586:9;6581:3;6577:19;6573:30;6570:50;;;6616:1;6613;6606:12;6570:50;6649:2;6643:9;6691:4;6683:6;6679:17;6715:18;6783:6;6771:10;6768:22;6763:2;6751:10;6748:18;6745:46;6742:72;;;6794:18;;:::i;:::-;6834:10;6830:2;6823:22;6863:6;6854:15;;6906:9;6893:23;6878:38;;6925:33;6950:7;6925:33;:::i;:::-;6982:7;6974:6;6967:23;7023:35;7054:2;7043:9;7039:18;7023:35;:::i;:::-;7018:2;7010:6;7006:15;6999:60;7092:52;7140:3;7135:2;7124:9;7120:18;7092:52;:::i;:::-;7087:2;7079:6;7075:15;7068:77;7196:4;7185:9;7181:20;7168:34;7154:48;;7225:2;7217:6;7214:14;7211:34;;;7241:1;7238;7231:12;7211:34;7280:59;7335:3;7326:6;7315:9;7311:22;7280:59;:::i;:::-;7273:4;7265:6;7261:17;7254:86;7393:3;7382:9;7378:19;7365:33;7349:49;;7423:2;7413:8;7410:16;7407:36;;;7439:1;7436;7429:12;7407:36;;7478:61;7535:3;7524:8;7513:9;7509:24;7478:61;:::i;:::-;7471:4;7463:6;7459:17;7452:88;;;6498:1048;;;;:::o;7551:589::-;7593:5;7646:3;7639:4;7631:6;7627:17;7623:27;7613:55;;7664:1;7661;7654:12;7613:55;7700:6;7687:20;7726:18;7722:2;7719:26;7716:52;;;7748:18;;:::i;:::-;7792:114;7900:4;7831:66;7824:4;7820:2;7816:13;7812:86;7808:97;7792:114;:::i;:::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8059:2;8052:4;8044:6;8040:17;8033:4;8024:7;8020:18;8007:55;8107:1;8082:16;;;8100:4;8078:27;8071:38;;;;8086:7;7551:589;-1:-1:-1;;;7551:589:212:o;8145:2554::-;8214:5;8267:3;8260:4;8252:6;8248:17;8244:27;8234:55;;8285:1;8282;8275:12;8234:55;8321:6;8308:20;8347:4;8371:62;8387:45;8429:2;8387:45;:::i;8371:62::-;8467:15;;;8553:1;8549:10;;;;8537:23;;8533:32;;;8498:12;;;;8577:15;;;8574:35;;;8605:1;8602;8595:12;8574:35;8641:2;8633:6;8629:15;8653:2017;8669:6;8664:3;8661:15;8653:2017;;;8755:3;8742:17;8782:18;8832:2;8819:11;8816:19;8813:39;;;8848:1;8845;8838:12;8813:39;8875:24;;;;9006:4;8923:12;;;8937:66;8919:85;8915:96;8912:186;;;9052:1;9081:2;9077;9070:14;8912:186;9124:22;;:::i;:::-;9195:2;9191;9187:11;9174:25;9212:33;9237:7;9212:33;:::i;:::-;9258:22;;9303:2;9347:11;;;9334:25;9375:16;;;9372:106;;;9432:1;9461:2;9457;9450:14;9372:106;9501:17;;9553:2;9545:11;;9541:21;-1:-1:-1;9531:119:212;;9604:1;9633:2;9629;9622:14;9531:119;9695:2;9691;9687:11;9674:25;9725:63;9741:46;9783:3;9741:46;:::i;9725:63::-;9832:18;;;9931:1;9927:11;;;;9919:20;;9915:29;;;9872:14;;;;9960:17;;;9957:110;;;10019:1;10049:3;10044;10037:16;9957:110;10093:11;;;;10117:174;10135:8;10128:5;10125:19;10117:174;;;10217:19;;10203:34;;10156:14;;;;10263;;;;10117:174;;;10311:14;;;10304:29;-1:-1:-1;;;10383:4:212;10375:13;;10362:27;10405:16;;;10402:109;;;10463:1;10493:3;10488;10481:16;10402:109;10547:49;10592:3;10587:2;10576:8;10572:2;10568:17;10564:26;10547:49;:::i;:::-;10531:14;;;10524:73;;;;-1:-1:-1;10610:18:212;;-1:-1:-1;;10648:12:212;;;;8686;;8653:2017;;;-1:-1:-1;10688:5:212;8145:2554;-1:-1:-1;;;;;;8145:2554:212:o;10704:1357::-;10997:6;11005;11013;11021;11029;11073:9;11064:7;11060:23;11103:3;11099:2;11095:12;11092:32;;;11120:1;11117;11110:12;11092:32;11160:9;11147:23;11189:18;11230:2;11222:6;11219:14;11216:34;;;11246:1;11243;11236:12;11216:34;11269:56;11317:7;11308:6;11297:9;11293:22;11269:56;:::i;:::-;11259:66;;11378:2;11367:9;11363:18;11350:32;11334:48;;11407:2;11397:8;11394:16;11391:36;;;11423:1;11420;11413:12;11391:36;11446:58;11496:7;11485:8;11474:9;11470:24;11446:58;:::i;:::-;11436:68;;11597:3;11528:66;11524:2;11520:75;11516:85;11513:105;;;11614:1;11611;11604:12;11513:105;11652:2;11641:9;11637:18;11627:28;;11708:3;11697:9;11693:19;11680:33;11664:49;;11738:2;11728:8;11725:16;11722:36;;;11754:1;11751;11744:12;11722:36;11777:78;11847:7;11836:8;11825:9;11821:24;11777:78;:::i;:::-;11767:88;;11908:3;11897:9;11893:19;11880:33;11864:49;;11938:2;11928:8;11925:16;11922:36;;;11954:1;11951;11944:12;11922:36;;;11977:78;12047:7;12036:8;12025:9;12021:24;11977:78;:::i;:::-;11967:88;;;10704:1357;;;;;;;;:::o;12066:626::-;12163:6;12171;12224:2;12212:9;12203:7;12199:23;12195:32;12192:52;;;12240:1;12237;12230:12;12192:52;12280:9;12267:23;12309:18;12350:2;12342:6;12339:14;12336:34;;;12366:1;12363;12356:12;12336:34;12404:6;12393:9;12389:22;12379:32;;12449:7;12442:4;12438:2;12434:13;12430:27;12420:55;;12471:1;12468;12461:12;12420:55;12511:2;12498:16;12537:2;12529:6;12526:14;12523:34;;;12553:1;12550;12543:12;12523:34;12606:7;12601:2;12591:6;12588:1;12584:14;12580:2;12576:23;12572:32;12569:45;12566:65;;;12627:1;12624;12617:12;12566:65;12658:2;12650:11;;;;;12680:6;;-1:-1:-1;12066:626:212;;-1:-1:-1;;;;12066:626:212:o;12697:250::-;12782:1;12792:113;12806:6;12803:1;12800:13;12792:113;;;12882:11;;;12876:18;12863:11;;;12856:39;12828:2;12821:10;12792:113;;;-1:-1:-1;;12939:1:212;12921:16;;12914:27;12697:250::o;12952:329::-;12993:3;13031:5;13025:12;13058:6;13053:3;13046:19;13074:76;13143:6;13136:4;13131:3;13127:14;13120:4;13113:5;13109:16;13074:76;:::i;:::-;13195:2;13183:15;13200:66;13179:88;13170:98;;;;13270:4;13166:109;;12952:329;-1:-1:-1;;12952:329:212:o;13286:859::-;13446:4;13475:2;13515;13504:9;13500:18;13545:2;13534:9;13527:21;13568:6;13603;13597:13;13634:6;13626;13619:22;13672:2;13661:9;13657:18;13650:25;;13734:2;13724:6;13721:1;13717:14;13706:9;13702:30;13698:39;13684:53;;13772:2;13764:6;13760:15;13793:1;13803:313;13817:6;13814:1;13811:13;13803:313;;;13906:66;13894:9;13886:6;13882:22;13878:95;13873:3;13866:108;13997:39;14029:6;14020;14014:13;13997:39;:::i;:::-;13987:49;-1:-1:-1;14094:12:212;;;;14059:15;;;;13839:1;13832:9;13803:313;;;-1:-1:-1;14133:6:212;;13286:859;-1:-1:-1;;;;;;;13286:859:212:o;14150:456::-;14227:6;14235;14243;14296:2;14284:9;14275:7;14271:23;14267:32;14264:52;;;14312:1;14309;14302:12;14264:52;14351:9;14338:23;14370:31;14395:5;14370:31;:::i;:::-;14420:5;-1:-1:-1;14477:2:212;14462:18;;14449:32;14490:33;14449:32;14490:33;:::i;:::-;14150:456;;14542:7;;-1:-1:-1;;;14596:2:212;14581:18;;;;14568:32;;14150:456::o;14611:315::-;14679:6;14687;14740:2;14728:9;14719:7;14715:23;14711:32;14708:52;;;14756:1;14753;14746:12;14708:52;14795:9;14782:23;14814:31;14839:5;14814:31;:::i;:::-;14864:5;14916:2;14901:18;;;;14888:32;;-1:-1:-1;;;14611:315:212:o;14931:386::-;15016:6;15069:2;15057:9;15048:7;15044:23;15040:32;15037:52;;;15085:1;15082;15075:12;15037:52;15125:9;15112:23;15158:18;15150:6;15147:30;15144:50;;;15190:1;15187;15180:12;15144:50;15213:22;;15269:3;15251:16;;;15247:26;15244:46;;;15286:1;15283;15276:12;16200:184;16252:77;16249:1;16242:88;16349:4;16346:1;16339:15;16373:4;16370:1;16363:15;16389:125;16454:9;;;16475:10;;;16472:36;;;16488:18;;:::i;16519:325::-;16607:6;16602:3;16595:19;16659:6;16652:5;16645:4;16640:3;16636:14;16623:43;;16711:1;16704:4;16695:6;16690:3;16686:16;16682:27;16675:38;16577:3;16833:4;16763:66;16758:2;16750:6;16746:15;16742:88;16737:3;16733:98;16729:109;16722:116;;16519:325;;;;:::o;16849:610::-;17081:4;17110:42;17191:2;17183:6;17179:15;17168:9;17161:34;17243:2;17235:6;17231:15;17226:2;17215:9;17211:18;17204:43;;17283:6;17278:2;17267:9;17263:18;17256:34;17326:6;17321:2;17310:9;17306:18;17299:34;17370:3;17364;17353:9;17349:19;17342:32;17391:62;17448:3;17437:9;17433:19;17425:6;17417;17391:62;:::i;:::-;17383:70;16849:610;-1:-1:-1;;;;;;;;16849:610:212:o;17464:184::-;17534:6;17587:2;17575:9;17566:7;17562:23;17558:32;17555:52;;;17603:1;17600;17593:12;17555:52;-1:-1:-1;17626:16:212;;17464:184;-1:-1:-1;17464:184:212:o;18255:394::-;18359:4;18417:11;18404:25;18507:66;18496:8;18480:14;18476:29;18472:102;18452:18;18448:127;18438:155;;18589:1;18586;18579:12;18438:155;18610:33;;;;;18255:394;-1:-1:-1;;18255:394:212:o;18654:580::-;18731:4;18737:6;18797:11;18784:25;18887:66;18876:8;18860:14;18856:29;18852:102;18832:18;18828:127;18818:155;;18969:1;18966;18959:12;18818:155;18996:33;;19048:20;;;-1:-1:-1;19091:18:212;19080:30;;19077:50;;;19123:1;19120;19113:12;19077:50;19156:4;19144:17;;-1:-1:-1;19187:14:212;19183:27;;;19173:38;;19170:58;;;19224:1;19221;19214:12;19239:630;19355:4;19361:6;19421:11;19408:25;19511:66;19500:8;19484:14;19480:29;19476:102;19456:18;19452:127;19442:155;;19593:1;19590;19583:12;19442:155;19620:33;;19672:20;;;-1:-1:-1;19715:18:212;19704:30;;19701:50;;;19747:1;19744;19737:12;19701:50;19780:4;19768:17;;-1:-1:-1;19839:4:212;19827:17;;19811:14;19807:38;19797:49;;19794:69;;;19859:1;19856;19849:12;20157:604;20250:4;20256:6;20316:11;20303:25;20406:66;20395:8;20379:14;20375:29;20371:102;20351:18;20347:127;20337:155;;20488:1;20485;20478:12;20337:155;20515:33;;20567:20;;;-1:-1:-1;20610:18:212;20599:30;;20596:50;;;20642:1;20639;20632:12;20596:50;20675:4;20663:17;;-1:-1:-1;20726:1:212;20722:14;;;20706;20702:35;20692:46;;20689:66;;;20751:1;20748;20741:12;20766:435;20819:3;20857:5;20851:12;20884:6;20879:3;20872:19;20910:4;20939:2;20934:3;20930:12;20923:19;;20976:2;20969:5;20965:14;20997:1;21007:169;21021:6;21018:1;21015:13;21007:169;;;21082:13;;21070:26;;21116:12;;;;21151:15;;;;21043:1;21036:9;21007:169;;;-1:-1:-1;21192:3:212;;20766:435;-1:-1:-1;;;;;20766:435:212:o;21206:872::-;21529:2;21518:9;21511:21;21492:4;21555:61;21612:2;21601:9;21597:18;21589:6;21581;21555:61;:::i;:::-;21664:9;21656:6;21652:22;21647:2;21636:9;21632:18;21625:50;21699:6;21691;21684:22;21729:66;21721:6;21718:78;21715:98;;;21809:1;21806;21799:12;21715:98;21843:6;21840:1;21836:14;21897:6;21889;21884:2;21876:6;21872:15;21859:45;21923:19;21982:18;;;22002:2;21978:27;;;21973:2;21958:18;;21951:55;22023:49;;22060:11;;22052:6;22023:49;:::i;22083:572::-;22224:6;22232;22240;22293:2;22281:9;22272:7;22268:23;22264:32;22261:52;;;22309:1;22306;22299:12;22261:52;22341:9;22335:16;22360:31;22385:5;22360:31;:::i;:::-;22460:2;22445:18;;22439:25;22410:5;;-1:-1:-1;22473:33:212;22439:25;22473:33;:::i;:::-;22577:2;22562:18;;22556:25;22525:7;;-1:-1:-1;22590:33:212;22556:25;22590:33;:::i;:::-;22642:7;22632:17;;;22083:572;;;;;:::o;22660:218::-;22740:6;22793:2;22781:9;22772:7;22768:23;22764:32;22761:52;;;22809:1;22806;22799:12;22761:52;22832:40;22864:7;22853:9;22832:40;:::i;22883:664::-;22938:3;22976:5;22970:12;23003:6;22998:3;22991:19;23029:4;23058:2;23053:3;23049:12;23042:19;;23095:2;23088:5;23084:14;23116:1;23126:396;23140:6;23137:1;23134:13;23126:396;;;23199:13;;23241:9;;23252:42;23237:58;23225:71;;23340:11;;;23334:18;23354:4;23330:29;23316:12;;;23309:51;23383:4;23427:11;;;23421:18;23407:12;;;23400:40;23469:4;23460:14;;;;23497:15;;;;23162:1;23155:9;23126:396;;23552:833;23600:3;23628:42;23709:2;23701:5;23695:12;23691:21;23686:3;23679:34;23776:4;23769:5;23765:16;23759:23;23752:31;23745:39;23738:4;23733:3;23729:14;23722:63;23831:4;23824:5;23820:16;23814:23;23894:2;23879:12;23873:19;23869:28;23862:4;23857:3;23853:14;23846:52;23964:2;23956:4;23942:12;23938:23;23932:30;23928:39;23923:2;23918:3;23914:12;23907:61;24035:2;24027:4;24013:12;24009:23;24003:30;23999:39;23993:3;23988;23984:13;23977:62;;;24087:2;24080:5;24076:14;24070:21;24123:4;24116;24111:3;24107:14;24100:28;24149:62;24205:4;24200:3;24196:14;24180;24149:62;:::i;:::-;24137:74;;24259:3;24252:5;24248:15;24242:22;24306:3;24300:4;24296:14;24289:4;24284:3;24280:14;24273:38;24327:52;24374:4;24358:14;24327:52;:::i;24390:579::-;24645:4;24674:42;24755:2;24747:6;24743:15;24732:9;24725:34;24807:2;24799:6;24795:15;24790:2;24779:9;24775:18;24768:43;;24847:3;24842:2;24831:9;24827:18;24820:31;24868:52;24915:3;24904:9;24900:19;24892:6;24868:52;:::i;:::-;24860:60;;24956:6;24951:2;24940:9;24936:18;24929:34;24390:579;;;;;;;:::o;24974:435::-;25199:42;25191:6;25187:55;25176:9;25169:74;25279:6;25274:2;25263:9;25259:18;25252:34;25322:2;25317;25306:9;25302:18;25295:30;25150:4;25342:61;25399:2;25388:9;25384:18;25376:6;25368;25342:61;:::i;26059:184::-;26111:77;26108:1;26101:88;26208:4;26205:1;26198:15;26232:4;26229:1;26222:15;26248:392;26350:4;26408:11;26395:25;26498:66;26487:8;26471:14;26467:29;26463:102;26443:18;26439:127;26429:155;;26580:1;26577;26570:12;26645:966;26765:9;26824:4;26816:5;26800:14;26796:26;26792:37;26789:57;;;26842:1;26839;26832:12;26789:57;26875:2;26869:9;26917:4;26909:6;26905:17;26941:18;27009:6;26997:10;26994:22;26989:2;26977:10;26974:18;26971:46;26968:72;;;27020:18;;:::i;:::-;27060:10;27056:2;27049:22;27107:5;27094:19;27080:33;;27136:2;27128:6;27125:14;27122:34;;;27152:1;27149;27142:12;27122:34;27180:59;27224:14;27215:6;27208:5;27204:18;27180:59;:::i;:::-;27172:6;27165:75;27297:2;27290:5;27286:14;27273:28;27268:2;27260:6;27256:15;27249:53;27359:2;27352:5;27348:14;27335:28;27330:2;27322:6;27318:15;27311:53;27413:2;27406:5;27402:14;27389:28;27373:44;;27442:2;27432:8;27429:16;27426:36;;;27458:1;27455;27448:12;27426:36;;27495:81;27561:14;27550:8;27543:5;27539:20;27495:81;:::i;:::-;27490:2;27478:15;;27471:106;-1:-1:-1;27482:6:212;26645:966;-1:-1:-1;;26645:966:212:o;27616:382::-;27708:4;27766:11;27753:25;27856:66;27845:8;27829:14;27825:29;27821:102;27801:18;27797:127;27787:155;;27938:1;27935;27928:12;28335:182;28392:6;28445:2;28433:9;28424:7;28420:23;28416:32;28413:52;;;28461:1;28458;28451:12;28413:52;28484:27;28501:9;28484:27;:::i;29192:128::-;29259:9;;;29280:11;;;29277:37;;;29294:18;;:::i;29325:2000::-;29569:4;29598:42;29679:2;29671:6;29667:15;29656:9;29649:34;29702:2;29740:3;29735:2;29724:9;29720:18;29713:31;29779:6;29773:13;29823:3;29817;29806:9;29802:19;29795:32;29850:58;29903:3;29892:9;29888:19;29874:12;29850:58;:::i;:::-;29836:72;;29963:2;29955:6;29951:15;29945:22;29939:3;29928:9;29924:19;29917:51;29987:4;30046:2;30038:6;30034:15;30028:22;30022:3;30011:9;30007:19;30000:51;30070:4;30123:2;30115:6;30111:15;30105:22;30192:66;30180:9;30172:6;30168:22;30164:95;30158:3;30147:9;30143:19;30136:124;30280:6;30315:14;30309:21;30354:6;30346;30339:22;30389:2;30381:6;30377:15;30370:22;;30448:2;30438:6;30435:1;30431:14;30423:6;30419:27;30415:36;30494:2;30478:14;30474:23;30460:37;;30515:1;30525:685;30539:6;30536:1;30533:13;30525:685;;;30625:66;30616:6;30608;30604:19;30600:92;30595:3;30588:105;30722:6;30716:13;30772:2;30767;30761:9;30757:18;30749:6;30742:34;30825:2;30821;30817:11;30811:18;30866:2;30861;30853:6;30849:15;30842:27;30896:61;30953:2;30945:6;30941:15;30925:14;30896:61;:::i;:::-;30998:11;;;30992:18;31047:19;;;31030:15;;;31023:44;30992:18;30882:75;-1:-1:-1;31090:40:212;30882:75;30992:18;31090:40;:::i;:::-;31153:15;;;;31188:12;;;;31080:50;-1:-1:-1;;;30561:1:212;30554:9;30525:685;;;-1:-1:-1;31249:18:212;;;31242:34;;;;-1:-1:-1;;31292:18:212;;;31285:34;;;;-1:-1:-1;31227:6:212;;29325:2000;-1:-1:-1;;;;;;29325:2000:212:o;31330:1077::-;31664:4;31693:3;31735:42;31727:6;31723:55;31712:9;31705:74;31815:2;31810;31799:9;31795:18;31788:30;31841:51;31888:2;31877:9;31873:18;31865:6;31841:51;:::i;:::-;31827:65;;31940:9;31932:6;31928:22;31923:2;31912:9;31908:18;31901:50;31968:39;32000:6;31992;31968:39;:::i;:::-;31960:47;;;32056:6;32043:20;32038:2;32027:9;32023:18;32016:48;32126:2;32118:6;32114:15;32101:29;32095:3;32084:9;32080:19;32073:58;32193:2;32185:6;32181:15;32168:29;32162:3;32151:9;32147:19;32140:58;32260:2;32252:6;32248:15;32235:29;32229:3;32218:9;32214:19;32207:58;32327:3;32319:6;32315:16;32302:30;32296:3;32285:9;32281:19;32274:59;32395:3;32387:6;32383:16;32370:30;32364:3;32353:9;32349:19;32342:59;31330:1077;;;;;;;:::o;32970:195::-;33009:3;33040:66;33033:5;33030:77;33027:103;;33110:18;;:::i;:::-;-1:-1:-1;33157:1:212;33146:13;;32970:195::o;33717:189::-;33817:9;33854:46;33885:14;33878:5;33854:46;:::i;33911:593::-;33992:5;33999:6;34059:3;34046:17;34141:66;34130:8;34114:14;34110:29;34106:102;34086:18;34082:127;34072:155;;34223:1;34220;34213:12;34072:155;34251:33;;34355:4;34342:18;;;-1:-1:-1;34303:21:212;;-1:-1:-1;34383:18:212;34372:30;;34369:50;;;34415:1;34412;34405:12;34369:50;34474:4;34466:6;34462:17;34446:14;34442:38;34435:5;34431:50;34428:70;;;34494:1;34491;34484:12;34509:753;34620:6;34615:3;34608:19;34590:3;34646:4;34675:2;34670:3;34666:12;34659:19;;34701:5;34724:1;34734:503;34748:6;34745:1;34742:13;34734:503;;;34825:6;34812:20;34845:33;34870:7;34845:33;:::i;:::-;34916:42;34903:56;34891:69;;35033:4;34998:33;35015:15;;;34998:33;:::i;:::-;34994:44;34980:12;;;34973:66;35062:4;35113:15;;;35100:29;35086:12;;;35079:51;35153:4;35177:12;;;;35212:15;;;;34770:1;34763:9;34734:503;;35267:1787;35465:4;35494:42;35575:2;35567:6;35563:15;35552:9;35545:34;35615:2;35610;35599:9;35595:18;35588:30;35653:6;35640:20;35669:31;35694:5;35669:31;:::i;:::-;35736:14;;35731:2;35716:18;;35709:42;35800:2;35788:15;;35775:29;35813:30;35775:29;35813:30;:::i;:::-;35887:15;35880:23;35874:3;35859:19;;35852:52;35953:4;35941:17;;35928:31;35968:33;35928:31;35968:33;:::i;:::-;36038:16;;36032:3;36017:19;;36010:45;36104:2;36092:15;;36079:29;36117:33;36079:29;36117:33;:::i;:::-;36187:16;;36181:3;36166:19;;36159:45;36253:3;36241:16;;36228:30;36267:33;36228:30;36267:33;:::i;:::-;36338:16;36331:4;36316:20;;36309:46;36398:79;36472:3;36460:16;;36464:6;36398:79;:::i;:::-;36514:4;36508:3;36497:9;36493:19;36486:33;36542:97;36634:3;36623:9;36619:19;36605:12;36591;36542:97;:::i;:::-;36528:111;;;36686:79;36760:3;36752:6;36748:16;36740:6;36686:79;:::i;:::-;36830:66;36818:9;36810:6;36806:22;36802:95;36796:3;36785:9;36781:19;36774:124;36915:88;36996:6;36980:14;36964;36915:88;:::i;:::-;36907:96;;;;;37041:6;37034:4;37023:9;37019:20;37012:36;35267:1787;;;;;;:::o;37721:254::-;37898:2;37887:9;37880:21;37861:4;37918:51;37965:2;37954:9;37950:18;37942:6;37918:51;:::i;37980:217::-;38127:2;38116:9;38109:21;38090:4;38147:44;38187:2;38176:9;38172:18;38164:6;38147:44;:::i;38202:589::-;38265:3;38303:5;38297:12;38330:6;38325:3;38318:19;38356:4;38385:2;38380:3;38376:12;38369:19;;38410:3;38450:6;38447:1;38443:14;38438:3;38434:24;38492:2;38485:5;38481:14;38513:1;38523:242;38537:6;38534:1;38531:13;38523:242;;;38608:5;38602:4;38598:16;38593:3;38586:29;38636:49;38680:4;38671:6;38665:13;38636:49;:::i;:::-;38743:12;;;;38628:57;-1:-1:-1;38708:15:212;;;;38559:1;38552:9;38523:242;;38796:687;39223:42;39215:6;39211:55;39200:9;39193:74;39303:6;39298:2;39287:9;39283:18;39276:34;39346:6;39341:2;39330:9;39326:18;39319:34;39389:3;39384:2;39373:9;39369:18;39362:31;39174:4;39410:67;39472:3;39461:9;39457:19;39449:6;39410:67;:::i;39488:661::-;39553:5;39606:3;39599:4;39591:6;39587:17;39583:27;39573:55;;39624:1;39621;39614:12;39573:55;39653:6;39647:13;39679:4;39703:62;39719:45;39761:2;39719:45;:::i;39703:62::-;39799:15;;;39885:1;39881:10;;;;39869:23;;39865:32;;;39830:12;;;;39909:15;;;39906:35;;;39937:1;39934;39927:12;39906:35;39973:2;39965:6;39961:15;39985:135;40001:6;39996:3;39993:15;39985:135;;;40067:10;;40055:23;;40098:12;;;;40018;;39985:135;;40154:614;40283:6;40291;40344:2;40332:9;40323:7;40319:23;40315:32;40312:52;;;40360:1;40357;40350:12;40312:52;40393:9;40387:16;40422:18;40463:2;40455:6;40452:14;40449:34;;;40479:1;40476;40469:12;40449:34;40502:72;40566:7;40557:6;40546:9;40542:22;40502:72;:::i;:::-;40492:82;;40620:2;40609:9;40605:18;40599:25;40583:41;;40649:2;40639:8;40636:16;40633:36;;;40665:1;40662;40655:12;40633:36;;40688:74;40754:7;40743:8;40732:9;40728:24;40688:74;:::i;:::-;40678:84;;;40154:614;;;;;:::o;40773:441::-;41042:42;41034:6;41030:55;41019:9;41012:74;41122:2;41117;41106:9;41102:18;41095:30;40993:4;41142:66;41204:2;41193:9;41189:18;41181:6;41142:66;:::i;41219:368::-;41462:6;41451:9;41444:25;41505:2;41500;41489:9;41485:18;41478:30;41425:4;41525:56;41577:2;41566:9;41562:18;41554:6;41525:56;:::i;41592:245::-;41659:6;41712:2;41700:9;41691:7;41687:23;41683:32;41680:52;;;41728:1;41725;41718:12;41680:52;41760:9;41754:16;41779:28;41801:5;41779:28;:::i;42253:184::-;42305:77;42302:1;42295:88;42402:4;42399:1;42392:15;42426:4;42423:1;42416:15;42442:168;42515:9;;;42546;;42563:15;;;42557:22;;42543:37;42533:71;;42584:18;;:::i;42615:482::-;42704:1;42747:5;42704:1;42761:330;42782:7;42772:8;42769:21;42761:330;;;42901:4;42833:66;42829:77;42823:4;42820:87;42817:113;;;42910:18;;:::i;:::-;42960:7;42950:8;42946:22;42943:55;;;42980:16;;;;42943:55;43059:22;;;;43019:15;;;;42761:330;;;42765:3;42615:482;;;;;:::o;43102:866::-;43151:5;43181:8;43171:80;;-1:-1:-1;43222:1:212;43236:5;;43171:80;43270:4;43260:76;;-1:-1:-1;43307:1:212;43321:5;;43260:76;43352:4;43370:1;43365:59;;;;43438:1;43433:130;;;;43345:218;;43365:59;43395:1;43386:10;;43409:5;;;43433:130;43470:3;43460:8;43457:17;43454:43;;;43477:18;;:::i;:::-;-1:-1:-1;;43533:1:212;43519:16;;43548:5;;43345:218;;43647:2;43637:8;43634:16;43628:3;43622:4;43619:13;43615:36;43609:2;43599:8;43596:16;43591:2;43585:4;43582:12;43578:35;43575:77;43572:159;;;-1:-1:-1;43684:19:212;;;43716:5;;43572:159;43763:34;43788:8;43782:4;43763:34;:::i;:::-;43893:6;43825:66;43821:79;43812:7;43809:92;43806:118;;;43904:18;;:::i;:::-;43942:20;;43102:866;-1:-1:-1;;;43102:866:212:o;43973:131::-;44033:5;44062:36;44089:8;44083:4;44062:36;:::i;44109:184::-;44161:77;44158:1;44151:88;44258:4;44255:1;44248:15;44282:4;44279:1;44272:15;44298:287;44427:3;44465:6;44459:13;44481:66;44540:6;44535:3;44528:4;44520:6;44516:17;44481:66;:::i;44590:288::-;44765:2;44754:9;44747:21;44728:4;44785:44;44825:2;44814:9;44810:18;44802:6;44785:44;:::i;:::-;44777:52;;44865:6;44860:2;44849:9;44845:18;44838:34;44590:288;;;;;:::o;45998:::-;46173:6;46162:9;46155:25;46216:2;46211;46200:9;46196:18;46189:30;46136:4;46236:44;46276:2;46265:9;46261:18;46253:6;46236:44;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": "847a1bc9", - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": "9e18968b", - "deposit(address,uint256,uint256)": "0efe6a8b", - "flashFee(address,uint256)": "d9d98ce4", - "flashLoan(address,address,uint256,bytes)": "5cffe9de", - "maxFlashLoan(address)": "613255ab", - "multicall(bytes[])": "ac9650d8", - "orderExists(bytes32)": "2cb77e9f", - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": "e23746a3", - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": "8a44689c", - "vaultBalance(address,address,uint256)": "d97b2e48", - "withdraw(address,uint256,uint256)": "b5c5f672" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct DeployerDiscoverableMetaV2ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ActiveDebt\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"name\":\"FlashLenderCallbackFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"MinimumInput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoOrders\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NotOrderOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"unmeta\",\"type\":\"bytes\"}],\"name\":\"NotRainMetaV1\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OrderNoSources\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SameOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"aliceTokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"bobTokenDecimals\",\"type\":\"uint8\"}],\"name\":\"TokenDecimalsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aliceToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bobToken\",\"type\":\"address\"}],\"name\":\"TokenMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expectedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actualHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedMetaHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroDepositAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"ZeroWithdrawTargetAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"AddOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInput\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearStateChange\",\"name\":\"clearStateChange\",\"type\":\"tuple\"}],\"name\":\"AfterClear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"}],\"name\":\"Clear\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"Context\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subject\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"name\":\"MetaV1\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderExceedsMaxRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderNotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"OrderZeroAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"RemoveOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct TakeOrderConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"}],\"name\":\"TakeOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IExpressionDeployerV2\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV2\",\"name\":\"evaluableConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"meta\",\"type\":\"bytes\"}],\"internalType\":\"struct OrderConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"addOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"bob\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"aliceInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobInputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobOutputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"aliceBountyVaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bobBountyVaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct ClearConfig\",\"name\":\"clearConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"aliceSignedContext\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"bobSignedContext\",\"type\":\"tuple[]\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"removeOrder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stateChanged\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minimumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximumIORatio\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct Evaluable\",\"name\":\"evaluable\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validInputs\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"internalType\":\"struct IO[]\",\"name\":\"validOutputs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"inputIOIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputIOIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"context\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct SignedContextV1[]\",\"name\":\"signedContext\",\"type\":\"tuple[]\"}],\"internalType\":\"struct TakeOrderConfig[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"takeOrders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalTakerInput\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTakerOutput\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"targetAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"params\":{\"amount\":\"The amount of the active debt.\",\"receiver\":\"The receiver of the active debt.\",\"token\":\"The token of the active debt.\"}}],\"FlashLenderCallbackFailed(bytes32)\":[{\"params\":{\"result\":\"The value that was returned by `onFlashLoan`.\"}}],\"MinimumInput(uint256,uint256)\":[{\"params\":{\"input\":\"The input that was achieved.\",\"minimumInput\":\"The minimum input required.\"}}],\"NotOrderOwner(address,address)\":[{\"params\":{\"owner\":\"The owner of the order.\",\"sender\":\"`msg.sender` attempting to modify the order.\"}}],\"NotRainMetaV1(bytes)\":[{\"params\":{\"unmeta\":\"the bytes that are not meta.\"}}],\"OrderNoHandleIO(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoInputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoOutputs(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"OrderNoSources(address)\":[{\"params\":{\"sender\":\"`msg.sender` adding the order.\"}}],\"SameOwner(address)\":[{\"params\":{\"owner\":\"The owner of both orders.\"}}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"params\":{\"aliceTokenDecimals\":\"The input or output decimals of one order.\",\"bobTokenDecimals\":\"The input or output decimals of the other order.\"}}],\"TokenMismatch(address,address)\":[{\"params\":{\"aliceToken\":\"The input or output of one order.\",\"bobToken\":\"The input or output of the other order that doesn't match a.\"}}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"params\":{\"actualHash\":\"The hash of the metadata seen by the `IMetaV1` contract.\",\"expectedHash\":\"The hash expected by the `IMetaV1` contract.\"}}],\"ZeroDepositAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` depositing tokens.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"params\":{\"sender\":\"`msg.sender` withdrawing tokens.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"expressionDeployer\":\"The expression deployer that ran the integrity check for this order. This is NOT included in the `Order` itself but is important for offchain processes to ignore untrusted deployers before interacting with them.\",\"order\":\"The newly added order. MUST be handed back as-is when clearing orders and contains derived information in addition to the order config that was provided by the order owner.\",\"orderHash\":\"The hash of the order as it is recorded onchain. Only the hash is stored in Orderbook storage to avoid paying gas to store the entire order.\",\"sender\":\"`msg.sender` adding the order and is owner of the order.\"}},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"params\":{\"clearStateChange\":\"The final vault state changes from the clearance.\",\"sender\":\"`msg.sender` clearing the order.\"}},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"alice\":\"One of the orders.\",\"bob\":\"The other order.\",\"clearConfig\":\"Additional config required to process the clearance.\",\"sender\":\"`msg.sender` clearing both orders.\"}},\"Context(address,uint256[][])\":{\"params\":{\"context\":\"The context that was built.\",\"sender\":\"`msg.sender` building the context.\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited.\",\"sender\":\"`msg.sender` depositing tokens. Delegated deposits are NOT supported.\",\"token\":\"The token being deposited.\",\"vaultId\":\"The vault ID the tokens are being deposited under.\"}},\"MetaV1(address,uint256,bytes)\":{\"params\":{\"meta\":\"Rain metadata V1 compliant metadata bytes. https://github.com/rainprotocol/specs/blob/main/metadata-v1.md\",\"sender\":\"The msg.sender.\",\"subject\":\"The entity that the metadata is about. MAY be the address of the emitting contract (as `uint256`) OR anything else. The interpretation of the subject is context specific, so will often be a hash of some data/thing that this metadata is about.\"}},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that had an excess ratio.\",\"owner\":\"Owner of the order that had an excess ratio.\",\"sender\":\"`msg.sender` clearing the order that had an excess ratio.\"}},\"OrderNotFound(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that was not found.\",\"owner\":\"Owner of the order that was not found.\",\"sender\":\"`msg.sender` clearing the order that wasn't found.\"}},\"OrderZeroAmount(address,address,bytes32)\":{\"params\":{\"orderHash\":\"Hash of the order that evaluated to a 0 amount.\",\"owner\":\"Owner of the order that evaluated to a 0 amount.\",\"sender\":\"`msg.sender` clearing the order that had a 0 amount.\"}},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"params\":{\"order\":\"The removed order.\",\"orderHash\":\"The hash of the removed order.\",\"sender\":\"`msg.sender` removing the order and is owner of the order.\"}},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"params\":{\"config\":\"All config defining the orders to attempt to take.\",\"input\":\"The input amount from the perspective of sender.\",\"output\":\"The output amount from the perspective of sender.\",\"sender\":\"`msg.sender` taking the orders.\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens withdrawn, can be less than the target amount if the vault does not have the funds available to cover the target amount. For example an active order might move tokens before the withdraw completes.\",\"sender\":\"`msg.sender` withdrawing tokens. Delegated withdrawals are NOT supported.\",\"targetAmount\":\"The amount of tokens requested to withdraw.\",\"token\":\"The token being withdrawn.\",\"vaultId\":\"The vault ID the tokens are being withdrawn from.\"}}},\"kind\":\"dev\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"params\":{\"config\":\"All config required to build an `Order`.\"},\"returns\":{\"stateChanged\":\"True if the order was added, false if it already existed.\"}},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"params\":{\"alice\":\"Some order to clear.\",\"aliceSignedContext\":\"Optional signed context that is relevant to A.\",\"bob\":\"Another order to clear.\",\"bobSignedContext\":\"Optional signed context that is relevant to B.\",\"clearConfig\":\"Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`.\"}},\"deposit(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"token\":\"The token to deposit.\",\"vaultId\":\"The vault ID to deposit under.\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"multicall(bytes[])\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Receives and executes a batch of function calls on this contract.\"},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"_0\":\"True if the order exists, false otherwise.\"}},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"params\":{\"order\":\"The `Order` data exactly as it was added.\"},\"returns\":{\"stateChanged\":\"True if the order was removed, false if it did not exist.\"}},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"params\":{\"config\":\"The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order.\"},\"returns\":{\"totalTakerInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalTakerOutput\":\"Total tokens taken from `msg.sender` and distributed between vaults.\"}},\"vaultBalance(address,address,uint256)\":{\"params\":{\"id\":\"The vault ID to read.\",\"owner\":\"The owner of the vault.\",\"token\":\"The token the vault is for.\"},\"returns\":{\"_0\":\"The current balance of the vault.\"}},\"withdraw(address,uint256,uint256)\":{\"params\":{\"targetAmount\":\"The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.\",\"token\":\"The token to withdraw.\",\"vaultId\":\"The vault ID to withdraw from.\"}}},\"stateVariables\":{\"sVaultBalances\":{\"details\":\"Vault balances are stored in a mapping of owner => token => vault ID This gives 1:1 parity with the `IOrderBookV1` interface but keeping the `sFoo` naming convention for storage variables.\"}},\"title\":\"OrderBook See `IOrderBookV1` for more documentation.\",\"version\":1},\"userdoc\":{\"errors\":{\"ActiveDebt(address,address,uint256)\":[{\"notice\":\"Thrown when more than one debt is attempted simultaneously.\"}],\"FlashLenderCallbackFailed(bytes32)\":[{\"notice\":\"Thrown when the `onFlashLoan` callback returns anything other than ON_FLASH_LOAN_CALLBACK_SUCCESS.\"}],\"InvalidSignature(uint256)\":[{\"notice\":\"Thrown when the ith signature from a list of signed contexts is invalid.\"}],\"MinimumInput(uint256,uint256)\":[{\"notice\":\"Thrown when the minimum input is not met.\"}],\"NoOrders()\":[{\"notice\":\"Thrown when take orders is called with no orders.\"}],\"NotOrderOwner(address,address)\":[{\"notice\":\"Thrown when the `msg.sender` modifying an order is not its owner.\"}],\"NotRainMetaV1(bytes)\":[{\"notice\":\"Thrown when some bytes are expected to be rain meta and are not.\"}],\"OrderNoHandleIO(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources(address)\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"This will exist in a future version of Open Zeppelin if their main branch is to be believed.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"TokenDecimalsMismatch(uint8,uint8)\":[{\"notice\":\"Thrown when the input and output token decimals don't match, in either direction.\"}],\"TokenMismatch(address,address)\":[{\"notice\":\"Thrown when the input and output tokens don't match, in either direction.\"}],\"UnexpectedMetaHash(bytes32,bytes32)\":[{\"notice\":\"Thrown when hashed metadata does NOT match the expected hash.\"}],\"ZeroAmount()\":[{\"notice\":\"Thrown when `flashLoan` amount is zero.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroReceiver()\":[{\"notice\":\"Thrown when `flashLoan` receiver is zero address.\"}],\"ZeroToken()\":[{\"notice\":\"Thrown when `flashLoan` token is zero address.\"}],\"ZeroWithdrawTargetAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `withdraw` if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens if the vault balance is zero, or the withdrawal is used to repay a flash loan.\"}]},\"events\":{\"AddOrder(address,address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been added to the orderbook. The order is permanently and always active according to its expression until/unless it is removed.\"},\"AfterClear(address,(uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted after two orders clear. Includes all final state changes in the vault balances, including the clearer's vaults.\"},\"Clear(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Emitted before two orders clear. Covers both orders and includes all the state before anything is calculated.\"},\"Context(address,uint256[][])\":{\"notice\":\"Calling contracts SHOULD emit `Context` before calling `eval` if they are able. Notably `eval` MAY be called within a static call which means that events cannot be emitted, in which case this does not apply. It MAY NOT be useful to emit this multiple times for several eval calls if they all share a common context, in which case a single emit is sufficient.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Some tokens have been deposited to a vault.\"},\"MetaV1(address,uint256,bytes)\":{\"notice\":\"An onchain wrapper to carry arbitrary Rain metadata. Assigns the sender to the metadata so that tooling can easily drop/ignore data from unknown sources. As metadata is about something, the subject MUST be provided.\"},\"OrderExceedsMaxRatio(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a ratio exceeding the counterparty's maximum limit. An error rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"OrderNotFound(address,address,bytes32)\":{\"notice\":\"Emitted when attempting to match an order that either never existed or was removed. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on \\\"best effort\\\" basis to clear.\"},\"OrderZeroAmount(address,address,bytes32)\":{\"notice\":\"Emitted when an order evaluates to a zero amount. An event rather than an error so that we allow attempting many orders in a loop and NOT rollback on a \\\"best effort\\\" basis to clear.\"},\"RemoveOrder(address,(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),bytes32)\":{\"notice\":\"An order has been removed from the orderbook. This effectively deactivates it. Orders can be added again after removal.\"},\"TakeOrder(address,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[]),uint256,uint256)\":{\"notice\":\"Some order has been taken by `msg.sender`. This is the same as them placing inverse orders then immediately clearing them all, but costs less gas and is more convenient and reliable. Analogous to a market buy against the specified orders. Each order that is matched within a the `takeOrders` loop emits its own individual event.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Some tokens have been withdrawn from a vault.\"}},\"kind\":\"user\",\"methods\":{\"addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))\":{\"notice\":\"Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true.\"},\"clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])\":{\"notice\":\"Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \\\"automatic\\\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers\"},\"constructor\":{\"notice\":\"Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies.\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero.\"},\"maxFlashLoan(address)\":{\"notice\":\"There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment.\"},\"orderExists(bytes32)\":{\"notice\":\"Returns true if the order exists, false otherwise.\"},\"removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))\":{\"notice\":\"Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live.\"},\"takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))\":{\"notice\":\"Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`.\"},\"vaultBalance(address,address,uint256)\":{\"notice\":\"Get the current balance of a vault for a given owner, token and vault ID.\"},\"withdraw(address,uint256,uint256)\":{\"notice\":\"Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/concrete/OrderBook.sol\":\"OrderBook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Multicall.sol\":{\"keccak256\":\"0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0\",\"dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol\":{\"keccak256\":\"0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a\",\"dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA\"]},\"lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768\",\"dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f\",\"dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibContext.sol\":{\"keccak256\":\"0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05\",\"dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF\"]},\"lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol\":{\"keccak256\":\"0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb\",\"dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c\",\"dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP\"]},\"lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol\":{\"keccak256\":\"0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24\",\"dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol\":{\"keccak256\":\"0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28\",\"dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.metadata/src/IMetaV1.sol\":{\"keccak256\":\"0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3\",\"dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs\"]},\"lib/rain.metadata/src/LibMeta.sol\":{\"keccak256\":\"0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d\",\"dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]},\"src/abstract/OrderBookV3FlashLender.sol\":{\"keccak256\":\"0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa\",\"dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86\",\"dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA\"]},\"src/interface/IOrderBookV2.sol\":{\"keccak256\":\"0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798\",\"dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273\",\"dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc\",\"dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206\",\"dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct DeployerDiscoverableMetaV2ConstructionConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "type": "error", - "name": "ActiveDebt" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "result", - "type": "bytes32" - } - ], - "type": "error", - "name": "FlashLenderCallbackFailed" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "i", - "type": "uint256" - } - ], - "type": "error", - "name": "InvalidSignature" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256" - } - ], - "type": "error", - "name": "MinimumInput" - }, - { - "inputs": [], - "type": "error", - "name": "NoOrders" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "NotOrderOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "unmeta", - "type": "bytes" - } - ], - "type": "error", - "name": "NotRainMetaV1" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoHandleIO" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoInputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoOutputs" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "type": "error", - "name": "OrderNoSources" - }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "type": "error", - "name": "SameOwner" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "SourceOffsetOutOfBounds" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "aliceTokenDecimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "bobTokenDecimals", - "type": "uint8" - } - ], - "type": "error", - "name": "TokenDecimalsMismatch" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "aliceToken", - "type": "address" - }, - { - "internalType": "address", - "name": "bobToken", - "type": "address" - } - ], - "type": "error", - "name": "TokenMismatch" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expectedHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actualHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedMetaHash" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroDepositAmount" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroReceiver" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroToken" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroWithdrawTargetAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "contract IExpressionDeployerV2", - "name": "expressionDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "AddOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct ClearStateChange", - "name": "clearStateChange", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInput", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "AfterClear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "Clear", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]", - "indexed": false - } - ], - "type": "event", - "name": "Context", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "subject", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "MetaV1", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderExceedsMaxRatio", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderNotFound", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "OrderZeroAmount", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "RemoveOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "struct TakeOrderConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "indexed": false - }, - { - "internalType": "uint256", - "name": "input", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "output", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TakeOrder", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdraw", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "struct OrderConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct EvaluableConfigV2", - "name": "evaluableConfig", - "type": "tuple", - "components": [ - { - "internalType": "contract IExpressionDeployerV2", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - } - ] - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct Order", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "struct ClearConfig", - "name": "clearConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "aliceInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobInputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobOutputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "aliceBountyVaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bobBountyVaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "aliceSignedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - }, - { - "internalType": "struct SignedContextV1[]", - "name": "bobSignedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "clear" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "flashFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flashLoan", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxFlashLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeOrder", - "outputs": [ - { - "internalType": "bool", - "name": "stateChanged", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct TakeOrdersConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "minimumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maximumIORatio", - "type": "uint256" - }, - { - "internalType": "struct TakeOrderConfig[]", - "name": "orders", - "type": "tuple[]", - "components": [ - { - "internalType": "struct Order", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct Evaluable", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV1", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "address", - "name": "expression", - "type": "address" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validInputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IO[]", - "name": "validOutputs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "uint256", - "name": "inputIOIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputIOIndex", - "type": "uint256" - }, - { - "internalType": "struct SignedContextV1[]", - "name": "signedContext", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "context", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrders", - "outputs": [ - { - "internalType": "uint256", - "name": "totalTakerInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTakerOutput", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { - "params": { - "config": "All config required to build an `Order`." - }, - "returns": { - "stateChanged": "True if the order was added, false if it already existed." - } - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "params": { - "alice": "Some order to clear.", - "aliceSignedContext": "Optional signed context that is relevant to A.", - "bob": "Another order to clear.", - "bobSignedContext": "Optional signed context that is relevant to B.", - "clearConfig": "Additional configuration for the clearance such as how to handle the bounty payment for the `msg.sender`." - } - }, - "deposit(address,uint256,uint256)": { - "params": { - "amount": "The amount of tokens to deposit.", - "token": "The token to deposit.", - "vaultId": "The vault ID to deposit under." - } - }, - "flashFee(address,uint256)": { - "details": "The fee to be charged for a given loan.", - "params": { - "amount": "The amount of tokens lent.", - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." - } - }, - "flashLoan(address,address,uint256,bytes)": { - "details": "Initiate a flash loan.", - "params": { - "amount": "The amount of tokens lent.", - "data": "Arbitrary data structure, intended to contain user-defined parameters.", - "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", - "token": "The loan currency." - } - }, - "maxFlashLoan(address)": { - "details": "The amount of currency available to be lent.", - "params": { - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` that can be borrowed." - } - }, - "multicall(bytes[])": { - "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", - "details": "Receives and executes a batch of function calls on this contract." - }, - "orderExists(bytes32)": { - "params": { - "orderHash": "The hash of the order to check." - }, - "returns": { - "_0": "True if the order exists, false otherwise." - } - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "params": { - "order": "The `Order` data exactly as it was added." - }, - "returns": { - "stateChanged": "True if the order was removed, false if it did not exist." - } - }, - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { - "params": { - "config": "The constraints and list of orders to take, orders are processed sequentially in order as provided, there is NO ATTEMPT onchain to predict/filter/sort these orders other than evaluating them as provided. Inputs and outputs are from the perspective of `msg.sender` except for values specified by the orders themselves which are the from the perspective of that order." - }, - "returns": { - "totalTakerInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", - "totalTakerOutput": "Total tokens taken from `msg.sender` and distributed between vaults." - } - }, - "vaultBalance(address,address,uint256)": { - "params": { - "id": "The vault ID to read.", - "owner": "The owner of the vault.", - "token": "The token the vault is for." - }, - "returns": { - "_0": "The current balance of the vault." - } - }, - "withdraw(address,uint256,uint256)": { - "params": { - "targetAmount": "The amount of tokens to attempt to withdraw. MAY result in fewer tokens withdrawn if the vault balance is lower than the target amount. MAY NOT be zero, the order book MUST revert with `ZeroWithdrawTargetAmount` if the amount is zero.", - "token": "The token to withdraw.", - "vaultId": "The vault ID to withdraw from." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addOrder(((address,uint8,uint256)[],(address,uint8,uint256)[],(address,bytes,uint256[]),bytes))": { - "notice": "Given an order config, deploys the expression and builds the full `Order` for the config, then records it as an active order. Delegated adding an order is NOT supported. The `msg.sender` that adds an order is ALWAYS the owner and all resulting vault movements are their own. MUST revert with `OrderNoSources` if the order has no associated calculation and `OrderNoHandleIO` if the order has no handle IO entrypoint. The calculation MUST return at least two values from evaluation, the maximum amount and the IO ratio. The handle IO entrypoint SHOULD return zero values from evaluation. Either MAY revert during evaluation on the interpreter, which MUST prevent the order from clearing. MUST revert with `OrderNoInputs` if the order has no inputs. MUST revert with `OrderNoOutputs` if the order has no outputs. If the order already exists, the order book MUST NOT change state, which includes not emitting an event. Instead it MUST return false. If the order book modifies state it MUST emit an `AddOrder` event and return true." - }, - "clear((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),(uint256,uint256,uint256,uint256,uint256,uint256),(address,uint256[],bytes)[],(address,uint256[],bytes)[])": { - "notice": "Allows `msg.sender` to match two live orders placed earlier by non-interactive parties and claim a bounty in the process. The clearer is free to select any two live orders on the order book for matching and as long as they have compatible tokens, ratios and amounts, the orders will clear. Clearing the orders DOES NOT remove them from the orderbook, they remain live until explicitly removed by their owner. Even if the input vault balances are completely emptied, the orders remain live until removed. This allows order owners to deploy a strategy over a long period of time and periodically top up the input vaults. Clearing two orders from the same owner is disallowed. Any mismatch in the ratios between the two orders will cause either more inputs than there are available outputs (transaction will revert) or less inputs than there are available outputs. In the latter case the excess outputs are given to the `msg.sender` of clear, to the vaults they specify in the clear config. This not only incentivises \"automatic\" clear calls for both alice and bob, but incentivises _prioritising greater ratio differences_ with a larger bounty. The second point is important because it implicitly prioritises orders that are further from the current market price, thus putting constant increasing pressure on the entire system the further it drifts from the norm, no matter how esoteric the individual order expressions and sizings might be. All else equal there are several factors that would impact how reliably some order clears relative to the wider market, such as: - Bounties are effectively percentages of cleared amounts so larger orders have larger bounties and cover gas costs more easily - High gas on the network means that orders are harder to clear profitably so the negative spread of the ratios will need to be larger - Complex and stateful expressions cost more gas to evalulate so the negative spread will need to be larger - Erratic behavior of the order owner could reduce the willingness of third parties to interact if it could result in wasted gas due to orders suddently being removed before clearance etc. - Dynamic and highly volatile words used in the expression could be ignored or low priority by clearers who want to be sure that they can accurately predict the ratios that they include in their clearance - Geopolitical issues such as sanctions and regulatory restrictions could cause issues for certain owners and clearers" - }, - "constructor": { - "notice": "Initializes the orderbook upon construction for compatibility with Open Zeppelin upgradeable contracts. Orderbook itself does NOT support factory deployments as each order is a unique expression deployment rather than needing to wrap up expressions with proxies." - }, - "deposit(address,uint256,uint256)": { - "notice": "Vault IDs are namespaced by the token address so there is no risk of collision between tokens. For example, vault ID 0 for token A is completely different to vault ID 0 for token B. `0` amount deposits are unsupported as underlying token contracts handle `0` value transfers differently and this would be a source of confusion. The order book MUST revert with `ZeroDepositAmount` if the amount is zero." - }, - "maxFlashLoan(address)": { - "notice": "There's no limit to the size of a flash loan from `Orderbook` other than the current tokens deposited in `Orderbook`. If there is an active debt then loans are disabled so the max becomes `0` until after repayment." - }, - "orderExists(bytes32)": { - "notice": "Returns true if the order exists, false otherwise." - }, - "removeOrder((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]))": { - "notice": "Order owner can remove their own orders. Delegated order removal is NOT supported and will revert. Removing an order multiple times or removing an order that never existed are valid, the event will be emitted and the transaction will complete with that order hash definitely, redundantly not live." - }, - "takeOrders((uint256,uint256,uint256,((address,bool,(address,address,address),(address,uint8,uint256)[],(address,uint8,uint256)[]),uint256,uint256,(address,uint256[],bytes)[])[],bytes))": { - "notice": "Allows `msg.sender` to attempt to fill a list of orders in sequence without needing to place their own order and clear them. This works like a market buy but against a specific set of orders. Every order will looped over and calculated individually then filled maximally until the request input is reached for the `msg.sender`. The `msg.sender` is responsible for selecting the best orders at the time according to their criteria and MAY specify a maximum IO ratio to guard against an order spiking the ratio beyond what the `msg.sender` expected and is comfortable with. As orders may be removed and calculate their ratios dynamically, all issues fulfilling an order other than misconfiguration by the `msg.sender` are no-ops and DO NOT revert the transaction. This allows the `msg.sender` to optimistically provide a list of orders that they aren't sure will completely fill at a good price, and fallback to more reliable orders further down their list. Misconfiguration such as token mismatches are errors that revert as this is known and static at all times to the `msg.sender` so MUST be provided correctly. `msg.sender` MAY specify a minimum input that MUST be reached across all orders in the list, otherwise the transaction will revert, this MAY be set to zero. Exactly like withdraw, if there is an active flash loan for `msg.sender` they will have their outstanding loan reduced by the final input amount preferentially before sending any tokens. Notably this allows arb bots implemented as flash loan borrowers to connect orders against external liquidity directly by paying back the loan with a `takeOrders` call and outputting the result of the external trade. Rounding errors always favour the order never the `msg.sender`." - }, - "vaultBalance(address,address,uint256)": { - "notice": "Get the current balance of a vault for a given owner, token and vault ID." - }, - "withdraw(address,uint256,uint256)": { - "notice": "Allows the sender to withdraw any tokens from their own vaults. If the withrawer has an active flash loan debt denominated in the same token being withdrawn then Orderbook will merely reduce the debt and NOT send the amount of tokens repaid to the flashloan debt. MUST revert if the amount _requested_ to withdraw is zero. The withdrawal MAY still not move any tokens (without revert) if the vault balance is zero, or the withdrawal is used to repay a flash loan, or due to any other internal accounting." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "src/concrete/OrderBook.sol": "OrderBook" - }, - "libraries": {} - }, - "sources": { - "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": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1", - "urls": [ - "bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68", - "dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Multicall.sol": { - "keccak256": "0xface9a29da6448061decb3506735c0c37aae8820ffaacfea982b1a8633be20d4", - "urls": [ - "bzz-raw://6b5e6f84ed95d9b7f8d6fd8b1019c0aa2114d417dd7a57728d05f6fabf30b8d0", - "dweb:/ipfs/Qmbbgsakxi9caqBtYpAa8UKQCXvNmKnyRNyp8YAVpa91gM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { - "keccak256": "0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58", - "urls": [ - "bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2", - "dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { - "keccak256": "0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80", - "urls": [ - "bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d", - "dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol": { - "keccak256": "0x3a74582510521381a9bd2732847be9170fd58fc5baf257917854f35823cd94db", - "urls": [ - "bzz-raw://233812d35b959b522281af216123f7cc3c900342273e337cc9ba4418f655a78a", - "dweb:/ipfs/QmZjZtdUbBzA55VSSKASr3fnmK1CZ36SY8LoyAYsFZ8gwA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IExpressionDeployerV1.sol": { - "keccak256": "0x42d4d91cc62778967ca5f1bb2e7b2c97ca2de2c49518bc8a08a0b50275074ab6", - "urls": [ - "bzz-raw://6f461a0c0f65a514799200a64bc0e9d926abe4e0bba0c4e2ca0e3d6a04677768", - "dweb:/ipfs/QmeUggk58ypM3721672wdupquFM8W9VnY3qpn8swKoeLhA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { - "keccak256": "0xdbcd86209f48d96355da6e3f1c7f09530667f62544aa43b7058fe99063a20b6e", - "urls": [ - "bzz-raw://b3803c98391a7db85b12c2ad9858abcda0022d0c004aabdad5ea736959a8ac0f", - "dweb:/ipfs/QmbL5b4Rz1H4ZPVQzLET8UrQqXiUBnbwCkdUE6jHqPcapN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { - "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", - "urls": [ - "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", - "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibContext.sol": { - "keccak256": "0x155499b7b1624484d2b03b9aecc7d7133c6c69bd17aa278b756c27e2c48af74a", - "urls": [ - "bzz-raw://a2c9276f73ba44f1978b06847a23eed697b62f72eaa02e5e5711c30ea8097c05", - "dweb:/ipfs/QmfKhi9K4Sp45t2dXCz5pms7mkoXARWkYgB661uc8DPrbF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibDeployerDiscoverable.sol": { - "keccak256": "0x80a4169a009519f7e94ce4416c9f4eb94b0cbf96f8e4c3f4f5ec8d65e59ad085", - "urls": [ - "bzz-raw://bc915a321a3913fdee0a8eadcc263c6a8d2425c3517da5107d3a4177789199eb", - "dweb:/ipfs/QmYJAQepVmeHDTZRCAAcEY7J7ANikvH3pnS6eETf5gnVrG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { - "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", - "urls": [ - "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", - "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { - "keccak256": "0x9bd77a3efb7e0762ca214efe30c3c49c3f3efae3b6c759db2c7a0aa52ff3d364", - "urls": [ - "bzz-raw://6125b3bd94d9966557c068dda143c930d37662da06cd84a4369a673f4ce8b07c", - "dweb:/ipfs/QmepFEJseAU31gPAa7Hq2H3ZDfRJ3DnK94CBpe73H3v7yP" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/lib/rain.lib.hash/src/LibHashNoAlloc.sol": { - "keccak256": "0x52c8b6906d61bcc7e70d594cb097f53e361569904e27019ebeed0b4c94d2aed8", - "urls": [ - "bzz-raw://62999b0afefbe97e1d41c2c57b67a186e5a1618758f8f9cf17776c1d67f27d24", - "dweb:/ipfs/QmfVsV2CVp91F9dHNWziKvSo54Wgb84k5Ct7Rtxxyptw35" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol": { - "keccak256": "0x600663b6bfbf145f08708b4335b77fd34a81f498db39958af54eb55c778cedcc", - "urls": [ - "bzz-raw://92aca54bb5df1ed98b5efa836aea98f0b1711dbf42bff369f028da972da1db28", - "dweb:/ipfs/Qmbheu4ofHfGn9BWfYow84aH21xGAuqMSjSMpWJ7cvBeE5" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { - "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", - "urls": [ - "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", - "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" - ], - "license": "CAL" - }, - "lib/rain.metadata/src/IMetaV1.sol": { - "keccak256": "0xd1959040fcc89be7a4dc8c9c193e4e5a78b84b05848b86c54d39c3d717ad1843", - "urls": [ - "bzz-raw://7d3cba2279a6b8912f783430eef89c4a6482a489632ead7e2a3594d2162fa2b3", - "dweb:/ipfs/QmfJFn72vcnq4LXpeBs9PWuDRzJSr58uVeDVjWpxjMHFWs" - ], - "license": "CAL" - }, - "lib/rain.metadata/src/LibMeta.sol": { - "keccak256": "0x04665ba6364cc67050b2a245daa780c39039dd51653f7b2029910f242f5dd285", - "urls": [ - "bzz-raw://4341f3462120c37c832c03c6c9a0d52a100708fad713ced970f09747badd9d6d", - "dweb:/ipfs/QmUGovuLTuTmCSTvYWc6SehzyoYAzVsAnPBNmE3hmRDAQU" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - }, - "src/abstract/OrderBookV3FlashLender.sol": { - "keccak256": "0x1a40345d8c40b93ee4a5ccad3036d0bfc64329b7a6d7a3921ecf88663cc48471", - "urls": [ - "bzz-raw://640a8baf8687ed36af05da84ec03211a9a03029b4a3ad9661d7a663a32ea21aa", - "dweb:/ipfs/QmXmc4PXGwqz4Q1jsdL977ZRiKg5zW6kuxUE6RpHV5Fgdd" - ], - "license": "CAL" - }, - "src/concrete/OrderBook.sol": { - "keccak256": "0x2908c64052520380478f71fd48b20a15e6ba2c78e759d239105f124adea9d52b", - "urls": [ - "bzz-raw://1357dbf53f01e2a6d73633ac38c4fd09b9008bcca4db10aa5e82f1192bb80c86", - "dweb:/ipfs/QmZwzSmVpb3mjkZXszpT7A3SwtQ1qQFtGbXSQv2ezdQrmA" - ], - "license": "CAL" - }, - "src/interface/IOrderBookV2.sol": { - "keccak256": "0x0bec965691bcb2611e6d6f0b6f0b77fbc7e4eaa83ffb956bbad8a94523f03d8a", - "urls": [ - "bzz-raw://5a877639d1f701f03ffdf67a3e4296475cca91f178888e791d14f50663c9d798", - "dweb:/ipfs/QmZQnRzZfro3F1TuaVgY49Z1YrshXRuEdWR2qdsjzd1jSR" - ], - "license": "CAL" - }, - "src/interface/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", - "urls": [ - "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", - "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" - ], - "license": "CC0" - }, - "src/interface/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x191637dc4503bf6cc0c6c0539bf83a758b124e37abc5da05ae4d446133cf36b5", - "urls": [ - "bzz-raw://de7dea1fd8bd0dcdae7bdb400d4ccc9e01ecb73e23ef2b2f77704a9741669273", - "dweb:/ipfs/QmT8BAK76nEJ5kTKkDxDovD4xuAXPACAyxshUA4RX3WLe3" - ], - "license": "CC0" - }, - "src/interface/unstable/IOrderBookV3.sol": { - "keccak256": "0x0765ad4e44c96dc89f1842a0c11c8fc7aa168e6f7b876d29798989fd036745da", - "urls": [ - "bzz-raw://9d75acfe03553c8159113fa7d0e761c90b570ffa45b397a06ce65e9d906fe1fc", - "dweb:/ipfs/QmSEHb5uYfpb7ramDHEDXLVTNgYBMaB3YNuT6ws8FhBqEo" - ], - "license": "CAL" - }, - "src/interface/unstable/IOrderBookV3OrderTaker.sol": { - "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", - "urls": [ - "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", - "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" - ], - "license": "CAL" - }, - "src/lib/LibOrder.sol": { - "keccak256": "0xc2b34205537bcbcde855dd846366725dfca111e7f3d51944fd838557c05f5280", - "urls": [ - "bzz-raw://46d22a7b357fc969c955a04157f162b3769df02287a08ac80fa5c85599b06206", - "dweb:/ipfs/Qmb1jmLPL9XF7M1uk47yk1znJAQEqm9obnfq1h4aagjaXU" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/concrete/OrderBook.sol", - "id": 77035, - "exportedSymbols": { - "ActiveDebt": [ - 74245 - ], - "CALCULATE_ORDER_ENTRYPOINT": [ - 74905 - ], - "CALCULATE_ORDER_MAX_OUTPUTS": [ - 74921 - ], - "CALCULATE_ORDER_MIN_OUTPUTS": [ - 74917 - ], - "CALLER_META_HASH": [ - 74984 - ], - "CALLING_CONTEXT_COLUMNS": [ - 74933 - ], - "CONTEXT_BASE_COLUMN": [ - 74937 - ], - "CONTEXT_CALCULATIONS_COLUMN": [ - 74945 - ], - "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 74941 - ], - "CONTEXT_VAULT_INPUTS_COLUMN": [ - 74949 - ], - "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 74969 - ], - "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 74973 - ], - "CONTEXT_VAULT_IO_ROWS": [ - 74977 - ], - "CONTEXT_VAULT_IO_TOKEN": [ - 74957 - ], - "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 74961 - ], - "CONTEXT_VAULT_IO_VAULT_ID": [ - 74965 - ], - "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 74953 - ], - "ClearConfig": [ - 77292 - ], - "ClearStateChange": [ - 77301 - ], - "DEFAULT_STATE_NAMESPACE": [ - 56316 - ], - "DeployerDiscoverableMetaV2": [ - 55357 - ], - "DeployerDiscoverableMetaV2ConstructionConfig": [ - 55312 - ], - "ECDSA": [ - 45815 - ], - "EncodedDispatch": [ - 56304 - ], - "Evaluable": [ - 57310 - ], - "EvaluableConfig": [ - 57292 - ], - "EvaluableConfigV2": [ - 57301 - ], - "FIXED_POINT_DECIMALS": [ - 71265 - ], - "FIXED_POINT_ONE": [ - 71269 - ], - "FLAG_MAX_INT": [ - 71285 - ], - "FLAG_ROUND_UP": [ - 71273 - ], - "FLAG_SATURATE": [ - 71279 - ], - "FLASH_FEE": [ - 74249 - ], - "FlashLenderCallbackFailed": [ - 74236 - ], - "FullyQualifiedNamespace": [ - 56265 - ], - "HANDLE_IO_ENTRYPOINT": [ - 74913 - ], - "HANDLE_IO_MAX_OUTPUTS": [ - 74929 - ], - "HANDLE_IO_MIN_OUTPUTS": [ - 74925 - ], - "HASH_NIL": [ - 71126 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V1": [ - 56194 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ - 56433 - ], - "IERC20": [ - 44376 - ], - "IERC3156FlashBorrower": [ - 77791 - ], - "IERC3156FlashLender": [ - 77828 - ], - "IExpressionDeployerV1": [ - 56230 - ], - "IExpressionDeployerV2": [ - 56468 - ], - "IInterpreterCallerV2": [ - 56260 - ], - "IInterpreterStoreV1": [ - 56297 - ], - "IInterpreterV1": [ - 56347 - ], - "IO": [ - 77222 - ], - "IOrderBookV3": [ - 78111 - ], - "IOrderBookV3OrderTaker": [ - 78143 - ], - "Input18Amount": [ - 75009 - ], - "InvalidSignature": [ - 56806 - ], - "LibBytecode": [ - 56792 - ], - "LibBytes": [ - 72156 - ], - "LibContext": [ - 57091 - ], - "LibEncodedDispatch": [ - 57276 - ], - "LibEvaluable": [ - 57323 - ], - "LibFixedPointDecimalArithmeticOpenZeppelin": [ - 71340 - ], - "LibFixedPointDecimalScale": [ - 71746 - ], - "LibHashNoAlloc": [ - 71168 - ], - "LibMemCpy": [ - 72188 - ], - "LibMeta": [ - 72078 - ], - "LibOrder": [ - 78165 - ], - "LibPointer": [ - 72323 - ], - "LibUint256Array": [ - 72714 - ], - "Math": [ - 46816 - ], - "MinimumInput": [ - 74884 - ], - "Multicall": [ - 45220 - ], - "NO_STORE": [ - 56274 - ], - "NoOrders": [ - 77842 - ], - "NotOrderOwner": [ - 74863 - ], - "ON_FLASH_LOAN_CALLBACK_SUCCESS": [ - 77774 - ], - "ORDER_DEAD": [ - 74897 - ], - "ORDER_LIVE": [ - 74893 - ], - "OVERFLOW_RESCALE_OOMS": [ - 71289 - ], - "Operand": [ - 56308 - ], - "Order": [ - 77252 - ], - "OrderBook": [ - 77034 - ], - "OrderBookV3FlashLender": [ - 74569 - ], - "OrderConfigV2": [ - 77856 - ], - "OrderIOCalculation": [ - 75005 - ], - "OutOfBoundsTruncate": [ - 72496 - ], - "Output18Amount": [ - 75007 - ], - "Pointer": [ - 72203 - ], - "ReentrancyGuard": [ - 43711 - ], - "ReentrancyGuardReentrantCall": [ - 74856 - ], - "SIGNED_CONTEXT_CONTEXT_OFFSET": [ - 56246 - ], - "SIGNED_CONTEXT_SIGNATURE_OFFSET": [ - 56249 - ], - "SIGNED_CONTEXT_SIGNER_OFFSET": [ - 56243 - ], - "SafeERC20": [ - 44813 - ], - "SameOwner": [ - 74889 - ], - "SignatureChecker": [ - 45914 - ], - "SignedContextV1": [ - 56240 - ], - "SourceIndex": [ - 56302 - ], - "SourceOffsetOutOfBounds": [ - 56523 - ], - "StateNamespace": [ - 56306 - ], - "TakeOrderConfig": [ - 77279 - ], - "TakeOrdersConfigV2": [ - 77869 - ], - "TokenDecimalsMismatch": [ - 74877 - ], - "TokenMismatch": [ - 74870 - ], - "TruncateError": [ - 72088 - ], - "ZeroAmount": [ - 74231 - ], - "ZeroReceiver": [ - 74228 - ], - "ZeroToken": [ - 74225 - ] - }, - "nodeType": "SourceUnit", - "src": "32:42475:173", - "nodes": [ - { - "id": 74830, - "nodeType": "PragmaDirective", - "src": "32:24:173", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 74832, - "nodeType": "ImportDirective", - "src": "58:78:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 46817, - "symbolAliases": [ - { - "foreign": { - "id": 74831, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "66:4:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74834, - "nodeType": "ImportDirective", - "src": "137:83:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 45221, - "symbolAliases": [ - { - "foreign": { - "id": 74833, - "name": "Multicall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45220, - "src": "145:9:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74836, - "nodeType": "ImportDirective", - "src": "221:83:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 44377, - "symbolAliases": [ - { - "foreign": { - "id": 74835, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "229:6:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74838, - "nodeType": "ImportDirective", - "src": "305:95:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "file": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 44814, - "symbolAliases": [ - { - "foreign": { - "id": 74837, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44813, - "src": "313:9:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74840, - "nodeType": "ImportDirective", - "src": "401:98:173", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 43712, - "symbolAliases": [ - { - "foreign": { - "id": 74839, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43711, - "src": "409:15:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74841, - "nodeType": "ImportDirective", - "src": "501:89:173", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", - "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 71341, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74842, - "nodeType": "ImportDirective", - "src": "591:72:173", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", - "file": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 71747, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74843, - "nodeType": "ImportDirective", - "src": "664:68:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "file": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 57277, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74844, - "nodeType": "ImportDirective", - "src": "733:60:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", - "file": "lib/rain.interpreter/src/lib/caller/LibContext.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 57092, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74848, - "nodeType": "ImportDirective", - "src": "794:177:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", - "file": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 55358, - "symbolAliases": [ - { - "foreign": { - "id": 74845, - "name": "DeployerDiscoverableMetaV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55357, - "src": "807:26:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74846, - "name": "DeployerDiscoverableMetaV2ConstructionConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55312, - "src": "839:44:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74847, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72078, - "src": "889:7:173", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74849, - "nodeType": "ImportDirective", - "src": "972:63:173", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "file": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 56793, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74850, - "nodeType": "ImportDirective", - "src": "1037:48:173", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3.sol", - "file": "../interface/unstable/IOrderBookV3.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 78112, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74851, - "nodeType": "ImportDirective", - "src": "1086:58:173", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", - "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 78144, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74852, - "nodeType": "ImportDirective", - "src": "1145:29:173", - "nodes": [], - "absolutePath": "src/lib/LibOrder.sol", - "file": "../lib/LibOrder.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 78166, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74853, - "nodeType": "ImportDirective", - "src": "1175:48:173", - "nodes": [], - "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", - "file": "../abstract/OrderBookV3FlashLender.sol", - "nameLocation": "-1:-1:-1", - "scope": 77035, - "sourceUnit": 74570, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 74856, - "nodeType": "ErrorDefinition", - "src": "1326:37:173", - "nodes": [], - "documentation": { - "id": 74854, - "nodeType": "StructuredDocumentation", - "src": "1225:101:173", - "text": "This will exist in a future version of Open Zeppelin if their main branch is\n to be believed." - }, - "errorSelector": "3ee5aeb5", - "name": "ReentrancyGuardReentrantCall", - "nameLocation": "1332:28:173", - "parameters": { - "id": 74855, - "nodeType": "ParameterList", - "parameters": [], - "src": "1360:2:173" - } - }, - { - "id": 74863, - "nodeType": "ErrorDefinition", - "src": "1539:51:173", - "nodes": [], - "documentation": { - "id": 74857, - "nodeType": "StructuredDocumentation", - "src": "1365:174:173", - "text": "Thrown when the `msg.sender` modifying an order is not its owner.\n @param sender `msg.sender` attempting to modify the order.\n @param owner The owner of the order." - }, - "errorSelector": "4702b914", - "name": "NotOrderOwner", - "nameLocation": "1545:13:173", - "parameters": { - "id": 74862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74859, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1567:6:173", - "nodeType": "VariableDeclaration", - "scope": 74863, - "src": "1559:14:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1559:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74861, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1583:5:173", - "nodeType": "VariableDeclaration", - "scope": 74863, - "src": "1575:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1575:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1558:31:173" - } - }, - { - "id": 74870, - "nodeType": "ErrorDefinition", - "src": "1807:58:173", - "nodes": [], - "documentation": { - "id": 74864, - "nodeType": "StructuredDocumentation", - "src": "1592:215:173", - "text": "Thrown when the input and output tokens don't match, in either direction.\n @param aliceToken The input or output of one order.\n @param bobToken The input or output of the other order that doesn't match a." - }, - "errorSelector": "f902523f", - "name": "TokenMismatch", - "nameLocation": "1813:13:173", - "parameters": { - "id": 74869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74866, - "mutability": "mutable", - "name": "aliceToken", - "nameLocation": "1835:10:173", - "nodeType": "VariableDeclaration", - "scope": 74870, - "src": "1827:18:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74868, - "mutability": "mutable", - "name": "bobToken", - "nameLocation": "1855:8:173", - "nodeType": "VariableDeclaration", - "scope": 74870, - "src": "1847:16:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1847:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1826:38:173" - } - }, - { - "id": 74877, - "nodeType": "ErrorDefinition", - "src": "2107:78:173", - "nodes": [], - "documentation": { - "id": 74871, - "nodeType": "StructuredDocumentation", - "src": "1867:240:173", - "text": "Thrown when the input and output token decimals don't match, in either\n direction.\n @param aliceTokenDecimals The input or output decimals of one order.\n @param bobTokenDecimals The input or output decimals of the other order." - }, - "errorSelector": "0f6ce477", - "name": "TokenDecimalsMismatch", - "nameLocation": "2113:21:173", - "parameters": { - "id": 74876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74873, - "mutability": "mutable", - "name": "aliceTokenDecimals", - "nameLocation": "2141:18:173", - "nodeType": "VariableDeclaration", - "scope": 74877, - "src": "2135:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 74872, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2135:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74875, - "mutability": "mutable", - "name": "bobTokenDecimals", - "nameLocation": "2167:16:173", - "nodeType": "VariableDeclaration", - "scope": 74877, - "src": "2161:22:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 74874, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2161:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "2134:50:173" - } - }, - { - "id": 74884, - "nodeType": "ErrorDefinition", - "src": "2331:56:173", - "nodes": [], - "documentation": { - "id": 74878, - "nodeType": "StructuredDocumentation", - "src": "2187:144:173", - "text": "Thrown when the minimum input is not met.\n @param minimumInput The minimum input required.\n @param input The input that was achieved." - }, - "errorSelector": "45094d88", - "name": "MinimumInput", - "nameLocation": "2337:12:173", - "parameters": { - "id": 74883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74880, - "mutability": "mutable", - "name": "minimumInput", - "nameLocation": "2358:12:173", - "nodeType": "VariableDeclaration", - "scope": 74884, - "src": "2350:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2350:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74882, - "mutability": "mutable", - "name": "input", - "nameLocation": "2380:5:173", - "nodeType": "VariableDeclaration", - "scope": 74884, - "src": "2372:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2372:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2349:37:173" - } - }, - { - "id": 74889, - "nodeType": "ErrorDefinition", - "src": "2493:31:173", - "nodes": [], - "documentation": { - "id": 74885, - "nodeType": "StructuredDocumentation", - "src": "2389:104:173", - "text": "Thrown when two orders have the same owner during clear.\n @param owner The owner of both orders." - }, - "errorSelector": "227e4ce9", - "name": "SameOwner", - "nameLocation": "2499:9:173", - "parameters": { - "id": 74888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74887, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2517:5:173", - "nodeType": "VariableDeclaration", - "scope": 74889, - "src": "2509:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2509:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2508:15:173" - } - }, - { - "id": 74893, - "nodeType": "VariableDeclaration", - "src": "2652:31:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_LIVE", - "nameLocation": "2669:10:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 74892, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2682:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 74897, - "nodeType": "VariableDeclaration", - "src": "2856:31:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_DEAD", - "nameLocation": "2873:10:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2856:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2886:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74905, - "nodeType": "VariableDeclaration", - "src": "2959:69:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "2980:26:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 74900, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74899, - "name": "SourceIndex", - "nameLocations": [ - "2959:11:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "2959:11:173" - }, - "referencedDeclaration": 56302, - "src": "2959:11:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "30", - "id": 74903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3026:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 74901, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56302, - "src": "3009:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 74902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3021:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "3009:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 74904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3009:19:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 74913, - "nodeType": "VariableDeclaration", - "src": "3151:63:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "3172:20:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 74908, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74907, - "name": "SourceIndex", - "nameLocations": [ - "3151:11:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "3151:11:173" - }, - "referencedDeclaration": 56302, - "src": "3151:11:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 74911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3212:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "id": 74909, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56302, - "src": "3195:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 74910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3207:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "3195:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint16_$returns$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "function (uint16) pure returns (SourceIndex)" - } - }, - "id": 74912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3195:19:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "id": 74917, - "nodeType": "VariableDeclaration", - "src": "3288:48:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "3305:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3288:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 74916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74921, - "nodeType": "VariableDeclaration", - "src": "3409:47:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "3425:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 74919, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3409:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "32", - "id": 74920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3455:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74925, - "nodeType": "VariableDeclaration", - "src": "3533:42:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "3550:21:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3533:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74929, - "nodeType": "VariableDeclaration", - "src": "3651:41:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "3667:21:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 74927, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "3651:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "30", - "id": 74928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3691:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74933, - "nodeType": "VariableDeclaration", - "src": "4230:44:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "4247:23:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4230:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 74932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4273:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 74937, - "nodeType": "VariableDeclaration", - "src": "4315:40:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "4332:19:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4315:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4354:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74941, - "nodeType": "VariableDeclaration", - "src": "4656:51:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "4673:30:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4656:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 74940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4706:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 74945, - "nodeType": "VariableDeclaration", - "src": "4854:48:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "4871:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4854:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 74944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4901:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74949, - "nodeType": "VariableDeclaration", - "src": "5194:48:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "5211:27:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5194:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 74948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5241:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 74953, - "nodeType": "VariableDeclaration", - "src": "5360:49:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "5377:28:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5360:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 74952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5408:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 74957, - "nodeType": "VariableDeclaration", - "src": "5484:43:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "5501:22:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5484:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5526:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 74961, - "nodeType": "VariableDeclaration", - "src": "5602:52:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "5619:31:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5602:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 74960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5653:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 74965, - "nodeType": "VariableDeclaration", - "src": "5723:46:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "5740:25:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5723:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 74964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5768:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 74969, - "nodeType": "VariableDeclaration", - "src": "5876:52:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "5893:31:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5876:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 74968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5927:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 74973, - "nodeType": "VariableDeclaration", - "src": "6176:50:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "6193:29:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6176:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 74972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6225:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 74977, - "nodeType": "VariableDeclaration", - "src": "6266:42:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "6283:21:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6266:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 74976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6307:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "id": 74984, - "nodeType": "VariableDeclaration", - "src": "6375:111:173", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLER_META_HASH", - "nameLocation": "6392:16:173", - "scope": 77035, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 74979, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6375:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307837316665326634663638663137646665366165376162613262626436636266653561326134386139336562626338623166313930303838376239373865656565", - "id": 74982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6419:66:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", - "typeString": "int_const 5156...(69 digits omitted)...4718" - }, - "value": "0x71fe2f4f68f17dfe6ae7aba2bbd6cbfe5a2a48a93ebbc8b1f1900887b978eeee" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_51560457567328719814667566179735346778870469153462377839864232985582464724718_by_1", - "typeString": "int_const 5156...(69 digits omitted)...4718" - } - ], - "id": 74981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6411:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 74980, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6411:7:173", - "typeDescriptions": {} - } - }, - "id": 74983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6411:75:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 75005, - "nodeType": "StructDefinition", - "src": "8613:249:173", - "nodes": [], - "canonicalName": "OrderIOCalculation", - "members": [ - { - "constant": false, - "id": 74987, - "mutability": "mutable", - "name": "order", - "nameLocation": "8651:5:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8645:11:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 74986, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74985, - "name": "Order", - "nameLocations": [ - "8645:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "8645:5:173" - }, - "referencedDeclaration": 77252, - "src": "8645:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74989, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "8670:13:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8662:21:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8662:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74992, - "mutability": "mutable", - "name": "outputMax", - "nameLocation": "8704:9:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8689:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 74991, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74990, - "name": "Output18Amount", - "nameLocations": [ - "8689:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "8689:14:173" - }, - "referencedDeclaration": 75007, - "src": "8689:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74994, - "mutability": "mutable", - "name": "IORatio", - "nameLocation": "8778:7:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8770:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8770:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74998, - "mutability": "mutable", - "name": "context", - "nameLocation": "8803:7:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8791:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 74995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8791:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 74996, - "nodeType": "ArrayTypeName", - "src": "8791:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 74997, - "nodeType": "ArrayTypeName", - "src": "8791:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75001, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "8831:9:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8816:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 75000, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74999, - "name": "StateNamespace", - "nameLocations": [ - "8816:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "8816:14:173" - }, - "referencedDeclaration": 56306, - "src": "8816:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75004, - "mutability": "mutable", - "name": "kvs", - "nameLocation": "8856:3:173", - "nodeType": "VariableDeclaration", - "scope": 75005, - "src": "8846:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 75002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8846:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75003, - "nodeType": "ArrayTypeName", - "src": "8846:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "name": "OrderIOCalculation", - "nameLocation": "8620:18:173", - "scope": 77035, - "visibility": "public" - }, - { - "id": 75007, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "8864:31:173", - "nodes": [], - "canonicalName": "Output18Amount", - "name": "Output18Amount", - "nameLocation": "8869:14:173", - "underlyingType": { - "id": 75006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8887:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75009, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "8897:30:173", - "nodes": [], - "canonicalName": "Input18Amount", - "name": "Input18Amount", - "nameLocation": "8902:13:173", - "underlyingType": { - "id": 75008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8919:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 77034, - "nodeType": "ContractDefinition", - "src": "8997:33509:173", - "nodes": [ - { - "id": 75024, - "nodeType": "UsingForDirective", - "src": "9118:36:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75021, - "name": "LibUint256Array", - "nameLocations": [ - "9124:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72714, - "src": "9124:15:173" - }, - "typeName": { - "baseType": { - "id": 75022, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75023, - "nodeType": "ArrayTypeName", - "src": "9144:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - { - "id": 75028, - "nodeType": "UsingForDirective", - "src": "9159:27:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75025, - "name": "SafeERC20", - "nameLocations": [ - "9165:9:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44813, - "src": "9165:9:173" - }, - "typeName": { - "id": 75027, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75026, - "name": "IERC20", - "nameLocations": [ - "9179:6:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44376, - "src": "9179:6:173" - }, - "referencedDeclaration": 44376, - "src": "9179:6:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - } - }, - { - "id": 75032, - "nodeType": "UsingForDirective", - "src": "9191:25:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75029, - "name": "LibOrder", - "nameLocations": [ - "9197:8:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78165, - "src": "9197:8:173" - }, - "typeName": { - "id": 75031, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75030, - "name": "Order", - "nameLocations": [ - "9210:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "9210:5:173" - }, - "referencedDeclaration": 77252, - "src": "9210:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - } - }, - { - "id": 75035, - "nodeType": "UsingForDirective", - "src": "9221:34:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75033, - "name": "LibUint256Array", - "nameLocations": [ - "9227:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72714, - "src": "9227:15:173" - }, - "typeName": { - "id": 75034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9247:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75038, - "nodeType": "UsingForDirective", - "src": "9260:23:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75036, - "name": "Math", - "nameLocations": [ - "9266:4:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 46816, - "src": "9266:4:173" - }, - "typeName": { - "id": 75037, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9275:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75041, - "nodeType": "UsingForDirective", - "src": "9288:44:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75039, - "name": "LibFixedPointDecimalScale", - "nameLocations": [ - "9294:25:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 71746, - "src": "9294:25:173" - }, - "typeName": { - "id": 75040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9324:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75044, - "nodeType": "UsingForDirective", - "src": "9337:61:173", - "nodes": [], - "global": false, - "libraryName": { - "id": 75042, - "name": "LibFixedPointDecimalArithmeticOpenZeppelin", - "nameLocations": [ - "9343:42:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 71340, - "src": "9343:42:173" - }, - "typeName": { - "id": 75043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9390:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 75049, - "nodeType": "VariableDeclaration", - "src": "9997:63:173", - "nodes": [], - "constant": false, - "documentation": { - "id": 75045, - "nodeType": "StructuredDocumentation", - "src": "9404:465:173", - "text": "All hashes of all active orders. There's nothing interesting in the value\n it's just nonzero if the order is live. The key is the hash of the order.\n Removing an order sets the value back to zero so it is identical to the\n order never existing.\n The order hash includes its owner so there's no need to build a multi\n level mapping, each order hash MUST uniquely identify the order globally.\n order hash => order is live" - }, - "mutability": "mutable", - "name": "sOrders", - "nameLocation": "10053:7:173", - "scope": 77034, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 75048, - "keyName": "orderHash", - "keyNameLocation": "10013:9:173", - "keyType": { - "id": 75046, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10005:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "9997:46:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueName": "liveness", - "valueNameLocation": "10034:8:173", - "valueType": { - "id": 75047, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10026:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "id": 75058, - "nodeType": "VariableDeclaration", - "src": "10408:127:173", - "nodes": [], - "constant": false, - "documentation": { - "id": 75050, - "nodeType": "StructuredDocumentation", - "src": "10067:213:173", - "text": "@dev Vault balances are stored in a mapping of owner => token => vault ID\n This gives 1:1 parity with the `IOrderBookV1` interface but keeping the\n `sFoo` naming convention for storage variables." - }, - "mutability": "mutable", - "name": "sVaultBalances", - "nameLocation": "10521:14:173", - "scope": 77034, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "typeName": { - "id": 75057, - "keyName": "owner", - "keyNameLocation": "10424:5:173", - "keyType": { - "id": 75051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10416:7:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "10408:95:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75056, - "keyName": "token", - "keyNameLocation": "10449:5:173", - "keyType": { - "id": 75052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10441:7:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "10433:69:173", - "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": 75055, - "keyName": "vaultId", - "keyNameLocation": "10474:7:173", - "keyType": { - "id": 75053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10466:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "10458:43:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "balance", - "valueNameLocation": "10493:7:173", - "valueType": { - "id": 75054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10485:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "internal" - }, - { - "id": 75070, - "nodeType": "FunctionDefinition", - "src": "10837:139:173", - "nodes": [], - "body": { - "id": 75069, - "nodeType": "Block", - "src": "10974:2:173", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 75059, - "nodeType": "StructuredDocumentation", - "src": "10542:290:173", - "text": "Initializes the orderbook upon construction for compatibility with\n Open Zeppelin upgradeable contracts. Orderbook itself does NOT support\n factory deployments as each order is a unique expression deployment\n rather than needing to wrap up expressions with proxies." - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 75065, - "name": "CALLER_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74984, - "src": "10944:16:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 75066, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75062, - "src": "10962:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig memory" - } - } - ], - "id": 75067, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 75064, - "name": "DeployerDiscoverableMetaV2", - "nameLocations": [ - "10917:26:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55357, - "src": "10917:26:173" - }, - "nodeType": "ModifierInvocation", - "src": "10917:52:173" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75062, - "mutability": "mutable", - "name": "config", - "nameLocation": "10901:6:173", - "nodeType": "VariableDeclaration", - "scope": 75070, - "src": "10849:58:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" - }, - "typeName": { - "id": 75061, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75060, - "name": "DeployerDiscoverableMetaV2ConstructionConfig", - "nameLocations": [ - "10849:44:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55312, - "src": "10849:44:173" - }, - "referencedDeclaration": 55312, - "src": "10849:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV2ConstructionConfig_$55312_storage_ptr", - "typeString": "struct DeployerDiscoverableMetaV2ConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "10848:60:173" - }, - "returnParameters": { - "id": 75068, - "nodeType": "ParameterList", - "parameters": [], - "src": "10974:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75082, - "nodeType": "ModifierDefinition", - "src": "11090:148:173", - "nodes": [], - "body": { - "id": 75081, - "nodeType": "Block", - "src": "11118:120:173", - "nodes": [], - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75073, - "name": "_reentrancyGuardEntered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43710, - "src": "11132:23:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 75074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11132:25:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75079, - "nodeType": "IfStatement", - "src": "11128:93:173", - "trueBody": { - "id": 75078, - "nodeType": "Block", - "src": "11159:62:173", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75075, - "name": "ReentrancyGuardReentrantCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74856, - "src": "11180:28:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11180:30:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75077, - "nodeType": "RevertStatement", - "src": "11173:37:173" - } - ] - } - }, - { - "id": 75080, - "nodeType": "PlaceholderStatement", - "src": "11230:1:173" - } - ] - }, - "documentation": { - "id": 75071, - "nodeType": "StructuredDocumentation", - "src": "10982:103:173", - "text": "Guard against read-only reentrancy.\n https://chainsecurity.com/heartbreaks-curve-lp-oracles/" - }, - "name": "nonReentrantView", - "nameLocation": "11099:16:173", - "parameters": { - "id": 75072, - "nodeType": "ParameterList", - "parameters": [], - "src": "11115:2:173" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 75106, - "nodeType": "FunctionDefinition", - "src": "11562:232:173", - "nodes": [], - "body": { - "id": 75105, - "nodeType": "Block", - "src": "11733:61:173", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75097, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "11750:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75099, - "indexExpression": { - "id": 75098, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75085, - "src": "11765:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11750:21:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75101, - "indexExpression": { - "id": 75100, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75087, - "src": "11772:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11750:28:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75103, - "indexExpression": { - "id": 75102, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75089, - "src": "11779:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11750:37:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75096, - "id": 75104, - "nodeType": "Return", - "src": "11743:44:173" - } - ] - }, - "baseFunctions": [ - 78032 - ], - "documentation": { - "id": 75083, - "nodeType": "StructuredDocumentation", - "src": "11244:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "d97b2e48", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75093, - "kind": "modifierInvocation", - "modifierName": { - "id": 75092, - "name": "nonReentrantView", - "nameLocations": [ - "11686:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75082, - "src": "11686:16:173" - }, - "nodeType": "ModifierInvocation", - "src": "11686:16:173" - } - ], - "name": "vaultBalance", - "nameLocation": "11571:12:173", - "overrides": { - "id": 75091, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11669:8:173" - }, - "parameters": { - "id": 75090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75085, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11592:5:173", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11584:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11584:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75087, - "mutability": "mutable", - "name": "token", - "nameLocation": "11607:5:173", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11599:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11599:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75089, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "11622:7:173", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11614:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11614:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11583:47:173" - }, - "returnParameters": { - "id": 75096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75095, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75106, - "src": "11720:7:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11720:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11719:9:173" - }, - "scope": 77034, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 75124, - "nodeType": "FunctionDefinition", - "src": "11833:151:173", - "nodes": [], - "body": { - "id": 75123, - "nodeType": "Block", - "src": "11928:56:173", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75117, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "11945:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75119, - "indexExpression": { - "id": 75118, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75109, - "src": "11953:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11945:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75120, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74893, - "src": "11967:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11945:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75116, - "id": 75122, - "nodeType": "Return", - "src": "11938:39:173" - } - ] - }, - "baseFunctions": [ - 78069 - ], - "documentation": { - "id": 75107, - "nodeType": "StructuredDocumentation", - "src": "11800:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "2cb77e9f", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75113, - "kind": "modifierInvocation", - "modifierName": { - "id": 75112, - "name": "nonReentrantView", - "nameLocations": [ - "11896:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75082, - "src": "11896:16:173" - }, - "nodeType": "ModifierInvocation", - "src": "11896:16:173" - } - ], - "name": "orderExists", - "nameLocation": "11842:11:173", - "overrides": { - "id": 75111, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "11887:8:173" - }, - "parameters": { - "id": 75110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75109, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "11862:9:173", - "nodeType": "VariableDeclaration", - "scope": 75124, - "src": "11854:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75108, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11854:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "11853:19:173" - }, - "returnParameters": { - "id": 75116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75115, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75124, - "src": "11922:4:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11922:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "11921:6:173" - }, - "scope": 77034, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 75181, - "nodeType": "FunctionDefinition", - "src": "12023:640:173", - "nodes": [], - "body": { - "id": 75180, - "nodeType": "Block", - "src": "12110:553:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75136, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12124:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12134:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12124:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75147, - "nodeType": "IfStatement", - "src": "12120:94:173", - "trueBody": { - "id": 75146, - "nodeType": "Block", - "src": "12137:77:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75140, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12176:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12180:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12176:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75142, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12188:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75143, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75129, - "src": "12195:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75139, - "name": "ZeroDepositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77883, - "src": "12158:17:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 75144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12158:45:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75145, - "nodeType": "RevertStatement", - "src": "12151:52:173" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75149, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12430:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12434:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12430:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75151, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12442:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75152, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75129, - "src": "12449:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75153, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12458:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75148, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77923, - "src": "12422:7:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 75154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12422:43:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75155, - "nodeType": "EmitStatement", - "src": "12417:48:173" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75160, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12560:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12564:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12560:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75164, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12580:4:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - ], - "id": 75163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12572:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12572:7:173", - "typeDescriptions": {} - } - }, - "id": 75165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12572:13:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75166, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12587:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75157, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12536:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75156, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "12529:6:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 75158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12529:13:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 75159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12543:16:173", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44497, - "src": "12529:30:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 75167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12529:65:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75168, - "nodeType": "ExpressionStatement", - "src": "12529:65:173" - }, - { - "expression": { - "id": 75178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75169, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "12604:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75174, - "indexExpression": { - "expression": { - "id": 75170, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12619:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12623:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12619:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12604:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75175, - "indexExpression": { - "id": 75172, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75127, - "src": "12631:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12604:33:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75176, - "indexExpression": { - "id": 75173, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75129, - "src": "12638:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12604:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75177, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75131, - "src": "12650:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12604:52:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75179, - "nodeType": "ExpressionStatement", - "src": "12604:52:173" - } - ] - }, - "baseFunctions": [ - 78042 - ], - "documentation": { - "id": 75125, - "nodeType": "StructuredDocumentation", - "src": "11990:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "0efe6a8b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75134, - "kind": "modifierInvocation", - "modifierName": { - "id": 75133, - "name": "nonReentrant", - "nameLocations": [ - "12097:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "12097:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "12097:12:173" - } - ], - "name": "deposit", - "nameLocation": "12032:7:173", - "parameters": { - "id": 75132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75127, - "mutability": "mutable", - "name": "token", - "nameLocation": "12048:5:173", - "nodeType": "VariableDeclaration", - "scope": 75181, - "src": "12040:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12040:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75129, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "12063:7:173", - "nodeType": "VariableDeclaration", - "scope": 75181, - "src": "12055:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12055:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75131, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12080:6:173", - "nodeType": "VariableDeclaration", - "scope": 75181, - "src": "12072:14:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12072:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12039:48:173" - }, - "returnParameters": { - "id": 75135, - "nodeType": "ParameterList", - "parameters": [], - "src": "12110:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75258, - "nodeType": "FunctionDefinition", - "src": "12702:952:173", - "nodes": [], - "body": { - "id": 75257, - "nodeType": "Block", - "src": "12796:858:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75193, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75188, - "src": "12810:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12826:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12810:17:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75204, - "nodeType": "IfStatement", - "src": "12806:107:173", - "trueBody": { - "id": 75203, - "nodeType": "Block", - "src": "12829:84:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12875:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12879:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12875:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75199, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "12887:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75200, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "12894:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75196, - "name": "ZeroWithdrawTargetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77892, - "src": "12850:24:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 75201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12850:52:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75202, - "nodeType": "RevertStatement", - "src": "12843:59:173" - } - ] - } - }, - { - "assignments": [ - 75206 - ], - "declarations": [ - { - "constant": false, - "id": 75206, - "mutability": "mutable", - "name": "currentVaultBalance", - "nameLocation": "12930:19:173", - "nodeType": "VariableDeclaration", - "scope": 75257, - "src": "12922:27:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12922:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75215, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75207, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "12952:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75210, - "indexExpression": { - "expression": { - "id": 75208, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12967:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12971:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12967:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12952:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75212, - "indexExpression": { - "id": 75211, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "12979:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12952:33:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75214, - "indexExpression": { - "id": 75213, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "12986:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12952:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12922:72:173" - }, - { - "assignments": [ - 75217 - ], - "declarations": [ - { - "constant": false, - "id": 75217, - "mutability": "mutable", - "name": "withdrawAmount", - "nameLocation": "13084:14:173", - "nodeType": "VariableDeclaration", - "scope": 75257, - "src": "13076:22:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13076:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75222, - "initialValue": { - "arguments": [ - { - "id": 75220, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75206, - "src": "13118:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75218, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75188, - "src": "13101:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13114:3:173", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 45993, - "src": "13101:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 75221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13101:37:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13076:62:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75223, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13152:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13169:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13152:18:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75256, - "nodeType": "IfStatement", - "src": "13148:500:173", - "trueBody": { - "id": 75255, - "nodeType": "Block", - "src": "13172:476:173", - "statements": [ - { - "expression": { - "id": 75237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 75226, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "13391:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 75231, - "indexExpression": { - "expression": { - "id": 75227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13406:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13410:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13406:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13391:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 75232, - "indexExpression": { - "id": 75229, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "13418:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13391:33:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 75233, - "indexExpression": { - "id": 75230, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "13425:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13391:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75234, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75206, - "src": "13436:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75235, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13458:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13436:36:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13391:81:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75238, - "nodeType": "ExpressionStatement", - "src": "13391:81:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75240, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13500:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13504:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13500:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75242, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "13512:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75243, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75186, - "src": "13519:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75244, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75188, - "src": "13528:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75245, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13542:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75239, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77936, - "src": "13491:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256)" - } - }, - "id": 75246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13491:66:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75247, - "nodeType": "EmitStatement", - "src": "13486:71:173" - }, - { - "expression": { - "arguments": [ - { - "id": 75249, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75184, - "src": "13603:5:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75250, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13610:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13614:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13610:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75252, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75217, - "src": "13622:14:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75248, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74380, - "src": "13571:31:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) returns (uint256)" - } - }, - "id": 75253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13571:66:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75254, - "nodeType": "ExpressionStatement", - "src": "13571:66:173" - } - ] - } - } - ] - }, - "baseFunctions": [ - 78052 - ], - "documentation": { - "id": 75182, - "nodeType": "StructuredDocumentation", - "src": "12669:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "b5c5f672", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75191, - "kind": "modifierInvocation", - "modifierName": { - "id": 75190, - "name": "nonReentrant", - "nameLocations": [ - "12783:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "12783:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "12783:12:173" - } - ], - "name": "withdraw", - "nameLocation": "12711:8:173", - "parameters": { - "id": 75189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75184, - "mutability": "mutable", - "name": "token", - "nameLocation": "12728:5:173", - "nodeType": "VariableDeclaration", - "scope": 75258, - "src": "12720:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12720:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75186, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "12743:7:173", - "nodeType": "VariableDeclaration", - "scope": 75258, - "src": "12735:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12735:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75188, - "mutability": "mutable", - "name": "targetAmount", - "nameLocation": "12760:12:173", - "nodeType": "VariableDeclaration", - "scope": 75258, - "src": "12752:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12752:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12719:54:173" - }, - "returnParameters": { - "id": 75192, - "nodeType": "ParameterList", - "parameters": [], - "src": "12796:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75435, - "nodeType": "FunctionDefinition", - "src": "13693:2174:173", - "nodes": [], - "body": { - "id": 75434, - "nodeType": "Block", - "src": "13792:2075:173", - "nodes": [], - "statements": [ - { - "assignments": [ - 75270 - ], - "declarations": [ - { - "constant": false, - "id": 75270, - "mutability": "mutable", - "name": "sourceCount", - "nameLocation": "13810:11:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "13802:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13802:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75277, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75273, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "13848:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13855:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "13848:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13871:8:173", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57297, - "src": "13848:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 75271, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56792, - "src": "13824:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 75272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13836:11:173", - "memberName": "sourceCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 56551, - "src": "13824:23:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 75276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13824:56:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13802:78:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75278, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75270, - "src": "13894:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13909:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13894:16:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75287, - "nodeType": "IfStatement", - "src": "13890:80:173", - "trueBody": { - "id": 75286, - "nodeType": "Block", - "src": "13912:58:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75282, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13948:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13952:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13948:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75281, - "name": "OrderNoSources", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77897, - "src": "13933:14:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13933:26:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75285, - "nodeType": "RevertStatement", - "src": "13926:33:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75288, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75270, - "src": "13983:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 75289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13998:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13983:16:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75297, - "nodeType": "IfStatement", - "src": "13979:81:173", - "trueBody": { - "id": 75296, - "nodeType": "Block", - "src": "14001:59:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75292, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14038:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14042:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14038:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75291, - "name": "OrderNoHandleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77902, - "src": "14022:15:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14022:27:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75295, - "nodeType": "RevertStatement", - "src": "14015:34:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75298, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14073:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14080:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77846, - "src": "14073:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14092:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14073:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14102:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14073:30:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75309, - "nodeType": "IfStatement", - "src": "14069:93:173", - "trueBody": { - "id": 75308, - "nodeType": "Block", - "src": "14105:57:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75304, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14140:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14144:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14140:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75303, - "name": "OrderNoInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77907, - "src": "14126:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14126:25:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75307, - "nodeType": "RevertStatement", - "src": "14119:32:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75310, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14175:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14182:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77850, - "src": "14175:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14195:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14175:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14205:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14175:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75321, - "nodeType": "IfStatement", - "src": "14171:95:173", - "trueBody": { - "id": 75320, - "nodeType": "Block", - "src": "14208:58:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75316, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14244:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14248:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14244:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75315, - "name": "OrderNoOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77912, - "src": "14229:14:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14229:26:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75319, - "nodeType": "RevertStatement", - "src": "14222:33:173" - } - ] - } - }, - { - "assignments": [ - 75324, - 75327, - 75329 - ], - "declarations": [ - { - "constant": false, - "id": 75324, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "14291:11:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14276:26:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 75323, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75322, - "name": "IInterpreterV1", - "nameLocations": [ - "14276:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56347, - "src": "14276:14:173" - }, - "referencedDeclaration": 56347, - "src": "14276:14:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75327, - "mutability": "mutable", - "name": "store", - "nameLocation": "14324:5:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14304:25:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 75326, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75325, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "14304:19:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "14304:19:173" - }, - "referencedDeclaration": 56297, - "src": "14304:19:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75329, - "mutability": "mutable", - "name": "expression", - "nameLocation": "14339:10:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14331:18:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14331:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75346, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75334, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14454:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14461:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14454:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14477:8:173", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57297, - "src": "14454:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "expression": { - "expression": { - "id": 75337, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14499:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14506:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14499:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14522:9:173", - "memberName": "constants", - "nodeType": "MemberAccess", - "referencedDeclaration": 57300, - "src": "14499:32:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "arguments": [ - { - "id": 75342, - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74917, - "src": "14571:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75343, - "name": "HANDLE_IO_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74925, - "src": "14600:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75340, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "14545:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 75341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14561:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72573, - "src": "14545:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 75344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14545:77:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 75330, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14353:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14373:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14353:35:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14402:8:173", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57295, - "src": "14353:57:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", - "typeString": "contract IExpressionDeployerV2" - } - }, - "id": 75333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14424:16:173", - "memberName": "deployExpression", - "nodeType": "MemberAccess", - "referencedDeclaration": 56467, - "src": "14353:87:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", - "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) external returns (contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "id": 75345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14353:279:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", - "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14275:357:173" - }, - { - "assignments": [ - 75349 - ], - "declarations": [ - { - "constant": false, - "id": 75349, - "mutability": "mutable", - "name": "order", - "nameLocation": "14831:5:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "14818:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75348, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75347, - "name": "Order", - "nameLocations": [ - "14818:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "14818:5:173" - }, - "referencedDeclaration": 77252, - "src": "14818:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 75375, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 75351, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14858:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14862:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14858:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "expression": { - "id": 75355, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "14910:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14917:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "14910:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14933:8:173", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57297, - "src": "14910:31:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "arguments": [ - { - "id": 75360, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74913, - "src": "14962:20:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - ], - "expression": { - "id": 75358, - "name": "SourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56302, - "src": "14943:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndex_$56302_$", - "typeString": "type(SourceIndex)" - } - }, - "id": 75359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14955:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "14943:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndex_$56302_$returns$_t_uint16_$", - "typeString": "function (SourceIndex) pure returns (uint16)" - } - }, - "id": 75361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14943:40:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 75353, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56792, - "src": "14882:11:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56792_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 75354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14894:15:173", - "memberName": "sourceOpsLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 56646, - "src": "14882:27:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256) pure returns (uint256)" - } - }, - "id": 75362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14882:102:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14987:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14882:106:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "arguments": [ - { - "id": 75366, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75324, - "src": "15012:11:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - { - "id": 75367, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75327, - "src": "15025:5:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 75368, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75329, - "src": "15032:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75365, - "name": "Evaluable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57310, - "src": "15002:9:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Evaluable_$57310_storage_ptr_$", - "typeString": "type(struct Evaluable storage pointer)" - } - }, - "id": 75369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15002:41:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - { - "expression": { - "id": 75370, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15057:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15064:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77846, - "src": "15057:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - { - "expression": { - "id": 75372, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15089:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15096:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77850, - "src": "15089:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - ], - "id": 75350, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77252, - "src": "14839:5:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$77252_storage_ptr_$", - "typeString": "type(struct Order storage pointer)" - } - }, - "id": 75374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14839:279:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14818:300:173" - }, - { - "assignments": [ - 75377 - ], - "declarations": [ - { - "constant": false, - "id": 75377, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "15136:9:173", - "nodeType": "VariableDeclaration", - "scope": 75434, - "src": "15128:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75376, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15128:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75381, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75378, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75349, - "src": "15148:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15154:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "15148:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15148:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15128:32:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75382, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "15250:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75384, - "indexExpression": { - "id": 75383, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15258:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15250:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75385, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "15272:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15250:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75433, - "nodeType": "IfStatement", - "src": "15246:615:173", - "trueBody": { - "id": 75432, - "nodeType": "Block", - "src": "15284:577:173", - "statements": [ - { - "expression": { - "id": 75389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75387, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75267, - "src": "15298:12:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 75388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15313:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15298:19:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75390, - "nodeType": "ExpressionStatement", - "src": "15298:19:173" - }, - { - "expression": { - "id": 75395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75391, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "15390:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75393, - "indexExpression": { - "id": 75392, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15398:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15390:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75394, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74893, - "src": "15411:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15390:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75396, - "nodeType": "ExpressionStatement", - "src": "15390:31:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75398, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15449:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15453:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15449:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "expression": { - "id": 75400, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15461:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15468:15:173", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 77853, - "src": "15461:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV2_$57301_calldata_ptr", - "typeString": "struct EvaluableConfigV2 calldata" - } - }, - "id": 75402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15484:8:173", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57295, - "src": "15461:31:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", - "typeString": "contract IExpressionDeployerV2" - } - }, - { - "id": 75403, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75349, - "src": "15494:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75404, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15501:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IExpressionDeployerV2_$56468", - "typeString": "contract IExpressionDeployerV2" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75397, - "name": "AddOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77949, - "src": "15440:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV2_$56468_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,contract IExpressionDeployerV2,struct Order memory,bytes32)" - } - }, - "id": 75405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15440:71:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75406, - "nodeType": "EmitStatement", - "src": "15435:76:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75407, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15682:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15689:4:173", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 77855, - "src": "15682:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 75409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15694:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15682:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15703:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15682:22:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75431, - "nodeType": "IfStatement", - "src": "15678:173:173", - "trueBody": { - "id": 75430, - "nodeType": "Block", - "src": "15706:145:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75415, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15750:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15757:4:173", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 77855, - "src": "15750:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 75412, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72078, - "src": "15724:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$72078_$", - "typeString": "type(library LibMeta)" - } - }, - "id": 75414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15732:17:173", - "memberName": "checkMetaUnhashed", - "nodeType": "MemberAccess", - "referencedDeclaration": 72048, - "src": "15724:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 75417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15724:38:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75418, - "nodeType": "ExpressionStatement", - "src": "15724:38:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "15792:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15796:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "15792:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75424, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75377, - "src": "15812:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15804:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15804:7:173", - "typeDescriptions": {} - } - }, - "id": 75425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15804:18:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75426, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75262, - "src": "15824:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 75427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15831:4:173", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 77855, - "src": "15824:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 75419, - "name": "MetaV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71993, - "src": "15785:6:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 75428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15785:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75429, - "nodeType": "EmitStatement", - "src": "15780:56:173" - } - ] - } - } - ] - } - } - ] - }, - "baseFunctions": [ - 78061 - ], - "documentation": { - "id": 75259, - "nodeType": "StructuredDocumentation", - "src": "13660:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "847a1bc9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75265, - "kind": "modifierInvocation", - "modifierName": { - "id": 75264, - "name": "nonReentrant", - "nameLocations": [ - "13751:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "13751:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "13751:12:173" - } - ], - "name": "addOrder", - "nameLocation": "13702:8:173", - "parameters": { - "id": 75263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75262, - "mutability": "mutable", - "name": "config", - "nameLocation": "13734:6:173", - "nodeType": "VariableDeclaration", - "scope": 75435, - "src": "13711:29:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_calldata_ptr", - "typeString": "struct OrderConfigV2" - }, - "typeName": { - "id": 75261, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75260, - "name": "OrderConfigV2", - "nameLocations": [ - "13711:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77856, - "src": "13711:13:173" - }, - "referencedDeclaration": 77856, - "src": "13711:13:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$77856_storage_ptr", - "typeString": "struct OrderConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "13710:31:173" - }, - "returnParameters": { - "id": 75268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75267, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "13778:12:173", - "nodeType": "VariableDeclaration", - "scope": 75435, - "src": "13773:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75266, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13773:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "13772:19:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75491, - "nodeType": "FunctionDefinition", - "src": "15906:448:173", - "nodes": [], - "body": { - "id": 75490, - "nodeType": "Block", - "src": "15999:355:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75446, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16013:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16017:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16013:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 75448, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16027:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16033:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "16027:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16013:25:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75459, - "nodeType": "IfStatement", - "src": "16009:101:173", - "trueBody": { - "id": 75458, - "nodeType": "Block", - "src": "16040:70:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75452, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16075:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16079:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16075:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75454, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16087:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16093:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "16087:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75451, - "name": "NotOrderOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74863, - "src": "16061:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 75456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16061:38:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75457, - "nodeType": "RevertStatement", - "src": "16054:45:173" - } - ] - } - }, - { - "assignments": [ - 75461 - ], - "declarations": [ - { - "constant": false, - "id": 75461, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "16127:9:173", - "nodeType": "VariableDeclaration", - "scope": 75490, - "src": "16119:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75460, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16119:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75465, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75462, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16139:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16145:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "16139:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16139:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16119:32:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75466, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "16165:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75468, - "indexExpression": { - "id": 75467, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75461, - "src": "16173:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16165:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75469, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74893, - "src": "16187:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16165:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75489, - "nodeType": "IfStatement", - "src": "16161:187:173", - "trueBody": { - "id": 75488, - "nodeType": "Block", - "src": "16199:149:173", - "statements": [ - { - "expression": { - "id": 75473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75471, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75444, - "src": "16213:12:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 75472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16228:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16213:19:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75474, - "nodeType": "ExpressionStatement", - "src": "16213:19:173" - }, - { - "expression": { - "id": 75479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 75475, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "16246:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75477, - "indexExpression": { - "id": 75476, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75461, - "src": "16254:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16246:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75478, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "16267:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16246:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75480, - "nodeType": "ExpressionStatement", - "src": "16246:31:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75482, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16308:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16312:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16308:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75484, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75439, - "src": "16320:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - { - "id": 75485, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75461, - "src": "16327:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75481, - "name": "RemoveOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77959, - "src": "16296:11:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,struct Order memory,bytes32)" - } - }, - "id": 75486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16296:41:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75487, - "nodeType": "EmitStatement", - "src": "16291:46:173" - } - ] - } - } - ] - }, - "baseFunctions": [ - 78078 - ], - "documentation": { - "id": 75436, - "nodeType": "StructuredDocumentation", - "src": "15873:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "e23746a3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75442, - "kind": "modifierInvocation", - "modifierName": { - "id": 75441, - "name": "nonReentrant", - "nameLocations": [ - "15958:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "15958:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "15958:12:173" - } - ], - "name": "removeOrder", - "nameLocation": "15915:11:173", - "parameters": { - "id": 75440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75439, - "mutability": "mutable", - "name": "order", - "nameLocation": "15942:5:173", - "nodeType": "VariableDeclaration", - "scope": 75491, - "src": "15927:20:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75438, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75437, - "name": "Order", - "nameLocations": [ - "15927:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "15927:5:173" - }, - "referencedDeclaration": 77252, - "src": "15927:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "src": "15926:22:173" - }, - "returnParameters": { - "id": 75445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75444, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "15985:12:173", - "nodeType": "VariableDeclaration", - "scope": 75491, - "src": "15980:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75443, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15980:4:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "15979:19:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76040, - "nodeType": "FunctionDefinition", - "src": "16393:8257:173", - "nodes": [], - "body": { - "id": 76039, - "nodeType": "Block", - "src": "16559:8091:173", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75504, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16573:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16580:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "16573:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16587:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16573:20:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16597:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16573:25:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75513, - "nodeType": "IfStatement", - "src": "16569:73:173", - "trueBody": { - "id": 75512, - "nodeType": "Block", - "src": "16600:42:173", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75509, - "name": "NoOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77842, - "src": "16621:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16621:10:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75511, - "nodeType": "RevertStatement", - "src": "16614:17:173" - } - ] - } - }, - { - "assignments": [ - 75515 - ], - "declarations": [ - { - "constant": false, - "id": 75515, - "mutability": "mutable", - "name": "i", - "nameLocation": "16660:1:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16652:9:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16652:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75517, - "initialValue": { - "hexValue": "30", - "id": 75516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16664:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16652:13:173" - }, - { - "assignments": [ - 75520 - ], - "declarations": [ - { - "constant": false, - "id": 75520, - "mutability": "mutable", - "name": "takeOrderConfig", - "nameLocation": "16698:15:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16675:38:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig" - }, - "typeName": { - "id": 75519, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75518, - "name": "TakeOrderConfig", - "nameLocations": [ - "16675:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77279, - "src": "16675:15:173" - }, - "referencedDeclaration": 77279, - "src": "16675:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_storage_ptr", - "typeString": "struct TakeOrderConfig" - } - }, - "visibility": "internal" - } - ], - "id": 75521, - "nodeType": "VariableDeclarationStatement", - "src": "16675:38:173" - }, - { - "assignments": [ - 75524 - ], - "declarations": [ - { - "constant": false, - "id": 75524, - "mutability": "mutable", - "name": "order", - "nameLocation": "16736:5:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16723:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 75523, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75522, - "name": "Order", - "nameLocations": [ - "16723:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "16723:5:173" - }, - "referencedDeclaration": 77252, - "src": "16723:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - } - ], - "id": 75525, - "nodeType": "VariableDeclarationStatement", - "src": "16723:18:173" - }, - { - "assignments": [ - 75527 - ], - "declarations": [ - { - "constant": false, - "id": 75527, - "mutability": "mutable", - "name": "remainingTakerInput", - "nameLocation": "16760:19:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "16752:27:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16752:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75530, - "initialValue": { - "expression": { - "id": 75528, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16782:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16789:12:173", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77860, - "src": "16782:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16752:49:173" - }, - { - "body": { - "id": 75923, - "nodeType": "Block", - "src": "16871:5715:173", - "statements": [ - { - "expression": { - "id": 75545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75540, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "16885:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "id": 75541, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16903:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16910:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "16903:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75544, - "indexExpression": { - "id": 75543, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75515, - "src": "16917:1:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16903:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "src": "16885:34:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75546, - "nodeType": "ExpressionStatement", - "src": "16885:34:173" - }, - { - "expression": { - "id": 75550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75547, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "16933:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75548, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "16941:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75549, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16957:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "16941:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "src": "16933:29:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75551, - "nodeType": "ExpressionStatement", - "src": "16933:29:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75552, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17052:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75553, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17058:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17052:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75556, - "indexExpression": { - "expression": { - "id": 75554, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17070:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17086:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17070:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17052:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17100:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17052:53:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75558, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17129:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17136:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17129:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75561, - "indexExpression": { - "hexValue": "30", - "id": 75560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17143:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17129:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17146:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17129:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17152:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17129:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75569, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75564, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17164:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17171:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17164:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75567, - "indexExpression": { - "hexValue": "30", - "id": 75566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17178:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17164:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17181:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17164:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17129:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17195:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17129:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17052:148:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75595, - "nodeType": "IfStatement", - "src": "17031:423:173", - "trueBody": { - "id": 75594, - "nodeType": "Block", - "src": "17215:239:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75573, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17275:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17281:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17275:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75577, - "indexExpression": { - "expression": { - "id": 75575, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17293:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17309:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17293:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17275:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17323:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17275:53:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75579, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17350:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17357:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17350:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75582, - "indexExpression": { - "hexValue": "30", - "id": 75581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17364:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17350:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17367:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17350:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17373:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "17350:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75590, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75585, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17385:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17392:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17385:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75588, - "indexExpression": { - "hexValue": "30", - "id": 75587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17399:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17385:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17402:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "17385:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17350:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17416:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17350:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75572, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "17240:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 75592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17240:199:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75593, - "nodeType": "RevertStatement", - "src": "17233:206:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75596, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17544:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17550:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17544:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75600, - "indexExpression": { - "expression": { - "id": 75598, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17563:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17579:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17563:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17544:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17594:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17544:55:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75602, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17623:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17630:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17623:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75605, - "indexExpression": { - "hexValue": "30", - "id": 75604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17637:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17623:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17640:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17623:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17646:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17623:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75613, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75608, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17659:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17666:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17659:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75611, - "indexExpression": { - "hexValue": "30", - "id": 75610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17673:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17659:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17676:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17659:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17623:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17691:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17623:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17544:152:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75639, - "nodeType": "IfStatement", - "src": "17523:431:173", - "trueBody": { - "id": 75638, - "nodeType": "Block", - "src": "17711:243:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75617, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "17771:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17777:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17771:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75621, - "indexExpression": { - "expression": { - "id": 75619, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "17790:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17806:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17790:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17771:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17821:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17771:55:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75623, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17848:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17855:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17848:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75626, - "indexExpression": { - "hexValue": "30", - "id": 75625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17862:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17848:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17865:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "17848:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17871:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "17848:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75634, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75629, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "17884:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17891:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "17884:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75632, - "indexExpression": { - "hexValue": "30", - "id": 75631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17898:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17884:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17901:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "17884:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17848:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17916:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "17848:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75616, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "17736:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 75636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17736:203:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75637, - "nodeType": "RevertStatement", - "src": "17729:210:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 75659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75640, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18052:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18058:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18052:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75644, - "indexExpression": { - "expression": { - "id": 75642, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18070:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18086:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18070:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18052:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18100:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18052:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75646, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18132:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18139:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18132:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75649, - "indexExpression": { - "hexValue": "30", - "id": 75648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18146:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18149:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18132:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18155:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18132:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75657, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75652, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18167:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18174:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18167:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75655, - "indexExpression": { - "hexValue": "30", - "id": 75654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18181:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18167:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18184:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18167:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18198:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18132:74:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18052:154:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75683, - "nodeType": "IfStatement", - "src": "18031:443:173", - "trueBody": { - "id": 75682, - "nodeType": "Block", - "src": "18221:253:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75661, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18289:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18295:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18289:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75665, - "indexExpression": { - "expression": { - "id": 75663, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18307:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75664, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18323:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18307:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18289:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18337:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18289:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75667, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18367:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18374:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18367:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75670, - "indexExpression": { - "hexValue": "30", - "id": 75669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18381:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18367:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18384:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18367:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18390:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "18367:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75678, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75673, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18402:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18409:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18402:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75676, - "indexExpression": { - "hexValue": "30", - "id": 75675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18416:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18402:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18419:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "18402:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18367:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18433:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18367:74:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75660, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "18246:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 75680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18246:213:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75681, - "nodeType": "RevertStatement", - "src": "18239:220:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 75703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75684, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18573:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18579:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18573:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75688, - "indexExpression": { - "expression": { - "id": 75686, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18592:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18608:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18592:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18573:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18623:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18573:58:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75690, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18655:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18662:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18655:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75693, - "indexExpression": { - "hexValue": "30", - "id": 75692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18669:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18655:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18672:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18655:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18678:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18655:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75701, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75696, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18691:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18698:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18691:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75699, - "indexExpression": { - "hexValue": "30", - "id": 75698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18705:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18691:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18708:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18691:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18655:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18723:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18655:76:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "18573:158:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75727, - "nodeType": "IfStatement", - "src": "18552:451:173", - "trueBody": { - "id": 75726, - "nodeType": "Block", - "src": "18746:257:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75705, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "18814:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18820:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18814:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75709, - "indexExpression": { - "expression": { - "id": 75707, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "18833:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18849:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18833:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18814:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18864:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18814:58:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75711, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18894:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18901:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18894:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75714, - "indexExpression": { - "hexValue": "30", - "id": 75713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18908:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18894:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18911:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "18894:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18917:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "18894:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75722, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75717, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "18930:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18937:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "18930:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75720, - "indexExpression": { - "hexValue": "30", - "id": 75719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18944:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18930:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18947:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "18930:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18894:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18962:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "18894:76:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75704, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "18771:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 75724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18771:217:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75725, - "nodeType": "RevertStatement", - "src": "18764:224:173" - } - ] - } - }, - { - "assignments": [ - 75729 - ], - "declarations": [ - { - "constant": false, - "id": 75729, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "19025:9:173", - "nodeType": "VariableDeclaration", - "scope": 75923, - "src": "19017:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75728, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19017:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75733, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75730, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19037:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19043:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "19037:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 75732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19037:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19017:32:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 75734, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "19067:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 75736, - "indexExpression": { - "id": 75735, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "19075:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19067:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 75737, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "19089:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19067:32:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75917, - "nodeType": "Block", - "src": "19194:3322:173", - "statements": [ - { - "assignments": [ - 75750 - ], - "declarations": [ - { - "constant": false, - "id": 75750, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "19238:18:173", - "nodeType": "VariableDeclaration", - "scope": 75917, - "src": "19212:44:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 75749, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75748, - "name": "OrderIOCalculation", - "nameLocations": [ - "19212:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "19212:18:173" - }, - "referencedDeclaration": 75005, - "src": "19212:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 75762, - "initialValue": { - "arguments": [ - { - "id": 75752, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19297:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 75753, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "19324:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19340:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "19324:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75755, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "19374:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19390:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "19374:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 75757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19425:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19429:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19425:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75759, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "19457:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19473:13:173", - "memberName": "signedContext", - "nodeType": "MemberAccess", - "referencedDeclaration": 77278, - "src": "19457:29:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 75751, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76683, - "src": "19259:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 75761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19259:245:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19212:292:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75763, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "19854:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19873:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "19854:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 75765, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "19883:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19890:14:173", - "memberName": "maximumIORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 77862, - "src": "19883:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19854:50:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "id": 75779, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "20040:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20059:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "20040:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75777, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "20018:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20033:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "20018:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20018:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20073:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20018:56:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75914, - "nodeType": "Block", - "src": "20179:2323:173", - "statements": [ - { - "assignments": [ - 75794 - ], - "declarations": [ - { - "constant": false, - "id": 75794, - "mutability": "mutable", - "name": "takerInputDecimals", - "nameLocation": "20207:18:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "20201:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75793, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "20201:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 75801, - "initialValue": { - "expression": { - "baseExpression": { - "expression": { - "id": 75795, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "20228:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20234:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "20228:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75799, - "indexExpression": { - "expression": { - "id": 75797, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "20247:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20263:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "20247:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20228:49:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20278:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "20228:58:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20201:85:173" - }, - { - "assignments": [ - 75804 - ], - "declarations": [ - { - "constant": false, - "id": 75804, - "mutability": "mutable", - "name": "takerInput18", - "nameLocation": "20397:12:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "20383:26:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 75803, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75802, - "name": "Input18Amount", - "nameLocations": [ - "20383:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "20383:13:173" - }, - "referencedDeclaration": 75009, - "src": "20383:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75813, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75809, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "20453:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20472:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "20453:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75807, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "20431:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20446:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "20431:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20431:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75805, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "20412:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20426:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20412:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 75812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20412:71:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20383:100:173" - }, - { - "id": 75841, - "nodeType": "Block", - "src": "20784:506:173", - "statements": [ - { - "assignments": [ - 75816 - ], - "declarations": [ - { - "constant": false, - "id": 75816, - "mutability": "mutable", - "name": "remainingTakerInput18", - "nameLocation": "20929:21:173", - "nodeType": "VariableDeclaration", - "scope": 75841, - "src": "20915:35:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 75815, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75814, - "name": "Input18Amount", - "nameLocations": [ - "20915:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "20915:13:173" - }, - "referencedDeclaration": 75009, - "src": "20915:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75825, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 75821, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75794, - "src": "21028:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75822, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71279, - "src": "21048:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75819, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "21000:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21020:7:173", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 71591, - "src": "21000:27:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21000:62:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75817, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "20981:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20995:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "20981:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 75824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20981:82:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20915:148:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75828, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "21114:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75826, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "21093:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21107:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21093:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21093:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 75832, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75816, - "src": "21151:21:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75830, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "21130:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21144:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21130:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21130:43:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21093:80:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75840, - "nodeType": "IfStatement", - "src": "21089:179:173", - "trueBody": { - "id": 75839, - "nodeType": "Block", - "src": "21175:93:173", - "statements": [ - { - "expression": { - "id": 75837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75835, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "21205:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75836, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75816, - "src": "21220:21:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "src": "21205:36:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "id": 75838, - "nodeType": "ExpressionStatement", - "src": "21205:36:173" - } - ] - } - } - ] - }, - { - "assignments": [ - 75843 - ], - "declarations": [ - { - "constant": false, - "id": 75843, - "mutability": "mutable", - "name": "takerOutput", - "nameLocation": "21320:11:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "21312:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21312:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75844, - "nodeType": "VariableDeclarationStatement", - "src": "21312:19:173" - }, - { - "id": 75879, - "nodeType": "Block", - "src": "21353:724:173", - "statements": [ - { - "assignments": [ - 75847 - ], - "declarations": [ - { - "constant": false, - "id": 75847, - "mutability": "mutable", - "name": "takerOutput18", - "nameLocation": "21477:13:173", - "nodeType": "VariableDeclaration", - "scope": 75879, - "src": "21462:28:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 75846, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75845, - "name": "Output18Amount", - "nameLocations": [ - "21462:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "21462:14:173" - }, - "referencedDeclaration": 75007, - "src": "21462:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 75862, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 75855, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "21744:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 75856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21763:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "21744:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 75857, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "21772:4:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", - "typeString": "type(library Math)" - } - }, - "id": 75858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21777:8:173", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45957, - "src": "21772:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 75859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21786:2:173", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45955, - "src": "21772:16:173", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 75852, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "21683:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75850, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "21662:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21676:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21662:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21662:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21697:13:173", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 71318, - "src": "21662:48:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 75860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21662:156:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75848, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "21493:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21508:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "21493:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 75861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21493:351:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21462:382:173" - }, - { - "expression": { - "id": 75877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75863, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "21870:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 75869, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "21957:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75870, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21963:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "21957:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 75873, - "indexExpression": { - "expression": { - "id": 75871, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "21975:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - "id": 75872, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21991:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "21975:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21957:47:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 75874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22005:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "21957:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75875, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71273, - "src": "22015:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75866, - "name": "takerOutput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75847, - "src": "21906:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 75864, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "21884:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 75865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "21899:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "21884:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 75867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21884:36:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21921:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "21884:43:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21884:170:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21870:184:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75878, - "nodeType": "ExpressionStatement", - "src": "21870:184:173" - } - ] - }, - { - "assignments": [ - 75881 - ], - "declarations": [ - { - "constant": false, - "id": 75881, - "mutability": "mutable", - "name": "takerInput", - "nameLocation": "22107:10:173", - "nodeType": "VariableDeclaration", - "scope": 75914, - "src": "22099:18:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22099:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75890, - "initialValue": { - "arguments": [ - { - "id": 75887, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75794, - "src": "22162:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 75888, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71279, - "src": "22182:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 75884, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75804, - "src": "22141:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 75882, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "22120:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 75883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22134:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "22120:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 75885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22120:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22155:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "22120:41:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 75889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22120:76:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22099:97:173" - }, - { - "expression": { - "id": 75893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75891, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "22219:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 75892, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75881, - "src": "22242:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22219:33:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75894, - "nodeType": "ExpressionStatement", - "src": "22219:33:173" - }, - { - "expression": { - "id": 75897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75895, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "22274:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75896, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "22294:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22274:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75898, - "nodeType": "ExpressionStatement", - "src": "22274:31:173" - }, - { - "expression": { - "arguments": [ - { - "id": 75900, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "22342:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 75901, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "22349:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75902, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75881, - "src": "22362:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75903, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75750, - "src": "22374:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 75899, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76860, - "src": "22328:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 75904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22328:65:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75905, - "nodeType": "ExpressionStatement", - "src": "22328:65:173" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75907, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22430:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22434:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "22430:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75909, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "22442:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - } - }, - { - "id": 75910, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75881, - "src": "22459:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75911, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75843, - "src": "22471:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_memory_ptr", - "typeString": "struct TakeOrderConfig memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75906, - "name": "TakeOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77971, - "src": "22420:9:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfig_$77279_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,struct TakeOrderConfig memory,uint256,uint256)" - } - }, - "id": 75912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22420:63:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75913, - "nodeType": "EmitStatement", - "src": "22415:68:173" - } - ] - }, - "id": 75915, - "nodeType": "IfStatement", - "src": "20014:2488:173", - "trueBody": { - "id": 75792, - "nodeType": "Block", - "src": "20076:97:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75785, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20119:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20123:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "20119:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75787, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "20131:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20137:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "20131:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75789, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "20144:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75784, - "name": "OrderZeroAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77989, - "src": "20103:15:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20103:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75791, - "nodeType": "EmitStatement", - "src": "20098:56:173" - } - ] - } - }, - "id": 75916, - "nodeType": "IfStatement", - "src": "19850:2652:173", - "trueBody": { - "id": 75776, - "nodeType": "Block", - "src": "19906:102:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75769, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19954:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19958:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19954:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75771, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19966:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19972:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "19966:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75773, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "19979:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75768, - "name": "OrderExceedsMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77998, - "src": "19933:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19933:56:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75775, - "nodeType": "EmitStatement", - "src": "19928:61:173" - } - ] - } - } - ] - }, - "id": 75918, - "nodeType": "IfStatement", - "src": "19063:3453:173", - "trueBody": { - "id": 75747, - "nodeType": "Block", - "src": "19101:87:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 75740, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19138:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19142:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "19138:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75742, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75524, - "src": "19150:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 75743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19156:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "19150:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75744, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "19163:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 75739, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77980, - "src": "19124:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 75745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19124:49:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75746, - "nodeType": "EmitStatement", - "src": "19119:54:173" - } - ] - } - }, - { - "id": 75922, - "nodeType": "UncheckedBlock", - "src": "22530:46:173", - "statements": [ - { - "expression": { - "id": 75920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "22558:3:173", - "subExpression": { - "id": 75919, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75515, - "src": "22558:1:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75921, - "nodeType": "ExpressionStatement", - "src": "22558:3:173" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75531, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75515, - "src": "16818:1:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "id": 75532, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "16822:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16829:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "16822:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16836:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16822:20:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16818:24:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75536, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "16846:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16868:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16846:23:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16818:51:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75924, - "nodeType": "WhileStatement", - "src": "16811:5775:173" - }, - { - "expression": { - "id": 75930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75925, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "22595:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75926, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "22613:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22620:12:173", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77860, - "src": "22613:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75928, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75527, - "src": "22635:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22613:41:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22595:59:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75931, - "nodeType": "ExpressionStatement", - "src": "22595:59:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75932, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "22669:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 75933, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "22687:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22694:12:173", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77858, - "src": "22687:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22669:37:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75943, - "nodeType": "IfStatement", - "src": "22665:125:173", - "trueBody": { - "id": 75942, - "nodeType": "Block", - "src": "22708:82:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 75937, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "22742:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22749:12:173", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77858, - "src": "22742:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75939, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "22763:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75936, - "name": "MinimumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74884, - "src": "22729:12:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 75940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22729:50:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75941, - "nodeType": "RevertStatement", - "src": "22722:57:173" - } - ] - } - }, - { - "assignments": [ - 75945 - ], - "declarations": [ - { - "constant": false, - "id": 75945, - "mutability": "mutable", - "name": "takerInputAmountSent", - "nameLocation": "23580:20:173", - "nodeType": "VariableDeclaration", - "scope": 76039, - "src": "23572:28:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23572:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75964, - "initialValue": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75947, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23648:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23655:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23648:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75950, - "indexExpression": { - "hexValue": "30", - "id": 75949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23662:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23648:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23665:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "23648:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23671:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "23648:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75958, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75953, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23684:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23691:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23684:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75956, - "indexExpression": { - "hexValue": "30", - "id": 75955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23698:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23684:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23701:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "23684:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23648:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23716:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23648:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 75960, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23723:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23727:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23723:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75962, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75500, - "src": "23735:15:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75946, - "name": "_decreaseFlashDebtThenSendToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74380, - "src": "23603:31:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) returns (uint256)" - } - }, - "id": 75963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23603:157:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23572:188:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 75965, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23774:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23781:4:173", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 77868, - "src": "23774:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 75967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23786:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "23774:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 75968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23795:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23774:22:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76008, - "nodeType": "IfStatement", - "src": "23770:395:173", - "trueBody": { - "id": 76007, - "nodeType": "Block", - "src": "23798:367:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75975, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23877:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23884:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23877:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75978, - "indexExpression": { - "hexValue": "30", - "id": 75977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23891:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23877:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23894:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "23877:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23900:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "23877:35:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75986, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75981, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23913:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23920:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23913:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75984, - "indexExpression": { - "hexValue": "30", - "id": 75983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23927:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23913:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23930:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77274, - "src": "23913:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23877:67:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 75987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23945:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23877:73:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75988, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "23968:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23975:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "23968:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75991, - "indexExpression": { - "hexValue": "30", - "id": 75990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23982:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23968:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23985:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "23968:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 75993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23991:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "23968:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 75999, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 75994, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24003:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 75995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24010:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "24003:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 75997, - "indexExpression": { - "hexValue": "30", - "id": 75996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24017:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24003:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 75998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24020:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "24003:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23968:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24034:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "23968:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76001, - "name": "takerInputAmountSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75945, - "src": "24057:20:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76002, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "24095:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76003, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24129:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24136:4:173", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 77868, - "src": "24129:11:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 75971, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23835:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23839:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23835:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75970, - "name": "IOrderBookV3OrderTaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78143, - "src": "23812:22:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$78143_$", - "typeString": "type(contract IOrderBookV3OrderTaker)" - } - }, - "id": 75973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23812:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$78143", - "typeString": "contract IOrderBookV3OrderTaker" - } - }, - "id": 75974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23847:12:173", - "memberName": "onTakeOrders", - "nodeType": "MemberAccess", - "referencedDeclaration": 78142, - "src": "23812:47:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external" - } - }, - "id": 76005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23812:342:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76006, - "nodeType": "ExpressionStatement", - "src": "23812:342:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76009, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "24179:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24198:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "24179:20:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76038, - "nodeType": "IfStatement", - "src": "24175:469:173", - "trueBody": { - "id": 76037, - "nodeType": "Block", - "src": "24201:443:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76028, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24576:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24580:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "24576:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76032, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24596:4:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$77034", - "typeString": "contract OrderBook" - } - ], - "id": 76031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24588:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76030, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24588:7:173", - "typeDescriptions": {} - } - }, - "id": 76033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24588:13:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76034, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75502, - "src": "24603:16:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76013, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24469:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24476:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "24469:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 76016, - "indexExpression": { - "hexValue": "30", - "id": 76015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24483:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24469:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 76017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24486:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 77270, - "src": "24469:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_calldata_ptr", - "typeString": "struct Order calldata" - } - }, - "id": 76018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24492:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "24469:34:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76024, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76019, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75495, - "src": "24504:6:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24511:6:173", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 77866, - "src": "24504:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfig_$77279_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata[] calldata" - } - }, - "id": 76022, - "indexExpression": { - "hexValue": "30", - "id": 76021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24518:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24504:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfig_$77279_calldata_ptr", - "typeString": "struct TakeOrderConfig calldata" - } - }, - "id": 76023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24521:12:173", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77272, - "src": "24504:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24469:65:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24535:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "24469:71:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76012, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "24462:6:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 76026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24462:79:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 76027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24542:16:173", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44497, - "src": "24462:96:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 76035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24462:171:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76036, - "nodeType": "ExpressionStatement", - "src": "24462:171:173" - } - ] - } - } - ] - }, - "baseFunctions": [ - 78089 - ], - "documentation": { - "id": 75492, - "nodeType": "StructuredDocumentation", - "src": "16360:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "8a44689c", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 75498, - "kind": "modifierInvocation", - "modifierName": { - "id": 75497, - "name": "nonReentrant", - "nameLocations": [ - "16474:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "16474:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "16474:12:173" - } - ], - "name": "takeOrders", - "nameLocation": "16402:10:173", - "parameters": { - "id": 75496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75495, - "mutability": "mutable", - "name": "config", - "nameLocation": "16441:6:173", - "nodeType": "VariableDeclaration", - "scope": 76040, - "src": "16413:34:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2" - }, - "typeName": { - "id": 75494, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75493, - "name": "TakeOrdersConfigV2", - "nameLocations": [ - "16413:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77869, - "src": "16413:18:173" - }, - "referencedDeclaration": 77869, - "src": "16413:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$77869_storage_ptr", - "typeString": "struct TakeOrdersConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "16412:36:173" - }, - "returnParameters": { - "id": 75503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75500, - "mutability": "mutable", - "name": "totalTakerInput", - "nameLocation": "16512:15:173", - "nodeType": "VariableDeclaration", - "scope": 76040, - "src": "16504:23:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16504:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75502, - "mutability": "mutable", - "name": "totalTakerOutput", - "nameLocation": "16537:16:173", - "nodeType": "VariableDeclaration", - "scope": 76040, - "src": "16529:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16529:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16503:51:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76366, - "nodeType": "FunctionDefinition", - "src": "24689:4247:173", - "nodes": [], - "body": { - "id": 76365, - "nodeType": "Block", - "src": "24932:4004:173", - "nodes": [], - "statements": [ - { - "id": 76243, - "nodeType": "Block", - "src": "24942:2410:173", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76063, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "24960:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76064, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24966:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "24960:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 76065, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "24975:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24979:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "24975:9:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "24960:24:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76074, - "nodeType": "IfStatement", - "src": "24956:92:173", - "trueBody": { - "id": 76073, - "nodeType": "Block", - "src": "24986:62:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 76069, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25021:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25027:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "25021:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76068, - "name": "SameOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74889, - "src": "25011:9:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 76071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25011:22:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76072, - "nodeType": "RevertStatement", - "src": "25004:29:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76075, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25082:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25088:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25082:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76079, - "indexExpression": { - "expression": { - "id": 76077, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25101:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25113:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25101:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25082:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25133:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25082:56:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76081, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25162:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76082, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25166:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25162:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76085, - "indexExpression": { - "expression": { - "id": 76083, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25178:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25190:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25178:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25162:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76086, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25207:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25162:50:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "25082:130:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76104, - "nodeType": "IfStatement", - "src": "25061:387:173", - "trueBody": { - "id": 76103, - "nodeType": "Block", - "src": "25227:221:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76089, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25287:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25293:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25287:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76093, - "indexExpression": { - "expression": { - "id": 76091, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25306:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25318:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25306:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25287:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76094, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25338:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25287:56:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76095, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25365:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25369:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25365:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76099, - "indexExpression": { - "expression": { - "id": 76097, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25381:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25393:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25381:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25365:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25410:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25365:50:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76088, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "25252:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25252:181:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76102, - "nodeType": "RevertStatement", - "src": "25245:188:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 76117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76105, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25483:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25489:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25483:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76109, - "indexExpression": { - "expression": { - "id": 76107, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25502:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25514:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25502:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25483:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25534:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25483:59:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76111, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25566:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25570:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25566:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76115, - "indexExpression": { - "expression": { - "id": 76113, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25582:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25594:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25582:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25566:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25611:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25566:53:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "25483:136:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76134, - "nodeType": "IfStatement", - "src": "25462:407:173", - "trueBody": { - "id": 76133, - "nodeType": "Block", - "src": "25634:235:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76119, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25702:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25708:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25702:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76123, - "indexExpression": { - "expression": { - "id": 76121, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25721:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25733:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "25721:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25702:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25753:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25702:59:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76125, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25783:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25787:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25783:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76129, - "indexExpression": { - "expression": { - "id": 76127, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25799:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25811:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "25799:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25783:44:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25828:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "25783:53:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 76118, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "25659:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 76131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25659:195:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76132, - "nodeType": "RevertStatement", - "src": "25652:202:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76135, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "25904:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76136, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25908:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "25904:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76139, - "indexExpression": { - "expression": { - "id": 76137, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25921:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25933:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "25921:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25904:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76140, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25951:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25904:52:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76141, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "25980:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25986:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "25980:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76145, - "indexExpression": { - "expression": { - "id": 76143, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "25998:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26010:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "25998:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25980:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26029:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "25980:54:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "25904:130:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76164, - "nodeType": "IfStatement", - "src": "25883:387:173", - "trueBody": { - "id": 76163, - "nodeType": "Block", - "src": "26049:221:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76149, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26109:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26115:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "26109:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76153, - "indexExpression": { - "expression": { - "id": 76151, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26127:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26139:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "26127:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26109:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26158:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26109:54:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76155, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "26185:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26189:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26185:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76159, - "indexExpression": { - "expression": { - "id": 76157, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26202:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26214:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "26202:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26185:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76160, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26232:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "26185:52:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76148, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74870, - "src": "26074:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26074:181:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76162, - "nodeType": "RevertStatement", - "src": "26067:188:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 76177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76165, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "26305:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26309:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26305:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76169, - "indexExpression": { - "expression": { - "id": 76167, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26322:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26334:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "26322:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26305:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76170, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26352:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26305:55:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76171, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26384:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76172, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26390:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "26384:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76175, - "indexExpression": { - "expression": { - "id": 76173, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26402:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26414:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "26402:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26384:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26433:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26384:57:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "26305:136:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76194, - "nodeType": "IfStatement", - "src": "26284:407:173", - "trueBody": { - "id": 76193, - "nodeType": "Block", - "src": "26456:235:173", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76179, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26524:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76180, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26530:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "26524:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76183, - "indexExpression": { - "expression": { - "id": 76181, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26542:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26554:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "26542:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26524:48:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76184, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26573:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26524:57:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76185, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "26603:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76186, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26607:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "26603:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76189, - "indexExpression": { - "expression": { - "id": 76187, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "26620:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26632:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "26620:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26603:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26650:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "26603:55:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 76178, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74877, - "src": "26481:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 76191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26481:195:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76192, - "nodeType": "RevertStatement", - "src": "26474:202:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76195, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "26916:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76199, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76196, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "26924:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26930:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "26924:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26924:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26916:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76200, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "26941:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26916:35:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76214, - "nodeType": "IfStatement", - "src": "26912:155:173", - "trueBody": { - "id": 76213, - "nodeType": "Block", - "src": "26953:114:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76203, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "26990:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26994:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "26990:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76205, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27002:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27008:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27002:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76207, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27015:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27021:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "27015:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27015:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76202, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77980, - "src": "26976:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26976:52:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76211, - "nodeType": "EmitStatement", - "src": "26971:57:173" - }, - { - "functionReturnParameters": 76062, - "id": 76212, - "nodeType": "Return", - "src": "27046:7:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76215, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75049, - "src": "27084:7:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76219, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76216, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27092:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76217, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27096:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "27092:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27092:10:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27084:19:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76220, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "27107:10:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27084:33:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76234, - "nodeType": "IfStatement", - "src": "27080:149:173", - "trueBody": { - "id": 76233, - "nodeType": "Block", - "src": "27119:110:173", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27156:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27160:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27156:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76225, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27168:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27172:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27168:9:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76227, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27179:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76228, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27183:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "27179:8:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27179:10:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76222, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77980, - "src": "27142:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27142:48:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76231, - "nodeType": "EmitStatement", - "src": "27137:53:173" - }, - { - "functionReturnParameters": 76062, - "id": 76232, - "nodeType": "Return", - "src": "27208:7:173" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76236, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27305:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27309:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27305:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76238, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27317:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 76239, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27324:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 76240, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27329:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - ], - "id": 76235, - "name": "Clear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78012, - "src": "27299:5:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_Order_$77252_memory_ptr_$_t_struct$_ClearConfig_$77292_memory_ptr_$returns$__$", - "typeString": "function (address,struct Order memory,struct Order memory,struct ClearConfig memory)" - } - }, - "id": 76241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27299:42:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76242, - "nodeType": "EmitStatement", - "src": "27294:47:173" - } - ] - }, - { - "assignments": [ - 76246 - ], - "declarations": [ - { - "constant": false, - "id": 76246, - "mutability": "mutable", - "name": "aliceOrderIOCalculation_", - "nameLocation": "27387:24:173", - "nodeType": "VariableDeclaration", - "scope": 76365, - "src": "27361:50:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76245, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76244, - "name": "OrderIOCalculation", - "nameLocations": [ - "27361:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "27361:18:173" - }, - "referencedDeclaration": 75005, - "src": "27361:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 76257, - "initialValue": { - "arguments": [ - { - "id": 76248, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27444:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76249, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27451:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27463:17:173", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77281, - "src": "27451:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76251, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27482:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27494:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "27482:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76253, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27514:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27518:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27514:9:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76255, - "name": "bobSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76058, - "src": "27525:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 76247, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76683, - "src": "27414:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 76256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27414:137:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27361:190:173" - }, - { - "assignments": [ - 76260 - ], - "declarations": [ - { - "constant": false, - "id": 76260, - "mutability": "mutable", - "name": "bobOrderIOCalculation_", - "nameLocation": "27587:22:173", - "nodeType": "VariableDeclaration", - "scope": 76365, - "src": "27561:48:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76259, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76258, - "name": "OrderIOCalculation", - "nameLocations": [ - "27561:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "27561:18:173" - }, - "referencedDeclaration": 75005, - "src": "27561:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "id": 76271, - "initialValue": { - "arguments": [ - { - "id": 76262, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "27642:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76263, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27647:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27659:15:173", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77285, - "src": "27647:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76265, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "27676:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27688:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "27676:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76267, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27706:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27712:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "27706:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76269, - "name": "aliceSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76054, - "src": "27719:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 76261, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76683, - "src": "27612:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$", - "typeString": "function (struct Order memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculation memory)" - } - }, - "id": 76270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27612:135:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27561:186:173" - }, - { - "assignments": [ - 76274 - ], - "declarations": [ - { - "constant": false, - "id": 76274, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "27781:16:173", - "nodeType": "VariableDeclaration", - "scope": 76365, - "src": "27757:40:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 76273, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76272, - "name": "ClearStateChange", - "nameLocations": [ - "27757:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77301, - "src": "27757:16:173" - }, - "referencedDeclaration": 77301, - "src": "27757:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "id": 76279, - "initialValue": { - "arguments": [ - { - "id": 76276, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76246, - "src": "27838:24:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 76277, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76260, - "src": "27864:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76275, - "name": "calculateClearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76886, - "src": "27812:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$_t_struct$_ClearStateChange_$77301_memory_ptr_$", - "typeString": "function (struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure returns (struct ClearStateChange memory)" - } - }, - "id": 76278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27812:75:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "27757:130:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76281, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "27912:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76282, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "27919:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27936:10:173", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77298, - "src": "27919:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76284, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "27948:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27965:11:173", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77294, - "src": "27948:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76286, - "name": "aliceOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76246, - "src": "27978:24:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76280, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76860, - "src": "27898:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 76287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27898:105:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76288, - "nodeType": "ExpressionStatement", - "src": "27898:105:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76290, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "28027:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "expression": { - "id": 76291, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28032:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76292, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28049:8:173", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77300, - "src": "28032:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76293, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28059:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28076:9:173", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77296, - "src": "28059:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76295, - "name": "bobOrderIOCalculation_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76260, - "src": "28087:22:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76289, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76860, - "src": "28013:13:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Order_$77252_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct Order memory,uint256,uint256,struct OrderIOCalculation memory)" - } - }, - "id": 76296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28013:97:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76297, - "nodeType": "ExpressionStatement", - "src": "28013:97:173" - }, - { - "id": 76358, - "nodeType": "Block", - "src": "28121:753:173", - "statements": [ - { - "assignments": [ - 76299 - ], - "declarations": [ - { - "constant": false, - "id": 76299, - "mutability": "mutable", - "name": "aliceBounty", - "nameLocation": "28275:11:173", - "nodeType": "VariableDeclaration", - "scope": 76358, - "src": "28267:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28267:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76305, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76300, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28289:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28306:11:173", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77294, - "src": "28289:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 76302, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28320:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28337:8:173", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77300, - "src": "28320:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28289:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28267:78:173" - }, - { - "assignments": [ - 76307 - ], - "declarations": [ - { - "constant": false, - "id": 76307, - "mutability": "mutable", - "name": "bobBounty", - "nameLocation": "28367:9:173", - "nodeType": "VariableDeclaration", - "scope": 76358, - "src": "28359:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28359:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76313, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76308, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28379:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28396:9:173", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77296, - "src": "28379:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 76310, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28408:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28425:10:173", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77298, - "src": "28408:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28379:56:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28359:76:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76314, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76299, - "src": "28453:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28467:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28453:15:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76335, - "nodeType": "IfStatement", - "src": "28449:206:173", - "trueBody": { - "id": 76334, - "nodeType": "Block", - "src": "28470:185:173", - "statements": [ - { - "expression": { - "id": 76332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76317, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "28488:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76328, - "indexExpression": { - "expression": { - "id": 76318, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28503:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28507:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28503:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28488:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76329, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76320, - "name": "alice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76044, - "src": "28515:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28521:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "28515:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76324, - "indexExpression": { - "expression": { - "id": 76322, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28534:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28546:18:173", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77283, - "src": "28534:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28515:50:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28566:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "28515:56:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28488:84:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76330, - "indexExpression": { - "expression": { - "id": 76326, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28573:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28606:18:173", - "memberName": "aliceBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77289, - "src": "28573:51:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "28488:137:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76331, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76299, - "src": "28629:11:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28488:152:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76333, - "nodeType": "ExpressionStatement", - "src": "28488:152:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76336, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76307, - "src": "28672:9:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28684:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28672:13:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76357, - "nodeType": "IfStatement", - "src": "28668:196:173", - "trueBody": { - "id": 76356, - "nodeType": "Block", - "src": "28687:177:173", - "statements": [ - { - "expression": { - "id": 76354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76339, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "28705:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76350, - "indexExpression": { - "expression": { - "id": 76340, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28720:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28724:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28720:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28705:26:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76351, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76342, - "name": "bob", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76047, - "src": "28732:3:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76343, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28736:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "28732:16:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76346, - "indexExpression": { - "expression": { - "id": 76344, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28749:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28761:16:173", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 77287, - "src": "28749:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28732:46:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76347, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28779:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "28732:52:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28705:80:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76352, - "indexExpression": { - "expression": { - "id": 76348, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76050, - "src": "28786:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 76349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28819:16:173", - "memberName": "bobBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77291, - "src": "28786:49:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "28705:131:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76353, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76307, - "src": "28840:9:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28705:144:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76355, - "nodeType": "ExpressionStatement", - "src": "28705:144:173" - } - ] - } - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76360, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28900:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28904:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28900:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76362, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76274, - "src": "28912:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - ], - "id": 76359, - "name": "AfterClear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78020, - "src": "28889:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$77301_memory_ptr_$returns$__$", - "typeString": "function (address,struct ClearStateChange memory)" - } - }, - "id": 76363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28889:40:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76364, - "nodeType": "EmitStatement", - "src": "28884:45:173" - } - ] - }, - "baseFunctions": [ - 78110 - ], - "documentation": { - "id": 76041, - "nodeType": "StructuredDocumentation", - "src": "24656:28:173", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "9e18968b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76061, - "kind": "modifierInvocation", - "modifierName": { - "id": 76060, - "name": "nonReentrant", - "nameLocations": [ - "24919:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "24919:12:173" - }, - "nodeType": "ModifierInvocation", - "src": "24919:12:173" - } - ], - "name": "clear", - "nameLocation": "24698:5:173", - "parameters": { - "id": 76059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76044, - "mutability": "mutable", - "name": "alice", - "nameLocation": "24726:5:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24713:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76043, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76042, - "name": "Order", - "nameLocations": [ - "24713:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "24713:5:173" - }, - "referencedDeclaration": 77252, - "src": "24713:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76047, - "mutability": "mutable", - "name": "bob", - "nameLocation": "24754:3:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24741:16:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76046, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76045, - "name": "Order", - "nameLocations": [ - "24741:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "24741:5:173" - }, - "referencedDeclaration": 77252, - "src": "24741:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76050, - "mutability": "mutable", - "name": "clearConfig", - "nameLocation": "24788:11:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24767:32:173", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_calldata_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 76049, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76048, - "name": "ClearConfig", - "nameLocations": [ - "24767:11:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77292, - "src": "24767:11:173" - }, - "referencedDeclaration": 77292, - "src": "24767:11:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$77292_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76054, - "mutability": "mutable", - "name": "aliceSignedContext", - "nameLocation": "24834:18:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24809:43:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 76052, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76051, - "name": "SignedContextV1", - "nameLocations": [ - "24809:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56240, - "src": "24809:15:173" - }, - "referencedDeclaration": 56240, - "src": "24809:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 76053, - "nodeType": "ArrayTypeName", - "src": "24809:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76058, - "mutability": "mutable", - "name": "bobSignedContext", - "nameLocation": "24887:16:173", - "nodeType": "VariableDeclaration", - "scope": 76366, - "src": "24862:41:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 76056, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76055, - "name": "SignedContextV1", - "nameLocations": [ - "24862:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56240, - "src": "24862:15:173" - }, - "referencedDeclaration": 56240, - "src": "24862:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 76057, - "nodeType": "ArrayTypeName", - "src": "24862:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "24703:206:173" - }, - "returnParameters": { - "id": 76062, - "nodeType": "ParameterList", - "parameters": [], - "src": "24932:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76683, - "nodeType": "FunctionDefinition", - "src": "29640:5114:173", - "nodes": [], - "body": { - "id": 76682, - "nodeType": "Block", - "src": "29889:4865:173", - "nodes": [], - "statements": [ - { - "id": 76681, - "nodeType": "UncheckedBlock", - "src": "29899:4849:173", - "statements": [ - { - "assignments": [ - 76387 - ], - "declarations": [ - { - "constant": false, - "id": 76387, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "29931:9:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "29923:17:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76386, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "29923:7:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 76391, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76388, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "29943:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76389, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29949:4:173", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 78164, - "src": "29943:10:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Order_$77252_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Order_$77252_memory_ptr_$", - "typeString": "function (struct Order memory) pure returns (bytes32)" - } - }, - "id": 76390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29943:12:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29923:32:173" - }, - { - "assignments": [ - 76397 - ], - "declarations": [ - { - "constant": false, - "id": 76397, - "mutability": "mutable", - "name": "context", - "nameLocation": "29989:7:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "29970:26:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 76394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29970:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76395, - "nodeType": "ArrayTypeName", - "src": "29970:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76396, - "nodeType": "ArrayTypeName", - "src": "29970:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 76398, - "nodeType": "VariableDeclarationStatement", - "src": "29970:26:173" - }, - { - "id": 76545, - "nodeType": "Block", - "src": "30010:1540:173", - "statements": [ - { - "assignments": [ - 76404 - ], - "declarations": [ - { - "constant": false, - "id": 76404, - "mutability": "mutable", - "name": "callingContext", - "nameLocation": "30047:14:173", - "nodeType": "VariableDeclaration", - "scope": 76545, - "src": "30028:33:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 76401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30028:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76402, - "nodeType": "ArrayTypeName", - "src": "30028:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76403, - "nodeType": "ArrayTypeName", - "src": "30028:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 76411, - "initialValue": { - "arguments": [ - { - "id": 76409, - "name": "CALLING_CONTEXT_COLUMNS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74933, - "src": "30101:23:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "30064:15:173", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory[] memory)" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 76405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30068:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76406, - "nodeType": "ArrayTypeName", - "src": "30068:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76407, - "nodeType": "ArrayTypeName", - "src": "30068:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - } - }, - "id": 76410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30064:78:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30028:114:173" - }, - { - "expression": { - "id": 76439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76412, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "30160:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76416, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 76413, - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74941, - "src": "30175:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30208:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30175:34:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30160:50:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 76421, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76387, - "src": "30268:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30260:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76419, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30260:7:173", - "typeDescriptions": {} - } - }, - "id": 76422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30260:18:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76427, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30296:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30302:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "30296:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30288:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76425, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30288:7:173", - "typeDescriptions": {} - } - }, - "id": 76429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30288:20:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30280:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30280:7:173", - "typeDescriptions": {} - } - }, - "id": 76430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30280:29:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 76435, - "name": "counterparty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76376, - "src": "30327:12:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30319:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76433, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30319:7:173", - "typeDescriptions": {} - } - }, - "id": 76436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30319:21:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30311:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76431, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30311:7:173", - "typeDescriptions": {} - } - }, - "id": 76437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30311:30:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76417, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "30213:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30229:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72588, - "src": "30213:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30213:146:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30160:199:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76440, - "nodeType": "ExpressionStatement", - "src": "30160:199:173" - }, - { - "expression": { - "id": 76487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76441, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "30378:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76445, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 76442, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "30393:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30423:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30393:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30378:47:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76452, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30491:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30497:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30491:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76455, - "indexExpression": { - "id": 76454, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30509:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30491:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76456, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30523:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30491:37:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30483:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76450, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "30483:7:173", - "typeDescriptions": {} - } - }, - "id": 76457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30483:46:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30475:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30475:7:173", - "typeDescriptions": {} - } - }, - "id": 76458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30475:55:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76459, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30552:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30558:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30552:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76462, - "indexExpression": { - "id": 76461, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30570:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30552:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30584:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "30552:40:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76464, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30614:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30620:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30614:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76467, - "indexExpression": { - "id": 76466, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30632:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30614:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30646:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "30614:39:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76469, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "30675:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76472, - "indexExpression": { - "expression": { - "id": 76470, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30690:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30696:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "30690:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30675:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76478, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76473, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30703:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76474, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30709:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30703:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76476, - "indexExpression": { - "id": 76475, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30721:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30703:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76477, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30735:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "30703:37:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30675:66:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76484, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76479, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "30742:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76480, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30748:11:173", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77247, - "src": "30742:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76482, - "indexExpression": { - "id": 76481, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "30760:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30742:31:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30799:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "30742:64:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30675:132:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30885:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 76446, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "30428:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30444:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72624, - "src": "30428:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30428:476:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30378:526:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76488, - "nodeType": "ExpressionStatement", - "src": "30378:526:173" - }, - { - "expression": { - "id": 76535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76489, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "30923:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76493, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 76490, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "30938:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30969:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30938:32:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30923:48:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76500, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31037:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31043:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31037:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76503, - "indexExpression": { - "id": 76502, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31056:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31037:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76504, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31071:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "31037:39:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31029:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76498, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "31029:7:173", - "typeDescriptions": {} - } - }, - "id": 76505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31029:48:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31021:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76496, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31021:7:173", - "typeDescriptions": {} - } - }, - "id": 76506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31021:57:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76507, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31100:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76508, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31106:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31100:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76510, - "indexExpression": { - "id": 76509, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31119:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31100:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31134:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "31100:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 76512, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31164:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76513, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31170:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31164:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76515, - "indexExpression": { - "id": 76514, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31183:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31164:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31198:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31164:41:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76517, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "31227:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76520, - "indexExpression": { - "expression": { - "id": 76518, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31242:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31248:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "31242:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31227:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76526, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76521, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31255:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76522, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31261:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31255:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76524, - "indexExpression": { - "id": 76523, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31274:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31255:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31289:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "31255:39:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31227:68:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76532, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76527, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31296:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31302:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "31296:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76530, - "indexExpression": { - "id": 76529, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "31315:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31296:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31355:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "31296:66:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31227:136:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31441:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 76494, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "30974:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30990:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72624, - "src": "30974:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30974:486:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30923:537:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76536, - "nodeType": "ExpressionStatement", - "src": "30923:537:173" - }, - { - "expression": { - "id": 76543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76537, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "31478:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 76540, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76404, - "src": "31505:14:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 76541, - "name": "signedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76380, - "src": "31521:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "expression": { - "id": 76538, - "name": "LibContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57091, - "src": "31488:10:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$57091_$", - "typeString": "type(library LibContext)" - } - }, - "id": 76539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31499:5:173", - "memberName": "build", - "nodeType": "MemberAccess", - "referencedDeclaration": 57090, - "src": "31488:16:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256[] memory[] memory,struct SignedContextV1 memory[] memory) view returns (uint256[] memory[] memory)" - } - }, - "id": 76542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31488:47:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "src": "31478:57:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76544, - "nodeType": "ExpressionStatement", - "src": "31478:57:173" - } - ] - }, - { - "assignments": [ - 76548 - ], - "declarations": [ - { - "constant": false, - "id": 76548, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "31741:9:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "31726:24:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 76547, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76546, - "name": "StateNamespace", - "nameLocations": [ - "31726:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "31726:14:173" - }, - "referencedDeclaration": 56306, - "src": "31726:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - } - ], - "id": 76560, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76555, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "31789:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31795:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "31789:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31781:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76553, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "31781:7:173", - "typeDescriptions": {} - } - }, - "id": 76557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31781:20:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31773:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31773:7:173", - "typeDescriptions": {} - } - }, - "id": 76558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31773:29:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76549, - "name": "StateNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56306, - "src": "31753:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$56306_$", - "typeString": "type(StateNamespace)" - } - }, - "id": 76550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "31768:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "31753:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$56306_$", - "typeString": "function (uint256) pure returns (StateNamespace)" - } - }, - "id": 76559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31753:50:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31726:77:173" - }, - { - "assignments": [ - 76565, - 76568 - ], - "declarations": [ - { - "constant": false, - "id": 76565, - "mutability": "mutable", - "name": "calculateOrderStack", - "nameLocation": "32162:19:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32145:36:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32145:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76564, - "nodeType": "ArrayTypeName", - "src": "32145:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76568, - "mutability": "mutable", - "name": "calculateOrderKVs", - "nameLocation": "32200:17:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32183:34:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32183:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76567, - "nodeType": "ArrayTypeName", - "src": "32183:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76584, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76573, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32305:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32311:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "32305:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32321:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "32305:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 76576, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76548, - "src": "32328:9:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 76578, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32363:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32369:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "32363:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76580, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32379:10:173", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 57309, - "src": "32363:26:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76577, - "name": "_calculateOrderDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77017, - "src": "32339:23:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 76581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32339:51:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - { - "id": 76582, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "32392:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76569, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32221:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76570, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32244:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "32221:32:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76571, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32271:11:173", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 57304, - "src": "32221:61:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "id": 76572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32300:4:173", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 56346, - "src": "32221:83:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 76583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32221:179:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32144:256:173" - }, - { - "assignments": [ - 76587 - ], - "declarations": [ - { - "constant": false, - "id": 76587, - "mutability": "mutable", - "name": "orderOutputMax18", - "nameLocation": "32430:16:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32415:31:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76586, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76585, - "name": "Output18Amount", - "nameLocations": [ - "32415:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "32415:14:173" - }, - "referencedDeclaration": 75007, - "src": "32415:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76597, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 76590, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32469:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76595, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76591, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32489:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32509:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "32489:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "32", - "id": 76593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32518:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "32489:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32469:51:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76588, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "32449:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "32464:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "32449:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32449:72:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32415:106:173" - }, - { - "assignments": [ - 76599 - ], - "declarations": [ - { - "constant": false, - "id": 76599, - "mutability": "mutable", - "name": "orderIORatio", - "nameLocation": "32543:12:173", - "nodeType": "VariableDeclaration", - "scope": 76681, - "src": "32535:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32535:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76606, - "initialValue": { - "baseExpression": { - "id": 76600, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32558:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76605, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76601, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "32578:19:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32598:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "32578:26:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 76603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32607:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "32578:30:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32558:51:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32535:74:173" - }, - { - "id": 76657, - "nodeType": "Block", - "src": "32624:1718:173", - "statements": [ - { - "assignments": [ - 76608 - ], - "declarations": [ - { - "constant": false, - "id": 76608, - "mutability": "mutable", - "name": "ownerVaultBalance", - "nameLocation": "32786:17:173", - "nodeType": "VariableDeclaration", - "scope": 76657, - "src": "32778:25:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32778:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76625, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76609, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "32806:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76612, - "indexExpression": { - "expression": { - "id": 76610, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32821:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32827:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "32821:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32806:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76618, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76613, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32834:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32840:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "32834:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76616, - "indexExpression": { - "id": 76615, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "32853:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32834:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32868:5:173", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 77217, - "src": "32834:39:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32806:68:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76624, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76619, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "32875:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32902:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "32875:39:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76622, - "indexExpression": { - "id": 76621, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "32915:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32875:54:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32930:7:173", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 77221, - "src": "32875:62:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32806:132:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32778:160:173" - }, - { - "assignments": [ - 76628 - ], - "declarations": [ - { - "constant": false, - "id": 76628, - "mutability": "mutable", - "name": "ownerVaultBalance18", - "nameLocation": "34006:19:173", - "nodeType": "VariableDeclaration", - "scope": 76657, - "src": "33991:34:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76627, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76626, - "name": "Output18Amount", - "nameLocations": [ - "33991:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "33991:14:173" - }, - "referencedDeclaration": 75007, - "src": "33991:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76641, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76633, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "34094:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34100:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "34094:18:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76636, - "indexExpression": { - "id": 76635, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "34113:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34094:33:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34128:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "34094:42:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 76638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34138:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 76631, - "name": "ownerVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76608, - "src": "34068:17:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34086:7:173", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 71591, - "src": "34068:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 76639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34068:72:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76629, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34048:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34063:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "34048:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34048:93:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33991:150:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 76644, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34185:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76642, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34163:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34178:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34163:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34163:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 76648, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76628, - "src": "34227:19:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76646, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34205:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34220:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34205:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34205:42:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34163:84:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76656, - "nodeType": "IfStatement", - "src": "34159:169:173", - "trueBody": { - "id": 76655, - "nodeType": "Block", - "src": "34249:79:173", - "statements": [ - { - "expression": { - "id": 76653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76651, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34271:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76652, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76628, - "src": "34290:19:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "src": "34271:38:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "id": 76654, - "nodeType": "ExpressionStatement", - "src": "34271:38:173" - } - ] - } - } - ] - }, - { - "expression": { - "id": 76669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76658, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "34439:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76660, - "indexExpression": { - "id": 76659, - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74945, - "src": "34447:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "34439:36:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 76665, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34542:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76663, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "34520:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34535:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "34520:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34520:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76667, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "34561:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76661, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "34494:15:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$72714_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 76662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34510:9:173", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 72573, - "src": "34494:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (uint256[] memory)" - } - }, - "id": 76668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34494:80:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "34439:135:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76670, - "nodeType": "ExpressionStatement", - "src": "34439:135:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76672, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76370, - "src": "34632:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - { - "id": 76673, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76374, - "src": "34639:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76674, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76587, - "src": "34654:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - { - "id": 76675, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "34672:12:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76676, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76397, - "src": "34686:7:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 76677, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76548, - "src": "34695:9:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "id": 76678, - "name": "calculateOrderKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76568, - "src": "34706:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 76671, - "name": "OrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "34596:18:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculation_$75005_storage_ptr_$", - "typeString": "type(struct OrderIOCalculation storage pointer)" - } - }, - "id": 76679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34596:141:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "functionReturnParameters": 76385, - "id": 76680, - "nodeType": "Return", - "src": "34589:148:173" - } - ] - } - ] - }, - "documentation": { - "id": 76367, - "nodeType": "StructuredDocumentation", - "src": "28942:693:173", - "text": "Main entrypoint into an order calculates the amount and IO ratio. Both\n are always treated as 18 decimal fixed point values and then rescaled\n according to the order's definition of each token's actual fixed point\n decimals.\n @param order The order to evaluate.\n @param inputIOIndex The index of the input token being calculated for.\n @param outputIOIndex The index of the output token being calculated for.\n @param counterparty The counterparty of the order as it is currently\n being cleared against.\n @param signedContext Any signed context provided by the clearer/taker\n that the order may need for its calculations." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateOrderIO", - "nameLocation": "29649:16:173", - "parameters": { - "id": 76381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76370, - "mutability": "mutable", - "name": "order", - "nameLocation": "29688:5:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29675:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76368, - "name": "Order", - "nameLocations": [ - "29675:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "29675:5:173" - }, - "referencedDeclaration": 77252, - "src": "29675:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76372, - "mutability": "mutable", - "name": "inputIOIndex", - "nameLocation": "29711:12:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29703:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29703:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76374, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "29741:13:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29733:21:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29733:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76376, - "mutability": "mutable", - "name": "counterparty", - "nameLocation": "29772:12:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29764:20:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29764:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76380, - "mutability": "mutable", - "name": "signedContext", - "nameLocation": "29819:13:173", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29794:38:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 76378, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76377, - "name": "SignedContextV1", - "nameLocations": [ - "29794:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56240, - "src": "29794:15:173" - }, - "referencedDeclaration": 56240, - "src": "29794:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$56240_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 76379, - "nodeType": "ArrayTypeName", - "src": "29794:17:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$56240_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "29665:173:173" - }, - "returnParameters": { - "id": 76385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76384, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76683, - "src": "29862:25:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76383, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76382, - "name": "OrderIOCalculation", - "nameLocations": [ - "29862:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "29862:18:173" - }, - "referencedDeclaration": 75005, - "src": "29862:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "29861:27:173" - }, - "scope": 77034, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76860, - "nodeType": "FunctionDefinition", - "src": "35328:3665:173", - "nodes": [], - "body": { - "id": 76859, - "nodeType": "Block", - "src": "35495:3498:173", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76697, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35505:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35524:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35505:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76702, - "indexExpression": { - "id": 76699, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "35532:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35505:55:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76703, - "indexExpression": { - "id": 76700, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74973, - "src": "35561:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35505:86:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76704, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76689, - "src": "35594:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35505:94:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76706, - "nodeType": "ExpressionStatement", - "src": "35505:94:173" - }, - { - "expression": { - "id": 76715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76707, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35609:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35628:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35609:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76712, - "indexExpression": { - "id": 76709, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "35636:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35609:56:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76713, - "indexExpression": { - "id": 76710, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74973, - "src": "35666:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35609:87:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76714, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76691, - "src": "35699:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35609:96:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76716, - "nodeType": "ExpressionStatement", - "src": "35609:96:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76717, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76689, - "src": "35720:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35728:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35720:9:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76748, - "nodeType": "IfStatement", - "src": "35716:360:173", - "trueBody": { - "id": 76747, - "nodeType": "Block", - "src": "35731:345:173", - "statements": [ - { - "expression": { - "id": 76745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76720, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "35816:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76741, - "indexExpression": { - "expression": { - "id": 76721, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "35831:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35837:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "35831:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35816:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76742, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76727, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35877:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35896:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35877:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76730, - "indexExpression": { - "id": 76729, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "35904:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35877:55:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76732, - "indexExpression": { - "id": 76731, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74957, - "src": "35933:22:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35877:79:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35869:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76725, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "35869:7:173", - "typeDescriptions": {} - } - }, - "id": 76733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35869:88:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35844:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "35844:7:173", - "typeDescriptions": {} - } - }, - "id": 76734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35844:127:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35816:156:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76743, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76735, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "35973:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76736, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35992:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "35973:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76738, - "indexExpression": { - "id": 76737, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74949, - "src": "36000:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35973:55:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76740, - "indexExpression": { - "id": 76739, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74965, - "src": "36029:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35973:82:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35816:240:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76744, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76689, - "src": "36060:5:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "35816:249:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76746, - "nodeType": "ExpressionStatement", - "src": "35816:249:173" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76749, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76691, - "src": "36089:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36098:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36089:10:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76780, - "nodeType": "IfStatement", - "src": "36085:365:173", - "trueBody": { - "id": 76779, - "nodeType": "Block", - "src": "36101:349:173", - "statements": [ - { - "expression": { - "id": 76777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76752, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75058, - "src": "36187:14:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(address => mapping(address => mapping(uint256 => uint256)))" - } - }, - "id": 76773, - "indexExpression": { - "expression": { - "id": 76753, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "36202:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36208:5:173", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 77238, - "src": "36202:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36187:27:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76774, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76759, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36248:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36267:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "36248:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76762, - "indexExpression": { - "id": 76761, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "36275:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36248:56:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76764, - "indexExpression": { - "id": 76763, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74957, - "src": "36305:22:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36248:80:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76758, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36240:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 76757, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "36240:7:173", - "typeDescriptions": {} - } - }, - "id": 76765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36240:89:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 76756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36215:7:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36215:7:173", - "typeDescriptions": {} - } - }, - "id": 76766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36215:128:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36187:157:173", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76775, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 76767, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36345:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76768, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36364:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "36345:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 76770, - "indexExpression": { - "id": 76769, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74953, - "src": "36372:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36345:56:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76772, - "indexExpression": { - "id": 76771, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74965, - "src": "36402:25:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36345:83:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "36187:242:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76776, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76691, - "src": "36433:6:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36187:252:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76778, - "nodeType": "ExpressionStatement", - "src": "36187:252:173" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76782, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "36624:3:173", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36628:6:173", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "36624:10:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76784, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36636:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76785, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36655:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "36636:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "id": 76781, - "name": "Context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56259, - "src": "36616:7:173", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,uint256[] memory[] memory)" - } - }, - "id": 76786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36616:47:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76787, - "nodeType": "EmitStatement", - "src": "36611:52:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 76788, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "36894:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36913:3:173", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 75004, - "src": "36894:22:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36917:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "36894:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36926:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "36894:33:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76807, - "nodeType": "IfStatement", - "src": "36890:470:173", - "trueBody": { - "id": 76806, - "nodeType": "Block", - "src": "36929:431:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76800, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "37296:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37315:9:173", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 75001, - "src": "37296:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "expression": { - "id": 76802, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "37326:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37345:3:173", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 75004, - "src": "37326:22:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76793, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "37270:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37276:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "37270:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37286:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "37270:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 76799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37292:3:173", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 56285, - "src": "37270:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 76804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37270:79:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76805, - "nodeType": "ExpressionStatement", - "src": "37270:79:173" - } - ] - } - }, - { - "condition": { - "expression": { - "id": 76808, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "37518:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76809, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37524:8:173", - "memberName": "handleIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 77240, - "src": "37518:14:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76858, - "nodeType": "IfStatement", - "src": "37514:1473:173", - "trueBody": { - "id": 76857, - "nodeType": "Block", - "src": "37534:1453:173", - "statements": [ - { - "assignments": [ - 76814, - 76817 - ], - "declarations": [ - { - "constant": false, - "id": 76814, - "mutability": "mutable", - "name": "handleIOStack", - "nameLocation": "38009:13:173", - "nodeType": "VariableDeclaration", - "scope": 76857, - "src": "37992:30:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37992:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76813, - "nodeType": "ArrayTypeName", - "src": "37992:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76817, - "mutability": "mutable", - "name": "handleIOKVs", - "nameLocation": "38041:11:173", - "nodeType": "VariableDeclaration", - "scope": 76857, - "src": "38024:28:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38024:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76816, - "nodeType": "ArrayTypeName", - "src": "38024:9:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76835, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76822, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38106:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38112:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38106:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38122:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "38106:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "expression": { - "id": 76825, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "38145:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38164:9:173", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 75001, - "src": "38145:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 76828, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38209:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38215:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38209:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38225:10:173", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 57309, - "src": "38209:26:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76827, - "name": "_handleIODispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77033, - "src": "38191:17:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 76831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38191:45:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - { - "expression": { - "id": 76832, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "38254:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38273:7:173", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 74998, - "src": "38254:26:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76818, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38056:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38062:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38056:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38072:11:173", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 57304, - "src": "38056:27:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "id": 76821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38084:4:173", - "memberName": "eval", - "nodeType": "MemberAccess", - "referencedDeclaration": 56346, - "src": "38056:32:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$56297_$_t_userDefinedValueType$_StateNamespace_$56306_$_t_userDefinedValueType$_EncodedDispatch_$56304_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,StateNamespace,EncodedDispatch,uint256[] memory[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 76834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38056:238:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37991:303:173" - }, - { - "expression": { - "components": [ - { - "id": 76836, - "name": "handleIOStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76814, - "src": "38367:13:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 76837, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38366:15:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76838, - "nodeType": "ExpressionStatement", - "src": "38366:15:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76839, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76817, - "src": "38505:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38517:6:173", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "38505:18:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38526:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38505:22:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76856, - "nodeType": "IfStatement", - "src": "38501:476:173", - "trueBody": { - "id": 76855, - "nodeType": "Block", - "src": "38529:448:173", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76850, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76694, - "src": "38920:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38939:9:173", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 75001, - "src": "38920:28:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - { - "id": 76852, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76817, - "src": "38950:11:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76843, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76687, - "src": "38894:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38900:9:173", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 77243, - "src": "38894:15:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Evaluable_$57310_memory_ptr", - "typeString": "struct Evaluable memory" - } - }, - "id": 76848, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38910:5:173", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 57307, - "src": "38894:21:173", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 76849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38916:3:173", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 56285, - "src": "38894:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$56306_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 76853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38894:68:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76854, - "nodeType": "ExpressionStatement", - "src": "38894:68:173" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 76684, - "nodeType": "StructuredDocumentation", - "src": "34760:563:173", - "text": "Given an order, final input and output amounts and the IO calculation\n verbatim from `_calculateOrderIO`, dispatch the handle IO entrypoint if\n it exists and update the order owner's vault balances.\n @param order The order that is being cleared.\n @param input The exact token input amount to move into the owner's\n vault.\n @param output The exact token output amount to move out of the owner's\n vault.\n @param orderIOCalculation The verbatim order IO calculation returned by\n `_calculateOrderIO`." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recordVaultIO", - "nameLocation": "35337:13:173", - "parameters": { - "id": 76695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76687, - "mutability": "mutable", - "name": "order", - "nameLocation": "35373:5:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35360:18:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order" - }, - "typeName": { - "id": 76686, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76685, - "name": "Order", - "nameLocations": [ - "35360:5:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77252, - "src": "35360:5:173" - }, - "referencedDeclaration": 77252, - "src": "35360:5:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_storage_ptr", - "typeString": "struct Order" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76689, - "mutability": "mutable", - "name": "input", - "nameLocation": "35396:5:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35388:13:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35388:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76691, - "mutability": "mutable", - "name": "output", - "nameLocation": "35419:6:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35411:14:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35411:7:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76694, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "35461:18:173", - "nodeType": "VariableDeclaration", - "scope": 76860, - "src": "35435:44:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76693, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76692, - "name": "OrderIOCalculation", - "nameLocations": [ - "35435:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "35435:18:173" - }, - "referencedDeclaration": 75005, - "src": "35435:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "35350:135:173" - }, - "returnParameters": { - "id": 76696, - "nodeType": "ParameterList", - "parameters": [], - "src": "35495:0:173" - }, - "scope": 77034, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76886, - "nodeType": "FunctionDefinition", - "src": "39537:486:173", - "nodes": [], - "body": { - "id": 76885, - "nodeType": "Block", - "src": "39759:264:173", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76874, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76871, - "src": "39794:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - { - "id": 76875, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76864, - "src": "39812:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 76876, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76867, - "src": "39837:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76873, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77001, - "src": "39769:24:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" - } - }, - "id": 76877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39769:90:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76878, - "nodeType": "ExpressionStatement", - "src": "39769:90:173" - }, - { - "expression": { - "arguments": [ - { - "id": 76880, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76871, - "src": "39951:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - { - "id": 76881, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76867, - "src": "39969:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - { - "id": 76882, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76864, - "src": "39992:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - ], - "id": 76879, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77001, - "src": "39926:24:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_ClearStateChange_$77301_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$_t_struct$_OrderIOCalculation_$75005_memory_ptr_$returns$__$", - "typeString": "function (struct ClearStateChange memory,struct OrderIOCalculation memory,struct OrderIOCalculation memory) pure" - } - }, - "id": 76883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39926:90:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76884, - "nodeType": "ExpressionStatement", - "src": "39926:90:173" - } - ] - }, - "documentation": { - "id": 76861, - "nodeType": "StructuredDocumentation", - "src": "38999:533:173", - "text": "Calculates the clear state change given both order calculations for order\n alice and order bob. The input of each is their output multiplied by\n their IO ratio and the output of each is the smaller of their maximum\n output and the counterparty IO * max output.\n @param aliceOrderIOCalculation Order calculation for Alice.\n @param bobOrderIOCalculation Order calculation for Bob.\n @return clearStateChange The clear state change with absolute inputs and\n outputs for Alice and Bob." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateChange", - "nameLocation": "39546:25:173", - "parameters": { - "id": 76868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76864, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "39607:23:173", - "nodeType": "VariableDeclaration", - "scope": 76886, - "src": "39581:49:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76863, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76862, - "name": "OrderIOCalculation", - "nameLocations": [ - "39581:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "39581:18:173" - }, - "referencedDeclaration": 75005, - "src": "39581:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76867, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "39666:21:173", - "nodeType": "VariableDeclaration", - "scope": 76886, - "src": "39640:47:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76866, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76865, - "name": "OrderIOCalculation", - "nameLocations": [ - "39640:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "39640:18:173" - }, - "referencedDeclaration": 75005, - "src": "39640:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "39571:122:173" - }, - "returnParameters": { - "id": 76872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76871, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "39741:16:173", - "nodeType": "VariableDeclaration", - "scope": 76886, - "src": "39717:40:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 76870, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76869, - "name": "ClearStateChange", - "nameLocations": [ - "39717:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77301, - "src": "39717:16:173" - }, - "referencedDeclaration": 77301, - "src": "39717:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "src": "39716:42:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77001, - "nodeType": "FunctionDefinition", - "src": "40029:2055:173", - "nodes": [], - "body": { - "id": 77000, - "nodeType": "Block", - "src": "40249:1835:173", - "nodes": [], - "statements": [ - { - "assignments": [ - 76900 - ], - "declarations": [ - { - "constant": false, - "id": 76900, - "mutability": "mutable", - "name": "bobInputMax18", - "nameLocation": "40466:13:173", - "nodeType": "VariableDeclaration", - "scope": 77000, - "src": "40452:27:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 76899, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76898, - "name": "Input18Amount", - "nameLocations": [ - "40452:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "40452:13:173" - }, - "referencedDeclaration": 75009, - "src": "40452:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76916, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76909, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "40600:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76910, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40622:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "40600:29:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 76911, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "40631:4:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", - "typeString": "type(library Math)" - } - }, - "id": 76912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40636:8:173", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45957, - "src": "40631:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 76913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40645:2:173", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45955, - "src": "40631:16:173", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 76905, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "40536:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40558:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "40536:31:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76903, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "40514:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40529:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40514:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40514:54:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40569:13:173", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 71318, - "src": "40514:68:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 76914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40514:147:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76901, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "40482:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40496:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "40482:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 76915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40482:189:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40452:219:173" - }, - { - "assignments": [ - 76919 - ], - "declarations": [ - { - "constant": false, - "id": 76919, - "mutability": "mutable", - "name": "aliceOutputMax18", - "nameLocation": "40696:16:173", - "nodeType": "VariableDeclaration", - "scope": 77000, - "src": "40681:31:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76918, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76917, - "name": "Output18Amount", - "nameLocations": [ - "40681:14:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75007, - "src": "40681:14:173" - }, - "referencedDeclaration": 75007, - "src": "40681:14:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76922, - "initialValue": { - "expression": { - "id": 76920, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "40715:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76921, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40739:9:173", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 74992, - "src": "40715:33:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "40681:67:173" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 76925, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "40861:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76923, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "40839:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40854:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40839:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40839:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 76929, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76900, - "src": "40902:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76927, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "40881:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40895:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40881:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40881:35:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40839:77:173", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76943, - "nodeType": "IfStatement", - "src": "40835:183:173", - "trueBody": { - "id": 76942, - "nodeType": "Block", - "src": "40918:100:173", - "statements": [ - { - "expression": { - "id": 76940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76932, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "40932:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 76937, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76900, - "src": "40992:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76935, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "40971:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40985:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "40971:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40971:35:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76933, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "40951:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "40966:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "40951:19:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40951:56:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "src": "40932:75:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - }, - "id": 76941, - "nodeType": "ExpressionStatement", - "src": "40932:75:173" - } - ] - } - }, - { - "expression": { - "id": 76961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76944, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41149:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "41166:11:173", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77294, - "src": "41149:28:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 76952, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "41240:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41264:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 74987, - "src": "41240:29:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41270:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "41240:42:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76957, - "indexExpression": { - "expression": { - "id": 76955, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "41283:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41307:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 74989, - "src": "41283:37:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "41240:81:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41322:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "41240:90:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 76959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "41332:1:173", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "arguments": [ - { - "id": 76949, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "41202:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76947, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "41180:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41195:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41180:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41180:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41220:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "41180:46:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 76960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41180:163:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41149:194:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76962, - "nodeType": "ExpressionStatement", - "src": "41149:194:173" - }, - { - "assignments": [ - 76965 - ], - "declarations": [ - { - "constant": false, - "id": 76965, - "mutability": "mutable", - "name": "aliceInput18", - "nameLocation": "41446:12:173", - "nodeType": "VariableDeclaration", - "scope": 77000, - "src": "41432:26:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 76964, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76963, - "name": "Input18Amount", - "nameLocations": [ - "41432:13:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75009, - "src": "41432:13:173" - }, - "referencedDeclaration": 75009, - "src": "41432:13:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76980, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76973, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76892, - "src": "41547:23:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41571:7:173", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74994, - "src": "41547:31:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 76975, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46816, - "src": "41580:4:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46816_$", - "typeString": "type(library Math)" - } - }, - "id": 76976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41585:8:173", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 45957, - "src": "41580:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$45957_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 76977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41594:2:173", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 45955, - "src": "41580:16:173", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$45957", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 76970, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76919, - "src": "41515:16:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$75007", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76968, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75007, - "src": "41493:14:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$75007_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41508:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41493:21:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$75007_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41493:39:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41533:13:173", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 71318, - "src": "41493:53:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$45957_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 76978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41493:104:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76966, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "41461:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41475:4:173", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "41461:18:173", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 76979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41461:146:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "41432:175:173" - }, - { - "expression": { - "id": 76998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76981, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76889, - "src": "41617:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 76983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "41634:10:173", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 77298, - "src": "41617:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 76989, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "41966:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41988:5:173", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 74987, - "src": "41966:27:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$77252_memory_ptr", - "typeString": "struct Order memory" - } - }, - "id": 76991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41994:12:173", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 77251, - "src": "41966:40:173", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$77222_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76994, - "indexExpression": { - "expression": { - "id": 76992, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76895, - "src": "42007:21:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation memory" - } - }, - "id": 76993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42029:13:173", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 74989, - "src": "42007:35:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "41966:77:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$77222_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76995, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42044:8:173", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 77219, - "src": "41966:86:173", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 76996, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71273, - "src": "42054:13:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 76986, - "name": "aliceInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76965, - "src": "41932:12:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$75009", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76984, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75009, - "src": "41911:13:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$75009_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "41925:6:173", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "41911:20:173", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$75009_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41911:34:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41946:6:173", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 71666, - "src": "41911:41:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 76997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41911:166:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "41617:460:173", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76999, - "nodeType": "ExpressionStatement", - "src": "41617:460:173" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateAlice", - "nameLocation": "40038:24:173", - "parameters": { - "id": 76896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76889, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "40096:16:173", - "nodeType": "VariableDeclaration", - "scope": 77001, - "src": "40072:40:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 76888, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76887, - "name": "ClearStateChange", - "nameLocations": [ - "40072:16:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 77301, - "src": "40072:16:173" - }, - "referencedDeclaration": 77301, - "src": "40072:16:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$77301_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76892, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "40148:23:173", - "nodeType": "VariableDeclaration", - "scope": 77001, - "src": "40122:49:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76891, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76890, - "name": "OrderIOCalculation", - "nameLocations": [ - "40122:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "40122:18:173" - }, - "referencedDeclaration": 75005, - "src": "40122:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76895, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "40207:21:173", - "nodeType": "VariableDeclaration", - "scope": 77001, - "src": "40181:47:173", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_memory_ptr", - "typeString": "struct OrderIOCalculation" - }, - "typeName": { - "id": 76894, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76893, - "name": "OrderIOCalculation", - "nameLocations": [ - "40181:18:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75005, - "src": "40181:18:173" - }, - "referencedDeclaration": 75005, - "src": "40181:18:173", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculation_$75005_storage_ptr", - "typeString": "struct OrderIOCalculation" - } - }, - "visibility": "internal" - } - ], - "src": "40062:172:173" - }, - "returnParameters": { - "id": 76897, - "nodeType": "ParameterList", - "parameters": [], - "src": "40249:0:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77017, - "nodeType": "FunctionDefinition", - "src": "42090:213:173", - "nodes": [], - "body": { - "id": 77016, - "nodeType": "Block", - "src": "42184:119:173", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77011, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77003, - "src": "42227:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77012, - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74905, - "src": "42240:26:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - { - "id": 77013, - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74921, - "src": "42268:27:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 77009, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57276, - "src": "42201:18:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 77010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42220:6:173", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57227, - "src": "42201:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 77014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42201:95:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 77008, - "id": 77015, - "nodeType": "Return", - "src": "42194:102:173" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateOrderDispatch", - "nameLocation": "42099:23:173", - "parameters": { - "id": 77004, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77003, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "42131:11:173", - "nodeType": "VariableDeclaration", - "scope": 77017, - "src": "42123:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77002, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "42123:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "42122:21:173" - }, - "returnParameters": { - "id": 77008, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77007, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77017, - "src": "42167:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 77006, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77005, - "name": "EncodedDispatch", - "nameLocations": [ - "42167:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56304, - "src": "42167:15:173" - }, - "referencedDeclaration": 56304, - "src": "42167:15:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "42166:17:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77033, - "nodeType": "FunctionDefinition", - "src": "42309:195:173", - "nodes": [], - "body": { - "id": 77032, - "nodeType": "Block", - "src": "42397:107:173", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77027, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77019, - "src": "42440:11:173", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77028, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74913, - "src": "42453:20:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - { - "id": 77029, - "name": "HANDLE_IO_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74929, - "src": "42475:21:173", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 77025, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57276, - "src": "42414:18:173", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 77026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42433:6:173", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57227, - "src": "42414:25:173", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$returns$_t_userDefinedValueType$_EncodedDispatch_$56304_$", - "typeString": "function (address,SourceIndex,uint16) pure returns (EncodedDispatch)" - } - }, - "id": 77030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42414:83:173", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 77024, - "id": 77031, - "nodeType": "Return", - "src": "42407:90:173" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_handleIODispatch", - "nameLocation": "42318:17:173", - "parameters": { - "id": 77020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77019, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "42344:11:173", - "nodeType": "VariableDeclaration", - "scope": 77033, - "src": "42336:19:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "42336:7:173", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "42335:21:173" - }, - "returnParameters": { - "id": 77024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77023, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77033, - "src": "42380:15:173", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 77022, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77021, - "name": "EncodedDispatch", - "nameLocations": [ - "42380:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56304, - "src": "42380:15:173" - }, - "referencedDeclaration": 56304, - "src": "42380:15:173", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "42379:17:173" - }, - "scope": 77034, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 75011, - "name": "IOrderBookV3", - "nameLocations": [ - "9019:12:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78111, - "src": "9019:12:173" - }, - "id": 75012, - "nodeType": "InheritanceSpecifier", - "src": "9019:12:173" - }, - { - "baseName": { - "id": 75013, - "name": "ReentrancyGuard", - "nameLocations": [ - "9033:15:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43711, - "src": "9033:15:173" - }, - "id": 75014, - "nodeType": "InheritanceSpecifier", - "src": "9033:15:173" - }, - { - "baseName": { - "id": 75015, - "name": "Multicall", - "nameLocations": [ - "9050:9:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45220, - "src": "9050:9:173" - }, - "id": 75016, - "nodeType": "InheritanceSpecifier", - "src": "9050:9:173" - }, - { - "baseName": { - "id": 75017, - "name": "OrderBookV3FlashLender", - "nameLocations": [ - "9061:22:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74569, - "src": "9061:22:173" - }, - "id": 75018, - "nodeType": "InheritanceSpecifier", - "src": "9061:22:173" - }, - { - "baseName": { - "id": 75019, - "name": "DeployerDiscoverableMetaV2", - "nameLocations": [ - "9085:26:173" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55357, - "src": "9085:26:173" - }, - "id": 75020, - "nodeType": "InheritanceSpecifier", - "src": "9085:26:173" - } - ], - "canonicalName": "OrderBook", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 75010, - "nodeType": "StructuredDocumentation", - "src": "8929:68:173", - "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 77034, - 55357, - 71994, - 74569, - 45220, - 43711, - 78111, - 56260, - 77828 - ], - "name": "OrderBook", - "nameLocation": "9006:9:173", - "scope": 77035, - "usedErrors": [ - 56523, - 56806, - 71974, - 71979, - 74225, - 74228, - 74231, - 74236, - 74245, - 74856, - 74863, - 74870, - 74877, - 74884, - 74889, - 77842, - 77883, - 77892, - 77897, - 77902, - 77907, - 77912 - ] - } - ], - "license": "CAL" - }, - "id": 173 -} \ No newline at end of file diff --git a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json b/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json deleted file mode 100644 index 43b5e658d8..0000000000 --- a/subgraph/tests/generated/RainterpreterExpressionDeployerNP.json +++ /dev/null @@ -1,9692 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "internalType": "bytes", - "name": "authoringMeta", - "type": "bytes" - } - ], - "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", - "name": "config", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expected", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actual", - "type": "bytes32" - } - ], - "name": "AuthoringMetaHashMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "name": "BadDynamicLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calculatedInputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bytecodeInputs", - "type": "uint256" - } - ], - "name": "BadOpInputsLength", - "type": "error" - }, - { - "inputs": [], - "name": "DanglingSource", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "DecimalLiteralOverflow", - "type": "error" - }, - { - "inputs": [], - "name": "DuplicateFingerprint", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "errorOffset", - "type": "uint256" - } - ], - "name": "DuplicateLHSItem", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "entrypointIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minOutputs", - "type": "uint256" - } - ], - "name": "EntrypointMinOutputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedEntrypoints", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualEntrypoints", - "type": "uint256" - } - ], - "name": "EntrypointMissing", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "entrypointIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "inputsLength", - "type": "uint256" - } - ], - "name": "EntrypointNonZeroInput", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "ExcessLHSItems", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "ExcessRHSItems", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "ExpectedLeftParen", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "ExpectedOperand", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "HexLiteralOverflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "MalformedCommentStart", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "MalformedExponentDigits", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "MalformedHexLiteral", - "type": "error" - }, - { - "inputs": [], - "name": "MaxSources", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "MissingFinalSemi", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "NotAcceptingInputs", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "OddLengthHexLiteral", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "OperandOverflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantRead", - "type": "uint256" - } - ], - "name": "OutOfBoundsConstantRead", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackRead", - "type": "uint256" - } - ], - "name": "OutOfBoundsStackRead", - "type": "error" - }, - { - "inputs": [], - "name": "ParenOverflow", - "type": "error" - }, - { - "inputs": [], - "name": "ParserOutOfBounds", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "name": "SourceOffsetOutOfBounds", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackMaxIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bytecodeAllocation", - "type": "uint256" - } - ], - "name": "StackAllocationMismatch", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bytecodeOutputs", - "type": "uint256" - } - ], - "name": "StackOutputsMismatch", - "type": "error" - }, - { - "inputs": [], - "name": "StackOverflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackHighwater", - "type": "uint256" - } - ], - "name": "StackUnderflowHighwater", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnclosedLeftParen", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnclosedOperand", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnexpectedComment", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "name": "UnexpectedInterpreterBytecodeHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnexpectedLHSChar", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualOpMeta", - "type": "bytes32" - } - ], - "name": "UnexpectedOpMetaHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnexpectedOperand", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "actualPointers", - "type": "bytes" - } - ], - "name": "UnexpectedPointers", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnexpectedRHSChar", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnexpectedRightParen", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "name": "UnexpectedStoreBytecodeHash", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnknownWord", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "UnsupportedLiteralType", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "word", - "type": "string" - } - ], - "name": "WordSize", - "type": "error" - }, - { - "inputs": [], - "name": "WriteError", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "ZeroLengthDecimal", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "ZeroLengthHexLiteral", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "opMeta", - "type": "bytes" - } - ], - "name": "DISpair", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "expression", - "type": "address" - } - ], - "name": "ExpressionAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "name": "NewExpression", - "type": "event" - }, - { - "inputs": [], - "name": "authoringMetaHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "authoringMeta", - "type": "bytes" - } - ], - "name": "buildParseMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "name": "deployExpression", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "iInterpreter", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "iStore", - "outputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "name": "integrityCheck", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "integrityFunctionPointers", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "parse", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "parseMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b5060405162004b1f38038062004b1f833981016040819052620000349162000449565b805160208201516001600160a01b03808316608081905290821660a0526040805163f933c72f60e01b815290516000929163f933c72f91600480830192869291908290030181865afa1580156200008f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000b99190810190620004fa565b905060405180608001604052806052815260200162004acd6052913980519060200120818051906020012014620001105780604051634c1af20160e11b815260040162000107919062000568565b60405180910390fd5b823f7faa8f18bb20fc23e48b3d51bcb3ed2a06b174be576927d4cc0554fd5e781f7b1981146200015757604051630eec293f60e11b81526004810182905260240162000107565b823f7fd6130168250d3957ae34f8026c2bdbd7e21d35bb202e8540a9b3abcbc232ddb681146200019e5760405163cc0415fd60e01b81526004810182905260240162000107565b604086015180516020909101207fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb18114620001f0576040516343d0fe5760e11b81526004810182905260240162000107565b7f1788931a083e1bfada6cb062b5426ea97c7866b814b4d1173909e4018f2122f1333088888b604001516040516200022d95949392919062000584565b60405180910390a1604080518082018252601581527f4945787072657373696f6e4465706c6f79657256320000000000000000000000602082015290516365ba36c160e01b8152731820a4b7618bde71dce8cdc73aab6c95905fad24916329965a1d91309184916365ba36c191620002a89160040162000568565b602060405180830381865afa158015620002c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ec9190620005cd565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152306044820152606401600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505050505050505050620005e7565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200038d57600080fd5b919050565b60005b83811015620003af57818101518382015260200162000395565b50506000910152565b600082601f830112620003ca57600080fd5b81516001600160401b0380821115620003e757620003e76200035f565b604051601f8301601f19908116603f011681019082821181831017156200041257620004126200035f565b816040528381528660208588010111156200042c57600080fd5b6200043f84602083016020890162000392565b9695505050505050565b6000602082840312156200045c57600080fd5b81516001600160401b03808211156200047457600080fd5b90830190606082860312156200048957600080fd5b604051606081018181108382111715620004a757620004a76200035f565b604052620004b58362000375565b8152620004c56020840162000375565b6020820152604083015182811115620004dd57600080fd5b620004eb87828601620003b8565b60408301525095945050505050565b6000602082840312156200050d57600080fd5b81516001600160401b038111156200052457600080fd5b6200053284828501620003b8565b949350505050565b600081518084526200055481602086016020860162000392565b601f01601f19169290920160200192915050565b6020815260006200057d60208301846200053a565b9392505050565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a060808201819052600090620005c2908301846200053a565b979650505050505050565b600060208284031215620005e057600080fd5b5051919050565b60805160a0516144b26200061b60003960008181610190015261044d0152600081816101f1015261042a01526144b26000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063c19423bc11610076578063f0cfdd371161005b578063f0cfdd37146101ec578063fab4087a14610213578063ffc257041461023457600080fd5b8063c19423bc1461018b578063cbb7d173146101d757600080fd5b80638d614591116100a75780638d61459114610135578063a600bd0a1461014a578063b6c7175a1461015d57600080fd5b806301ffc9a7146100c357806331a66b65146100eb575b600080fd5b6100d66100d1366004613d18565b61023c565b60405190151581526020015b60405180910390f35b6100fe6100f9366004613f2e565b6102d5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016100e2565b61013d61047c565b6040516100e29190614024565b61013d610158366004614037565b61048b565b6040517fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb181526020016100e2565b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101ea6101e5366004613f2e565b610547565b005b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b610226610221366004614037565b610570565b6040516100e29291906140a7565b61013d61058d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f31a66b650000000000000000000000000000000000000000000000000000000014806102cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060006102e5868686610547565b7f4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf3387878760405161031a94939291906140d5565b60405180910390a18451865160009182916103bd916020020160400160408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b915091506103cc8189896105ae565b60006103d7836105ec565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000095507f00000000000000000000000000000000000000000000000000000000000000009450925050505b93509350939050565b606061048661065a565b905090565b805160208201206060907fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1811461051c576040517f26cc0fec0000000000000000000000000000000000000000000000000000000081527fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb16004820152602481018290526044015b60405180910390fd5b6000838060200190518101906105329190614135565b905061053f816002610837565b949350505050565b61056b60405180608001604052806052815260200161437160529139848484610b64565b505050565b6060806105848361057f61058d565b610f23565b91509150915091565b606060405180610120016040528060ef81526020016143c360ef9139905090565b80600182510160200281015b808210156105d55781518552602094850194909101906105ba565b505061056b6105e18390565b84845160200161178b565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610653576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060613d0e60006029905080915060006040518061054001604052808467ffffffffffffffff1667ffffffffffffffff1681526020016117f1815260200161186b81526020016118d281526020016118dc81526020016118d281526020016118d281526020016118d281526020016118d281526020016118d281526020016118e681526020016119088152602001611932815260200161195481526020016118e681526020016119548152602001611954815260200161195e8152602001611968815260200161195481526020016119548152602001611971815260200161197181526020016119548152602001611968815260200161196881526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119688152602001611988815260200161199281526020016119928152509050606081905060298151146108255780516040517fc8b56901000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052604401610513565b61082e816119a1565b94505050505090565b6060808060008060ff861667ffffffffffffffff81111561085a5761085a613d61565b604051908082528060200260200182016040528015610883578160200160208202803683370190505b5093508560ff1667ffffffffffffffff8111156108a2576108a2613d61565b6040519080825280602002602001820160405280156108cb578160200160208202803683370190505b509250865b805115610940576000806108e383611a32565b8951909550919350915082908890869081106109015761090161429b565b602002602001019060ff16908160ff1681525050808685815181106109285761092861429b565b602090810291909101015250506001909101906108d0565b5060006005885102602183026001010190508067ffffffffffffffff81111561096b5761096b613d61565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b50955081602087015360005b828110156109d357806021026021880101816020026020018701518153602080830287010151600191820152016109a1565b50506021028401600601905060005b8651811015610b5a576000805b6000806000878581518110610a0657610a0661429b565b60200260200101519050600080610a568b8881518110610a2857610a2861429b565b602002602001015160ff168f8a81518110610a4557610a4561429b565b602002602001015160000151611b60565b925090506005600087610a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85018716611b82565b01919091028a01805190955062ffffff84811693501690508015610b0157818103610ae3576040517f59293c5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190970196610af284611b82565b870196505050505050506109ef565b8195505050505060188b8681518110610b1c57610b1c61429b565b60200260200101516020015160ff16901b602086901b17821791506000600160056001901b03199050828183511617825250505050506001016109e2565b5050505092915050565b6000610b6f84611c5b565b90508082511115610bb95781516040517ffd9e1af4000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610513565b6020850160005b82811015610f1a576000610bd48783611c79565b90506000610be28884611c92565b90508551831015610cb2578115610c2f576040517fee8d10810000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610513565b858381518110610c4157610c4161429b565b6020026020010151811015610cb2578281878581518110610c6457610c6461429b565b60200260200101516040517ff7dd619f000000000000000000000000000000000000000000000000000000008152600401610513939291909283526020830191909152604082015260600190565b6000610cc089848a51611cab565b905060006018610cd08b87611d17565b0390506000610cdf8b87611d48565b600402820190505b80821015610e64578151601c81901a60020288015162ffffff821691601d1a9060f01c600080610d15888685565b91509150838214610d695760808801516040517fddf5607100000000000000000000000000000000000000000000000000000000815260048101919091526024810183905260448101859052606401610513565b8751821115610dbb57608088015188516040517f2cab6bff0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101839052606401610513565b875182900380895260408901511115610e1d57608088015188516040808b015190517f1bc5ab0f000000000000000000000000000000000000000000000000000000008152600481019390935260248301919091526044820152606401610513565b8751810180895260208901511015610e3757875160208901525b6001811115610e4857875160408901525b5050506080850180516001019052505060049190910190610ce7565b610e6e8b87611d61565b836020015114610ec2578260200151610e878c88611d61565b6040517f4d9c18dc00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610513565b82518414610f095782516040517f4689f0b3000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052604401610513565b505060019093019250610bc0915050565b50505050505050565b6060806000610f30611d7a565b85519091501561176c578451600090602087810191880101825b818310156116c9576001835160001a1b905060018560e001511660000361125b576f07fffffe8000000000000000000000008116156111035760e085015160021615610feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f5520a51700000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6f07fffffe0000000000000000000000008116156110975761101d836f07fffffe0000000003ff200000000000611ee9565b9450925060008061102e8787611f9a565b915091508115611090576040517f53e6feba0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8703016004820152602401610513565b50506110b8565b6110b560018401836f07fffffe0000000003ff200000000000612011565b92505b604085018051600190810190915260a086018051909101905260e0850180516022177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef169052610f4a565b640100002600811615611154576111236001840183640100002600612011565b60e0860180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1690529250610f4a565b67040000000000000081161561119d5760e0850180516021177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed16905260019290920191610f4a565b658000000000008116156112315760108560e0015116600003611215578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517fedad0c5800000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b61121f898461203d565b60e08601805160021790529250610f4a565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610fb6565b6f07fffffe0000000000000000000000008116156113f05760e0850151600216156112db578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f4e803df600000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6112f5836f07fffffe0000000003ff200000000000611ee9565b8095508194505050600080613d0e6113138b896101a0015189612149565b92509250925082156113565760006113358961018001518e898563ffffffff16565b9097509050611345898483612215565b5060e08801805160041790526113dd565b6113608888612352565b909350915082156113855761137788600084612215565b611380886123cd565b6113dd565b6040517f81bd48db0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8803016004820152602401610513565b50505060e0850180516002179052610f4a565b60e0850151600416156114e657650100000000008116600003611465576040517f23b5c6ea0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b60608501805160001a60030190819053603b8111156114b0576040517f6232f2d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060e0850180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9169052600190920191610f4a565b650200000000008116156115b7576000606086015160001a905080600003611560576040517f7f9db5420000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8603016004820152602401610513565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd01606086018181538160048201015160001a8260028301015160f01c60010153506115ab866123cd565b50600190920191610f4a565b6401000026008116156115d7576111236001840183640100002600612011565b6703ff00000000000081161561160d576115f2858a85612430565b92506115fd856123cd565b60e0850180516002179052610f4a565b6510000000000081161561163157611626858a85612582565b600190920191610f4a565b6708000000000000008116156116675761164c858a85612582565b61165585612855565b601860e0860152600190920191610f4a565b6580000000000081161561169f578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016111e0565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016112a6565b818314611702576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60e085015160201615611767576040517ff06f54cf0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b505050505b61177581612a97565b61177e82612bcf565b92509250505b9250929050565b6020810680820384015b808510156117b0578451845260209485019490930192611795565b5080156117eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c808451168119865116178452505b50505050565b815160009081908390811061184957608085015185516040517feaa16f330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101829052606401610513565b846040015181111561185d57604085018190525b506000946001945092505050565b600080836060015183106118c557608084015160608501516040517feb7894540000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101849052606401610513565b5060009360019350915050565b5060009160019150565b60101c9160019150565b600080601083901c806118fa5760016118fc565b805b95600195509350505050565b600080601083901c8061191c57600261191e565b805b905060028106156118fa57806001016118fc565b600080601083901c80611946576001611948565b805b95600095509350505050565b5060029160019150565b5060039160019150565b50600191829150565b600080601083901c600181116118fa5760026118fc565b5060029160009150565b60046001808316019250929050565b60606000825160020267ffffffffffffffff8111156119c2576119c2613d61565b6040519080825280601f01601f1916602001820160405280156119ec576020820181803683370190505b50905061ffff80196020850160208651028101600285015b81831015611a2657805183518616908516178152602090920191600201611a04565b50939695505050505050565b60008060606000805b60ff811015611ab3576000805b8751811015611a7a57600080611a6a858b8581518110610a4557610a4561429b565b5093909317925050600101611a48565b506000611a8682611b82565b905083811115611a9a578093508296508195505b87518103611aa9575050611ab3565b5050600101611a3b565b5084516040805192909103808352600101602002820190529050600080805b8651811015611b5657600080611af78860ff168a8581518110610a4557610a4561429b565b91509150848216600003611b0e5793811793611b4c565b888381518110611b2057611b2061429b565b6020026020010151868581518110611b3a57611b3a61429b565b60209081029190910101526001909301925b5050600101611ad2565b5050509193909250565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bb45750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b60008151600003611c6e57506000919050565b506020015160001a90565b600080611c868484611d17565b5160021a949350505050565b600080611c9f8484611d17565b5160031a949350505050565b611ce46040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001606081525090565b506040805160c081018252838152602081018490529081019290925260608201526000608082015260a081019190915290565b600080611d2384611c5b565b60020260010190506000611d378585612c44565b949091019093016020019392505050565b600080611d558484611d17565b5160001a949350505050565b600080611d6e8484611d17565b5160011a949350505050565b611df3604051806101e001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051806101e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016010600817815260200160008152602001600081526020016000815260200160008152602001611e6861333c60101b6130901790565b8152602001611e92613a7360401b61390260301b6137a660201b61369860101b6135fb1717171790565b8152600060209182018190526040805183815280840182528452918301819052908201819052606082018190526080820181905260a08201819052610100820181905261012082018190526101c082015292915050565b8151600090819060015b8419600183831a1b1615602082101615611f0f57600101611ef3565b9485019460208190036008810292831c90921b91611f9157604080516020810184905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b700000000000000000000000000000000000000000000000000000000825261051391600401614024565b50939492505050565b600080611fa78484612352565b90925090508161178457506101008301805160408051948552602080862092865285018152909401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909416601085901b62ff000016179092179091529160ff90911660010190565b60005b6000826001865160001a1b1611838510161561203557600184019350612014565b509192915050565b805160009060f01c612f2a81146120a6576040517f3e47169c0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858503016004820152602401610513565b835160029390930192602a90602f90860160200160005b80612103575b81871084885160001a141516156120df576001870196506120c3565b6001870196508187101583885160001a1417156120fe57506001958601955b6120bd565b508086111561213e576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509395945050505050565b600183810180516000928392613d0e92602160ff909116028801600681019201845b81831015612201576001830151602190930180519093600090819060ff168180612195838f611b60565b915091506000876121aa600185038916611b82565b016005028b015195505062ffffff90811693508416830391506121ec9050575060019850601b81901a9750601c1a8a901c61ffff169550610473945050505050565b6121f583611b82565b8401935050505061216b565b506000998a99508998509650505050505050565b61221e83612cbc565b60e08301805160207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79190911681179091528301516021600091821a850101805190911a600101815350825180516060850151600090811a86016061018051929361ffff85169360088504909103601c0192600191901a018153600060038201537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe30180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690911790528451602090920183821b176018820185901b179182905260e081900361234b578451604080518088526020601084901b81178252810190915281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000161790525b5050505050565b61010082015161012083015160008381526020808220919384939290911c91600160ff84161b808216156123b85761ffff83165b80156123b6578360201c85036123a9576001965061ffff8460101c1695506123b6565b51925061ffff8316612386565b505b17610120909601959095525090939092509050565b6000606082015160001a90508060000361242c5760208201805160001a600101908181535080603f0361056b576040517fa25cba3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000613d0e600080600061244a8861018001518888612d06565b8981038a206101408d015194985092965090945092507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016906001600083811a82901b929091908316156124f0576101608c015160101c5b80156124ee5780517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000811686036124dd5760019350506124ee565b505160019091019061ffff166124a2565b505b6101608c015161ffff1661251660018461250a578261250e565b8383035b8f9190612215565b508161257257604080518082019091526101608d015160101c8517815260006125448d8a8a63ffffffff8e16565b6020830152506101608d018051600161ffff9091160160109290921b9190911790526101408c018051841790525b50929a9950505050505050505050565b606083015160001a80156125e8576040517f6fb11cdc0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848403016004820152602401610513565b506125f283612cbc565b60e083018051603060089182161790915260a0840151602085015160ff8083169360f89290921c9290911c16810360008190036126bb5760088660e0015116600003612690576040517fab1d3ea70000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b90820160f881901b60208701526101c08601519091906126b09084612fc9565b6101c0870152612784565b60018111156127845780831015612724576040517f78ef27820000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80831115612784576040517f43168e680000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b8082036001016020601083028101905b818110156128405760a08901516020848b01015190821c61ffff169060001a60015b81811161282f5760208306601c036127cf57915160f01c915b82516101c08d015160019190911a906127e89082613011565b6101c08e015261281982841480156128005750886001145b61280b57600161280d565b8a5b6101c08f015190613058565b6101c08e015250600492909201916001016127b6565b505060019093019250601001612794565b5050505060081b60a090940193909352505050565b60c0810151602082015160f082811c9160001a600101908290036128a5576040517fa806284100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080856101c001519050855161ffff815160101c165b80156128d357805190915060101c61ffff166128bc565b50604051602188018051919450601c830192916004916024870191600090811a805b8a8310156129bb5760048202860195506004878903045b8082111561292a57965161ffff16601c81019850969003600761290c565b506004810297889003805186529794909401938103865b6007821115612986575160101c61ffff1680518652601c909501947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff990910190612941565b81156129a1575160101c61ffff168051865260048202909501945b505050600191820180519092919091019060001a806128f5565b50505050818652600486019350846001600484040360181b1763ffffffff19855116178452601f19601f820116604052505050506001846001901b612a0091906142f9565b851682851b60f0612a1287601061430c565b901b171760c087015260e0860180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf16905260408051602080825280820183529088526000908801819052908701819052606087018190526080870181905260a08701819052610100870181905261012087018190526101c0870152505050505050565b60c08101518151516060919060f082901c9060208114612ae3576040517f858f2dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051935060208401601083046000818353506001600885048301810192839101600080805b88811015612b425789811c61ffff81165163ffff0000601092831b16811760e01b8786015284019360f08390031b929092179101612b09565b50825117909152878203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08181018952908801601f011660405260005b82811015612bc3576002810288016003015161ffff90811683018051602060f082901c019260e09190911c1690612bb883828461178b565b505050600101612b80565b50505050505050919050565b6101608101516040805161ffff8316808252602080820283019081019093529092909160109190911c90835b80821115612c3b5760208301518252915161ffff16917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190612bfb565b50505050919050565b6002810282016003015161ffff166000612c5d84611c5b565b845190915060056002830284010190811180612c795750818410155b15612cb45784846040517fd3fc97bd00000000000000000000000000000000000000000000000000000000815260040161051392919061431f565b505092915050565b60208101805160001a6001810182015160001a61056b578251805160a085018051600861ffff939093169290920460200390920160106001601e84901a860301021b179052505050565b8051613d0e9060009081908190600181831a1b6703ff000000000000811615612f2857600182811a1b7ffffffffffffffffffffffffffffffffffeffffffffffffffffff00000000000082821701612de25760028801806c7e0000007e03ff0000000000005b806001835160001a1b1615612d8657600182019150612d6c565b508a5161ffff8d16908c0160200180831115612dce576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5098509096509450849350612fc092505050565b876001810160006703ff0000000000006c200000002000000000000000005b816001855160001a1b1615612e1b57600184019350612e01565b806001855160001a1b1615612e4c57600184019392505b816001855160001a1b1615612e4c57600184019350612e32565b50508015801590612e6b575080600301821180612e6b57508060010182145b15612ec8576040517f013b2aaa0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8303016004820152602401610513565b8b5161ffff60108f901c16908d0160200180841115612f13576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5099509197509550859450612fc09350505050565b87518801602001808810612f68576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fb0e4e5b30000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8a03016004820152602401610513565b93509350935093565b6000612fd58383613058565b9250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff821660ff600884811c919091168301901b1792915050565b600060ff831682811015613051576040517f04671d0000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050900390565b600060ff808416830190600885901c16601085901c808311156130785750815b601081901b600883901b841717935050505092915050565b600082820360408111156130f6576040517fff2f59490000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80600003613156576040517fc75cd5090000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b600281066001036131b9576040517fd76d9b570000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160005b858210613332578151600090811a906001821b906703ff00000000000082161561322c57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd082016132fc565b6c7e00000000000000000000000082161561326a57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa982016132fc565b687e00000000000000008216156132a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc982016132fc565b6040517f69f1e3e60000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8703016004820152602401610513565b831b959095179450507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906004016131df565b5050509392505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8101516000908190603090829080821a87870360038111801561339157506001821b6c200000002000000000000000001615155b156133b357600488039550600a858460011a0302858460021a0301935061345f565b8260011a91506002811180156133da57506001821b6c200000002000000000000000001615155b156133f257600388039550848360021a03935061345f565b8015613407576001880395506000935061345f565b6040517ffa65827e0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8b03016004820152602401610513565b5050505b8583101580156134735750604d81105b156134b857825160001a829003600a82900a0293909301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191600101613463565b85831061333257825160001a829003600181111561352b578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f8f2b5ffd00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b600a82900a8102858101861115613566578885037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b9490940193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201915b85831061333257825160001a603081146135d0578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191613592565b80516000908190600190821a1b7ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008101613687576040517ff8216c550000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b83600092509250505b935093915050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576136e76001860182640100002600612011565b945060006136f9888861ffff89613c11565b909650905061370e8683640100002600612011565b8051909650600160009190911a1b92506740000000000000008314613788578686037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f722cd24a00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6001860194509250613690915050565b846000935093505050613690565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a7576137f56001860182640100002600612011565b94506000613806888860ff89613c11565b90965090508061381c8784640100002600612011565b9650600061382d8a8a60ff8b613c11565b909850600881901b9290921791905061384c8885640100002600612011565b8051909850600160009190911a1b94506740000000000000008514613895578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b50600187019550935061369092505050565b8585037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f24027dc400000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576139516001860182640100002600612011565b80519095506001600091821a1b92507fffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000830161398f575060006139b4565b61399c8888600189613c11565b90965090506139b18683640100002600612011565b95505b85516001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000084016139ef57506000613a14565b6139fc898960018a613c11565b9097509050613a118784640100002600612011565b96505b8651600160009190911a81901b945081901b82176740000000000000008514613a61578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b60018801965094506136909350505050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a757613ac26001860182640100002600612011565b94506000613ad3888860ff89613c11565b9096509050613ae88683640100002600612011565b80519096506001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008401613b2657506000613b4b565b613b33898960018a613c11565b9097509050613b488784640100002600612011565b96505b86516001600091821a1b94507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008501613b8657506000613bab565b613b938a8a60018b613c11565b9098509050613ba88885640100002600612011565b97505b8751600160009190911a1b9450600882901b8317600982901b176740000000000000008614613bfe578989037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b6001890197509550613690945050505050565b80516000908190600190821a1b7fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008101613c6f578584037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016138cd565b613d0e6000806000613c828b8b8a612d06565b93509350935093506000613c9b8b85858863ffffffff16565b905089811115613cfd576040517f7480c7840000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8b03016004820152602401610513565b909b909a5098505050505050505050565b613d16614341565b565b600060208284031215613d2a57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613d5a57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715613db357613db3613d61565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613e0057613e00613d61565b604052919050565b600067ffffffffffffffff821115613e2257613e22613d61565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112613e5f57600080fd5b8135613e72613e6d82613e08565b613db9565b818152846020838601011115613e8757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115613ebe57613ebe613d61565b5060051b60200190565b600082601f830112613ed957600080fd5b81356020613ee9613e6d83613ea4565b82815260059290921b84018101918181019086841115613f0857600080fd5b8286015b84811015613f235780358352918301918301613f0c565b509695505050505050565b600080600060608486031215613f4357600080fd5b833567ffffffffffffffff80821115613f5b57600080fd5b613f6787838801613e4e565b94506020860135915080821115613f7d57600080fd5b613f8987838801613ec8565b93506040860135915080821115613f9f57600080fd5b50613fac86828701613ec8565b9150509250925092565b60005b83811015613fd1578181015183820152602001613fb9565b50506000910152565b60008151808452613ff2816020860160208601613fb6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613d5a6020830184613fda565b60006020828403121561404957600080fd5b813567ffffffffffffffff81111561406057600080fd5b61053f84828501613e4e565b600081518084526020808501945080840160005b8381101561409c57815187529582019590820190600101614080565b509495945050505050565b6040815260006140ba6040830185613fda565b82810360208401526140cc818561406c565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681526080602082015260006141046080830186613fda565b8281036040840152614116818661406c565b9050828103606084015261412a818561406c565b979650505050505050565b6000602080838503121561414857600080fd5b825167ffffffffffffffff8082111561416057600080fd5b818501915085601f83011261417457600080fd5b8151614182613e6d82613ea4565b81815260059190911b830184019084810190888311156141a157600080fd5b8585015b8381101561428e578051858111156141bd5760008081fd5b86016060818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156141f35760008081fd5b6141fb613d90565b89830151815260408084015160ff811681146142175760008081fd5b828c015291830151918883111561422e5760008081fd5b82840193508d603f85011261424557600092508283fd5b8a8401519250614257613e6d84613e08565b8381528e8285870101111561426c5760008081fd5b61427b848d8301848801613fb6565b90820152855250509186019186016141a5565b5098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156102cf576102cf6142ca565b808201808211156102cf576102cf6142ca565b6040815260006143326040830185613fda565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff510c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "sourceMap": "3924:7282:80:-:0;;;5267:2271;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5429:18;;5506:12;;;;-1:-1:-1;;;;;5529:26:80;;;;;;;5565:14;;;;;5768:30;;;-1:-1:-1;;;5768:30:80;;;;5385:26;;5529;5768:28;;:30;;;;;5385:26;;5768:30;;;;;;;5529:26;5768:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5768:30:80;;;;;;;;;;;;:::i;:::-;5736:62;;5853:24;;;;;;;;;;;;;;;;;5843:35;;;;;;5822:16;5812:27;;;;;;:66;5808:140;;5920:16;5901:36;;-1:-1:-1;;;5901:36:80;;;;;;;;:::i;:::-;;;;;;;;5808:140;6111:24;;2375:66;6158:44;;6154:247;;6340:50;;-1:-1:-1;;;6340:50:80;;;;;3231:25:212;;;3204:18;;6340:50:80;3085:177:212;6154:247:80;6547:18;;2535:66;6588:32;;6584:223;;6758:38;;-1:-1:-1;;;6758:38:80;;;;;3231:25:212;;;3204:18;;6758:38:80;3085:177:212;6584:223:80;7086:20;;;;7076:31;;;;;;;2695:66;7121:46;;7117:129;;7190:45;;-1:-1:-1;;;7190:45:80;;;;;3231:25:212;;;3204:18;;7190:45:80;3085:177:212;7117:129:80;7261:94;7269:10;7289:4;7304:11;7326:5;7334:6;:20;;;7261:94;;;;;;;;;;:::i;:::-;;;;;;;;7468:37;;;;;;;;;;;;;;;;7436:70;;-1:-1:-1;;;7436:70:80;;254:42:40;;7366:41:80;;7429:4;;254:42:40;;7436:31:80;;:70;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7366:165;;-1:-1:-1;;;;;;7366:165:80;;;;;;;-1:-1:-1;;;;;4521:15:212;;;7366:165:80;;;4503:34:212;4553:18;;;4546:34;7516:4:80;4596:18:212;;;4589:43;4438:18;;7366:165:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5344:2194;;;;;;5267:2271;3924:7282;;14:127:212;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:212;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:250::-;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:212;552:16;;545:27;328:250::o;583:698::-;636:5;689:3;682:4;674:6;670:17;666:27;656:55;;707:1;704;697:12;656:55;730:13;;-1:-1:-1;;;;;792:10:212;;;789:36;;;805:18;;:::i;:::-;880:2;874:9;848:2;934:13;;-1:-1:-1;;930:22:212;;;954:2;926:31;922:40;910:53;;;978:18;;;998:22;;;975:46;972:72;;;1024:18;;:::i;:::-;1064:10;1060:2;1053:22;1099:2;1091:6;1084:18;1145:3;1138:4;1133:2;1125:6;1121:15;1117:26;1114:35;1111:55;;;1162:1;1159;1152:12;1111:55;1175:76;1248:2;1241:4;1233:6;1229:17;1222:4;1214:6;1210:17;1175:76;:::i;:::-;1269:6;583:698;-1:-1:-1;;;;;;583:698:212:o;1286:957::-;1424:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:52;;;1493:1;1490;1483:12;1445:52;1520:16;;-1:-1:-1;;;;;1585:14:212;;;1582:34;;;1612:1;1609;1602:12;1582:34;1635:22;;;;1691:4;1673:16;;;1669:27;1666:47;;;1709:1;1706;1699:12;1666:47;1742:2;1736:9;1784:4;1776:6;1772:17;1839:6;1827:10;1824:22;1819:2;1807:10;1804:18;1801:46;1798:72;;;1850:18;;:::i;:::-;1886:2;1879:22;1925:33;1955:2;1925:33;:::i;:::-;1917:6;1910:49;1992:42;2030:2;2026;2022:11;1992:42;:::i;:::-;1987:2;1979:6;1975:15;1968:67;2074:2;2070;2066:11;2060:18;2103:2;2093:8;2090:16;2087:36;;;2119:1;2116;2109:12;2087:36;2156:55;2203:7;2192:8;2188:2;2184:17;2156:55;:::i;:::-;2151:2;2139:15;;2132:80;-1:-1:-1;2143:6:212;1286:957;-1:-1:-1;;;;;1286:957:212:o;2248:335::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2423:16;;-1:-1:-1;;;;;2451:30:212;;2448:50;;;2494:1;2491;2484:12;2448:50;2517:60;2569:7;2560:6;2549:9;2545:22;2517:60;:::i;:::-;2507:70;2248:335;-1:-1:-1;;;;2248:335:212:o;2588:270::-;2629:3;2667:5;2661:12;2694:6;2689:3;2682:19;2710:76;2779:6;2772:4;2767:3;2763:14;2756:4;2749:5;2745:16;2710:76;:::i;:::-;2840:2;2819:15;-1:-1:-1;;2815:29:212;2806:39;;;;2847:4;2802:50;;2588:270;-1:-1:-1;;2588:270:212:o;2863:217::-;3010:2;2999:9;2992:21;2973:4;3030:44;3070:2;3059:9;3055:18;3047:6;3030:44;:::i;:::-;3022:52;2863:217;-1:-1:-1;;;2863:217:212:o;3267:578::-;-1:-1:-1;;;;;3564:15:212;;;3546:34;;3616:15;;;3611:2;3596:18;;3589:43;3668:15;;;3663:2;3648:18;;3641:43;3720:15;;3715:2;3700:18;;3693:43;3526:3;3767;3752:19;;3745:32;;;3489:4;;3794:45;;3819:19;;3811:6;3794:45;:::i;:::-;3786:53;3267:578;-1:-1:-1;;;;;;;3267:578:212:o;4074:184::-;4144:6;4197:2;4185:9;4176:7;4172:23;4168:32;4165:52;;;4213:1;4210;4203:12;4165:52;-1:-1:-1;4236:16:212;;4074:184;-1:-1:-1;4074:184:212:o;4263:375::-;3924:7282:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063c19423bc11610076578063f0cfdd371161005b578063f0cfdd37146101ec578063fab4087a14610213578063ffc257041461023457600080fd5b8063c19423bc1461018b578063cbb7d173146101d757600080fd5b80638d614591116100a75780638d61459114610135578063a600bd0a1461014a578063b6c7175a1461015d57600080fd5b806301ffc9a7146100c357806331a66b65146100eb575b600080fd5b6100d66100d1366004613d18565b61023c565b60405190151581526020015b60405180910390f35b6100fe6100f9366004613f2e565b6102d5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016100e2565b61013d61047c565b6040516100e29190614024565b61013d610158366004614037565b61048b565b6040517fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb181526020016100e2565b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101ea6101e5366004613f2e565b610547565b005b6101b27f000000000000000000000000000000000000000000000000000000000000000081565b610226610221366004614037565b610570565b6040516100e29291906140a7565b61013d61058d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f31a66b650000000000000000000000000000000000000000000000000000000014806102cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60008060006102e5868686610547565b7f4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf3387878760405161031a94939291906140d5565b60405180910390a18451865160009182916103bd916020020160400160408051602c83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527effff0000000000000000000000000000000000000000000000000000000000600190920160e81b919091167f61000080600c6000396000f3000000000000000000000000000000000000000017815290600d820190565b915091506103cc8189896105ae565b60006103d7836105ec565b6040805133815273ffffffffffffffffffffffffffffffffffffffff831660208201529192507fce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000095507f00000000000000000000000000000000000000000000000000000000000000009450925050505b93509350939050565b606061048661065a565b905090565b805160208201206060907fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1811461051c576040517f26cc0fec0000000000000000000000000000000000000000000000000000000081527fa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb16004820152602481018290526044015b60405180910390fd5b6000838060200190518101906105329190614135565b905061053f816002610837565b949350505050565b61056b60405180608001604052806052815260200161437160529139848484610b64565b505050565b6060806105848361057f61058d565b610f23565b91509150915091565b606060405180610120016040528060ef81526020016143c360ef9139905090565b80600182510160200281015b808210156105d55781518552602094850194909101906105ba565b505061056b6105e18390565b84845160200161178b565b6000806000600d9050835160e81c61ffff168101846000f0915073ffffffffffffffffffffffffffffffffffffffff8216610653576040517f08d4abb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6060613d0e60006029905080915060006040518061054001604052808467ffffffffffffffff1667ffffffffffffffff1681526020016117f1815260200161186b81526020016118d281526020016118dc81526020016118d281526020016118d281526020016118d281526020016118d281526020016118d281526020016118e681526020016119088152602001611932815260200161195481526020016118e681526020016119548152602001611954815260200161195e8152602001611968815260200161195481526020016119548152602001611971815260200161197181526020016119548152602001611968815260200161196881526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119718152602001611971815260200161197181526020016119688152602001611988815260200161199281526020016119928152509050606081905060298151146108255780516040517fc8b56901000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052604401610513565b61082e816119a1565b94505050505090565b6060808060008060ff861667ffffffffffffffff81111561085a5761085a613d61565b604051908082528060200260200182016040528015610883578160200160208202803683370190505b5093508560ff1667ffffffffffffffff8111156108a2576108a2613d61565b6040519080825280602002602001820160405280156108cb578160200160208202803683370190505b509250865b805115610940576000806108e383611a32565b8951909550919350915082908890869081106109015761090161429b565b602002602001019060ff16908160ff1681525050808685815181106109285761092861429b565b602090810291909101015250506001909101906108d0565b5060006005885102602183026001010190508067ffffffffffffffff81111561096b5761096b613d61565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b50955081602087015360005b828110156109d357806021026021880101816020026020018701518153602080830287010151600191820152016109a1565b50506021028401600601905060005b8651811015610b5a576000805b6000806000878581518110610a0657610a0661429b565b60200260200101519050600080610a568b8881518110610a2857610a2861429b565b602002602001015160ff168f8a81518110610a4557610a4561429b565b602002602001015160000151611b60565b925090506005600087610a8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85018716611b82565b01919091028a01805190955062ffffff84811693501690508015610b0157818103610ae3576040517f59293c5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190970196610af284611b82565b870196505050505050506109ef565b8195505050505060188b8681518110610b1c57610b1c61429b565b60200260200101516020015160ff16901b602086901b17821791506000600160056001901b03199050828183511617825250505050506001016109e2565b5050505092915050565b6000610b6f84611c5b565b90508082511115610bb95781516040517ffd9e1af4000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610513565b6020850160005b82811015610f1a576000610bd48783611c79565b90506000610be28884611c92565b90508551831015610cb2578115610c2f576040517fee8d10810000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610513565b858381518110610c4157610c4161429b565b6020026020010151811015610cb2578281878581518110610c6457610c6461429b565b60200260200101516040517ff7dd619f000000000000000000000000000000000000000000000000000000008152600401610513939291909283526020830191909152604082015260600190565b6000610cc089848a51611cab565b905060006018610cd08b87611d17565b0390506000610cdf8b87611d48565b600402820190505b80821015610e64578151601c81901a60020288015162ffffff821691601d1a9060f01c600080610d15888685565b91509150838214610d695760808801516040517fddf5607100000000000000000000000000000000000000000000000000000000815260048101919091526024810183905260448101859052606401610513565b8751821115610dbb57608088015188516040517f2cab6bff0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101839052606401610513565b875182900380895260408901511115610e1d57608088015188516040808b015190517f1bc5ab0f000000000000000000000000000000000000000000000000000000008152600481019390935260248301919091526044820152606401610513565b8751810180895260208901511015610e3757875160208901525b6001811115610e4857875160408901525b5050506080850180516001019052505060049190910190610ce7565b610e6e8b87611d61565b836020015114610ec2578260200151610e878c88611d61565b6040517f4d9c18dc00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610513565b82518414610f095782516040517f4689f0b3000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052604401610513565b505060019093019250610bc0915050565b50505050505050565b6060806000610f30611d7a565b85519091501561176c578451600090602087810191880101825b818310156116c9576001835160001a1b905060018560e001511660000361125b576f07fffffe8000000000000000000000008116156111035760e085015160021615610feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f5520a51700000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6f07fffffe0000000000000000000000008116156110975761101d836f07fffffe0000000003ff200000000000611ee9565b9450925060008061102e8787611f9a565b915091508115611090576040517f53e6feba0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8703016004820152602401610513565b50506110b8565b6110b560018401836f07fffffe0000000003ff200000000000612011565b92505b604085018051600190810190915260a086018051909101905260e0850180516022177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef169052610f4a565b640100002600811615611154576111236001840183640100002600612011565b60e0860180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1690529250610f4a565b67040000000000000081161561119d5760e0850180516021177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed16905260019290920191610f4a565b658000000000008116156112315760108560e0015116600003611215578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517fedad0c5800000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b61121f898461203d565b60e08601805160021790529250610f4a565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610fb6565b6f07fffffe0000000000000000000000008116156113f05760e0850151600216156112db578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f4e803df600000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6112f5836f07fffffe0000000003ff200000000000611ee9565b8095508194505050600080613d0e6113138b896101a0015189612149565b92509250925082156113565760006113358961018001518e898563ffffffff16565b9097509050611345898483612215565b5060e08801805160041790526113dd565b6113608888612352565b909350915082156113855761137788600084612215565b611380886123cd565b6113dd565b6040517f81bd48db0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8803016004820152602401610513565b50505060e0850180516002179052610f4a565b60e0850151600416156114e657650100000000008116600003611465576040517f23b5c6ea0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b60608501805160001a60030190819053603b8111156114b0576040517f6232f2d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060e0850180517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9169052600190920191610f4a565b650200000000008116156115b7576000606086015160001a905080600003611560576040517f7f9db5420000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8603016004820152602401610513565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd01606086018181538160048201015160001a8260028301015160f01c60010153506115ab866123cd565b50600190920191610f4a565b6401000026008116156115d7576111236001840183640100002600612011565b6703ff00000000000081161561160d576115f2858a85612430565b92506115fd856123cd565b60e0850180516002179052610f4a565b6510000000000081161561163157611626858a85612582565b600190920191610f4a565b6708000000000000008116156116675761164c858a85612582565b61165585612855565b601860e0860152600190920191610f4a565b6580000000000081161561169f578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016111e0565b8883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016112a6565b818314611702576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60e085015160201615611767576040517ff06f54cf0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8503016004820152602401610513565b505050505b61177581612a97565b61177e82612bcf565b92509250505b9250929050565b6020810680820384015b808510156117b0578451845260209485019490930192611795565b5080156117eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600882021c808451168119865116178452505b50505050565b815160009081908390811061184957608085015185516040517feaa16f330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101829052606401610513565b846040015181111561185d57604085018190525b506000946001945092505050565b600080836060015183106118c557608084015160608501516040517feb7894540000000000000000000000000000000000000000000000000000000081526004810192909252602482015260448101849052606401610513565b5060009360019350915050565b5060009160019150565b60101c9160019150565b600080601083901c806118fa5760016118fc565b805b95600195509350505050565b600080601083901c8061191c57600261191e565b805b905060028106156118fa57806001016118fc565b600080601083901c80611946576001611948565b805b95600095509350505050565b5060029160019150565b5060039160019150565b50600191829150565b600080601083901c600181116118fa5760026118fc565b5060029160009150565b60046001808316019250929050565b60606000825160020267ffffffffffffffff8111156119c2576119c2613d61565b6040519080825280601f01601f1916602001820160405280156119ec576020820181803683370190505b50905061ffff80196020850160208651028101600285015b81831015611a2657805183518616908516178152602090920191600201611a04565b50939695505050505050565b60008060606000805b60ff811015611ab3576000805b8751811015611a7a57600080611a6a858b8581518110610a4557610a4561429b565b5093909317925050600101611a48565b506000611a8682611b82565b905083811115611a9a578093508296508195505b87518103611aa9575050611ab3565b5050600101611a3b565b5084516040805192909103808352600101602002820190529050600080805b8651811015611b5657600080611af78860ff168a8581518110610a4557610a4561429b565b91509150848216600003611b0e5793811793611b4c565b888381518110611b2057611b2061429b565b6020026020010151868581518110611b3a57611b3a61429b565b60209081029190910101526001909301925b5050600101611ad2565b5050509193909250565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bb45750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b60008151600003611c6e57506000919050565b506020015160001a90565b600080611c868484611d17565b5160021a949350505050565b600080611c9f8484611d17565b5160031a949350505050565b611ce46040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001606081525090565b506040805160c081018252838152602081018490529081019290925260608201526000608082015260a081019190915290565b600080611d2384611c5b565b60020260010190506000611d378585612c44565b949091019093016020019392505050565b600080611d558484611d17565b5160001a949350505050565b600080611d6e8484611d17565b5160011a949350505050565b611df3604051806101e001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051806101e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016010600817815260200160008152602001600081526020016000815260200160008152602001611e6861333c60101b6130901790565b8152602001611e92613a7360401b61390260301b6137a660201b61369860101b6135fb1717171790565b8152600060209182018190526040805183815280840182528452918301819052908201819052606082018190526080820181905260a08201819052610100820181905261012082018190526101c082015292915050565b8151600090819060015b8419600183831a1b1615602082101615611f0f57600101611ef3565b9485019460208190036008810292831c90921b91611f9157604080516020810184905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b700000000000000000000000000000000000000000000000000000000825261051391600401614024565b50939492505050565b600080611fa78484612352565b90925090508161178457506101008301805160408051948552602080862092865285018152909401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909416601085901b62ff000016179092179091529160ff90911660010190565b60005b6000826001865160001a1b1611838510161561203557600184019350612014565b509192915050565b805160009060f01c612f2a81146120a6576040517f3e47169c0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858503016004820152602401610513565b835160029390930192602a90602f90860160200160005b80612103575b81871084885160001a141516156120df576001870196506120c3565b6001870196508187101583885160001a1417156120fe57506001958601955b6120bd565b508086111561213e576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509395945050505050565b600183810180516000928392613d0e92602160ff909116028801600681019201845b81831015612201576001830151602190930180519093600090819060ff168180612195838f611b60565b915091506000876121aa600185038916611b82565b016005028b015195505062ffffff90811693508416830391506121ec9050575060019850601b81901a9750601c1a8a901c61ffff169550610473945050505050565b6121f583611b82565b8401935050505061216b565b506000998a99508998509650505050505050565b61221e83612cbc565b60e08301805160207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79190911681179091528301516021600091821a850101805190911a600101815350825180516060850151600090811a86016061018051929361ffff85169360088504909103601c0192600191901a018153600060038201537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe30180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690911790528451602090920183821b176018820185901b179182905260e081900361234b578451604080518088526020601084901b81178252810190915281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000161790525b5050505050565b61010082015161012083015160008381526020808220919384939290911c91600160ff84161b808216156123b85761ffff83165b80156123b6578360201c85036123a9576001965061ffff8460101c1695506123b6565b51925061ffff8316612386565b505b17610120909601959095525090939092509050565b6000606082015160001a90508060000361242c5760208201805160001a600101908181535080603f0361056b576040517fa25cba3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000613d0e600080600061244a8861018001518888612d06565b8981038a206101408d015194985092965090945092507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016906001600083811a82901b929091908316156124f0576101608c015160101c5b80156124ee5780517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000811686036124dd5760019350506124ee565b505160019091019061ffff166124a2565b505b6101608c015161ffff1661251660018461250a578261250e565b8383035b8f9190612215565b508161257257604080518082019091526101608d015160101c8517815260006125448d8a8a63ffffffff8e16565b6020830152506101608d018051600161ffff9091160160109290921b9190911790526101408c018051841790525b50929a9950505050505050505050565b606083015160001a80156125e8576040517f6fb11cdc0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848403016004820152602401610513565b506125f283612cbc565b60e083018051603060089182161790915260a0840151602085015160ff8083169360f89290921c9290911c16810360008190036126bb5760088660e0015116600003612690576040517fab1d3ea70000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b90820160f881901b60208701526101c08601519091906126b09084612fc9565b6101c0870152612784565b60018111156127845780831015612724576040517f78ef27820000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80831115612784576040517f43168e680000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b8082036001016020601083028101905b818110156128405760a08901516020848b01015190821c61ffff169060001a60015b81811161282f5760208306601c036127cf57915160f01c915b82516101c08d015160019190911a906127e89082613011565b6101c08e015261281982841480156128005750886001145b61280b57600161280d565b8a5b6101c08f015190613058565b6101c08e015250600492909201916001016127b6565b505060019093019250601001612794565b5050505060081b60a090940193909352505050565b60c0810151602082015160f082811c9160001a600101908290036128a5576040517fa806284100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080856101c001519050855161ffff815160101c165b80156128d357805190915060101c61ffff166128bc565b50604051602188018051919450601c830192916004916024870191600090811a805b8a8310156129bb5760048202860195506004878903045b8082111561292a57965161ffff16601c81019850969003600761290c565b506004810297889003805186529794909401938103865b6007821115612986575160101c61ffff1680518652601c909501947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff990910190612941565b81156129a1575160101c61ffff168051865260048202909501945b505050600191820180519092919091019060001a806128f5565b50505050818652600486019350846001600484040360181b1763ffffffff19855116178452601f19601f820116604052505050506001846001901b612a0091906142f9565b851682851b60f0612a1287601061430c565b901b171760c087015260e0860180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf16905260408051602080825280820183529088526000908801819052908701819052606087018190526080870181905260a08701819052610100870181905261012087018190526101c0870152505050505050565b60c08101518151516060919060f082901c9060208114612ae3576040517f858f2dcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051935060208401601083046000818353506001600885048301810192839101600080805b88811015612b425789811c61ffff81165163ffff0000601092831b16811760e01b8786015284019360f08390031b929092179101612b09565b50825117909152878203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08181018952908801601f011660405260005b82811015612bc3576002810288016003015161ffff90811683018051602060f082901c019260e09190911c1690612bb883828461178b565b505050600101612b80565b50505050505050919050565b6101608101516040805161ffff8316808252602080820283019081019093529092909160109190911c90835b80821115612c3b5760208301518252915161ffff16917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190612bfb565b50505050919050565b6002810282016003015161ffff166000612c5d84611c5b565b845190915060056002830284010190811180612c795750818410155b15612cb45784846040517fd3fc97bd00000000000000000000000000000000000000000000000000000000815260040161051392919061431f565b505092915050565b60208101805160001a6001810182015160001a61056b578251805160a085018051600861ffff939093169290920460200390920160106001601e84901a860301021b179052505050565b8051613d0e9060009081908190600181831a1b6703ff000000000000811615612f2857600182811a1b7ffffffffffffffffffffffffffffffffffeffffffffffffffffff00000000000082821701612de25760028801806c7e0000007e03ff0000000000005b806001835160001a1b1615612d8657600182019150612d6c565b508a5161ffff8d16908c0160200180831115612dce576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5098509096509450849350612fc092505050565b876001810160006703ff0000000000006c200000002000000000000000005b816001855160001a1b1615612e1b57600184019350612e01565b806001855160001a1b1615612e4c57600184019392505b816001855160001a1b1615612e4c57600184019350612e32565b50508015801590612e6b575080600301821180612e6b57508060010182145b15612ec8576040517f013b2aaa0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08d8303016004820152602401610513565b8b5161ffff60108f901c16908d0160200180841115612f13576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5099509197509550859450612fc09350505050565b87518801602001808810612f68576040517f7d565df600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fb0e4e5b30000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08a8a03016004820152602401610513565b93509350935093565b6000612fd58383613058565b9250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff821660ff600884811c919091168301901b1792915050565b600060ff831682811015613051576040517f04671d0000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050900390565b600060ff808416830190600885901c16601085901c808311156130785750815b601081901b600883901b841717935050505092915050565b600082820360408111156130f6576040517fff2f59490000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b80600003613156576040517fc75cd5090000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b600281066001036131b9576040517fd76d9b570000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160005b858210613332578151600090811a906001821b906703ff00000000000082161561322c57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd082016132fc565b6c7e00000000000000000000000082161561326a57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa982016132fc565b687e00000000000000008216156132a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc982016132fc565b6040517f69f1e3e60000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8703016004820152602401610513565b831b959095179450507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906004016131df565b5050509392505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8101516000908190603090829080821a87870360038111801561339157506001821b6c200000002000000000000000001615155b156133b357600488039550600a858460011a0302858460021a0301935061345f565b8260011a91506002811180156133da57506001821b6c200000002000000000000000001615155b156133f257600388039550848360021a03935061345f565b8015613407576001880395506000935061345f565b6040517ffa65827e0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b8b03016004820152602401610513565b5050505b8583101580156134735750604d81105b156134b857825160001a829003600a82900a0293909301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191600101613463565b85831061333257825160001a829003600181111561352b578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f8f2b5ffd00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b600a82900a8102858101861115613566578885037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b9490940193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201915b85831061333257825160001a603081146135d0578784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016134f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191613592565b80516000908190600190821a1b7ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008101613687576040517ff8216c550000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868603016004820152602401610513565b83600092509250505b935093915050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576136e76001860182640100002600612011565b945060006136f9888861ffff89613c11565b909650905061370e8683640100002600612011565b8051909650600160009190911a1b92506740000000000000008314613788578686037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f722cd24a00000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b6001860194509250613690915050565b846000935093505050613690565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a7576137f56001860182640100002600612011565b94506000613806888860ff89613c11565b90965090508061381c8784640100002600612011565b9650600061382d8a8a60ff8b613c11565b909850600881901b9290921791905061384c8885640100002600612011565b8051909850600160009190911a1b94506740000000000000008514613895578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b50600187019550935061369092505050565b8585037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015b6040517f24027dc400000000000000000000000000000000000000000000000000000000815260040161051391815260200190565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000008201613798576139516001860182640100002600612011565b80519095506001600091821a1b92507fffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000830161398f575060006139b4565b61399c8888600189613c11565b90965090506139b18683640100002600612011565b95505b85516001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000084016139ef57506000613a14565b6139fc898960018a613c11565b9097509050613a118784640100002600612011565b96505b8651600160009190911a81901b945081901b82176740000000000000008514613a61578888037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b60018801965094506136909350505050565b815181516000918291600190831a1b9085016020017ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000082016138a757613ac26001860182640100002600612011565b94506000613ad3888860ff89613c11565b9096509050613ae88683640100002600612011565b80519096506001600091821a1b93507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008401613b2657506000613b4b565b613b33898960018a613c11565b9097509050613b488784640100002600612011565b96505b86516001600091821a1b94507fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008501613b8657506000613bab565b613b938a8a60018b613c11565b9098509050613ba88885640100002600612011565b97505b8751600160009190911a1b9450600882901b8317600982901b176740000000000000008614613bfe578989037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613753565b6001890197509550613690945050505050565b80516000908190600190821a1b7fffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000008101613c6f578584037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016138cd565b613d0e6000806000613c828b8b8a612d06565b93509350935093506000613c9b8b85858863ffffffff16565b905089811115613cfd576040517f7480c7840000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8b03016004820152602401610513565b909b909a5098505050505050505050565b613d16614341565b565b600060208284031215613d2a57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613d5a57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715613db357613db3613d61565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613e0057613e00613d61565b604052919050565b600067ffffffffffffffff821115613e2257613e22613d61565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112613e5f57600080fd5b8135613e72613e6d82613e08565b613db9565b818152846020838601011115613e8757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115613ebe57613ebe613d61565b5060051b60200190565b600082601f830112613ed957600080fd5b81356020613ee9613e6d83613ea4565b82815260059290921b84018101918181019086841115613f0857600080fd5b8286015b84811015613f235780358352918301918301613f0c565b509695505050505050565b600080600060608486031215613f4357600080fd5b833567ffffffffffffffff80821115613f5b57600080fd5b613f6787838801613e4e565b94506020860135915080821115613f7d57600080fd5b613f8987838801613ec8565b93506040860135915080821115613f9f57600080fd5b50613fac86828701613ec8565b9150509250925092565b60005b83811015613fd1578181015183820152602001613fb9565b50506000910152565b60008151808452613ff2816020860160208601613fb6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613d5a6020830184613fda565b60006020828403121561404957600080fd5b813567ffffffffffffffff81111561406057600080fd5b61053f84828501613e4e565b600081518084526020808501945080840160005b8381101561409c57815187529582019590820190600101614080565b509495945050505050565b6040815260006140ba6040830185613fda565b82810360208401526140cc818561406c565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff851681526080602082015260006141046080830186613fda565b8281036040840152614116818661406c565b9050828103606084015261412a818561406c565b979650505050505050565b6000602080838503121561414857600080fd5b825167ffffffffffffffff8082111561416057600080fd5b818501915085601f83011261417457600080fd5b8151614182613e6d82613ea4565b81815260059190911b830184019084810190888311156141a157600080fd5b8585015b8381101561428e578051858111156141bd5760008081fd5b86016060818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156141f35760008081fd5b6141fb613d90565b89830151815260408084015160ff811681146142175760008081fd5b828c015291830151918883111561422e5760008081fd5b82840193508d603f85011261424557600092508283fd5b8a8401519250614257613e6d84613e08565b8381528e8285870101111561426c5760008081fd5b61427b848d8301848801613fb6565b90820152855250509186019186016141a5565b5098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156102cf576102cf6142ca565b808201808211156102cf576102cf6142ca565b6040815260006143326040830185613fda565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51", - "sourceMap": "3924:7282:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7571:216;;;;;;:::i;:::-;;:::i;:::-;;;516:14:212;;509:22;491:41;;479:2;464:18;7571:216:80;;;;;;;;8977:1006;;;;;;:::i;:::-;;:::i;:::-;;;;3964:42:212;4033:15;;;4015:34;;4085:15;;;4080:2;4065:18;;4058:43;4137:15;;4117:18;;;4110:43;;;;3942:2;3927:18;8977:1006:80;3699:460:212;11051:153:80;;;:::i;:::-;;;;;;;:::i;7980:481::-;;;;;;:::i;:::-;;:::i;7823:121::-;;;2695:66;5446:25:212;;5434:2;5419:18;7823:121:80;5300:177:212;5217:43:80;;;;;;;;5687:42:212;5675:55;;;5657:74;;5645:2;5630:18;5217:43:80;5482:255:212;10036:249:80;;;;;;:::i;:::-;;:::i;:::-;;5090:44;;;;;8640:289;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8497:107::-;;;:::i;7571:216::-;7657:4;7680:55;;;7696:39;7680:55;;:100;;-1:-1:-1;7739:41:80;;;7755:25;7739:41;7680:100;7673:107;7571:216;-1:-1:-1;;7571:216:80:o;8977:1006::-;9117:14;9133:19;9154:7;9177:47;9192:8;9202:9;9213:10;9177:14;:47::i;:::-;9240:58;9254:10;9266:8;9276:9;9287:10;9240:58;;;;;;;;;:::i;:::-;;;;;;;;502:16:144;;484:15;;9310:37:80;;;;9380:100;;521:4:144;502:23;484:41;528:4;484:48;4202:4:67;4196:11;;4311:43;;;4356:9;4307:59;4291:76;;4278:90;;;4687:343;4972:1;4959:15;;;4787:3;4687:343;;;;;1522:75;4622:430;5069:27;;4196:11;1728:2;4463:35;;;3702:1424;9380:100:80;9309:171;;;;9602:81;9654:7;9663:8;9673:9;9602:51;:81::i;:::-;9747:18;9768:32;9790:9;9768:21;:32::i;:::-;9883:41;;;9901:10;7850:34:212;;7799:42;7920:15;;7915:2;7900:18;;7893:43;9747:53:80;;-1:-1:-1;9883:41:80;;7762:18:212;9883:41:80;;;;;;;9943:12;;-1:-1:-1;9957:6:80;;-1:-1:-1;9965:10:80;-1:-1:-1;;;8977:1006:80;;;;;;;;:::o;11051:153::-;11119:12;11150:47;:45;:47::i;:::-;11143:54;;11051:153;:::o;7980:481::-;8129:24;;;;;;8072:12;;2695:66;8167:45;;8163:153;;8235:70;;;;;2695:66;8235:70;;;8121:25:212;8162:18;;;8155:34;;;8094:18;;8235:70:80;;;;;;;;8163:153;8325:28;8367:13;8356:44;;;;;;;;;;;;:::i;:::-;8325:75;;8417:37;8445:5;8452:1;8417:27;:37::i;:::-;8410:44;7980:481;-1:-1:-1;;;;7980:481:80:o;10036:249::-;10182:96;10217:27;;;;;;;;;;;;;;;;;10246:8;10256:9;10267:10;10182:34;:96::i;:::-;10036:249;;;:::o;8640:289::-;8714:12;8728:16;8889:33;8904:4;8910:11;:9;:11::i;:::-;8889:14;:33::i;:::-;8882:40;;;;8640:289;;;:::o;8497:107::-;8556:12;8587:10;;;;;;;;;;;;;;;;;8580:17;;8497:107;:::o;555:809:144:-;843:9;946:1;934:9;928:16;924:24;918:4;914:35;897:15;893:57;794:385;989:12;972:15;969:33;794:385;;;1154:22;;1139:38;;1065:4;1101:17;;;;1044:26;;;;794:385;;;798:170;;1263:84;1291:23;:8;1472:4:156;1331:161;1291:23:144;1316:6;1324:8;:15;1342:4;1324:22;1263:27;:84::i;5489:666:67:-;5562:7;5581:16;5607:21;1728:2;5607:43;;5959:10;5953:17;5948:3;5944:27;5936:6;5932:40;5839:13;5810:184;5778:10;5755:1;5727:285;5699:313;-1:-1:-1;6080:22:67;;;6076:47;;6111:12;;;;;;;;;;;;;;6076:47;-1:-1:-1;6140:8:67;5489:666;-1:-1:-1;;5489:666:67:o;14259:4336:102:-;14319:12;14367:125;14506:14;2305:2;14506:40;;14620:6;14603:23;;14653:161;:3443;;;;;;;;14839:13;14653:3443;;;;;;;;15083:22;14653:3443;;;;15127:25;14653:3443;;;;15249:24;14653:3443;;;;15295:21;14653:3443;;;;15338:28;14653:3443;;;;15388:24;14653:3443;;;;15594:27;14653:3443;;;;15681:27;14653:3443;;;;15730:26;14653:3443;;;;15778:20;14653:3443;;;;15820:27;14653:3443;;;;15869:23;14653:3443;;;;15914:24;14653:3443;;;;15960:22;14653:3443;;;;16004:28;14653:3443;;;;16054:37;14653:3443;;;;16113:19;14653:3443;;;;16154:23;14653:3443;;;;16199:25;14653:3443;;;;16246:34;14653:3443;;;;16302:29;14653:3443;;;;16353:29;14653:3443;;;;16404:40;14653:3443;;;;16466:33;14653:3443;;;;16521:32;14653:3443;;;;16735:23;14653:3443;;;;16818:23;14653:3443;;;;16863:23;14653:3443;;;;16908:23;14653:3443;;;;17113:23;14653:3443;;;;17196:23;14653:3443;;;;17401:23;14653:3443;;;;17484:23;14653:3443;;;;17529:23;14653:3443;;;;17574:23;14653:3443;;;;17779:23;14653:3443;;;;17862:23;14653:3443;;;;17907:20;14653:3443;;;;17949:20;14653:3443;;;;17991:32;14653:3443;;;;18045:33;14653:3443;;;;;18110:32;18218:13;18199:32;;2305:2;18373:15;:22;:49;18369:143;;18466:22;;18449:48;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;;;8094:18;;18449:48:102;7947:248:212;18369:143:102;18532:46;18562:15;18532:29;:46::i;:::-;18525:53;;;;;;14259:4336;:::o;4650:4696:141:-;4775:22;;;4949:17;;5041:21;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5041:21:141;;5033:29;;5107:8;5093:23;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5093:23:141;-1:-1:-1;5080:36:141;-1:-1:-1;5204:13:141;5239:387;5246:29;;:33;5239:387;;5307:10;5343:17;5430:40;5447:22;5430:16;:40::i;:::-;5496:12;;5386:84;;-1:-1:-1;5386:84:141;;-1:-1:-1;5386:84:141;-1:-1:-1;5386:84:141;;5496:5;;5502;;5496:12;;;;;;:::i;:::-;;;;;;:19;;;;;;;;;;;5561:9;5541:10;5552:5;5541:17;;;;;;;;:::i;:::-;;;;;;;;;;:29;-1:-1:-1;;5596:7:141;;;;;5239:387;;;5134:510;5662:23;1230:1;5757:13;:20;:37;1388:4;5727:5;:27;1460:1;5708:46;:86;5662:132;;5834:15;5824:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5824:26:141;;5812:38;;5945:5;5938:4;5927:9;5923:20;5915:36;5991:9;5986:474;6010:5;6006:1;:9;5986:474;;;6227:1;6221:4;6217:12;6210:4;6199:9;6195:20;6191:39;6313:1;6307:4;6303:12;6297:4;6293:23;6286:5;6282:35;6276:42;6263:11;6255:64;6408:4;6404:12;;;6378:40;;;6372:47;6368:1;6351:19;;;6344:76;6017:3;5986:474;;;-1:-1:-1;;1388:4:141;6557:27;6670:26;;6521:33;6670:26;;-1:-1:-1;6500:18:141;6792:2538;6816:13;:20;6812:1;:24;6792:2538;;;6861:9;6892:21;6935:2381;6970:15;7007;7150:17;7170:10;7181:1;7170:13;;;;;;;;:::i;:::-;;;;;;;7150:33;;7210:14;7280:15;7345:46;7359:5;7365:1;7359:8;;;;;;;;:::i;:::-;;;;;;;7345:46;;7369:13;7383:1;7369:16;;;;;;;;:::i;:::-;;;;;;;:21;;;7345:13;:46::i;:::-;7325:66;-1:-1:-1;7325:66:141;-1:-1:-1;1230:1:141;7422:20;7547:13;7503:41;7531:11;;;7518:25;;7503:14;:41::i;:::-;:57;7675:22;;;;7660:38;;8020:14;;7660:38;;-1:-1:-1;1101:8:141;7836:25;;;;-1:-1:-1;8093:34:141;;-1:-1:-1;8161:19:141;;8157:466;;8238:15;8220:14;:33;8216:141;;8300:22;;;;;;;;;;;;;;8216:141;8456:3;;;;;8525:25;8540:9;8525:14;:25::i;:::-;8509:13;:41;8493:57;;8584:8;;;;;;;;8157:466;8787:15;8777:25;;7780:1049;;7124:1727;;9013:4;8972:13;8986:1;8972:16;;;;;;;;:::i;:::-;;;;;;;:36;;;8964:45;;:53;;8955:4;8950:1;:9;;8949:69;8938:80;;;;9041:12;1291:1;1230;1268;:19;;1267:25;9056:15;9041:30;;9190:7;9183:4;9173:7;9167:14;9163:25;9160:38;9151:7;9144:55;9292:5;;;-1:-1:-1;;6838:3:141;;6792:2538;;;;4813:4527;;;4650:4696;;;;:::o;2846:4663:98:-;3060:19;3082:33;3106:8;3082:23;:33::i;:::-;3060:55;;3265:11;3245:10;:17;:31;3241:126;;;3321:17;;3303:49;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;;;8094:18;;3303:49:98;7947:248:212;3241:126:98;3477:4;3462:20;;3381:22;3567:3926;3591:11;3587:1;:15;3567:3926;;;3698:20;3721:43;3752:8;3762:1;3721:30;:43::i;:::-;3698:66;;3865:21;3889:44;3921:8;3931:1;3889:31;:44::i;:::-;3865:68;;4033:10;:17;4029:1;:21;4025:351;;;4078:17;;4074:118;;4130:39;;;;;;;;8121:25:212;;;8162:18;;;8155:34;;;8094:18;;4130:39:98;7947:248:212;4074:118:98;4234:10;4245:1;4234:13;;;;;;;;:::i;:::-;;;;;;;4218;:29;4214:144;;;4303:1;4306:13;4321:10;4332:1;4321:13;;;;;;;;:::i;:::-;;;;;;;4282:53;;;;;;;;;;;;11331:25:212;;;11387:2;11372:18;;11365:34;;;;11430:2;11415:18;;11408:34;11319:2;11304:18;;11129:319;4214:144:98;4394:34;4451:70;4480:8;4490:12;4504:9;:16;4451:28;:70::i;:::-;4394:127;;4648:14;4722:4;4680:38;4706:8;4716:1;4680:25;:38::i;:::-;4665:61;4648:78;;4744:11;4767:40;4795:8;4805:1;4767:27;:40::i;:::-;4810:1;4767:44;4758:6;:53;4744:67;;4830:2096;4846:3;4837:6;:12;4830:2096;;;5162:13;;5250:2;5245:14;;;5261:1;5241:22;5221:43;;5215:50;5353:8;5343:19;;;5412:2;5407:14;;5209:4;5205:61;4873:15;;5512:17;5514:5;5343:19;5205:61;5512:17::i;:::-;5464:65;;;;5571:16;5555:12;:32;5551:158;;5640:13;;;;5622:64;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;;;11415:18;;;11408:34;;;11304:18;;5622:64:98;11129:319:212;5551:158:98;5750:16;;5735:31;;5731:154;;;5816:13;;;;5831:16;;5801:61;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;5801:61:98;11129:319:212;5731:154:98;5906:32;;;;;;;;6055:19;;;;-1:-1:-1;6032:177:98;;;6133:13;;;;6148:16;;6166:19;;;;;6109:77;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;;;;11415:18;;;11408:34;11304:18;;6109:77:98;11129:319:212;6032:177:98;6368:33;;;;;;;6519:19;;;;-1:-1:-1;6496:131:98;;;6588:16;;6566:19;;;:38;6496:131;6747:1;6731:13;:17;6727:110;;;6798:16;;6776:19;;;:38;6727:110;-1:-1:-1;;;6859:13:98;;;:15;;;;;;-1:-1:-1;;6906:1:98;6896:11;;;;;4830:2096;;;7052:46;7086:8;7096:1;7052:33;:46::i;:::-;7029:5;:19;;;:69;7025:215;;7153:5;:19;;;7174:46;7208:8;7218:1;7174:33;:46::i;:::-;7129:92;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;8094:18;;7129:92:98;7947:248:212;7025:215:98;7343:16;;:33;;7339:140;;7428:16;;7407:53;;;;;;;;8121:25:212;;;;8162:18;;;8155:34;;;8094:18;;7407:53:98;7947:248:212;7339:140:98;-1:-1:-1;;3604:3:98;;;;;-1:-1:-1;3567:3926:98;;-1:-1:-1;;3567:3926:98;;;3036:4467;;2846:4663;;;;:::o;45048:12042:138:-;45148:21;45171:16;45227:23;45253:24;:22;:24::i;:::-;45295:11;;45227:50;;-1:-1:-1;45295:15:138;45291:11715;;45563:11;;45330:12;;45518:4;45508:15;;;;45551:24;;;45330:12;45610:11121;45626:3;45617:6;:12;45610:11121;;;45808:1;45798:6;45792:13;45789:1;45784:22;45780:30;45772:38;;2555:1;45885:5;:9;;;:24;45913:1;45885:29;45881:10832;;14954:40:139;45946:27:138;;:31;45942:3046;;46082:9;;;;2591:6;46082:25;:29;46078:156;;41413:28;;;;;46172:30;46154:49;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;46078:156:138;13201:425:139;46317:28:138;;:32;46313:814;;46402:39;46412:6;15296:54:139;46402:9:138;:39::i;:::-;46385:56;-1:-1:-1;46385:56:138;-1:-1:-1;46476:11:138;;46506:25;:5;46385:56;46506:19;:25::i;:::-;46475:56;;;;46758:6;46754:140;;;46811:48;;;;;41413:28;;;;;46811:48;;;5446:25:212;5419:18;;46811:48:138;5300:177:212;46754:140:138;46351:573;;46313:814;;;47049:47;47067:1;47058:10;;47070:3;15296:54:139;47049:8:138;:47::i;:::-;47040:56;;46313:814;47287:15;;;:17;;;;;;;;;47334;;;:19;;;;;;;47540:9;;;;;:50;;47594:22;47539:77;47527:89;;45610:11121;;45942:3046;15866:76:139;47653:23:138;;:28;47649:1339;;47722:43;47740:1;47731:10;;47743:3;15866:76:139;47722:8:138;:43::i;:::-;47868:9;;;:27;;47881:14;47868:27;;;47713:52;-1:-1:-1;45610:11121:138;;47649:1339;6214:41:139;47932:30:138;;:35;47928:1060;;48143:9;;;;;:49;;48228:40;48142:126;48130:138;;2555:1;48298:8;;;;;45610:11121;;47928:1060;5212:41:139;48343:25:138;;:30;48339:649;;2872:6;48409:5;:9;;;:33;48446:1;48409:38;48405:165;;41413:28;;;;;48508:30;48490:49;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;48405:165:138;48608:25;48620:4;48626:6;48608:11;:25::i;:::-;48816:9;;;:26;;2591:6;48816:26;;;48599:34;-1:-1:-1;45610:11121:138;;48339:649;41413:28;;;;;48930:30;41254:203;45881:10832;13201:425:139;49093:26:138;;:30;49089:7602;;49225:9;;;;2591:6;49225:25;:29;49221:156;;41413:28;;;;;49315:30;49297:49;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;49221:156:138;49424:38;49434:6;15296:54:139;49424:9:138;:38::i;:::-;49407:55;;;;;;;;49595:11;49640:19;49693:86;49812:57;49836:4;49842:5;:20;;;49864:4;49812:23;:57::i;:::-;49561:308;;;;;;49903:6;49899:1207;;;49945:15;50014:49;50028:5;:20;;;50050:4;50056:6;50014:13;:49;;:::i;:::-;49994:69;;-1:-1:-1;49994:69:138;-1:-1:-1;50097:42:138;:5;50118:11;49994:69;50097:20;:42::i;:::-;-1:-1:-1;50300:9:138;;;:30;;2636:6;50300:30;;;49899:1207;;;50507:45;50540:5;50547:4;50507:32;:45::i;:::-;50483:69;;-1:-1:-1;50483:69:138;-1:-1:-1;50586:490:138;;;;50636:61;:5;3474:1;50684:11;50636:20;:61::i;:::-;50895:17;:5;:15;:17::i;:::-;50586:490;;;50998:43;;;;;41413:28;;;;;50998:43;;;5446:25:212;5419:18;;50998:43:138;5300:177:212;50586:490:138;-1:-1:-1;;;51136:9:138;;;:26;;2591:6;51136:26;;;45610:11121;;49089:7602;51302:9;;;;2636:6;51302:29;:33;51298:5393;;4552:41:139;51371:23:138;;51398:1;51371:28;51367:155;;51442:49;;;;;41413:28;;;;;51442:49;;;5446:25:212;5419:18;;51442:49:138;5300:177:212;51367:155:138;52276:4;52265:16;;52259:23;;52118:22;52251:32;52285:1;52247:40;;;;52320:41;52663:2;52646:14;:19;52642:112;;;52708:15;;;;;;;;;;;;;;52642:112;-1:-1:-1;52966:9:138;;;:49;;52979:36;52966:49;;;52783:8;;;;;45610:11121;;51298:5393;4650:41:139;53052:24:138;;:28;53048:3643;;53112:19;53260:4;53253:5;53249:16;53243:23;53240:1;53235:32;53220:47;;53330:11;53345:1;53330:16;53326:146;;53389:52;;;;;41413:28;;;;;53389:52;;;5446:25:212;5419:18;;53389:52:138;5300:177:212;53326:146:138;54051:19;;53998:4;53987:16;;54051:19;53987:16;54103:33;54877:11;54873:1;54860:11;54856:19;54852:37;54846:44;54843:1;54838:53;54632:11;54628:1;54615:11;54611:19;54607:37;54601:44;54595:4;54591:55;54588:1;54584:63;54169:756;;54984:17;:5;:15;:17::i;:::-;-1:-1:-1;55031:8:138;;;;;45610:11121;;53048:3643;15866:76:139;55076:23:138;;:27;55072:1619;;55144:43;55162:1;55153:10;;55165:3;15866:76:139;55144:8:138;:43::i;55072:1619::-;12910:131:139;55425:25:138;;:29;55421:1270;;55495:31;:5;55513:4;55519:6;55495:17;:31::i;:::-;55486:40;;55556:17;:5;:15;:17::i;:::-;55720:9;;;:26;;2591:6;55720:26;;;45610:11121;;55421:1270;4933:41:139;55783:16:138;;:20;55779:912;;55835:27;:5;55849:4;55855:6;55835:13;:27::i;:::-;55892:8;;;;;45610:11121;;55779:912;6310:41:139;56003:16:138;;:20;55999:692;;56055:27;:5;56069:4;56075:6;56055:13;:27::i;:::-;56112:17;:5;:15;:17::i;:::-;3175:49;56198:9;;;:23;56159:8;;;;;45610:11121;;55999:692;5212:41:139;56427:25:138;;:30;56423:268;;41413:28;;;;;56514:30;41254:203;56423:268;41413:28;;;;;56633:30;41254:203;45610:11121;56762:3;56752:6;:13;56748:86;;56796:19;;;;;;;;;;;;;;56748:86;56855:9;;;;3023:6;56855:34;:39;56851:141;;56925:48;;;;;41413:28;;;;;56925:48;;;5446:25:212;5419:18;;56925:48:138;5300:177:212;56851:141:138;45312:11694;;;;45291:11715;57027:21;:5;:19;:21::i;:::-;57050:22;:5;:20;:22::i;:::-;57019:54;;;;;45048:12042;;;;;;:::o;1085:1363:157:-;1617:4;1609:6;1605:17;1676:1;1668:6;1664:14;1650:12;1646:33;1692:202;1716:3;1702:12;1699:21;1692:202;;;1872:19;;1851:41;;1773:4;1755:23;;;;1811;;;;1692:202;;;1696:2;1925:1;1918:9;1908:524;;2035:66;2031:1;2028;2024:9;2020:82;2372:5;2357:12;2351:19;2347:31;2314:5;2310:10;2295:12;2289:19;2285:36;2224:176;2190:12;2162:256;;1908:524;;1085:1363;;;:::o;603:563:101:-;873:16;;698:7;;;;761;;860:29;;856:131;;933:13;;;;948:16;;912:64;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;912:64:101;11129:319:212;856:131:101;1059:5;:19;;;1047:9;:31;1043:93;;;1094:19;;;:31;;;1043:93;-1:-1:-1;1154:1:101;;1157;;-1:-1:-1;603:563:101;-1:-1:-1;;;603:563:101:o;580:555:100:-;675:7;684;816:5;:21;;;804:7;789:48;785:172;;884:13;;;;899:21;;;;860:86;;;;;;;;11331:25:212;;;;11372:18;;;11365:34;11415:18;;;11408:34;;;11304:18;;860:86:100;11129:319:212;785:172:100;-1:-1:-1;1123:1:100;;1126;;-1:-1:-1;580:555:100;-1:-1:-1;;580:555:100:o;186:359:103:-;-1:-1:-1;267:7:103;;536:1;;-1:-1:-1;186:359:103:o;277:307:104:-;545:4;518:31;;575:1;;-1:-1:-1;277:307:104:o;339:287:109:-;428:7;;545:4;518:31;;;568:10;:23;;590:1;568:23;;;581:6;568:23;559:32;617:1;;-1:-1:-1;339:287:109;-1:-1:-1;;;;339:287:109:o;698:417:110:-;787:7;;905:4;878:31;;;928:10;:23;;950:1;928:23;;;941:6;928:23;919:32;-1:-1:-1;1042:1:110;919:32;1033:10;:15;:37;;1060:6;1069:1;1060:10;1033:37;;728:287:111;817:7;;934:4;907:31;;;957:10;:23;;979:1;957:23;;;970:6;957:23;948:32;1006:1;;-1:-1:-1;728:287:111;-1:-1:-1;;;;728:287:111:o;328:129:112:-;-1:-1:-1;445:1:112;;448;;-1:-1:-1;328:129:112:o;356::116:-;-1:-1:-1;473:1:116;;476;;-1:-1:-1;356:129:116:o;287::117:-;-1:-1:-1;404:1:117;;;;-1:-1:-1;287:129:117:o;660:288:120:-;749:7;;867:4;840:31;;;899:1;890:10;;:23;;912:1;890:23;;359:239:134;-1:-1:-1;586:1:134;;440:7;;-1:-1:-1;359:239:134:o;339:355:135:-;666:1;642;616:27;;;611:33;339:355;;;;;:::o;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;2762:1882:141:-;2865:14;2881:21;2904:32;2994:14;3035:12;3030:789;3060:15;3053:22;;3030:789;;;3107:17;3155:9;3150:253;3174:5;:12;3170:1;:16;3150:253;;;3220:15;3237:14;3255:34;3269:4;3275:5;3281:1;3275:8;;;;;;;;:::i;3255:34::-;-1:-1:-1;3361:19:141;;;;;-1:-1:-1;;3188:3:141;;3150:253;;;;3424:10;3437:25;3452:9;3437:14;:25::i;:::-;3424:38;;3493:6;3488:2;:11;3484:176;;;3536:2;3527:11;;3581:4;3564:22;;3628:9;3612:25;;3484:176;3733:5;:12;3727:2;:18;3723:78;;3773:5;;;;3723:78;-1:-1:-1;;3077:6:141;;3030:789;;;-1:-1:-1;3863:12:141;;3968:4;3962:11;;3863:21;;;;3994:34;;;4091:1;4087:23;4081:4;4077:34;4062:50;;4049:64;;3962:11;-1:-1:-1;3837:23:141;;;4224:404;4248:5;:12;4244:1;:16;4224:404;;;4286:15;4303:14;4321:38;4335:8;4321:38;;4345:5;4351:1;4345:8;;;;;;;;:::i;4321:38::-;4285:74;;;;4418:13;4408:7;:23;4436:1;4407:30;4403:211;;4477:23;;;;4403:211;;;4562:5;4568:1;4562:8;;;;;;;;:::i;:::-;;;;;;;4547:9;4557:1;4547:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;4592:3;;;;;4403:211;-1:-1:-1;;4262:3:141;;4224:404;;;;2952:1686;;2762:1882;;;;;:::o;1664:727::-;1738:14;1754;1829:4;1826:1;1819:15;1861:4;1855;1847:19;1902:4;1899:1;1889:18;1879:28;;2373:1;2364:6;2361:1;2356:15;2352:23;2342:33;;1664:727;;;;;:::o;680:427:137:-;729:7;822:17;817:1;:22;813:63;;-1:-1:-1;862:3:137;;680:427;-1:-1:-1;680:427:137:o;813:63::-;-1:-1:-1;375:66:137;115;920:1;915:6;;;914:19;909:24;;;975:1;970:6;;;241:66;969:19;;;952:12;;951:38;1018:1;1013:6;;;1008:12;1007:25;499:66;1051:13;1069:3;1050:22;;680:427::o;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;3054:319::-;3149:14;3199:15;3217:36;3231:8;3241:11;3217:13;:36::i;:::-;3328:14;3325:1;3320:23;;3054:319;-1:-1:-1;;;;3054:319:92:o;3379:320::-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;1923:555:98:-;2056:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:28:98;-1:-1:-1;2107:364:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2107:364:98;;;;;;;;;;;;1923:555::o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;2368:316::-;2460:14;2510:15;2528:36;2542:8;2552:11;2528:13;:36::i;:::-;2639:14;2636:1;2631:23;;2368:316;-1:-1:-1;;;;2368:316:92:o;2690:358::-;2812:18;2870:15;2888:36;2902:8;2912:11;2888:13;:36::i;:::-;3003:14;3000:1;2995:23;;2690:358;-1:-1:-1;;;;2690:358:92:o;10360:1022:138:-;10403:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:17:138;10432:23;10458:866;;;;;;;;10562:1;10458:866;;;;10602:1;10458:866;;;;10642:1;10458:866;;;;10686:1;10458:866;;;;10730:1;10458:866;;;;10824:1;10458:866;;;;10869:1;10458:866;;;;2872:6;2689;3175:49;10458:866;;;;10954:1;10458:866;;;;10999:1;10458:866;;;;11042:1;10458:866;;;;11089:1;10458:866;;;;11134:37;2099:35:140;1320:4;2357:52;1881:31;2308:102;;1357:1083;11134:37:138;10458:866;;;;11215:37;2445:36:142;470:4;2627:54;2090:34;417:4;2266:50;1637;366:4;1881:82;1246:38;295:4;1436:58;868:38;1417:78;1862:102;2247:70;2608:74;;669:2029;11215:37:138;10458:866;;11312:1;10458:866;;;;;;;9906:4;9900:11;;9924:42;;;9992:26;;;9979:40;;10038:39;;10087:15;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;10038:39;11370:5;-1:-1:-1;;10360:1022:138:o;41463:710::-;41690:13;;41535:7;;;;41597:1;41806:92;41868:4;41864:9;41860:1;41853:4;41850:1;41845:13;41841:21;41837:37;41830:45;41823:4;41820:1;41817:11;41813:63;41806:92;;;41891:1;41884:9;41806:92;;;42016:14;;;;41932:4;41928:12;;;41942:1;41924:20;;41976:16;;;41965:28;;;;42049:87;;42101:22;;;;;;11953:19:212;;;11988:12;42101:22:138;;;;;;;;;;;;;;42085:40;;;;;;;;:::i;42049:87::-;-1:-1:-1;42153:6:138;;41463:710;-1:-1:-1;;;41463:710:138:o;338:950:143:-;423:11;436:13;503:27;518:5;525:4;503:14;:27::i;:::-;485:45;;-1:-1:-1;485:45:143;-1:-1:-1;485:45:143;544:728;;-1:-1:-1;665:16:143;;;;;759:4;753:11;;785:17;;;857:4;842:20;;;901:26;;;961:14;;948:28;;1112:15;;;;864;838:42;;;1203:4;1186:21;;;;;1171:37;:43;;;1152:62;;;338:950;1130:4;1112:22;;;1256:1;1240:17;;338:950::o;42272:346:138:-;42356:7;42470:109;42544:1;42537:4;42533:1;42523:6;42517:13;42514:1;42509:22;42505:30;42501:41;42498:48;42492:3;42484:6;42481:15;42477:70;42470:109;;;42572:1;42564:6;42560:14;42550:24;;42470:109;;;-1:-1:-1;42605:6:138;;42272:346;-1:-1:-1;;42272:346:138:o;42989:1999::-;43254:13;;43068:7;;43248:4;43244:24;16488:20:139;43291:39:138;;43287:130;;43353:53;;;;;41413:28;;;;;43353:53;;;5446:25:212;5419:18;;43353:53:138;5300:177:212;43287:130:138;43727:11;;43691:1;43679:14;;;;;43460:25;;43527:27;;43713:33;;43740:4;43713:33;43426:31;43838:799;43852:4;43838:799;;43879:156;43962:3;43954:6;43951:15;43924:23;43914:6;43908:13;43905:1;43900:22;43897:51;43890:59;43886:81;43879:156;;;44015:1;44007:6;44003:14;43993:24;;43879:156;;;44196:1;44188:6;44184:14;44174:24;;44522:3;44514:6;44511:15;44504:23;44480:21;44470:6;44464:13;44461:1;44456:22;44453:49;44450:78;44447:176;;;-1:-1:-1;44559:1:138;44591:14;;;;44447:176;43838:799;;;43842:2;44903:3;44894:6;:12;44890:69;;;44929:19;;;;;;;;;;;;;;44890:69;-1:-1:-1;44975:6:138;;42989:1999;-1:-1:-1;;;;;42989:1999:138:o;9774:2851:141:-;10370:1;10360:12;;;10410:13;;9898:4;;;;9913:73;;1388:4;10425;10406:24;;;10512:29;10500:42;;10576:22;;;;10500:42;9898:4;10682:1600;10698:3;10689:6;:12;10682:1600;;;11002:1;10990:14;;11041:13;11096:17;;;;11151:13;;11096:17;;10721;;;;11056:4;11037:24;10721:17;;11244:25;11037:24;11264:4;11244:13;:25::i;:::-;11208:61;;;;11291:11;11349:12;11305:41;11343:1;11333:7;:11;11320:9;:25;11305:14;:41::i;:::-;:56;1230:1;11590:22;11575:38;;11569:45;;-1:-1:-1;;1101:8:141;11401:25;;;;-1:-1:-1;11720:26:141;;11701:45;;;-1:-1:-1;11697:571:141;;-1:-1:-1;11697:571:141;-1:-1:-1;12134:4:141;;-1:-1:-1;11978:2:141;11973:17;;;;-1:-1:-1;12045:2:141;12040:17;12036:38;;;12076:6;12032:51;;-1:-1:-1;12126:35:141;;-1:-1:-1;;;;;12126:35:141;11697:571;12224:25;12239:9;12224:14;:25::i;:::-;12208:41;;;;10703:1579;;;10682:1600;;;-1:-1:-1;12544:1:141;;;;-1:-1:-1;12544:1:141;;-1:-1:-1;9774:2851:141;-1:-1:-1;;;;;;;9774:2851:141:o;23858:5085:138:-;24134:39;:5;:37;:39::i;:::-;24270:9;;;:39;;3023:6;24283:26;24270:39;;;;24369:35;;;;;24690:16;;24776:20;24745:57;-1:-1:-1;24768:29:138;;;24745:57;;;24897:21;;24745:57;;24889:30;24799:1;24885:38;24745:57;24861:63;-1:-1:-1;25084:12:138;;25129:26;;26044:4;26033:16;;26262:22;24952:20;26254:31;;;26134:177;;26105:396;;26604:22;;25129:26;;25279:6;25261:25;;;25531:1;25519:14;;25479:59;;;;;;26478:1;26596:31;;;26592:39;26105:396;26567:65;26731:1;26727;26710:15;26706:23;26698:35;26991:24;;27067:26;;27095:11;27063:44;27060:67;;;27032:96;;27871:12;;27440:4;27425:19;;;27590:33;;;27425:198;27802:4;27793:13;;27782:25;;;27425:382;27864:34;;;;28081:4;28071:14;;;28067:860;;28425:12;;28527:4;28521:11;;28553:25;;;3266:4;28644;28640:21;;;28618:44;;28599:64;;28697:21;;28684:35;;;28850:17;;28869:11;28846:35;28843:51;28824:71;;28067:860;23964:4973;;23858:5085;;;:::o;1356:1144:143:-;1530:16;;;;1581:20;;;;1442:11;1673:15;;;1739:4;1726:18;;;1442:11;;;;1716:29;;;;;1851:1;1844:4;1827:22;;1823:30;1949:26;;;1946:483;;;2027:6;2015:10;2011:23;1994:421;2051:3;2044:11;1994:421;;2224:10;2218:4;2214:21;2201:11;2198:38;2195:202;;2273:4;2263:14;;2338:6;2325:10;2319:4;2315:21;2311:34;2302:43;;2370:5;;2195:202;2093:10;;-1:-1:-1;2147:6:143;2131:23;;1994:421;;;1998:38;1946:483;2471:22;2448:20;;;;:45;;;;-1:-1:-1;1356:1144:143;;;;-1:-1:-1;1356:1144:143;-1:-1:-1;1356:1144:143:o;18146:631:138:-;18214:19;18322:4;18315:5;18311:16;18305:23;18302:1;18297:32;18282:47;;18352:11;18367:1;18352:16;18348:423;;18502:4;18491:16;;18557:24;;18384:25;18549:33;18584:1;18545:41;;;18491:16;18603:45;;18679:17;18700:4;18679:25;18675:86;;18731:15;;;;;;;;;;;;;;18348:423;18204:573;18146:631;:::o;18783:5069::-;18887:7;18948:70;19036:18;19072:16;19106;19139:64;19168:5;:20;;;19190:4;19196:6;19139:28;:64::i;:::-;19368:21;;;19350:40;;20777:18;;;;18930:273;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;;-1:-1:-1;18930:273:138;-1:-1:-1;19392:11:138;19346:58;;19527:1;19217:19;19505:20;;;19501:28;;;;19217:19;;19527:1;20777:37;;:42;20773:948;;20857:22;;;;20883:4;20857:30;20905:802;20912:12;;20905:802;;21047:14;;21348:16;21338:26;;21322:43;;21318:142;;21402:4;21393:13;;21432:5;;;21318:142;-1:-1:-1;21619:14:138;21685:3;;;;;21635:6;21615:27;20905:802;;;20821:900;20773:948;22133:22;;;;22158:6;22133:31;22182:99;3638:1;22233:6;:46;;22264:15;22233:46;;;22260:1;22242:15;:19;22233:46;22182:5;;:99;:20;:99::i;:::-;22089:207;22572:6;22567:1239;;22730:4;22724:11;;22769:14;;;22756:28;;;23123:22;;;;23149:4;23123:30;:44;;23240:20;;22598:11;23404:34;23411:4;23417:10;23429:8;23404:34;;;:::i;:::-;23580:4;23571:14;;23564:33;-1:-1:-1;23682:22:138;;;;;23717:1;23707:6;23682:31;;;23681:37;23730:4;23723:11;;;;23680:55;;;;23655:80;;23753:18;;;:38;;;;;;22567:1239;-1:-1:-1;23827:8:138;;18783:5069;-1:-1:-1;;;;;;;;;;18783:5069:138:o;12464:5374::-;12731:4;12720:16;;12714:23;12607:19;12706:32;12777:15;;12773:127;;12823:58;;;;;41413:28;;;;;12823:58;;;5446:25:212;5419:18;;12823:58:138;5300:177:212;12773:127:138;12589:325;13116:39;:5;:37;:39::i;:::-;13391:9;;;;;13345:125;2689:6;13391:37;;;13345:125;13333:137;;;13508:17;;;;3023:6;13651:15;;;13528:4;13508:24;;;;13670:4;13651:23;;;;;13836:22;;;13835:31;13815:52;;-1:-1:-1;14375:20:138;;;14371:1378;;2689:6;14419:5;:9;;;:37;14460:1;14419:42;14415:682;;14492:59;;;;;41413:28;;;;;14492:59;;;5446:25:212;5419:18;;14492:59:138;5300:177:212;14415:682:138;14832:32;;;14924:4;14904:24;;;14886:15;;;:42;15035:18;;;;14832:32;;-1:-1:-1;15035:43:138;;14852:12;15035:29;:43::i;:::-;15014:18;;;:64;14371:1378;;;15430:1;15412:15;:19;15408:341;;;15470:15;15455:12;:30;15451:284;;;15516:55;;;;;41413:28;;;;;15516:55;;;5446:25:212;5419:18;;15516:55:138;5300:177:212;15451:284:138;15615:15;15600:12;:30;15596:139;;;15661:55;;;;;41413:28;;;;;15661:55;;;5446:25:212;5419:18;;15661:55:138;5300:177:212;15596:139:138;15849:38;;;:1;:38;15942:4;15916;:22;;15915:31;;;15960:1806;15997:3;15988:6;:12;15960:1806;;;16062:17;;;;16239:4;16224:37;;;;16218:44;16062:27;;;16093:6;16061:38;;16036:22;16210:53;16315:1;16298:1420;16323:8;16318:1;:13;16298:1420;;16540:4;16523:14;:21;16548:4;16523:29;16519:230;;16671:21;;16665:4;16661:32;;16519:230;16891:21;;16985:18;;;;16888:1;16883:30;;;;;16985:32;;16883:30;16985:22;:32::i;:::-;16964:18;;;:53;17555:81;17579:13;;;:37;;;;;17596:15;17615:1;17596:20;17579:37;:56;;17634:1;17579:56;;;17619:12;17579:56;17555:18;;;;;:23;:81::i;:::-;17506:18;;;:130;-1:-1:-1;17698:1:138;17680:19;;;;;16333:3;;16298:1420;;;-1:-1:-1;;17735:16:138;;;;;-1:-1:-1;16012:4:138;16002:14;15960:1806;;;-1:-1:-1;;;;17820:1:138;17800:21;17780:17;;;;:41;;;;-1:-1:-1;;;12464:5374:138:o;28949:6035::-;29042:20;;;;29328:4;29317:16;;29311:23;29107:4;29089:22;;;;29017;29303:32;29337:1;29299:40;;29363:14;;;29359:5619;;29400:12;;;;;;;;;;;;;;29359:5619;29887:14;29915:25;29943:5;:18;;;29915:46;;30086:5;30080:12;30159:6;30149;30143:13;30137:4;30133:24;30129:37;30183:172;30204:11;30197:19;30183:172;;30314:13;;30253:11;;-1:-1:-1;30308:4:138;30304:24;30330:6;30300:37;30183:172;;;-1:-1:-1;30790:4:138;30784:11;31027:4;31016:16;;31132:20;;30784:11;;-1:-1:-1;30643:4:138;30631:17;;;30598:6;30756:1;;30958:19;;;;31084:1;;31124:29;;;31049:2893;31231:3;31228:1;31225:10;31049:2893;;;31523:1;31511:10;31507:18;31499:6;31495:31;31485:41;;31685:1;31671:11;31663:6;31659:24;31655:32;31847:362;31873:22;31857:14;31854:42;31847:362;;;32039:18;;32059:6;32035:31;32178:4;32161:22;;;-1:-1:-1;32035:31:138;31948:43;;32121:1;31847:362;;;-1:-1:-1;32610:1:138;32590:22;;32647:17;;;;32709:13;;32689:34;;32647:17;32763:22;;;;;32947:31;;32542:11;33058:433;33084:1;33068:14;33065:21;33058:433;;;33289:25;33283:4;33279:36;33317:6;33275:49;33373:25;;33353:46;;33460:4;33443:22;;;;33138;;;;;33058:433;;;33594:21;;33591:311;;33682:25;33676:4;33672:36;33710:6;33668:49;33766:25;;33746:46;;33873:1;33853:22;;33836:40;;;;33591:311;-1:-1:-1;;;31270:1:138;31310:21;;;31374:20;;31310:21;;31263:9;;;;;31371:1;31366:29;;31049:2893;;;31053:171;;;;34031:6;34023;34016:22;34196:1;34188:6;34184:14;34158:40;;34422:12;34417:1;34413;34405:6;34401:14;34397:22;34391:4;34387:33;34384:51;34346:10;34342:15;34321:18;34315:25;34311:47;34283:174;34243:18;34215:260;34609:4;34605:9;34598:4;34585:11;34581:22;34577:38;34571:4;34564:52;;;;;34823:1;34813:6;34808:1;:11;;34807:17;;;;:::i;:::-;34789:36;;34768:16;;;34759:4;34741:13;34778:6;34750:4;34741:13;:::i;:::-;34740:23;;34739:46;:87;34700:20;;;:126;34898:9;;;:36;;34911:23;34898:36;;;9906:4;9900:11;;3266:4;9924:42;;;9992:26;;;9979:40;;10038:39;;;-1:-1:-1;10087:15:138;;;:19;;;10116:15;;;:19;;;10145;;;:23;;;10178:19;;;:23;;;10211:17;;;:21;;;10242:16;;;:20;;;10272;;;:24;;;10306:18;;;:41;29873:5105;;29007:5977;;;28949:6035;:::o;34990:4165::-;35143:20;;;;35652:12;;35646:19;35061:21;;35143:20;35216:4;35198:22;;;;3266:4;35696:35;;35692:97;;35758:16;;;;;;;;;;;;;;35692:97;35958:4;35952:11;;-1:-1:-1;36118:4:138;36106:17;;36228:4;36213:20;;35803:14;36213:20;36106:17;36250:29;-1:-1:-1;36318:1:138;36564;36549:17;;36537:30;;;;;;;36306:14;36852:1;;;36910:916;36945:9;36937:6;36934:21;36910:916;;;37042:27;;;37071:6;37038:40;;37330:27;37605:31;37609:4;37605:31;;;;37602:56;;37596:4;37592:67;37687:32;;;37680:51;37769:39;;;37252:4;37248:17;;;37244:37;37225:57;;;;;36968:17;36910:916;;;-1:-1:-1;37869:21:138;;37866:41;37843:65;;;37961:38;;;37942:58;37965:23;37942:58;;;37925:76;;38155:41;;;38209:4;38151:52;38147:68;38141:4;38134:82;-1:-1:-1;38468:671:138;38492:12;38488:1;:16;38468:671;;;38747:1;38740:9;;38719:32;;38737:1;38719:32;38713:39;38754:6;38709:52;;;38799:34;;38871:20;;38933:4;38943;38939:20;;;38929:31;;38999:4;38995:20;;;;38991:33;;39059:65;38929:31;38799:34;38991:33;39059:27;:65::i;:::-;-1:-1:-1;;;38506:3:138;;38468:671;;;;35094:4055;;;;;;34990:4165;;;:::o;39161:1947::-;39297:22;;;;39456:4;39450:11;;39322:6;39297:31;;39506;;;39881:4;39860:26;;;39848:39;;40112:17;;;40099:31;;;39450:11;;39297:31;;39382:4;39356:30;;;;;39450:11;40529:563;40547:3;40539:6;40536:15;40529:563;;;41071:4;41058:18;;41052:25;41037:41;;40931:14;;40947:6;40927:27;;40629:17;;;;;40529:563;;;40533:2;;39422:1680;;39161:1947;;;:::o;831:1113:92:-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;11511:947:138:-;11675:4;11668:5;11664:16;11731;11725:23;11722:1;11717:32;11896:1;11878:16;11874:24;11856:16;11852:47;11846:54;11843:1;11838:63;11828:614;;11939:12;;11994:17;;12147:4;12136:16;;12130:23;;12022:1;12013:6;11990:30;;;;11986:38;;;;12075:4;12071:21;12055:38;;;12272:4;12299:1;12220:2;12215:21;;;12193:44;;12278:23;12268:34;12350:23;12334:40;12391:37;;11828:614;;11511:947;:::o;3348:5359:140:-;3709:13;;3476:64;;3541:7;;;;;;3826:1;3811:13;;;3807:21;12910:131:139;3903:33:140;;:38;3899:4435;;4137:1;4122:13;;;4118:21;4233:47;4234:15;;;4233:47;4229:4091;;4334:1;4325:10;;;14521:65:139;4618:169:140;4677:11;4673:1;4661:8;4655:15;4652:1;4647:24;4643:32;4639:50;4632:58;4618:169;;4752:1;4742:8;4738:16;4726:28;;4618:169;;;-1:-1:-1;5330:11:140;;5034:6;4987:53;;;5316:33;;5343:4;5316:33;5404:17;;;5400:106;;;5460:19;;;;;;;;;;;;;;5400:106;-1:-1:-1;5557:6:140;-1:-1:-1;5565:10:140;;-1:-1:-1;5577:8:140;-1:-1:-1;5577:8:140;;-1:-1:-1;5549:47:140;;-1:-1:-1;;;5549:47:140;4229:4091;5757:6;5894:1;5881:14;;5736:18;12910:131:139;13103:29;6241:173:140;6300:15;6296:1;6284:8;6278:15;6275:1;6270:24;6266:32;6262:54;6255:62;6241:173;;6379:1;6369:8;6365:16;6353:28;;6241:173;;;6741:5;6737:1;6725:8;6719:15;6716:1;6711:24;6707:32;6703:44;6696:52;6686:567;;6864:1;6850:16;;;6797:8;-1:-1:-1;7042:181:140;7101:15;7097:1;7085:8;7079:15;7076:1;7071:24;7067:32;7063:54;7056:62;7042:181;;7184:1;7174:8;7170:16;7158:28;;7042:181;;;-1:-1:-1;;7326:14:140;;;;;:73;;;7356:9;7368:1;7356:13;7345:8;:24;:53;;;;7385:9;7397:1;7385:13;7373:8;:25;7345:53;7322:202;;;7434:67;;;;;41413:28:138;;;;;7434:67:140;;;5446:25:212;5419:18;;7434:67:140;5300:177:212;7322:202:140;8031:11;;7727:6;1320:4;7677:46;;;7676:57;;8017:33;;8044:4;8017:33;8105:21;;;8101:110;;;8165:19;;;;;;;;;;;;;;8101:110;-1:-1:-1;8262:6:140;-1:-1:-1;8270:10:140;;-1:-1:-1;8282:8:140;-1:-1:-1;8282:8:140;;-1:-1:-1;8254:47:140;;-1:-1:-1;;;;8254:47:140;3899:4435;8451:11;;8437:33;;8464:4;8437:33;8501:20;;;8497:194;;8548:19;;;;;;;;;;;;;;8497:194;8613:63;;;;;41413:28:138;;;;;8613:63:140;;;5446:25:212;5419:18;;8613:63:140;5300:177:212;3348:5359:140;;;;;;;;:::o;8331:369:138:-;8407:12;8465:15;:7;8478:1;8465:12;:15::i;:::-;8455:25;-1:-1:-1;;8649:16:138;8618:47;;8549:4;8544:1;8512:33;;;8511:42;;;;8567:11;;8670;;8617:65;8331:369;;;;:::o;9220:345::-;9289:12;9386:4;9355:35;;9408:11;;;9404:73;;;9446:16;;;;;;;;;;;;;;9404:73;-1:-1:-1;;9515:32:138;;;9220:345::o;8706:508::-;8776:12;8873:4;8842:35;;;9028:12;;;8941:1;8909:33;;;8908:42;9010:4;8978:36;;;9058:13;;;9054:65;;;-1:-1:-1;9097:7:138;9054:65;9191:4;9184:3;:11;;9178:1;9168:6;:11;;9157:7;:23;:39;9132:65;;;;;8706:508;;;;:::o;9010:1887:140:-;9105:13;9171:11;;;9209:4;9200:13;;9196:1685;;;9240:58;;;;;41413:28:138;;;;;9240:58:140;;;5446:25:212;5419:18;;9240:58:140;5300:177:212;9196:1685:140;9323:6;9333:1;9323:11;9319:1562;;9361:60;;;;;41413:28:138;;;;;9361:60:140;;;5446:25:212;5419:18;;9361:60:140;5300:177:212;9319:1562:140;9455:1;9446:6;:10;9460:1;9446:15;9442:1439;;9488:59;;;;;41413:28:138;;;;;9488:59:140;;;5446:25:212;5419:18;;9488:59:140;5300:177:212;9442:1439:140;9603:7;;;9586:14;9669:1198;9686:5;9676:6;:15;9669:1198;;9830:13;;9715:19;9822:22;;;;9969:1;:16;;;12910:131:139;10075:27:140;;:32;10071:657;;-1:-1:-1;10144:41:140;;;10071:657;;;14199:93:139;10265:31:140;;:36;10261:467;;-1:-1:-1;10338:46:140;;;10261:467;;;14371:93:139;10464:31:140;;:36;10460:268;;-1:-1:-1;10537:46:140;;;10460:268;;;10645:60;;;;;41413:28:138;;;;;10645:60:140;;;5446:25:212;5419:18;;10645:60:140;5300:177:212;10460:268:140;10759:21;;10750:30;;;;;-1:-1:-1;;10840:8:140;;;;;10817:1;10802:16;9669:1198;;;9568:1313;;9130:1761;9010:1887;;;;;:::o;11526:4950::-;12331:11;;;12325:18;11625:13;;;;11891:18;;11625:13;;12383;;;12241:11;;;12340:1;12625:10;;:62;;;;-1:-1:-1;7285:1:139;12641:20:140;;13103:29:139;12640:41:140;12639:48;;12625:62;12621:1379;;;12726:1;12720:3;:7;12711:16;;12886:2;12872:11;12865:4;12862:1;12857:13;12853:31;12849:40;12835:11;12828:4;12825:1;12820:13;12816:31;12812:78;12800:90;;12621:1379;;;13036:4;13033:1;13028:13;13009:32;;13299:1;13290:6;:10;:62;;;;-1:-1:-1;7285:1:139;13306:20:140;;13103:29:139;13305:41:140;13304:48;;13290:62;13286:696;;;13395:1;13389:3;:7;13380:16;;13508:11;13501:4;13498:1;13493:13;13489:31;13477:43;;13286:696;;;13748:10;;13744:238;;13801:1;13795:3;:7;13786:16;;13839:1;13828:12;;13744:238;;;13902:57;;;;;41413:28:138;;;;;13902:57:140;;;5446:25:212;5419:18;;13902:57:140;5300:177:212;13744:238:140;12077:1937;;;14146:486;14163:5;14153:6;:15;;:32;;;;;14183:2;14172:8;:13;14153:32;14146:486;;;14497:13;;14494:1;14489:22;14485:40;;;14531:2;14527:17;;;14481:64;14470:76;;;;;14609:8;;;;;14581:10;;14146:486;;;14848:5;14838:6;:15;14834:1626;;15002:13;;14895;14994:22;14990:40;;;15230:1;15222:9;;15218:451;;;41413:28:138;;;;;15289:39:140;15266:63;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;15218:451:140;15410:2;:14;;;15401:24;;15455:14;;;:22;-1:-1:-1;15451:155:140;;;41413:28:138;;;;;15539:39:140;41254:203:138;15451:155:140;15631:15;;;;;-1:-1:-1;15690:8:140;;;;;15881:547;15898:5;15888:6;:15;15881:547;;16128:13;;15997:23;16120:22;16224:18;16197:46;;16193:179;;41413:28:138;;;;;16305:39:140;41254:203:138;16193:179:140;-1:-1:-1;16397:8:140;;;;;15881:547;;3762:535:142;4038:13;;3885:7;;;;4054:1;4030:22;;;4026:30;4079:27;;;4075:123;;4129:58;;;;;41413:28:138;;;;;4129:58:142;;;5446:25:212;5419:18;;4129:58:142;5300:177:212;4075:123:142;4266:6;4287:1;4258:32;;;;;3762:535;;;;;;;:::o;4349:1314::-;4642:11;;4758:13;;4487:7;;;;4774:1;4750:22;;;4746:30;;4628:33;;4655:4;4628:33;4807:27;;;4803:844;;4863:52;4890:1;4881:10;;4893:3;15866:76:139;4863:17:142;:52::i;:::-;4854:61;-1:-1:-1;4934:13:142;4983:67;5003:14;5019:4;5025:16;4854:61;4983:19;:67::i;:::-;4965:85;;-1:-1:-1;4965:85:142;-1:-1:-1;5078:48:142;4965:85;5104:3;15866:76:139;5078:17:142;:48::i;:::-;5275:13;;5069:57;;-1:-1:-1;5291:1:142;5272;5267:22;;;;5263:30;;-1:-1:-1;6613:41:139;5332:25:142;;5328:135;;41413:28:138;;;;;5404:39:142;5388:56;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;5328:135:142;5497:1;5488:10;;;-1:-1:-1;5513:5:142;-1:-1:-1;5480:40:142;;-1:-1:-1;;5480:40:142;4803:844;5608:6;5629:1;5600:32;;;;;;;;5699:1704;6020:11;;6136:13;;5849:7;;;;6152:1;6128:22;;;6124:30;;6006:33;;6033:4;6006:33;6185:27;;;6181:1206;;6241:52;6268:1;6259:10;;6271:3;15866:76:139;6241:17:142;:52::i;:::-;6232:61;-1:-1:-1;6312:9:142;6353:66;6373:14;6389:4;6395:15;6232:61;6353:19;:66::i;:::-;6339:80;;-1:-1:-1;6339:80:142;-1:-1:-1;6339:80:142;6498:48;6339:80;6524:3;15866:76:139;6498:17:142;:48::i;:::-;6489:57;-1:-1:-1;6565:9:142;6606:66;6626:14;6642:4;6648:15;6489:57;6606:19;:66::i;:::-;6592:80;;-1:-1:-1;6745:1:142;6740:6;;;6713:34;;;;;6592:80;-1:-1:-1;6776:48:142;6592:80;6802:3;15866:76:139;6776:17:142;:48::i;:::-;6974:13;;6767:57;;-1:-1:-1;6990:1:142;6971;6966:22;;;;6962:30;;-1:-1:-1;6613:41:139;7031:25:142;;7027:135;;41413:28:138;;;;;7103:39:142;41254:203:138;7027:135:142;-1:-1:-1;7196:1:142;7187:10;;;-1:-1:-1;7199:7:142;-1:-1:-1;7179:28:142;;-1:-1:-1;;;7179:28:142;6181:1206;41413:28:138;;;;;7332:39:142;7316:56;;;;;;;;;5446:25:212;;5434:2;5419:18;;5300:177;10078:2147:142;10367:11;;10483:13;;10212:7;;;;10499:1;10475:22;;;10471:30;;10353:33;;10380:4;10353:33;10532:27;;;10528:1681;;10588:52;10615:1;10606:10;;10618:3;15866:76:139;10588:17:142;:52::i;:::-;10817:13;;10579:61;;-1:-1:-1;10833:1:142;10659:9;10809:22;;;10805:30;;-1:-1:-1;10874:25:142;;;10870:269;;-1:-1:-1;10927:1:142;10870:269;;;10989:52;11009:14;11025:4;11031:1;11034:6;10989:19;:52::i;:::-;10975:66;;-1:-1:-1;10975:66:142;-1:-1:-1;11072:48:142;10975:66;11098:3;15866:76:139;11072:17:142;:48::i;:::-;11063:57;;10870:269;11315:13;;11331:1;11157:9;11307:22;;;11303:30;;-1:-1:-1;11372:25:142;;;11368:269;;-1:-1:-1;11425:1:142;11368:269;;;11487:52;11507:14;11523:4;11529:1;11532:6;11487:19;:52::i;:::-;11473:66;;-1:-1:-1;11473:66:142;-1:-1:-1;11570:48:142;11473:66;11596:3;15866:76:139;11570:17:142;:48::i;:::-;11561:57;;11368:269;11849:13;;11696:1;11655:15;11841:22;;;;11837:30;;;;-1:-1:-1;11691:6:142;;;11686:12;;6613:41:139;11906:25:142;;11902:135;;41413:28:138;;;;;11978:39:142;41254:203:138;11902:135:142;12071:1;12062:10;;;-1:-1:-1;12074:7:142;-1:-1:-1;12054:28:142;;-1:-1:-1;;;;12054:28:142;7466:2576;7757:11;;7873:13;;7602:7;;;;7889:1;7865:22;;;7861:30;;7743:33;;7770:4;7743:33;7922:27;;;7918:2108;;7978:52;8005:1;7996:10;;8008:3;15866:76:139;7978:17:142;:52::i;:::-;7969:61;-1:-1:-1;8091:9:142;8132:66;8152:14;8168:4;8174:15;7969:61;8132:19;:66::i;:::-;8118:80;;-1:-1:-1;8118:80:142;-1:-1:-1;8225:48:142;8118:80;8251:3;15866:76:139;8225:17:142;:48::i;:::-;8487:13;;8216:57;;-1:-1:-1;8503:1:142;8329:9;8479:22;;;8475:30;;-1:-1:-1;8544:25:142;;;8540:269;;-1:-1:-1;8597:1:142;8540:269;;;8659:52;8679:14;8695:4;8701:1;8704:6;8659:19;:52::i;:::-;8645:66;;-1:-1:-1;8645:66:142;-1:-1:-1;8742:48:142;8645:66;8768:3;15866:76:139;8742:17:142;:48::i;:::-;8733:57;;8540:269;9022:13;;9038:1;8864:9;9014:22;;;9010:30;;-1:-1:-1;9079:25:142;;;9075:269;;-1:-1:-1;9132:1:142;9075:269;;;9194:52;9214:14;9230:4;9236:1;9239:6;9194:19;:52::i;:::-;9180:66;;-1:-1:-1;9180:66:142;-1:-1:-1;9277:48:142;9180:66;9303:3;15866:76:139;9277:17:142;:48::i;:::-;9268:57;;9075:269;9567:13;;9583:1;9362:15;9559:22;;;;9555:30;;-1:-1:-1;9403:1:142;9398:6;;;9393:12;;9414:1;9409:6;;;9393:23;6613:41:139;9624:25:142;;9620:135;;41413:28:138;;;;;9696:39:142;41254:203:138;9620:135:142;9789:1;9780:10;;;-1:-1:-1;9792:7:142;-1:-1:-1;9772:28:142;;-1:-1:-1;;;;;9772:28:142;2744:967;3045:13;;2892:7;;;;3061:1;3037:22;;;3033:30;3086:25;;;3082:119;;41413:28:138;;;;;3150:39:142;41254:203:138;3082:119:142;3224:77;3315:18;3347:16;3377;3406:58;3435:14;3451:4;3457:6;3406:28;:58::i;:::-;3210:254;;;;;;;;3474:13;3490:41;3504:4;3510:10;3522:8;3490:13;:41;;:::i;:::-;3474:57;;3553:3;3545:5;:11;3541:105;;;3579:56;;;;;41413:28:138;;;;;3579:56:142;;;5446:25:212;5419:18;;3579:56:142;5300:177:212;3541:105:142;3664:8;;;;-1:-1:-1;2744:967:142;-1:-1:-1;;;;;;;;;2744:967:142:o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:212:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:212:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:253;804:2;798:9;846:4;834:17;;881:18;866:34;;902:22;;;863:62;860:88;;;928:18;;:::i;:::-;964:2;957:22;732:253;:::o;990:334::-;1061:2;1055:9;1117:2;1107:13;;1122:66;1103:86;1091:99;;1220:18;1205:34;;1241:22;;;1202:62;1199:88;;;1267:18;;:::i;:::-;1303:2;1296:22;990:334;;-1:-1:-1;990:334:212:o;1329:245::-;1377:4;1410:18;1402:6;1399:30;1396:56;;;1432:18;;:::i;:::-;-1:-1:-1;1489:2:212;1477:15;1494:66;1473:88;1563:4;1469:99;;1329:245::o;1579:462::-;1621:5;1674:3;1667:4;1659:6;1655:17;1651:27;1641:55;;1692:1;1689;1682:12;1641:55;1728:6;1715:20;1759:48;1775:31;1803:2;1775:31;:::i;:::-;1759:48;:::i;:::-;1832:2;1823:7;1816:19;1878:3;1871:4;1866:2;1858:6;1854:15;1850:26;1847:35;1844:55;;;1895:1;1892;1885:12;1844:55;1960:2;1953:4;1945:6;1941:17;1934:4;1925:7;1921:18;1908:55;2008:1;1983:16;;;2001:4;1979:27;1972:38;;;;1987:7;1579:462;-1:-1:-1;;;1579:462:212:o;2046:183::-;2106:4;2139:18;2131:6;2128:30;2125:56;;;2161:18;;:::i;:::-;-1:-1:-1;2206:1:212;2202:14;2218:4;2198:25;;2046:183::o;2234:662::-;2288:5;2341:3;2334:4;2326:6;2322:17;2318:27;2308:55;;2359:1;2356;2349:12;2308:55;2395:6;2382:20;2421:4;2445:60;2461:43;2501:2;2461:43;:::i;2445:60::-;2539:15;;;2625:1;2621:10;;;;2609:23;;2605:32;;;2570:12;;;;2649:15;;;2646:35;;;2677:1;2674;2667:12;2646:35;2713:2;2705:6;2701:15;2725:142;2741:6;2736:3;2733:15;2725:142;;;2807:17;;2795:30;;2845:12;;;;2758;;2725:142;;;-1:-1:-1;2885:5:212;2234:662;-1:-1:-1;;;;;;2234:662:212:o;2901:793::-;3037:6;3045;3053;3106:2;3094:9;3085:7;3081:23;3077:32;3074:52;;;3122:1;3119;3112:12;3074:52;3162:9;3149:23;3191:18;3232:2;3224:6;3221:14;3218:34;;;3248:1;3245;3238:12;3218:34;3271:49;3312:7;3303:6;3292:9;3288:22;3271:49;:::i;:::-;3261:59;;3373:2;3362:9;3358:18;3345:32;3329:48;;3402:2;3392:8;3389:16;3386:36;;;3418:1;3415;3408:12;3386:36;3441:63;3496:7;3485:8;3474:9;3470:24;3441:63;:::i;:::-;3431:73;;3557:2;3546:9;3542:18;3529:32;3513:48;;3586:2;3576:8;3573:16;3570:36;;;3602:1;3599;3592:12;3570:36;;3625:63;3680:7;3669:8;3658:9;3654:24;3625:63;:::i;:::-;3615:73;;;2901:793;;;;;:::o;4164:250::-;4249:1;4259:113;4273:6;4270:1;4267:13;4259:113;;;4349:11;;;4343:18;4330:11;;;4323:39;4295:2;4288:10;4259:113;;;-1:-1:-1;;4406:1:212;4388:16;;4381:27;4164:250::o;4419:329::-;4460:3;4498:5;4492:12;4525:6;4520:3;4513:19;4541:76;4610:6;4603:4;4598:3;4594:14;4587:4;4580:5;4576:16;4541:76;:::i;:::-;4662:2;4650:15;4667:66;4646:88;4637:98;;;;4737:4;4633:109;;4419:329;-1:-1:-1;;4419:329:212:o;4753:217::-;4900:2;4889:9;4882:21;4863:4;4920:44;4960:2;4949:9;4945:18;4937:6;4920:44;:::i;4975:320::-;5043:6;5096:2;5084:9;5075:7;5071:23;5067:32;5064:52;;;5112:1;5109;5102:12;5064:52;5152:9;5139:23;5185:18;5177:6;5174:30;5171:50;;;5217:1;5214;5207:12;5171:50;5240:49;5281:7;5272:6;5261:9;5257:22;5240:49;:::i;5997:435::-;6050:3;6088:5;6082:12;6115:6;6110:3;6103:19;6141:4;6170:2;6165:3;6161:12;6154:19;;6207:2;6200:5;6196:14;6228:1;6238:169;6252:6;6249:1;6246:13;6238:169;;;6313:13;;6301:26;;6347:12;;;;6382:15;;;;6274:1;6267:9;6238:169;;;-1:-1:-1;6423:3:212;;5997:435;-1:-1:-1;;;;;5997:435:212:o;6437:421::-;6662:2;6651:9;6644:21;6625:4;6688:44;6728:2;6717:9;6713:18;6705:6;6688:44;:::i;:::-;6780:9;6772:6;6768:22;6763:2;6752:9;6748:18;6741:50;6808:44;6845:6;6837;6808:44;:::i;:::-;6800:52;6437:421;-1:-1:-1;;;;;6437:421:212:o;6863:747::-;7206:42;7198:6;7194:55;7183:9;7176:74;7286:3;7281:2;7270:9;7266:18;7259:31;7157:4;7313:45;7353:3;7342:9;7338:19;7330:6;7313:45;:::i;:::-;7406:9;7398:6;7394:22;7389:2;7378:9;7374:18;7367:50;7440:44;7477:6;7469;7440:44;:::i;:::-;7426:58;;7532:9;7524:6;7520:22;7515:2;7504:9;7500:18;7493:50;7560:44;7597:6;7589;7560:44;:::i;:::-;7552:52;6863:747;-1:-1:-1;;;;;;;6863:747:212:o;8200:2482::-;8327:6;8358:2;8401;8389:9;8380:7;8376:23;8372:32;8369:52;;;8417:1;8414;8407:12;8369:52;8450:9;8444:16;8479:18;8520:2;8512:6;8509:14;8506:34;;;8536:1;8533;8526:12;8506:34;8574:6;8563:9;8559:22;8549:32;;8619:7;8612:4;8608:2;8604:13;8600:27;8590:55;;8641:1;8638;8631:12;8590:55;8670:2;8664:9;8693:60;8709:43;8749:2;8709:43;:::i;8693:60::-;8787:15;;;8869:1;8865:10;;;;8857:19;;8853:28;;;8818:12;;;;8893:19;;;8890:39;;;8925:1;8922;8915:12;8890:39;8957:2;8953;8949:11;8969:1683;8985:6;8980:3;8977:15;8969:1683;;;9064:3;9058:10;9100:2;9087:11;9084:19;9081:109;;;9144:1;9173:2;9169;9162:14;9081:109;9213:20;;9256:4;9284:16;;;9302:66;9280:89;9276:98;-1:-1:-1;9273:188:212;;;9415:1;9444:2;9440;9433:14;9273:188;9487:22;;:::i;:::-;9550:2;9546;9542:11;9536:18;9529:5;9522:33;9578:2;9622;9618;9614:11;9608:18;9674:4;9665:7;9661:18;9652:7;9649:31;9639:132;;9723:1;9753:3;9748;9741:16;9639:132;9791:14;;;9784:31;9850:11;;;9844:18;;9878:16;;;9875:109;;;9936:1;9966:3;9961;9954:16;9875:109;10016:8;10012:2;10008:17;9997:28;;10066:7;10061:2;10056:3;10052:12;10048:26;10038:127;;10117:1;10106:12;;10147:3;10142;10135:16;10038:127;10204:2;10199:3;10195:12;10189:19;10178:30;;10234:49;10250:32;10278:3;10250:32;:::i;10234:49::-;10310:3;10303:5;10296:18;10357:7;10352:2;10346:3;10341;10337:13;10333:22;10330:35;10327:128;;;10407:1;10437:3;10432;10425:16;10327:128;10468:69;10533:3;10528:2;10521:5;10517:14;10512:2;10507:3;10503:12;10468:69;:::i;:::-;10557:14;;;10550:29;10592:18;;-1:-1:-1;;10630:12:212;;;;9002;;8969:1683;;;-1:-1:-1;10671:5:212;8200:2482;-1:-1:-1;;;;;;;;8200:2482:212:o;10940:184::-;10992:77;10989:1;10982:88;11089:4;11086:1;11079:15;11113:4;11110:1;11103:15;12235:184;12287:77;12284:1;12277:88;12384:4;12381:1;12374:15;12408:4;12405:1;12398:15;12424:128;12491:9;;;12512:11;;;12509:37;;;12526:18;;:::i;12557:125::-;12622:9;;;12643:10;;;12640:36;;;12656:18;;:::i;12687:288::-;12862:2;12851:9;12844:21;12825:4;12882:44;12922:2;12911:9;12907:18;12899:6;12882:44;:::i;:::-;12874:52;;12962:6;12957:2;12946:9;12942:18;12935:34;12687:288;;;;;:::o;12980:184::-;13032:77;13029:1;13022:88;13129:4;13126:1;13119:15;13153:4;13150:1;13143:15", - "linkReferences": {}, - "immutableReferences": { - "55483": [ - { - "start": 497, - "length": 32 - }, - { - "start": 1066, - "length": 32 - } - ], - "55487": [ - { - "start": 400, - "length": 32 - }, - { - "start": 1101, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "authoringMetaHash()": "b6c7175a", - "buildParseMeta(bytes)": "a600bd0a", - "deployExpression(bytes,uint256[],uint256[])": "31a66b65", - "iInterpreter()": "f0cfdd37", - "iStore()": "c19423bc", - "integrityCheck(bytes,uint256[],uint256[])": "cbb7d173", - "integrityFunctionPointers()": "8d614591", - "parse(bytes)": "fab4087a", - "parseMeta()": "ffc25704", - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"authoringMeta\",\"type\":\"bytes\"}],\"internalType\":\"struct RainterpreterExpressionDeployerConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"AuthoringMetaHashMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calculatedInputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bytecodeInputs\",\"type\":\"uint256\"}],\"name\":\"BadOpInputsLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DanglingSource\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"DecimalLiteralOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateFingerprint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorOffset\",\"type\":\"uint256\"}],\"name\":\"DuplicateLHSItem\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entrypointIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minOutputs\",\"type\":\"uint256\"}],\"name\":\"EntrypointMinOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedEntrypoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualEntrypoints\",\"type\":\"uint256\"}],\"name\":\"EntrypointMissing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entrypointIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"inputsLength\",\"type\":\"uint256\"}],\"name\":\"EntrypointNonZeroInput\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExcessLHSItems\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExcessRHSItems\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExpectedLeftParen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ExpectedOperand\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"HexLiteralOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MalformedCommentStart\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MalformedExponentDigits\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MalformedHexLiteral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxSources\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"MissingFinalSemi\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"NotAcceptingInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"OddLengthHexLiteral\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"OperandOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"constantsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"constantRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsConstantRead\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackTopIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackRead\",\"type\":\"uint256\"}],\"name\":\"OutOfBoundsStackRead\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParenOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParserOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackMaxIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bytecodeAllocation\",\"type\":\"uint256\"}],\"name\":\"StackAllocationMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stackIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bytecodeOutputs\",\"type\":\"uint256\"}],\"name\":\"StackOutputsMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StackOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calculatedInputs\",\"type\":\"uint256\"}],\"name\":\"StackUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StackUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stackHighwater\",\"type\":\"uint256\"}],\"name\":\"StackUnderflowHighwater\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnclosedLeftParen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnclosedOperand\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedComment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedInterpreterBytecodeHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedLHSChar\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualOpMeta\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedOpMetaHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedOperand\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"actualPointers\",\"type\":\"bytes\"}],\"name\":\"UnexpectedPointers\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedRHSChar\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnexpectedRightParen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"actualBytecodeHash\",\"type\":\"bytes32\"}],\"name\":\"UnexpectedStoreBytecodeHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnknownWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnsupportedLiteralType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"word\",\"type\":\"string\"}],\"name\":\"WordSize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WriteError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ZeroLengthDecimal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"ZeroLengthHexLiteral\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interpreter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"store\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"opMeta\",\"type\":\"bytes\"}],\"name\":\"DISpair\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"name\":\"ExpressionAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"NewExpression\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"authoringMetaHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"authoringMeta\",\"type\":\"bytes\"}],\"name\":\"buildParseMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"deployExpression\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iInterpreter\",\"outputs\":[{\"internalType\":\"contract IInterpreterV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iStore\",\"outputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minOutputs\",\"type\":\"uint256[]\"}],\"name\":\"integrityCheck\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"integrityFunctionPointers\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"parse\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parseMeta\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId_\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AuthoringMetaHashMismatch(bytes32,bytes32)\":[{\"details\":\"The `IParserV1` MUST revert if the authoring meta provided to a build does not match the authoring meta hash.\"}],\"DuplicateFingerprint()\":[{\"details\":\"For metadata builder.\"}],\"DuplicateLHSItem(uint256)\":[{\"details\":\"Thrown when a stack name is duplicated. Shadowing in all forms is disallowed in Rainlang.\"}],\"EntrypointMissing(uint256,uint256)\":[{\"details\":\"There are more entrypoints defined by the minimum stack outputs than there are provided sources. This means the calling contract WILL attempt to eval a dangling reference to a non-existent source at some point, so this MUST REVERT.\"}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the interpreter address upon construction.\"}}],\"UnexpectedPointers(bytes)\":[{\"details\":\"Thrown when the pointers known to the expression deployer DO NOT match the interpreter it is constructed for. This WILL cause undefined expression behaviour so MUST REVERT.\",\"params\":{\"actualPointers\":\"The actual function pointers found at the interpreter address upon construction.\"}}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"params\":{\"actualBytecodeHash\":\"The bytecode hash that was found at the store address upon construction.\"}}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"params\":{\"opMeta\":\"The raw binary data of the op meta. Maybe compressed data etc. and is intended for offchain consumption.\",\"sender\":\"The `msg.sender` providing the op meta.\"}},\"ExpressionAddress(address,address)\":{\"params\":{\"expression\":\"The address of the deployed expression.\",\"sender\":\"The caller of `deployExpression`.\"}},\"NewExpression(address,bytes,uint256[],uint256[])\":{\"params\":{\"bytecode\":\"As per `IExpressionDeployerV2`.\",\"constants\":\"As per `IExpressionDeployerV2`.\",\"minOutputs\":\"As per `IExpressionDeployerV2`.\",\"sender\":\"The caller of `deployExpression`.\"}}},\"kind\":\"dev\",\"methods\":{\"authoringMetaHash()\":{\"returns\":{\"_0\":\"The authoring meta hash.\"}},\"buildParseMeta(bytes)\":{\"params\":{\"authoringMeta\":\"The authoring meta bytes.\"},\"returns\":{\"_0\":\"The built parse meta bytes.\"}},\"deployExpression(bytes,uint256[],uint256[])\":{\"params\":{\"bytecode\":\"Bytecode verbatim. Exactly how the bytecode is structured is up to the deployer and interpreter. The deployer MUST NOT modify the bytecode in any way. The interpreter MUST NOT assume anything about the bytecode other than that it is valid according to the interpreter's integrity checks. It is assumed that the bytecode will be produced from a human friendly string via. `IParserV1.parse` but this is not required if the caller has some other means to prooduce valid bytecode.\",\"constants\":\"Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.\",\"minOutputs\":\"The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified.\"},\"returns\":{\"_0\":\"The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.\",\"_1\":\"The interpreter store the deployer believes is compatible with the interpreter.\",\"_2\":\"The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of.\"}},\"integrityCheck(bytes,uint256[],uint256[])\":{\"params\":{\"bytecode\":\"The bytecode to check.\",\"constants\":\"The constants to check.\",\"minOutputs\":\"The minimum number of outputs expected from each of the sources. Only applies to sources that are entrypoints. Internal sources have their integrity checked implicitly by the use of opcodes such as `call` that have min/max outputs in their operand.\"}},\"integrityFunctionPointers()\":{\"returns\":{\"_0\":\"The list of integrity function pointers.\"}},\"parse(bytes)\":{\"params\":{\"data\":\"The Rainlang bytes to parse.\"},\"returns\":{\"_0\":\"The expressions that can be evaluated.\",\"_1\":\"The constants that can be referenced by sources.\"}},\"parseMeta()\":{\"returns\":{\"_0\":\"The parse meta bytes.\"}}},\"title\":\"RainterpreterExpressionDeployer\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"BadOpInputsLength(uint256,uint256,uint256)\":[{\"notice\":\"The bytecode and integrity function disagree on number of inputs.\"}],\"DanglingSource()\":[{\"notice\":\"The parser encountered a dangling source. This is a bug in the parser.\"}],\"DecimalLiteralOverflow(uint256)\":[{\"notice\":\"Encountered a decimal literal that is larger than supported.\"}],\"EntrypointMinOutputs(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when some entrypoint has less outputs than the minimum required.\"}],\"EntrypointNonZeroInput(uint256,uint256)\":[{\"notice\":\"Thrown when some entrypoint has non-zero inputs. This is not allowed as only internal dispatches can have source level inputs.\"}],\"ExcessLHSItems(uint256)\":[{\"notice\":\"Encountered too many LHS items.\"}],\"ExcessRHSItems(uint256)\":[{\"notice\":\"Encountered too many RHS items.\"}],\"ExpectedLeftParen(uint256)\":[{\"notice\":\"More specific version of UnexpectedRHSChar where we specifically expected a left paren but got some other char.\"}],\"HexLiteralOverflow(uint256)\":[{\"notice\":\"Encountered a literal that is larger than supported.\"}],\"MalformedCommentStart(uint256)\":[{\"notice\":\"Encountered a comment start sequence that is malformed.\"}],\"MalformedExponentDigits(uint256)\":[{\"notice\":\"Encountered a decimal literal with an exponent that has too many or no digits.\"}],\"MalformedHexLiteral(uint256)\":[{\"notice\":\"Encountered a hex literal with an invalid character.\"}],\"MaxSources()\":[{\"notice\":\"The parser exceeded the maximum number of sources that it can build.\"}],\"MissingFinalSemi(uint256)\":[{\"notice\":\"The expression does not finish with a semicolon (EOF).\"}],\"NotAcceptingInputs(uint256)\":[{\"notice\":\"Encountered inputs where they can't be handled.\"}],\"OddLengthHexLiteral(uint256)\":[{\"notice\":\"Encountered an odd sized hex literal.\"}],\"OutOfBoundsConstantRead(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when a constant read index is outside the constants array.\"}],\"OutOfBoundsStackRead(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when a stack read index is outside the current stack top.\"}],\"ParenOverflow()\":[{\"notice\":\"The parser encountered a paren group deeper than it can process in the memory region allocated for paren tracking.\"}],\"ParserOutOfBounds()\":[{\"notice\":\"The parser moved past the end of the data.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}],\"StackAllocationMismatch(uint256,uint256)\":[{\"notice\":\"The bytecode stack allocation does not match the allocation calculated by the integrity check.\"}],\"StackOutputsMismatch(uint256,uint256)\":[{\"notice\":\"The final stack index does not match the bytecode outputs.\"}],\"StackOverflow()\":[{\"notice\":\"The parser encountered a stack deeper than it can process in the memory region allocated for stack names.\"}],\"StackUnderflow()\":[{\"notice\":\"The parser encountered a stack underflow.\"}],\"StackUnderflow(uint256,uint256,uint256)\":[{\"notice\":\"The stack underflowed during integrity check.\"}],\"StackUnderflowHighwater(uint256,uint256,uint256)\":[{\"notice\":\"The stack underflowed the highwater during integrity check.\"}],\"UnclosedLeftParen(uint256)\":[{\"notice\":\"Encountered an unclosed left paren.\"}],\"UnexpectedComment(uint256)\":[{\"notice\":\"Encountered a comment outside the interstitial space between lines.\"}],\"UnexpectedInterpreterBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown interpreter bytecode.\"}],\"UnexpectedLHSChar(uint256)\":[{\"notice\":\"Enountered an unexpected character on the LHS.\"}],\"UnexpectedOpMetaHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown opMeta.\"}],\"UnexpectedRHSChar(uint256)\":[{\"notice\":\"Encountered an unexpected character on the RHS.\"}],\"UnexpectedRightParen(uint256)\":[{\"notice\":\"Encountered a right paren without a matching left paren.\"}],\"UnexpectedStoreBytecodeHash(bytes32)\":[{\"notice\":\"Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\"}],\"UnknownWord(uint256)\":[{\"notice\":\"Parsed a word that is not in the meta.\"}],\"UnsupportedLiteralType(uint256)\":[{\"notice\":\"The parser tried to bound an unsupported literal that we have no type for.\"}],\"WordSize(string)\":[{\"notice\":\"Encountered a word that is longer than 32 bytes.\"}],\"WriteError()\":[{\"notice\":\"Thrown if writing the data by creating the contract fails somehow.\"}],\"ZeroLengthDecimal(uint256)\":[{\"notice\":\"Encountered a zero length decimal literal.\"}],\"ZeroLengthHexLiteral(uint256)\":[{\"notice\":\"Encountered a zero length hex literal.\"}]},\"events\":{\"DISpair(address,address,address,address,bytes)\":{\"notice\":\"This is the literal InterpreterOpMeta bytes to be used offchain to make sense of the opcodes in this interpreter deployment, as a human. For formats like json that make heavy use of boilerplate, repetition and whitespace, some kind of compression is recommended.\"},\"ExpressionAddress(address,address)\":{\"notice\":\"The address of the deployed expression. Will only be emitted once the expression can be loaded and deserialized into an evaluable interpreter state.\"},\"NewExpression(address,bytes,uint256[],uint256[])\":{\"notice\":\"The config of the deployed expression including uncompiled sources. Will only be emitted after the config passes the integrity check.\"}},\"kind\":\"user\",\"methods\":{\"authoringMetaHash()\":{\"notice\":\"Returns the bytes of the authoring meta hash. Authoring meta is the data used by the authoring tool to give authors a better experience when writing Rainlang strings. The authoring meta is also used to generate the parse meta. As the authoring meta can be quite large, including potentially hundreds of long string descriptions of individual words, only the hash is required to be reported by the parser. This hash MUST NOT be modified after deployment. There MUST be a one-to-one mapping between authoring meta and parse meta that can be verified externally in a deterministic way.\"},\"buildParseMeta(bytes)\":{\"notice\":\"Builds the parse meta from authoring meta. MUST be deterministic and MUST NOT have side effects. The only input is the authoring meta. The hash of the provided authoring meta MUST match the authoring meta hash returned by `authoringMetaHash` and MUST determine the parse meta returned by `parseMeta`. Implementations are free to define their own data structures for authoring meta, which is why this function takes `bytes`. This function is likely very gas intensive, so it is STRONGLY RECOMMENDED to use a tool to generate the authoring meta offchain then call this and cross reference it against the return value of `parseMeta`, but then always use `parseMeta` directly onchain.\"},\"deployExpression(bytes,uint256[],uint256[])\":{\"notice\":\"Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter.\"},\"iInterpreter()\":{\"notice\":\"The interpreter with known bytecode that this deployer is constructed for.\"},\"iStore()\":{\"notice\":\"The store with known bytecode that this deployer is constructed for.\"},\"integrityCheck(bytes,uint256[],uint256[])\":{\"notice\":\"Drives an integrity check of the provided bytecode and constants. Unlike `IDebugExpressionDeployerV1` this version ONLY checks the integrity of bytecode as produced by `IParserV1.parse`. There is an eval debug method on `IDebugInterpreterV2` that can be used to check the runtime outputs of bytecode that passes the integrity check. Integrity check MUST revert with a descriptive error if the bytecode fails the integrity check.\"},\"integrityFunctionPointers()\":{\"notice\":\"Defines all the function pointers to integrity checks. This is the expression deployer's equivalent of the opcode function pointers and follows a near identical dispatch process. These are never compiled into source and are instead indexed into directly by the integrity check. The indexing into integrity pointers (which has an out of bounds check) is a proxy for enforcing that all opcode pointers exist at runtime, so the length of the integrity pointers MUST match the length of opcode function pointers. This function is `virtual` so that it can be overridden pairwise with overrides to `functionPointers` on `Rainterpreter`.\"},\"parse(bytes)\":{\"notice\":\"Parses a Rainlang string into an evaluable expression. MUST be deterministic and MUST NOT have side effects. The only inputs are the Rainlang string and the parse meta. MAY revert if the Rainlang string is invalid. This function takes `bytes` instead of `string` to allow for definitions of \\\"string\\\" other than UTF-8.\"},\"parseMeta()\":{\"notice\":\"Returns the bytes of the parse meta. Parse meta is the data used by the parser to convert a Rainlang string into an evaluable expression. These bytes MUST NOT be modified after deployment. The function is marked `external` so that it can be externally verified against the authoring meta, but is likely to be `public` in practice so that it can also be used internally by `parse`. The bytes returned MUST be identical to the bytes returned by `buildParseMeta` when provided with the correct authoring meta as defined by `authoringMetaHash`.\"}},\"notice\":\"!!!EXPERIMENTAL!!! This is the deployer for the RainterpreterNP interpreter. Notably includes onchain parsing/compiling of expressions from Rainlang strings.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol\":\"RainterpreterExpressionDeployerNP\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.datacontract/src/lib/LibDataContract.sol\":{\"keccak256\":\"0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670\",\"dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu\"]},\"lib/rain.erc1820/src/interface/IERC1820Registry.sol\":{\"keccak256\":\"0xbfcb68f1a27e3b04f9acfd4164ad5373afc27659033307c8f697b958ce4cd16e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d280c893633b3f28a4db8416224d626c7d3badf009e3e6da318b81f09eac7f44\",\"dweb:/ipfs/QmUWZBQoCCLdAF4ExnxnxMKA4VuEYqTNhLHwaAo3SJevDP\"]},\"lib/rain.erc1820/src/lib/LibIERC1820.sol\":{\"keccak256\":\"0xc0dabba14979d7b6f03d2cded0719735356ed00b48beba3dd8b59e366089e771\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a8046398a515f49a2095fea84bfa3418b5e0b122eaa2b150876334cb8a931ab1\",\"dweb:/ipfs/QmQUKdvALy6L412JEEZBt4TzqLHrZ1JuWkpYyk8ut83DT8\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol\":{\"keccak256\":\"0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670\",\"dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol\":{\"keccak256\":\"0xa0e411219229a2b03f91d3f064af3111919653ac6a841c3cc0e3bc477005ab87\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f673ffce962c9baac3b041c61314f4043e815e6545356b1a99565dd5c23c9b31\",\"dweb:/ipfs/QmVidF523LQcTYBjsfHnwfXrnYxCx185VVSwNzhYNzNf7T\"]},\"lib/rain.interpreter/src/concrete/RainterpreterNP.sol\":{\"keccak256\":\"0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239\",\"dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol\":{\"keccak256\":\"0x7327252801a367fc09798816188475020c6d0af6ef1b541cde1f3b95c6071ec1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://073361ed02299d387bc78ce2fab7c8fcf6f04095b7737db5c5225c8af24ceb47\",\"dweb:/ipfs/Qmf5DfWuNZXTMzKqoXjTJPMudMUK88GVqeTALaokkSc7o2\"]},\"lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol\":{\"keccak256\":\"0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30\",\"dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol\":{\"keccak256\":\"0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5\",\"dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA\"]},\"lib/rain.interpreter/src/interface/unstable/IParserV1.sol\":{\"keccak256\":\"0x9714ffc0595336863f994cc661f00fdb6b162676beceb2a004782b4a72082ed4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://74fefdee4bcf63af1e4d9b5baef85abbb445d49e51b3f6604bb7f25bd6f45f72\",\"dweb:/ipfs/QmUJvW9YFZeZtJiG4ujdh6mBjVpTMpGA8GrSP47quawEAF\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/eval/LibEvalNP.sol\":{\"keccak256\":\"0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36\",\"dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol\":{\"keccak256\":\"0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce\",\"dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.lib.typecast/src/LibCast.sol\":{\"keccak256\":\"0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378\",\"dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct RainterpreterExpressionDeployerConstructionConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "interpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "store", - "type": "address" - }, - { - "internalType": "bytes", - "name": "authoringMeta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "expected", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "actual", - "type": "bytes32" - } - ], - "type": "error", - "name": "AuthoringMetaHashMismatch" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "type": "error", - "name": "BadDynamicLength" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calculatedInputs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bytecodeInputs", - "type": "uint256" - } - ], - "type": "error", - "name": "BadOpInputsLength" - }, - { - "inputs": [], - "type": "error", - "name": "DanglingSource" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "DecimalLiteralOverflow" - }, - { - "inputs": [], - "type": "error", - "name": "DuplicateFingerprint" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "errorOffset", - "type": "uint256" - } - ], - "type": "error", - "name": "DuplicateLHSItem" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "entrypointIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minOutputs", - "type": "uint256" - } - ], - "type": "error", - "name": "EntrypointMinOutputs" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expectedEntrypoints", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "actualEntrypoints", - "type": "uint256" - } - ], - "type": "error", - "name": "EntrypointMissing" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "entrypointIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "inputsLength", - "type": "uint256" - } - ], - "type": "error", - "name": "EntrypointNonZeroInput" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "ExcessLHSItems" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "ExcessRHSItems" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "ExpectedLeftParen" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "ExpectedOperand" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "HexLiteralOverflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "MalformedCommentStart" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "MalformedExponentDigits" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "MalformedHexLiteral" - }, - { - "inputs": [], - "type": "error", - "name": "MaxSources" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "MissingFinalSemi" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "NotAcceptingInputs" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "OddLengthHexLiteral" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "OperandOverflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantsLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "constantRead", - "type": "uint256" - } - ], - "type": "error", - "name": "OutOfBoundsConstantRead" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackTopIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackRead", - "type": "uint256" - } - ], - "type": "error", - "name": "OutOfBoundsStackRead" - }, - { - "inputs": [], - "type": "error", - "name": "ParenOverflow" - }, - { - "inputs": [], - "type": "error", - "name": "ParserOutOfBounds" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "SourceOffsetOutOfBounds" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackMaxIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bytecodeAllocation", - "type": "uint256" - } - ], - "type": "error", - "name": "StackAllocationMismatch" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stackIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bytecodeOutputs", - "type": "uint256" - } - ], - "type": "error", - "name": "StackOutputsMismatch" - }, - { - "inputs": [], - "type": "error", - "name": "StackOverflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calculatedInputs", - "type": "uint256" - } - ], - "type": "error", - "name": "StackUnderflow" - }, - { - "inputs": [], - "type": "error", - "name": "StackUnderflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "opIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stackHighwater", - "type": "uint256" - } - ], - "type": "error", - "name": "StackUnderflowHighwater" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnclosedLeftParen" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnclosedOperand" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnexpectedComment" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedInterpreterBytecodeHash" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnexpectedLHSChar" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualOpMeta", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedOpMetaHash" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnexpectedOperand" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "actualPointers", - "type": "bytes" - } - ], - "type": "error", - "name": "UnexpectedPointers" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnexpectedRHSChar" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnexpectedRightParen" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "actualBytecodeHash", - "type": "bytes32" - } - ], - "type": "error", - "name": "UnexpectedStoreBytecodeHash" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnknownWord" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "UnsupportedLiteralType" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "word", - "type": "string" - } - ], - "type": "error", - "name": "WordSize" - }, - { - "inputs": [], - "type": "error", - "name": "WriteError" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroLengthDecimal" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroLengthHexLiteral" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "deployer", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "interpreter", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "store", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "opMeta", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "DISpair", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "expression", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ExpressionAddress", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "NewExpression", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "authoringMetaHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "authoringMeta", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "buildParseMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployExpression", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - }, - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "iInterpreter", - "outputs": [ - { - "internalType": "contract IInterpreterV1", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "iStore", - "outputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "constants", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "minOutputs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "integrityCheck" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "integrityFunctionPointers", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "parse", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "parseMeta", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId_", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "authoringMetaHash()": { - "returns": { - "_0": "The authoring meta hash." - } - }, - "buildParseMeta(bytes)": { - "params": { - "authoringMeta": "The authoring meta bytes." - }, - "returns": { - "_0": "The built parse meta bytes." - } - }, - "deployExpression(bytes,uint256[],uint256[])": { - "params": { - "bytecode": "Bytecode verbatim. Exactly how the bytecode is structured is up to the deployer and interpreter. The deployer MUST NOT modify the bytecode in any way. The interpreter MUST NOT assume anything about the bytecode other than that it is valid according to the interpreter's integrity checks. It is assumed that the bytecode will be produced from a human friendly string via. `IParserV1.parse` but this is not required if the caller has some other means to prooduce valid bytecode.", - "constants": "Constants verbatim. Constants are provided alongside sources rather than inline as it allows us to avoid variable length opcodes and can be more memory efficient if the same constant is referenced several times from the sources.", - "minOutputs": "The first N sources on the state config are entrypoints to the expression where N is the length of the `minOutputs` array. Each item in the `minOutputs` array specifies the number of outputs that MUST be present on the final stack for an evaluation of each entrypoint. The minimum output for some entrypoint MAY be zero if the expectation is that the expression only applies checks and error logic. Non-entrypoint sources MUST NOT have a minimum outputs length specified." - }, - "returns": { - "_0": "The interpreter the deployer believes it is qualified to perform integrity checks on behalf of.", - "_1": "The interpreter store the deployer believes is compatible with the interpreter.", - "_2": "The address of the deployed onchain expression. MUST be valid according to all integrity checks the deployer is aware of." - } - }, - "integrityCheck(bytes,uint256[],uint256[])": { - "params": { - "bytecode": "The bytecode to check.", - "constants": "The constants to check.", - "minOutputs": "The minimum number of outputs expected from each of the sources. Only applies to sources that are entrypoints. Internal sources have their integrity checked implicitly by the use of opcodes such as `call` that have min/max outputs in their operand." - } - }, - "integrityFunctionPointers()": { - "returns": { - "_0": "The list of integrity function pointers." - } - }, - "parse(bytes)": { - "params": { - "data": "The Rainlang bytes to parse." - }, - "returns": { - "_0": "The expressions that can be evaluated.", - "_1": "The constants that can be referenced by sources." - } - }, - "parseMeta()": { - "returns": { - "_0": "The parse meta bytes." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "authoringMetaHash()": { - "notice": "Returns the bytes of the authoring meta hash. Authoring meta is the data used by the authoring tool to give authors a better experience when writing Rainlang strings. The authoring meta is also used to generate the parse meta. As the authoring meta can be quite large, including potentially hundreds of long string descriptions of individual words, only the hash is required to be reported by the parser. This hash MUST NOT be modified after deployment. There MUST be a one-to-one mapping between authoring meta and parse meta that can be verified externally in a deterministic way." - }, - "buildParseMeta(bytes)": { - "notice": "Builds the parse meta from authoring meta. MUST be deterministic and MUST NOT have side effects. The only input is the authoring meta. The hash of the provided authoring meta MUST match the authoring meta hash returned by `authoringMetaHash` and MUST determine the parse meta returned by `parseMeta`. Implementations are free to define their own data structures for authoring meta, which is why this function takes `bytes`. This function is likely very gas intensive, so it is STRONGLY RECOMMENDED to use a tool to generate the authoring meta offchain then call this and cross reference it against the return value of `parseMeta`, but then always use `parseMeta` directly onchain." - }, - "deployExpression(bytes,uint256[],uint256[])": { - "notice": "Expressions are expected to be deployed onchain as immutable contract code with a first class address like any other contract or account. Technically this is optional in the sense that all the tools required to eval some expression and define all its opcodes are available as libraries. In practise there are enough advantages to deploying the sources directly onchain as contract data and loading them from the interpreter at eval: - Loading and storing binary data is gas efficient as immutable contract data - Expressions need to be immutable between their deploy time integrity check and runtime evaluation - Passing the address of an expression through calldata to an interpreter is cheaper than passing an entire expression through calldata - Conceptually a very simple approach, even if implementations like SSTORE2 are subtle under the hood The expression deployer MUST perform an integrity check of the source code before it puts the expression onchain at a known address. The integrity check MUST at a minimum (it is free to do additional static analysis) calculate the memory required to be allocated for the stack in total, and that no out of bounds memory reads/writes occur within this stack. A simple example of an invalid source would be one that pushes one value to the stack then attempts to pops two values, clearly we cannot remove more values than we added. The `IExpressionDeployerV1` MUST revert in the case of any integrity failure, all integrity checks MUST pass in order for the deployment to complete. Once the integrity check is complete the `IExpressionDeployerV1` MUST do any additional processing required by its paired interpreter. For example, the `IExpressionDeployerV1` MAY NEED to replace the indexed opcodes in the `ExpressionConfig` sources with real function pointers from the corresponding interpreter." - }, - "iInterpreter()": { - "notice": "The interpreter with known bytecode that this deployer is constructed for." - }, - "iStore()": { - "notice": "The store with known bytecode that this deployer is constructed for." - }, - "integrityCheck(bytes,uint256[],uint256[])": { - "notice": "Drives an integrity check of the provided bytecode and constants. Unlike `IDebugExpressionDeployerV1` this version ONLY checks the integrity of bytecode as produced by `IParserV1.parse`. There is an eval debug method on `IDebugInterpreterV2` that can be used to check the runtime outputs of bytecode that passes the integrity check. Integrity check MUST revert with a descriptive error if the bytecode fails the integrity check." - }, - "integrityFunctionPointers()": { - "notice": "Defines all the function pointers to integrity checks. This is the expression deployer's equivalent of the opcode function pointers and follows a near identical dispatch process. These are never compiled into source and are instead indexed into directly by the integrity check. The indexing into integrity pointers (which has an out of bounds check) is a proxy for enforcing that all opcode pointers exist at runtime, so the length of the integrity pointers MUST match the length of opcode function pointers. This function is `virtual` so that it can be overridden pairwise with overrides to `functionPointers` on `Rainterpreter`." - }, - "parse(bytes)": { - "notice": "Parses a Rainlang string into an evaluable expression. MUST be deterministic and MUST NOT have side effects. The only inputs are the Rainlang string and the parse meta. MAY revert if the Rainlang string is invalid. This function takes `bytes` instead of `string` to allow for definitions of \"string\" other than UTF-8." - }, - "parseMeta()": { - "notice": "Returns the bytes of the parse meta. Parse meta is the data used by the parser to convert a Rainlang string into an evaluable expression. These bytes MUST NOT be modified after deployment. The function is marked `external` so that it can be externally verified against the authoring meta, but is likely to be `public` in practice so that it can also be used internally by `parse`. The bytes returned MUST be identical to the bytes returned by `buildParseMeta` when provided with the correct authoring meta as defined by `authoringMetaHash`." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol": "RainterpreterExpressionDeployerNP" - }, - "libraries": {} - }, - "sources": { - "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": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/rain.datacontract/src/lib/LibDataContract.sol": { - "keccak256": "0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900", - "urls": [ - "bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670", - "dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu" - ], - "license": "CAL" - }, - "lib/rain.erc1820/src/interface/IERC1820Registry.sol": { - "keccak256": "0xbfcb68f1a27e3b04f9acfd4164ad5373afc27659033307c8f697b958ce4cd16e", - "urls": [ - "bzz-raw://d280c893633b3f28a4db8416224d626c7d3badf009e3e6da318b81f09eac7f44", - "dweb:/ipfs/QmUWZBQoCCLdAF4ExnxnxMKA4VuEYqTNhLHwaAo3SJevDP" - ], - "license": "MIT" - }, - "lib/rain.erc1820/src/lib/LibIERC1820.sol": { - "keccak256": "0xc0dabba14979d7b6f03d2cded0719735356ed00b48beba3dd8b59e366089e771", - "urls": [ - "bzz-raw://a8046398a515f49a2095fea84bfa3418b5e0b122eaa2b150876334cb8a931ab1", - "dweb:/ipfs/QmQUKdvALy6L412JEEZBt4TzqLHrZ1JuWkpYyk8ut83DT8" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/prb-math/src/Common.sol": { - "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", - "urls": [ - "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", - "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { - "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", - "urls": [ - "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", - "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { - "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", - "urls": [ - "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", - "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { - "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", - "urls": [ - "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", - "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { - "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", - "urls": [ - "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", - "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { - "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", - "urls": [ - "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", - "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { - "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", - "urls": [ - "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", - "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { - "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", - "urls": [ - "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", - "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { - "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", - "urls": [ - "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", - "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { - "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", - "urls": [ - "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", - "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { - "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", - "urls": [ - "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", - "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { - "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", - "urls": [ - "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", - "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { - "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", - "urls": [ - "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", - "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { - "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", - "urls": [ - "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", - "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { - "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", - "urls": [ - "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", - "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { - "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", - "urls": [ - "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", - "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { - "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", - "urls": [ - "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", - "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { - "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", - "urls": [ - "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", - "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { - "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", - "urls": [ - "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", - "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { - "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", - "urls": [ - "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", - "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { - "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", - "urls": [ - "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", - "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { - "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", - "urls": [ - "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", - "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { - "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", - "urls": [ - "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", - "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol": { - "keccak256": "0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900", - "urls": [ - "bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670", - "dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { - "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", - "urls": [ - "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", - "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", - "urls": [ - "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", - "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", - "urls": [ - "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", - "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" - ], - "license": null - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", - "urls": [ - "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", - "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" - ], - "license": null - }, - "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol": { - "keccak256": "0xa0e411219229a2b03f91d3f064af3111919653ac6a841c3cc0e3bc477005ab87", - "urls": [ - "bzz-raw://f673ffce962c9baac3b041c61314f4043e815e6545356b1a99565dd5c23c9b31", - "dweb:/ipfs/QmVidF523LQcTYBjsfHnwfXrnYxCx185VVSwNzhYNzNf7T" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/concrete/RainterpreterNP.sol": { - "keccak256": "0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078", - "urls": [ - "bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239", - "dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol": { - "keccak256": "0x7327252801a367fc09798816188475020c6d0af6ef1b541cde1f3b95c6071ec1", - "urls": [ - "bzz-raw://073361ed02299d387bc78ce2fab7c8fcf6f04095b7737db5c5225c8af24ceb47", - "dweb:/ipfs/Qmf5DfWuNZXTMzKqoXjTJPMudMUK88GVqeTALaokkSc7o2" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol": { - "keccak256": "0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026", - "urls": [ - "bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30", - "dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol": { - "keccak256": "0x7bbcf9d3689bdecdc58537e5185f0b88e8d4e91a295f5124f19779609f19f219", - "urls": [ - "bzz-raw://ccdcba71f76f2a730685f956f1854355751a3c9b4caef9569e2a6d8acc8747a5", - "dweb:/ipfs/QmQrWgCnxd9aGEHhmFTPkA8E3GVsKuwDhe2UQ5WyfA5LSA" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IParserV1.sol": { - "keccak256": "0x9714ffc0595336863f994cc661f00fdb6b162676beceb2a004782b4a72082ed4", - "urls": [ - "bzz-raw://74fefdee4bcf63af1e4d9b5baef85abbb445d49e51b3f6604bb7f25bd6f45f72", - "dweb:/ipfs/QmUJvW9YFZeZtJiG4ujdh6mBjVpTMpGA8GrSP47quawEAF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { - "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", - "urls": [ - "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", - "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol": { - "keccak256": "0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e", - "urls": [ - "bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36", - "dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { - "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", - "urls": [ - "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", - "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { - "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", - "urls": [ - "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", - "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { - "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", - "urls": [ - "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", - "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { - "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", - "urls": [ - "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", - "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { - "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", - "urls": [ - "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", - "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { - "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", - "urls": [ - "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", - "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { - "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", - "urls": [ - "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", - "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { - "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", - "urls": [ - "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", - "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { - "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", - "urls": [ - "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", - "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { - "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", - "urls": [ - "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", - "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { - "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", - "urls": [ - "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", - "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { - "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", - "urls": [ - "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", - "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { - "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", - "urls": [ - "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", - "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { - "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", - "urls": [ - "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", - "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { - "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", - "urls": [ - "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", - "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { - "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", - "urls": [ - "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", - "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { - "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", - "urls": [ - "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", - "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { - "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", - "urls": [ - "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", - "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { - "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", - "urls": [ - "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", - "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { - "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", - "urls": [ - "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", - "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { - "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", - "urls": [ - "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", - "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { - "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", - "urls": [ - "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", - "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { - "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", - "urls": [ - "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", - "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { - "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", - "urls": [ - "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", - "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { - "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", - "urls": [ - "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", - "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { - "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", - "urls": [ - "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", - "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { - "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", - "urls": [ - "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", - "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { - "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", - "urls": [ - "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", - "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { - "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", - "urls": [ - "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", - "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { - "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", - "urls": [ - "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", - "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { - "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", - "urls": [ - "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", - "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { - "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", - "urls": [ - "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", - "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { - "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", - "urls": [ - "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", - "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { - "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", - "urls": [ - "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", - "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { - "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", - "urls": [ - "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", - "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { - "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", - "urls": [ - "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", - "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { - "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", - "urls": [ - "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", - "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { - "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", - "urls": [ - "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", - "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { - "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", - "urls": [ - "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", - "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { - "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", - "urls": [ - "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", - "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParse.sol": { - "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", - "urls": [ - "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", - "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { - "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", - "urls": [ - "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", - "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { - "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", - "urls": [ - "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", - "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { - "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", - "urls": [ - "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", - "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { - "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", - "urls": [ - "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", - "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { - "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", - "urls": [ - "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", - "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol": { - "keccak256": "0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231", - "urls": [ - "bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce", - "dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { - "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", - "urls": [ - "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", - "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { - "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", - "urls": [ - "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", - "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { - "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", - "urls": [ - "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", - "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" - ], - "license": "CAL" - }, - "lib/rain.lib.typecast/src/LibCast.sol": { - "keccak256": "0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369", - "urls": [ - "bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378", - "dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { - "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", - "urls": [ - "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", - "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { - "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", - "urls": [ - "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", - "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemory.sol": { - "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", - "urls": [ - "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", - "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibStackPointer.sol": { - "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", - "urls": [ - "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", - "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterExpressionDeployerNP.sol", - "id": 55835, - "exportedSymbols": { - "ALL_STANDARD_OPS_LENGTH": [ - 58281 - ], - "AUTHORING_META_HASH": [ - 55428 - ], - "AuthoringMeta": [ - 68882 - ], - "AuthoringMetaHashMismatch": [ - 56478 - ], - "B_1": [ - 54813 - ], - "B_11": [ - 54821 - ], - "B_111": [ - 54829 - ], - "B_1111": [ - 54837 - ], - "B_11111": [ - 54845 - ], - "B_111111": [ - 54853 - ], - "B_1111111": [ - 54861 - ], - "B_11111111": [ - 54869 - ], - "B_111111111": [ - 54877 - ], - "B_1111111111": [ - 54885 - ], - "B_11111111111": [ - 54893 - ], - "B_111111111111": [ - 54901 - ], - "B_1111111111111": [ - 54909 - ], - "B_11111111111111": [ - 54917 - ], - "B_111111111111111": [ - 54925 - ], - "B_1111111111111111": [ - 54933 - ], - "BadDynamicLength": [ - 58277 - ], - "BadOpInputsLength": [ - 57629 - ], - "Casting": [ - 53867 - ], - "CastingErrors": [ - 52080 - ], - "Common": [ - 53111 - ], - "DEFAULT_STATE_NAMESPACE": [ - 56316 - ], - "DataContractMemoryContainer": [ - 53958 - ], - "E": [ - 52393 - ], - "ERC165": [ - 45938 - ], - "EXP2_MAX_INPUT": [ - 52417 - ], - "EXP_MAX_INPUT": [ - 52404 - ], - "EncodedDispatch": [ - 56304 - ], - "EnsureFailed": [ - 59719 - ], - "EntrypointMinOutputs": [ - 57620 - ], - "EntrypointMissing": [ - 57604 - ], - "EntrypointNonZeroInput": [ - 57611 - ], - "Errors": [ - 53112 - ], - "FIXED_POINT_DECIMALS": [ - 71265 - ], - "FIXED_POINT_ONE": [ - 71269 - ], - "FLAG_MAX_INT": [ - 71285 - ], - "FLAG_ROUND_UP": [ - 71273 - ], - "FLAG_SATURATE": [ - 71279 - ], - "FullyQualifiedNamespace": [ - 56265 - ], - "HALF_UNIT": [ - 52428 - ], - "Helpers": [ - 53868 - ], - "IDebugExpressionDeployerV2": [ - 56393 - ], - "IDebugInterpreterV2": [ - 56427 - ], - "IERC165": [ - 45950 - ], - "IERC1820Registry": [ - 47011 - ], - "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2": [ - 56433 - ], - "IERC1820_REGISTRY": [ - 47021 - ], - "IExpressionDeployerV2": [ - 56468 - ], - "IInterpreterStoreV1": [ - 56297 - ], - "IInterpreterV1": [ - 56347 - ], - "INTEGRITY_FUNCTION_POINTERS": [ - 55407 - ], - "INTERPRETER_BYTECODE_HASH": [ - 55414 - ], - "IParserV1": [ - 56510 - ], - "IUniswapV2Factory": [ - 55060 - ], - "IUniswapV2Pair": [ - 55302 - ], - "IntegrityCheckStateNP": [ - 57674 - ], - "InterpreterStateNP": [ - 70705 - ], - "LOG2_10": [ - 52439 - ], - "LOG2_E": [ - 52450 - ], - "LibAllStandardOpsNP": [ - 58838 - ], - "LibBytecode": [ - 56792 - ], - "LibBytes": [ - 72156 - ], - "LibConvert": [ - 54245 - ], - "LibDataContract": [ - 54065 - ], - "LibFixedPointDecimalScale": [ - 71746 - ], - "LibIntegrityCheckNP": [ - 57992 - ], - "LibInterpreterStateDataContractNP": [ - 70673 - ], - "LibInterpreterStateNP": [ - 70750 - ], - "LibMemCpy": [ - 72188 - ], - "LibMemory": [ - 72199 - ], - "LibMemoryKV": [ - 71259 - ], - "LibNamespace": [ - 58010 - ], - "LibOpAnyNP": [ - 59521 - ], - "LibOpBlockNumberNP": [ - 59150 - ], - "LibOpChainIdNP": [ - 59229 - ], - "LibOpConditionsNP": [ - 59707 - ], - "LibOpConstantNP": [ - 58130 - ], - "LibOpContextNP": [ - 58981 - ], - "LibOpDecimal18DivNP": [ - 60816 - ], - "LibOpDecimal18MulNP": [ - 61037 - ], - "LibOpDecimal18Scale18DynamicNP": [ - 61148 - ], - "LibOpDecimal18Scale18NP": [ - 61265 - ], - "LibOpDecimal18ScaleNNP": [ - 61382 - ], - "LibOpEnsureNP": [ - 59876 - ], - "LibOpEqualToNP": [ - 59960 - ], - "LibOpEveryNP": [ - 60087 - ], - "LibOpGetNP": [ - 62924 - ], - "LibOpGreaterThanNP": [ - 60171 - ], - "LibOpGreaterThanOrEqualToNP": [ - 60255 - ], - "LibOpHashNP": [ - 59071 - ], - "LibOpIfNP": [ - 60341 - ], - "LibOpIntAddNP": [ - 61545 - ], - "LibOpIntDivNP": [ - 61708 - ], - "LibOpIntExpNP": [ - 61877 - ], - "LibOpIntMaxNP": [ - 62057 - ], - "LibOpIntMinNP": [ - 62237 - ], - "LibOpIntModNP": [ - 62400 - ], - "LibOpIntMulNP": [ - 62563 - ], - "LibOpIntSubNP": [ - 62726 - ], - "LibOpIsZeroNP": [ - 60423 - ], - "LibOpLessThanNP": [ - 60507 - ], - "LibOpLessThanOrEqualToNP": [ - 60591 - ], - "LibOpMaxUint256NP": [ - 59319 - ], - "LibOpSetNP": [ - 63047 - ], - "LibOpStackNP": [ - 58221 - ], - "LibOpTimestampNP": [ - 59398 - ], - "LibOpUniswapV2AmountIn": [ - 63254 - ], - "LibOpUniswapV2AmountOut": [ - 63461 - ], - "LibParse": [ - 65514 - ], - "LibParseMeta": [ - 69578 - ], - "LibPointer": [ - 72323 - ], - "LibStackPointer": [ - 72486 - ], - "LibUint256Array": [ - 72714 - ], - "LibUniswapV2": [ - 71121 - ], - "LibWillOverflow": [ - 71965 - ], - "MASK_10BIT": [ - 54973 - ], - "MASK_11BIT": [ - 54977 - ], - "MASK_12BIT": [ - 54981 - ], - "MASK_13BIT": [ - 54985 - ], - "MASK_14BIT": [ - 54989 - ], - "MASK_15BIT": [ - 54993 - ], - "MASK_16BIT": [ - 54997 - ], - "MASK_1BIT": [ - 54937 - ], - "MASK_2BIT": [ - 54941 - ], - "MASK_3BIT": [ - 54945 - ], - "MASK_4BIT": [ - 54949 - ], - "MASK_5BIT": [ - 54953 - ], - "MASK_6BIT": [ - 54957 - ], - "MASK_7BIT": [ - 54961 - ], - "MASK_8BIT": [ - 54965 - ], - "MASK_9BIT": [ - 54969 - ], - "MAX_UD60x18": [ - 52461 - ], - "MAX_UINT128": [ - 47114 - ], - "MAX_UINT40": [ - 47122 - ], - "MAX_WHOLE_UD60x18": [ - 52472 - ], - "Math": [ - 53869 - ], - "MemoryKV": [ - 71172 - ], - "MemoryKVKey": [ - 71174 - ], - "MemoryKVVal": [ - 71176 - ], - "NO_STORE": [ - 56274 - ], - "NoConditionsMet": [ - 59531 - ], - "OPCODE_FUNCTION_POINTERS": [ - 55875 - ], - "OPERAND_PARSER_OFFSET_8_M1_M1": [ - 69599 - ], - "OPERAND_PARSER_OFFSET_DISALLOWED": [ - 69587 - ], - "OPERAND_PARSER_OFFSET_DOUBLE_PERBYTE_NO_DEFAULT": [ - 69593 - ], - "OPERAND_PARSER_OFFSET_M1_M1": [ - 69596 - ], - "OPERAND_PARSER_OFFSET_SINGLE_FULL": [ - 69590 - ], - "OVERFLOW_RESCALE_OOMS": [ - 71289 - ], - "OZMath": [ - 46816 - ], - "Operand": [ - 56308 - ], - "OutOfBoundsConstantRead": [ - 58023 - ], - "OutOfBoundsStackRead": [ - 58144 - ], - "OutOfBoundsTruncate": [ - 72496 - ], - "PARSE_META": [ - 55431 - ], - "PI": [ - 52480 - ], - "PRBMath_UD60x18_Ceil_Overflow": [ - 52579 - ], - "PRBMath_UD60x18_Convert_Overflow": [ - 52584 - ], - "PRBMath_UD60x18_Exp2_InputTooBig": [ - 52596 - ], - "PRBMath_UD60x18_Exp_InputTooBig": [ - 52590 - ], - "PRBMath_UD60x18_Gm_Overflow": [ - 52605 - ], - "PRBMath_UD60x18_IntoSD1x18_Overflow": [ - 52611 - ], - "PRBMath_UD60x18_IntoSD59x18_Overflow": [ - 52617 - ], - "PRBMath_UD60x18_IntoUD2x18_Overflow": [ - 52623 - ], - "PRBMath_UD60x18_IntoUint128_Overflow": [ - 52629 - ], - "PRBMath_UD60x18_IntoUint40_Overflow": [ - 52635 - ], - "PRBMath_UD60x18_Log_InputTooSmall": [ - 52641 - ], - "PRBMath_UD60x18_Sqrt_Overflow": [ - 52647 - ], - "Pointer": [ - 72203 - ], - "RainterpreterExpressionDeployerConstructionConfig": [ - 55438 - ], - "RainterpreterExpressionDeployerNP": [ - 55834 - ], - "RainterpreterNP": [ - 56059 - ], - "SD1x18": [ - 49211 - ], - "SD59x18": [ - 51696 - ], - "STORE_BYTECODE_HASH": [ - 55421 - ], - "SourceIndex": [ - 56302 - ], - "SourceOffsetOutOfBounds": [ - 56523 - ], - "StackAllocationMismatch": [ - 57654 - ], - "StackOutputsMismatch": [ - 57661 - ], - "StackUnderflow": [ - 57638 - ], - "StackUnderflowHighwater": [ - 57647 - ], - "StateNamespace": [ - 56306 - ], - "TruncateError": [ - 72088 - ], - "UD2x18": [ - 52067 - ], - "UD60x18": [ - 53871 - ], - "UNIT": [ - 52491 - ], - "UNIT_SQUARED": [ - 52502 - ], - "UnalignedStackPointer": [ - 72334 - ], - "UnexpectedInterpreterBytecodeHash": [ - 55393 - ], - "UnexpectedOpMetaHash": [ - 55403 - ], - "UnexpectedPointers": [ - 55388 - ], - "UnexpectedStoreBytecodeHash": [ - 55398 - ], - "ZERO": [ - 52510 - ], - "add": [ - 52679 - ], - "and": [ - 52702 - ], - "and2": [ - 52728 - ], - "avg": [ - 53172 - ], - "ceil": [ - 53201 - ], - "convert": [ - 52538, - 52569 - ], - "div": [ - 53230 - ], - "eq": [ - 52751 - ], - "exp": [ - 53275 - ], - "exp2": [ - 53321 - ], - "floor": [ - 53333 - ], - "frac": [ - 53345 - ], - "gm": [ - 53412 - ], - "gt": [ - 52774 - ], - "gte": [ - 52797 - ], - "intoSD1x18": [ - 52145 - ], - "intoSD59x18": [ - 52226 - ], - "intoUD2x18": [ - 52184 - ], - "intoUint128": [ - 52278 - ], - "intoUint256": [ - 52243 - ], - "intoUint40": [ - 52313 - ], - "inv": [ - 53434 - ], - "isZero": [ - 52815 - ], - "ln": [ - 53460 - ], - "log10": [ - 53511 - ], - "log2": [ - 53615 - ], - "lshift": [ - 52838 - ], - "lt": [ - 52861 - ], - "lte": [ - 52884 - ], - "mod": [ - 52910 - ], - "mul": [ - 53643 - ], - "neq": [ - 52933 - ], - "not": [ - 52953 - ], - "or": [ - 52979 - ], - "pow": [ - 53750 - ], - "powu": [ - 53822 - ], - "rshift": [ - 53002 - ], - "sqrt": [ - 53864 - ], - "sub": [ - 53028 - ], - "uEXP2_MAX_INPUT": [ - 52410 - ], - "uEXP_MAX_INPUT": [ - 52397 - ], - "uHALF_UNIT": [ - 52421 - ], - "uLOG2_10": [ - 52432 - ], - "uLOG2_E": [ - 52443 - ], - "uMAX_SD1x18": [ - 49128 - ], - "uMAX_SD59x18": [ - 49691 - ], - "uMAX_UD2x18": [ - 52020 - ], - "uMAX_UD60x18": [ - 52454 - ], - "uMAX_WHOLE_UD60x18": [ - 52465 - ], - "uUNIT": [ - 52484 - ], - "uUNIT_SQUARED": [ - 52495 - ], - "ud": [ - 52330 - ], - "ud60x18": [ - 52347 - ], - "uncheckedAdd": [ - 53055 - ], - "uncheckedSub": [ - 53082 - ], - "unwrap": [ - 52364 - ], - "wrap": [ - 52381 - ], - "xor": [ - 53108 - ] - }, - "nodeType": "SourceUnit", - "src": "32:11175:80", - "nodes": [ - { - "id": 55359, - "nodeType": "PragmaDirective", - "src": "32:24:80", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 55360, - "nodeType": "ImportDirective", - "src": "58:73:80", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "file": "openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 45939, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55362, - "nodeType": "ImportDirective", - "src": "133:55:80", - "nodes": [], - "absolutePath": "lib/rain.solmem/src/lib/LibPointer.sol", - "file": "rain.solmem/lib/LibPointer.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 72324, - "symbolAliases": [ - { - "foreign": { - "id": 55361, - "name": "Pointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72203, - "src": "141:7:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55364, - "nodeType": "ImportDirective", - "src": "189:68:80", - "nodes": [], - "absolutePath": "lib/rain.solmem/src/lib/LibStackPointer.sol", - "file": "rain.solmem/lib/LibStackPointer.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 72487, - "symbolAliases": [ - { - "foreign": { - "id": 55363, - "name": "LibStackPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72486, - "src": "197:15:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55367, - "nodeType": "ImportDirective", - "src": "258:103:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/lib/rain.datacontract/src/lib/LibDataContract.sol", - "file": "rain.datacontract/lib/LibDataContract.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 54066, - "symbolAliases": [ - { - "foreign": { - "id": 55365, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54065, - "src": "266:15:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55366, - "name": "DataContractMemoryContainer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 53958, - "src": "283:27:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55368, - "nodeType": "ImportDirective", - "src": "362:42:80", - "nodes": [], - "absolutePath": "lib/rain.erc1820/src/lib/LibIERC1820.sol", - "file": "rain.erc1820/lib/LibIERC1820.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 47022, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55369, - "nodeType": "ImportDirective", - "src": "406:57:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV2.sol", - "file": "../interface/unstable/IExpressionDeployerV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 56469, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55370, - "nodeType": "ImportDirective", - "src": "464:62:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugExpressionDeployerV2.sol", - "file": "../interface/unstable/IDebugExpressionDeployerV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 56394, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55371, - "nodeType": "ImportDirective", - "src": "527:55:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol", - "file": "../interface/unstable/IDebugInterpreterV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 56428, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55372, - "nodeType": "ImportDirective", - "src": "583:45:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IParserV1.sol", - "file": "../interface/unstable/IParserV1.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 56511, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55374, - "nodeType": "ImportDirective", - "src": "630:77:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol", - "file": "../lib/integrity/LibIntegrityCheckNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 57993, - "symbolAliases": [ - { - "foreign": { - "id": 55373, - "name": "LibIntegrityCheckNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57992, - "src": "638:19:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55375, - "nodeType": "ImportDirective", - "src": "708:60:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol", - "file": "../lib/state/LibInterpreterStateDataContractNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 70674, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55376, - "nodeType": "ImportDirective", - "src": "769:43:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", - "file": "../lib/op/LibAllStandardOpsNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 58839, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55380, - "nodeType": "ImportDirective", - "src": "813:80:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/parse/LibParse.sol", - "file": "../lib/parse/LibParse.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 65515, - "symbolAliases": [ - { - "foreign": { - "id": 55377, - "name": "LibParse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65514, - "src": "821:8:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55378, - "name": "LibParseMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 69578, - "src": "831:12:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55379, - "name": "AuthoringMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68882, - "src": "845:13:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55383, - "nodeType": "ImportDirective", - "src": "895:80:80", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterNP.sol", - "file": "./RainterpreterNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 55835, - "sourceUnit": 56060, - "symbolAliases": [ - { - "foreign": { - "id": 55381, - "name": "RainterpreterNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56059, - "src": "903:15:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55382, - "name": "OPCODE_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55875, - "src": "920:24:80", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55388, - "nodeType": "ErrorDefinition", - "src": "1278:47:80", - "nodes": [], - "documentation": { - "id": 55384, - "nodeType": "StructuredDocumentation", - "src": "977:301:80", - "text": "@dev Thrown when the pointers known to the expression deployer DO NOT match\n the interpreter it is constructed for. This WILL cause undefined expression\n behaviour so MUST REVERT.\n @param actualPointers The actual function pointers found at the interpreter\n address upon construction." - }, - "errorSelector": "9835e402", - "name": "UnexpectedPointers", - "nameLocation": "1284:18:80", - "parameters": { - "id": 55387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55386, - "mutability": "mutable", - "name": "actualPointers", - "nameLocation": "1309:14:80", - "nodeType": "VariableDeclaration", - "scope": 55388, - "src": "1303:20:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55385, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1303:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1302:22:80" - } - }, - { - "id": 55393, - "nodeType": "ErrorDefinition", - "src": "1548:68:80", - "nodes": [], - "documentation": { - "id": 55389, - "nodeType": "StructuredDocumentation", - "src": "1327:221:80", - "text": "Thrown when the `RainterpreterExpressionDeployer` is constructed with unknown\n interpreter bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the interpreter\n address upon construction." - }, - "errorSelector": "1dd8527e", - "name": "UnexpectedInterpreterBytecodeHash", - "nameLocation": "1554:33:80", - "parameters": { - "id": 55392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55391, - "mutability": "mutable", - "name": "actualBytecodeHash", - "nameLocation": "1596:18:80", - "nodeType": "VariableDeclaration", - "scope": 55393, - "src": "1588:26:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55390, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1588:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1587:28:80" - } - }, - { - "id": 55398, - "nodeType": "ErrorDefinition", - "src": "1805:62:80", - "nodes": [], - "documentation": { - "id": 55394, - "nodeType": "StructuredDocumentation", - "src": "1618:187:80", - "text": "Thrown when the `Rainterpreter` is constructed with unknown store bytecode.\n @param actualBytecodeHash The bytecode hash that was found at the store\n address upon construction." - }, - "errorSelector": "cc0415fd", - "name": "UnexpectedStoreBytecodeHash", - "nameLocation": "1811:27:80", - "parameters": { - "id": 55397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55396, - "mutability": "mutable", - "name": "actualBytecodeHash", - "nameLocation": "1847:18:80", - "nodeType": "VariableDeclaration", - "scope": 55398, - "src": "1839:26:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55395, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1839:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1838:28:80" - } - }, - { - "id": 55403, - "nodeType": "ErrorDefinition", - "src": "1941:49:80", - "nodes": [], - "documentation": { - "id": 55399, - "nodeType": "StructuredDocumentation", - "src": "1869:72:80", - "text": "Thrown when the `Rainterpreter` is constructed with unknown opMeta." - }, - "errorSelector": "87a1fcae", - "name": "UnexpectedOpMetaHash", - "nameLocation": "1947:20:80", - "parameters": { - "id": 55402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55401, - "mutability": "mutable", - "name": "actualOpMeta", - "nameLocation": "1976:12:80", - "nodeType": "VariableDeclaration", - "scope": 55403, - "src": "1968:20:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1968:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1967:22:80" - } - }, - { - "id": 55407, - "nodeType": "VariableDeclaration", - "src": "2052:218:80", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "INTEGRITY_FUNCTION_POINTERS", - "nameLocation": "2067:27:80", - "scope": 55835, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55405, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2052:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": { - "hexValue": "17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992", - "id": 55406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "hexString", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2101:169:80", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_32c8f9c86d961a181141b6fef585ea8975b8d8dfbdbef9f175d1e6510b510f64", - "typeString": "literal_string hex\"17f1186b18d218dc18d218d218d218d218d218e619081932195418e619541954195e196819541954197119711954196819681971197119711971197119711971197119711971197119711968198819921992\"" - } - }, - "visibility": "internal" - }, - { - "id": 55414, - "nodeType": "VariableDeclaration", - "src": "2322:120:80", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "INTERPRETER_BYTECODE_HASH", - "nameLocation": "2339:25:80", - "scope": 55835, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55409, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2322:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307861613866313862623230666332336534386233643531626362336564326130366231373462653537363932376434636330353534666435653738316637623139", - "id": 55412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2375:66:80", - "typeDescriptions": { - "typeIdentifier": "t_rational_77146014076314662511226012803245310965126228904674819886710070603201476786969_by_1", - "typeString": "int_const 7714...(69 digits omitted)...6969" - }, - "value": "0xaa8f18bb20fc23e48b3d51bcb3ed2a06b174be576927d4cc0554fd5e781f7b19" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_77146014076314662511226012803245310965126228904674819886710070603201476786969_by_1", - "typeString": "int_const 7714...(69 digits omitted)...6969" - } - ], - "id": 55411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2367:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 55410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2367:7:80", - "typeDescriptions": {} - } - }, - "id": 55413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2367:75:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 55421, - "nodeType": "VariableDeclaration", - "src": "2488:114:80", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "STORE_BYTECODE_HASH", - "nameLocation": "2505:19:80", - "scope": 55835, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55416, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2488:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307864363133303136383235306433393537616533346638303236633262646264376532316433356262323032653835343061396233616263626332333264646236", - "id": 55419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2535:66:80", - "typeDescriptions": { - "typeIdentifier": "t_rational_96828529400532591415779603569521449715482679285854575164354358232716072377782_by_1", - "typeString": "int_const 9682...(69 digits omitted)...7782" - }, - "value": "0xd6130168250d3957ae34f8026c2bdbd7e21d35bb202e8540a9b3abcbc232ddb6" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_96828529400532591415779603569521449715482679285854575164354358232716072377782_by_1", - "typeString": "int_const 9682...(69 digits omitted)...7782" - } - ], - "id": 55418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2527:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 55417, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2527:7:80", - "typeDescriptions": {} - } - }, - "id": 55420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2527:75:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 55428, - "nodeType": "VariableDeclaration", - "src": "2648:114:80", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "AUTHORING_META_HASH", - "nameLocation": "2665:19:80", - "scope": 55835, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55423, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2648:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307861346435353864653363616230353665666661373930343939656133313366663364393632643935353133363436363134613961323930373366343461656231", - "id": 55426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2695:66:80", - "typeDescriptions": { - "typeIdentifier": "t_rational_74556258937629252783860689474437880288159101062245074796335842249095000665777_by_1", - "typeString": "int_const 7455...(69 digits omitted)...5777" - }, - "value": "0xa4d558de3cab056effa790499ea313ff3d962d95513646614a9a29073f44aeb1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_74556258937629252783860689474437880288159101062245074796335842249095000665777_by_1", - "typeString": "int_const 7455...(69 digits omitted)...5777" - } - ], - "id": 55425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2687:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 55424, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2687:7:80", - "typeDescriptions": {} - } - }, - "id": 55427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2687:75:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 55431, - "nodeType": "VariableDeclaration", - "src": "2765:515:80", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "PARSE_META", - "nameLocation": "2780:10:80", - "scope": 55835, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55429, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2765:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": { - "hexValue": "010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51", - "id": 55430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "hexString", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:483:80", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4ad238e5af1bb631fe317fd072788f212e18660a468dbe38a1fee483610dae1c", - "typeString": "literal_string hex\"010f00c20804b001180500014014144080040101008082020092020040a100148024163082aae700108f616d2200e3c6181b0025fdfc2100a1cef21c00e7762b2500229a7e0b103e260a0600ce656d0220f12be70c0035f0270900da2bcc14001874cb0700319e1e2300c17cd61100d0684c05007c4b951f000859681e00ce62340d0021f48512009046c219008710c503002c340815002eaa701740b3357a1a00e6d3420800f0dfe2040080a95b0e004e5b480a107012321840438b4b24008a3266281043e2f6011056328a1d00ec53cd0f006e69fa1000ac8cde2600f2c1681300b8577627103fa0c82000c6ff51\"" - } - }, - "visibility": "internal" - }, - { - "id": 55438, - "nodeType": "StructDefinition", - "src": "3572:129:80", - "nodes": [], - "canonicalName": "RainterpreterExpressionDeployerConstructionConfig", - "members": [ - { - "constant": false, - "id": 55433, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "3643:11:80", - "nodeType": "VariableDeclaration", - "scope": 55438, - "src": "3635:19:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55432, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3635:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55435, - "mutability": "mutable", - "name": "store", - "nameLocation": "3668:5:80", - "nodeType": "VariableDeclaration", - "scope": 55438, - "src": "3660:13:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55434, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3660:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55437, - "mutability": "mutable", - "name": "authoringMeta", - "nameLocation": "3685:13:80", - "nodeType": "VariableDeclaration", - "scope": 55438, - "src": "3679:19:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55436, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3679:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "name": "RainterpreterExpressionDeployerConstructionConfig", - "nameLocation": "3579:49:80", - "scope": 55835, - "visibility": "public" - }, - { - "id": 55834, - "nodeType": "ContractDefinition", - "src": "3924:7282:80", - "nodes": [ - { - "id": 55451, - "nodeType": "UsingForDirective", - "src": "4045:29:80", - "nodes": [], - "global": false, - "libraryName": { - "id": 55448, - "name": "LibPointer", - "nameLocations": [ - "4051:10:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72323, - "src": "4051:10:80" - }, - "typeName": { - "id": 55450, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55449, - "name": "Pointer", - "nameLocations": [ - "4066:7:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72203, - "src": "4066:7:80" - }, - "referencedDeclaration": 72203, - "src": "4066:7:80", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", - "typeString": "Pointer" - } - } - }, - { - "id": 55455, - "nodeType": "UsingForDirective", - "src": "4079:34:80", - "nodes": [], - "global": false, - "libraryName": { - "id": 55452, - "name": "LibStackPointer", - "nameLocations": [ - "4085:15:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72486, - "src": "4085:15:80" - }, - "typeName": { - "id": 55454, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55453, - "name": "Pointer", - "nameLocations": [ - "4105:7:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72203, - "src": "4105:7:80" - }, - "referencedDeclaration": 72203, - "src": "4105:7:80", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", - "typeString": "Pointer" - } - } - }, - { - "id": 55459, - "nodeType": "UsingForDirective", - "src": "4118:36:80", - "nodes": [], - "global": false, - "libraryName": { - "id": 55456, - "name": "LibUint256Array", - "nameLocations": [ - "4124:15:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72714, - "src": "4124:15:80" - }, - "typeName": { - "baseType": { - "id": 55457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4144:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55458, - "nodeType": "ArrayTypeName", - "src": "4144:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - { - "id": 55472, - "nodeType": "EventDefinition", - "src": "4537:95:80", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 55460, - "nodeType": "StructuredDocumentation", - "src": "4160:372:80", - "text": "The config of the deployed expression including uncompiled sources. Will\n only be emitted after the config passes the integrity check.\n @param sender The caller of `deployExpression`.\n @param bytecode As per `IExpressionDeployerV2`.\n @param constants As per `IExpressionDeployerV2`.\n @param minOutputs As per `IExpressionDeployerV2`." - }, - "eventSelector": "4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf", - "name": "NewExpression", - "nameLocation": "4543:13:80", - "parameters": { - "id": 55471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55462, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "4565:6:80", - "nodeType": "VariableDeclaration", - "scope": 55472, - "src": "4557:14:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4557:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55464, - "indexed": false, - "mutability": "mutable", - "name": "bytecode", - "nameLocation": "4579:8:80", - "nodeType": "VariableDeclaration", - "scope": 55472, - "src": "4573:14:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55463, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4573:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55467, - "indexed": false, - "mutability": "mutable", - "name": "constants", - "nameLocation": "4599:9:80", - "nodeType": "VariableDeclaration", - "scope": 55472, - "src": "4589:19:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4589:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55466, - "nodeType": "ArrayTypeName", - "src": "4589:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55470, - "indexed": false, - "mutability": "mutable", - "name": "minOutputs", - "nameLocation": "4620:10:80", - "nodeType": "VariableDeclaration", - "scope": 55472, - "src": "4610:20:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4610:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55469, - "nodeType": "ArrayTypeName", - "src": "4610:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "4556:75:80" - } - }, - { - "id": 55479, - "nodeType": "EventDefinition", - "src": "4933:60:80", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 55473, - "nodeType": "StructuredDocumentation", - "src": "4638:290:80", - "text": "The address of the deployed expression. Will only be emitted once the\n expression can be loaded and deserialized into an evaluable interpreter\n state.\n @param sender The caller of `deployExpression`.\n @param expression The address of the deployed expression." - }, - "eventSelector": "ce6e4a4a7b561c65155990775d2faf8a581292f97859ce67e366fd53686b31f1", - "name": "ExpressionAddress", - "nameLocation": "4939:17:80", - "parameters": { - "id": 55478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55475, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "4965:6:80", - "nodeType": "VariableDeclaration", - "scope": 55479, - "src": "4957:14:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55474, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4957:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55477, - "indexed": false, - "mutability": "mutable", - "name": "expression", - "nameLocation": "4981:10:80", - "nodeType": "VariableDeclaration", - "scope": 55479, - "src": "4973:18:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4973:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4956:36:80" - } - }, - { - "id": 55483, - "nodeType": "VariableDeclaration", - "src": "5090:44:80", - "nodes": [], - "constant": false, - "documentation": { - "id": 55480, - "nodeType": "StructuredDocumentation", - "src": "4999:86:80", - "text": "The interpreter with known bytecode that this deployer is constructed\n for." - }, - "functionSelector": "f0cfdd37", - "mutability": "immutable", - "name": "iInterpreter", - "nameLocation": "5122:12:80", - "scope": 55834, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 55482, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55481, - "name": "IInterpreterV1", - "nameLocations": [ - "5090:14:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56347, - "src": "5090:14:80" - }, - "referencedDeclaration": 56347, - "src": "5090:14:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "public" - }, - { - "id": 55487, - "nodeType": "VariableDeclaration", - "src": "5217:43:80", - "nodes": [], - "constant": false, - "documentation": { - "id": 55484, - "nodeType": "StructuredDocumentation", - "src": "5140:72:80", - "text": "The store with known bytecode that this deployer is constructed for." - }, - "functionSelector": "c19423bc", - "mutability": "immutable", - "name": "iStore", - "nameLocation": "5254:6:80", - "scope": 55834, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 55486, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55485, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "5217:19:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "5217:19:80" - }, - "referencedDeclaration": 56297, - "src": "5217:19:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "public" - }, - { - "id": 55616, - "nodeType": "FunctionDefinition", - "src": "5267:2271:80", - "nodes": [], - "body": { - "id": 55615, - "nodeType": "Block", - "src": "5344:2194:80", - "nodes": [], - "statements": [ - { - "assignments": [ - 55495 - ], - "declarations": [ - { - "constant": false, - "id": 55495, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "5400:11:80", - "nodeType": "VariableDeclaration", - "scope": 55615, - "src": "5385:26:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 55494, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55493, - "name": "IInterpreterV1", - "nameLocations": [ - "5385:14:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56347, - "src": "5385:14:80" - }, - "referencedDeclaration": 56347, - "src": "5385:14:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - } - ], - "id": 55500, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 55497, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55490, - "src": "5429:6:80", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 55498, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5436:11:80", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 55433, - "src": "5429:18:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 55496, - "name": "IInterpreterV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56347, - "src": "5414:14:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$56347_$", - "typeString": "type(contract IInterpreterV1)" - } - }, - "id": 55499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5414:34:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5385:63:80" - }, - { - "assignments": [ - 55503 - ], - "declarations": [ - { - "constant": false, - "id": 55503, - "mutability": "mutable", - "name": "store", - "nameLocation": "5478:5:80", - "nodeType": "VariableDeclaration", - "scope": 55615, - "src": "5458:25:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 55502, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55501, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "5458:19:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "5458:19:80" - }, - "referencedDeclaration": 56297, - "src": "5458:19:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - } - ], - "id": 55508, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 55505, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55490, - "src": "5506:6:80", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 55506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5513:5:80", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 55435, - "src": "5506:12:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 55504, - "name": "IInterpreterStoreV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56297, - "src": "5486:19:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$56297_$", - "typeString": "type(contract IInterpreterStoreV1)" - } - }, - "id": 55507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5486:33:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5458:61:80" - }, - { - "expression": { - "id": 55511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 55509, - "name": "iInterpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55483, - "src": "5529:12:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 55510, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55495, - "src": "5544:11:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "src": "5529:26:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "id": 55512, - "nodeType": "ExpressionStatement", - "src": "5529:26:80" - }, - { - "expression": { - "id": 55515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 55513, - "name": "iStore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55487, - "src": "5565:6:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 55514, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55503, - "src": "5574:5:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "src": "5565:14:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 55516, - "nodeType": "ExpressionStatement", - "src": "5565:14:80" - }, - { - "assignments": [ - 55518 - ], - "declarations": [ - { - "constant": false, - "id": 55518, - "mutability": "mutable", - "name": "functionPointers", - "nameLocation": "5749:16:80", - "nodeType": "VariableDeclaration", - "scope": 55615, - "src": "5736:29:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55517, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5736:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 55522, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 55519, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55495, - "src": "5768:11:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "id": 55520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5780:16:80", - "memberName": "functionPointers", - "nodeType": "MemberAccess", - "referencedDeclaration": 56323, - "src": "5768:28:80", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () view external returns (bytes memory)" - } - }, - "id": 55521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5768:30:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5736:62:80" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 55529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 55524, - "name": "functionPointers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55518, - "src": "5822:16:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 55523, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "5812:9:80", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 55525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5812:27:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 55527, - "name": "OPCODE_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55875, - "src": "5853:24:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 55526, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "5843:9:80", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 55528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5843:35:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "5812:66:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 55535, - "nodeType": "IfStatement", - "src": "5808:140:80", - "trueBody": { - "id": 55534, - "nodeType": "Block", - "src": "5880:68:80", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 55531, - "name": "functionPointers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55518, - "src": "5920:16:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 55530, - "name": "UnexpectedPointers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55388, - "src": "5901:18:80", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 55532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5901:36:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55533, - "nodeType": "RevertStatement", - "src": "5894:43:80" - } - ] - } - }, - { - "assignments": [ - 55537 - ], - "declarations": [ - { - "constant": false, - "id": 55537, - "mutability": "mutable", - "name": "interpreterHash", - "nameLocation": "6028:15:80", - "nodeType": "VariableDeclaration", - "scope": 55615, - "src": "6020:23:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55536, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6020:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 55538, - "nodeType": "VariableDeclarationStatement", - "src": "6020:23:80" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "6078:67:80", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6092:43:80", - "value": { - "arguments": [ - { - "name": "interpreter", - "nodeType": "YulIdentifier", - "src": "6123:11:80" - } - ], - "functionName": { - "name": "extcodehash", - "nodeType": "YulIdentifier", - "src": "6111:11:80" - }, - "nodeType": "YulFunctionCall", - "src": "6111:24:80" - }, - "variableNames": [ - { - "name": "interpreterHash", - "nodeType": "YulIdentifier", - "src": "6092:15:80" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 55495, - "isOffset": false, - "isSlot": false, - "src": "6123:11:80", - "valueSize": 1 - }, - { - "declaration": 55537, - "isOffset": false, - "isSlot": false, - "src": "6092:15:80", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 55539, - "nodeType": "InlineAssembly", - "src": "6053:92:80" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 55542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55540, - "name": "interpreterHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55537, - "src": "6158:15:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 55541, - "name": "INTERPRETER_BYTECODE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55414, - "src": "6177:25:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "6158:44:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 55548, - "nodeType": "IfStatement", - "src": "6154:247:80", - "trueBody": { - "id": 55547, - "nodeType": "Block", - "src": "6204:197:80", - "statements": [ - { - "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", - "errorCall": { - "arguments": [ - { - "id": 55544, - "name": "interpreterHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55537, - "src": "6374:15:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 55543, - "name": "UnexpectedInterpreterBytecodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55393, - "src": "6340:33:80", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) pure" - } - }, - "id": 55545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6340:50:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55546, - "nodeType": "RevertStatement", - "src": "6333:57:80" - } - ] - } - }, - { - "assignments": [ - 55550 - ], - "declarations": [ - { - "constant": false, - "id": 55550, - "mutability": "mutable", - "name": "storeHash", - "nameLocation": "6476:9:80", - "nodeType": "VariableDeclaration", - "scope": 55615, - "src": "6468:17:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55549, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6468:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 55551, - "nodeType": "VariableDeclarationStatement", - "src": "6468:17:80" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "6520:55:80", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6534:31:80", - "value": { - "arguments": [ - { - "name": "store", - "nodeType": "YulIdentifier", - "src": "6559:5:80" - } - ], - "functionName": { - "name": "extcodehash", - "nodeType": "YulIdentifier", - "src": "6547:11:80" - }, - "nodeType": "YulFunctionCall", - "src": "6547:18:80" - }, - "variableNames": [ - { - "name": "storeHash", - "nodeType": "YulIdentifier", - "src": "6534:9:80" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 55503, - "isOffset": false, - "isSlot": false, - "src": "6559:5:80", - "valueSize": 1 - }, - { - "declaration": 55550, - "isOffset": false, - "isSlot": false, - "src": "6534:9:80", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 55552, - "nodeType": "InlineAssembly", - "src": "6495:80:80" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 55555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55553, - "name": "storeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55550, - "src": "6588:9:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 55554, - "name": "STORE_BYTECODE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55421, - "src": "6601:19:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "6588:32:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 55561, - "nodeType": "IfStatement", - "src": "6584:223:80", - "trueBody": { - "id": 55560, - "nodeType": "Block", - "src": "6622:185:80", - "statements": [ - { - "documentation": "THIS IS NOT A SECURITY CHECK. IT IS AN INTEGRITY CHECK TO PREVENT\n HONEST MISTAKES.", - "errorCall": { - "arguments": [ - { - "id": 55557, - "name": "storeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55550, - "src": "6786:9:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 55556, - "name": "UnexpectedStoreBytecodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55398, - "src": "6758:27:80", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) pure" - } - }, - "id": 55558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6758:38:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55559, - "nodeType": "RevertStatement", - "src": "6751:45:80" - } - ] - } - }, - { - "assignments": [ - 55564 - ], - "declarations": [ - { - "constant": false, - "id": 55564, - "mutability": "mutable", - "name": "configAuthoringMetaHash", - "nameLocation": "7050:23:80", - "nodeType": "VariableDeclaration", - "scope": 55615, - "src": "7042:31:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55563, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7042:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "documentation": "This IS a security check. This prevents someone making an exact\n bytecode copy of the interpreter and shipping different meta for\n the copy to lie about what each op does in the interpreter.", - "id": 55569, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 55566, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55490, - "src": "7086:6:80", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 55567, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7093:13:80", - "memberName": "authoringMeta", - "nodeType": "MemberAccess", - "referencedDeclaration": 55437, - "src": "7086:20:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 55565, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7076:9:80", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 55568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7076:31:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7042:65:80" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 55572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55570, - "name": "configAuthoringMetaHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55564, - "src": "7121:23:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 55571, - "name": "AUTHORING_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55428, - "src": "7148:19:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "7121:46:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 55578, - "nodeType": "IfStatement", - "src": "7117:129:80", - "trueBody": { - "id": 55577, - "nodeType": "Block", - "src": "7169:77:80", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 55574, - "name": "configAuthoringMetaHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55564, - "src": "7211:23:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 55573, - "name": "UnexpectedOpMetaHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55403, - "src": "7190:20:80", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) pure" - } - }, - "id": 55575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7190:45:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55576, - "nodeType": "RevertStatement", - "src": "7183:52:80" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 55580, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7269:3:80", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7273:6:80", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7269:10:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 55584, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7289:4:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", - "typeString": "contract RainterpreterExpressionDeployerNP" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", - "typeString": "contract RainterpreterExpressionDeployerNP" - } - ], - "id": 55583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7281:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 55582, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7281:7:80", - "typeDescriptions": {} - } - }, - "id": 55585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7281:13:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 55588, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55495, - "src": "7304:11:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - ], - "id": 55587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7296:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 55586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7296:7:80", - "typeDescriptions": {} - } - }, - "id": 55589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7296:20:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 55592, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55503, - "src": "7326:5:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - ], - "id": 55591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7318:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 55590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7318:7:80", - "typeDescriptions": {} - } - }, - "id": 55593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7318:14:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 55594, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55490, - "src": "7334:6:80", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig memory" - } - }, - "id": 55595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7341:13:80", - "memberName": "authoringMeta", - "nodeType": "MemberAccess", - "referencedDeclaration": 55437, - "src": "7334:20:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 55579, - "name": "DISpair", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56447, - "src": "7261:7:80", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,address,bytes memory)" - } - }, - "id": 55596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7261:94:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55597, - "nodeType": "EmitStatement", - "src": "7256:99:80" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 55603, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7429:4:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", - "typeString": "contract RainterpreterExpressionDeployerNP" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", - "typeString": "contract RainterpreterExpressionDeployerNP" - } - ], - "id": 55602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7421:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 55601, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7421:7:80", - "typeDescriptions": {} - } - }, - "id": 55604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7421:13:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 55607, - "name": "IERC1820_NAME_IEXPRESSION_DEPLOYER_V2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56433, - "src": "7468:37:80", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 55605, - "name": "IERC1820_REGISTRY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47021, - "src": "7436:17:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1820Registry_$47011", - "typeString": "contract IERC1820Registry" - } - }, - "id": 55606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7454:13:80", - "memberName": "interfaceHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 46982, - "src": "7436:31:80", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure external returns (bytes32)" - } - }, - "id": 55608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7436:70:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 55611, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "7516:4:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", - "typeString": "contract RainterpreterExpressionDeployerNP" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RainterpreterExpressionDeployerNP_$55834", - "typeString": "contract RainterpreterExpressionDeployerNP" - } - ], - "id": 55610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7508:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 55609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7508:7:80", - "typeDescriptions": {} - } - }, - "id": 55612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7508:13:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 55598, - "name": "IERC1820_REGISTRY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47021, - "src": "7366:17:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1820Registry_$47011", - "typeString": "contract IERC1820Registry" - } - }, - "id": 55600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7384:23:80", - "memberName": "setInterfaceImplementer", - "nodeType": "MemberAccess", - "referencedDeclaration": 46964, - "src": "7366:41:80", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 55613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7366:165:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55614, - "nodeType": "ExpressionStatement", - "src": "7366:165:80" - } - ] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 55491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55490, - "mutability": "mutable", - "name": "config", - "nameLocation": "5336:6:80", - "nodeType": "VariableDeclaration", - "scope": 55616, - "src": "5279:63:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_memory_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" - }, - "typeName": { - "id": 55489, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55488, - "name": "RainterpreterExpressionDeployerConstructionConfig", - "nameLocations": [ - "5279:49:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55438, - "src": "5279:49:80" - }, - "referencedDeclaration": 55438, - "src": "5279:49:80", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RainterpreterExpressionDeployerConstructionConfig_$55438_storage_ptr", - "typeString": "struct RainterpreterExpressionDeployerConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "5278:65:80" - }, - "returnParameters": { - "id": 55492, - "nodeType": "ParameterList", - "parameters": [], - "src": "5344:0:80" - }, - "scope": 55834, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 55639, - "nodeType": "FunctionDefinition", - "src": "7571:216:80", - "nodes": [], - "body": { - "id": 55638, - "nodeType": "Block", - "src": "7663:124:80", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 55636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 55629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55624, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55618, - "src": "7680:12:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 55626, - "name": "IExpressionDeployerV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56468, - "src": "7701:21:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$56468_$", - "typeString": "type(contract IExpressionDeployerV2)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IExpressionDeployerV2_$56468_$", - "typeString": "type(contract IExpressionDeployerV2)" - } - ], - "id": 55625, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "7696:4:80", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 55627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7696:27:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IExpressionDeployerV2_$56468", - "typeString": "type(contract IExpressionDeployerV2)" - } - }, - "id": 55628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7724:11:80", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "7696:39:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "7680:55:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 55635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55630, - "name": "interfaceId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55618, - "src": "7739:12:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 55632, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45950, - "src": "7760:7:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$45950_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$45950_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 55631, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "7755:4:80", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 55633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7755:13:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$45950", - "typeString": "type(contract IERC165)" - } - }, - "id": 55634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7769:11:80", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "7755:25:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "7739:41:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7680:100:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 55623, - "id": 55637, - "nodeType": "Return", - "src": "7673:107:80" - } - ] - }, - "baseFunctions": [ - 45937 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "7580:17:80", - "overrides": { - "id": 55620, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7639:8:80" - }, - "parameters": { - "id": 55619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55618, - "mutability": "mutable", - "name": "interfaceId_", - "nameLocation": "7605:12:80", - "nodeType": "VariableDeclaration", - "scope": 55639, - "src": "7598:19:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 55617, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "7598:6:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "7597:21:80" - }, - "returnParameters": { - "id": 55623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55622, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55639, - "src": "7657:4:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 55621, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7657:4:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7656:6:80" - }, - "scope": 55834, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 55649, - "nodeType": "FunctionDefinition", - "src": "7823:121:80", - "nodes": [], - "body": { - "id": 55648, - "nodeType": "Block", - "src": "7901:43:80", - "nodes": [], - "statements": [ - { - "expression": { - "id": 55646, - "name": "AUTHORING_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55428, - "src": "7918:19:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 55645, - "id": 55647, - "nodeType": "Return", - "src": "7911:26:80" - } - ] - }, - "baseFunctions": [ - 56484 - ], - "documentation": { - "id": 55640, - "nodeType": "StructuredDocumentation", - "src": "7793:25:80", - "text": "@inheritdoc IParserV1" - }, - "functionSelector": "b6c7175a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "authoringMetaHash", - "nameLocation": "7832:17:80", - "overrides": { - "id": 55642, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7874:8:80" - }, - "parameters": { - "id": 55641, - "nodeType": "ParameterList", - "parameters": [], - "src": "7849:2:80" - }, - "returnParameters": { - "id": 55645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55644, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55649, - "src": "7892:7:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55643, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7892:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7891:9:80" - }, - "scope": 55834, - "stateMutability": "pure", - "virtual": true, - "visibility": "external" - }, - { - "id": 55694, - "nodeType": "FunctionDefinition", - "src": "7980:481:80", - "nodes": [], - "body": { - "id": 55693, - "nodeType": "Block", - "src": "8086:375:80", - "nodes": [], - "statements": [ - { - "assignments": [ - 55659 - ], - "declarations": [ - { - "constant": false, - "id": 55659, - "mutability": "mutable", - "name": "inputAuthoringMetaHash", - "nameLocation": "8104:22:80", - "nodeType": "VariableDeclaration", - "scope": 55693, - "src": "8096:30:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 55658, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8096:7:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 55663, - "initialValue": { - "arguments": [ - { - "id": 55661, - "name": "authoringMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55652, - "src": "8139:13:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 55660, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "8129:9:80", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 55662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8129:24:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8096:57:80" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 55666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55664, - "name": "inputAuthoringMetaHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55659, - "src": "8167:22:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 55665, - "name": "AUTHORING_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55428, - "src": "8193:19:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "8167:45:80", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 55673, - "nodeType": "IfStatement", - "src": "8163:153:80", - "trueBody": { - "id": 55672, - "nodeType": "Block", - "src": "8214:102:80", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 55668, - "name": "AUTHORING_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55428, - "src": "8261:19:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 55669, - "name": "inputAuthoringMetaHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55659, - "src": "8282:22:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 55667, - "name": "AuthoringMetaHashMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56478, - "src": "8235:25:80", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32) pure" - } - }, - "id": 55670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8235:70:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55671, - "nodeType": "RevertStatement", - "src": "8228:77:80" - } - ] - } - }, - { - "assignments": [ - 55678 - ], - "declarations": [ - { - "constant": false, - "id": 55678, - "mutability": "mutable", - "name": "words", - "nameLocation": "8348:5:80", - "nodeType": "VariableDeclaration", - "scope": 55693, - "src": "8325:28:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", - "typeString": "struct AuthoringMeta[]" - }, - "typeName": { - "baseType": { - "id": 55676, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55675, - "name": "AuthoringMeta", - "nameLocations": [ - "8325:13:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 68882, - "src": "8325:13:80" - }, - "referencedDeclaration": 68882, - "src": "8325:13:80", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AuthoringMeta_$68882_storage_ptr", - "typeString": "struct AuthoringMeta" - } - }, - "id": 55677, - "nodeType": "ArrayTypeName", - "src": "8325:15:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_storage_$dyn_storage_ptr", - "typeString": "struct AuthoringMeta[]" - } - }, - "visibility": "internal" - } - ], - "id": 55686, - "initialValue": { - "arguments": [ - { - "id": 55681, - "name": "authoringMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55652, - "src": "8367:13:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "baseExpression": { - "id": 55682, - "name": "AuthoringMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68882, - "src": "8383:13:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_AuthoringMeta_$68882_storage_ptr_$", - "typeString": "type(struct AuthoringMeta storage pointer)" - } - }, - "id": 55683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8383:15:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct AuthoringMeta memory[] memory)" - } - } - ], - "id": 55684, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8382:17:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct AuthoringMeta memory[] memory)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct AuthoringMeta memory[] memory)" - } - ], - "expression": { - "id": 55679, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "8356:3:80", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 55680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8360:6:80", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "8356:10:80", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 55685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8356:44:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", - "typeString": "struct AuthoringMeta memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8325:75:80" - }, - { - "expression": { - "arguments": [ - { - "id": 55689, - "name": "words", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55678, - "src": "8445:5:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", - "typeString": "struct AuthoringMeta memory[] memory" - } - }, - { - "hexValue": "32", - "id": 55690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8452:1:80", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr", - "typeString": "struct AuthoringMeta memory[] memory" - }, - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "expression": { - "id": 55687, - "name": "LibParseMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 69578, - "src": "8417:12:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibParseMeta_$69578_$", - "typeString": "type(library LibParseMeta)" - } - }, - "id": 55688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8430:14:80", - "memberName": "buildParseMeta", - "nodeType": "MemberAccess", - "referencedDeclaration": 69408, - "src": "8417:27:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_AuthoringMeta_$68882_memory_ptr_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (struct AuthoringMeta memory[] memory,uint8) pure returns (bytes memory)" - } - }, - "id": 55691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8417:37:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 55657, - "id": 55692, - "nodeType": "Return", - "src": "8410:44:80" - } - ] - }, - "baseFunctions": [ - 56492 - ], - "documentation": { - "id": 55650, - "nodeType": "StructuredDocumentation", - "src": "7950:25:80", - "text": "@inheritdoc IParserV1" - }, - "functionSelector": "a600bd0a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buildParseMeta", - "nameLocation": "7989:14:80", - "overrides": { - "id": 55654, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8054:8:80" - }, - "parameters": { - "id": 55653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55652, - "mutability": "mutable", - "name": "authoringMeta", - "nameLocation": "8017:13:80", - "nodeType": "VariableDeclaration", - "scope": 55694, - "src": "8004:26:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55651, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8004:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8003:28:80" - }, - "returnParameters": { - "id": 55657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55656, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55694, - "src": "8072:12:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55655, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8072:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8071:14:80" - }, - "scope": 55834, - "stateMutability": "pure", - "virtual": true, - "visibility": "external" - }, - { - "id": 55704, - "nodeType": "FunctionDefinition", - "src": "8497:107:80", - "nodes": [], - "body": { - "id": 55703, - "nodeType": "Block", - "src": "8570:34:80", - "nodes": [], - "statements": [ - { - "expression": { - "id": 55701, - "name": "PARSE_META", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55431, - "src": "8587:10:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 55700, - "id": 55702, - "nodeType": "Return", - "src": "8580:17:80" - } - ] - }, - "baseFunctions": [ - 56498 - ], - "documentation": { - "id": 55695, - "nodeType": "StructuredDocumentation", - "src": "8467:25:80", - "text": "@inheritdoc IParserV1" - }, - "functionSelector": "ffc25704", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "parseMeta", - "nameLocation": "8506:9:80", - "overrides": { - "id": 55697, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8538:8:80" - }, - "parameters": { - "id": 55696, - "nodeType": "ParameterList", - "parameters": [], - "src": "8515:2:80" - }, - "returnParameters": { - "id": 55700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55699, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55704, - "src": "8556:12:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55698, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8556:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8555:14:80" - }, - "scope": 55834, - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "id": 55724, - "nodeType": "FunctionDefinition", - "src": "8640:289:80", - "nodes": [], - "body": { - "id": 55723, - "nodeType": "Block", - "src": "8746:183:80", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 55718, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55707, - "src": "8904:4:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 55719, - "name": "parseMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55704, - "src": "8910:9:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 55720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8910:11:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 55716, - "name": "LibParse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65514, - "src": "8889:8:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibParse_$65514_$", - "typeString": "type(library LibParse)" - } - }, - "id": 55717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8898:5:80", - "memberName": "parse", - "nodeType": "MemberAccess", - "referencedDeclaration": 65513, - "src": "8889:14:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory,uint256[] memory)" - } - }, - "id": 55721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8889:33:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(bytes memory,uint256[] memory)" - } - }, - "functionReturnParameters": 55715, - "id": 55722, - "nodeType": "Return", - "src": "8882:40:80" - } - ] - }, - "baseFunctions": [ - 56509 - ], - "documentation": { - "id": 55705, - "nodeType": "StructuredDocumentation", - "src": "8610:25:80", - "text": "@inheritdoc IParserV1" - }, - "functionSelector": "fab4087a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "parse", - "nameLocation": "8649:5:80", - "overrides": { - "id": 55709, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8696:8:80" - }, - "parameters": { - "id": 55708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55707, - "mutability": "mutable", - "name": "data", - "nameLocation": "8668:4:80", - "nodeType": "VariableDeclaration", - "scope": 55724, - "src": "8655:17:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55706, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8655:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8654:19:80" - }, - "returnParameters": { - "id": 55715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55711, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55724, - "src": "8714:12:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55710, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8714:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55714, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55724, - "src": "8728:16:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8728:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55713, - "nodeType": "ArrayTypeName", - "src": "8728:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "8713:32:80" - }, - "scope": 55834, - "stateMutability": "pure", - "virtual": true, - "visibility": "external" - }, - { - "id": 55800, - "nodeType": "FunctionDefinition", - "src": "8977:1006:80", - "nodes": [], - "body": { - "id": 55799, - "nodeType": "Block", - "src": "9167:816:80", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 55745, - "name": "bytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55727, - "src": "9192:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 55746, - "name": "constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55730, - "src": "9202:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 55747, - "name": "minOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55733, - "src": "9213:10:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 55744, - "name": "integrityCheck", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55822, - "src": "9177:14:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (bytes memory,uint256[] memory,uint256[] memory) view" - } - }, - "id": 55748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9177:47:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55749, - "nodeType": "ExpressionStatement", - "src": "9177:47:80" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 55751, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9254:3:80", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9258:6:80", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9254:10:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 55753, - "name": "bytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55727, - "src": "9266:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 55754, - "name": "constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55730, - "src": "9276:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 55755, - "name": "minOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55733, - "src": "9287:10:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 55750, - "name": "NewExpression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55472, - "src": "9240:13:80", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,bytes memory,uint256[] memory,uint256[] memory)" - } - }, - "id": 55756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9240:58:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55757, - "nodeType": "EmitStatement", - "src": "9235:63:80" - }, - { - "assignments": [ - 55760, - 55763 - ], - "declarations": [ - { - "constant": false, - "id": 55760, - "mutability": "mutable", - "name": "container", - "nameLocation": "9338:9:80", - "nodeType": "VariableDeclaration", - "scope": 55799, - "src": "9310:37:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", - "typeString": "DataContractMemoryContainer" - }, - "typeName": { - "id": 55759, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55758, - "name": "DataContractMemoryContainer", - "nameLocations": [ - "9310:27:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 53958, - "src": "9310:27:80" - }, - "referencedDeclaration": 53958, - "src": "9310:27:80", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", - "typeString": "DataContractMemoryContainer" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55763, - "mutability": "mutable", - "name": "pointer", - "nameLocation": "9357:7:80", - "nodeType": "VariableDeclaration", - "scope": 55799, - "src": "9349:15:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", - "typeString": "Pointer" - }, - "typeName": { - "id": 55762, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55761, - "name": "Pointer", - "nameLocations": [ - "9349:7:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72203, - "src": "9349:7:80" - }, - "referencedDeclaration": 72203, - "src": "9349:7:80", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", - "typeString": "Pointer" - } - }, - "visibility": "internal" - } - ], - "id": 55772, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 55768, - "name": "bytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55727, - "src": "9459:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 55769, - "name": "constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55730, - "src": "9469:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "id": 55766, - "name": "LibInterpreterStateDataContractNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70673, - "src": "9409:33:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70673_$", - "typeString": "type(library LibInterpreterStateDataContractNP)" - } - }, - "id": 55767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9443:15:80", - "memberName": "serializeSizeNP", - "nodeType": "MemberAccess", - "referencedDeclaration": 70583, - "src": "9409:49:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory,uint256[] memory) pure returns (uint256)" - } - }, - "id": 55770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9409:70:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 55764, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54065, - "src": "9380:15:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$54065_$", - "typeString": "type(library LibDataContract)" - } - }, - "id": 55765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9396:12:80", - "memberName": "newContainer", - "nodeType": "MemberAccess", - "referencedDeclaration": 53982, - "src": "9380:28:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_DataContractMemoryContainer_$53958_$_t_userDefinedValueType$_Pointer_$72203_$", - "typeString": "function (uint256) pure returns (DataContractMemoryContainer,Pointer)" - } - }, - "id": 55771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9380:100:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_userDefinedValueType$_DataContractMemoryContainer_$53958_$_t_userDefinedValueType$_Pointer_$72203_$", - "typeString": "tuple(DataContractMemoryContainer,Pointer)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9309:171:80" - }, - { - "expression": { - "arguments": [ - { - "id": 55776, - "name": "pointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55763, - "src": "9654:7:80", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", - "typeString": "Pointer" - } - }, - { - "id": 55777, - "name": "bytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55727, - "src": "9663:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 55778, - "name": "constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55730, - "src": "9673:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Pointer_$72203", - "typeString": "Pointer" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "id": 55773, - "name": "LibInterpreterStateDataContractNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70673, - "src": "9602:33:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibInterpreterStateDataContractNP_$70673_$", - "typeString": "type(library LibInterpreterStateDataContractNP)" - } - }, - "id": 55775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9636:17:80", - "memberName": "unsafeSerializeNP", - "nodeType": "MemberAccess", - "referencedDeclaration": 70610, - "src": "9602:51:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Pointer_$72203_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (Pointer,bytes memory,uint256[] memory) pure" - } - }, - "id": 55779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9602:81:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55780, - "nodeType": "ExpressionStatement", - "src": "9602:81:80" - }, - { - "assignments": [ - 55782 - ], - "declarations": [ - { - "constant": false, - "id": 55782, - "mutability": "mutable", - "name": "expression", - "nameLocation": "9755:10:80", - "nodeType": "VariableDeclaration", - "scope": 55799, - "src": "9747:18:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55781, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9747:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 55787, - "initialValue": { - "arguments": [ - { - "id": 55785, - "name": "container", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55760, - "src": "9790:9:80", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", - "typeString": "DataContractMemoryContainer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_DataContractMemoryContainer_$53958", - "typeString": "DataContractMemoryContainer" - } - ], - "expression": { - "id": 55783, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54065, - "src": "9768:15:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$54065_$", - "typeString": "type(library LibDataContract)" - } - }, - "id": 55784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9784:5:80", - "memberName": "write", - "nodeType": "MemberAccess", - "referencedDeclaration": 54012, - "src": "9768:21:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_DataContractMemoryContainer_$53958_$returns$_t_address_$", - "typeString": "function (DataContractMemoryContainer) returns (address)" - } - }, - "id": 55786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9768:32:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9747:53:80" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 55789, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9901:3:80", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9905:6:80", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9901:10:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 55791, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55782, - "src": "9913:10:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 55788, - "name": "ExpressionAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55479, - "src": "9883:17:80", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 55792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9883:41:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55793, - "nodeType": "EmitStatement", - "src": "9878:46:80" - }, - { - "expression": { - "components": [ - { - "id": 55794, - "name": "iInterpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55483, - "src": "9943:12:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - { - "id": 55795, - "name": "iStore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55487, - "src": "9957:6:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 55796, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55782, - "src": "9965:10:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 55797, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9942:34:80", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV1_$56347_$_t_contract$_IInterpreterStoreV1_$56297_$_t_address_$", - "typeString": "tuple(contract IInterpreterV1,contract IInterpreterStoreV1,address)" - } - }, - "functionReturnParameters": 55743, - "id": 55798, - "nodeType": "Return", - "src": "9935:41:80" - } - ] - }, - "baseFunctions": [ - 56467 - ], - "documentation": { - "id": 55725, - "nodeType": "StructuredDocumentation", - "src": "8935:37:80", - "text": "@inheritdoc IExpressionDeployerV2" - }, - "functionSelector": "31a66b65", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deployExpression", - "nameLocation": "8986:16:80", - "parameters": { - "id": 55734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55727, - "mutability": "mutable", - "name": "bytecode", - "nameLocation": "9016:8:80", - "nodeType": "VariableDeclaration", - "scope": 55800, - "src": "9003:21:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55726, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9003:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55730, - "mutability": "mutable", - "name": "constants", - "nameLocation": "9043:9:80", - "nodeType": "VariableDeclaration", - "scope": 55800, - "src": "9026:26:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9026:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55729, - "nodeType": "ArrayTypeName", - "src": "9026:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55733, - "mutability": "mutable", - "name": "minOutputs", - "nameLocation": "9071:10:80", - "nodeType": "VariableDeclaration", - "scope": 55800, - "src": "9054:27:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9054:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55732, - "nodeType": "ArrayTypeName", - "src": "9054:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "9002:80:80" - }, - "returnParameters": { - "id": 55743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55737, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55800, - "src": "9117:14:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - }, - "typeName": { - "id": 55736, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55735, - "name": "IInterpreterV1", - "nameLocations": [ - "9117:14:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56347, - "src": "9117:14:80" - }, - "referencedDeclaration": 56347, - "src": "9117:14:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV1_$56347", - "typeString": "contract IInterpreterV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55740, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55800, - "src": "9133:19:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 55739, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55738, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "9133:19:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "9133:19:80" - }, - "referencedDeclaration": 56297, - "src": "9133:19:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55742, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55800, - "src": "9154:7:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9154:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9116:46:80" - }, - "scope": 55834, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 55822, - "nodeType": "FunctionDefinition", - "src": "10036:249:80", - "nodes": [], - "body": { - "id": 55821, - "nodeType": "Block", - "src": "10172:113:80", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 55815, - "name": "INTEGRITY_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55407, - "src": "10217:27:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 55816, - "name": "bytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55803, - "src": "10246:8:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 55817, - "name": "constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55806, - "src": "10256:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 55818, - "name": "minOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55809, - "src": "10267:10:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "id": 55812, - "name": "LibIntegrityCheckNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57992, - "src": "10182:19:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibIntegrityCheckNP_$57992_$", - "typeString": "type(library LibIntegrityCheckNP)" - } - }, - "id": 55814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10202:14:80", - "memberName": "integrityCheck", - "nodeType": "MemberAccess", - "referencedDeclaration": 57991, - "src": "10182:34:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (bytes memory,bytes memory,uint256[] memory,uint256[] memory) view" - } - }, - "id": 55819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10182:96:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55820, - "nodeType": "ExpressionStatement", - "src": "10182:96:80" - } - ] - }, - "baseFunctions": [ - 56392 - ], - "documentation": { - "id": 55801, - "nodeType": "StructuredDocumentation", - "src": "9989:42:80", - "text": "@inheritdoc IDebugExpressionDeployerV2" - }, - "functionSelector": "cbb7d173", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "integrityCheck", - "nameLocation": "10045:14:80", - "parameters": { - "id": 55810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55803, - "mutability": "mutable", - "name": "bytecode", - "nameLocation": "10073:8:80", - "nodeType": "VariableDeclaration", - "scope": 55822, - "src": "10060:21:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55802, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10060:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55806, - "mutability": "mutable", - "name": "constants", - "nameLocation": "10100:9:80", - "nodeType": "VariableDeclaration", - "scope": 55822, - "src": "10083:26:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55804, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10083:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55805, - "nodeType": "ArrayTypeName", - "src": "10083:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55809, - "mutability": "mutable", - "name": "minOutputs", - "nameLocation": "10128:10:80", - "nodeType": "VariableDeclaration", - "scope": 55822, - "src": "10111:27:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55807, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10111:7:80", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55808, - "nodeType": "ArrayTypeName", - "src": "10111:9:80", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "10059:80:80" - }, - "returnParameters": { - "id": 55811, - "nodeType": "ParameterList", - "parameters": [], - "src": "10172:0:80" - }, - "scope": 55834, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 55833, - "nodeType": "FunctionDefinition", - "src": "11051:153:80", - "nodes": [], - "body": { - "id": 55832, - "nodeType": "Block", - "src": "11133:71:80", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 55828, - "name": "LibAllStandardOpsNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58838, - "src": "11150:19:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58838_$", - "typeString": "type(library LibAllStandardOpsNP)" - } - }, - "id": 55829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11170:25:80", - "memberName": "integrityFunctionPointers", - "nodeType": "MemberAccess", - "referencedDeclaration": 58678, - "src": "11150:45:80", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 55830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11150:47:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 55827, - "id": 55831, - "nodeType": "Return", - "src": "11143:54:80" - } - ] - }, - "documentation": { - "id": 55823, - "nodeType": "StructuredDocumentation", - "src": "10291:755:80", - "text": "Defines all the function pointers to integrity checks. This is the\n expression deployer's equivalent of the opcode function pointers and\n follows a near identical dispatch process. These are never compiled into\n source and are instead indexed into directly by the integrity check. The\n indexing into integrity pointers (which has an out of bounds check) is a\n proxy for enforcing that all opcode pointers exist at runtime, so the\n length of the integrity pointers MUST match the length of opcode function\n pointers. This function is `virtual` so that it can be overridden\n pairwise with overrides to `functionPointers` on `Rainterpreter`.\n @return The list of integrity function pointers." - }, - "functionSelector": "8d614591", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "integrityFunctionPointers", - "nameLocation": "11060:25:80", - "parameters": { - "id": 55824, - "nodeType": "ParameterList", - "parameters": [], - "src": "11085:2:80" - }, - "returnParameters": { - "id": 55827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55826, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55833, - "src": "11119:12:80", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55825, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11119:5:80", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "11118:14:80" - }, - "scope": 55834, - "stateMutability": "view", - "virtual": true, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 55440, - "name": "IExpressionDeployerV2", - "nameLocations": [ - "3970:21:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56468, - "src": "3970:21:80" - }, - "id": 55441, - "nodeType": "InheritanceSpecifier", - "src": "3970:21:80" - }, - { - "baseName": { - "id": 55442, - "name": "IDebugExpressionDeployerV2", - "nameLocations": [ - "3993:26:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56393, - "src": "3993:26:80" - }, - "id": 55443, - "nodeType": "InheritanceSpecifier", - "src": "3993:26:80" - }, - { - "baseName": { - "id": 55444, - "name": "IParserV1", - "nameLocations": [ - "4021:9:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56510, - "src": "4021:9:80" - }, - "id": 55445, - "nodeType": "InheritanceSpecifier", - "src": "4021:9:80" - }, - { - "baseName": { - "id": 55446, - "name": "ERC165", - "nameLocations": [ - "4032:6:80" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45938, - "src": "4032:6:80" - }, - "id": 55447, - "nodeType": "InheritanceSpecifier", - "src": "4032:6:80" - } - ], - "canonicalName": "RainterpreterExpressionDeployerNP", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 55439, - "nodeType": "StructuredDocumentation", - "src": "3703:221:80", - "text": "@title RainterpreterExpressionDeployer\n @notice !!!EXPERIMENTAL!!! This is the deployer for the RainterpreterNP\n interpreter. Notably includes onchain parsing/compiling of expressions from\n Rainlang strings." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 55834, - 45938, - 45950, - 56510, - 56393, - 56468 - ], - "name": "RainterpreterExpressionDeployerNP", - "nameLocation": "3933:33:80", - "scope": 55835, - "usedErrors": [ - 53945, - 55388, - 55393, - 55398, - 55403, - 56478, - 56523, - 57604, - 57611, - 57620, - 57629, - 57638, - 57647, - 57654, - 57661, - 58023, - 58144, - 58277, - 63564, - 63569, - 63574, - 63579, - 63584, - 63589, - 63594, - 63599, - 63604, - 63609, - 63614, - 63619, - 63624, - 63629, - 63632, - 63635, - 63638, - 63641, - 63644, - 63647, - 68111, - 68116, - 68121, - 68126, - 68131, - 68136, - 68141, - 68146, - 68844, - 69603, - 69607, - 69611, - 69615 - ] - } - ], - "license": "CAL" - }, - "id": 80 -} diff --git a/subgraph/tests/generated/RainterpreterNP.json b/subgraph/tests/generated/RainterpreterNP.json deleted file mode 100644 index 98b6024dab..0000000000 --- a/subgraph/tests/generated/RainterpreterNP.json +++ /dev/null @@ -1,4411 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "name": "BadDynamicLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ensureCode", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "errorIndex", - "type": "uint256" - } - ], - "name": "EnsureFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "condCode", - "type": "uint256" - } - ], - "name": "NoConditionsMet", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv18_Overflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "name": "PRBMath_MulDiv_Overflow", - "type": "error" - }, - { - "inputs": [], - "name": "ReadError", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "name": "SourceOffsetOutOfBounds", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "StateNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "EncodedDispatch", - "name": "dispatch", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - } - ], - "name": "eval", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "functionPointers", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "FullyQualifiedNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "expressionData", - "type": "bytes" - }, - { - "internalType": "SourceIndex", - "name": "sourceIndex16", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "maxOutputs", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - }, - { - "internalType": "uint256[]", - "name": "inputs", - "type": "uint256[]" - } - ], - "name": "offchainDebugEval", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50612b7a806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780636715f82514610079578063758c13b61461009a578063f933c72f146100ad575b600080fd5b61006461005f36600461239d565b6100c2565b60405190151581526020015b60405180910390f35b61008c610087366004612591565b6101a7565b60405161007092919061262f565b61008c6100a836600461266b565b61023c565b6100b5610294565b6040516100709190612801565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9e263f0a00000000000000000000000000000000000000000000000000000000148061015557507fffffffff0000000000000000000000000000000000000000000000000000000082167f758c13b600000000000000000000000000000000000000000000000000000000145b806101a157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606080602084901c601085901c61ffff861660006101c4846102a3565b905061ffff8316600061020b826101e58d3360009182526020526040902090565b8e8c604051806080016040528060528152602001612b286052913988949392919061034a565b6040805160008152602081019091529091506102299082908661049b565b9750975050505050505094509492505050565b606080600061ffff871690506000610275828b8d89604051806080016040528060528152602001612b28605291398e949392919061034a565b905061028281868961049b565b93509350505097509795505050505050565b606061029e610804565b905090565b6060813b60008190036102e2576040517f26a9f61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603e83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910180825290915080600160208401853c50919050565b6103af6040518061012001604052806060815260200160608152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b602087810180516040600191820184028b01818101518251600091821a808252948501870281019093526041808301968381019593600285020190910191908401905b8381101561043057875160f01c83015160408051600192831a80825283016020908102909101918290529084526002909901989290920191016103f2565b505050506040518061012001604052808281526020018481526020018b8152602001600081526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff168152602001888152602001838152602001878152509450505050509695505050505050565b606080600085600001518660400151815181106104ba576104ba612814565b602002602001015190506000855111156104ed5760006020865102820391506020860190506104eb818388516109a4565b505b600086604001519050600080600080600060028c6101000151518161051457610514612843565b60e08e01516101008f0151602080830151600261ffff9c909c168c8102850160219081015160f01c600093841a9e909e029095019c909c019384015160258086019c50600791831a918216918290036004029095019094019950929750019450919004915061239390805b868810156106fb57875190506002848260001a060285015160f01c925062ffffff8160e01c1691506105b68f838c8663ffffffff16565b99506002848260041a060285015160f01c925062ffffff8160c01c1691506105e38f838c8663ffffffff16565b99506002848260081a060285015160f01c925062ffffff8160a01c1691506106108f838c8663ffffffff16565b995060028482600c1a060285015160f01c925062ffffff8160801c16915061063d8f838c8663ffffffff16565b99506002848260101a060285015160f01c925062ffffff8160601c16915061066a8f838c8663ffffffff16565b99506002848260141a060285015160f01c925062ffffff8160401c1691506106978f838c8663ffffffff16565b99506002848260181a060285015160f01c925062ffffff8160201c1691506106c48f838c8663ffffffff16565b995060028482601c1a060285015160f01c925062ffffff811691506106ee8f838c8663ffffffff16565b995060208801975061057f565b601c8803975085600402880196505b868810156107465750508551601c81901a83900660020284015160f01c915062ffffff8116906107398f838c86565b995060048801975061070a565b50505050505050505060006107638760e0015188604001516109cc565b90508085106107725780610774565b845b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08084018281529192508390602084028201015b808210156107e55781518151835281526020909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016107a8565b5050806107f589606001516109e5565b94509450505050935093915050565b60408051610540810182526029808252610c596020830152610ca592820192909252610ce0606082810191909152610dc46080830152610dfe60a0830152610e2d60c0830152610e5c60e08301819052610100830152610eab610120830152610eda610140830152610f3c610160830152610fc461018083015261106b6101a083015261107f6101c08301526110d56101e08301526110e96102008301526110fe61022083015261111861024083015261112361026083015261113761028083015261114c6102a08301526111c96102c08301526112146102e083015261123a61030083015261125c61032083015261127361034083018190526103608301526112be6103808301526113096103a08301526113546103c083018190526103e083015261139f61040083018190526104208301526113ea61044083015261143561046083015261148061048083018190526104a08301526114cb6104c08301526115b26104e08301526115e561050083015261163c6105208301529190819080610992565b60405180910390fd5b61099b8161166e565b94505050505090565b8060200283015b808410156109c65783518352602093840193909201916109ab565b50505050565b6000806109d984846116ff565b5160031a949350505050565b6040805160f083901c602081810283010190925290815261ffff63ffffffff67ffffffffffffffff6fffffffffffffffffffffffffffffffff610a52565b60005b8215610a4c57825182526020830151602083015260408301519250604082019150610a26565b50919050565b602085018660101b60901c8015610b42578060401c8015610ac0578060201c8015610a8457610a818185610a23565b93505b508086168015610abe578060101c8015610aa557610aa28186610a23565b94505b508088168015610abc57610ab98186610a23565b94505b505b505b508084168015610b40578060201c8015610b04578060101c8015610aeb57610ae88186610a23565b94505b508088168015610b0257610aff8186610a23565b94505b505b508086168015610b3e578060101c8015610b2557610b228186610a23565b94505b508088168015610b3c57610b398186610a23565b94505b505b505b505b508682168015610c4e578060401c8015610bcc578060201c8015610b90578060101c8015610b7757610b748186610a23565b94505b508088168015610b8e57610b8b8186610a23565b94505b505b508086168015610bca578060101c8015610bb157610bae8186610a23565b94505b508088168015610bc857610bc58186610a23565b94505b505b505b508084168015610c4c578060201c8015610c10578060101c8015610bf757610bf48186610a23565b94505b508088168015610c0e57610c0b8186610a23565b94505b505b508086168015610c4a578060101c8015610c3157610c2e8186610a23565b94505b508088168015610c4857610c458186610a23565b94505b505b505b505b505050505050919050565b604083015183516020600192830181029190910151918401029003517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152805b9392505050565b60209283015160019290920190920201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190815290565b600060ff8316600884901c6020841015610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f737461636b20756e646572666c6f7700000000000000000000000000000000006044820152606401610989565b60008660c001518381518110610d6e57610d6e612814565b60200260200101518281518110610d8757610d87612814565b60209081029190910101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909501948552509295945050505050565b60109190911c6020028082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190920101908152919050565b437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f315781518015610f25578552610f31565b50602082019150610f0e565b509295945050505050565b6000808260208560101c0281016020810394505b80821015610f7957815192508215610f6e5760208201518552610f79565b604082019150610f50565b505080600003610fbb576040517fff86627a00000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401610989565b50909392505050565b8051600090602080840190601086901c0284015b600083118183101615610ff45781519250602082019150610fd8565b5081600003611062576040517f40dccdf600000000000000000000000000000000000000000000000000000000815261ffff8616600482015260208583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001046024820152604401610989565b95945050505050565b805160209091018051909114815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f31578151806110c9578552610f31565b506020820191506110b3565b805160209091018051909111815292915050565b80516020909101805190911015815292915050565b805160409015156020028203810151910190815292915050565b805115815292915050565b805160209091018051909110815292915050565b80516020909101805190911115815292915050565b80516020820151604090920191600091906111678282611730565b9150601085901c60025b81811015611197578551925060208601955061118d8484611730565b9350600101611171565b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0929092019182525092915050565b80516020820151604090920191600091906111e4828261174b565b9150601085901c60025b81811015611197578551925060208601955061120a848461174b565b93506001016111ee565b80516020909101805190916000919061122e82828761175a565b84525091949350505050565b80516000906112518160ff8616600887901c61175a565b835250909392505050565b80516000906112518160ff8616600887901c6117df565b805160208201516040909201916000919061128e81836128a1565b9150601085901c60025b8181101561119757855160209096019592506112b483856128a1565b9350600101611298565b80516020820151604090920191600091906112d981836128b4565b9150601085901c60025b8181101561119757855160209096019592506112ff83856128b4565b93506001016112e3565b805160208201516040909201916000919061132481836129e8565b9150601085901c60025b81811015611197578551602090960195925061134a83856129e8565b935060010161132e565b805160208201516040909201916000919080821015611371578091505b601085901c60025b81811015611197578551925060208601955082841015611397578293505b600101611379565b8051602082015160409092019160009190808211156113bc578091505b601085901c60025b818110156111975785519250602086019550828411156113e2578293505b6001016113c4565b805160208201516040909201916000919061140581836129f4565b9150601085901c60025b81811015611197578551602090960195925061142b83856129f4565b935060010161140f565b80516020820151604090920191600091906114508183612a08565b9150601085901c60025b8181101561119757855160209096019592506114768385612a08565b935060010161145a565b805160208201516040909201916000919061149b8183612a1f565b9150601085901c60025b8181101561119757855160209096019592506114c18385612a1f565b93506001016114a5565b8051606084015160009190829081906114e49084611841565b915091508160000361122e5760a087015160808801516040517f669e48aa00000000000000000000000000000000000000000000000000000000815260048101919091526024810185905260009173ffffffffffffffffffffffffffffffffffffffff169063669e48aa90604401602060405180830381865afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190612a32565b60608901519091506115a690858361188b565b60608901528552610f31565b80516020820151606085015160409093019260009291906115d490838361188b565b606087015250829150509392505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861191d565b91509150818852600189161561162e578060208901525b509598975050505050505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861195f565b60606000825160020267ffffffffffffffff81111561168f5761168f612404565b6040519080825280601f01601f1916602001820160405280156116b9576020820181803683370190505b50905061ffff80196020850160208651028101600285015b818310156116f3578051835186169085161781526020909201916002016116d1565b50939695505050505050565b60008061170b8461198b565b6002026001019050600061171f85856119a9565b949091019093016020019392505050565b6000610c9e61174884670de0b6b3a764000085611a21565b90565b6000610c9e6117488484611b2c565b6000826012111561178f57601283900360028316156117855761177d8582611c33565b915050610c9e565b61177d8582611cc3565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156117ce5761177d8582611cfb565b61177d8582611d4d565b5082610c9e565b6000826012111561180257601283900360018316156117ce5761177d8582611cfb565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156117855761177d8582611c33565b600080826000526010600f6020600020060261ffff85821c165b80156118825780518503611879576001935060208101519250611882565b6040015161185b565b50509250929050565b6000826000526010600f6020600020060261ffff85821c16805b80156118bc57805186146118bc57604001516118a5565b8015801561190a5760405191506060820160405286825285602083015282604083015260028860f01c0161ffff60f01b1989168160f01b1798505061ffff841b19881682851b179750611911565b8560208301525b50959695505050505050565b6000806000806000611930898989611d70565b9250925092508560001461194e57611949868484611f14565b611951565b60005b999098509650505050505050565b6000806000806000611972898989611d70565b9250925092508560001461194e57611949868484612094565b6000815160000361199e57506000919050565b506020015160001a90565b6002810282016003015161ffff1660006119c28461198b565b8451909150600560028302840101908111806119de5750818410155b15611a195784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610989929190612a4b565b505092915050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611a7957838281611a6f57611a6f612843565b0492505050610c9e565b838110611ac3576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610989565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84860984860292508281108382030391505080600003611b7e5750670de0b6b3a7640000900490506101a1565b670de0b6b3a76400008110611bc9576040517f5173648d0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610989565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b6000604e8210611c73578215611c69577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611c6c565b60005b90506101a1565b50600a81900a8281029083818381611c8d57611c8d612843565b0414611cb9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611cbb565b815b949350505050565b600a81900a611cd28184612a08565b9050604e82106101a1578215611cf257611ced82600a6129e8565b610c9e565b50600092915050565b6000604e8210611d1f578215611d12576001611d15565b60005b60ff1690506101a1565b600a82900a808481611d3357611d33612843565b0491508082028414611d46576001820191505b5092915050565b6000604e821015611cf25781600a0a8381611d6a57611d6a612843565b04610c9e565b600080600080611d80868661220f565b506040517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015291925060009189169063e6a4390590604401602060405180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190612a6d565b905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190612aa8565b63ffffffff1692506dffffffffffffffffffffffffffff1692506dffffffffffffffffffffffffffff1692508473ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611efc57818382611f00565b8282825b919d909c50909a5098505050505050505050565b6000808411611fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201527f55545055545f414d4f554e5400000000000000000000000000000000000000006064820152608401610989565b600083118015611fb55750600082115b612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b600061204d8585612a08565b612059906103e8612a08565b905060006120678685612a1f565b612073906103e5612a08565b905061207f81836128b4565b61208a9060016128a1565b9695505050505050565b6000808411612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201527f4e5055545f414d4f554e540000000000000000000000000000000000000000006064820152608401610989565b6000831180156121355750600082115b6121c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b60006121cf856103e5612a08565b905060006121dd8483612a08565b90506000826121ee876103e8612a08565b6121f891906128a1565b905061220481836128b4565b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260448201527f45535345530000000000000000000000000000000000000000000000000000006064820152608401610989565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061230757828461230a565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606401610989565b9250929050565b61239b612af8565b565b6000602082840312156123af57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c9e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461240157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561247a5761247a612404565b604052919050565b600067ffffffffffffffff82111561249c5761249c612404565b5060051b60200190565b600082601f8301126124b757600080fd5b813560206124cc6124c783612482565b612433565b82815260059290921b840181019181810190868411156124eb57600080fd5b8286015b8481101561250657803583529183019183016124ef565b509695505050505050565b600082601f83011261252257600080fd5b813560206125326124c783612482565b82815260059290921b8401810191818101908684111561255157600080fd5b8286015b8481101561250657803567ffffffffffffffff8111156125755760008081fd5b6125838986838b01016124a6565b845250918301918301612555565b600080600080608085870312156125a757600080fd5b84356125b2816123df565b93506020850135925060408501359150606085013567ffffffffffffffff8111156125dc57600080fd5b6125e887828801612511565b91505092959194509250565b600081518084526020808501945080840160005b8381101561262457815187529582019590820190600101612608565b509495945050505050565b60408152600061264260408301856125f4565b828103602084015261106281856125f4565b803561ffff8116811461266657600080fd5b919050565b600080600080600080600060e0888a03121561268657600080fd5b8735612691816123df565b96506020888101359650604089013567ffffffffffffffff808211156126b657600080fd5b818b0191508b601f8301126126ca57600080fd5b8135818111156126dc576126dc612404565b61270c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612433565b8181528d8583860101111561272057600080fd5b81858501868301376000858383010152809950505061274160608c01612654565b965060808b0135955060a08b013592508083111561275e57600080fd5b61276a8c848d01612511565b945060c08b013592508083111561278057600080fd5b505061278e8a828b016124a6565b91505092959891949750929550565b6000815180845260005b818110156127c3576020818501810151868301820152016127a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c9e602083018461279d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101a1576101a1612872565b6000826128c3576128c3612843565b500490565b600181815b8085111561292157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561290757612907612872565b8085161561291457918102915b93841c93908002906128cd565b509250929050565b600082612938575060016101a1565b81612945575060006101a1565b816001811461295b576002811461296557612981565b60019150506101a1565b60ff84111561297657612976612872565b50506001821b6101a1565b5060208310610133831016604e8410600b84101617156129a4575081810a6101a1565b6129ae83836128c8565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156129e0576129e0612872565b029392505050565b6000610c9e8383612929565b600082612a0357612a03612843565b500690565b80820281158282048414176101a1576101a1612872565b818103818111156101a1576101a1612872565b600060208284031215612a4457600080fd5b5051919050565b604081526000612a5e604083018561279d565b90508260208301529392505050565b600060208284031215612a7f57600080fd5b8151610c9e816123df565b80516dffffffffffffffffffffffffffff8116811461266657600080fd5b600080600060608486031215612abd57600080fd5b612ac684612a8a565b9250612ad460208501612a8a565b9150604084015163ffffffff81168114612aed57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "sourceMap": "2324:3600:81:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780636715f82514610079578063758c13b61461009a578063f933c72f146100ad575b600080fd5b61006461005f36600461239d565b6100c2565b60405190151581526020015b60405180910390f35b61008c610087366004612591565b6101a7565b60405161007092919061262f565b61008c6100a836600461266b565b61023c565b6100b5610294565b6040516100709190612801565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9e263f0a00000000000000000000000000000000000000000000000000000000148061015557507fffffffff0000000000000000000000000000000000000000000000000000000082167f758c13b600000000000000000000000000000000000000000000000000000000145b806101a157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606080602084901c601085901c61ffff861660006101c4846102a3565b905061ffff8316600061020b826101e58d3360009182526020526040902090565b8e8c604051806080016040528060528152602001612b286052913988949392919061034a565b6040805160008152602081019091529091506102299082908661049b565b9750975050505050505094509492505050565b606080600061ffff871690506000610275828b8d89604051806080016040528060528152602001612b28605291398e949392919061034a565b905061028281868961049b565b93509350505097509795505050505050565b606061029e610804565b905090565b6060813b60008190036102e2576040517f26a9f61e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603e83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019091527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910180825290915080600160208401853c50919050565b6103af6040518061012001604052806060815260200160608152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b602087810180516040600191820184028b01818101518251600091821a808252948501870281019093526041808301968381019593600285020190910191908401905b8381101561043057875160f01c83015160408051600192831a80825283016020908102909101918290529084526002909901989290920191016103f2565b505050506040518061012001604052808281526020018481526020018b8152602001600081526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff168152602001888152602001838152602001878152509450505050509695505050505050565b606080600085600001518660400151815181106104ba576104ba612814565b602002602001015190506000855111156104ed5760006020865102820391506020860190506104eb818388516109a4565b505b600086604001519050600080600080600060028c6101000151518161051457610514612843565b60e08e01516101008f0151602080830151600261ffff9c909c168c8102850160219081015160f01c600093841a9e909e029095019c909c019384015160258086019c50600791831a918216918290036004029095019094019950929750019450919004915061239390805b868810156106fb57875190506002848260001a060285015160f01c925062ffffff8160e01c1691506105b68f838c8663ffffffff16565b99506002848260041a060285015160f01c925062ffffff8160c01c1691506105e38f838c8663ffffffff16565b99506002848260081a060285015160f01c925062ffffff8160a01c1691506106108f838c8663ffffffff16565b995060028482600c1a060285015160f01c925062ffffff8160801c16915061063d8f838c8663ffffffff16565b99506002848260101a060285015160f01c925062ffffff8160601c16915061066a8f838c8663ffffffff16565b99506002848260141a060285015160f01c925062ffffff8160401c1691506106978f838c8663ffffffff16565b99506002848260181a060285015160f01c925062ffffff8160201c1691506106c48f838c8663ffffffff16565b995060028482601c1a060285015160f01c925062ffffff811691506106ee8f838c8663ffffffff16565b995060208801975061057f565b601c8803975085600402880196505b868810156107465750508551601c81901a83900660020284015160f01c915062ffffff8116906107398f838c86565b995060048801975061070a565b50505050505050505060006107638760e0015188604001516109cc565b90508085106107725780610774565b845b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08084018281529192508390602084028201015b808210156107e55781518151835281526020909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016107a8565b5050806107f589606001516109e5565b94509450505050935093915050565b60408051610540810182526029808252610c596020830152610ca592820192909252610ce0606082810191909152610dc46080830152610dfe60a0830152610e2d60c0830152610e5c60e08301819052610100830152610eab610120830152610eda610140830152610f3c610160830152610fc461018083015261106b6101a083015261107f6101c08301526110d56101e08301526110e96102008301526110fe61022083015261111861024083015261112361026083015261113761028083015261114c6102a08301526111c96102c08301526112146102e083015261123a61030083015261125c61032083015261127361034083018190526103608301526112be6103808301526113096103a08301526113546103c083018190526103e083015261139f61040083018190526104208301526113ea61044083015261143561046083015261148061048083018190526104a08301526114cb6104c08301526115b26104e08301526115e561050083015261163c6105208301529190819080610992565b60405180910390fd5b61099b8161166e565b94505050505090565b8060200283015b808410156109c65783518352602093840193909201916109ab565b50505050565b6000806109d984846116ff565b5160031a949350505050565b6040805160f083901c602081810283010190925290815261ffff63ffffffff67ffffffffffffffff6fffffffffffffffffffffffffffffffff610a52565b60005b8215610a4c57825182526020830151602083015260408301519250604082019150610a26565b50919050565b602085018660101b60901c8015610b42578060401c8015610ac0578060201c8015610a8457610a818185610a23565b93505b508086168015610abe578060101c8015610aa557610aa28186610a23565b94505b508088168015610abc57610ab98186610a23565b94505b505b505b508084168015610b40578060201c8015610b04578060101c8015610aeb57610ae88186610a23565b94505b508088168015610b0257610aff8186610a23565b94505b505b508086168015610b3e578060101c8015610b2557610b228186610a23565b94505b508088168015610b3c57610b398186610a23565b94505b505b505b505b508682168015610c4e578060401c8015610bcc578060201c8015610b90578060101c8015610b7757610b748186610a23565b94505b508088168015610b8e57610b8b8186610a23565b94505b505b508086168015610bca578060101c8015610bb157610bae8186610a23565b94505b508088168015610bc857610bc58186610a23565b94505b505b505b508084168015610c4c578060201c8015610c10578060101c8015610bf757610bf48186610a23565b94505b508088168015610c0e57610c0b8186610a23565b94505b505b508086168015610c4a578060101c8015610c3157610c2e8186610a23565b94505b508088168015610c4857610c458186610a23565b94505b505b505b505b505050505050919050565b604083015183516020600192830181029190910151918401029003517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152805b9392505050565b60209283015160019290920190920201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190815290565b600060ff8316600884901c6020841015610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f737461636b20756e646572666c6f7700000000000000000000000000000000006044820152606401610989565b60008660c001518381518110610d6e57610d6e612814565b60200260200101518281518110610d8757610d87612814565b60209081029190910101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909501948552509295945050505050565b60109190911c6020028082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190920101908152919050565b437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09190910190815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f315781518015610f25578552610f31565b50602082019150610f0e565b509295945050505050565b6000808260208560101c0281016020810394505b80821015610f7957815192508215610f6e5760208201518552610f79565b604082019150610f50565b505080600003610fbb576040517fff86627a00000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401610989565b50909392505050565b8051600090602080840190601086901c0284015b600083118183101615610ff45781519250602082019150610fd8565b5081600003611062576040517f40dccdf600000000000000000000000000000000000000000000000000000000815261ffff8616600482015260208583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001046024820152604401610989565b95945050505050565b805160209091018051909114815292915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601083901c602002828101918201926000925b80821015610f31578151806110c9578552610f31565b506020820191506110b3565b805160209091018051909111815292915050565b80516020909101805190911015815292915050565b805160409015156020028203810151910190815292915050565b805115815292915050565b805160209091018051909110815292915050565b80516020909101805190911115815292915050565b80516020820151604090920191600091906111678282611730565b9150601085901c60025b81811015611197578551925060208601955061118d8484611730565b9350600101611171565b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0929092019182525092915050565b80516020820151604090920191600091906111e4828261174b565b9150601085901c60025b81811015611197578551925060208601955061120a848461174b565b93506001016111ee565b80516020909101805190916000919061122e82828761175a565b84525091949350505050565b80516000906112518160ff8616600887901c61175a565b835250909392505050565b80516000906112518160ff8616600887901c6117df565b805160208201516040909201916000919061128e81836128a1565b9150601085901c60025b8181101561119757855160209096019592506112b483856128a1565b9350600101611298565b80516020820151604090920191600091906112d981836128b4565b9150601085901c60025b8181101561119757855160209096019592506112ff83856128b4565b93506001016112e3565b805160208201516040909201916000919061132481836129e8565b9150601085901c60025b81811015611197578551602090960195925061134a83856129e8565b935060010161132e565b805160208201516040909201916000919080821015611371578091505b601085901c60025b81811015611197578551925060208601955082841015611397578293505b600101611379565b8051602082015160409092019160009190808211156113bc578091505b601085901c60025b818110156111975785519250602086019550828411156113e2578293505b6001016113c4565b805160208201516040909201916000919061140581836129f4565b9150601085901c60025b81811015611197578551602090960195925061142b83856129f4565b935060010161140f565b80516020820151604090920191600091906114508183612a08565b9150601085901c60025b8181101561119757855160209096019592506114768385612a08565b935060010161145a565b805160208201516040909201916000919061149b8183612a1f565b9150601085901c60025b8181101561119757855160209096019592506114c18385612a1f565b93506001016114a5565b8051606084015160009190829081906114e49084611841565b915091508160000361122e5760a087015160808801516040517f669e48aa00000000000000000000000000000000000000000000000000000000815260048101919091526024810185905260009173ffffffffffffffffffffffffffffffffffffffff169063669e48aa90604401602060405180830381865afa15801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190612a32565b60608901519091506115a690858361188b565b60608901528552610f31565b80516020820151606085015160409093019260009291906115d490838361188b565b606087015250829150509392505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861191d565b91509150818852600189161561162e578060208901525b509598975050505050505050565b80516020808301516040808501516060860151600188161590940290950101936000939284806116178685858861195f565b60606000825160020267ffffffffffffffff81111561168f5761168f612404565b6040519080825280601f01601f1916602001820160405280156116b9576020820181803683370190505b50905061ffff80196020850160208651028101600285015b818310156116f3578051835186169085161781526020909201916002016116d1565b50939695505050505050565b60008061170b8461198b565b6002026001019050600061171f85856119a9565b949091019093016020019392505050565b6000610c9e61174884670de0b6b3a764000085611a21565b90565b6000610c9e6117488484611b2c565b6000826012111561178f57601283900360028316156117855761177d8582611c33565b915050610c9e565b61177d8582611cc3565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160018316156117ce5761177d8582611cfb565b61177d8582611d4d565b5082610c9e565b6000826012111561180257601283900360018316156117ce5761177d8582611cfb565b60128311156117d8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee830160028316156117855761177d8582611c33565b600080826000526010600f6020600020060261ffff85821c165b80156118825780518503611879576001935060208101519250611882565b6040015161185b565b50509250929050565b6000826000526010600f6020600020060261ffff85821c16805b80156118bc57805186146118bc57604001516118a5565b8015801561190a5760405191506060820160405286825285602083015282604083015260028860f01c0161ffff60f01b1989168160f01b1798505061ffff841b19881682851b179750611911565b8560208301525b50959695505050505050565b6000806000806000611930898989611d70565b9250925092508560001461194e57611949868484611f14565b611951565b60005b999098509650505050505050565b6000806000806000611972898989611d70565b9250925092508560001461194e57611949868484612094565b6000815160000361199e57506000919050565b506020015160001a90565b6002810282016003015161ffff1660006119c28461198b565b8451909150600560028302840101908111806119de5750818410155b15611a195784846040517fd3fc97bd000000000000000000000000000000000000000000000000000000008152600401610989929190612a4b565b505092915050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611a7957838281611a6f57611a6f612843565b0492505050610c9e565b838110611ac3576040517f63a05778000000000000000000000000000000000000000000000000000000008152600481018790526024810186905260448101859052606401610989565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84860984860292508281108382030391505080600003611b7e5750670de0b6b3a7640000900490506101a1565b670de0b6b3a76400008110611bc9576040517f5173648d0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610989565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b6000604e8210611c73578215611c69577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611c6c565b60005b90506101a1565b50600a81900a8281029083818381611c8d57611c8d612843565b0414611cb9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611cbb565b815b949350505050565b600a81900a611cd28184612a08565b9050604e82106101a1578215611cf257611ced82600a6129e8565b610c9e565b50600092915050565b6000604e8210611d1f578215611d12576001611d15565b60005b60ff1690506101a1565b600a82900a808481611d3357611d33612843565b0491508082028414611d46576001820191505b5092915050565b6000604e821015611cf25781600a0a8381611d6a57611d6a612843565b04610c9e565b600080600080611d80868661220f565b506040517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015291925060009189169063e6a4390590604401602060405180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190612a6d565b905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190612aa8565b63ffffffff1692506dffffffffffffffffffffffffffff1692506dffffffffffffffffffffffffffff1692508473ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611efc57818382611f00565b8282825b919d909c50909a5098505050505050505050565b6000808411611fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201527f55545055545f414d4f554e5400000000000000000000000000000000000000006064820152608401610989565b600083118015611fb55750600082115b612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b600061204d8585612a08565b612059906103e8612a08565b905060006120678685612a1f565b612073906103e5612a08565b905061207f81836128b4565b61208a9060016128a1565b9695505050505050565b6000808411612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201527f4e5055545f414d4f554e540000000000000000000000000000000000000000006064820152608401610989565b6000831180156121355750600082115b6121c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f49515549444954590000000000000000000000000000000000000000000000006064820152608401610989565b60006121cf856103e5612a08565b905060006121dd8483612a08565b90506000826121ee876103e8612a08565b6121f891906128a1565b905061220481836128b4565b979650505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260448201527f45535345530000000000000000000000000000000000000000000000000000006064820152608401610989565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061230757828461230a565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606401610989565b9250929050565b61239b612af8565b565b6000602082840312156123af57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c9e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461240157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561247a5761247a612404565b604052919050565b600067ffffffffffffffff82111561249c5761249c612404565b5060051b60200190565b600082601f8301126124b757600080fd5b813560206124cc6124c783612482565b612433565b82815260059290921b840181019181810190868411156124eb57600080fd5b8286015b8481101561250657803583529183019183016124ef565b509695505050505050565b600082601f83011261252257600080fd5b813560206125326124c783612482565b82815260059290921b8401810191818101908684111561255157600080fd5b8286015b8481101561250657803567ffffffffffffffff8111156125755760008081fd5b6125838986838b01016124a6565b845250918301918301612555565b600080600080608085870312156125a757600080fd5b84356125b2816123df565b93506020850135925060408501359150606085013567ffffffffffffffff8111156125dc57600080fd5b6125e887828801612511565b91505092959194509250565b600081518084526020808501945080840160005b8381101561262457815187529582019590820190600101612608565b509495945050505050565b60408152600061264260408301856125f4565b828103602084015261106281856125f4565b803561ffff8116811461266657600080fd5b919050565b600080600080600080600060e0888a03121561268657600080fd5b8735612691816123df565b96506020888101359650604089013567ffffffffffffffff808211156126b657600080fd5b818b0191508b601f8301126126ca57600080fd5b8135818111156126dc576126dc612404565b61270c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612433565b8181528d8583860101111561272057600080fd5b81858501868301376000858383010152809950505061274160608c01612654565b965060808b0135955060a08b013592508083111561275e57600080fd5b61276a8c848d01612511565b945060c08b013592508083111561278057600080fd5b505061278e8a828b016124a6565b91505092959891949750929550565b6000815180845260005b818110156127c3576020818501810151868301820152016127a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c9e602083018461279d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101a1576101a1612872565b6000826128c3576128c3612843565b500490565b600181815b8085111561292157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561290757612907612872565b8085161561291457918102915b93841c93908002906128cd565b509250929050565b600082612938575060016101a1565b81612945575060006101a1565b816001811461295b576002811461296557612981565b60019150506101a1565b60ff84111561297657612976612872565b50506001821b6101a1565b5060208310610133831016604e8410600b84101617156129a4575081810a6101a1565b6129ae83836128c8565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156129e0576129e0612872565b029392505050565b6000610c9e8383612929565b600082612a0357612a03612843565b500690565b80820281158282048414176101a1576101a1612872565b818103818111156101a1576101a1612872565b600060208284031215612a4457600080fd5b5051919050565b604081526000612a5e604083018561279d565b90508260208301529392505050565b600060208284031215612a7f57600080fd5b8151610c9e816123df565b80516dffffffffffffffffffffffffffff8116811461266657600080fd5b600080600060608486031215612abd57600080fd5b612ac684612a8a565b9250612ad460208501612a8a565b9150604084015163ffffffff81168114612aed57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "sourceMap": "2324:3600:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4688:270;;;;;;:::i;:::-;;:::i;:::-;;;516:14:212;;509:22;491:41;;479:2;464:18;4688:270:81;;;;;;;;3771:885;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5004:736::-;;;;;;:::i;:::-;;:::i;5781:141::-;;;:::i;:::-;;;;;;;:::i;4688:270::-;4773:4;4796:47;;;4811:32;4796:47;;:103;;-1:-1:-1;4847:52:81;;;4862:37;4847:52;4796:103;:155;;;-1:-1:-1;952:25:34;937:40;;;;4915:36:81;4789:162;4688:270;-1:-1:-1;;4688:270:81:o;3771:885::-;3953:16;;1518:2:95;1481:39;;;1597:2;1560:39;;;4031:105:81;;;4032:18;4176:32;1481:39:95;4176:20:81;:32::i;:::-;4146:62;-1:-1:-1;4378:6:81;4359:26;;4276:19;4439:151;4359:26;4500:38;:9;4527:10;997:42:99;1094:25;;;1139:4;1132:20;1200:4;1187:18;;;877:344;4500:38:81;4540:5;4547:7;4556:24;;;;;;;;;;;;;;;;;4439:14;;:151;;;;:34;:151::i;:::-;4620:16;;;4634:1;4620:16;;;;;;;;4405:185;;-1:-1:-1;4607:42:81;;4405:185;;4638:10;4607:12;:42::i;:::-;4600:49;;;;;;;;;;3771:885;;;;;;;:::o;5004:736::-;5307:16;5325;5410:19;5512:6;5497:13;5493:26;5478:41;;5538:31;5584:100;5619:11;5632:9;5643:5;5650:7;5659:24;;;;;;;;;;;;;;;;;5584:14;;:100;;;;:34;:100::i;:::-;5538:146;-1:-1:-1;5701:32:81;5538:146;5714:6;5722:10;5701:12;:32::i;:::-;5694:39;;;;;;5004:736;;;;;;;;;;:::o;5781:141::-;5840:12;5871:44;:42;:44::i;:::-;5864:51;;5781:141;:::o;6737:1024:38:-;6792:18;6960:21;;6822:13;7004:10;;;7000:34;;7023:11;;;;;;;;;;;;;;7000:34;7302:4;7296:11;;7472:27;;;7501:9;7468:43;7457:55;;7444:69;;;7128:13;;;;7565:20;;;7296:11;;-1:-1:-1;7128:13:38;7139:1;7487:4;7718:16;;7708:8;7696:49;7069:686;6737:1024;;;:::o;1370:3106:144:-;1629:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:25:144;1787:4;1771:21;;;2051:13;;2406:17;2066:1;2047:21;;;2037:32;;2025:45;;2406:17;;;2468:13;2766:11;;1690:14;2460:22;;;2794:34;;;2880:20;;;2876:31;;2858:50;;2845:64;;;2509:14;;;;;2025:45;;;;2460:22;2590:1;2572:20;;2560:33;;;;;3003:23;;;;3043:1236;3068:12;3065:1;3062:19;3043:1236;;;3585:13;;3579:4;3575:24;3557:43;;3721:20;3981:4;3975:11;;3718:1;3713:29;;;4007:24;;;4086:17;;4105:4;4082:28;;;4071:40;;;4132:25;;;;4228:33;;;3221:1;3209:14;;;;3315:23;;;;;3109:9;3043:1236;;;3047:14;;;;4314:145;;;;;;;;4350:12;4314:145;;;;4364:9;4314:145;;;;4375:11;4314:145;;;;4402:1;4314:145;;;;4406:9;4314:145;;;;4417:5;4314:145;;;;;;4424:7;4314:145;;;;4433:8;4314:145;;;;4443:2;4314:145;;;4307:152;;;;;;1370:3106;;;;;;;;:::o;289:9015:97:-;430:16;448;504;563:5;:18;;;582:5;:17;;;563:37;;;;;;;;:::i;:::-;;;;;;;552:48;;691:1;675:6;:13;:17;671:573;;;832:25;1042:4;1033:6;1027:13;1023:24;1013:8;1009:39;997:51;;1106:4;1098:6;1094:17;1073:38;;1154:71;1182:17;1201:8;1211:6;:13;1154:27;:71::i;:::-;694:550;671:573;1290:19;1312:5;:17;;;1290:39;;1347:14;1379:11;1408:9;1435:22;1645:15;1681:1;1663:5;:8;;;:15;:19;;;;;:::i;:::-;1746:14;;;;1807:8;;;;2119:4;2105:19;;;2178:13;2367:1;1990:6;1973:24;;;;2505:19;;;2493:32;;2227:14;2493:32;;;2487:39;2481:4;2477:50;1722:21;2170:22;;;2348:21;;;;2336:34;;;2621:33;;;;;;;2750:13;2865:14;;;;;-1:-1:-1;3061:17:97;2742:22;;;3061:17;;;3337;;;;2877:1;3333:25;3321:38;;;;;;;-1:-1:-1;3061:17:97;;-1:-1:-1;3403:20:97;;-1:-1:-1;1663:19:97;;;;-1:-1:-1;3481:147:97;;1722:21;3709:3023;3725:3;3716:6;:12;3709:3023;;;3817:6;3811:13;3803:21;;4162:1;4152:7;4145:4;4142:1;4137:13;4133:27;4129:35;4113:14;4109:56;4103:63;4097:4;4093:74;4088:79;;4224:8;4217:4;4211;4207:15;4203:30;4192:41;;4287:27;4289:5;4296:7;4305:8;4287:1;:27;;:::i;:::-;4276:38;;4501:1;4491:7;4484:4;4481:1;4476:13;4472:27;4468:35;4452:14;4448:56;4442:63;4436:4;4432:74;4427:79;;4563:8;4556:4;4550;4546:15;4542:30;4531:41;;4626:27;4628:5;4635:7;4644:8;4626:1;:27;;:::i;:::-;4615:38;;4840:1;4830:7;4823:4;4820:1;4815:13;4811:27;4807:35;4791:14;4787:56;4781:63;4775:4;4771:74;4766:79;;4902:8;4895:4;4889;4885:15;4881:30;4870:41;;4965:27;4967:5;4974:7;4983:8;4965:1;:27;;:::i;:::-;4954:38;;5180:1;5170:7;5163:4;5159:2;5154:14;5150:28;5146:36;5130:14;5126:57;5120:64;5114:4;5110:75;5105:80;;5242:8;5235:4;5229;5225:15;5221:30;5210:41;;5305:27;5307:5;5314:7;5323:8;5305:1;:27;;:::i;:::-;5294:38;;5520:1;5510:7;5503:4;5499:2;5494:14;5490:28;5486:36;5470:14;5466:57;5460:64;5454:4;5450:75;5445:80;;5582:8;5575:4;5569;5565:15;5561:30;5550:41;;5645:27;5647:5;5654:7;5663:8;5645:1;:27;;:::i;:::-;5634:38;;5859:1;5849:7;5842:4;5838:2;5833:14;5829:28;5825:36;5809:14;5805:57;5799:64;5793:4;5789:75;5784:80;;5921:8;5914:4;5908;5904:15;5900:30;5889:41;;5984:27;5986:5;5993:7;6002:8;5984:1;:27;;:::i;:::-;5973:38;;6197:1;6187:7;6180:4;6176:2;6171:14;6167:28;6163:36;6147:14;6143:57;6137:64;6131:4;6127:75;6122:80;;6259:8;6252:4;6246;6242:15;6238:30;6227:41;;6322:27;6324:5;6331:7;6340:8;6322:1;:27;;:::i;:::-;6311:38;;6535:1;6525:7;6518:4;6514:2;6509:14;6505:28;6501:36;6485:14;6481:57;6475:64;6469:4;6465:75;6460:80;;6586:8;6580:4;6576:19;6565:30;;6649:27;6651:5;6658:7;6667:8;6649:1;:27;;:::i;:::-;6638:38;;6709:4;6699:14;;;;3709:3023;;;7004:4;6994:14;;;;7041:1;7045;7041:5;7032:6;:14;7026:20;;7064:449;7080:3;7071:6;:12;7064:449;;;-1:-1:-1;;7166:13:97;;7258:2;7253:14;;;7249:28;;;7279:1;7245:36;7225:57;;7219:64;7213:4;7209:75;;-1:-1:-1;7371:8:97;7361:19;;;7434:27;7436:5;7361:19;7452:8;7209:75;7434:27::i;:::-;7423:38;;7493:1;7483:11;;;;7064:449;;;1272:6255;;;;;;;;;7755:15;7773:66;7805:5;:14;;;7821:5;:17;;;7773:31;:66::i;:::-;7755:84;;8419:7;8406:10;:20;:43;;8442:7;8406:43;;;8429:10;8406:43;8553:19;;;;8589:23;;;8396:53;;-1:-1:-1;8557:8:97;;8567:4;8935:18;;8923:31;;;8841:371;8979:1;8976;8973:8;8841:371;;;9111:8;;9150;;9140:19;;9180:14;;9016:4;9009:12;;;;9047;;8841:371;;;8845:127;;9248:6;9256:30;:5;:13;;;:28;:30::i;:::-;9240:47;;;;;;;289:9015;;;;;;:::o;18823:4081:102:-;19211:3194;;;;;;;;2305:2;19211:3194;;;19638:16;19211:3194;;;;19676:19;19211:3194;;;;;;;19792:18;18880:12;19211:3194;;;;;;;19832:15;19211:3194;;;;19869:22;19211:3194;;;;19913:18;19211:3194;;;;20113:21;19211:3194;;;;;;;;;;20237:20;19211:3194;;;;20279:14;19211:3194;;;;20315:21;19211:3194;;;;20358:17;19211:3194;;;;20397:18;19211:3194;;;;20437:16;19211:3194;;;;20475:22;19211:3194;;;;20519:31;19211:3194;;;;20572:13;19211:3194;;;;20607:17;19211:3194;;;;20646:19;19211:3194;;;;20687:28;19211:3194;;;;20737:23;19211:3194;;;;20782:23;19211:3194;;;;20827:34;19211:3194;;;;20883:27;19211:3194;;;;20932:26;19211:3194;;;;21140:17;19211:3194;;;;;;;;;;21256:17;19211:3194;;;;21295:17;19211:3194;;;;21494:17;19211:3194;;;;;;;;;;21770:17;19211:3194;;;;;;;;;;21886:17;19211:3194;;;;21925:17;19211:3194;;;;22124:17;19211:3194;;;;;;;;;;22240:14;19211:3194;;;;22276:14;19211:3194;;;;22312:26;19211:3194;;;;22360:27;19211:3194;;;;18880:12;2305:2;;;19211:3194;22678:143;;22758:48;;;;;;;;22678:143;22841:46;22871:15;22841:29;:46::i;:::-;22834:53;;;;;;18823:4081;:::o;3212:359:157:-;3390:6;3384:4;3380:17;3372:6;3368:30;3350:205;3412:4;3404:6;3401:16;3350:205;;;3539:13;;3524:29;;3458:4;3446:17;;;;3490;;;;3350:205;;;3354:46;3212:359;;;:::o;3379:320:92:-;3475:14;3525:15;3543:36;3557:8;3567:11;3543:13;:36::i;:::-;3654:14;3651:1;3646:23;;3379:320;-1:-1:-1;;;;3379:320:92:o;5878:7160:148:-;6320:4;6314:11;;6356:4;6352:13;;;6424:4;6412:17;;;6391:40;;;6378:54;;;6445:21;;;5989:16;6032;6075;6119:17;6647:406;;;6688:3;6710:299;6731:7;6724:15;6710:299;;6909:7;6903:14;6895:6;6888:30;6984:4;6975:7;6971:18;6965:25;6958:4;6950:6;6946:17;6939:52;6793:4;6784:7;6780:18;6774:25;6763:36;;6842:4;6834:6;6830:17;6820:27;;6710:299;;;-1:-1:-1;7033:6:148;6647:406;-1:-1:-1;6647:406:148:o;:::-;7481:4;7474:5;7470:16;7624:2;7618:4;7614:13;7608:4;7604:24;7662:2;7655:10;7645:2693;;7736:2;7730:4;7726:13;7781:3;7774:11;7764:1330;;8399:3;8393:4;8389:14;8453:5;8446:13;8436:65;;8473:26;8493:5;8485:6;8473:26;:::i;:::-;8463:36;;8436:65;;8584:3;8576:6;8572:16;8634:4;8627:12;8617:451;;8736:4;8730;8726:15;8795:5;8788:13;8778:65;;8815:26;8835:5;8827:6;8815:26;:::i;:::-;8805:36;;8778:65;;8935:4;8927:6;8923:17;8990:5;8983:13;8973:65;;9010:26;9030:5;9022:6;9010:26;:::i;:::-;9000:36;;8973:65;;8617:451;;7764:1330;;9160:2;9152:6;9148:15;9201:3;9194:11;9184:1136;;9285:3;9279:4;9275:14;9335:4;9328:12;9318:451;;9437:4;9431;9427:15;9496:5;9489:13;9479:65;;9516:26;9536:5;9528:6;9516:26;:::i;:::-;9506:36;;9479:65;;9636:4;9628:6;9624:17;9691:5;9684:13;9674:65;;9711:26;9731:5;9723:6;9711:26;:::i;:::-;9701:36;;9674:65;;9318:451;;9845:3;9837:6;9833:16;9891:4;9884:12;9874:424;;9985:4;9979;9975:15;10040:5;10033:13;10023:65;;10060:26;10080:5;10072:6;10060:26;:::i;:::-;10050:36;;10023:65;;10173:4;10165:6;10161:17;10224:5;10217:13;10207:65;;10244:26;10264:5;10256:6;10244:26;:::i;:::-;10234:36;;10207:65;;9874:424;;9184:1136;;7645:2693;;10407:2;10398:7;10394:16;10444:2;10437:10;10427:2581;;10518:2;10512:4;10508:13;10563:3;10556:11;10546:1218;;10655:3;10649:4;10645:14;10709:4;10702:12;10692:479;;10819:4;10813;10809:15;10882:5;10875:13;10865:65;;10902:26;10922:5;10914:6;10902:26;:::i;:::-;10892:36;;10865:65;;11030:4;11022:6;11018:17;11089:5;11082:13;11072:65;;11109:26;11129:5;11121:6;11109:26;:::i;:::-;11099:36;;11072:65;;10692:479;;11254:3;11246:6;11242:16;11304:4;11297:12;11287:451;;11406:4;11400;11396:15;11465:5;11458:13;11448:65;;11485:26;11505:5;11497:6;11485:26;:::i;:::-;11475:36;;11448:65;;11605:4;11597:6;11593:17;11660:5;11653:13;11643:65;;11680:26;11700:5;11692:6;11680:26;:::i;:::-;11670:36;;11643:65;;11287:451;;10546:1218;;11830:2;11822:6;11818:15;11871:3;11864:11;11854:1136;;11955:3;11949:4;11945:14;12005:4;11998:12;11988:451;;12107:4;12101;12097:15;12166:5;12159:13;12149:65;;12186:26;12206:5;12198:6;12186:26;:::i;:::-;12176:36;;12149:65;;12306:4;12298:6;12294:17;12361:5;12354:13;12344:65;;12381:26;12401:5;12393:6;12381:26;:::i;:::-;12371:36;;12344:65;;11988:451;;12515:3;12507:6;12503:16;12561:4;12554:12;12544:424;;12655:4;12649;12645:15;12710:5;12703:13;12693:65;;12730:26;12750:5;12742:6;12730:26;:::i;:::-;12720:36;;12693:65;;12843:4;12835:6;12831:17;12894:5;12887:13;12877:65;;12914:26;12934:5;12926:6;12914:26;:::i;:::-;12904:36;;12877:65;;12544:424;;11854:1136;;10427:2581;;10366:2656;6171:6861;;;;5878:7160;;;:::o;1172:494:101:-;1317:17;;;;1412:12;;1430:4;1453:1;1436:19;;;1426:30;;1408:49;;;;1402:56;1522:15;;;1512:26;1495:44;;1489:51;1565:19;;;;1597:28;;;1565:19;1172:494;;;;;;:::o;1141:469:100:-;1293:15;;;;;1478:1;1465:15;;;;1461:26;;;1446:42;1440:49;1514:19;;;;1546:23;;;1514:19;1141:469::o;551:810:103:-;655:7;712:4;686:30;;823:1;796:28;;;1112:4;1085:31;;1081:87;;;1132:25;;;;;8291:2:212;1132:25:103;;;8273:21:212;8330:2;8310:18;;;8303:30;8369:17;8349:18;;;8342:45;8404:18;;1132:25:103;8089:339:212;1081:87:103;1177:9;1189:5;:13;;;1203:1;1189:16;;;;;;;;:::i;:::-;;;;;;;1206:1;1189:19;;;;;;;;:::i;:::-;;;;;;;;;;;1269;;;;1301;;;-1:-1:-1;1269:19:103;;551:810;-1:-1:-1;;;;;551:810:103:o;590:386:104:-;768:4;764:18;;;;784:4;760:29;815:27;;;867:32;871:21;;;;867:32;912:23;;;867:32;;-1:-1:-1;590:386:104:o;437:259:105:-;646:8;597:19;;;;;629:26;;;597:19;437:259;-1:-1:-1;;437:259:105:o;425:260:106:-;634:9;585:19;;;;;617:27;;;585:19;425:260;-1:-1:-1;;425:260:106:o;407:299:107:-;532:17;610:19;;;;;642:23;;;610:19;407:299;-1:-1:-1;;407:299:107:o;431:262:108:-;640:11;591:19;;;;;623:29;;;591:19;431:262;-1:-1:-1;;431:262:108:o;691:609:109:-;950:32;869:4;865:18;;;885:4;861:29;954:21;;;950:32;;;;789:7;;995:264;1045:3;1037:6;1034:15;995:264;;;1112:13;;1145:11;;1142:103;;1179:22;;1222:5;;1142:103;;1074:4;1066:6;1062:17;1052:27;;995:264;;;-1:-1:-1;1285:8:109;;691:609;-1:-1:-1;;;;;691:609:109:o;1589:745:110:-;1687:7;1706:17;1786:8;1876:4;1866:7;1860:4;1856:18;1852:29;1844:6;1840:42;1920:4;1915:3;1911:14;1899:26;;1807:377;1951:3;1943:6;1940:15;1807:377;;;2025:6;2019:13;2006:26;;2052:9;2049:121;;;2119:4;2111:6;2107:17;2101:24;2091:8;2084:42;2147:5;;2049:121;1980:4;1972:6;1968:17;1958:27;;1807:377;;;1811:128;;2207:9;2220:1;2207:14;2203:100;;2244:48;;;;;8608:6:212;8596:19;;2244:48:110;;;8578:38:212;8551:18;;2244:48:110;8433:189:212;2203:100:110;-1:-1:-1;2319:8:110;;1589:745;-1:-1:-1;;;1589:745:110:o;1191:1011:111:-;1514:13;;1289:7;;1478:4;1554:17;;;;1462:4;1458:18;;;1454:29;1442:42;;1409:321;1621:1;1610:9;1607:16;1601:3;1593:6;1590:15;1586:38;1409:321;;;1665:6;1659:13;1646:26;;1711:4;1703:6;1699:17;1689:27;;1409:321;;;1413:172;1753:9;1766:1;1753:14;1749:424;;1998:150;;;;;8830:6:212;8818:19;;1998:150:111;;;8800:38:212;2126:4:111;2066:49;;;:56;;2065:65;8854:18:212;;;8847:34;8773:18;;1998:150:111;8627:260:212;1749:424:111;2189:6;1191:1011;-1:-1:-1;;;;;1191:1011:111:o;545:310:112:-;702:15;;756:4;742:19;;;797:15;;791:22;;;774:40;;742:19;545:310;-1:-1:-1;;545:310:112:o;718:610:113:-;977:32;896:4;892:18;;;912:4;888:29;981:21;;;977:32;;;;816:7;;1022:265;1072:3;1064:6;1061:15;1022:265;;;1145:6;1139:13;1179:4;1169:104;;1207:22;;1250:5;;1169:104;;1101:4;1093:6;1089:17;1079:27;;1022:265;;561:310:114;718:15;;772:4;758:19;;;813:15;;807:22;;;790:40;;758:19;561:310;-1:-1:-1;;561:310:114:o;613:318:115:-;770:15;;824:4;810:19;;;872:15;;866:22;;;859:30;842:48;;810:19;613:318;-1:-1:-1;;613:318:115:o;643:354:116:-;808:15;;862:4;934:17;;927:25;921:4;917:36;903:51;;;;897:58;848:19;;880:76;;;848:19;643:354;-1:-1:-1;;643:354:116:o;490:230:117:-;662:15;;655:23;638:41;;662:15;490:230;-1:-1:-1;;490:230:117:o;549:310:118:-;706:15;;760:4;746:19;;;801:15;;795:22;;;778:40;;746:19;549:310;-1:-1:-1;;549:310:118:o;601:318:119:-;758:15;;812:4;798:19;;;860:15;;854:22;;;847:30;830:48;;798:19;601:318;-1:-1:-1;;601:318:119:o;1068:988:120:-;1267:15;;1320:4;1306:19;;1300:26;1365:4;1351:19;;;;1166:7;;1267:15;1408:37;1267:15;1300:26;1408:3;:37::i;:::-;1389:57;-1:-1:-1;1515:4:120;1488:31;;;1545:1;1560:334;1571:6;1567:1;:10;1560:334;;;1655:8;1649:15;1644:20;;1711:4;1701:8;1697:19;1685:31;;1770:37;1787:1;1804;1770:3;:37::i;:::-;1751:57;-1:-1:-1;1858:3:120;;1560:334;;;-1:-1:-1;;;1964:19:120;;;;;1996;;;-1:-1:-1;1964:19:120;1068:988;-1:-1:-1;;1068:988:120:o;1074::121:-;1273:15;;1326:4;1312:19;;1306:26;1371:4;1357:19;;;;1172:7;;1273:15;1414:37;1273:15;1306:26;1414:3;:37::i;:::-;1395:57;-1:-1:-1;1521:4:121;1494:31;;;1551:1;1566:334;1577:6;1573:1;:10;1566:334;;;1661:8;1655:15;1650:20;;1717:4;1707:8;1703:19;1691:31;;1776:37;1793:1;1810;1776:3;:37::i;:::-;1757:57;-1:-1:-1;1864:3:121;;1566:334;;768:472:122;975:15;;1029:4;1015:19;;;1052:15;;1015:19;;866:7;;1052:15;1090:41;1052:15;975;1122:7;1090:9;:41::i;:::-;1180:19;;-1:-1:-1;1180:19:122;;768:472;-1:-1:-1;;;;768:472:122:o;653:398:123:-;833:15;;751:7;;871:71;833:15;907:4;881:30;;940:1;913:28;;;871:9;:71::i;:::-;991:19;;-1:-1:-1;991:19:123;;653:398;-1:-1:-1;;;653:398:123:o;661:397:124:-;841:15;;759:7;;879:70;841:15;914:4;888:30;;947:1;920:28;;;879:8;:70::i;741:887:125:-;940:15;;993:4;979:19;;973:26;1038:4;1024:19;;;;839:7;;940:15;1062:6;973:26;940:15;1062:6;:::i;:::-;;-1:-1:-1;1137:4:125;1110:31;;;1167:1;1182:283;1193:6;1189:1;:10;1182:283;;;1271:15;;1333:4;1319:19;;;;1271:15;-1:-1:-1;1373:6:125;1271:15;1373:6;;:::i;:::-;;-1:-1:-1;1429:3:125;;1182:283;;769:887:126;968:15;;1021:4;1007:19;;1001:26;1066:4;1052:19;;;;867:7;;968:15;1090:6;1001:26;968:15;1090:6;:::i;:::-;;-1:-1:-1;1165:4:126;1138:31;;;1195:1;1210:283;1221:6;1217:1;:10;1210:283;;;1299:15;;1361:4;1347:19;;;;1299:15;-1:-1:-1;1401:6:126;1299:15;1401:6;;:::i;:::-;;-1:-1:-1;1457:3:126;;1210:283;;775:894:127;974:15;;1027:4;1013:19;;1007:26;1072:4;1058:19;;;;873:7;;974:15;1100:6;1007:26;974:15;1100:6;:::i;:::-;1096:10;-1:-1:-1;1175:4:127;1148:31;;;1205:1;1220:287;1231:6;1227:1;:10;1220:287;;;1309:15;;1371:4;1357:19;;;;1309:15;-1:-1:-1;1415:6:127;1309:15;1415:1;:6;:::i;:::-;1411:10;-1:-1:-1;1471:3:127;;1220:287;;704:971:128;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;704:971:129;903:15;;956:4;942:19;;936:26;1001:4;987:19;;;;802:7;;903:15;1029:5;;;1025:41;;;1054:1;1050:5;;1025:41;1134:4;1107:31;;;1164:1;1179:333;1190:6;1186:1;:10;1179:333;;;1274:8;1268:15;1263:20;;1330:4;1320:8;1316:19;1304:31;;1378:1;1374;:5;1370:57;;;1407:1;1403:5;;1370:57;1476:3;;1179:333;;739:887:130;938:15;;991:4;977:19;;971:26;1036:4;1022:19;;;;837:7;;938:15;1060:6;971:26;938:15;1060:6;:::i;:::-;;-1:-1:-1;1135:4:130;1108:31;;;1165:1;1180:283;1191:6;1187:1;:10;1180:283;;;1269:15;;1331:4;1317:19;;;;1269:15;-1:-1:-1;1371:6:130;1269:15;1371:6;;:::i;:::-;;-1:-1:-1;1427:3:130;;1180:283;;755:886:131;954:15;;1007:4;993:19;;987:26;1052:4;1038:19;;;;853:7;;954:15;1076:6;987:26;954:15;1076:6;:::i;:::-;;-1:-1:-1;1151:4:131;1124:31;;;1181:1;1196:283;1207:6;1203:1;:10;1196:283;;;1285:15;;1347:4;1333:19;;;;1285:15;-1:-1:-1;1387:6:131;1285:15;1387:6;;:::i;:::-;;-1:-1:-1;1443:3:131;;1196:283;;729:887:132;928:15;;981:4;967:19;;961:26;1026:4;1012:19;;;;827:7;;928:15;1050:6;961:26;928:15;1050:6;:::i;:::-;;-1:-1:-1;1125:4:132;1098:31;;;1155:1;1170:283;1181:6;1177:1;:10;1170:283;;;1259:15;;1321:4;1307:19;;;;1259:15;-1:-1:-1;1361:6:132;1259:15;1361:6;;:::i;:::-;;-1:-1:-1;1417:3:132;;1170:283;;1003:945:133;1185:15;;1257:13;;;;1099:7;;1185:15;1099:7;;;;1257:40;;1185:15;1257:17;:40::i;:::-;1219:78;;;;1360:6;1370:1;1360:11;1356:560;;1408:11;;;;1424:15;;;;1408:37;;;;;;;;8010:25:212;;;;8051:18;;;8044:34;;;1387:18:133;;1408:15;;;;;7983:18:212;;1408:37:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1596:13;;;;1387:58;;-1:-1:-1;1596:70:133;;1631:3;1387:58;1596:17;:70::i;:::-;1580:13;;;:86;1724:28;;1356:560;;604:495:134;829:15;;890:4;876:19;;870:26;988:13;;;;939:4;925:19;;;;700:7;;829:15;870:26;988:65;;829:15;870:26;988:17;:65::i;:::-;972:13;;;:81;-1:-1:-1;1074:8:134;;-1:-1:-1;;604:495:134;;;;;:::o;700:941:135:-;970:15;;1031:4;1017:19;;;1011:26;1081:4;1067:19;;;1061:26;1132:4;1118:19;;1112:26;1217:1;1204:15;;1197:23;1187:34;;;1163:60;;;;;798:7;;970:15;798:7;;1289:154;970:15;1061:26;1112;1011;1289:39;:154::i;:::-;1242:201;;;;1510:8;1500;1493:26;1548:1;1539:7;1535:15;1532:68;;;1581:16;1574:4;1564:8;1560:19;1553:45;1532:68;-1:-1:-1;1626:8:135;;700:941;-1:-1:-1;;;;;;;;700:941:135:o;703::136:-;972:15;;1032:4;1018:19;;;1012:26;1082:4;1068:19;;;1062:26;1133:4;1119:19;;1113:26;1218:1;1205:15;;1198:23;1188:34;;;1164:60;;;;;801:7;;972:15;801:7;;1291:154;972:15;1062:26;1113;1012;1291:40;:154::i;1837:972:70:-;1910:12;2023:19;2055:3;:10;2068:1;2055:14;2045:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2045:25:70;;2023:47;;2147:6;2195:12;2191:17;2275:4;2270:3;2266:14;2342:4;2336:3;2330:10;2326:21;2317:7;2313:35;2401:4;2393:6;2389:17;2225:527;2437:4;2428:7;2425:17;2225:527;;;2608:19;;2717:14;;2699:33;;2672:25;;;2669:64;2648:86;;2489:4;2476:18;;;;2549:4;2531:23;2225:527;;;-1:-1:-1;2786:6:70;;1837:972;-1:-1:-1;;;;;;1837:972:70:o;1950:412:92:-;2040:15;2091:26;2124:21;2136:8;2124:11;:21::i;:::-;2148:1;2124:25;2120:1;:29;2091:58;;2163:14;2180:43;2201:8;2211:11;2180:20;:43::i;:::-;2279:44;;;;2275:57;;;2297:4;2275:57;;1950:412;-1:-1:-1;;;1950:412:92:o;3162:133:65:-;3211:14;3242:50;3247:44;3261:1;1663:4:61;3280:1:65;3247:13;:44::i;:::-;2988:1:60;2901:92;18988:128:65;19037:14;19068:45;19073:39;19089:1;19101;19073:15;:39::i;6057:849:152:-;6141:7;6211:8;253:2:150;6188:31:152;6184:706;;;253:2:150;6259:31:152;;;503:6:150;6312:21:152;;:25;6308:185;;6368:31;6386:1;6389:9;6368:17;:31::i;:::-;6361:38;;;;;6308:185;6453:21;6461:1;6464:9;6453:7;:21::i;6184:706::-;253:2:150;6517:8:152;:31;6513:377;;;6590:31;;;416:1:150;6643:21:152;;:25;6639:190;;6699:32;6716:1;6719:11;6699:16;:32::i;6639:190::-;6785:25;6795:1;6798:11;6785:9;:25::i;6513:377::-;-1:-1:-1;6874:1:152;6867:8;;7325:878;7414:7;7484:14;253:2:150;7461:37:152;7457:730;;;253:2:150;7540:37:152;;;416:1:150;7599:21:152;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:150;7809:14:152;:37;7805:382;;;7886:37;;;503:6:150;7945:21:152;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;1347:770:148:-;1413:14;1429:17;1611:3;1608:1;1601:14;1678:4;1673:2;1666:4;1663:1;1653:18;1649:27;1645:38;1807:6;1802:2;1791:9;1787:18;1783:31;1762:339;1831:7;1824:15;1762:339;;1945:7;1939:14;1934:3;1931:23;1928:159;;1987:1;1977:11;;2037:4;2028:7;2024:18;2018:25;2009:34;;2064:5;;1928:159;1889:4;1876:18;1870:25;1762:339;;;1766:50;;1347:770;;;;;:::o;2703:2078::-;2788:8;2976:3;2973:1;2966:14;3043:4;3038:2;3031:4;3028:1;3018:18;3014:27;3010:38;3236:6;3231:2;3220:9;3216:18;3212:31;3354:12;3379:140;3400:7;3393:15;3379:140;;3480:14;;3469:36;;3498:5;3469:36;3442:4;3429:18;3423:25;3379:140;;;3684:15;;3735:44;;;;3905:4;3899:11;3888:22;;3953:4;3944:7;3940:18;3934:4;3927:32;4037:3;4028:7;4021:20;4085:5;4078:4;4069:7;4065:18;4058:33;4135:12;4128:4;4119:7;4115:18;4108:40;4250:1;4245:2;4239:4;4235:13;4231:21;4380:6;4374:4;4370:17;4366:22;4362:2;4358:31;4349:6;4343:4;4339:17;4336:54;4330:60;;;4701:6;4690:9;4686:22;4682:27;4678:2;4674:36;4588:7;4577:9;4573:23;4545:187;4519:213;;3677:1069;;3735:44;3771:5;3764:4;3755:7;3751:18;3744:33;3677:1069;-1:-1:-1;4772:2:148;;2703:2078;-1:-1:-1;;;;;;2703:2078:148:o;4381:603:146:-;4535:16;4553:17;4587;4606:18;4626:24;4666:47;4686:7;4695;4704:8;4666:19;:47::i;:::-;4586:127;;;;;;4873:9;4886:1;4873:14;:66;;4894:45;4906:9;4917;4928:10;4894:11;:45::i;:::-;4873:66;;;4890:1;4873:66;4862:77;4961:16;;-1:-1:-1;4381:603:146;-1:-1:-1;;;;;;;4381:603:146:o;5265:604::-;5419:17;5438;5472;5491:18;5511:24;5551:47;5571:7;5580;5589:8;5551:19;:47::i;:::-;5471:127;;;;;;5759:8;5771:1;5759:13;:65;;5779:45;5792:8;5802:9;5813:10;5779:12;:45::i;476:349:92:-;543:13;572:8;:15;591:1;572:20;568:59;;-1:-1:-1;615:1:92;;476:349;-1:-1:-1;476:349:92:o;568:59::-;-1:-1:-1;802:4:92;788:19;782:26;779:1;774:35;;476:349::o;831:1113::-;1163:1;1146:19;;1124:42;;1142:1;1124:42;1118:49;1169:6;1114:62;928:14;1582:21;1132:8;1582:11;:21::i;:::-;1782:15;;1566:37;;-1:-1:-1;1738:26:92;1750:1;1742:9;;1738:22;;:26;;1782:34;-1:-1:-1;1782:34:92;:58;;;1835:5;1820:11;:20;;1782:58;1778:150;;;1891:8;1901:11;1867:46;;;;;;;;;;;;:::i;1778:150::-;1542:396;;831:1113;;;;:::o;14476:4121:44:-;14549:14;;;15029:6;15026:1;15023;15016:20;15061:1;15058;15054:9;15045:18;;15108:5;15104:2;15101:13;15093:5;15089:2;15085:14;15081:34;15072:43;;;15186:5;15195:1;15186:10;15182:93;;15247:11;15239:5;:19;;;;;:::i;:::-;;15232:26;;;;;;15182:93;15374:11;15365:5;:20;15361:92;;15404:42;;;;;;;;12235:25:212;;;12276:18;;;12269:34;;;12319:18;;;12312:34;;;12208:18;;15404:42:44;12033:319:212;15361:92:44;15725:17;15872:11;15869:1;15866;15859:25;17578:1;16437;16422:12;;:16;;16407:32;;16592:25;;;;17559:1;:15;;17558:21;;17799;;;17795:25;;17784:36;17864:21;;;17860:25;;17849:36;17930:21;;;17926:25;;17915:36;17996:21;;;17992:25;;17981:36;18062:21;;;18058:25;;18047:36;18129:21;;;18125:25;;;18114:36;;;16389:15;17110;;;17106:29;;;17102:37;;;15970:20;;;15959:32;;;17216:22;;;;16009:21;;16688:19;;;;17207:31;;;;18573:15;;;-1:-1:-1;;;;14476:4121:44:o;19581:819::-;19635:14;;;19753:6;19750:1;19747;19740:20;19785:1;19782;19778:9;19769:18;;19832:5;19828:2;19825:13;19817:5;19813:2;19809:14;19805:34;19796:43;;;19855:5;19864:1;19855:10;19851:86;;-1:-1:-1;1506:4:44;19908:12;;;-1:-1:-1;19901:19:44;;19851:86;1506:4;19947:5;:13;19943:74;;19979:31;;;;;;;;8010:25:212;;;8051:18;;;8044:34;;;7983:18;;19979:31:44;7836:248:212;19943:74:44;20023:17;20107:4;20104:1;20101;20094:18;20314:10;20192:21;;;20188:38;20263:20;-1:-1:-1;20252:32:44;;;20286:43;20248:82;20164:184;;;;20366:12;20143:249;;-1:-1:-1;;19581:819:44;;;;:::o;3534:689:152:-;3614:9;726:2:150;3663:9:152;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:152;:15;;;3970:6;;;;:1;3933:15;3970:6;3933:15;4157:6;;;;:::i;:::-;;:11;:35;;4175:17;4157:35;;;4171:1;4157:35;4153:39;3534:689;-1:-1:-1;;;;3534:689:152:o;2590:688::-;2765:2;:15;;;2804:5;2765:15;2804:1;:5;:::i;:::-;2800:9;;726:2:150;3179:9:152;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:152;;2590:688;-1:-1:-1;;2590:688:152:o;5172:598::-;5253:9;726:2:150;5302:11:152;:36;5298:456;;5362:6;;:14;;5375:1;5362:14;;;5371:1;5362:14;5358:18;;;;5298:456;;;5427:2;:17;;;;5466:1;5427:17;5466:5;;;;:::i;:::-;;5462:9;;5690:1;5686;:5;5681:1;:10;5677:63;;5720:1;5715:6;;;;5677:63;5397:357;5172:598;;;;:::o;4596:207::-;4670:7;726:2:150;4720:11:152;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;2102:790:146;2227:16;2245;2263:17;2297:14;2316:26;2327:6;2335;2316:10;:26::i;:::-;-1:-1:-1;2566:50:146;;;;;:34;12610:15:212;;;2566:50:146;;;12592:34:212;12662:15;;;12642:18;;;12635:43;2296:46:146;;-1:-1:-1;2551:12:146;;2566:34;;;;;12504:18:212;;2566:50:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2551:65;;2627:16;2645;2663:26;2708:4;2693:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2626:101;;;;;;;;;;;;2793:6;2783:16;;:6;:16;;;:102;;2846:8;2856;2866:18;2783:102;;;2803:8;2813;2823:18;2783:102;2737:148;;;;-1:-1:-1;2737:148:146;;-1:-1:-1;2102:790:146;-1:-1:-1;;;;;;;;;2102:790:146:o;2971:499::-;3097:16;3149:1;3137:9;:13;3129:70;;;;;;;13816:2:212;3129:70:146;;;13798:21:212;13855:2;13835:18;;;13828:30;13894:34;13874:18;;;13867:62;13965:14;13945:18;;;13938:42;13997:19;;3129:70:146;13614:408:212;3129:70:146;3229:1;3217:9;:13;:31;;;;;3247:1;3234:10;:14;3217:31;3209:84;;;;;;;14229:2:212;3209:84:146;;;14211:21:212;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3209:84:146;14027:404:212;3209:84:146;3303:17;3323:21;3335:9;3323;:21;:::i;:::-;:28;;3347:4;3323:28;:::i;:::-;3303:48;-1:-1:-1;3361:19:146;3384:22;3397:9;3384:10;:22;:::i;:::-;3383:30;;3410:3;3383:30;:::i;:::-;3361:52;-1:-1:-1;3435:23:146;3361:52;3435:9;:23;:::i;:::-;3434:29;;3462:1;3434:29;:::i;:::-;3423:40;2971:499;-1:-1:-1;;;;;;2971:499:146:o;3550:549::-;3676:17;3728:1;3717:8;:12;3709:68;;;;;;;14638:2:212;3709:68:146;;;14620:21:212;14677:2;14657:18;;;14650:30;14716:34;14696:18;;;14689:62;14787:13;14767:18;;;14760:41;14818:19;;3709:68:146;14436:407:212;3709:68:146;3807:1;3795:9;:13;:31;;;;;3825:1;3812:10;:14;3795:31;3787:84;;;;;;;14229:2:212;3787:84:146;;;14211:21:212;14268:2;14248:18;;;14241:30;14307:34;14287:18;;;14280:62;14378:10;14358:18;;;14351:38;14406:19;;3787:84:146;14027:404:212;3787:84:146;3881:23;3907:14;:8;3918:3;3907:14;:::i;:::-;3881:40;-1:-1:-1;3931:17:146;3951:28;3969:10;3881:40;3951:28;:::i;:::-;3931:48;-1:-1:-1;3989:19:146;4032:15;4012:16;:9;4024:4;4012:16;:::i;:::-;4011:36;;;;:::i;:::-;3989:58;-1:-1:-1;4069:23:146;3989:58;4069:9;:23;:::i;:::-;4057:35;3550:549;-1:-1:-1;;;;;;;3550:549:146:o;762:345::-;837:14;853;897:6;887:16;;:6;:16;;;879:66;;;;;;;15050:2:212;879:66:146;;;15032:21:212;15089:2;15069:18;;;15062:30;15128:34;15108:18;;;15101:62;15199:7;15179:18;;;15172:35;15224:19;;879:66:146;14848:401:212;879:66:146;983:6;974:15;;:6;:15;;;:53;;1012:6;1020;974:53;;;993:6;1001;974:53;955:72;;-1:-1:-1;955:72:146;-1:-1:-1;1045:20:146;;;1037:63;;;;;;;15456:2:212;1037:63:146;;;15438:21:212;15495:2;15475:18;;;15468:30;15534:32;15514:18;;;15507:60;15584:18;;1037:63:146;15254:354:212;1037:63:146;762:345;;;;;:::o;-1:-1:-1:-;;;:::i;:::-;:::o;14:332:212:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:175;650:42;643:5;639:54;632:5;629:65;619:93;;708:1;705;698:12;619:93;543:175;:::o;723:184::-;775:77;772:1;765:88;872:4;869:1;862:15;896:4;893:1;886:15;912:334;983:2;977:9;1039:2;1029:13;;1044:66;1025:86;1013:99;;1142:18;1127:34;;1163:22;;;1124:62;1121:88;;;1189:18;;:::i;:::-;1225:2;1218:22;912:334;;-1:-1:-1;912:334:212:o;1251:193::-;1321:4;1354:18;1346:6;1343:30;1340:56;;;1376:18;;:::i;:::-;-1:-1:-1;1421:1:212;1417:14;1433:4;1413:25;;1251:193::o;1449:672::-;1503:5;1556:3;1549:4;1541:6;1537:17;1533:27;1523:55;;1574:1;1571;1564:12;1523:55;1610:6;1597:20;1636:4;1660:70;1676:53;1726:2;1676:53;:::i;:::-;1660:70;:::i;:::-;1764:15;;;1850:1;1846:10;;;;1834:23;;1830:32;;;1795:12;;;;1874:15;;;1871:35;;;1902:1;1899;1892:12;1871:35;1938:2;1930:6;1926:15;1950:142;1966:6;1961:3;1958:15;1950:142;;;2032:17;;2020:30;;2070:12;;;;1983;;1950:142;;;-1:-1:-1;2110:5:212;1449:672;-1:-1:-1;;;;;;1449:672:212:o;2126:920::-;2190:5;2243:3;2236:4;2228:6;2224:17;2220:27;2210:55;;2261:1;2258;2251:12;2210:55;2297:6;2284:20;2323:4;2347:70;2363:53;2413:2;2363:53;:::i;2347:70::-;2451:15;;;2537:1;2533:10;;;;2521:23;;2517:32;;;2482:12;;;;2561:15;;;2558:35;;;2589:1;2586;2579:12;2558:35;2625:2;2617:6;2613:15;2637:380;2653:6;2648:3;2645:15;2637:380;;;2739:3;2726:17;2775:18;2762:11;2759:35;2756:125;;;2835:1;2864:2;2860;2853:14;2756:125;2906:68;2970:3;2965:2;2951:11;2943:6;2939:24;2935:33;2906:68;:::i;:::-;2894:81;;-1:-1:-1;2995:12:212;;;;2670;;2637:380;;3051:778;3289:6;3297;3305;3313;3366:3;3354:9;3345:7;3341:23;3337:33;3334:53;;;3383:1;3380;3373:12;3334:53;3422:9;3409:23;3441:52;3487:5;3441:52;:::i;:::-;3512:5;-1:-1:-1;3564:2:212;3549:18;;3536:32;;-1:-1:-1;3615:2:212;3600:18;;3587:32;;-1:-1:-1;3670:2:212;3655:18;;3642:32;3697:18;3686:30;;3683:50;;;3729:1;3726;3719:12;3683:50;3752:71;3815:7;3806:6;3795:9;3791:22;3752:71;:::i;:::-;3742:81;;;3051:778;;;;;;;:::o;3834:435::-;3887:3;3925:5;3919:12;3952:6;3947:3;3940:19;3978:4;4007:2;4002:3;3998:12;3991:19;;4044:2;4037:5;4033:14;4065:1;4075:169;4089:6;4086:1;4083:13;4075:169;;;4150:13;;4138:26;;4184:12;;;;4219:15;;;;4111:1;4104:9;4075:169;;;-1:-1:-1;4260:3:212;;3834:435;-1:-1:-1;;;;;3834:435:212:o;4274:465::-;4531:2;4520:9;4513:21;4494:4;4557:56;4609:2;4598:9;4594:18;4586:6;4557:56;:::i;:::-;4661:9;4653:6;4649:22;4644:2;4633:9;4629:18;4622:50;4689:44;4726:6;4718;4689:44;:::i;4744:185::-;4837:20;;4897:6;4886:18;;4876:29;;4866:57;;4919:1;4916;4909:12;4866:57;4744:185;;;:::o;4934:1811::-;5238:6;5246;5254;5262;5270;5278;5286;5339:3;5327:9;5318:7;5314:23;5310:33;5307:53;;;5356:1;5353;5346:12;5307:53;5395:9;5382:23;5414:52;5460:5;5414:52;:::i;:::-;5485:5;-1:-1:-1;5509:2:212;5543:18;;;5530:32;;-1:-1:-1;5613:2:212;5598:18;;5585:32;5636:18;5666:14;;;5663:34;;;5693:1;5690;5683:12;5663:34;5731:6;5720:9;5716:22;5706:32;;5776:7;5769:4;5765:2;5761:13;5757:27;5747:55;;5798:1;5795;5788:12;5747:55;5834:2;5821:16;5856:2;5852;5849:10;5846:36;;;5862:18;;:::i;:::-;5904:112;6012:2;5943:66;5936:4;5932:2;5928:13;5924:86;5920:95;5904:112;:::i;:::-;6039:2;6032:5;6025:17;6079:7;6074:2;6069;6065;6061:11;6057:20;6054:33;6051:53;;;6100:1;6097;6090:12;6051:53;6155:2;6150;6146;6142:11;6137:2;6130:5;6126:14;6113:45;6199:1;6194:2;6189;6182:5;6178:14;6174:23;6167:34;6220:5;6210:15;;;;6244:63;6303:2;6292:9;6288:18;6244:63;:::i;:::-;6234:73;;6354:3;6343:9;6339:19;6326:33;6316:43;;6412:3;6401:9;6397:19;6384:33;6368:49;;6442:2;6432:8;6429:16;6426:36;;;6458:1;6455;6448:12;6426:36;6481:73;6546:7;6535:8;6524:9;6520:24;6481:73;:::i;:::-;6471:83;;6607:3;6596:9;6592:19;6579:33;6563:49;;6637:2;6627:8;6624:16;6621:36;;;6653:1;6650;6643:12;6621:36;;;6676:63;6731:7;6720:8;6709:9;6705:24;6676:63;:::i;:::-;6666:73;;;4934:1811;;;;;;;;;;:::o;6750:481::-;6791:3;6829:5;6823:12;6856:6;6851:3;6844:19;6881:1;6891:162;6905:6;6902:1;6899:13;6891:162;;;6967:4;7023:13;;;7019:22;;7013:29;6995:11;;;6991:20;;6984:59;6920:12;6891:162;;;6895:3;7098:1;7091:4;7082:6;7077:3;7073:16;7069:27;7062:38;7220:4;7150:66;7145:2;7137:6;7133:15;7129:88;7124:3;7120:98;7116:109;7109:116;;;6750:481;;;;:::o;7236:217::-;7383:2;7372:9;7365:21;7346:4;7403:44;7443:2;7432:9;7428:18;7420:6;7403:44;:::i;7458:184::-;7510:77;7507:1;7500:88;7607:4;7604:1;7597:15;7631:4;7628:1;7621:15;7647:184;7699:77;7696:1;7689:88;7796:4;7793:1;7786:15;7820:4;7817:1;7810:15;8892:184;8944:77;8941:1;8934:88;9041:4;9038:1;9031:15;9065:4;9062:1;9055:15;9081:125;9146:9;;;9167:10;;;9164:36;;;9180:18;;:::i;9211:120::-;9251:1;9277;9267:35;;9282:18;;:::i;:::-;-1:-1:-1;9316:9:212;;9211:120::o;9336:482::-;9425:1;9468:5;9425:1;9482:330;9503:7;9493:8;9490:21;9482:330;;;9622:4;9554:66;9550:77;9544:4;9541:87;9538:113;;;9631:18;;:::i;:::-;9681:7;9671:8;9667:22;9664:55;;;9701:16;;;;9664:55;9780:22;;;;9740:15;;;;9482:330;;;9486:3;9336:482;;;;;:::o;9823:866::-;9872:5;9902:8;9892:80;;-1:-1:-1;9943:1:212;9957:5;;9892:80;9991:4;9981:76;;-1:-1:-1;10028:1:212;10042:5;;9981:76;10073:4;10091:1;10086:59;;;;10159:1;10154:130;;;;10066:218;;10086:59;10116:1;10107:10;;10130:5;;;10154:130;10191:3;10181:8;10178:17;10175:43;;;10198:18;;:::i;:::-;-1:-1:-1;;10254:1:212;10240:16;;10269:5;;10066:218;;10368:2;10358:8;10355:16;10349:3;10343:4;10340:13;10336:36;10330:2;10320:8;10317:16;10312:2;10306:4;10303:12;10299:35;10296:77;10293:159;;;-1:-1:-1;10405:19:212;;;10437:5;;10293:159;10484:34;10509:8;10503:4;10484:34;:::i;:::-;10614:6;10546:66;10542:79;10533:7;10530:92;10527:118;;;10625:18;;:::i;:::-;10663:20;;9823:866;-1:-1:-1;;;9823:866:212:o;10694:131::-;10754:5;10783:36;10810:8;10804:4;10783:36;:::i;10830:112::-;10862:1;10888;10878:35;;10893:18;;:::i;:::-;-1:-1:-1;10927:9:212;;10830:112::o;10947:168::-;11020:9;;;11051;;11068:15;;;11062:22;;11048:37;11038:71;;11089:18;;:::i;11120:128::-;11187:9;;;11208:11;;;11205:37;;;11222:18;;:::i;11551:184::-;11621:6;11674:2;11662:9;11653:7;11649:23;11645:32;11642:52;;;11690:1;11687;11680:12;11642:52;-1:-1:-1;11713:16:212;;11551:184;-1:-1:-1;11551:184:212:o;11740:288::-;11915:2;11904:9;11897:21;11878:4;11935:44;11975:2;11964:9;11960:18;11952:6;11935:44;:::i;:::-;11927:52;;12015:6;12010:2;11999:9;11995:18;11988:34;11740:288;;;;;:::o;12689:272::-;12759:6;12812:2;12800:9;12791:7;12787:23;12783:32;12780:52;;;12828:1;12825;12818:12;12780:52;12860:9;12854:16;12879:52;12925:5;12879:52;:::i;12966:188::-;13045:13;;13098:30;13087:42;;13077:53;;13067:81;;13144:1;13141;13134:12;13159:450;13246:6;13254;13262;13315:2;13303:9;13294:7;13290:23;13286:32;13283:52;;;13331:1;13328;13321:12;13283:52;13354:40;13384:9;13354:40;:::i;:::-;13344:50;;13413:49;13458:2;13447:9;13443:18;13413:49;:::i;:::-;13403:59;;13505:2;13494:9;13490:18;13484:25;13549:10;13542:5;13538:22;13531:5;13528:33;13518:61;;13575:1;13572;13565:12;13518:61;13598:5;13588:15;;;13159:450;;;;;:::o;15613:184::-;15665:77;15662:1;15655:88;15762:4;15759:1;15752:15;15786:4;15783:1;15776:15", - "linkReferences": {} - }, - "methodIdentifiers": { - "eval(address,uint256,uint256,uint256[][])": "6715f825", - "functionPointers()": "f933c72f", - "offchainDebugEval(address,uint256,bytes,uint16,uint256,uint256[][],uint256[])": "758c13b6", - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dynamicLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"standardOpsLength\",\"type\":\"uint256\"}],\"name\":\"BadDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ensureCode\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"errorIndex\",\"type\":\"uint256\"}],\"name\":\"EnsureFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"condCode\",\"type\":\"uint256\"}],\"name\":\"NoConditionsMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReadError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceIndex\",\"type\":\"uint256\"}],\"name\":\"SourceOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"StateNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"EncodedDispatch\",\"name\":\"dispatch\",\"type\":\"uint256\"},{\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"}],\"name\":\"eval\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"functionPointers\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"FullyQualifiedNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expressionData\",\"type\":\"bytes\"},{\"internalType\":\"SourceIndex\",\"name\":\"sourceIndex16\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"maxOutputs\",\"type\":\"uint256\"},{\"internalType\":\"uint256[][]\",\"name\":\"context\",\"type\":\"uint256[][]\"},{\"internalType\":\"uint256[]\",\"name\":\"inputs\",\"type\":\"uint256[]\"}],\"name\":\"offchainDebugEval\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EnsureFailed(uint256,uint256)\":[{\"params\":{\"ensureCode\":\"The ensure code that was evaluated. This is the low 16 bits of the operand. Allows the author to provide more context about which condition failed if there is more than one in the expression.\",\"errorIndex\":\"The index of the condition that failed.\"}}],\"NoConditionsMet(uint256)\":[{\"params\":{\"condCode\":\"The condition code that was evaluated. This is the low 16 bits of the operand. Allows the author to provide more context about which condition failed if there is more than one in the expression.\"}}]},\"kind\":\"dev\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"params\":{\"context\":\"A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.\",\"dispatch\":\"All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.\",\"namespace\":\"The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.\",\"store\":\"The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`.\"},\"returns\":{\"_0\":\"The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.\",\"_1\":\"A list of pairwise key/value items to be saved in the store.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"title\":\"RainterpreterNP\",\"version\":1},\"userdoc\":{\"errors\":{\"BadDynamicLength(uint256,uint256)\":[{\"notice\":\"Thrown when a dynamic length array is NOT 1 more than a fixed length array. Should never happen outside a major breaking change to memory layouts.\"}],\"EnsureFailed(uint256,uint256)\":[{\"notice\":\"Thrown if a zero condition is found.\"}],\"NoConditionsMet(uint256)\":[{\"notice\":\"Thrown if no nonzero condition is found.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv18} overflows uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}],\"ReadError()\":[{\"notice\":\"Thrown if reading a zero length address.\"}],\"SourceOffsetOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source offset is out of bounds.\"}]},\"kind\":\"user\",\"methods\":{\"eval(address,uint256,uint256,uint256[][])\":{\"notice\":\"There are MANY ways that eval can be forced into undefined/corrupt behaviour by passing in invalid data. This is a deliberate design decision to allow for the interpreter to be as gas efficient as possible. The interpreter is provably read only, it contains no state changing evm opcodes reachable on any logic path. This means that the caller can only harm themselves by passing in invalid data and either reverting, exhausting gas or getting back some garbage data. The caller can trivially protect themselves from these OOB issues by ensuring the integrity check has successfully run over the bytecode before calling eval. Any smart contract caller can do this by using a trusted and appropriate deployer contract to deploy the bytecode, which will automatically run the integrity check during deployment, then keeping a registry of trusted expression addresses for itself in storage. This appears first in the contract in the hope that the compiler will put it in the most efficient internal dispatch location to save a few gas per eval call.\"},\"functionPointers()\":{\"notice\":\"Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \\\"compile\\\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction.\"},\"offchainDebugEval(address,uint256,bytes,uint16,uint256,uint256[][],uint256[])\":{\"notice\":\"A more explicit/open version of `eval` that is designed for offchain debugging. It MUST function identically to `eval` so implementations MAY call it directly internally for `eval` to ensure consistency at the expense of a small amount of gas. The affordances made for debugging are: - A fully qualified namespace is passed in. This allows for storage reads from the perspective of an arbitrary caller during `eval`. Note that it does not allow for arbitrary writes, which are still gated by the store contract itself, so this is safe to expose. - The bytecode is passed in directly. This allows for debugging of bytecode that has not been deployed to the chain yet. - The components of the encoded dispatch other than the onchain expression address are passed separately. This remove the need to provide an address at all. - Inputs to the entrypoint stack are passed in directly. This allows for debugging/simulating logic that could normally only be accessed via. some internal dispatch with a mid-flight state creating inputs for the internal call.\"}},\"notice\":\"!!EXPERIMENTAL!! implementation of a Rainlang interpreter that is compatible with native onchain Rainlang parsing. Initially copied verbatim from the JS compatible Rainterpreter. This interpreter is deliberately separate from the JS Rainterpreter to allow for experimentation with the onchain interpreter without affecting the JS interpreter, up to and including a complely different execution model and opcodes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/rain.interpreter/src/concrete/RainterpreterNP.sol\":\"RainterpreterNP\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/rain.datacontract/src/lib/LibDataContract.sol\":{\"keccak256\":\"0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670\",\"dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu\"]},\"lib/rain.interpreter/lib/prb-math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"lib/rain.interpreter/lib/prb-math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770\",\"dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8\",\"dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1\",\"dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787\",\"dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze\"]},\"lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5\",\"dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b\",\"dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205\",\"dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y\"]},\"lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol\":{\"keccak256\":\"0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3\",\"dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu\"]},\"lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol\":{\"keccak256\":\"0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848\",\"dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"lib/rain.interpreter/src/concrete/RainterpreterNP.sol\":{\"keccak256\":\"0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239\",\"dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol\":{\"keccak256\":\"0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30\",\"dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691\",\"dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f\",\"dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3\"]},\"lib/rain.interpreter/src/lib/eval/LibEvalNP.sol\":{\"keccak256\":\"0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36\",\"dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9\"]},\"lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol\":{\"keccak256\":\"0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f\",\"dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol\":{\"keccak256\":\"0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c\",\"dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg\"]},\"lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol\":{\"keccak256\":\"0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34\",\"dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM\"]},\"lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol\":{\"keccak256\":\"0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c\",\"dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX\"]},\"lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol\":{\"keccak256\":\"0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34\",\"dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q\"]},\"lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol\":{\"keccak256\":\"0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246\",\"dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol\":{\"keccak256\":\"0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4\",\"dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol\":{\"keccak256\":\"0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e\",\"dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol\":{\"keccak256\":\"0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f\",\"dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8\"]},\"lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol\":{\"keccak256\":\"0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5\",\"dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol\":{\"keccak256\":\"0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b\",\"dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol\":{\"keccak256\":\"0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31\",\"dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol\":{\"keccak256\":\"0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b\",\"dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol\":{\"keccak256\":\"0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206\",\"dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol\":{\"keccak256\":\"0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041\",\"dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol\":{\"keccak256\":\"0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0\",\"dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol\":{\"keccak256\":\"0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904\",\"dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol\":{\"keccak256\":\"0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3\",\"dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol\":{\"keccak256\":\"0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0\",\"dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol\":{\"keccak256\":\"0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d\",\"dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM\"]},\"lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol\":{\"keccak256\":\"0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2\",\"dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol\":{\"keccak256\":\"0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8\",\"dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol\":{\"keccak256\":\"0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766\",\"dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol\":{\"keccak256\":\"0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa\",\"dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol\":{\"keccak256\":\"0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b\",\"dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB\"]},\"lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol\":{\"keccak256\":\"0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec\",\"dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol\":{\"keccak256\":\"0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd\",\"dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol\":{\"keccak256\":\"0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea\",\"dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol\":{\"keccak256\":\"0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3\",\"dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol\":{\"keccak256\":\"0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17\",\"dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol\":{\"keccak256\":\"0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e\",\"dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol\":{\"keccak256\":\"0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02\",\"dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol\":{\"keccak256\":\"0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1\",\"dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X\"]},\"lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol\":{\"keccak256\":\"0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093\",\"dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol\":{\"keccak256\":\"0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2\",\"dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf\"]},\"lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol\":{\"keccak256\":\"0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b\",\"dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol\":{\"keccak256\":\"0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026\",\"dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj\"]},\"lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol\":{\"keccak256\":\"0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3\",\"dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV\"]},\"lib/rain.interpreter/src/lib/parse/LibCtPop.sol\":{\"keccak256\":\"0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229\",\"dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e\"]},\"lib/rain.interpreter/src/lib/parse/LibParse.sol\":{\"keccak256\":\"0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03\",\"dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp\"]},\"lib/rain.interpreter/src/lib/parse/LibParseCMask.sol\":{\"keccak256\":\"0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec\",\"dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV\"]},\"lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol\":{\"keccak256\":\"0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3\",\"dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4\"]},\"lib/rain.interpreter/src/lib/parse/LibParseMeta.sol\":{\"keccak256\":\"0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c\",\"dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM\"]},\"lib/rain.interpreter/src/lib/parse/LibParseOperand.sol\":{\"keccak256\":\"0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301\",\"dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv\"]},\"lib/rain.interpreter/src/lib/parse/LibParseStackName.sol\":{\"keccak256\":\"0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce\",\"dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol\":{\"keccak256\":\"0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce\",\"dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka\"]},\"lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol\":{\"keccak256\":\"0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64\",\"dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo\"]},\"lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol\":{\"keccak256\":\"0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3\",\"dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD\"]},\"lib/rain.lib.memkv/src/lib/LibMemoryKV.sol\":{\"keccak256\":\"0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6\",\"dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc\"]},\"lib/rain.lib.typecast/src/LibCast.sol\":{\"keccak256\":\"0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378\",\"dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5\"]},\"lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol\":{\"keccak256\":\"0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75\",\"dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN\"]},\"lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol\":{\"keccak256\":\"0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8\",\"dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79\"]},\"lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol\":{\"keccak256\":\"0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a\",\"dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7\"]},\"lib/rain.solmem/src/lib/LibBytes.sol\":{\"keccak256\":\"0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353\",\"dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk\"]},\"lib/rain.solmem/src/lib/LibMemCpy.sol\":{\"keccak256\":\"0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102\",\"dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe\"]},\"lib/rain.solmem/src/lib/LibMemory.sol\":{\"keccak256\":\"0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830\",\"dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp\"]},\"lib/rain.solmem/src/lib/LibPointer.sol\":{\"keccak256\":\"0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7\",\"dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG\"]},\"lib/rain.solmem/src/lib/LibStackPointer.sol\":{\"keccak256\":\"0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8\",\"dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P\"]},\"lib/rain.solmem/src/lib/LibUint256Array.sol\":{\"keccak256\":\"0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6\",\"dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "dynamicLength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "standardOpsLength", - "type": "uint256" - } - ], - "type": "error", - "name": "BadDynamicLength" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "ensureCode", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "errorIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "EnsureFailed" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "condCode", - "type": "uint256" - } - ], - "type": "error", - "name": "NoConditionsMet" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_MulDiv18_Overflow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "x", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "y", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "denominator", - "type": "uint256" - } - ], - "type": "error", - "name": "PRBMath_MulDiv_Overflow" - }, - { - "inputs": [], - "type": "error", - "name": "ReadError" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bytecode", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "sourceIndex", - "type": "uint256" - } - ], - "type": "error", - "name": "SourceOffsetOutOfBounds" - }, - { - "inputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "StateNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "EncodedDispatch", - "name": "dispatch", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "eval", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "functionPointers", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract IInterpreterStoreV1", - "name": "store", - "type": "address" - }, - { - "internalType": "FullyQualifiedNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "expressionData", - "type": "bytes" - }, - { - "internalType": "SourceIndex", - "name": "sourceIndex16", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "maxOutputs", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "context", - "type": "uint256[][]" - }, - { - "internalType": "uint256[]", - "name": "inputs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "offchainDebugEval", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "eval(address,uint256,uint256,uint256[][])": { - "params": { - "context": "A 2-dimensional array of data that can be indexed into at runtime by the interpreter. The calling contract is responsible for ensuring the authenticity and completeness of context data. The interpreter MUST revert at runtime if an expression attempts to index into some context value that is not provided by the caller. This implies that context reads cannot be checked for out of bounds reads at deploy time, as the runtime context MAY be provided in a different shape to what the expression is expecting. Same as `eval` but allowing the caller to specify a namespace under which the state changes will be applied. The interpeter MUST ensure that keys will never collide across namespaces, even if, for example: - The calling contract is malicious and attempts to craft a collision with state changes from another contract - The expression is malicious and attempts to craft a collision with other expressions evaluated by the same calling contract A malicious entity MAY have access to significant offchain resources to attempt to precompute key collisions through brute force. The collision resistance of namespaces should be comparable or equivalent to the collision resistance of the hashing algorithms employed by the blockchain itself, such as the design of `mapping` in Solidity that hashes each nested key to produce a collision resistant compound key.", - "dispatch": "All the information required for the interpreter to load an expression, select an entrypoint and return the values expected by the caller. The interpreter MAY encode dispatches differently to `LibEncodedDispatch` but this WILL negatively impact compatibility for calling contracts that hardcode the encoding logic.", - "namespace": "The state namespace that will be fully qualified by the interpreter at runtime in order to perform gets on the underlying store. MUST be the same namespace passed to the store by the calling contract when sending the resulting key/value items to storage.", - "store": "The storage contract that the returned key/value pairs MUST be passed to IF the calling contract is in a non-static calling context. Static calling contexts MUST pass `address(0)`." - }, - "returns": { - "_0": "The list of values produced by evaluating the expression. MUST NOT be longer than the maximum length specified by `dispatch`, if applicable.", - "_1": "A list of pairwise key/value items to be saved in the store." - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "eval(address,uint256,uint256,uint256[][])": { - "notice": "There are MANY ways that eval can be forced into undefined/corrupt behaviour by passing in invalid data. This is a deliberate design decision to allow for the interpreter to be as gas efficient as possible. The interpreter is provably read only, it contains no state changing evm opcodes reachable on any logic path. This means that the caller can only harm themselves by passing in invalid data and either reverting, exhausting gas or getting back some garbage data. The caller can trivially protect themselves from these OOB issues by ensuring the integrity check has successfully run over the bytecode before calling eval. Any smart contract caller can do this by using a trusted and appropriate deployer contract to deploy the bytecode, which will automatically run the integrity check during deployment, then keeping a registry of trusted expression addresses for itself in storage. This appears first in the contract in the hope that the compiler will put it in the most efficient internal dispatch location to save a few gas per eval call." - }, - "functionPointers()": { - "notice": "Exposes the function pointers as `uint16` values packed into a single `bytes` in the same order as they would be indexed into by opcodes. For example, if opcode `2` should dispatch function at position `0x1234` then the start of the returned bytes would be `0xXXXXXXXX1234` where `X` is a placeholder for the function pointers of opcodes `0` and `1`. `IExpressionDeployerV1` contracts use these function pointers to \"compile\" the expression into something that an interpreter can dispatch directly without paying gas to lookup the same at runtime. As the validity of any integrity check and subsequent dispatch is highly sensitive to both the function pointers and overall bytecode of the interpreter, `IExpressionDeployerV1` contracts SHOULD implement guards against accidentally being deployed onchain paired against an unknown interpreter. It is very easy for an apparent compatible pairing to be subtly and critically incompatible due to addition/removal/reordering of opcodes and compiler optimisations on the interpreter bytecode. This MAY return different values during construction vs. all other times after the interpreter has been successfully deployed onchain. DO NOT rely on function pointers reported during contract construction." - }, - "offchainDebugEval(address,uint256,bytes,uint16,uint256,uint256[][],uint256[])": { - "notice": "A more explicit/open version of `eval` that is designed for offchain debugging. It MUST function identically to `eval` so implementations MAY call it directly internally for `eval` to ensure consistency at the expense of a small amount of gas. The affordances made for debugging are: - A fully qualified namespace is passed in. This allows for storage reads from the perspective of an arbitrary caller during `eval`. Note that it does not allow for arbitrary writes, which are still gated by the store contract itself, so this is safe to expose. - The bytecode is passed in directly. This allows for debugging of bytecode that has not been deployed to the chain yet. - The components of the encoded dispatch other than the onchain expression address are passed separately. This remove the need to provide an address at all. - Inputs to the entrypoint stack are passed in directly. This allows for debugging/simulating logic that could normally only be accessed via. some internal dispatch with a mid-flight state creating inputs for the internal call." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "lib/rain.interpreter/src/concrete/RainterpreterNP.sol": "RainterpreterNP" - }, - "libraries": {} - }, - "sources": { - "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": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/rain.datacontract/src/lib/LibDataContract.sol": { - "keccak256": "0xe3700fdb21ade704e8b7b75bee127544794e3c33f8ec693e348cb1f1515e1900", - "urls": [ - "bzz-raw://628b35072f98948d8968302976af3d5aa80b37ba33958d6a5a4ee158834a2670", - "dweb:/ipfs/QmPQd1bkpnuTTAv1oTuz6HUd2ZRkERL34SBv4f4Jaf2LKu" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/prb-math/src/Common.sol": { - "keccak256": "0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053", - "urls": [ - "bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039", - "dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/UD60x18.sol": { - "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", - "urls": [ - "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", - "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Casting.sol": { - "keccak256": "0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670", - "urls": [ - "bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a", - "dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Constants.sol": { - "keccak256": "0xb51aab4a2ea76f530dccbf3b7d4af24c8f3ceef67f3c574b58650466ea924a3f", - "urls": [ - "bzz-raw://b9fccf58b2b69179a311f996f772d9bf255fd1d0de9ba69ab89b45ef81008770", - "dweb:/ipfs/QmTYE7xmFqUzQ2o8SmCpMu2GxkBJLjTtSWngoe7JXzsv2D" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/Errors.sol": { - "keccak256": "0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee", - "urls": [ - "bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499", - "dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd1x18/ValueType.sol": { - "keccak256": "0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7", - "urls": [ - "bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd", - "dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Casting.sol": { - "keccak256": "0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99", - "urls": [ - "bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809", - "dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Constants.sol": { - "keccak256": "0xe0a1ca1a7b5b2d637cff83a8caa3d2e67a6a34f7ee9df58a9ca5d5fa268c474a", - "urls": [ - "bzz-raw://3e9a6980e97a68f9148c350439bc0b3ca4126a4428752b151744097da3f650c8", - "dweb:/ipfs/QmVRJqG378u46dnvjgYkcLjnvHW8yNv5ijLoUWPMGQscuC" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Errors.sol": { - "keccak256": "0x83ee24e41d235bc05cb641d2c5c16c67b17fa00e4593661a8d14350435d4df04", - "urls": [ - "bzz-raw://40cedd66b7ba40126b2668c2fbe8ccd6ae88bd5853c205ac54f643e49acd31c1", - "dweb:/ipfs/QmWZz7bsQceUUzJiURQE5XtfzNW2Ammiz2WSNsZGxCYT7a" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Helpers.sol": { - "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", - "urls": [ - "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", - "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/Math.sol": { - "keccak256": "0xedd0635769176ab99878a91ce267cee2ca107b30e6b0db10736573ff4d102868", - "urls": [ - "bzz-raw://51795a2077ea6f109656048530481bb10c7f2b29e868f9a02d7b134d1b30c787", - "dweb:/ipfs/Qmb9wBJ5vPtKNbiz9bbWz8Ufs6qLJWKanyg1zmRmSwUVze" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/sd59x18/ValueType.sol": { - "keccak256": "0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7", - "urls": [ - "bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6", - "dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Casting.sol": { - "keccak256": "0x07ec9a8adddfe6bf37f0d9ce7702c5620a6215340889701da0525ed190ccc099", - "urls": [ - "bzz-raw://3500550c9ed259e5a876d14510d7e4a2226fac41e04535dddffaf9e3e6dc67e5", - "dweb:/ipfs/QmbA5y7zdqsFELeNPj1WgkP28GXBcnfYajj3E6nangJo2F" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Constants.sol": { - "keccak256": "0xbd11da8ad79ffc8b7b8244c82632b0ca31970e190a8877ba1a69b4b8065dcea5", - "urls": [ - "bzz-raw://f0d3d5cb4711d83e0fe654b8338b6685b6e9d9f234c645813533129ae48fa14b", - "dweb:/ipfs/QmZW47VmyizEwAxuv6tdeJmrMM58KvsiaRjidcBgqKg4CP" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/Errors.sol": { - "keccak256": "0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33", - "urls": [ - "bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec", - "dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud2x18/ValueType.sol": { - "keccak256": "0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1", - "urls": [ - "bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95", - "dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Casting.sol": { - "keccak256": "0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85", - "urls": [ - "bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe", - "dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Constants.sol": { - "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90", - "urls": [ - "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b", - "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Conversions.sol": { - "keccak256": "0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b", - "urls": [ - "bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75", - "dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Errors.sol": { - "keccak256": "0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3", - "urls": [ - "bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf", - "dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Helpers.sol": { - "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268", - "urls": [ - "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5", - "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/Math.sol": { - "keccak256": "0xafe12d658b5bb495226df1841cbfbcb25e9fc443c6d41a85b5ac6aa7ec79ea29", - "urls": [ - "bzz-raw://357d345f960581548f27fb43fb2320101033c053b949f5cb4d75390a058df205", - "dweb:/ipfs/QmYjQwVdwCWZDNkxUD4T1nwieP38o4HWtYUYjAmfpFpg3y" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/prb-math/src/ud60x18/ValueType.sol": { - "keccak256": "0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31", - "urls": [ - "bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29", - "dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ" - ], - "license": "MIT" - }, - "lib/rain.interpreter/lib/rain.lib.typecast/src/LibConvert.sol": { - "keccak256": "0xa9511da2a6f737cc4fa208eea891139748e71e39d03b7d169c5a4fb4ccf24928", - "urls": [ - "bzz-raw://13d9ad983b7538346879e4f5ec25c417772815e46a32c8b8b738860e4f1282c3", - "dweb:/ipfs/Qme7HhdvuNWeWzq7Aw1jciuPuJPNHDFMYxvyBcoSK889zu" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/sol.lib.binmaskflag/src/Binary.sol": { - "keccak256": "0xce65af9621e3306f7e05641138ab961d2de30ee544a50e688a8e1784be74d437", - "urls": [ - "bzz-raw://04746eee593e31401af18509d7be132dfd3205644473f44178e480866b37c848", - "dweb:/ipfs/QmVpwKJyp65wzjXfJS1aR2yywKJ6SKLSdrV1jEznFrHutd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891", - "urls": [ - "bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389", - "dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt" - ], - "license": null - }, - "lib/rain.interpreter/lib/v2-core/contracts/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b", - "urls": [ - "bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf", - "dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH" - ], - "license": null - }, - "lib/rain.interpreter/src/concrete/RainterpreterNP.sol": { - "keccak256": "0x2a8492effdcc1bd55f1bfc65cd687ef98374a36540487a7ad3a4525ab9152078", - "urls": [ - "bzz-raw://9fe561f66db28f65f41ef258d6280b4a83fdfcc7320907f9cf4addf66aac7239", - "dweb:/ipfs/QmZXY6BzQqJ5QEpCvHhS4rJYup3NT2izgkQLNUq6YsukQ6" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol": { - "keccak256": "0x95f545be8f5160a2f0b1d343bca0d1375714204acbb83b8f40aa06feca27c026", - "urls": [ - "bzz-raw://a552843946540944306eb1345cdc167301206575963126297ac87caed59bcf30", - "dweb:/ipfs/QmYygicZEzyt7Vvh9s5B1Tm1yXnDz2Z3RjgC8Xp6pBgEx5" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0x2b25061fa0f327fd89856e72a3c274b35cd1ce6a97405f9885cd17008c740461", - "urls": [ - "bzz-raw://41277875d0ac8adbc5560e967ab2fe6c7a7edc4c4c91d13bffb01044adbe2691", - "dweb:/ipfs/QmR3Yum5eeZ2i9yyzjpfF2o9m5pemv77KPrM2jSBX7LoRB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { - "keccak256": "0xc3cb89672e0d11a343ba593f3ecbc0a5441d5a0ee7af7cdb4dbe82f32f951034", - "urls": [ - "bzz-raw://692ff90cbc8804f320ff58ade514348049556bdbc10d485ae2cdc86033ac942f", - "dweb:/ipfs/QmSina3eADDD1HtVw4tqtbhx8YnczFZUZ5Lwm9Lhscuvr3" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol": { - "keccak256": "0xbf4b8b55365663a3486495c2c88187a8795e14c439857cb3b378e064ed281e3e", - "urls": [ - "bzz-raw://c65e3a1dc03325b851e54abf6d49ed6280a54089d45e7a755bb14a1ffcbf6d36", - "dweb:/ipfs/Qmd523oA6kMfdivxwxRtxpzBqzubDp93Cnr9TcgapzCGv9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/integrity/LibIntegrityCheckNP.sol": { - "keccak256": "0x352de2def5a918d8b2537f52bb43bc7ddb97a6f23891a649664df9bcbccb7aee", - "urls": [ - "bzz-raw://54d48174009030fb049d2ea82d1d658419b7c1bfa64173e4c30902797816084f", - "dweb:/ipfs/QmaJhMAi99aaPiSMKDeRW8656kEZ6m3EqVhBKwNnSJrvZf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { - "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", - "urls": [ - "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", - "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpConstantNP.sol": { - "keccak256": "0x2d5661ea3103e37ca46d543246cffe2fa108e21f8631fff8008fc4ff62156075", - "urls": [ - "bzz-raw://303f2d6538e4a4c9541288700ab3fc3759b7758d50de81d2ad4753ed62a66f6c", - "dweb:/ipfs/QmYnc5H7XYC6Y4zcvgjq5SgmgYnki3E455prHq5zj6mjmg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/00/LibOpStackNP.sol": { - "keccak256": "0xcaa290607fdeaa8ade6dc08a90e32d900ba2863a3d4da1264741e9a2e2dc4f9c", - "urls": [ - "bzz-raw://1983aab22e37936616deb1ab0b69d9294da2633b5098d423ce2a6172a96c9b34", - "dweb:/ipfs/QmTpYaQyRSbXpffcD1m7rkeVtVRpazPUmFMiUWBFQ58HgM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol": { - "keccak256": "0x08e7530f0c4a30b4a41e3d45838159a7fb8ee425edcc8d4b1cec545a378ea398", - "urls": [ - "bzz-raw://4c9e07e32c6dd0088bb569c9eec4a301c9c9e896075f0ceee4e951fb40bc8d4c", - "dweb:/ipfs/QmaWW6XcNNuHwdMet88mySV2P9yhxPzQ54kyQ2f6Fz69DX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/context/LibOpContextNP.sol": { - "keccak256": "0x13700163259f1a39620146adccae05620b46d627f214650ecae1ffa17e4eb488", - "urls": [ - "bzz-raw://9218e5e84444ebff1828086e0a423bc46e558ae1ba031839c2af9d8b1a2e7c34", - "dweb:/ipfs/QmdWCXMu8pnxfCHB1mboCJL8QsMZasg3cwj9yvKqNS2d3Q" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/crypto/LibOpHashNP.sol": { - "keccak256": "0x309cdf1d9cdbf7789ddb87877bbc6942fe8b708aa4a8b9bc6915273710ef6b11", - "urls": [ - "bzz-raw://354fa864d9bcaf13282796afe310487c9d6d706217b0d86a0e4b69b1f6279246", - "dweb:/ipfs/QmRFHm2ymba6ALps4XKsm1UJkct8eeH7vrjA9RaRcZFqoX" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpBlockNumberNP.sol": { - "keccak256": "0x4e464f107d35bd80d85a6a64e826161c2659ff74d8c8f8a743e08cee967045d5", - "urls": [ - "bzz-raw://7041bb8e3201c3a770ac444ce124a6140aba7b27e37c0b598edd2aa146cdfcc4", - "dweb:/ipfs/QmbxxF7SKyXHStSpieLQup5q5Ga7eTJu9EZS5bPxaN8zdg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpChainIdNP.sol": { - "keccak256": "0xa7b2621ffb21d38d93dae42a9aaf017c28cd154adedd8d142e726c817c91175e", - "urls": [ - "bzz-raw://f65cf9118ec360c849c13e9950ebe8093bf36994f075232594aaf6c15056b45e", - "dweb:/ipfs/QmZyxAPvB5d17bCxPskFP8pdF5FfTb5yCRMtypKnxHqC2r" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpMaxUint256NP.sol": { - "keccak256": "0x6a46895f80470b730fa2d2c9f8710c8f60c46b498091273b296501af6d48f8c4", - "urls": [ - "bzz-raw://cf021bd50b24f99d995d2d141e33e1a7f27b44a488aba8c52f9b351d76e10c9f", - "dweb:/ipfs/QmdNYKyiJyzg1PeHumvhLaco5rt48SGWoiLd5xwNh2Fax8" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/evm/LibOpTimestampNP.sol": { - "keccak256": "0xbf1ef6ae2ecc0a5f5f29d888e87f524f5c23514cfc729c2b77336912688da71c", - "urls": [ - "bzz-raw://eaa94c30b8f02631acbea6b339ef89665c7d881974664e3f6d745c901bcaabf5", - "dweb:/ipfs/QmUoC8azwbNaEv7rx3EsXQRJXMqNREcnrnLhtx1t4Nc34X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpAnyNP.sol": { - "keccak256": "0x053bd8e6dd4ba9e5eea0d5e7cfe574a9027f5ee7ecef369a67cf5f456f4daadb", - "urls": [ - "bzz-raw://92dfb954e5fa430a069c9ad8ee9adeca770e1dc476fee4bf88aceeba075d014b", - "dweb:/ipfs/QmZRVQMTocCrGbnwHQ3ps5YQM9PRj4Vkrc32pjbYaxYUTN" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpConditionsNP.sol": { - "keccak256": "0xffa5ec76c53aefd30609d8cb13e1ca78c03bb00095c76d293764b9d8d140485e", - "urls": [ - "bzz-raw://7fa3ec8cc1f33b296caeee35abb0798010e14992e0cda8537c530eb24c711f31", - "dweb:/ipfs/QmXMfKDGnDdFk2LFLGqSoPmotGS782zE4yWanqejd5Pq5b" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEnsureNP.sol": { - "keccak256": "0xf0961714e69d494571feba78f9c7364aa63c6e8dc1de8dd2b481dd8d3a3accca", - "urls": [ - "bzz-raw://2646f7af04bf5752052232041768896bc55da5760d83a509c10ef0d79e20f05b", - "dweb:/ipfs/QmfLu5HGwxjwWYAQkbUK1acrEhxBE5MkzPdMhxtYFRgBuf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEqualToNP.sol": { - "keccak256": "0xad9881f4c0555b100996dfa9350b206d680a87cdaaf7e25a5027cceba2d224c0", - "urls": [ - "bzz-raw://d2ac6a4162a236fb4e20fd76d261961e3366c7d2e9278c1fa30cf98083df6206", - "dweb:/ipfs/QmQsbyLP6Bmd47uuLg3wPSjz7zPUY3J9sfAZFs2Rqrvqng" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpEveryNP.sol": { - "keccak256": "0x45f997659ae947a0b663907640b4f301335a031f2cddbefc68ba0dca6fa46502", - "urls": [ - "bzz-raw://6d9e5f2637d71edf1f9c5dc72b60eed1f8991fb1c2bbce7e40f371ea8efd2041", - "dweb:/ipfs/QmPWeFKHavLs1LSUhVqoCWqqz3JV2TGYejBRvHbbCZCARt" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanNP.sol": { - "keccak256": "0xd0f8c149c522520a7f7c707ef76b96b2ed14e2cb374925fa944faf25df13f41a", - "urls": [ - "bzz-raw://f59ebe95274cd1b78fffa5a6b6923818cbba0ae9b854745a6c685c66f945e2e0", - "dweb:/ipfs/QmQ8uBEjvWmZy1SDiPqozLgSUvL7GmQQcNh5E3C7RLnwsr" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpGreaterThanOrEqualToNP.sol": { - "keccak256": "0x48cc828f464e9d64714aa3b5956a63c42eb10daef80aad69a5d61f26f6e153a7", - "urls": [ - "bzz-raw://6d629c32421cc32366ab66b83da17399f5e37315d3fe8a9f42be571087fe4904", - "dweb:/ipfs/QmXwt2QPQF35oi3WajoAFePBgNknRqZPdvG6YPEThaWaxF" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIfNP.sol": { - "keccak256": "0xd398f6482646f1ed74cfd291f053f1d14a2aa5074fb80a746972d5ccc600ecd0", - "urls": [ - "bzz-raw://0b652b90d9e007f24e6e0780d8dfdc9addf9dc38a306796ddcbde68d3b4e62e3", - "dweb:/ipfs/QmUVF8TvoRthRmWH6JXKfJvCGTDnJaraS4YXUyejhypuTS" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpIsZeroNP.sol": { - "keccak256": "0xb24881e858814ed9521dbb9a781207b0dde9aab8f81089a57a1751f97d37b6b9", - "urls": [ - "bzz-raw://287e84e4f1b289ce4bb681e9dd392f2e714426f433d1072da56666628a6935e0", - "dweb:/ipfs/QmYywCkubjZqkwxTeLGLCs4yuntGTgwRsX7TETsiuesBjV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanNP.sol": { - "keccak256": "0x30a70b1ace2e33a3ad79892a10f53e581838d3967e92743a77193f73d79dcc07", - "urls": [ - "bzz-raw://91c6e73bcf34bd3c8900c6144b39406118be0d12a74b76d8e6f2efb9a0c0190d", - "dweb:/ipfs/QmWLkx2zXLEtv3z2kEmTpaD1CUjF4PtVyiE9MZiBm4MywM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/logic/LibOpLessThanOrEqualToNP.sol": { - "keccak256": "0x6287a32c4a4ec11edc7e580c68ca4008bcb13ae0c2dd4f0b34fbee9373ee9125", - "urls": [ - "bzz-raw://ca49adcf94dfd4fd5c316efb24097a0ffeec7973bbe581aff4f6a084793ae4c2", - "dweb:/ipfs/QmRJcADpVf16HBfkazgp4U75RpF1gunKLdaniKfsK9uq2Y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18DivNP.sol": { - "keccak256": "0x3ffa0da1cffef8bc1b8d4cb90d51f50df3047fc78671799c423bd6d11259e9f3", - "urls": [ - "bzz-raw://bc87803d1c8ff4b7a896b86916ce107672ff205682ea19de021531bcab2f4eb8", - "dweb:/ipfs/QmRCnR74Qvy9gVM7NjCjWaWqvwAjXs4WPnincspuWHwKcq" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18MulNP.sol": { - "keccak256": "0x8f99e0f6bdda3f51bba35a33c43364340fb90edba0ae88c5e28cb0cf837a6d72", - "urls": [ - "bzz-raw://53501d034c2365dd65d37570fed003212cedf59f4b24bc471b4fda7ca2b97766", - "dweb:/ipfs/QmPZKzjVxgyBydmGz1SzHbYDqEog33Q95XTe6MLwEH3rs5" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18DynamicNP.sol": { - "keccak256": "0x8f880d23221adfaf549a0b7d07585e8ecbcafc5f4fe2c055e191c5ff0aabeb34", - "urls": [ - "bzz-raw://fbd43198450ebced3325678ea05bcd65b1c7972160f6f70c31b36fc75e1675fa", - "dweb:/ipfs/QmZXRo3cADwwf6nG36dU2DHHhZPGcDDsUUc95PPRLMSkCU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18Scale18NP.sol": { - "keccak256": "0x3cb7f48bd367041c14db544bfb47a8150bb917346764079e646bb30a3eebbfba", - "urls": [ - "bzz-raw://5f212de6bac767c447c9e9d8f4bf1ca4439336f77176155d11399a8ed5ee3b2b", - "dweb:/ipfs/Qme2JdcWNTrHYuLdHjS8thStaxvAjv2nezT84hJi1i2ynB" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/decimal18/LibOpDecimal18ScaleNNP.sol": { - "keccak256": "0x55d1b405ff45fe0f121169deec85bcefe90d475db663e3cab0f2725a29a51595", - "urls": [ - "bzz-raw://40f11844c9a2018dca89caf260e8fd2438a401a18b8cf180ce47e287cfd84bec", - "dweb:/ipfs/QmfCSaH8G6HxGCukNSt7oqaZBbGQebuyNxeCaoLiHFsbPm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntAddNP.sol": { - "keccak256": "0x876de6d3c804f2b272d170d4288dd18aac01e18daa18604fce3e11f3821e40f7", - "urls": [ - "bzz-raw://17775026eda8ce05fc71c8e5afba633bb617b8d2559fa046d2e10e8d199c50dd", - "dweb:/ipfs/QmbeXQbJXxGbmMj42A5aHAfVwwVdDcw6kxuT3p8aEmpMXG" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntDivNP.sol": { - "keccak256": "0x7697b77c1e9c0853c9b5284ffeec7e514627520d275848bb1d11ebfc998dd7c1", - "urls": [ - "bzz-raw://8a2112389b34615ba2cbb1ab9e74977712944da34e39650cdda65e8845e3b8ea", - "dweb:/ipfs/QmYdyGdG4X3JVB2h6GsGUCgogNTfZojubzpggR9y3cUTSw" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntExpNP.sol": { - "keccak256": "0x1b747d6f0e5b3428b7d3c4a45d171f360e1c62912bb79159b40963d9e65eacbc", - "urls": [ - "bzz-raw://aa03fff2264f0b32f652b19bb91c5558b0e7993fa4dc284007fc0199186478c3", - "dweb:/ipfs/QmPdNPmC3GZTfxSfcPG5ATwdYfuq7iJQ8F1ijnW9WNfmtm" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMaxNP.sol": { - "keccak256": "0xb77e8a922693194b0e42255c892b8b87e9b1a2083efdb4702a8c44afcb11b01d", - "urls": [ - "bzz-raw://3091d0ece13f61d08f3693e7f9a913d8225cec09a610084e43ca771325b6ad17", - "dweb:/ipfs/QmdMJcoLfioGeRr3igawstsCGPJWhx87Eh1844BdgQcPvd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMinNP.sol": { - "keccak256": "0xe7058452aa5124d999fc7b55285e4eed76554777a09ac80a5b99ed0eb1271ec8", - "urls": [ - "bzz-raw://a820ba4e9f3760d5be630373dd0d200e6efc08144964d92cc370d545e4d63d4e", - "dweb:/ipfs/QmVw6jsBxbKuNjg2P5WGu2FqV8FrSDta76E5tdT7wmfN65" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntModNP.sol": { - "keccak256": "0x63ae362fac2b193ebd8dcb7907c50d3d11e7a88f6504e63d8218611562d90eaf", - "urls": [ - "bzz-raw://b9840982d49f9f2f650c25c297b940ab5d819e3493989bf65cca59157b5cda02", - "dweb:/ipfs/QmPXj5UNCFLMT9FNBp6JhJUJ8vMfzTRRXMhYTBc7fZkmqd" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntMulNP.sol": { - "keccak256": "0x57a4b9e4a81bc722a2bfd856d9a3247f0922dd761c647e57522c23c3ce9ad62a", - "urls": [ - "bzz-raw://1dae3d0cdc6c748949cf09deb41fef432d5a003f9d84fb8c17c7a34cd1acb6f1", - "dweb:/ipfs/QmR4Ki1b3Y6Hwiq43KMhsBtrrB4KdpJqWotJfjCrq2Xv5X" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/math/int/LibOpIntSubNP.sol": { - "keccak256": "0xc325fd8fb88a258bd385681b8df7836b285f627792cdc60a9661a83d4c23c744", - "urls": [ - "bzz-raw://b14ae45c4fe89fff414cb3b1388f3a71bf3ac1554c5f1a89787d483cd53bf093", - "dweb:/ipfs/Qma5sES45ZqDV2pyYrp88xbRFnLqtg7ehnnowAoGpCp28K" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpGetNP.sol": { - "keccak256": "0x5688dd926dbaac507c0af4269c2d341b64fc778887619936c21d6422cb966572", - "urls": [ - "bzz-raw://9495f93b6f68cb5b0f9ff5db65f2bdbd00651bc0567e0f6fe15b8607afcf8bd2", - "dweb:/ipfs/QmTdtks7M2aum5657rkUefdmATAQRRshL6G8DLFg9HhAKf" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/store/LibOpSetNP.sol": { - "keccak256": "0xfcba43d59c778aa97beee6208970bbfbfe86e1c6ea37f2ef8a83cc39fd62b589", - "urls": [ - "bzz-raw://844d9a2d00fa307a3d639f795304c68081ce9325ccfe67669cb45f52c5fb1f1b", - "dweb:/ipfs/QmS4WQHStwLK4BGwAi3wuWie7rLL1TebdFrccN3w75yKqv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountIn.sol": { - "keccak256": "0x6a461a4b4aab73c7fceb7f67a8ebd6ee47f390f3b7014726d48f3c8c71ce31d5", - "urls": [ - "bzz-raw://bf0b2c17cc78f6263da2751b6a2d53d21f22b5a185d4ce17f97de41f74572026", - "dweb:/ipfs/QmVKSPCjPhQRbz1LYs9W59nt6VA9pBREcVtHcnrhpxJnMj" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/op/uniswap/LibOpUniswapV2AmountOut.sol": { - "keccak256": "0xe822d25a6d84942bd2e1d8d044216ae06d9cf3b50e8e538c292782cefa17812a", - "urls": [ - "bzz-raw://9ec8d6374a6593e6e33aaa6c60424c238e9666df79fc192fe56c5be04ccc92f3", - "dweb:/ipfs/QmW3vdn2UpRJUjwh9zc2Z4ykxuiDnVfHiyUwzDNhHmMtQV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibCtPop.sol": { - "keccak256": "0xad3761b24cec1131db1d47562447ad9e742b9e2c137d6cabb795ef666c3e21e2", - "urls": [ - "bzz-raw://578b52b05df9cc2f9595c9f6d1c2de2f37081cf3d5007d527bbf9f5e5b6d3229", - "dweb:/ipfs/QmWkeyqx3geGo15h3LGeJdKEEtgA2B4ETPuz28ZW8nKe1e" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParse.sol": { - "keccak256": "0xc235f3c23086796491ec41b3a2728417c517d48ed235aa5b6b1307c9cbde9699", - "urls": [ - "bzz-raw://67562a44f606c34bd2ff7ac4527e012f7a3583559eb7156618c1591ac0c0ee03", - "dweb:/ipfs/QmSubVYqExdJANwPSsT8V18Bo63fX8ZzrW8L3gKK6x93Hp" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseCMask.sol": { - "keccak256": "0x5ec6b865df66bec72ea0976082ce9b7d0250818ee8180cf463861f20eec3b0ff", - "urls": [ - "bzz-raw://3e6660d651d4d57eadd18b440235f5a63c4bac7dce52a9f065329b47e2ca4fec", - "dweb:/ipfs/QmNUJs5iPbuZRYmkZc3XzsekRdzdrABoQUPbg5eEGhr2kV" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseLiteral.sol": { - "keccak256": "0x170019ccfcfc697115afdebc14137062bdab4c54bf5a6e6baa9e26dbfafa11ab", - "urls": [ - "bzz-raw://ee275319b3c9508cf363f3e5ecab4aae63695ba50ce84f4bd6a64ea617eadba3", - "dweb:/ipfs/QmPetJ94MHDUQD7wGVggGuCuVeF1BaXerKZ63mVazrnVU4" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseMeta.sol": { - "keccak256": "0x0982f62c3cfd8cc19e0caf857d60ee3cbfd9ec87cc5275c9a7b79ff935f01f82", - "urls": [ - "bzz-raw://68fca23641f4c84c3f68f353bef6a4d84cd1db78603e080766ffd55d8176641c", - "dweb:/ipfs/QmNbdNGKTmiw2QJhKLRBSPsu2PAX1stUBnjJfAbq7AtAeM" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseOperand.sol": { - "keccak256": "0x5d422ef714a1c13a3bfcb05170dec7662758f4125cd77a1e79c8afdbd064b465", - "urls": [ - "bzz-raw://06e396e8698b17225269b0c8c09e5d4ce867112e6a1fda92f9056eb53d3a1301", - "dweb:/ipfs/QmPGm9oBbXosP1NZrc37uZ5DpEg6suLmJ5A9jH8y8iVXZv" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/parse/LibParseStackName.sol": { - "keccak256": "0x5c24e0f7b58f751dfe8ea7f900d7d70dea0cf983922d11f02b8c659cadb7aaec", - "urls": [ - "bzz-raw://aed9fad94c01122517bcc68fea0f89e2dc1c0cf4191dd9f7be0219c1072dbcce", - "dweb:/ipfs/QmYFvDhR4GvoXNJm8WYjEqmeij33N2trAPr1YnFnLSR2XK" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol": { - "keccak256": "0x8517de1fb60a1027a8b1d53d03c0282c654b16ef0ba6458e89588e423bd16231", - "urls": [ - "bzz-raw://ec222a95a0839b4eb0b97784b993fe01288bfe51af285c9801892ff0b68486ce", - "dweb:/ipfs/QmX7QGkpsbhAb7WdtKBr4McjTE97uQiCD2SpP1rgbgqRka" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/state/LibInterpreterStateNP.sol": { - "keccak256": "0x2058050c280e19928aff10a513c6684167b842e5d37c735ab21244be732564eb", - "urls": [ - "bzz-raw://2f577b97f015fc7db843f33f5c25a97b8e4a1926fe8d5b1b3b50fe88d2f4cb64", - "dweb:/ipfs/QmUKEqGnGDecgfCnZeEsQQD9gsPs4mAA7y7TbRcB8znkJo" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/uniswap/LibUniswapV2.sol": { - "keccak256": "0xdf1aca2ba7ef5c66c979f199b1beff1017379491582e15b3cf4c1f2197c2eb62", - "urls": [ - "bzz-raw://dc9e233fb9a49f59b2ebed13a953cb51b3d9d9182cfac8cbe09afaf87ef706b3", - "dweb:/ipfs/QmbekiqGJrvvsFbcL8jCkQ6Zo4VGQHUTBbZRwL4c4uGuMD" - ], - "license": "CAL" - }, - "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol": { - "keccak256": "0x6c9b2a50a27f2eb77f5b53348df31f4a2c427ea62f6f628278b870bf5b305a16", - "urls": [ - "bzz-raw://9abc6e1b29c98a754d566997c924de78b885a2b0eb60e77de8d988c8b29d22f6", - "dweb:/ipfs/QmPhhEeqSs8BDVEYxfSsqQSiZaKLHw6bFtgjuq8QsjVhdc" - ], - "license": "CAL" - }, - "lib/rain.lib.typecast/src/LibCast.sol": { - "keccak256": "0xbb5ecf1af5ccc7591ce16d02d20d200bee330fd40fdf57d933aaf7e0e7e58369", - "urls": [ - "bzz-raw://fcf92be17e5ed37416341839bd401a10b4cde2be8c737a2e56de7967f4874378", - "dweb:/ipfs/QmcFeqUSU7zo87v6yW4Vd3nczAau9NiqM6FZLGime1Vev5" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol": { - "keccak256": "0x0d49e0111affa09a4767373bc550609ca3fc4ebf644c53f68ec7b750363d665b", - "urls": [ - "bzz-raw://eca030b8ff848c042a97ab8522d555db426afac4053697f985be714047bfcd75", - "dweb:/ipfs/QmRNwqGPXmyCszjcMBj6GM6AZfJ92XcwdjSm9QfJeWW6jN" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol": { - "keccak256": "0x4b4a1f943159fd837a9b243a226fdb9b4afd4fab0eb45b276fd6e7612950300a", - "urls": [ - "bzz-raw://4a8e53ce2a5fb2c97a0e3b9151aadd4b047cb987a6e77404806245833f3879c8", - "dweb:/ipfs/QmcU5b4EqUacgXWEorbH2MzJmBEwf4Qos6sruq7nUGLZ79" - ], - "license": "CAL" - }, - "lib/rain.math.fixedpoint/src/lib/LibWillOverflow.sol": { - "keccak256": "0x71c6bfb257f44498f583280100216b0ecc219837118b493ce2f179ecfeb71d9b", - "urls": [ - "bzz-raw://25b4c0c75cad29d64be39639ca583bbfcced2768773a01cfe8a6810af5af8f9a", - "dweb:/ipfs/QmbEfsL2rpVLR86kjDMJ7WY2coLmmiE15oWck4WwXjwbp7" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibBytes.sol": { - "keccak256": "0xcdc485d90d6d8a89a842b64c83efd15266c5c80916535736aa8a05497bcf5625", - "urls": [ - "bzz-raw://a45d0edb1d404207ad328d7a4eb16ee52d68db8dbb44796caa521a4765dfe353", - "dweb:/ipfs/QmVT8vbFLMmD1sg1sEz21mTrDRE58yFNsmKDPnZ3LX8yYk" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemCpy.sol": { - "keccak256": "0x6a2df10cc8f19bf99711c06ddf744080d922104b2f8aab4093ca1df8849a8406", - "urls": [ - "bzz-raw://58cdb4a850867b5ae325c28cd588a98e9c0b313fb7b70974fcb9ad357f552102", - "dweb:/ipfs/QmYvf96iHnS81aqt9sEcdvqpq6ghsk2fa8RVNBc6pttQJe" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibMemory.sol": { - "keccak256": "0x82c1e8067a31ce737cfc76cd8cebb6a01d0680ff811a9e85e8d6c38f2351e4f5", - "urls": [ - "bzz-raw://66741c8c46fb904b119a7a4d15417a8e44eb4fa4090b40c351b2c83deeb37830", - "dweb:/ipfs/QmQB7G8qdrvs7rjbKgzUTydY6KCVEs4m1SJqxZ5n1F49Gp" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibPointer.sol": { - "keccak256": "0xcd833cbf588ec10836cdfbddd426fc14dfa145ed2e63054f6bbd06e296e698f7", - "urls": [ - "bzz-raw://9ce0af4045e276c5e4c352c1c435f4ecea7552192b1d99e33732c1067bea0ad7", - "dweb:/ipfs/Qmc5NCFTwgg2AemUz9K1fPei51ivge3eUrWP8k56kF8ADG" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibStackPointer.sol": { - "keccak256": "0xf8392fe485d4825f75c62d0729d2f8f455e2162dab9f090d7b9e116f7577baad", - "urls": [ - "bzz-raw://cf8b236e4d50e7d9e124455ce143784021858bbfb35db7213f3d96f13c14f9c8", - "dweb:/ipfs/QmY8xqFSLzfBL8aYtLx6S7pFgLGNrawDDbnM4231rK2M8P" - ], - "license": "CAL" - }, - "lib/rain.solmem/src/lib/LibUint256Array.sol": { - "keccak256": "0x120ff38e1ce110465281d3d27d63c7c8d7ecbeba65aeacbffa7bec393501cbde", - "urls": [ - "bzz-raw://0acaffcfb7a060e2cc60940768ac2c8c25c142834336de35984d1c53eba6f7b6", - "dweb:/ipfs/QmcFAtiTDm43ZQTqAmpJUYuCbbTg6U6ytziB37qWU5h7sL" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterNP.sol", - "id": 56060, - "exportedSymbols": { - "DEFAULT_STATE_NAMESPACE": [ - 56316 - ], - "ERC165": [ - 45938 - ], - "EncodedDispatch": [ - 56304 - ], - "FullyQualifiedNamespace": [ - 56265 - ], - "IDebugInterpreterV2": [ - 56427 - ], - "IERC165": [ - 45950 - ], - "IInterpreterStoreV1": [ - 56297 - ], - "IInterpreterV1": [ - 56347 - ], - "InterpreterStateNP": [ - 70705 - ], - "InvalidSourceIndex": [ - 55871 - ], - "LibAllStandardOpsNP": [ - 58838 - ], - "LibCast": [ - 87348 - ], - "LibDataContract": [ - 87298 - ], - "LibEncodedDispatch": [ - 57276 - ], - "LibEvalNP": [ - 57593 - ], - "LibInterpreterStateDataContractNP": [ - 70673 - ], - "LibMemoryKV": [ - 71259 - ], - "LibNamespace": [ - 58010 - ], - "LibPointer": [ - 72323 - ], - "LibStackPointer": [ - 72486 - ], - "LibUint256Array": [ - 72714 - ], - "MemoryKV": [ - 71172 - ], - "NO_STORE": [ - 56274 - ], - "NegativeStackLength": [ - 55865 - ], - "OPCODE_FUNCTION_POINTERS": [ - 55875 - ], - "Operand": [ - 56308 - ], - "Pointer": [ - 72203 - ], - "RainterpreterNP": [ - 56059 - ], - "SourceIndex": [ - 56302 - ], - "StateNamespace": [ - 56306 - ] - }, - "nodeType": "SourceUnit", - "src": "32:5893:81", - "nodes": [ - { - "id": 55836, - "nodeType": "PragmaDirective", - "src": "32:24:81", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 55837, - "nodeType": "ImportDirective", - "src": "58:77:81", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "file": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 45939, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55838, - "nodeType": "ImportDirective", - "src": "137:47:81", - "nodes": [], - "absolutePath": "lib/rain.lib.typecast/src/LibCast.sol", - "file": "lib/rain.lib.typecast/src/LibCast.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 87349, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55840, - "nodeType": "ImportDirective", - "src": "185:82:81", - "nodes": [], - "absolutePath": "lib/rain.datacontract/src/lib/LibDataContract.sol", - "file": "lib/rain.datacontract/src/lib/LibDataContract.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 87299, - "symbolAliases": [ - { - "foreign": { - "id": 55839, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87298, - "src": "193:15:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55841, - "nodeType": "ImportDirective", - "src": "269:55:81", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IDebugInterpreterV2.sol", - "file": "../interface/unstable/IDebugInterpreterV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 56428, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55843, - "nodeType": "ImportDirective", - "src": "326:52:81", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/eval/LibEvalNP.sol", - "file": "../lib/eval/LibEvalNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 57594, - "symbolAliases": [ - { - "foreign": { - "id": 55842, - "name": "LibEvalNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57593, - "src": "334:9:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55844, - "nodeType": "ImportDirective", - "src": "379:36:81", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", - "file": "../lib/ns/LibNamespace.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 58011, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55846, - "nodeType": "ImportDirective", - "src": "416:101:81", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/state/LibInterpreterStateDataContractNP.sol", - "file": "../lib/state/LibInterpreterStateDataContractNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 70674, - "symbolAliases": [ - { - "foreign": { - "id": 55845, - "name": "LibInterpreterStateDataContractNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70673, - "src": "424:33:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55847, - "nodeType": "ImportDirective", - "src": "518:46:81", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "file": "../lib/caller/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 57277, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 55850, - "nodeType": "ImportDirective", - "src": "566:90:81", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol", - "file": "../lib/op/LibAllStandardOpsNP.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 58839, - "symbolAliases": [ - { - "foreign": { - "id": 55848, - "name": "LibAllStandardOpsNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58838, - "src": "574:19:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55849, - "name": "InterpreterStateNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70705, - "src": "595:18:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55853, - "nodeType": "ImportDirective", - "src": "657:75:81", - "nodes": [], - "absolutePath": "lib/rain.solmem/src/lib/LibPointer.sol", - "file": "lib/rain.solmem/src/lib/LibPointer.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 72324, - "symbolAliases": [ - { - "foreign": { - "id": 55851, - "name": "LibPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72323, - "src": "665:10:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55852, - "name": "Pointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72203, - "src": "677:7:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55855, - "nodeType": "ImportDirective", - "src": "733:76:81", - "nodes": [], - "absolutePath": "lib/rain.solmem/src/lib/LibStackPointer.sol", - "file": "lib/rain.solmem/src/lib/LibStackPointer.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 72487, - "symbolAliases": [ - { - "foreign": { - "id": 55854, - "name": "LibStackPointer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72486, - "src": "741:15:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55857, - "nodeType": "ImportDirective", - "src": "810:76:81", - "nodes": [], - "absolutePath": "lib/rain.solmem/src/lib/LibUint256Array.sol", - "file": "lib/rain.solmem/src/lib/LibUint256Array.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 72715, - "symbolAliases": [ - { - "foreign": { - "id": 55856, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72714, - "src": "818:15:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55860, - "nodeType": "ImportDirective", - "src": "887:81:81", - "nodes": [], - "absolutePath": "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol", - "file": "lib/rain.lib.memkv/src/lib/LibMemoryKV.sol", - "nameLocation": "-1:-1:-1", - "scope": 56060, - "sourceUnit": 71260, - "symbolAliases": [ - { - "foreign": { - "id": 55858, - "name": "LibMemoryKV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71259, - "src": "895:11:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 55859, - "name": "MemoryKV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71172, - "src": "908:8:81", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 55865, - "nodeType": "ErrorDefinition", - "src": "1028:41:81", - "nodes": [], - "documentation": { - "id": 55861, - "nodeType": "StructuredDocumentation", - "src": "970:58:81", - "text": "Thrown when the stack length is negative during eval." - }, - "errorSelector": "fa17b26c", - "name": "NegativeStackLength", - "nameLocation": "1034:19:81", - "parameters": { - "id": 55864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55863, - "mutability": "mutable", - "name": "length", - "nameLocation": "1061:6:81", - "nodeType": "VariableDeclaration", - "scope": 55865, - "src": "1054:13:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 55862, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1054:6:81", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1053:15:81" - } - }, - { - "id": 55871, - "nodeType": "ErrorDefinition", - "src": "1279:50:81", - "nodes": [], - "documentation": { - "id": 55866, - "nodeType": "StructuredDocumentation", - "src": "1071:208:81", - "text": "Thrown when the source index is invalid during eval. This is a runtime check\n for the exposed external eval entrypoint. Internally recursive evals are\n expected to preflight check the source index." - }, - "errorSelector": "09829ba8", - "name": "InvalidSourceIndex", - "nameLocation": "1285:18:81", - "parameters": { - "id": 55870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55869, - "mutability": "mutable", - "name": "sourceIndex", - "nameLocation": "1316:11:81", - "nodeType": "VariableDeclaration", - "scope": 55871, - "src": "1304:23:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 55868, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55867, - "name": "SourceIndex", - "nameLocations": [ - "1304:11:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "1304:11:81" - }, - "referencedDeclaration": 56302, - "src": "1304:11:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - } - ], - "src": "1303:25:81" - } - }, - { - "id": 55875, - "nodeType": "VariableDeclaration", - "src": "1634:215:81", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "OPCODE_FUNCTION_POINTERS", - "nameLocation": "1649:24:81", - "scope": 56060, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55873, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1634:5:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": { - "hexValue": "0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c", - "id": 55874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "hexString", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1680:169:81", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_60eefc5c0b62055a182fdf38cd968a9b2dc217ef521a50508e75d81efea75215", - "typeString": "literal_string hex\"0c590ca50ce00dc40dfe0e2d0e5c0e5c0eab0eda0f3c0fc4106b107f10d510e910fe111811231137114c11c91214123a125c1273127312be130913541354139f139f13ea14351480148014cb15b215e5163c\"" - } - }, - "visibility": "internal" - }, - { - "id": 56059, - "nodeType": "ContractDefinition", - "src": "2324:3600:81", - "nodes": [ - { - "id": 55886, - "nodeType": "UsingForDirective", - "src": "2402:39:81", - "nodes": [], - "global": false, - "libraryName": { - "id": 55883, - "name": "LibEvalNP", - "nameLocations": [ - "2408:9:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57593, - "src": "2408:9:81" - }, - "typeName": { - "id": 55885, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55884, - "name": "InterpreterStateNP", - "nameLocations": [ - "2422:18:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70705, - "src": "2422:18:81" - }, - "referencedDeclaration": 70705, - "src": "2422:18:81", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_storage_ptr", - "typeString": "struct InterpreterStateNP" - } - } - }, - { - "id": 55890, - "nodeType": "UsingForDirective", - "src": "2446:38:81", - "nodes": [], - "global": false, - "libraryName": { - "id": 55887, - "name": "LibNamespace", - "nameLocations": [ - "2452:12:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58010, - "src": "2452:12:81" - }, - "typeName": { - "id": 55889, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55888, - "name": "StateNamespace", - "nameLocations": [ - "2469:14:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "2469:14:81" - }, - "referencedDeclaration": 56306, - "src": "2469:14:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - } - }, - { - "id": 55893, - "nodeType": "UsingForDirective", - "src": "2489:50:81", - "nodes": [], - "global": false, - "libraryName": { - "id": 55891, - "name": "LibInterpreterStateDataContractNP", - "nameLocations": [ - "2495:33:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70673, - "src": "2495:33:81" - }, - "typeName": { - "id": 55892, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2533:5:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - { - "id": 55966, - "nodeType": "FunctionDefinition", - "src": "3771:885:81", - "nodes": [], - "body": { - "id": 55965, - "nodeType": "Block", - "src": "3989:667:81", - "nodes": [], - "statements": [ - { - "assignments": [ - 55917, - 55920, - 55922 - ], - "declarations": [ - { - "constant": false, - "id": 55917, - "mutability": "mutable", - "name": "expression", - "nameLocation": "4040:10:81", - "nodeType": "VariableDeclaration", - "scope": 55965, - "src": "4032:18:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 55916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4032:7:81", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55920, - "mutability": "mutable", - "name": "sourceIndex16", - "nameLocation": "4064:13:81", - "nodeType": "VariableDeclaration", - "scope": 55965, - "src": "4052:25:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 55919, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55918, - "name": "SourceIndex", - "nameLocations": [ - "4052:11:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "4052:11:81" - }, - "referencedDeclaration": 56302, - "src": "4052:11:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55922, - "mutability": "mutable", - "name": "maxOutputs", - "nameLocation": "4087:10:81", - "nodeType": "VariableDeclaration", - "scope": 55965, - "src": "4079:18:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 55921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 55927, - "initialValue": { - "arguments": [ - { - "id": 55925, - "name": "dispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55903, - "src": "4127:8:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - ], - "expression": { - "id": 55923, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57276, - "src": "4101:18:81", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57276_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 55924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4120:6:81", - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": 57275, - "src": "4101:25:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_EncodedDispatch_$56304_$returns$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$", - "typeString": "function (EncodedDispatch) pure returns (address,SourceIndex,uint16)" - } - }, - "id": 55926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4101:35:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_userDefinedValueType$_SourceIndex_$56302_$_t_uint16_$", - "typeString": "tuple(address,SourceIndex,uint16)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4031:105:81" - }, - { - "assignments": [ - 55929 - ], - "declarations": [ - { - "constant": false, - "id": 55929, - "mutability": "mutable", - "name": "expressionData", - "nameLocation": "4159:14:81", - "nodeType": "VariableDeclaration", - "scope": 55965, - "src": "4146:27:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 55928, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4146:5:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 55934, - "initialValue": { - "arguments": [ - { - "id": 55932, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55917, - "src": "4197:10:81", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 55930, - "name": "LibDataContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87298, - "src": "4176:15:81", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibDataContract_$87298_$", - "typeString": "type(library LibDataContract)" - } - }, - "id": 55931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4192:4:81", - "memberName": "read", - "nodeType": "MemberAccess", - "referencedDeclaration": 87266, - "src": "4176:20:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address) view returns (bytes memory)" - } - }, - "id": 55933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4176:32:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4146:62:81" - }, - { - "assignments": [ - 55936 - ], - "declarations": [ - { - "constant": false, - "id": 55936, - "mutability": "mutable", - "name": "sourceIndex", - "nameLocation": "4284:11:81", - "nodeType": "VariableDeclaration", - "scope": 55965, - "src": "4276:19:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 55935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4276:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 55937, - "nodeType": "VariableDeclarationStatement", - "src": "4276:19:81" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "4330:65:81", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4344:41:81", - "value": { - "arguments": [ - { - "name": "sourceIndex16", - "nodeType": "YulIdentifier", - "src": "4363:13:81" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4378:6:81", - "type": "", - "value": "0xFFFF" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4359:3:81" - }, - "nodeType": "YulFunctionCall", - "src": "4359:26:81" - }, - "variableNames": [ - { - "name": "sourceIndex", - "nodeType": "YulIdentifier", - "src": "4344:11:81" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 55936, - "isOffset": false, - "isSlot": false, - "src": "4344:11:81", - "valueSize": 1 - }, - { - "declaration": 55920, - "isOffset": false, - "isSlot": false, - "src": "4363:13:81", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 55938, - "nodeType": "InlineAssembly", - "src": "4305:90:81" - }, - { - "assignments": [ - 55941 - ], - "declarations": [ - { - "constant": false, - "id": 55941, - "mutability": "mutable", - "name": "state", - "nameLocation": "4431:5:81", - "nodeType": "VariableDeclaration", - "scope": 55965, - "src": "4405:31:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", - "typeString": "struct InterpreterStateNP" - }, - "typeName": { - "id": 55940, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55939, - "name": "InterpreterStateNP", - "nameLocations": [ - "4405:18:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70705, - "src": "4405:18:81" - }, - "referencedDeclaration": 70705, - "src": "4405:18:81", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_storage_ptr", - "typeString": "struct InterpreterStateNP" - } - }, - "visibility": "internal" - } - ], - "id": 55954, - "initialValue": { - "arguments": [ - { - "id": 55944, - "name": "sourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55936, - "src": "4487:11:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "expression": { - "id": 55947, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4527:3:81", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 55948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4531:6:81", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4527:10:81", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 55945, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55900, - "src": "4500:9:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "id": 55946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4510:16:81", - "memberName": "qualifyNamespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 58009, - "src": "4500:26:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$56306_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$attached_to$_t_userDefinedValueType$_StateNamespace_$56306_$", - "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" - } - }, - "id": 55949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4500:38:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - { - "id": 55950, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55897, - "src": "4540:5:81", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 55951, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55907, - "src": "4547:7:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 55952, - "name": "OPCODE_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55875, - "src": "4556:24:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 55942, - "name": "expressionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55929, - "src": "4439:14:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 55943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4454:19:81", - "memberName": "unsafeDeserializeNP", - "nodeType": "MemberAccess", - "referencedDeclaration": 70672, - "src": "4439:34:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_contract$_IInterpreterStoreV1_$56297_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256,FullyQualifiedNamespace,contract IInterpreterStoreV1,uint256[] memory[] memory,bytes memory) pure returns (struct InterpreterStateNP memory)" - } - }, - "id": 55953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4439:151:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", - "typeString": "struct InterpreterStateNP memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4405:185:81" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 55960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4634:1:81", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 55959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4620:13:81", - "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": 55957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4624:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55958, - "nodeType": "ArrayTypeName", - "src": "4624:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 55961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4620:16:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 55962, - "name": "maxOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55922, - "src": "4638:10:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 55955, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55941, - "src": "4607:5:81", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", - "typeString": "struct InterpreterStateNP memory" - } - }, - "id": 55956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4613:6:81", - "memberName": "evalNP", - "nodeType": "MemberAccess", - "referencedDeclaration": 57592, - "src": "4607:12:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$", - "typeString": "function (struct InterpreterStateNP memory,uint256[] memory,uint256) view returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 55963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4607:42:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 55915, - "id": 55964, - "nodeType": "Return", - "src": "4600:49:81" - } - ] - }, - "baseFunctions": [ - 56346 - ], - "documentation": { - "id": 55894, - "nodeType": "StructuredDocumentation", - "src": "2545:1221:81", - "text": "There are MANY ways that eval can be forced into undefined/corrupt\n behaviour by passing in invalid data. This is a deliberate design\n decision to allow for the interpreter to be as gas efficient as\n possible. The interpreter is provably read only, it contains no state\n changing evm opcodes reachable on any logic path. This means that\n the caller can only harm themselves by passing in invalid data and\n either reverting, exhausting gas or getting back some garbage data.\n The caller can trivially protect themselves from these OOB issues by\n ensuring the integrity check has successfully run over the bytecode\n before calling eval. Any smart contract caller can do this by using a\n trusted and appropriate deployer contract to deploy the bytecode, which\n will automatically run the integrity check during deployment, then\n keeping a registry of trusted expression addresses for itself in storage.\n This appears first in the contract in the hope that the compiler will\n put it in the most efficient internal dispatch location to save a few\n gas per eval call.\n @inheritdoc IInterpreterV1" - }, - "functionSelector": "6715f825", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "eval", - "nameLocation": "3780:4:81", - "parameters": { - "id": 55908, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55897, - "mutability": "mutable", - "name": "store", - "nameLocation": "3814:5:81", - "nodeType": "VariableDeclaration", - "scope": 55966, - "src": "3794:25:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 55896, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55895, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "3794:19:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "3794:19:81" - }, - "referencedDeclaration": 56297, - "src": "3794:19:81", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55900, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "3844:9:81", - "nodeType": "VariableDeclaration", - "scope": 55966, - "src": "3829:24:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 55899, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55898, - "name": "StateNamespace", - "nameLocations": [ - "3829:14:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "3829:14:81" - }, - "referencedDeclaration": 56306, - "src": "3829:14:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55903, - "mutability": "mutable", - "name": "dispatch", - "nameLocation": "3879:8:81", - "nodeType": "VariableDeclaration", - "scope": 55966, - "src": "3863:24:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 55902, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55901, - "name": "EncodedDispatch", - "nameLocations": [ - "3863:15:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56304, - "src": "3863:15:81" - }, - "referencedDeclaration": 56304, - "src": "3863:15:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$56304", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55907, - "mutability": "mutable", - "name": "context", - "nameLocation": "3916:7:81", - "nodeType": "VariableDeclaration", - "scope": 55966, - "src": "3897:26:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 55904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3897:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55905, - "nodeType": "ArrayTypeName", - "src": "3897:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 55906, - "nodeType": "ArrayTypeName", - "src": "3897:11:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "src": "3784:145:81" - }, - "returnParameters": { - "id": 55915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55911, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55966, - "src": "3953:16:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3953:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55910, - "nodeType": "ArrayTypeName", - "src": "3953:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55914, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55966, - "src": "3971:16:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 55912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3971:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 55913, - "nodeType": "ArrayTypeName", - "src": "3971:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "3952:36:81" - }, - "scope": 56059, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 55994, - "nodeType": "FunctionDefinition", - "src": "4688:270:81", - "nodes": [], - "body": { - "id": 55993, - "nodeType": "Block", - "src": "4779:179:81", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 55991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 55986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 55979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55974, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55968, - "src": "4796:11:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 55976, - "name": "IInterpreterV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56347, - "src": "4816:14:81", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$56347_$", - "typeString": "type(contract IInterpreterV1)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IInterpreterV1_$56347_$", - "typeString": "type(contract IInterpreterV1)" - } - ], - "id": 55975, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4811:4:81", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 55977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4811:20:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterV1_$56347", - "typeString": "type(contract IInterpreterV1)" - } - }, - "id": 55978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4832:11:81", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "4811:32:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4796:47:81", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 55985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 55980, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55968, - "src": "4847:11:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 55982, - "name": "IDebugInterpreterV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56427, - "src": "4867:19:81", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$56427_$", - "typeString": "type(contract IDebugInterpreterV2)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IDebugInterpreterV2_$56427_$", - "typeString": "type(contract IDebugInterpreterV2)" - } - ], - "id": 55981, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4862:4:81", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 55983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4862:25:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IDebugInterpreterV2_$56427", - "typeString": "type(contract IDebugInterpreterV2)" - } - }, - "id": 55984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4888:11:81", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "4862:37:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4847:52:81", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4796:103:81", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 55989, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55968, - "src": "4939:11:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 55987, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "4915:5:81", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_RainterpreterNP_$56059_$", - "typeString": "type(contract super RainterpreterNP)" - } - }, - "id": 55988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4921:17:81", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 45937, - "src": "4915:23:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 55990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4915:36:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4796:155:81", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 55973, - "id": 55992, - "nodeType": "Return", - "src": "4789:162:81" - } - ] - }, - "baseFunctions": [ - 45937 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "4697:17:81", - "overrides": { - "id": 55970, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4755:8:81" - }, - "parameters": { - "id": 55969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55968, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "4722:11:81", - "nodeType": "VariableDeclaration", - "scope": 55994, - "src": "4715:18:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 55967, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4715:6:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "4714:20:81" - }, - "returnParameters": { - "id": 55973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55972, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 55994, - "src": "4773:4:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 55971, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4773:4:81", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4772:6:81" - }, - "scope": 56059, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 56047, - "nodeType": "FunctionDefinition", - "src": "5004:736:81", - "nodes": [], - "body": { - "id": 56046, - "nodeType": "Block", - "src": "5343:397:81", - "nodes": [], - "statements": [ - { - "assignments": [ - 56025 - ], - "declarations": [ - { - "constant": false, - "id": 56025, - "mutability": "mutable", - "name": "sourceIndex", - "nameLocation": "5418:11:81", - "nodeType": "VariableDeclaration", - "scope": 56046, - "src": "5410:19:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5410:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 56026, - "nodeType": "VariableDeclarationStatement", - "src": "5410:19:81" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "5464:65:81", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5478:41:81", - "value": { - "arguments": [ - { - "name": "sourceIndex16", - "nodeType": "YulIdentifier", - "src": "5497:13:81" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5512:6:81", - "type": "", - "value": "0xFFFF" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5493:3:81" - }, - "nodeType": "YulFunctionCall", - "src": "5493:26:81" - }, - "variableNames": [ - { - "name": "sourceIndex", - "nodeType": "YulIdentifier", - "src": "5478:11:81" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 56025, - "isOffset": false, - "isSlot": false, - "src": "5478:11:81", - "valueSize": 1 - }, - { - "declaration": 56006, - "isOffset": false, - "isSlot": false, - "src": "5497:13:81", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 56027, - "nodeType": "InlineAssembly", - "src": "5439:90:81" - }, - { - "assignments": [ - 56030 - ], - "declarations": [ - { - "constant": false, - "id": 56030, - "mutability": "mutable", - "name": "state", - "nameLocation": "5564:5:81", - "nodeType": "VariableDeclaration", - "scope": 56046, - "src": "5538:31:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", - "typeString": "struct InterpreterStateNP" - }, - "typeName": { - "id": 56029, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56028, - "name": "InterpreterStateNP", - "nameLocations": [ - "5538:18:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70705, - "src": "5538:18:81" - }, - "referencedDeclaration": 70705, - "src": "5538:18:81", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_storage_ptr", - "typeString": "struct InterpreterStateNP" - } - }, - "visibility": "internal" - } - ], - "id": 56039, - "initialValue": { - "arguments": [ - { - "id": 56033, - "name": "sourceIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56025, - "src": "5619:11:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 56034, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56001, - "src": "5632:9:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - { - "id": 56035, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55998, - "src": "5643:5:81", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 56036, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56012, - "src": "5650:7:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 56037, - "name": "OPCODE_FUNCTION_POINTERS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55875, - "src": "5659:24:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 56031, - "name": "expressionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56003, - "src": "5584:14:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 56032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5599:19:81", - "memberName": "unsafeDeserializeNP", - "nodeType": "MemberAccess", - "referencedDeclaration": 70672, - "src": "5584:34:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_contract$_IInterpreterStoreV1_$56297_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$attached_to$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256,FullyQualifiedNamespace,contract IInterpreterStoreV1,uint256[] memory[] memory,bytes memory) pure returns (struct InterpreterStateNP memory)" - } - }, - "id": 56038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5584:100:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", - "typeString": "struct InterpreterStateNP memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5538:146:81" - }, - { - "expression": { - "arguments": [ - { - "id": 56042, - "name": "inputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56015, - "src": "5714:6:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 56043, - "name": "maxOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56008, - "src": "5722:10:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 56040, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56030, - "src": "5701:5:81", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InterpreterStateNP_$70705_memory_ptr", - "typeString": "struct InterpreterStateNP memory" - } - }, - "id": 56041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5707:6:81", - "memberName": "evalNP", - "nodeType": "MemberAccess", - "referencedDeclaration": 57592, - "src": "5701:12:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$attached_to$_t_struct$_InterpreterStateNP_$70705_memory_ptr_$", - "typeString": "function (struct InterpreterStateNP memory,uint256[] memory,uint256) view returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 56044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5701:32:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 56023, - "id": 56045, - "nodeType": "Return", - "src": "5694:39:81" - } - ] - }, - "baseFunctions": [ - 56426 - ], - "documentation": { - "id": 55995, - "nodeType": "StructuredDocumentation", - "src": "4964:35:81", - "text": "@inheritdoc IDebugInterpreterV2" - }, - "functionSelector": "758c13b6", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "offchainDebugEval", - "nameLocation": "5013:17:81", - "parameters": { - "id": 56016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 55998, - "mutability": "mutable", - "name": "store", - "nameLocation": "5060:5:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5040:25:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 55997, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55996, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "5040:19:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "5040:19:81" - }, - "referencedDeclaration": 56297, - "src": "5040:19:81", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$56297", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56001, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "5099:9:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5075:33:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - }, - "typeName": { - "id": 56000, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 55999, - "name": "FullyQualifiedNamespace", - "nameLocations": [ - "5075:23:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56265, - "src": "5075:23:81" - }, - "referencedDeclaration": 56265, - "src": "5075:23:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56003, - "mutability": "mutable", - "name": "expressionData", - "nameLocation": "5131:14:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5118:27:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 56002, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5118:5:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56006, - "mutability": "mutable", - "name": "sourceIndex16", - "nameLocation": "5167:13:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5155:25:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - }, - "typeName": { - "id": 56005, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56004, - "name": "SourceIndex", - "nameLocations": [ - "5155:11:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56302, - "src": "5155:11:81" - }, - "referencedDeclaration": 56302, - "src": "5155:11:81", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndex_$56302", - "typeString": "SourceIndex" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56008, - "mutability": "mutable", - "name": "maxOutputs", - "nameLocation": "5198:10:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5190:18:81", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5190:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56012, - "mutability": "mutable", - "name": "context", - "nameLocation": "5237:7:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5218:26:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 56009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5218:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56010, - "nodeType": "ArrayTypeName", - "src": "5218:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 56011, - "nodeType": "ArrayTypeName", - "src": "5218:11:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56015, - "mutability": "mutable", - "name": "inputs", - "nameLocation": "5271:6:81", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5254:23:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 56013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5254:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56014, - "nodeType": "ArrayTypeName", - "src": "5254:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "5030:253:81" - }, - "returnParameters": { - "id": 56023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56019, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5307:16:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 56017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5307:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56018, - "nodeType": "ArrayTypeName", - "src": "5307:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56022, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 56047, - "src": "5325:16:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 56020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5325:7:81", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56021, - "nodeType": "ArrayTypeName", - "src": "5325:9:81", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "5306:36:81" - }, - "scope": 56059, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 56058, - "nodeType": "FunctionDefinition", - "src": "5781:141:81", - "nodes": [], - "body": { - "id": 56057, - "nodeType": "Block", - "src": "5854:68:81", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 56053, - "name": "LibAllStandardOpsNP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58838, - "src": "5871:19:81", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibAllStandardOpsNP_$58838_$", - "typeString": "type(library LibAllStandardOpsNP)" - } - }, - "id": 56054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5891:22:81", - "memberName": "opcodeFunctionPointers", - "nodeType": "MemberAccess", - "referencedDeclaration": 58837, - "src": "5871:42:81", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 56055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5871:44:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 56052, - "id": 56056, - "nodeType": "Return", - "src": "5864:51:81" - } - ] - }, - "baseFunctions": [ - 56323 - ], - "documentation": { - "id": 56048, - "nodeType": "StructuredDocumentation", - "src": "5746:30:81", - "text": "@inheritdoc IInterpreterV1" - }, - "functionSelector": "f933c72f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionPointers", - "nameLocation": "5790:16:81", - "parameters": { - "id": 56049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5806:2:81" - }, - "returnParameters": { - "id": 56052, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56051, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 56058, - "src": "5840:12:81", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 56050, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5840:5:81", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5839:14:81" - }, - "scope": 56059, - "stateMutability": "view", - "virtual": true, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 55877, - "name": "IInterpreterV1", - "nameLocations": [ - "2352:14:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56347, - "src": "2352:14:81" - }, - "id": 55878, - "nodeType": "InheritanceSpecifier", - "src": "2352:14:81" - }, - { - "baseName": { - "id": 55879, - "name": "IDebugInterpreterV2", - "nameLocations": [ - "2368:19:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56427, - "src": "2368:19:81" - }, - "id": 55880, - "nodeType": "InheritanceSpecifier", - "src": "2368:19:81" - }, - { - "baseName": { - "id": 55881, - "name": "ERC165", - "nameLocations": [ - "2389:6:81" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45938, - "src": "2389:6:81" - }, - "id": 55882, - "nodeType": "InheritanceSpecifier", - "src": "2389:6:81" - } - ], - "canonicalName": "RainterpreterNP", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 55876, - "nodeType": "StructuredDocumentation", - "src": "1852:472:81", - "text": "@title RainterpreterNP\n @notice !!EXPERIMENTAL!! implementation of a Rainlang interpreter that is\n compatible with native onchain Rainlang parsing. Initially copied verbatim\n from the JS compatible Rainterpreter. This interpreter is deliberately\n separate from the JS Rainterpreter to allow for experimentation with the\n onchain interpreter without affecting the JS interpreter, up to and including\n a complely different execution model and opcodes." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 56059, - 45938, - 45950, - 56427, - 56347 - ], - "name": "RainterpreterNP", - "nameLocation": "2333:15:81", - "scope": 56060, - "usedErrors": [ - 47089, - 47096, - 56523, - 58277, - 59531, - 59719, - 87181 - ] - } - ], - "license": "CAL" - }, - "id": 81 -} \ No newline at end of file diff --git a/subgraph/tests/generated/RainterpreterStore.json b/subgraph/tests/generated/RainterpreterStore.json deleted file mode 100644 index 77f106201a..0000000000 --- a/subgraph/tests/generated/RainterpreterStore.json +++ /dev/null @@ -1,1923 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "name": "RainterpreterStoreOddSetLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "FullyQualifiedNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "key", - "type": "uint256" - } - ], - "name": "get", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "StateNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "kvs", - "type": "uint256[]" - } - ], - "name": "set", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610372806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b61005961005436600461021e565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c366004610267565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610289565b610153565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff2f4e56c00000000000000000000000000000000000000000000000000000000148061014d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b61015e600282610308565b1561019c576040517f042a603d0000000000000000000000000000000000000000000000000000000081526004810182905260240160405180910390fd5b60008381523360205260408120905b82811015610217578383826001018181106101c8576101c8610343565b9050602002013560008084815260200190815260200160002060008686858181106101f5576101f5610343565b60209081029290920135835250810191909152604001600020556002016101ab565b5050505050565b60006020828403121561023057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461026057600080fd5b9392505050565b6000806040838503121561027a57600080fd5b50508035926020909101359150565b60008060006040848603121561029e57600080fd5b83359250602084013567ffffffffffffffff808211156102bd57600080fd5b818601915086601f8301126102d157600080fd5b8135818111156102e057600080fd5b8760208260051b85010111156102f557600080fd5b6020830194508093505050509250925092565b60008261033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd", - "sourceMap": "704:1873:82:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063669e48aa1461006e578063946aadc6146100a5575b600080fd5b61005961005436600461021e565b6100ba565b60405190151581526020015b60405180910390f35b61009761007c366004610267565b60009182526020828152604080842092845291905290205490565b604051908152602001610065565b6100b86100b3366004610289565b610153565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff2f4e56c00000000000000000000000000000000000000000000000000000000148061014d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b61015e600282610308565b1561019c576040517f042a603d0000000000000000000000000000000000000000000000000000000081526004810182905260240160405180910390fd5b60008381523360205260408120905b82811015610217578383826001018181106101c8576101c8610343565b9050602002013560008084815260200190815260200160002060008686858181106101f5576101f5610343565b60209081029290920135835250810191909152604001600020556002016101ab565b5050505050565b60006020828403121561023057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461026057600080fd5b9392505050565b6000806040838503121561027a57600080fd5b50508035926020909101359150565b60008060006040848603121561029e57600080fd5b83359250602084013567ffffffffffffffff808211156102bd57600080fd5b818601915086601f8301126102d157600080fd5b8135818111156102e057600080fd5b8760208260051b85010111156102f557600080fd5b6020830194508093505050509250925092565b60008261033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd", - "sourceMap": "704:1873:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:207;;;;;;:::i;:::-;;:::i;:::-;;;516:14:212;;509:22;491:41;;479:2;464:18;1542:207:82;;;;;;;;2436:139;;;;;;:::i;:::-;2520:7;2546:17;;;;;;;;;;;:22;;;;;;;;;;2436:139;;;;987:25:212;;;975:2;960:18;2436:139:82;841:177:212;1795:595:82;;;;;;:::i;:::-;;:::i;:::-;;1542:207;1627:4;1650:52;;;1665:37;1650:52;;:92;;-1:-1:-1;952:25:34;937:40;;;;1706:36:82;1643:99;1542:207;-1:-1:-1;;1542:207:82:o;1795:595::-;2015:14;2028:1;2015:3;:14;:::i;:::-;:19;2011:99;;2057:42;;;;;;;;987:25:212;;;960:18;;2057:42:82;;;;;;;2011:99;2143:47;1094:25:99;;;2220:10:82;1139:4:99;1132:20;1200:4;1187:18;;;2245:129:82;2265:14;;;2245:129;;;2349:3;;2353:1;2357;2353:5;2349:10;;;;;;;:::i;:::-;;;;;;;2307:6;:31;2314:23;2307:31;;;;;;;;;;;:39;2339:3;;2343:1;2339:6;;;;;;;:::i;:::-;;;;;;;;;;2307:39;;-1:-1:-1;2307:39:82;;;;;;;;-1:-1:-1;2307:39:82;:52;2286:1;2281:6;2245:129;;;;2119:265;1795:595;;;:::o;14:332:212:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:212:o;543:293::-;656:6;664;717:2;705:9;696:7;692:23;688:32;685:52;;;733:1;730;723:12;685:52;-1:-1:-1;;756:23:212;;;826:2;811:18;;;798:32;;-1:-1:-1;543:293:212:o;1023:719::-;1154:6;1162;1170;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;1275:9;1262:23;1252:33;;1336:2;1325:9;1321:18;1308:32;1359:18;1400:2;1392:6;1389:14;1386:34;;;1416:1;1413;1406:12;1386:34;1454:6;1443:9;1439:22;1429:32;;1499:7;1492:4;1488:2;1484:13;1480:27;1470:55;;1521:1;1518;1511:12;1470:55;1561:2;1548:16;1587:2;1579:6;1576:14;1573:34;;;1603:1;1600;1593:12;1573:34;1656:7;1651:2;1641:6;1638:1;1634:14;1630:2;1626:23;1622:32;1619:45;1616:65;;;1677:1;1674;1667:12;1616:65;1708:2;1704;1700:11;1690:21;;1730:6;1720:16;;;;;1023:719;;;;;:::o;1747:266::-;1779:1;1805;1795:189;;1840:77;1837:1;1830:88;1941:4;1938:1;1931:15;1969:4;1966:1;1959:15;1795:189;-1:-1:-1;1998:9:212;;1747:266::o;2018:184::-;2070:77;2067:1;2060:88;2167:4;2164:1;2157:15;2191:4;2188:1;2181:15", - "linkReferences": {} - }, - "methodIdentifiers": { - "get(uint256,uint256)": "669e48aa", - "set(uint256,uint256[])": "946aadc6", - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"RainterpreterStoreOddSetLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"FullyQualifiedNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"StateNamespace\",\"name\":\"namespace\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"kvs\",\"type\":\"uint256[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"get(uint256,uint256)\":{\"params\":{\"key\":\"The key to get the value for within the namespace.\",\"namespace\":\"The fully qualified namespace to get a single value for.\"},\"returns\":{\"_0\":\"The value OR ZERO IF NOT SET.\"}},\"set(uint256,uint256[])\":{\"params\":{\"kvs\":\"The list of changes to apply to the store's internal state.\",\"namespace\":\"The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"title\":\"RainterpreterStore\",\"version\":1},\"userdoc\":{\"errors\":{\"RainterpreterStoreOddSetLength(uint256)\":[{\"notice\":\"Thrown when a `set` call is made with an odd number of arguments.\"}]},\"kind\":\"user\",\"methods\":{\"get(uint256,uint256)\":{\"notice\":\"Given a fully qualified namespace and key, return the associated value. Ostensibly the interpreter can use this to implement opcodes that read previously set values. The interpreter MUST apply the same qualification logic as the store that it uses to guarantee consistent round tripping of data and prevent malicious behaviours. Technically also allows onchain reads of any set value from any contract, not just interpreters, but in this case readers MUST be aware and handle inconsistencies between get and set while the state changes are still in memory in the calling context and haven't yet been persisted to the store. `IInterpreterStoreV1` uses the same fallback behaviour for unset keys as Solidity. Specifically, any UNSET VALUES SILENTLY FALLBACK TO `0`.\"},\"set(uint256,uint256[])\":{\"notice\":\"Mutates the interpreter store in bulk. The bulk values are provided in the form of a `uint256[]` which can be treated e.g. as pairwise keys and values to be stored in a Solidity mapping. The `IInterpreterStoreV1` defines the meaning of the `uint256[]` for its own storage logic.\"}},\"notice\":\"Simplest possible `IInterpreterStoreV1` that could work. Takes key/value pairings from the input array and stores each in an internal mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and doesn't attempt to do any deduping etc. if the same key appears twice it will be set twice.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/rain.interpreter/src/concrete/RainterpreterStore.sol\":\"RainterpreterStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/\",\":bytecode/=lib/rain.interpreter/src/lib/bytecode/\",\":caller/=lib/rain.interpreter/src/lib/caller/\",\":compile/=lib/rain.interpreter/src/lib/compile/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eval/=lib/rain.interpreter/src/lib/eval/\",\":extern/=lib/rain.interpreter/src/lib/extern/\",\":forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":integrity/=lib/rain.interpreter/src/lib/integrity/\",\":ns/=lib/rain.interpreter/src/lib/ns/\",\":op/=lib/rain.interpreter/src/lib/op/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":parse/=lib/rain.interpreter/src/lib/parse/\",\":prb-math/=lib/rain.interpreter/lib/prb-math/src/\",\":prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/\",\":rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/\",\":rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/\",\":rain.erc1820/=lib/rain.erc1820/src/\",\":rain.extrospection/=lib/rain.factory/lib/rain.extrospection/\",\":rain.factory/=lib/rain.factory/\",\":rain.interpreter/=lib/rain.interpreter/\",\":rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/\",\":rain.lib.memkv/=lib/rain.lib.memkv/src/\",\":rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/\",\":rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/\",\":rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/\",\":rain.metadata/=lib/rain.metadata/src/\",\":rain.solmem/=lib/rain.solmem/src/\",\":sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/\",\":state/=lib/rain.interpreter/src/lib/state/\",\":sushixswap-v2/=lib/sushixswap-v2/\",\":uniswap/=lib/rain.interpreter/src/lib/uniswap/\",\":v2-core/=lib/rain.interpreter/lib/v2-core/contracts/\",\":v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/\"]},\"sources\":{\"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/rain.interpreter/src/concrete/RainterpreterStore.sol\":{\"keccak256\":\"0x2bb0bc36ee356970400facde7a329d9379a6fadbcaf67ad1bb89561965b88768\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5963312d3dfdbf1a3270dd8f6cce07bf9566f748fc2e2891dd0d0ce5bb011ba5\",\"dweb:/ipfs/Qmdgf9ootn8JozoQdkT5CZimHQeC4FeTZCrKEyAwrv2DoD\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5\",\"dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y\"]},\"lib/rain.interpreter/src/interface/IInterpreterV1.sol\":{\"keccak256\":\"0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00\",\"dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3\",\"dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "type": "error", - "name": "RainterpreterStoreOddSetLength" - }, - { - "inputs": [ - { - "internalType": "FullyQualifiedNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "key", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "StateNamespace", - "name": "namespace", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "kvs", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "set" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "get(uint256,uint256)": { - "params": { - "key": "The key to get the value for within the namespace.", - "namespace": "The fully qualified namespace to get a single value for." - }, - "returns": { - "_0": "The value OR ZERO IF NOT SET." - } - }, - "set(uint256,uint256[])": { - "params": { - "kvs": "The list of changes to apply to the store's internal state.", - "namespace": "The unqualified namespace for the set that MUST be fully qualified by the `IInterpreterStoreV1` to prevent key collisions between callers. The fully qualified namespace forms a compound key with the keys for each value to set." - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "get(uint256,uint256)": { - "notice": "Given a fully qualified namespace and key, return the associated value. Ostensibly the interpreter can use this to implement opcodes that read previously set values. The interpreter MUST apply the same qualification logic as the store that it uses to guarantee consistent round tripping of data and prevent malicious behaviours. Technically also allows onchain reads of any set value from any contract, not just interpreters, but in this case readers MUST be aware and handle inconsistencies between get and set while the state changes are still in memory in the calling context and haven't yet been persisted to the store. `IInterpreterStoreV1` uses the same fallback behaviour for unset keys as Solidity. Specifically, any UNSET VALUES SILENTLY FALLBACK TO `0`." - }, - "set(uint256,uint256[])": { - "notice": "Mutates the interpreter store in bulk. The bulk values are provided in the form of a `uint256[]` which can be treated e.g. as pairwise keys and values to be stored in a Solidity mapping. The `IInterpreterStoreV1` defines the meaning of the `uint256[]` for its own storage logic." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@prb/test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "axelar-gmp-sdk-solidity/=lib/sushixswap-v2/lib/axelar-gmp-sdk-solidity/", - "bytecode/=lib/rain.interpreter/src/lib/bytecode/", - "caller/=lib/rain.interpreter/src/lib/caller/", - "compile/=lib/rain.interpreter/src/lib/compile/", - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "eval/=lib/rain.interpreter/src/lib/eval/", - "extern/=lib/rain.interpreter/src/lib/extern/", - "forge-gas-snapshot/=lib/sushixswap-v2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "integrity/=lib/rain.interpreter/src/lib/integrity/", - "ns/=lib/rain.interpreter/src/lib/ns/", - "op/=lib/rain.interpreter/src/lib/op/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "parse/=lib/rain.interpreter/src/lib/parse/", - "prb-math/=lib/rain.interpreter/lib/prb-math/src/", - "prb-test/=lib/rain.interpreter/lib/prb-math/lib/prb-test/src/", - "rain.chainlink/=lib/rain.interpreter/lib/rain.chainlink/src/", - "rain.datacontract/=lib/rain.interpreter/lib/rain.datacontract/src/", - "rain.erc1820/=lib/rain.erc1820/src/", - "rain.extrospection/=lib/rain.factory/lib/rain.extrospection/", - "rain.factory/=lib/rain.factory/", - "rain.interpreter/=lib/rain.interpreter/", - "rain.lib.hash/=lib/rain.lib.memkv/lib/rain.lib.hash/src/", - "rain.lib.memkv/=lib/rain.lib.memkv/src/", - "rain.lib.typecast/=lib/rain.interpreter/lib/rain.lib.typecast/src/", - "rain.math.fixedpoint/=lib/rain.math.fixedpoint/src/", - "rain.math.saturating/=lib/rain.math.fixedpoint/lib/rain.math.saturating/src/", - "rain.metadata/=lib/rain.metadata/src/", - "rain.solmem/=lib/rain.solmem/src/", - "sol.lib.binmaskflag/=lib/rain.interpreter/lib/sol.lib.binmaskflag/src/", - "state/=lib/rain.interpreter/src/lib/state/", - "sushixswap-v2/=lib/sushixswap-v2/", - "uniswap/=lib/rain.interpreter/src/lib/uniswap/", - "v2-core/=lib/rain.interpreter/lib/v2-core/contracts/", - "v2-periphery/=lib/rain.interpreter/lib/v2-periphery/contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "metadata": { - "bytecodeHash": "none", - "appendCBOR": false - }, - "compilationTarget": { - "lib/rain.interpreter/src/concrete/RainterpreterStore.sol": "RainterpreterStore" - }, - "libraries": {} - }, - "sources": { - "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/rain.interpreter/src/concrete/RainterpreterStore.sol": { - "keccak256": "0x2bb0bc36ee356970400facde7a329d9379a6fadbcaf67ad1bb89561965b88768", - "urls": [ - "bzz-raw://5963312d3dfdbf1a3270dd8f6cce07bf9566f748fc2e2891dd0d0ce5bb011ba5", - "dweb:/ipfs/Qmdgf9ootn8JozoQdkT5CZimHQeC4FeTZCrKEyAwrv2DoD" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0xbd9baa8cd30406576f876a76f1c08396561ba93131741af338f63e2414e20619", - "urls": [ - "bzz-raw://30bb6f09d8b8f27f77e6c44591c4f2070286a91dad202043cf2351ae802e3df5", - "dweb:/ipfs/QmRz5pfzf5w84iNmKaYYbqP8oQywzc5xbd3xzKmxgFyf9y" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterV1.sol": { - "keccak256": "0xebde08ca2e1c25fc733e0bb8867598715f8ba79772f86db1c8960ad7d68a5293", - "urls": [ - "bzz-raw://b93fb28a09aeea4afe7f0d4afc67354c0fa538e5a9b274b0c5f10ed1dd6b6b00", - "dweb:/ipfs/QmatNhoHRSJ1ZvoCNo61YMt9jb1vvEkWy3mkcoPkB4FFA9" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { - "keccak256": "0xd72b1340849f083cfa8f9882f4acf1ff3cfa548425872e5ada2e453553381457", - "urls": [ - "bzz-raw://d974d8ae488be26fafb9fe7e106918aec02fc78d463eeda29fa2d0029b0521b3", - "dweb:/ipfs/QmWSe3vEEEt7DN19eERQmmnen2mBdwR6kwriafvmuo5zfo" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "lib/rain.interpreter/src/concrete/RainterpreterStore.sol", - "id": 56189, - "exportedSymbols": { - "DEFAULT_STATE_NAMESPACE": [ - 56316 - ], - "ERC165": [ - 45938 - ], - "EncodedDispatch": [ - 56304 - ], - "FullyQualifiedNamespace": [ - 56265 - ], - "IERC165": [ - 45950 - ], - "IInterpreterStoreV1": [ - 56297 - ], - "IInterpreterV1": [ - 56347 - ], - "LibNamespace": [ - 58010 - ], - "NO_STORE": [ - 56274 - ], - "Operand": [ - 56308 - ], - "RainterpreterStore": [ - 56188 - ], - "RainterpreterStoreOddSetLength": [ - 56069 - ], - "SourceIndex": [ - 56302 - ], - "StateNamespace": [ - 56306 - ] - }, - "nodeType": "SourceUnit", - "src": "32:2546:82", - "nodes": [ - { - "id": 56061, - "nodeType": "PragmaDirective", - "src": "32:24:82", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 56062, - "nodeType": "ImportDirective", - "src": "58:73:82", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "file": "openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "nameLocation": "-1:-1:-1", - "scope": 56189, - "sourceUnit": 45939, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 56063, - "nodeType": "ImportDirective", - "src": "133:46:82", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol", - "file": "../interface/IInterpreterStoreV1.sol", - "nameLocation": "-1:-1:-1", - "scope": 56189, - "sourceUnit": 56298, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 56064, - "nodeType": "ImportDirective", - "src": "180:36:82", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", - "file": "../lib/ns/LibNamespace.sol", - "nameLocation": "-1:-1:-1", - "scope": 56189, - "sourceUnit": 58011, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 56069, - "nodeType": "ErrorDefinition", - "src": "288:53:82", - "nodes": [], - "documentation": { - "id": 56065, - "nodeType": "StructuredDocumentation", - "src": "218:70:82", - "text": "Thrown when a `set` call is made with an odd number of arguments." - }, - "errorSelector": "042a603d", - "name": "RainterpreterStoreOddSetLength", - "nameLocation": "294:30:82", - "parameters": { - "id": 56068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56067, - "mutability": "mutable", - "name": "length", - "nameLocation": "333:6:82", - "nodeType": "VariableDeclaration", - "scope": 56069, - "src": "325:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "325:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "324:16:82" - } - }, - { - "id": 56188, - "nodeType": "ContractDefinition", - "src": "704:1873:82", - "nodes": [ - { - "id": 56078, - "nodeType": "UsingForDirective", - "src": "769:38:82", - "nodes": [], - "global": false, - "libraryName": { - "id": 56075, - "name": "LibNamespace", - "nameLocations": [ - "775:12:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58010, - "src": "775:12:82" - }, - "typeName": { - "id": 56077, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56076, - "name": "StateNamespace", - "nameLocations": [ - "792:14:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "792:14:82" - }, - "referencedDeclaration": 56306, - "src": "792:14:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - } - }, - { - "id": 56086, - "nodeType": "VariableDeclaration", - "src": "1396:113:82", - "nodes": [], - "constant": false, - "documentation": { - "id": 56079, - "nodeType": "StructuredDocumentation", - "src": "813:462:82", - "text": "Store is several tiers of sandbox.\n 0. Address hashed into `FullyQualifiedNamespace` is `msg.sender` so that\n callers cannot attack each other\n 1. StateNamespace is caller-provided namespace so that expressions cannot\n attack each other\n 2. `uint256` is expression-provided key\n 3. `uint256` is expression-provided value\n tiers 0 and 1 are both embodied in the `FullyQualifiedNamespace`." - }, - "mutability": "mutable", - "name": "sStore", - "nameLocation": "1503:6:82", - "scope": 56188, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 56085, - "keyName": "fullyQualifiedNamespace", - "keyNameLocation": "1428:23:82", - "keyType": { - "id": 56081, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56080, - "name": "FullyQualifiedNamespace", - "nameLocations": [ - "1404:23:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56265, - "src": "1404:23:82" - }, - "referencedDeclaration": 56265, - "src": "1404:23:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "nodeType": "Mapping", - "src": "1396:97:82", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 56084, - "keyName": "key", - "keyNameLocation": "1471:3:82", - "keyType": { - "id": 56082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1463:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1455:37:82", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "value", - "valueNameLocation": "1486:5:82", - "valueType": { - "id": 56083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1478:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "internal" - }, - { - "id": 56107, - "nodeType": "FunctionDefinition", - "src": "1542:207:82", - "nodes": [], - "body": { - "id": 56106, - "nodeType": "Block", - "src": "1633:116:82", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 56104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 56099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 56094, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56088, - "src": "1650:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 56096, - "name": "IInterpreterStoreV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56297, - "src": "1670:19:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$56297_$", - "typeString": "type(contract IInterpreterStoreV1)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IInterpreterStoreV1_$56297_$", - "typeString": "type(contract IInterpreterStoreV1)" - } - ], - "id": 56095, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1665:4:82", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 56097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1665:25:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IInterpreterStoreV1_$56297", - "typeString": "type(contract IInterpreterStoreV1)" - } - }, - "id": 56098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1691:11:82", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1665:37:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1650:52:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 56102, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56088, - "src": "1730:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 56100, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "1706:5:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_RainterpreterStore_$56188_$", - "typeString": "type(contract super RainterpreterStore)" - } - }, - "id": 56101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1712:17:82", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 45937, - "src": "1706:23:82", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 56103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1706:36:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1650:92:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 56093, - "id": 56105, - "nodeType": "Return", - "src": "1643:99:82" - } - ] - }, - "baseFunctions": [ - 45937 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1551:17:82", - "overrides": { - "id": 56090, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1609:8:82" - }, - "parameters": { - "id": 56089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56088, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1576:11:82", - "nodeType": "VariableDeclaration", - "scope": 56107, - "src": "1569:18:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 56087, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1569:6:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1568:20:82" - }, - "returnParameters": { - "id": 56093, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56092, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 56107, - "src": "1627:4:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 56091, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1627:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1626:6:82" - }, - "scope": 56188, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 56169, - "nodeType": "FunctionDefinition", - "src": "1795:595:82", - "nodes": [], - "body": { - "id": 56168, - "nodeType": "Block", - "src": "1867:523:82", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 56122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 56120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 56117, - "name": "kvs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56114, - "src": "2015:3:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 56118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2019:6:82", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2015:10:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "hexValue": "32", - "id": 56119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2028:1:82", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "2015:14:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 56121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2033:1:82", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2015:19:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "documentation": "This would be picked up by an out of bounds index below, but it's\n nice to have a more specific error message.", - "id": 56129, - "nodeType": "IfStatement", - "src": "2011:99:82", - "trueBody": { - "id": 56128, - "nodeType": "Block", - "src": "2036:74:82", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 56124, - "name": "kvs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56114, - "src": "2088:3:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 56125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2092:6:82", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2088:10:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 56123, - "name": "RainterpreterStoreOddSetLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56069, - "src": "2057:30:82", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 56126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2057:42:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 56127, - "nodeType": "RevertStatement", - "src": "2050:49:82" - } - ] - } - }, - { - "id": 56167, - "nodeType": "UncheckedBlock", - "src": "2119:265:82", - "statements": [ - { - "assignments": [ - 56132 - ], - "declarations": [ - { - "constant": false, - "id": 56132, - "mutability": "mutable", - "name": "fullyQualifiedNamespace", - "nameLocation": "2167:23:82", - "nodeType": "VariableDeclaration", - "scope": 56167, - "src": "2143:47:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - }, - "typeName": { - "id": 56131, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56130, - "name": "FullyQualifiedNamespace", - "nameLocations": [ - "2143:23:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56265, - "src": "2143:23:82" - }, - "referencedDeclaration": 56265, - "src": "2143:23:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "visibility": "internal" - } - ], - "id": 56138, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 56135, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2220:3:82", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 56136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2224:6:82", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2220:10:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 56133, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56111, - "src": "2193:9:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "id": 56134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2203:16:82", - "memberName": "qualifyNamespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 58009, - "src": "2193:26:82", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$56306_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$attached_to$_t_userDefinedValueType$_StateNamespace_$56306_$", - "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" - } - }, - "id": 56137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2193:38:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2143:88:82" - }, - { - "body": { - "id": 56165, - "nodeType": "Block", - "src": "2289:85:82", - "statements": [ - { - "expression": { - "id": 56163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 56151, - "name": "sStore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56086, - "src": "2307:6:82", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" - } - }, - "id": 56156, - "indexExpression": { - "id": 56152, - "name": "fullyQualifiedNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56132, - "src": "2314:23:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2307:31:82", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 56157, - "indexExpression": { - "baseExpression": { - "id": 56153, - "name": "kvs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56114, - "src": "2339:3:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 56155, - "indexExpression": { - "id": 56154, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56140, - "src": "2343:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2339:6:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2307:39:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 56158, - "name": "kvs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56114, - "src": "2349:3:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 56162, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 56161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 56159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56140, - "src": "2353:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 56160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2357:1:82", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2353:5:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2349:10:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2307:52:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56164, - "nodeType": "ExpressionStatement", - "src": "2307:52:82" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 56146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 56143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56140, - "src": "2265:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 56144, - "name": "kvs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56114, - "src": "2269:3:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 56145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2273:6:82", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2269:10:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2265:14:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 56166, - "initializationExpression": { - "assignments": [ - 56140 - ], - "declarations": [ - { - "constant": false, - "id": 56140, - "mutability": "mutable", - "name": "i", - "nameLocation": "2258:1:82", - "nodeType": "VariableDeclaration", - "scope": 56166, - "src": "2250:9:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2250:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 56142, - "initialValue": { - "hexValue": "30", - "id": 56141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2262:1:82", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2250:13:82" - }, - "loopExpression": { - "expression": { - "id": 56149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 56147, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56140, - "src": "2281:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 56148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2286:1:82", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "2281:6:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56150, - "nodeType": "ExpressionStatement", - "src": "2281:6:82" - }, - "nodeType": "ForStatement", - "src": "2245:129:82" - } - ] - } - ] - }, - "baseFunctions": [ - 56285 - ], - "documentation": { - "id": 56108, - "nodeType": "StructuredDocumentation", - "src": "1755:35:82", - "text": "@inheritdoc IInterpreterStoreV1" - }, - "functionSelector": "946aadc6", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "set", - "nameLocation": "1804:3:82", - "parameters": { - "id": 56115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56111, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "1823:9:82", - "nodeType": "VariableDeclaration", - "scope": 56169, - "src": "1808:24:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 56110, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56109, - "name": "StateNamespace", - "nameLocations": [ - "1808:14:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56306, - "src": "1808:14:82" - }, - "referencedDeclaration": 56306, - "src": "1808:14:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$56306", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56114, - "mutability": "mutable", - "name": "kvs", - "nameLocation": "1853:3:82", - "nodeType": "VariableDeclaration", - "scope": 56169, - "src": "1834:22:82", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 56112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1834:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 56113, - "nodeType": "ArrayTypeName", - "src": "1834:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1807:50:82" - }, - "returnParameters": { - "id": 56116, - "nodeType": "ParameterList", - "parameters": [], - "src": "1867:0:82" - }, - "scope": 56188, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 56187, - "nodeType": "FunctionDefinition", - "src": "2436:139:82", - "nodes": [], - "body": { - "id": 56186, - "nodeType": "Block", - "src": "2529:46:82", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 56180, - "name": "sStore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56086, - "src": "2546:6:82", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_userDefinedValueType$_FullyQualifiedNamespace_$56265_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(FullyQualifiedNamespace => mapping(uint256 => uint256))" - } - }, - "id": 56182, - "indexExpression": { - "id": 56181, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56173, - "src": "2553:9:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2546:17:82", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 56184, - "indexExpression": { - "id": 56183, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56175, - "src": "2564:3:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2546:22:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 56179, - "id": 56185, - "nodeType": "Return", - "src": "2539:29:82" - } - ] - }, - "baseFunctions": [ - 56296 - ], - "documentation": { - "id": 56170, - "nodeType": "StructuredDocumentation", - "src": "2396:35:82", - "text": "@inheritdoc IInterpreterStoreV1" - }, - "functionSelector": "669e48aa", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nameLocation": "2445:3:82", - "parameters": { - "id": 56176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56173, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "2473:9:82", - "nodeType": "VariableDeclaration", - "scope": 56187, - "src": "2449:33:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - }, - "typeName": { - "id": 56172, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 56171, - "name": "FullyQualifiedNamespace", - "nameLocations": [ - "2449:23:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56265, - "src": "2449:23:82" - }, - "referencedDeclaration": 56265, - "src": "2449:23:82", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$56265", - "typeString": "FullyQualifiedNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 56175, - "mutability": "mutable", - "name": "key", - "nameLocation": "2492:3:82", - "nodeType": "VariableDeclaration", - "scope": 56187, - "src": "2484:11:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2484:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2448:48:82" - }, - "returnParameters": { - "id": 56179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 56178, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 56187, - "src": "2520:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 56177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2520:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2519:9:82" - }, - "scope": 56188, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 56071, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "735:19:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56297, - "src": "735:19:82" - }, - "id": 56072, - "nodeType": "InheritanceSpecifier", - "src": "735:19:82" - }, - { - "baseName": { - "id": 56073, - "name": "ERC165", - "nameLocations": [ - "756:6:82" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45938, - "src": "756:6:82" - }, - "id": 56074, - "nodeType": "InheritanceSpecifier", - "src": "756:6:82" - } - ], - "canonicalName": "RainterpreterStore", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 56070, - "nodeType": "StructuredDocumentation", - "src": "343:361:82", - "text": "@title RainterpreterStore\n @notice Simplest possible `IInterpreterStoreV1` that could work.\n Takes key/value pairings from the input array and stores each in an internal\n mapping. `StateNamespace` is fully qualified only by `msg.sender` on set and\n doesn't attempt to do any deduping etc. if the same key appears twice it will\n be set twice." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 56188, - 45938, - 45950, - 56297 - ], - "name": "RainterpreterStore", - "nameLocation": "713:18:82", - "scope": 56189, - "usedErrors": [ - 56069 - ] - } - ], - "license": "CAL" - }, - "id": 82 -} \ No newline at end of file From 997a94e940849ed45efa3e7a080d58ce0ccdb0f2 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 15:46:43 -0400 Subject: [PATCH 040/163] fixed ERC20Mock for testing --- subgraph/tests/generated/ERC20Mock.json | 1252 +++++++++++++++++++++++ 1 file changed, 1252 insertions(+) create mode 100644 subgraph/tests/generated/ERC20Mock.json diff --git a/subgraph/tests/generated/ERC20Mock.json b/subgraph/tests/generated/ERC20Mock.json new file mode 100644 index 0000000000..8059915419 --- /dev/null +++ b/subgraph/tests/generated/ERC20Mock.json @@ -0,0 +1,1252 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "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" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b506040518060400160405280600981526020016845524332304d6f636b60b81b815250604051806040016040528060048152602001634532304d60e01b81525081600390816200006291906200011f565b5060046200007182826200011f565b505050620001eb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a557607f821691505b602082108103620000c657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011a57600081815260208120601f850160051c81016020861015620000f55750805b601f850160051c820191505b81811015620001165782815560010162000101565b5050505b505050565b81516001600160401b038111156200013b576200013b6200007a565b62000153816200014c845462000090565b84620000cc565b602080601f8311600181146200018b5760008415620001725750858301515b600019600386901b1c1916600185901b17855562000116565b600085815260208120601f198616915b82811015620001bc578886015182559484019460019091019084016200019b565b5085821015620001db5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610aa280620001fb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101a2578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806340c10f191461015c57806370a082311461017157806395d89b411461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e991906108ec565b60405180910390f35b610105610100366004610956565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610980565b61029a565b604051601281526020016100e9565b610105610157366004610956565b6102be565b61016f61016a366004610956565b6102e0565b005b61011961017f3660046109bc565b6001600160a01b031660009081526020819052604090205490565b6100dc6102ee565b61016f6101b0366004610956565b6102fd565b6101056101c3366004610956565b610307565b6101056101d6366004610956565b610387565b6101196101e93660046109de565b610395565b6060600380546101fd90610a11565b80601f016020809104026020016040519081016040528092919081815260200182805461022990610a11565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103c0565b60019150505b92915050565b6000336102a88582856104e5565b6102b385858561055f565b506001949350505050565b60003361028e8185856102d18383610395565b6102db9190610a4b565b6103c0565b6102ea8282610703565b5050565b6060600480546101fd90610a11565b6102ea82826107c2565b600033816103158286610395565b90508381101561037a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b382868684036103c0565b60003361028e81858561055f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b0382166104835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610371565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104f18484610395565b90506000198114610559578181101561054c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610371565b61055984848484036103c0565b50505050565b6001600160a01b0383166105c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610371565b6001600160a01b0382166106255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610371565b6001600160a01b0383166000908152602081905260409020548181101561069d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610371565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610559565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610371565b806002600082825461076b9190610a4b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166108225760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610371565b6001600160a01b038216600090815260208190526040902054818110156108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610371565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104d8565b600060208083528351808285015260005b81811015610919578581018301518582016040015282016108fd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095157600080fd5b919050565b6000806040838503121561096957600080fd5b6109728361093a565b946020939093013593505050565b60008060006060848603121561099557600080fd5b61099e8461093a565b92506109ac6020850161093a565b9150604084013590509250925092565b6000602082840312156109ce57600080fd5b6109d78261093a565b9392505050565b600080604083850312156109f157600080fd5b6109fa8361093a565b9150610a086020840161093a565b90509250929050565b600181811c90821680610a2557607f821691505b602082108103610a4557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561029457634e487b7160e01b600052601160045260246000fdfea26469706673582212202d7597b2dd2f4b94ffb19355f2921eb82c48391601c4fa9d14d5912e7bb8ee6464736f6c63430008130033", + "sourceMap": "106:281:87:-:0;;;140:43;;;;;;;;;;1980:113:175;;;;;;;;;;;;;-1:-1:-1;;;1980:113:175;;;;;;;;;;;;;;;;-1:-1:-1;;;1980:113:175;;;2054:5;2046;:13;;;;;;:::i;:::-;-1:-1:-1;2069:7:175;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;106:281:87;;14:127:287;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:287;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:287;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:287;;;2580:26;2531:89;-1:-1:-1;;1335:1:287;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:287;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:287;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:287;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:287:o;:::-;106:281:87;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101a2578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806340c10f191461015c57806370a082311461017157806395d89b411461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e991906108ec565b60405180910390f35b610105610100366004610956565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610980565b61029a565b604051601281526020016100e9565b610105610157366004610956565b6102be565b61016f61016a366004610956565b6102e0565b005b61011961017f3660046109bc565b6001600160a01b031660009081526020819052604090205490565b6100dc6102ee565b61016f6101b0366004610956565b6102fd565b6101056101c3366004610956565b610307565b6101056101d6366004610956565b610387565b6101196101e93660046109de565b610395565b6060600380546101fd90610a11565b80601f016020809104026020016040519081016040528092919081815260200182805461022990610a11565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103c0565b60019150505b92915050565b6000336102a88582856104e5565b6102b385858561055f565b506001949350505050565b60003361028e8185856102d18383610395565b6102db9190610a4b565b6103c0565b6102ea8282610703565b5050565b6060600480546101fd90610a11565b6102ea82826107c2565b600033816103158286610395565b90508381101561037a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b382868684036103c0565b60003361028e81858561055f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b0382166104835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610371565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104f18484610395565b90506000198114610559578181101561054c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610371565b61055984848484036103c0565b50505050565b6001600160a01b0383166105c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610371565b6001600160a01b0382166106255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610371565b6001600160a01b0383166000908152602081905260409020548181101561069d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610371565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610559565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610371565b806002600082825461076b9190610a4b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166108225760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610371565b6001600160a01b038216600090815260208190526040902054818110156108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610371565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016104d8565b600060208083528351808285015260005b81811015610919578581018301518582016040015282016108fd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095157600080fd5b919050565b6000806040838503121561096957600080fd5b6109728361093a565b946020939093013593505050565b60008060006060848603121561099557600080fd5b61099e8461093a565b92506109ac6020850161093a565b9150604084013590509250925092565b6000602082840312156109ce57600080fd5b6109d78261093a565b9392505050565b600080604083850312156109f157600080fd5b6109fa8361093a565b9150610a086020840161093a565b90509250929050565b600181811c90821680610a2557607f821691505b602082108103610a4557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561029457634e487b7160e01b600052601160045260246000fdfea26469706673582212202d7597b2dd2f4b94ffb19355f2921eb82c48391601c4fa9d14d5912e7bb8ee6464736f6c63430008130033", + "sourceMap": "106:281:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98:175;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:287;;1162:22;1144:41;;1132:2;1117:18;4444:197:175;1004:187:287;3255:106:175;3342:12;;3255:106;;;1342:25:287;;;1330:2;1315:18;3255:106:175;1196:177:287;5203:256:175;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:287;;1841:2;1826:18;3104:91:175;1711:184:287;5854:234:175;;;;;;:::i;:::-;;:::i;189:95:87:-;;;;;;:::i;:::-;;:::i;:::-;;3419:125:175;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:175;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;290:95:87:-;;;;;;:::i;:::-;;:::i;6575:427:175:-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:221;4581:32:175;719:10:221;4597:7:175;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:221;5356:38:175;5372:4;719:10:221;5387:6:175;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:175;;5203:256;-1:-1:-1;;;;5203:256:175:o;5854:234::-;5942:4;719:10:221;5996:64:175;719:10:221;6012:7:175;6049:10;6021:25;719:10:221;6012:7:175;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;189:95:87:-;255:22;261:7;270:6;255:5;:22::i;:::-;189:95;;:::o;2369:102:175:-;2425:13;2457:7;2450:14;;;;;:::i;290:95:87:-;356:22;362:7;371:6;356:5;:22::i;6575:427:175:-;6668:4;719:10:221;6668:4:175;6749:25;719:10:221;6766:7:175;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:175;;3170:2:287;6784:85:175;;;3152:21:287;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:287;;;3292:35;3344:19;;6784:85:175;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:221;3873:28:175;719:10:221;3890:2:175;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:175;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:175;;10550:68;;;;-1:-1:-1;;;10550:68:175;;3576:2:287;10550:68:175;;;3558:21:287;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:287;;;3698:34;3749:19;;10550:68:175;3374:400:287;10550:68:175;-1:-1:-1;;;;;10636:21:175;;10628:68;;;;-1:-1:-1;;;10628:68:175;;3981:2:287;10628:68:175;;;3963:21:287;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:287;;;4103:32;4152:19;;10628:68:175;3779:398:287;10628:68:175;-1:-1:-1;;;;;10707:18:175;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:287;;;10758:32:175;;1315:18:287;10758:32:175;;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:175;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:175;;4384:2:287;11297:68:175;;;4366:21:287;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:175;4182:353:287;11297:68:175;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:175;;7544:68;;;;-1:-1:-1;;;7544:68:175;;4742:2:287;7544:68:175;;;4724:21:287;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:287;;;4864:35;4916:19;;7544:68:175;4540:401:287;7544:68:175;-1:-1:-1;;;;;7630:16:175;;7622:64;;;;-1:-1:-1;;;7622:64:175;;5148:2:287;7622:64:175;;;5130:21:287;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:287;;;5270:33;5320:19;;7622:64:175;4946:399:287;7622:64:175;-1:-1:-1;;;;;7768:15:175;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:175;;5552:2:287;7793:72:175;;;5534:21:287;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:287;;;5674:36;5727:19;;7793:72:175;5350:402:287;7793:72:175;-1:-1:-1;;;;;7899:15:175;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:287;;;8114:13:175;;8163:26;;1315:18:287;8163:26:175;;;;;;;8200:37;9375:659;8520:535;-1:-1:-1;;;;;8603:21:175;;8595:65;;;;-1:-1:-1;;;8595:65:175;;5959:2:287;8595:65:175;;;5941:21:287;5998:2;5978:18;;;5971:30;6037:33;6017:18;;;6010:61;6088:18;;8595:65:175;5757:355:287;8595:65:175;8747:6;8731:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8899:18:175;;:9;:18;;;;;;;;;;;:28;;;;;;8952:37;1342:25:287;;;8952:37:175;;1315:18:287;8952:37:175;;;;;;;189:95:87;;:::o;9375:659:175:-;-1:-1:-1;;;;;9458:21:175;;9450:67;;;;-1:-1:-1;;;9450:67:175;;6319:2:287;9450:67:175;;;6301:21:287;6358:2;6338:18;;;6331:30;6397:34;6377:18;;;6370:62;-1:-1:-1;;;6448:18:287;;;6441:31;6489:19;;9450:67:175;6117:397:287;9450:67:175;-1:-1:-1;;;;;9613:18:175;;9588:22;9613:18;;;;;;;;;;;9649:24;;;;9641:71;;;;-1:-1:-1;;;9641:71:175;;6721:2:287;9641:71:175;;;6703:21:287;6760:2;6740:18;;;6733:30;6799:34;6779:18;;;6772:62;-1:-1:-1;;;6850:18:287;;;6843:32;6892:19;;9641:71:175;6519:398:287;9641:71:175;-1:-1:-1;;;;;9746:18:175;;:9;:18;;;;;;;;;;;9767:23;;;9746:44;;9883:12;:22;;;;;;;9931:37;1342:25:287;;;9746:9:175;;:18;9931:37;;1315:18:287;9931:37:175;1196:177:287;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:287;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:287:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:287:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "increaseAllowance(address,uint256)": "39509351", + "mint(address,uint256)": "40c10f19", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin/=contracts/\"]},\"sources\":{\"contracts/mocks/ERC20Mock.sol\":{\"keccak256\":\"0x84e74b44b4a040b78c59f5775b3488568a52b6c444936c7da270d77b8978803a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c3b5d3c0abdf59181985086fa335519b96f3a9489570ee1188fd293b08a7b6f\",\"dweb:/ipfs/Qmey8qcStYDSubZatenoeRoM1ibkpd4nv6Ggdw4sHpct6P\"]},\"contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "spender", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin/=contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "contracts/mocks/ERC20Mock.sol": "ERC20Mock" + }, + "libraries": {} + }, + "sources": { + "contracts/mocks/ERC20Mock.sol": { + "keccak256": "0x84e74b44b4a040b78c59f5775b3488568a52b6c444936c7da270d77b8978803a", + "urls": [ + "bzz-raw://0c3b5d3c0abdf59181985086fa335519b96f3a9489570ee1188fd293b08a7b6f", + "dweb:/ipfs/Qmey8qcStYDSubZatenoeRoM1ibkpd4nv6Ggdw4sHpct6P" + ], + "license": "MIT" + }, + "contracts/token/ERC20/ERC20.sol": { + "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", + "urls": [ + "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", + "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" + ], + "license": "MIT" + }, + "contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", + "urls": [ + "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", + "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" + ], + "license": "MIT" + }, + "contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "contracts/mocks/ERC20Mock.sol", + "id": 10831, + "exportedSymbols": { + "ERC20": [22925], + "ERC20Mock": [10830] + }, + "nodeType": "SourceUnit", + "src": "32:356:87", + "nodes": [ + { + "id": 10791, + "nodeType": "PragmaDirective", + "src": "32:23:87", + "nodes": [], + "literals": ["solidity", "^", "0.8", ".0"] + }, + { + "id": 10793, + "nodeType": "ImportDirective", + "src": "57:47:87", + "nodes": [], + "absolutePath": "contracts/token/ERC20/ERC20.sol", + "file": "../token/ERC20/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 10831, + "sourceUnit": 22926, + "symbolAliases": [ + { + "foreign": { + "id": 10792, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22925, + "src": "65:5:87", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 10830, + "nodeType": "ContractDefinition", + "src": "106:281:87", + "nodes": [ + { + "id": 10803, + "nodeType": "FunctionDefinition", + "src": "140:43:87", + "nodes": [], + "body": { + "id": 10802, + "nodeType": "Block", + "src": "181:2:87", + "nodes": [], + "statements": [] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "45524332304d6f636b", + "id": 10798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "160:11:87", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33e204670039f8eeeb54743b50a42c4eacdfe9c2a99e7c90a68653a84d2870ae", + "typeString": "literal_string \"ERC20Mock\"" + }, + "value": "ERC20Mock" + }, + { + "hexValue": "4532304d", + "id": 10799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "173:6:87", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e146b19f4863aaa90bb9ad2c640c77b569e376541b06949c872e8cb5e47c42ef", + "typeString": "literal_string \"E20M\"" + }, + "value": "E20M" + } + ], + "id": 10800, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 10797, + "name": "ERC20", + "nameLocations": ["154:5:87"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22925, + "src": "154:5:87" + }, + "nodeType": "ModifierInvocation", + "src": "154:26:87" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 10796, + "nodeType": "ParameterList", + "parameters": [], + "src": "151:2:87" + }, + "returnParameters": { + "id": 10801, + "nodeType": "ParameterList", + "parameters": [], + "src": "181:0:87" + }, + "scope": 10830, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 10816, + "nodeType": "FunctionDefinition", + "src": "189:95:87", + "nodes": [], + "body": { + "id": 10815, + "nodeType": "Block", + "src": "245:39:87", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10811, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10805, + "src": "261:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10812, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10807, + "src": "270:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10810, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22742, + "src": "255:5:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 10813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "255:22:87", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10814, + "nodeType": "ExpressionStatement", + "src": "255:22:87" + } + ] + }, + "functionSelector": "40c10f19", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "198:4:87", + "parameters": { + "id": 10808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10805, + "mutability": "mutable", + "name": "account", + "nameLocation": "211:7:87", + "nodeType": "VariableDeclaration", + "scope": 10816, + "src": "203:15:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "203:7:87", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10807, + "mutability": "mutable", + "name": "amount", + "nameLocation": "228:6:87", + "nodeType": "VariableDeclaration", + "scope": 10816, + "src": "220:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "220:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "202:33:87" + }, + "returnParameters": { + "id": 10809, + "nodeType": "ParameterList", + "parameters": [], + "src": "245:0:87" + }, + "scope": 10830, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10829, + "nodeType": "FunctionDefinition", + "src": "290:95:87", + "nodes": [], + "body": { + "id": 10828, + "nodeType": "Block", + "src": "346:39:87", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10824, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10818, + "src": "362:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10825, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10820, + "src": "371:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10823, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22814, + "src": "356:5:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 10826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "356:22:87", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10827, + "nodeType": "ExpressionStatement", + "src": "356:22:87" + } + ] + }, + "functionSelector": "9dc29fac", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "299:4:87", + "parameters": { + "id": 10821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10818, + "mutability": "mutable", + "name": "account", + "nameLocation": "312:7:87", + "nodeType": "VariableDeclaration", + "scope": 10829, + "src": "304:15:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "304:7:87", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10820, + "mutability": "mutable", + "name": "amount", + "nameLocation": "329:6:87", + "nodeType": "VariableDeclaration", + "scope": 10829, + "src": "321:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "321:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "303:33:87" + }, + "returnParameters": { + "id": 10822, + "nodeType": "ParameterList", + "parameters": [], + "src": "346:0:87" + }, + "scope": 10830, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10794, + "name": "ERC20", + "nameLocations": ["128:5:87"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22925, + "src": "128:5:87" + }, + "id": 10795, + "nodeType": "InheritanceSpecifier", + "src": "128:5:87" + } + ], + "canonicalName": "ERC20Mock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [10830, 22925, 25478, 23003, 32336], + "name": "ERC20Mock", + "nameLocation": "115:9:87", + "scope": 10831, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 87 +} From 6a679c4567e28b5e74ebccf34682ee4521b09c87 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 15:57:22 -0400 Subject: [PATCH 041/163] removing wait inside queries --- subgraph/tests/subgraph/query/content_meta_v1/mod.rs | 4 +--- subgraph/tests/subgraph/query/order/mod.rs | 6 ++---- subgraph/tests/subgraph/query/orderbook/mod.rs | 7 +------ subgraph/tests/subgraph/query/rain_meta_v1/mod.rs | 3 --- 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs index 2179dcac45..397aa59b31 100644 --- a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs @@ -1,6 +1,6 @@ use self::content_meta_v1::ResponseData; use super::SG_URL; -use crate::{subgraph::wait, utils::mn_mpz_to_u256}; +use crate::utils::mn_mpz_to_u256; use anyhow::{anyhow, Result}; use ethers::types::{Bytes, U256}; use graphql_client::{GraphQLQuery, Response}; @@ -47,8 +47,6 @@ impl ContentMetaV1Response { } pub async fn get_content_meta_v1(id: Bytes) -> Result { - wait().await?; - let variables = content_meta_v1::Variables { content_meta: id.to_string().into(), }; diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index 76396e8bfd..68548d9fe2 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -43,8 +43,7 @@ pub struct OrderResponse { } impl OrderResponse { - // pub fn from(response: ResponseData) -> OrderResponse { - pub fn from(response: ResponseData) -> () { + pub fn from(response: ResponseData) -> OrderResponse { println!("OrderResponse.from()"); let data = response.order.unwrap(); @@ -73,8 +72,7 @@ impl OrderResponse { } } -// pub async fn get_content_meta_v1(id: Bytes) -> Result { -pub async fn get_order(id: Bytes) -> Result<()> { +pub async fn get_content_meta_v1(id: Bytes) -> Result { wait().await?; println!("get_order_0"); diff --git a/subgraph/tests/subgraph/query/orderbook/mod.rs b/subgraph/tests/subgraph/query/orderbook/mod.rs index 338e5d204f..7030a41b84 100644 --- a/subgraph/tests/subgraph/query/orderbook/mod.rs +++ b/subgraph/tests/subgraph/query/orderbook/mod.rs @@ -1,13 +1,10 @@ use self::order_book::ResponseData; -use crate::subgraph::wait; +use super::SG_URL; use anyhow::{anyhow, Result}; use ethers::types::{Address, Bytes}; use graphql_client::{GraphQLQuery, Response}; use serde::{Deserialize, Serialize}; -use super::SG_URL; -// The paths are relative to the directory where your `Cargo.toml` is located. -// Both json and the GraphQL schema language are supported as sources for the schema #[derive(GraphQLQuery)] #[graphql( schema_path = "tests/subgraph/query/schema.json", @@ -45,8 +42,6 @@ impl OrderBookResponse { } pub async fn get_orderbook_query(orderbook_address: Address) -> Result { - wait().await?; - let variables = order_book::Variables { orderbook: format!("{:?}", orderbook_address).to_string().into(), }; diff --git a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs index d5646deabd..5b3724527f 100644 --- a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs @@ -1,6 +1,5 @@ use self::rain_meta_v1::{RainMetaV1RainMetaV1Content, ResponseData}; use super::SG_URL; -use crate::subgraph::wait; use anyhow::{anyhow, Result}; use ethers::types::Bytes; use graphql_client::{GraphQLQuery, Response}; @@ -38,8 +37,6 @@ impl RainMetaV1Response { } pub async fn get_rain_meta_v1(rain_meta_id: Bytes) -> Result { - wait().await?; - let variables = rain_meta_v1::Variables { rain_meta: rain_meta_id.to_string().into(), }; From 3e473f10d8853e919154e4bdea6a1998d33c70f5 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 16:53:53 -0400 Subject: [PATCH 042/163] fix: wrong abi json name in ci --- subgraph/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 72476fb03a..9d993736fb 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -48,7 +48,7 @@ # Copying the new abis into the SG abi folder cp ../out/OrderBook.sol/OrderBook.json ./abis/ - cp ../out/ERC20.sol/ERC20.json ./abis/ReserveToken.json + cp ../out/ERC20.sol/ERC20.json ./abis/ERC20.json '' + pkgs.lib.concatStrings (map copy-abis concrete-contracts) + (remove-duplicate) ); From 44e7823e152ec95e4d0679c11d2621ed08a03e68 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 20:30:14 -0400 Subject: [PATCH 043/163] wip: query for order entities --- subgraph/flake.nix | 2 +- subgraph/schema.graphql | 2 +- subgraph/tests/entities.rs | 124 +++--------------- subgraph/tests/subgraph/query/mod.rs | 7 +- subgraph/tests/subgraph/query/order/mod.rs | 123 +++++++++++------ subgraph/tests/utils/deploy/erc20_mock/mod.rs | 16 +++ subgraph/tests/utils/deploy/mod.rs | 5 +- subgraph/tests/utils/deploy/orderbook/mod.rs | 16 +++ subgraph/tests/utils/mod.rs | 6 + 9 files changed, 154 insertions(+), 147 deletions(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 9d993736fb..fd135d0ca6 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -75,7 +75,7 @@ ''); ci-test = pkgs.writeShellScriptBin "ci-test" ('' - clear; + # clear; cargo test -- --nocapture; ''); diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index 8bd7299b5b..931a2c0a39 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -37,7 +37,7 @@ type ContentMetaV1 @entity { # Created with the first AddOrder event, then updated on the corresponding AddOrder/RemoveOrder events type Order implements Event @entity { "The hash of the order" - id: ID! # This value is emitted as Uint256, but you should use the hex string representation (it's a hash)H + id: ID! # This value is emitted as Uint256, but you should use the hex string representation (it's a hash) "The hash of the order" orderHash: Bytes! diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 555c8e7535..34d87c5078 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -9,12 +9,14 @@ use ethers::{ utils::keccak256, }; use generated::{EvaluableConfigV2, Io, OrderConfigV2}; -use hex::FromHex; -use subgraph::{query::get_order, wait, Query}; +use subgraph::{wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, - deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, + deploy::{ + deploy_erc20_mock, get_orderbook, ob_connect_to, read_orderbook_meta, touch_deployer, + }, events::get_add_order_event, + get_wallet, mock_rain_doc, }; #[tokio::main] @@ -31,7 +33,7 @@ async fn orderbook_entity_test() -> Result<()> { .expect("cannot get the ob query response"); // This wallet is used to deploy the OrderBook at initialization, so it is the deployer - let wallet_0 = utils::get_wallet(0); + let wallet_0 = get_wallet(0); // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta_hashed = Bytes::from(keccak256(read_orderbook_meta())); @@ -41,85 +43,6 @@ async fn orderbook_entity_test() -> Result<()> { assert_eq!(response.deployer, wallet_0.address()); assert_eq!(response.meta, ob_meta_hashed); - // // Deploy ExpressionDeployerNP for the config - // let expression_deployer = deploy_touch_deployer(None) - // .await - // .expect("cannot deploy expression_deployer"); - - // /////////////////////////////////////////////// - // // Deploy ERC20 token contract (A)command) and convert to Bytes - // let ob_meta_hashed = Bytes::from(keccak256(read_orderbook_meta())); - - // assert_eq!(response.id, orderbook.address()); - // assert_eq!(response.address, orderbook.address()); - // assert_eq!(response.deployer, wallet_0.address()); - // assert_eq!(response.meta, ob_meta_hashed); - // let token_a = deploy_erc20_mock(None) - // .await - // .expect("failed on deploy erc20 token A"); - - // // Deploy ERC20 token contract (B) - // let token_b = deploy_erc20_mock(None) - // .await - // .expect("failed on deploy erc20 token B"); - - // // * Build OrderConfig - // // Build IO (input) - // let io_input = Io { - // token: token_a.address(), - // decimals: token_a.decimals().await.unwrap(), - // vault_id: U256::from(0), - // }; - - // // Build IO (output) - // let io_output = Io { - // token: token_b.address(), - // decimals: token_b.decimals().await.unwrap(), - // vault_id: U256::from(0), - // }; - - // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); - // let (bytecode, constants) = expression_deployer - // .parse(data_parse.clone()) - // .await - // .expect("cannot get value from parse"); - - // // An example rain doc (hardcoded - does not contain any well info. Only rain doc well formed) - // let rain_doc = Bytes::from_hex("0xff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e")?; - - // // Build EvaluableConfigV2 - // let eval_config = EvaluableConfigV2 { - // deployer: expression_deployer.address(), - // bytecode, - // constants, - // }; - - // let config = OrderConfigV2 { - // valid_inputs: vec![io_input], - // valid_outputs: vec![io_output], - // evaluable_config: eval_config, - // meta: rain_doc.clone(), - // }; - - // // Add the order - // let add_order_func = orderbook.add_order(config); - // let tx_add_order = add_order_func.send().await.expect("order not sent"); - - // let add_order_data = _get_add_order_event(orderbook, tx_add_order).await; - // println!("add_order_data: {:?}", add_order_data); - - // // // /////////////////////////////////////////////// - - // let mint_func = token_a.mint(wallet_0.address(), _get_amount_tokens(20, 18)); - // let tx_mint = mint_func.send().await.expect("mint not sent"); - - // let mint_data = _get_transfer_event(token_a, tx_mint).await; - // println!("mint_data: {:?}", mint_data); - - // let _ = is_sugraph_node_init() - // .await - // .expect("cannot check subgraph node"); - Ok(()) } @@ -205,12 +128,15 @@ async fn content_meta_v1_entity_test() -> Result<()> { async fn order_entity_test() -> Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); - // // Deploy ExpressionDeployerNP for the config + // Connect the orderbook to another wallet + let wallet_1 = get_wallet(1); + let orderbook = ob_connect_to(orderbook, wallet_1).await; + + // Deploy ExpressionDeployerNP for the config let expression_deployer = touch_deployer(None) .await .expect("cannot deploy expression_deployer"); - /////////////////////////////////////////////// // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None) .await @@ -242,8 +168,7 @@ async fn order_entity_test() -> Result<()> { .await .expect("cannot get value from parse"); - // An example rain doc (hardcoded - does not contain any well info. Only rain doc well formed) - let rain_doc = Bytes::from_hex("0xff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e")?; + let rain_doc = mock_rain_doc(); // Build EvaluableConfigV2 let eval_config = EvaluableConfigV2 { @@ -264,30 +189,23 @@ async fn order_entity_test() -> Result<()> { let tx_add_order = add_order_func.send().await.expect("order not sent"); let add_order_data = get_add_order_event(orderbook.clone(), tx_add_order).await; - println!("add_order_data: {:?}", add_order_data); + println!("add_order_data: {:?}\n", add_order_data); // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); let id = Bytes::from(add_order_data.order_hash); + println!("Order_id: {}\n", id); - // let id = response; - - let _ = get_order(id).await; - - // let response = Query::content_meta_v1(content.hash().as_fixed_bytes().into()) - // .await - // .expect("cannot get the query response"); - - // let mint_func = token_a.mint(wallet_0.address(), _get_amount_tokens(20, 18)); - // let tx_mint = mint_func.send().await.expect("mint not sent"); + let response = Query::order(id) + .await + .expect("cannot get the query response"); - // let mint_data = _get_transfer_event(token_a, tx_mint).await; - // println!("mint_data: {:?}", mint_data); + println!("Response: {:?}\n", response); - // let _ = is_sugraph_node_init() - // .await - // .expect("cannot check subgraph node"); + assert_eq!(response.id, Bytes::from(&add_order_data.order_hash)); + assert_eq!(response.order_hash, Bytes::from(&add_order_data.order_hash)); + // assert_eq!(response.owner,); Ok(()) } diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 60bb58e784..645e613af8 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -9,11 +9,10 @@ use once_cell::sync::Lazy; use reqwest::Url; use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; +use order::{get_order, OrderResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; -pub use order::get_order; - pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -31,4 +30,8 @@ impl Query { pub async fn content_meta_v1(id: Bytes) -> Result { get_content_meta_v1(id).await } + + pub async fn order(id: Bytes) -> Result { + get_order(id).await + } } diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index 68548d9fe2..b90462288f 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -28,54 +28,104 @@ pub struct OrderResponse { pub order_active: bool, pub handle_i_o: bool, pub meta: Bytes, - - pub valid_inputs: Vec, - pub valid_outputs: Vec, - pub order_jsonstring: String, - pub expression_jsonstring: String, - + pub valid_inputs: Vec, + pub valid_outputs: Vec, + pub order_json_string: String, + pub expression_json_string: Option, pub transaction: Bytes, pub emitter: Address, pub timestamp: U256, - - pub take_orders: Vec, - pub orders_clears: Vec, + pub take_orders: Vec, + pub orders_clears: Vec, } impl OrderResponse { pub fn from(response: ResponseData) -> OrderResponse { - println!("OrderResponse.from()"); + // pub fn from(response: ResponseData) -> () { let data = response.order.unwrap(); - // Check here. - let owner: Bytes = data.owner.id; - println!("owner: {}", owner); - let emitter = data.emitter.id; - println!("emitter: {}", emitter); - - let meta = data.meta.unwrap().id; - - let valid_inputs = data.valid_inputs.unwrap().get(0).unwrap().id.clone(); - let valid_outputs = data.valid_outputs.unwrap().get(0).unwrap().id.clone(); - - let transaction = data.transaction.id; - - let take_orders = data.take_orders.unwrap().get(0).unwrap().id.clone(); - let orders_clears = data.orders_clears.unwrap().get(0).unwrap().id.clone(); - - // OrderResponse { - // id: data.id + let valid_inputs: Vec = data + .valid_inputs + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let valid_outputs: Vec = data + .valid_outputs + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let take_orders: Vec = data + .take_orders + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let orders_clears: Vec = data + .orders_clears + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + println!("data.interpreter: {:?}", data.interpreter); + let interpreter_address = Address::from_slice(&data.interpreter); + println!("interpreter_address: {:?}", interpreter_address); + + let id_bytes = Bytes::from(data.id.as_bytes().to_vec()); + println!("id_str: {:?}", data.id); + println!("id_bytes: {:?}", id_bytes); + + // let order = OrderResponse { + // id: Bytes::from(data.id.as_bytes().to_vec()), + // order_hash: data.order_hash, + // owner: Address::from_slice(&data.owner.id), + // interpreter: Address::from_slice(&data.interpreter), + // interpreter_store: Address::from_slice(&data.interpreter_store), + // expression_deployer: Address::from_slice(&data.expression_deployer), + // expression: Address::from_slice(&data.expression), // order_active: data.order_active, - // owner: data.owner - // } - () + // handle_i_o: data.handle_io, + // meta: data.meta.unwrap().id, + // valid_inputs, + // valid_outputs, + // order_json_string: data.order_json_string, + // expression_json_string: data.expression_json_string, + // transaction: Bytes::from(data.transaction.id.as_bytes().to_vec()), + // emitter: Address::from_slice(&data.emitter.id), + // timestamp: mn_mpz_to_u256(&data.timestamp), + // take_orders, + // orders_clears, + // }; + OrderResponse { + id: Bytes::from(data.id.as_bytes().to_vec()), + order_hash: data.order_hash, + owner: Address::from_slice(&data.owner.id), + interpreter: Address::from_slice(&data.interpreter), + interpreter_store: Address::from_slice(&data.interpreter_store), + expression_deployer: Address::from_slice(&data.expression_deployer), + expression: Address::from_slice(&data.expression), + order_active: data.order_active, + handle_i_o: data.handle_io, + meta: data.meta.unwrap().id, + valid_inputs, + valid_outputs, + order_json_string: data.order_json_string, + expression_json_string: data.expression_json_string, + transaction: Bytes::from(data.transaction.id.as_bytes().to_vec()), + emitter: Address::from_slice(&data.emitter.id), + timestamp: mn_mpz_to_u256(&data.timestamp), + take_orders, + orders_clears, + } } } -pub async fn get_content_meta_v1(id: Bytes) -> Result { - wait().await?; - println!("get_order_0"); - +pub async fn get_order(id: Bytes) -> Result { let variables = order::Variables { id: id.to_string().into(), }; @@ -88,10 +138,7 @@ pub async fn get_content_meta_v1(id: Bytes) -> Result { .send() .await?; - println!("get_order_1"); - let response_body: Response = res.json().await?; - println!("get_order_2.is_some: {}", response_body.data.is_some()); match response_body.data { Some(data) => { diff --git a/subgraph/tests/utils/deploy/erc20_mock/mod.rs b/subgraph/tests/utils/deploy/erc20_mock/mod.rs index c772fad647..e345dd5006 100644 --- a/subgraph/tests/utils/deploy/erc20_mock/mod.rs +++ b/subgraph/tests/utils/deploy/erc20_mock/mod.rs @@ -31,3 +31,19 @@ pub async fn deploy_erc20_mock( Ok(contract) } + +/// Connect the ERC20Mock to a new wallet +pub async fn erc20_mock_connect_to( + contract: &ERC20Mock, Wallet>>, + wallet: Wallet, +) -> ERC20Mock, Wallet>> { + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(chain_id.as_u64()), + )); + + ERC20Mock::new(contract.address(), client) +} diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index 1384d841ba..8f5438769c 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -4,8 +4,9 @@ pub mod orderbook; mod registry1820; mod touch_deployer; -pub use erc20_mock::deploy_erc20_mock; +pub use erc20_mock::{deploy_erc20_mock, erc20_mock_connect_to}; + pub use meta_getter::{authoring_meta_getter_deploy, get_meta_address}; -pub use orderbook::{deploy_orderbook, get_orderbook, read_orderbook_meta}; +pub use orderbook::{deploy_orderbook, get_orderbook, ob_connect_to, read_orderbook_meta}; pub use registry1820::deploy1820; pub use touch_deployer::touch_deployer; diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs index 3be265e410..0beb79cb17 100644 --- a/subgraph/tests/utils/deploy/orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -59,6 +59,22 @@ pub async fn deploy_orderbook( return Ok(orderbook); } +/// Connect the OB to a new wallet +pub async fn ob_connect_to( + orderbook: &OrderBook, Wallet>>, + wallet: Wallet, +) -> OrderBook, Wallet>> { + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(chain_id.as_u64()), + )); + + OrderBook::new(orderbook.address(), client) +} + pub fn read_orderbook_meta() -> Vec { let meta_directory = env::current_dir() .expect("cannot get the current directory") diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 5092569a28..269e39da77 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -140,6 +140,12 @@ pub fn mn_mpz_to_u256(value: &BigInt) -> U256 { U256::from_dec_str(&value.to_str_radix(16)).unwrap() } +/// Get a mock encoded rain document with hardcoded data. +/// Does not contain any well info. Only rain doc well formed. +pub fn mock_rain_doc() -> Bytes { + Bytes::from_hex("0xff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e").unwrap() +} + /// Rain Magic Numbers pub struct MagicNumber; From e058dfda504ec611d2cbabf68f0f9bf4435ab207 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 20:33:13 -0400 Subject: [PATCH 044/163] wip: update to borrow tx to get events --- subgraph/flake.nix | 1 - subgraph/src/utils.ts | 4 +- subgraph/tests/utils/events.rs | 68 +++++++++++++++++++++++++++++----- 3 files changed, 61 insertions(+), 12 deletions(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index fd135d0ca6..1ca4f1f7b1 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -75,7 +75,6 @@ ''); ci-test = pkgs.writeShellScriptBin "ci-test" ('' - # clear; cargo test -- --nocapture; ''); diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index 7d7e3d60d6..34bb60069d 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -39,9 +39,9 @@ export let CLEAR_EVENT_TOPIC = export let AFTER_CLEAR_EVENT_TOPIC = "0x3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d"; -// ExpressionDeployer: NewExpression(address sender, bytes[] sources, uint256[] constants, uint256[] minOutputs) +// ExpressionDeployer: NewExpression(address,bytes,uint256[],uint256[]) export let NEW_EXPRESSION_EVENT_TOPIC = - "0xf66a0c19428b142e06d7aa23d5f18b9b9ff08408fefcdfb8bb27cb34929f7786"; + "0x4a48f556905d90b4a58742999556994182322843167010b59bf8149724db51cf"; export const tuplePrefix = Bytes.fromHexString( "0000000000000000000000000000000000000000000000000000000000000020" diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 4dceb4b4d6..b61141ecf0 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,5 +1,7 @@ use crate::generated::{AddOrderFilter, OrderBook}; use crate::generated::{ERC20Mock, TransferFilter}; +use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; +use ethers::providers::Middleware; use ethers::{ core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, @@ -8,12 +10,22 @@ use ethers::{ types::{Filter, Log, Topic, TransactionReceipt, TxHash, ValueOrArray}, }; -async fn _get_matched_log(tx: PendingTransaction<'_, Http>, filter: Filter) -> Option { - let tx_receipt: TransactionReceipt = tx.await.expect("Failed to get the receipt").unwrap(); +use super::get_provider; - let topic = filter.topics[0].clone().expect("failed to get the topic"); +async fn get_matched_log(tx: &PendingTransaction<'_, Http>, filter: Filter) -> Option { + let tx_hash = tx.tx_hash().clone(); + + let provider = get_provider().await.unwrap(); + + let tx_receipt: TransactionReceipt = provider + .get_transaction_receipt(tx_hash) + .await + .expect("Failed to get the receipt") + .unwrap(); - let topic_hash = _extract_topic_hash(topic).expect("cannot get the hash from the topic"); + let topic = filter.topics[0].clone().expect("failed to get the topic"); + let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); + println!("topic_hash: {}", topic_hash); for log in tx_receipt.logs.iter() { if let Some(first_topic) = log.topics.get(0) { @@ -24,10 +36,33 @@ async fn _get_matched_log(tx: PendingTransaction<'_, Http>, filter: Filter) -> O } None + + // let topic = filter.topics[0].clone().expect("failed to get the topic"); + // let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); + + // for log in tx_receipt.logs.iter() { + // if let Some(first_topic) = log.topics.get(0) { + // if first_topic == &topic_hash { + // return Some(log.clone()); + // } + // } + // } + + // let tx_receipt: TransactionReceipt = tx.await.expect("Failed to get the receipt").unwrap(); + + // for log in tx_receipt.logs.iter() { + // if let Some(first_topic) = log.topics.get(0) { + // if first_topic == &topic_hash { + // return Some(log.clone()); + // } + // } + // } + + // None } /// Try to extract the hash value from a Topic (ValueOrArray) type -fn _extract_topic_hash(topic: ValueOrArray>) -> Option { +fn extract_topic_hash(topic: ValueOrArray>) -> Option { match topic { Topic::Value(Some(data)) => Some(data), Topic::Array(topic) => { @@ -43,11 +78,11 @@ fn _extract_topic_hash(topic: ValueOrArray>) -> Option { pub async fn _get_transfer_event( contract: ERC20Mock, Wallet>>, - tx: PendingTransaction<'_, Http>, + tx: &PendingTransaction<'_, Http>, ) -> TransferFilter { let filter = contract.transfer_filter().filter; - let log = _get_matched_log(tx, filter) + let log = get_matched_log(tx, filter) .await .expect("there is no topic matched in the transaction"); @@ -58,11 +93,11 @@ pub async fn _get_transfer_event( pub async fn get_add_order_event( contract: OrderBook, Wallet>>, - tx: PendingTransaction<'_, Http>, + tx: &PendingTransaction<'_, Http>, ) -> AddOrderFilter { let filter: Filter = contract.clone().add_order_filter().filter; - let log = _get_matched_log(tx, filter) + let log = get_matched_log(tx, filter) .await .expect("there is no topic matched in the transaction"); @@ -70,3 +105,18 @@ pub async fn get_add_order_event( .decode_event::("AddOrder", log.topics, log.data) .expect("cannot decode the event"); } + +pub async fn get_new_expression_event( + contract: RainterpreterExpressionDeployer, Wallet>>, + tx: PendingTransaction<'_, Http>, +) -> NewExpressionFilter { + let filter: Filter = contract.clone().new_expression_filter().filter; + + let log = get_matched_log(&tx, filter) + .await + .expect("there is no topic matched in the transaction"); + + return contract + .decode_event::("NewExpression", log.topics, log.data) + .expect("cannot decode the event"); +} From b03042a130571da0654b186c022694be98c278d2 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 20:33:38 -0400 Subject: [PATCH 045/163] wip: json order --- subgraph/tests/entities.rs | 91 ++++++++++++++++---- subgraph/tests/subgraph/query/order/mod.rs | 36 +------- subgraph/tests/utils/cbor.rs | 8 +- subgraph/tests/utils/deploy/orderbook/mod.rs | 3 +- subgraph/tests/utils/mod.rs | 8 +- 5 files changed, 92 insertions(+), 54 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 34d87c5078..2acc1b974d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2,26 +2,31 @@ mod generated; mod subgraph; mod utils; -use anyhow::Result; +use serde::Serialize; +use serde_json::to_string; +use serde_json::{Result, Value}; + use ethers::{ signers::Signer, - types::{Bytes, U256}, + types::{Address, Bytes, U256}, utils::keccak256, }; -use generated::{EvaluableConfigV2, Io, OrderConfigV2}; +use generated::{EvaluableConfigV2, Io, Order, OrderConfigV2}; use subgraph::{wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{ deploy_erc20_mock, get_orderbook, ob_connect_to, read_orderbook_meta, touch_deployer, }, - events::get_add_order_event, + events::{get_add_order_event, get_new_expression_event}, get_wallet, mock_rain_doc, }; +use crate::utils::gen_abigen::_abigen_rust_generation; + #[tokio::main] #[test] -async fn orderbook_entity_test() -> Result<()> { +async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); // Wait for Subgraph sync @@ -48,7 +53,7 @@ async fn orderbook_entity_test() -> Result<()> { #[tokio::main] #[test] -async fn rain_meta_v1_entity_test() -> Result<()> { +async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -84,7 +89,7 @@ async fn rain_meta_v1_entity_test() -> Result<()> { #[tokio::main] #[test] -async fn content_meta_v1_entity_test() -> Result<()> { +async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -125,12 +130,12 @@ async fn content_meta_v1_entity_test() -> Result<()> { #[tokio::main] #[test] -async fn order_entity_test() -> Result<()> { +async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); // Connect the orderbook to another wallet let wallet_1 = get_wallet(1); - let orderbook = ob_connect_to(orderbook, wallet_1).await; + let orderbook = ob_connect_to(orderbook, &wallet_1).await; // Deploy ExpressionDeployerNP for the config let expression_deployer = touch_deployer(None) @@ -188,30 +193,84 @@ async fn order_entity_test() -> Result<()> { let add_order_func = orderbook.add_order(config); let tx_add_order = add_order_func.send().await.expect("order not sent"); - let add_order_data = get_add_order_event(orderbook.clone(), tx_add_order).await; + let add_order_data = get_add_order_event(orderbook.clone(), &tx_add_order).await; println!("add_order_data: {:?}\n", add_order_data); + let new_expression_data = + get_new_expression_event(expression_deployer.clone(), tx_add_order).await; + println!("new_expression_data: {:?}\n", new_expression_data); + // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); - let id = Bytes::from(add_order_data.order_hash); - println!("Order_id: {}\n", id); + let order_id = Bytes::from(add_order_data.order_hash); - let response = Query::order(id) + let response = Query::order(order_id) .await .expect("cannot get the query response"); println!("Response: {:?}\n", response); + // Data from the event in tx + let order_data = add_order_data.order; + + // Expected values + let interpreter: Address = expression_deployer.i_interpreter().call().await?; + let store: Address = expression_deployer.i_store().call().await?; + let rain_doc_hashed = Bytes::from(keccak256(rain_doc)); + assert_eq!(response.id, Bytes::from(&add_order_data.order_hash)); assert_eq!(response.order_hash, Bytes::from(&add_order_data.order_hash)); - // assert_eq!(response.owner,); + assert_eq!(response.owner, wallet_1.address()); + + assert_eq!(response.interpreter, interpreter); + assert_eq!(response.interpreter_store, store); + assert_eq!(response.expression_deployer, expression_deployer.address()); + assert_eq!(response.expression, order_data.evaluable.expression); + + assert_eq!(response.order_active, true, "order not active"); + assert_eq!(response.handle_i_o, order_data.handle_io); + assert_eq!(response.meta, rain_doc_hashed); + + // Parse the JSON string + let parsed_order: Result = serde_json::from_str(&response.order_json_string); + println!("parsed_order: {:?}", parsed_order.unwrap()); + + // let json_string = to_string(&order_data).expect("Failed to serialize struct to JSON"); + + if response.expression_json_string.is_some() { + let parsed_expression: Result = + serde_json::from_str(&response.expression_json_string.unwrap()); + println!("parsed_expression: {:?}", parsed_expression.unwrap()); + } + + // "validInputs + // validInputs: [IO!] + + // "validOutputs" + // validOutputs: [IO!] + + // TODO: Only check if they are valid JSON + // OrderJSON could be parsed and used to send other transaction + // orderJSONString: String! + // expressionJSONString: String + + // orderJSONString: String! + // expressionJSONString: String + // "Timestamp when the order was added" + // transaction: Transaction! + // emitter: Account! + // timestamp: BigInt! + // "Take Order entities that use this order" + // takeOrders: [TakeOrderEntity!] @derivedFrom(field: "order") + // "Order Clear entities that use this order" + // ordersClears: [OrderClear!] Ok(()) } #[test] -fn util_cbor_meta_test() -> Result<()> { +fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); @@ -221,5 +280,7 @@ fn util_cbor_meta_test() -> Result<()> { assert_eq!(ob_meta, encoded_again); + let _ = _abigen_rust_generation(); + Ok(()) } diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index b90462288f..adffd3642a 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -1,6 +1,6 @@ -use self::order::{OrderOrder, OrderOrderOwner, ResponseData}; +use self::order::ResponseData; use super::SG_URL; -use crate::{subgraph::wait, utils::mn_mpz_to_u256}; +use crate::utils::{hex_string_to_bytes, mn_mpz_to_u256}; use anyhow::{anyhow, Result}; use ethers::types::{Address, Bytes, U256}; use graphql_client::{GraphQLQuery, Response}; @@ -41,7 +41,6 @@ pub struct OrderResponse { impl OrderResponse { pub fn from(response: ResponseData) -> OrderResponse { - // pub fn from(response: ResponseData) -> () { let data = response.order.unwrap(); let valid_inputs: Vec = data @@ -72,37 +71,8 @@ impl OrderResponse { .map(|data| data.id.clone()) .collect(); - println!("data.interpreter: {:?}", data.interpreter); - let interpreter_address = Address::from_slice(&data.interpreter); - println!("interpreter_address: {:?}", interpreter_address); - - let id_bytes = Bytes::from(data.id.as_bytes().to_vec()); - println!("id_str: {:?}", data.id); - println!("id_bytes: {:?}", id_bytes); - - // let order = OrderResponse { - // id: Bytes::from(data.id.as_bytes().to_vec()), - // order_hash: data.order_hash, - // owner: Address::from_slice(&data.owner.id), - // interpreter: Address::from_slice(&data.interpreter), - // interpreter_store: Address::from_slice(&data.interpreter_store), - // expression_deployer: Address::from_slice(&data.expression_deployer), - // expression: Address::from_slice(&data.expression), - // order_active: data.order_active, - // handle_i_o: data.handle_io, - // meta: data.meta.unwrap().id, - // valid_inputs, - // valid_outputs, - // order_json_string: data.order_json_string, - // expression_json_string: data.expression_json_string, - // transaction: Bytes::from(data.transaction.id.as_bytes().to_vec()), - // emitter: Address::from_slice(&data.emitter.id), - // timestamp: mn_mpz_to_u256(&data.timestamp), - // take_orders, - // orders_clears, - // }; OrderResponse { - id: Bytes::from(data.id.as_bytes().to_vec()), + id: hex_string_to_bytes(&data.id).expect("not a hex value"), order_hash: data.order_hash, owner: Address::from_slice(&data.owner.id), interpreter: Address::from_slice(&data.interpreter), diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index fe36943f96..13169d6e44 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -1,4 +1,4 @@ -use super::{string_to_bytes, MagicNumber}; +use super::{ascii_string_to_bytes, MagicNumber}; use anyhow::{anyhow, Result}; use ethers::types::{Bytes, H256, U256}; use minicbor::data::Type; @@ -57,21 +57,21 @@ impl RainMapDoc { // Check for optional fiedls if self.content_type.is_some() { - let string_bytes = string_to_bytes(self.content_type.clone().unwrap()); + let string_bytes = ascii_string_to_bytes(self.content_type.clone().unwrap()); let type_size = key_bytes_size(&string_bytes); // Key(1 byte) + string type(1 byte) + arg bytes + data bytes count += 2 + type_size + string_bytes.len(); } if self.content_encoding.is_some() { - let string_bytes = string_to_bytes(self.content_encoding.clone().unwrap()); + let string_bytes = ascii_string_to_bytes(self.content_encoding.clone().unwrap()); let type_size = key_bytes_size(&string_bytes); // Key(1 byte) + string type(1 byte) + arg bytes + data bytes count += 2 + type_size + string_bytes.len(); } if self.content_language.is_some() { - let string_bytes = string_to_bytes(self.content_language.clone().unwrap()); + let string_bytes = ascii_string_to_bytes(self.content_language.clone().unwrap()); let type_size = key_bytes_size(&string_bytes); // Key(1 byte) + string type(1 byte) + arg bytes + data bytes diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs index 0beb79cb17..d77c158783 100644 --- a/subgraph/tests/utils/deploy/orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -22,6 +22,7 @@ pub async fn deploy_orderbook( let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + let client = Arc::new(SignerMiddleware::new( provider.clone(), wallet.clone().with_chain_id(chain_id.as_u64()), @@ -62,7 +63,7 @@ pub async fn deploy_orderbook( /// Connect the OB to a new wallet pub async fn ob_connect_to( orderbook: &OrderBook, Wallet>>, - wallet: Wallet, + wallet: &Wallet, ) -> OrderBook, Wallet>> { let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 269e39da77..65eed0999f 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -112,10 +112,16 @@ pub fn _run_cmd(main_cmd: &str, args: &[&str]) -> bool { } } -pub fn string_to_bytes(value: String) -> Bytes { +/// Convert an string to bytes using their ASCII corresponding values. +pub fn ascii_string_to_bytes(value: String) -> Bytes { Bytes::from(value.as_bytes().to_vec()) } +/// Convert an hexadecimal string to bytes +pub fn hex_string_to_bytes(value: &str) -> anyhow::Result { + Ok(Bytes::from_hex(value)?) +} + pub fn _remove_trailing_zeros(arr: &[u8]) -> Vec { // Find the position of the last non-zero element let length = arr.iter().rposition(|&x| x != 0).map(|pos| pos + 1); From b4128ea3a589a1ff664afd1370e70597a3c1ebef Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 20:44:06 -0400 Subject: [PATCH 046/163] wip: fix expression json string --- subgraph/src/orderBook.ts | 10 ++++++---- subgraph/src/orderJsonString.ts | 9 +++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts index 7a301052fd..5ed2c32626 100644 --- a/subgraph/src/orderBook.ts +++ b/subgraph/src/orderBook.ts @@ -293,19 +293,21 @@ export function handleAddOrder(event: AddOrder): void { const dataTuple = tuplePrefix.concat(log_callerMeta.data); const decodedData = ethereum.decode( - "(address,bytes[],uint256[],uint256[])", + "(address,bytes,uint256[],uint256[])", dataTuple ); if (decodedData && decodedData.kind === ethereum.ValueKind.TUPLE) { const newExpressionTuple = decodedData.toTuple(); - const sources_ = newExpressionTuple[1].toBytesArray(); + const bytecode_ = newExpressionTuple[1].toBytes(); const constants_ = newExpressionTuple[2].toBigIntArray(); + const minOutputs_ = newExpressionTuple[3].toBigIntArray(); const expressionJsonString = new ExpressionJSONString( - sources_, - constants_ + bytecode_, + constants_, + minOutputs_ ); order.expressionJSONString = expressionJsonString.stringify(); } diff --git a/subgraph/src/orderJsonString.ts b/subgraph/src/orderJsonString.ts index f7aadccbaf..bec7e593b1 100644 --- a/subgraph/src/orderJsonString.ts +++ b/subgraph/src/orderJsonString.ts @@ -119,18 +119,19 @@ class Evaluable_String extends JsonString { } export class ExpressionJSONString extends JsonString { - constructor(sources_: Bytes[], constants_: BigInt[]) { + constructor(bytecode_: Bytes, constants_: BigInt[], minOutputs_: BigInt[]) { const _map: Map = new Map(); - const sources_string = sources_.map( - (x: Bytes): string => `"${x.toHexString()}"` + const minOutputs_string = minOutputs_.map( + (x): string => `"${x.toHexString()}"` ); const constants_string = constants_.map( (x): string => `"${x.toHexString()}"` ); - _map.set("sources", `[${sources_string.join(",")}]`); + _map.set("bytecode", bytecode_.toHexString()); _map.set("constants", `[${constants_string.join(",")}]`); + _map.set("minOutputs", `[${minOutputs_string.join(",")}]`); super(_map); } From 12d1299779e7fa9e327527caf0d1d32e5e5876de Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 20:51:13 -0400 Subject: [PATCH 047/163] wip: update get logs --- subgraph/tests/utils/events.rs | 36 ++++++++-------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index b61141ecf0..c527988c83 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -7,7 +7,7 @@ use ethers::{ prelude::SignerMiddleware, providers::{Http, PendingTransaction, Provider}, signers::Wallet, - types::{Filter, Log, Topic, TransactionReceipt, TxHash, ValueOrArray}, + types::{Filter, Log, Topic, TransactionReceipt, TxHash}, }; use super::get_provider; @@ -23,9 +23,7 @@ async fn get_matched_log(tx: &PendingTransaction<'_, Http>, filter: Filter) -> O .expect("Failed to get the receipt") .unwrap(); - let topic = filter.topics[0].clone().expect("failed to get the topic"); - let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); - println!("topic_hash: {}", topic_hash); + let topic_hash = extract_topic_hash(filter).expect("cannot get the topic hash"); for log in tx_receipt.logs.iter() { if let Some(first_topic) = log.topics.get(0) { @@ -36,33 +34,15 @@ async fn get_matched_log(tx: &PendingTransaction<'_, Http>, filter: Filter) -> O } None - - // let topic = filter.topics[0].clone().expect("failed to get the topic"); - // let topic_hash = extract_topic_hash(topic).expect("cannot get the hash from the topic"); - - // for log in tx_receipt.logs.iter() { - // if let Some(first_topic) = log.topics.get(0) { - // if first_topic == &topic_hash { - // return Some(log.clone()); - // } - // } - // } - - // let tx_receipt: TransactionReceipt = tx.await.expect("Failed to get the receipt").unwrap(); - - // for log in tx_receipt.logs.iter() { - // if let Some(first_topic) = log.topics.get(0) { - // if first_topic == &topic_hash { - // return Some(log.clone()); - // } - // } - // } - - // None } /// Try to extract the hash value from a Topic (ValueOrArray) type -fn extract_topic_hash(topic: ValueOrArray>) -> Option { +// fn extract_topic_hash(topic: ValueOrArray>) -> Option { +fn extract_topic_hash(filter: Filter) -> Option { + let topic = filter.topics[0] + .clone() + .expect("failed to get the topic from filter"); + match topic { Topic::Value(Some(data)) => Some(data), Topic::Array(topic) => { From 3e2d97219ab32a798413658f4fcd5de943234e37 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 21:58:09 -0400 Subject: [PATCH 048/163] wip: expression json string fix --- subgraph/tests/entities.rs | 31 ++++------ subgraph/tests/utils/json_structs.rs | 89 ++++++++++++++++++++++++++++ subgraph/tests/utils/mod.rs | 1 + 3 files changed, 100 insertions(+), 21 deletions(-) create mode 100644 subgraph/tests/utils/json_structs.rs diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 2acc1b974d..d59b4ab903 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2,8 +2,6 @@ mod generated; mod subgraph; mod utils; -use serde::Serialize; -use serde_json::to_string; use serde_json::{Result, Value}; use ethers::{ @@ -11,7 +9,7 @@ use ethers::{ types::{Address, Bytes, U256}, utils::keccak256, }; -use generated::{EvaluableConfigV2, Io, Order, OrderConfigV2}; +use generated::{EvaluableConfigV2, Io, OrderConfigV2}; use subgraph::{wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, @@ -19,11 +17,11 @@ use utils::{ deploy_erc20_mock, get_orderbook, ob_connect_to, read_orderbook_meta, touch_deployer, }, events::{get_add_order_event, get_new_expression_event}, - get_wallet, mock_rain_doc, + get_wallet, + json_structs::NewExpressionJson, + mock_rain_doc, }; -use crate::utils::gen_abigen::_abigen_rust_generation; - #[tokio::main] #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { @@ -218,6 +216,8 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { let interpreter: Address = expression_deployer.i_interpreter().call().await?; let store: Address = expression_deployer.i_store().call().await?; let rain_doc_hashed = Bytes::from(keccak256(rain_doc)); + let expression_json_string = + NewExpressionJson::from_event(new_expression_data).to_json_string(); assert_eq!(response.id, Bytes::from(&add_order_data.order_hash)); assert_eq!(response.order_hash, Bytes::from(&add_order_data.order_hash)); @@ -232,17 +232,10 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { assert_eq!(response.handle_i_o, order_data.handle_io); assert_eq!(response.meta, rain_doc_hashed); - // Parse the JSON string - let parsed_order: Result = serde_json::from_str(&response.order_json_string); - println!("parsed_order: {:?}", parsed_order.unwrap()); - - // let json_string = to_string(&order_data).expect("Failed to serialize struct to JSON"); - - if response.expression_json_string.is_some() { - let parsed_expression: Result = - serde_json::from_str(&response.expression_json_string.unwrap()); - println!("parsed_expression: {:?}", parsed_expression.unwrap()); - } + assert_eq!( + response.expression_json_string.unwrap(), + expression_json_string + ); // "validInputs // validInputs: [IO!] @@ -250,10 +243,8 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { // "validOutputs" // validOutputs: [IO!] - // TODO: Only check if they are valid JSON // OrderJSON could be parsed and used to send other transaction // orderJSONString: String! - // expressionJSONString: String // orderJSONString: String! // expressionJSONString: String @@ -280,7 +271,5 @@ fn util_cbor_meta_test() -> anyhow::Result<()> { assert_eq!(ob_meta, encoded_again); - let _ = _abigen_rust_generation(); - Ok(()) } diff --git a/subgraph/tests/utils/json_structs.rs b/subgraph/tests/utils/json_structs.rs new file mode 100644 index 0000000000..49884a1ec3 --- /dev/null +++ b/subgraph/tests/utils/json_structs.rs @@ -0,0 +1,89 @@ +use ethers::types::{Address, Bytes, U256}; +use serde::{Deserialize, Serialize}; +use serde_json::{Result, Value}; + +use crate::generated::NewExpressionFilter; +use crate::utils::hex_string_to_bytes; + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct NewExpressionJson { + bytecode: Bytes, + constants: Vec, + min_outputs: Vec, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct OrderJson { + pub owner: Address, + pub handle_io: bool, + pub evaluable: EvaluableJson, + pub valid_inputs: Vec, + pub valid_outputs: Vec, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct EvaluableJson { + interpreter: Address, + store: Address, + expression: Address, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct IoJson { + token: Address, + decimals: u8, + vault_id: U256, +} + +impl NewExpressionJson { + pub fn from_event(event_data: NewExpressionFilter) -> NewExpressionJson { + NewExpressionJson { + bytecode: event_data.bytecode.clone(), + constants: event_data.constants.clone(), + min_outputs: event_data.min_outputs.clone(), + } + } + + pub fn _from_json_string(json_data: &String) -> anyhow::Result { + let parsed_json: Result = serde_json::from_str(json_data); + + match parsed_json { + Ok(data) => { + println!("parsed_expression: {:?}", data); + let obj = data.as_object().unwrap(); + + let bytecode = + hex_string_to_bytes(obj.get("bytecode").unwrap().as_str().unwrap()).unwrap(); + + let constants = array_to_vec_256(obj.get("constants").unwrap().as_array().unwrap()); + + let min_outputs = + array_to_vec_256(obj.get("minOutputs").unwrap().as_array().unwrap()); + + Ok(NewExpressionJson { + bytecode, + constants, + min_outputs, + }) + } + Err(err) => Err(anyhow::anyhow!("parse failed: {}", err)), + } + } + + pub fn to_json_string(&self) -> String { + serde_json::to_string(&self).expect("Failed to serialize struct to JSON") + } +} + +fn _array_to_vec_256(values: &Vec) -> Vec { + let resp: Vec = values + .iter() + .map(|data| U256::from_str_radix(data.as_str().unwrap(), 16).unwrap()) + .collect(); + + return resp; +} diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 65eed0999f..a96308e5d2 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -2,6 +2,7 @@ pub mod cbor; pub mod deploy; pub mod events; pub mod gen_abigen; +pub mod json_structs; pub mod numbers; pub mod setup; From ade391a50ddbbb888db9dee4f64ef9a1957913fa Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 21:59:04 -0400 Subject: [PATCH 049/163] wip: expression json string fix --- subgraph/tests/entities.rs | 2 -- subgraph/tests/utils/json_structs.rs | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index d59b4ab903..d817e9dc33 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2,8 +2,6 @@ mod generated; mod subgraph; mod utils; -use serde_json::{Result, Value}; - use ethers::{ signers::Signer, types::{Address, Bytes, U256}, diff --git a/subgraph/tests/utils/json_structs.rs b/subgraph/tests/utils/json_structs.rs index 49884a1ec3..805efda672 100644 --- a/subgraph/tests/utils/json_structs.rs +++ b/subgraph/tests/utils/json_structs.rs @@ -59,7 +59,8 @@ impl NewExpressionJson { let bytecode = hex_string_to_bytes(obj.get("bytecode").unwrap().as_str().unwrap()).unwrap(); - let constants = array_to_vec_256(obj.get("constants").unwrap().as_array().unwrap()); + let constants = + _array_to_vec_256(obj.get("constants").unwrap().as_array().unwrap()); let min_outputs = array_to_vec_256(obj.get("minOutputs").unwrap().as_array().unwrap()); From ba01d3d96410aa96a9104bee606b40077c5af5bd Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 19 Oct 2023 21:59:14 -0400 Subject: [PATCH 050/163] wip: expression json string fix --- subgraph/tests/utils/json_structs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/utils/json_structs.rs b/subgraph/tests/utils/json_structs.rs index 805efda672..358cc086c2 100644 --- a/subgraph/tests/utils/json_structs.rs +++ b/subgraph/tests/utils/json_structs.rs @@ -63,7 +63,7 @@ impl NewExpressionJson { _array_to_vec_256(obj.get("constants").unwrap().as_array().unwrap()); let min_outputs = - array_to_vec_256(obj.get("minOutputs").unwrap().as_array().unwrap()); + _array_to_vec_256(obj.get("minOutputs").unwrap().as_array().unwrap()); Ok(NewExpressionJson { bytecode, From dc08507f326c3a0d669481862100178566c3ccc0 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 00:39:51 -0400 Subject: [PATCH 051/163] wip: json string serialization --- subgraph/tests/utils/json_structs.rs | 189 +++++++++++++++++++++++---- 1 file changed, 161 insertions(+), 28 deletions(-) diff --git a/subgraph/tests/utils/json_structs.rs b/subgraph/tests/utils/json_structs.rs index 358cc086c2..8a9c1d9e80 100644 --- a/subgraph/tests/utils/json_structs.rs +++ b/subgraph/tests/utils/json_structs.rs @@ -2,7 +2,7 @@ use ethers::types::{Address, Bytes, U256}; use serde::{Deserialize, Serialize}; use serde_json::{Result, Value}; -use crate::generated::NewExpressionFilter; +use crate::generated::{Evaluable, Io, NewExpressionFilter, Order}; use crate::utils::hex_string_to_bytes; #[derive(Debug, Serialize, Deserialize)] @@ -13,32 +13,6 @@ pub struct NewExpressionJson { min_outputs: Vec, } -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct OrderJson { - pub owner: Address, - pub handle_io: bool, - pub evaluable: EvaluableJson, - pub valid_inputs: Vec, - pub valid_outputs: Vec, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct EvaluableJson { - interpreter: Address, - store: Address, - expression: Address, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct IoJson { - token: Address, - decimals: u8, - vault_id: U256, -} - impl NewExpressionJson { pub fn from_event(event_data: NewExpressionFilter) -> NewExpressionJson { NewExpressionJson { @@ -53,7 +27,6 @@ impl NewExpressionJson { match parsed_json { Ok(data) => { - println!("parsed_expression: {:?}", data); let obj = data.as_object().unwrap(); let bytecode = @@ -80,6 +53,166 @@ impl NewExpressionJson { } } +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct OrderJson { + pub owner: Address, + pub handle_io: bool, + pub evaluable: EvaluableJson, + pub valid_inputs: Vec, + pub valid_outputs: Vec, +} + +impl OrderJson { + pub fn from_order(data: Order) -> OrderJson { + let evaluable = EvaluableJson::from(data.evaluable); + let valid_inputs = data + .valid_inputs + .iter() + .map(|data| IoJson::from(data.clone())) + .collect(); + + let valid_outputs = data + .valid_outputs + .iter() + .map(|data| IoJson::from(data.clone())) + .collect(); + + OrderJson { + owner: data.owner, + handle_io: data.handle_io, + evaluable, + valid_inputs, + valid_outputs, + } + } + + pub fn from_json_string(json_data: &String) -> anyhow::Result { + let parsed_json: Result = serde_json::from_str(json_data); + + match parsed_json { + Ok(data) => { + let obj = data.as_object().unwrap(); + + let owner = Address::from_slice( + &hex_string_to_bytes(obj.get("owner").unwrap().as_str().unwrap()).unwrap(), + ); + + let handle_io = obj.get("handleIo").unwrap().as_bool().unwrap(); + + let evaluable = EvaluableJson::from_value(obj.get("evaluable").unwrap()); + + let valid_inputs: Vec = obj + .get("validInputs") + .unwrap() + .as_array() + .unwrap() + .iter() + .map(|data| IoJson::from_value(data)) + .collect(); + + let valid_outputs: Vec = obj + .get("validOutputs") + .unwrap() + .as_array() + .unwrap() + .iter() + .map(|data| IoJson::from_value(data)) + .collect(); + + Ok(OrderJson { + owner, + handle_io, + evaluable, + valid_inputs, + valid_outputs, + }) + } + Err(err) => Err(anyhow::anyhow!("parse failed: {}", err)), + } + } + + pub fn to_json_string(&self) -> String { + serde_json::to_string(&self).expect("Failed to serialize struct to JSON") + } +} +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct EvaluableJson { + interpreter: Address, + store: Address, + expression: Address, +} + +impl EvaluableJson { + fn from(data: Evaluable) -> EvaluableJson { + EvaluableJson { + interpreter: data.interpreter, + store: data.store, + expression: data.expression, + } + } + + fn from_value(value: &Value) -> EvaluableJson { + let obj = value.as_object().unwrap(); + + let interpreter = Address::from_slice( + &hex_string_to_bytes(obj.get("interpreter").unwrap().as_str().unwrap()).unwrap(), + ); + + let store = Address::from_slice( + &hex_string_to_bytes(obj.get("store").unwrap().as_str().unwrap()).unwrap(), + ); + + let expression = Address::from_slice( + &hex_string_to_bytes(obj.get("expression").unwrap().as_str().unwrap()).unwrap(), + ); + + EvaluableJson { + interpreter, + store, + expression, + } + } +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct IoJson { + token: Address, + decimals: u8, + vault_id: U256, +} + +impl IoJson { + fn from(data: Io) -> IoJson { + IoJson { + token: data.token, + decimals: data.decimals, + vault_id: data.vault_id, + } + } + + fn from_value(value: &Value) -> IoJson { + let obj = value.as_object().unwrap(); + + let token = Address::from_slice( + &hex_string_to_bytes(obj.get("token").unwrap().as_str().unwrap()).unwrap(), + ); + + let decimals: u8 = obj.get("decimals").unwrap().as_u64().unwrap() as u8; + + let vault_id = + U256::from_str_radix(obj.get("vaultId").unwrap().as_str().unwrap(), 16).unwrap(); + + IoJson { + token, + decimals, + vault_id, + } + } +} + fn _array_to_vec_256(values: &Vec) -> Vec { let resp: Vec = values .iter() From ab27db4567d379f52ef53bd62c7d271353c37c6f Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 01:36:34 -0400 Subject: [PATCH 052/163] wip: order query add order --- subgraph/src/orderJsonString.ts | 4 +-- subgraph/tests/entities.rs | 9 ++++++- subgraph/tests/utils/json_structs.rs | 39 +++++++++++++++++++++++++--- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/subgraph/src/orderJsonString.ts b/subgraph/src/orderJsonString.ts index bec7e593b1..6a213632f6 100644 --- a/subgraph/src/orderJsonString.ts +++ b/subgraph/src/orderJsonString.ts @@ -68,7 +68,7 @@ export class OrderString extends JsonString { } _map.set("owner", getEvenHex(order_.owner.toHex())); - _map.set("handleIO", (order_.handleIO as bool).toString()); + _map.set("handleIo", (order_.handleIO as bool).toString()); _map.set("evaluable", evaluable_.stringify()); _map.set("validInputs", `[${validInputsArr.join(",")}]`); _map.set("validOutputs", `[${validOutputsArr.join(",")}]`); @@ -100,7 +100,7 @@ class IO_String extends JsonString { _map.set("token", getEvenHex(token_.toHex())); _map.set("decimals", decimals_.toString().split(".")[0]); - _map.set("vaultId", getEvenHex(vaultId_.toHex())); + _map.set("vaultId", vaultId_.toHex()); super(_map); } diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index d817e9dc33..9ce3176aad 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -16,7 +16,7 @@ use utils::{ }, events::{get_add_order_event, get_new_expression_event}, get_wallet, - json_structs::NewExpressionJson, + json_structs::{NewExpressionJson, OrderJson}, mock_rain_doc, }; @@ -214,6 +214,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { let interpreter: Address = expression_deployer.i_interpreter().call().await?; let store: Address = expression_deployer.i_store().call().await?; let rain_doc_hashed = Bytes::from(keccak256(rain_doc)); + let order_json_string = OrderJson::from_order(order_data.clone()).to_json_string(); let expression_json_string = NewExpressionJson::from_event(new_expression_data).to_json_string(); @@ -230,11 +231,17 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { assert_eq!(response.handle_i_o, order_data.handle_io); assert_eq!(response.meta, rain_doc_hashed); + assert_eq!(response.order_json_string, order_json_string); assert_eq!( response.expression_json_string.unwrap(), expression_json_string ); + println!("res.order_json_string: {:?}\n", response.order_json_string); + + let order_json_string = OrderJson::from_order(order_data).to_json_string(); + println!("order_json_string: {:?}\n", order_json_string); + // "validInputs // validInputs: [IO!] diff --git a/subgraph/tests/utils/json_structs.rs b/subgraph/tests/utils/json_structs.rs index 8a9c1d9e80..0c651d56a1 100644 --- a/subgraph/tests/utils/json_structs.rs +++ b/subgraph/tests/utils/json_structs.rs @@ -1,5 +1,5 @@ use ethers::types::{Address, Bytes, U256}; -use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize, Serializer}; use serde_json::{Result, Value}; use crate::generated::{Evaluable, Io, NewExpressionFilter, Order}; @@ -180,7 +180,7 @@ impl EvaluableJson { #[serde(rename_all = "camelCase")] pub struct IoJson { token: Address, - decimals: u8, + decimals: QuotedU8, vault_id: U256, } @@ -188,7 +188,7 @@ impl IoJson { fn from(data: Io) -> IoJson { IoJson { token: data.token, - decimals: data.decimals, + decimals: QuotedU8(data.decimals), vault_id: data.vault_id, } } @@ -207,11 +207,42 @@ impl IoJson { IoJson { token, - decimals, + decimals: QuotedU8(decimals), vault_id, } } } +// #[derive(Debug, Clone, Deserialize)] +// struct U256WithLeadingZeros(U256); + +// impl Serialize for U256WithLeadingZeros { +// fn serialize(&self, serializer: S) -> anyhow::Result +// where +// S: Serializer, +// { +// // Format the U256 as a hexadecimal string with leading zeros +// let hex_string = format!("0x{:02X}", self.0); + +// // Serialize the formatted string +// serializer.serialize_str(&hex_string) +// } +// } + +#[derive(Debug, Clone, Deserialize)] +struct QuotedU8(u8); + +impl Serialize for QuotedU8 { + fn serialize(&self, serializer: S) -> anyhow::Result + where + S: Serializer, + { + // Format the u8 as a string enclosed in double quotes + let quoted_value = format!("{}", self.0); + + // Serialize the quoted value as a string + serializer.serialize_str("ed_value) + } +} fn _array_to_vec_256(values: &Vec) -> Vec { let resp: Vec = values From 6cba4c37752f4ec02e8df7be4df6e2b00b800049 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 02:29:56 -0400 Subject: [PATCH 053/163] query entity order addOrder --- subgraph/tests/entities.rs | 61 +++++++++++++++------------- subgraph/tests/utils/events.rs | 4 +- subgraph/tests/utils/json_structs.rs | 27 +++--------- 3 files changed, 41 insertions(+), 51 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 9ce3176aad..e6dce5ee91 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -189,12 +189,10 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { let add_order_func = orderbook.add_order(config); let tx_add_order = add_order_func.send().await.expect("order not sent"); + // Decode events from the transaction let add_order_data = get_add_order_event(orderbook.clone(), &tx_add_order).await; - println!("add_order_data: {:?}\n", add_order_data); - let new_expression_data = - get_new_expression_event(expression_deployer.clone(), tx_add_order).await; - println!("new_expression_data: {:?}\n", new_expression_data); + get_new_expression_event(expression_deployer.clone(), &tx_add_order).await; // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); @@ -205,12 +203,12 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { .await .expect("cannot get the query response"); - println!("Response: {:?}\n", response); - // Data from the event in tx let order_data = add_order_data.order; // Expected values + let transaction_hash = tx_add_order.tx_hash().clone(); + let order_hash = Bytes::from(&add_order_data.order_hash); let interpreter: Address = expression_deployer.i_interpreter().call().await?; let store: Address = expression_deployer.i_store().call().await?; let rain_doc_hashed = Bytes::from(keccak256(rain_doc)); @@ -218,8 +216,9 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { let expression_json_string = NewExpressionJson::from_event(new_expression_data).to_json_string(); - assert_eq!(response.id, Bytes::from(&add_order_data.order_hash)); - assert_eq!(response.order_hash, Bytes::from(&add_order_data.order_hash)); + // Assertions + assert_eq!(response.id, order_hash); + assert_eq!(response.order_hash, order_hash); assert_eq!(response.owner, wallet_1.address()); assert_eq!(response.interpreter, interpreter); @@ -230,37 +229,43 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { assert_eq!(response.order_active, true, "order not active"); assert_eq!(response.handle_i_o, order_data.handle_io); assert_eq!(response.meta, rain_doc_hashed); + assert_eq!(response.emitter, wallet_1.address()); assert_eq!(response.order_json_string, order_json_string); assert_eq!( response.expression_json_string.unwrap(), expression_json_string ); + assert_eq!( + response.transaction, + Bytes::from(transaction_hash.as_fixed_bytes()) + ); - println!("res.order_json_string: {:?}\n", response.order_json_string); - - let order_json_string = OrderJson::from_order(order_data).to_json_string(); - println!("order_json_string: {:?}\n", order_json_string); + assert!( + response.take_orders.is_empty(), + "take orders not empty at initial addOrder" + ); + assert!( + response.orders_clears.is_empty(), + "order clears not empty at initial addOrder" + ); - // "validInputs - // validInputs: [IO!] + // Iterate over each IO to generate the ID and check if present + for input in order_data.valid_inputs { + let token: Address = input.token; + let vault_id: U256 = input.vault_id; + let id = format!("{}-{:?}-{}", order_hash, token, vault_id); - // "validOutputs" - // validOutputs: [IO!] + assert!(response.valid_inputs.contains(&id), "Missing IO in order"); + } - // OrderJSON could be parsed and used to send other transaction - // orderJSONString: String! + for output in order_data.valid_outputs { + let token: Address = output.token; + let vault_id: U256 = output.vault_id; + let id = format!("{}-{:?}-{}", order_hash, token, vault_id); - // orderJSONString: String! - // expressionJSONString: String - // "Timestamp when the order was added" - // transaction: Transaction! - // emitter: Account! - // timestamp: BigInt! - // "Take Order entities that use this order" - // takeOrders: [TakeOrderEntity!] @derivedFrom(field: "order") - // "Order Clear entities that use this order" - // ordersClears: [OrderClear!] + assert!(response.valid_outputs.contains(&id), "Missing IO in order"); + } Ok(()) } diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index c527988c83..802b891b8d 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -88,11 +88,11 @@ pub async fn get_add_order_event( pub async fn get_new_expression_event( contract: RainterpreterExpressionDeployer, Wallet>>, - tx: PendingTransaction<'_, Http>, + tx: &PendingTransaction<'_, Http>, ) -> NewExpressionFilter { let filter: Filter = contract.clone().new_expression_filter().filter; - let log = get_matched_log(&tx, filter) + let log = get_matched_log(tx, filter) .await .expect("there is no topic matched in the transaction"); diff --git a/subgraph/tests/utils/json_structs.rs b/subgraph/tests/utils/json_structs.rs index 0c651d56a1..8421aabd56 100644 --- a/subgraph/tests/utils/json_structs.rs +++ b/subgraph/tests/utils/json_structs.rs @@ -87,7 +87,7 @@ impl OrderJson { } } - pub fn from_json_string(json_data: &String) -> anyhow::Result { + pub fn _from_json_string(json_data: &String) -> anyhow::Result { let parsed_json: Result = serde_json::from_str(json_data); match parsed_json { @@ -100,7 +100,7 @@ impl OrderJson { let handle_io = obj.get("handleIo").unwrap().as_bool().unwrap(); - let evaluable = EvaluableJson::from_value(obj.get("evaluable").unwrap()); + let evaluable = EvaluableJson::_from_value(obj.get("evaluable").unwrap()); let valid_inputs: Vec = obj .get("validInputs") @@ -108,7 +108,7 @@ impl OrderJson { .as_array() .unwrap() .iter() - .map(|data| IoJson::from_value(data)) + .map(|data| IoJson::_from_value(data)) .collect(); let valid_outputs: Vec = obj @@ -117,7 +117,7 @@ impl OrderJson { .as_array() .unwrap() .iter() - .map(|data| IoJson::from_value(data)) + .map(|data| IoJson::_from_value(data)) .collect(); Ok(OrderJson { @@ -153,7 +153,7 @@ impl EvaluableJson { } } - fn from_value(value: &Value) -> EvaluableJson { + fn _from_value(value: &Value) -> EvaluableJson { let obj = value.as_object().unwrap(); let interpreter = Address::from_slice( @@ -193,7 +193,7 @@ impl IoJson { } } - fn from_value(value: &Value) -> IoJson { + fn _from_value(value: &Value) -> IoJson { let obj = value.as_object().unwrap(); let token = Address::from_slice( @@ -212,21 +212,6 @@ impl IoJson { } } } -// #[derive(Debug, Clone, Deserialize)] -// struct U256WithLeadingZeros(U256); - -// impl Serialize for U256WithLeadingZeros { -// fn serialize(&self, serializer: S) -> anyhow::Result -// where -// S: Serializer, -// { -// // Format the U256 as a hexadecimal string with leading zeros -// let hex_string = format!("0x{:02X}", self.0); - -// // Serialize the formatted string -// serializer.serialize_str(&hex_string) -// } -// } #[derive(Debug, Clone, Deserialize)] struct QuotedU8(u8); From aff84f44e5ac2823195d71f0e265d09e74ede5dc Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 03:11:51 -0400 Subject: [PATCH 054/163] fix transaction id entity --- subgraph/tests/subgraph/query/order/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index adffd3642a..ec08f62303 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -86,7 +86,7 @@ impl OrderResponse { valid_outputs, order_json_string: data.order_json_string, expression_json_string: data.expression_json_string, - transaction: Bytes::from(data.transaction.id.as_bytes().to_vec()), + transaction: hex_string_to_bytes(&data.transaction.id).unwrap(), emitter: Address::from_slice(&data.emitter.id), timestamp: mn_mpz_to_u256(&data.timestamp), take_orders, From 5990468673ea7ee781176aa6188db3458a46f13f Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 18:27:55 -0400 Subject: [PATCH 055/163] modularize config generation in tests --- subgraph/tests/entities.rs | 59 ++++-------------- .../subgraph/query/content_meta_v1/mod.rs | 2 +- subgraph/tests/subgraph/query/mod.rs | 10 +-- subgraph/tests/subgraph/query/order/mod.rs | 2 +- .../tests/subgraph/query/orderbook/mod.rs | 4 +- .../tests/subgraph/query/rain_meta_v1/mod.rs | 4 +- subgraph/tests/utils/mod.rs | 1 + subgraph/tests/utils/transactions/mod.rs | 62 +++++++++++++++++++ 8 files changed, 87 insertions(+), 57 deletions(-) create mode 100644 subgraph/tests/utils/transactions/mod.rs diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e6dce5ee91..f24192699e 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -7,7 +7,7 @@ use ethers::{ types::{Address, Bytes, U256}, utils::keccak256, }; -use generated::{EvaluableConfigV2, Io, OrderConfigV2}; +// use generated::{EvaluableConfigV2, Io, OrderConfigV2}; use subgraph::{wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, @@ -17,7 +17,8 @@ use utils::{ events::{get_add_order_event, get_new_expression_event}, get_wallet, json_structs::{NewExpressionJson, OrderJson}, - mock_rain_doc, + // mock_rain_doc, + transactions::generate_order_config, }; #[tokio::main] @@ -29,7 +30,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { wait().await.expect("cannot get SG sync status"); // Query the OrderBook entity - let response = Query::orderbook(orderbook.address()) + let response = Query::orderbook(&orderbook.address()) .await .expect("cannot get the ob query response"); @@ -63,7 +64,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { let ob_meta_decoded = decode_rain_meta(ob_meta.clone().into())?; // Query the RainMetaV1 entity - let response = Query::rain_meta_v1(ob_meta_hashed.clone()) + let response = Query::rain_meta_v1(&ob_meta_hashed.clone()) .await .expect("cannot get the rain meta query response"); @@ -99,7 +100,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { for content in ob_meta_decoded { // Query the ContentMetaV1 entity - let response = Query::content_meta_v1(content.hash().as_fixed_bytes().into()) + let response = Query::content_meta_v1(&content.hash().as_fixed_bytes().into()) .await .expect("cannot get the query response"); @@ -148,45 +149,11 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { .await .expect("failed on deploy erc20 token B"); - // * Build OrderConfig - // Build IO (input) - let io_input = Io { - token: token_a.address(), - decimals: token_a.decimals().await.unwrap(), - vault_id: U256::from(0), - }; - - // Build IO (output) - let io_output = Io { - token: token_b.address(), - decimals: token_b.decimals().await.unwrap(), - vault_id: U256::from(0), - }; - - let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); - let (bytecode, constants) = expression_deployer - .parse(data_parse.clone()) - .await - .expect("cannot get value from parse"); - - let rain_doc = mock_rain_doc(); - - // Build EvaluableConfigV2 - let eval_config = EvaluableConfigV2 { - deployer: expression_deployer.address(), - bytecode, - constants, - }; - - let config = OrderConfigV2 { - valid_inputs: vec![io_input], - valid_outputs: vec![io_output], - evaluable_config: eval_config, - meta: rain_doc.clone(), - }; + // Build OrderConfig + let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; // Add the order - let add_order_func = orderbook.add_order(config); + let add_order_func = orderbook.add_order(order_config.clone()); let tx_add_order = add_order_func.send().await.expect("order not sent"); // Decode events from the transaction @@ -197,9 +164,9 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); - let order_id = Bytes::from(add_order_data.order_hash); + let order_hash = Bytes::from(add_order_data.order_hash); - let response = Query::order(order_id) + let response = Query::order(&order_hash) .await .expect("cannot get the query response"); @@ -208,10 +175,10 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { // Expected values let transaction_hash = tx_add_order.tx_hash().clone(); - let order_hash = Bytes::from(&add_order_data.order_hash); let interpreter: Address = expression_deployer.i_interpreter().call().await?; let store: Address = expression_deployer.i_store().call().await?; - let rain_doc_hashed = Bytes::from(keccak256(rain_doc)); + // let rain_doc_hashed = Bytes::from(keccak256(rain_doc)); + let rain_doc_hashed = Bytes::from(keccak256(order_config.meta)); let order_json_string = OrderJson::from_order(order_data.clone()).to_json_string(); let expression_json_string = NewExpressionJson::from_event(new_expression_data).to_json_string(); diff --git a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs index 397aa59b31..c28be79352 100644 --- a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs @@ -46,7 +46,7 @@ impl ContentMetaV1Response { } } -pub async fn get_content_meta_v1(id: Bytes) -> Result { +pub async fn get_content_meta_v1(id: &Bytes) -> Result { let variables = content_meta_v1::Variables { content_meta: id.to_string().into(), }; diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 645e613af8..c729c22b55 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -19,19 +19,19 @@ pub static SG_URL: Lazy = pub struct Query; impl Query { - pub async fn orderbook(address: Address) -> Result { - get_orderbook_query(address).await + pub async fn orderbook(id: &Address) -> Result { + get_orderbook_query(id).await } - pub async fn rain_meta_v1(id: Bytes) -> Result { + pub async fn rain_meta_v1(id: &Bytes) -> Result { get_rain_meta_v1(id).await } - pub async fn content_meta_v1(id: Bytes) -> Result { + pub async fn content_meta_v1(id: &Bytes) -> Result { get_content_meta_v1(id).await } - pub async fn order(id: Bytes) -> Result { + pub async fn order(id: &Bytes) -> Result { get_order(id).await } } diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index ec08f62303..8e51500e7d 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -95,7 +95,7 @@ impl OrderResponse { } } -pub async fn get_order(id: Bytes) -> Result { +pub async fn get_order(id: &Bytes) -> Result { let variables = order::Variables { id: id.to_string().into(), }; diff --git a/subgraph/tests/subgraph/query/orderbook/mod.rs b/subgraph/tests/subgraph/query/orderbook/mod.rs index 7030a41b84..61108ff269 100644 --- a/subgraph/tests/subgraph/query/orderbook/mod.rs +++ b/subgraph/tests/subgraph/query/orderbook/mod.rs @@ -41,9 +41,9 @@ impl OrderBookResponse { } } -pub async fn get_orderbook_query(orderbook_address: Address) -> Result { +pub async fn get_orderbook_query(id: &Address) -> Result { let variables = order_book::Variables { - orderbook: format!("{:?}", orderbook_address).to_string().into(), + orderbook: format!("{:?}", id).to_string().into(), }; let request_body = OrderBook::build_query(variables); diff --git a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs index 5b3724527f..caaf4b39eb 100644 --- a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs @@ -36,9 +36,9 @@ impl RainMetaV1Response { } } -pub async fn get_rain_meta_v1(rain_meta_id: Bytes) -> Result { +pub async fn get_rain_meta_v1(id: &Bytes) -> Result { let variables = rain_meta_v1::Variables { - rain_meta: rain_meta_id.to_string().into(), + rain_meta: id.to_string().into(), }; let request_body = RainMetaV1::build_query(variables); diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index a96308e5d2..88f48e8e8b 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -5,6 +5,7 @@ pub mod gen_abigen; pub mod json_structs; pub mod numbers; pub mod setup; +pub mod transactions; pub use setup::get_provider; diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs new file mode 100644 index 0000000000..bc16ba38a8 --- /dev/null +++ b/subgraph/tests/utils/transactions/mod.rs @@ -0,0 +1,62 @@ +use crate::{ + generated::{ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, RainterpreterExpressionDeployer}, + utils::mock_rain_doc, +}; +use ethers::{ + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Provider}, + signers::Wallet, + types::{Bytes, U256}, +}; + +pub async fn generate_order_config( + expression_deployer: &RainterpreterExpressionDeployer< + SignerMiddleware, Wallet>, + >, + token_input: &ERC20Mock, Wallet>>, + token_output: &ERC20Mock, Wallet>>, +) -> OrderConfigV2 { + let io_input = generate_io(token_input).await; + let io_output = generate_io(token_output).await; + + let eval_config = generate_eval_config(expression_deployer).await; + + // Build the OrderConfig and return it + OrderConfigV2 { + valid_inputs: vec![io_input], + valid_outputs: vec![io_output], + evaluable_config: eval_config, + meta: mock_rain_doc(), + } +} + +async fn generate_io( + token: &ERC20Mock, Wallet>>, +) -> Io { + // Build the IO and return it + Io { + token: token.address(), + decimals: token.decimals().await.unwrap(), + vault_id: U256::from(0), + } +} + +async fn generate_eval_config( + expression_deployer: &RainterpreterExpressionDeployer< + SignerMiddleware, Wallet>, + >, +) -> EvaluableConfigV2 { + let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); + let (bytecode, constants) = expression_deployer + .parse(data_parse.clone()) + .await + .expect("cannot get value from parse"); + + // Build the EvaluableConfig and return it + EvaluableConfigV2 { + deployer: expression_deployer.address(), + bytecode, + constants, + } +} From c3f415665f4496937e4fc55885b6e91ecbd2a0ea Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 18:41:45 -0400 Subject: [PATCH 056/163] wip: modularize config tests --- subgraph/tests/entities.rs | 8 ++--- subgraph/tests/utils/deploy/erc20_mock/mod.rs | 25 ++++++++-------- subgraph/tests/utils/deploy/mod.rs | 4 +-- subgraph/tests/utils/deploy/orderbook/mod.rs | 30 +++++++++---------- 4 files changed, 32 insertions(+), 35 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index f24192699e..739fefc896 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -7,17 +7,13 @@ use ethers::{ types::{Address, Bytes, U256}, utils::keccak256, }; -// use generated::{EvaluableConfigV2, Io, OrderConfigV2}; use subgraph::{wait, Query}; use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, - deploy::{ - deploy_erc20_mock, get_orderbook, ob_connect_to, read_orderbook_meta, touch_deployer, - }, + deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{get_add_order_event, get_new_expression_event}, get_wallet, json_structs::{NewExpressionJson, OrderJson}, - // mock_rain_doc, transactions::generate_order_config, }; @@ -132,7 +128,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { // Connect the orderbook to another wallet let wallet_1 = get_wallet(1); - let orderbook = ob_connect_to(orderbook, &wallet_1).await; + let orderbook = orderbook.connect(&wallet_1).await; // Deploy ExpressionDeployerNP for the config let expression_deployer = touch_deployer(None) diff --git a/subgraph/tests/utils/deploy/erc20_mock/mod.rs b/subgraph/tests/utils/deploy/erc20_mock/mod.rs index e345dd5006..ab976b538c 100644 --- a/subgraph/tests/utils/deploy/erc20_mock/mod.rs +++ b/subgraph/tests/utils/deploy/erc20_mock/mod.rs @@ -32,18 +32,19 @@ pub async fn deploy_erc20_mock( Ok(contract) } -/// Connect the ERC20Mock to a new wallet -pub async fn erc20_mock_connect_to( - contract: &ERC20Mock, Wallet>>, - wallet: Wallet, -) -> ERC20Mock, Wallet>> { - let provider = get_provider().await.expect("cannot get provider"); - let chain_id = provider.get_chainid().await.expect("cannot get chain id"); +impl ERC20Mock, Wallet>> { + pub async fn connect( + &self, + wallet: &Wallet, + ) -> ERC20Mock, Wallet>> { + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); - let client = Arc::new(SignerMiddleware::new( - provider.clone(), - wallet.clone().with_chain_id(chain_id.as_u64()), - )); + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(chain_id.as_u64()), + )); - ERC20Mock::new(contract.address(), client) + ERC20Mock::new(self.address(), client) + } } diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index 8f5438769c..3b31919760 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -4,9 +4,9 @@ pub mod orderbook; mod registry1820; mod touch_deployer; -pub use erc20_mock::{deploy_erc20_mock, erc20_mock_connect_to}; +pub use erc20_mock::deploy_erc20_mock; pub use meta_getter::{authoring_meta_getter_deploy, get_meta_address}; -pub use orderbook::{deploy_orderbook, get_orderbook, ob_connect_to, read_orderbook_meta}; +pub use orderbook::{deploy_orderbook, get_orderbook, read_orderbook_meta}; pub use registry1820::deploy1820; pub use touch_deployer::touch_deployer; diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs index d77c158783..f9b312e714 100644 --- a/subgraph/tests/utils/deploy/orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -22,7 +22,6 @@ pub async fn deploy_orderbook( let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); - let client = Arc::new(SignerMiddleware::new( provider.clone(), wallet.clone().with_chain_id(chain_id.as_u64()), @@ -60,20 +59,21 @@ pub async fn deploy_orderbook( return Ok(orderbook); } -/// Connect the OB to a new wallet -pub async fn ob_connect_to( - orderbook: &OrderBook, Wallet>>, - wallet: &Wallet, -) -> OrderBook, Wallet>> { - let provider = get_provider().await.expect("cannot get provider"); - let chain_id = provider.get_chainid().await.expect("cannot get chain id"); - - let client = Arc::new(SignerMiddleware::new( - provider.clone(), - wallet.clone().with_chain_id(chain_id.as_u64()), - )); - - OrderBook::new(orderbook.address(), client) +impl OrderBook, Wallet>> { + pub async fn connect( + &self, + wallet: &Wallet, + ) -> OrderBook, Wallet>> { + let provider = get_provider().await.expect("cannot get provider"); + let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(chain_id.as_u64()), + )); + + OrderBook::new(self.address(), client) + } } pub fn read_orderbook_meta() -> Vec { From d75e0ad4481a0850119478dc750670332b3a4878 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 20 Oct 2023 23:10:44 -0400 Subject: [PATCH 057/163] wip: add and remove order --- subgraph/tests/entities.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 739fefc896..e54210c049 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -123,7 +123,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { #[tokio::main] #[test] -async fn order_entity_add_order_test() -> anyhow::Result<()> { +async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); // Connect the orderbook to another wallet From e9227ec3470cc9b024d9862202ea3db46fcbffc8 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sat, 21 Oct 2023 01:24:07 -0400 Subject: [PATCH 058/163] order remove test --- subgraph/tests/entities.rs | 29 ++++++++++++++++++++++++++--- subgraph/tests/utils/mod.rs | 13 ++++++++++++- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e54210c049..c977b83a50 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -9,6 +9,7 @@ use ethers::{ }; use subgraph::{wait, Query}; use utils::{ + bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{get_add_order_event, get_new_expression_event}, @@ -179,6 +180,11 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { let expression_json_string = NewExpressionJson::from_event(new_expression_data).to_json_string(); + let is_order_exist: bool = orderbook + .order_exists(bytes_to_h256(&order_hash).into()) + .call() + .await?; + // Assertions assert_eq!(response.id, order_hash); assert_eq!(response.order_hash, order_hash); @@ -189,7 +195,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { assert_eq!(response.expression_deployer, expression_deployer.address()); assert_eq!(response.expression, order_data.evaluable.expression); - assert_eq!(response.order_active, true, "order not active"); + assert_eq!(response.order_active, is_order_exist, "fail order status"); assert_eq!(response.handle_i_o, order_data.handle_io); assert_eq!(response.meta, rain_doc_hashed); assert_eq!(response.emitter, wallet_1.address()); @@ -214,7 +220,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { ); // Iterate over each IO to generate the ID and check if present - for input in order_data.valid_inputs { + for input in &order_data.valid_inputs { let token: Address = input.token; let vault_id: U256 = input.vault_id; let id = format!("{}-{:?}-{}", order_hash, token, vault_id); @@ -222,7 +228,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { assert!(response.valid_inputs.contains(&id), "Missing IO in order"); } - for output in order_data.valid_outputs { + for output in &order_data.valid_outputs { let token: Address = output.token; let vault_id: U256 = output.vault_id; let id = format!("{}-{:?}-{}", order_hash, token, vault_id); @@ -230,6 +236,23 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { assert!(response.valid_outputs.contains(&id), "Missing IO in order"); } + let remove_order_fnc = orderbook.remove_order(order_data); + let _ = remove_order_fnc.send().await.expect("order not removed"); + + let is_order_exist: bool = orderbook + .order_exists(bytes_to_h256(&order_hash).into()) + .call() + .await?; + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + let response = Query::order(&order_hash) + .await + .expect("cannot get the query response"); + + assert_eq!(response.order_active, is_order_exist, "fail order status"); + Ok(()) } diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 88f48e8e8b..bace908d87 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -13,7 +13,7 @@ use ethers::{ core::k256::ecdsa::SigningKey, providers::Middleware, signers::{coins_bip39::English, MnemonicBuilder, Wallet}, - types::{Bytes, U256, U64}, + types::{Bytes, H256, U256, U64}, }; use hex::FromHex; use rust_bigint::BigInt; @@ -148,6 +148,17 @@ pub fn mn_mpz_to_u256(value: &BigInt) -> U256 { U256::from_dec_str(&value.to_str_radix(16)).unwrap() } +/// Take a Bytes value and parse it to an H256. Take in count that if the Bytes value +/// is bigger than 32 Bytes, will be truncated. +pub fn bytes_to_h256(value: &Bytes) -> H256 { + H256::from_slice(value.to_vec().as_slice()) +} + +/// Take a H256 value and parse it to a Bytes +pub fn _h256_to_bytes(value: &H256) -> Bytes { + Bytes::from(value.as_bytes().to_vec()) +} + /// Get a mock encoded rain document with hardcoded data. /// Does not contain any well info. Only rain doc well formed. pub fn mock_rain_doc() -> Bytes { From c350cab227613268403750104d40af9e6825b8ee Mon Sep 17 00:00:00 2001 From: NanezX Date: Sat, 21 Oct 2023 01:34:20 -0400 Subject: [PATCH 059/163] wip: io query --- subgraph/.gitignore | 5 +++- subgraph/tests/entities.rs | 45 +++++++++++++++++++++++++++++++++- subgraph/tests/utils/events.rs | 2 +- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/subgraph/.gitignore b/subgraph/.gitignore index 0a4480a209..ed2d50037f 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -25,4 +25,7 @@ # Echidna -/target \ No newline at end of file +/target + + +/todo.txt \ No newline at end of file diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index c977b83a50..b3b3f08be1 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -154,7 +154,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { let tx_add_order = add_order_func.send().await.expect("order not sent"); // Decode events from the transaction - let add_order_data = get_add_order_event(orderbook.clone(), &tx_add_order).await; + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await; let new_expression_data = get_new_expression_event(expression_deployer.clone(), &tx_add_order).await; @@ -256,6 +256,49 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn io_entity() -> anyhow::Result<()> { + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token A"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token B"); + + // Build OrderConfig + let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await.expect("order not sent"); + + // Decode events from the transaction + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await; + + // Order hash + let order_hash = Bytes::from(add_order_data.order_hash); + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + let response = Query::order(&order_hash) + .await + .expect("cannot get the query response"); + + Ok(()) +} + #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 802b891b8d..520807edb4 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -72,7 +72,7 @@ pub async fn _get_transfer_event( } pub async fn get_add_order_event( - contract: OrderBook, Wallet>>, + contract: &OrderBook, Wallet>>, tx: &PendingTransaction<'_, Http>, ) -> AddOrderFilter { let filter: Filter = contract.clone().add_order_filter().filter; From 0f364e7eba053b3b998d0b111deaa65eba8a6950 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sat, 21 Oct 2023 01:57:11 -0400 Subject: [PATCH 060/163] wip: io mod query --- subgraph/tests/subgraph/query/io/io.graphql | 20 ++++++ subgraph/tests/subgraph/query/io/mod.rs | 72 +++++++++++++++++++++ subgraph/tests/subgraph/query/mod.rs | 1 + 3 files changed, 93 insertions(+) create mode 100644 subgraph/tests/subgraph/query/io/io.graphql create mode 100644 subgraph/tests/subgraph/query/io/mod.rs diff --git a/subgraph/tests/subgraph/query/io/io.graphql b/subgraph/tests/subgraph/query/io/io.graphql new file mode 100644 index 0000000000..0b3303eadb --- /dev/null +++ b/subgraph/tests/subgraph/query/io/io.graphql @@ -0,0 +1,20 @@ +query IO($id: String) { + io(id: $id) { + id + token { + id + } + decimals + vault { + id + } + vaultId + order { + id + } + tokenVault { + id + } + index + } +} diff --git a/subgraph/tests/subgraph/query/io/mod.rs b/subgraph/tests/subgraph/query/io/mod.rs new file mode 100644 index 0000000000..09344d9657 --- /dev/null +++ b/subgraph/tests/subgraph/query/io/mod.rs @@ -0,0 +1,72 @@ +use self::io::ResponseData; +use super::SG_URL; +use crate::utils::{hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/io/io.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct IO; + +#[derive(Serialize, Deserialize, Debug)] +pub struct IOResponse { + pub id: String, + pub token: Address, + pub decimals: u8, + pub vault: String, + pub vaultId: U256, + pub order: Bytes, + pub tokenVault: String, + pub index: u8, +} + +impl IOResponse { + pub fn from(response: ResponseData) -> IOResponse { + let data = response.io.unwrap(); + + let id = data.id; + + IOResponse { + id: "".to_string(), + token: Address::from([0u8; 20]), + decimals: 0, + vault: "".to_string(), + vaultId: U256::from(0), + order: Bytes::from(vec![0]), + tokenVault: "".to_string(), + index: 0, + } + } +} + +pub async fn get_i_o(id: &String) -> Result { + let variables = io::Variables { + id: id.to_string().into(), + }; + + let request_body = IO::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = IOResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index c729c22b55..82d1568ec4 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,4 +1,5 @@ pub(crate) mod content_meta_v1; +pub(crate) mod io; pub(crate) mod order; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; From 11b56f856a4ba3a28774d55723124bc2daa40e48 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sat, 21 Oct 2023 02:25:52 -0400 Subject: [PATCH 061/163] io query --- subgraph/tests/entities.rs | 49 +++++++++++++++++++-- subgraph/tests/subgraph/query/io/io.graphql | 2 +- subgraph/tests/subgraph/query/io/mod.rs | 29 +++++++----- subgraph/tests/subgraph/query/mod.rs | 5 +++ 4 files changed, 69 insertions(+), 16 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index b3b3f08be1..0e801a2be7 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -288,13 +288,56 @@ async fn io_entity() -> anyhow::Result<()> { // Order hash let order_hash = Bytes::from(add_order_data.order_hash); + let order_owner: Address = add_order_data.order.owner; // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); - let response = Query::order(&order_hash) - .await - .expect("cannot get the query response"); + // Inputs + for (index, input) in order_config.valid_inputs.iter().enumerate() { + let token: Address = input.token; + let vault_id: U256 = input.vault_id; + let input_id = format!("{}-{:?}-{}", order_hash, token, vault_id); + + let vault_entity_id = format!("{}-{:?}", vault_id, order_owner); + let token_vault_entity_id = format!("{}-{:?}-{:?}", vault_id, order_owner, token); + + let response = Query::i_o(&input_id) + .await + .expect("cannot get the query response"); + + assert_eq!(response.id, input_id); + assert_eq!(response.token, token); + assert_eq!(response.decimals, 18); // TODO: Make a wrapper around the token address with the ERC20Mock + assert_eq!(response.vault_id, vault_id); + assert_eq!(response.order, order_hash); + assert_eq!(response.index, index as u8); + assert_eq!(response.vault, vault_entity_id); + assert_eq!(response.token_vault, token_vault_entity_id); + } + + // Outputs + for (index, output) in order_config.valid_outputs.iter().enumerate() { + let token: Address = output.token; + let vault_id: U256 = output.vault_id; + let output_id = format!("{}-{:?}-{}", order_hash, token, vault_id); + + let vault_entity_id = format!("{}-{:?}", vault_id, order_owner); + let token_vault_entity_id = format!("{}-{:?}-{:?}", vault_id, order_owner, token); + + let response = Query::i_o(&output_id) + .await + .expect("cannot get the query response"); + + assert_eq!(response.id, output_id); + assert_eq!(response.token, token); + assert_eq!(response.decimals, 18); // TODO: Make a wrapper around the token address with the ERC20Mock + assert_eq!(response.vault_id, vault_id); + assert_eq!(response.order, order_hash); + assert_eq!(response.index, index as u8); + assert_eq!(response.vault, vault_entity_id); + assert_eq!(response.token_vault, token_vault_entity_id); + } Ok(()) } diff --git a/subgraph/tests/subgraph/query/io/io.graphql b/subgraph/tests/subgraph/query/io/io.graphql index 0b3303eadb..cf1e0d7e20 100644 --- a/subgraph/tests/subgraph/query/io/io.graphql +++ b/subgraph/tests/subgraph/query/io/io.graphql @@ -5,10 +5,10 @@ query IO($id: String) { id } decimals + vaultId vault { id } - vaultId order { id } diff --git a/subgraph/tests/subgraph/query/io/mod.rs b/subgraph/tests/subgraph/query/io/mod.rs index 09344d9657..30362402ed 100644 --- a/subgraph/tests/subgraph/query/io/mod.rs +++ b/subgraph/tests/subgraph/query/io/mod.rs @@ -21,28 +21,33 @@ pub struct IOResponse { pub id: String, pub token: Address, pub decimals: u8, - pub vault: String, - pub vaultId: U256, + pub vault_id: U256, pub order: Bytes, - pub tokenVault: String, pub index: u8, + pub vault: String, + pub token_vault: String, } impl IOResponse { pub fn from(response: ResponseData) -> IOResponse { let data = response.io.unwrap(); - let id = data.id; + let token = Address::from_slice( + hex_string_to_bytes(&data.token.id) + .unwrap() + .to_vec() + .as_slice(), + ); IOResponse { - id: "".to_string(), - token: Address::from([0u8; 20]), - decimals: 0, - vault: "".to_string(), - vaultId: U256::from(0), - order: Bytes::from(vec![0]), - tokenVault: "".to_string(), - index: 0, + id: data.id, + token, + decimals: data.decimals as u8, + vault: data.vault.id, + vault_id: mn_mpz_to_u256(&data.vault_id), + order: hex_string_to_bytes(&data.order.id).expect("not a hex value"), + token_vault: data.token_vault.id, + index: data.index as u8, } } } diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 82d1568ec4..6eaf84c1cb 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -10,6 +10,7 @@ use once_cell::sync::Lazy; use reqwest::Url; use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; +use io::{get_i_o, IOResponse}; use order::{get_order, OrderResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; @@ -35,4 +36,8 @@ impl Query { pub async fn order(id: &Bytes) -> Result { get_order(id).await } + + pub async fn i_o(id: &String) -> Result { + get_i_o(id).await + } } From 22bd7d47e1e00b90c1aeedcf7b0510c66df60d48 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sat, 21 Oct 2023 17:47:43 -0400 Subject: [PATCH 062/163] wip: multicall batch --- subgraph/tests/entities.rs | 63 ++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 10 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 0e801a2be7..a3a9c1418a 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -19,7 +19,7 @@ use utils::{ }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -46,7 +46,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -82,7 +82,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -123,7 +123,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -139,12 +139,12 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None) .await - .expect("failed on deploy erc20 token A"); + .expect("failed on deploy erc20 token"); // Deploy ERC20 token contract (B) let token_b = deploy_erc20_mock(None) .await - .expect("failed on deploy erc20 token B"); + .expect("failed on deploy erc20 token"); // Build OrderConfig let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; @@ -257,8 +257,8 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] -async fn io_entity() -> anyhow::Result<()> { +// #[test] +async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); // Deploy ExpressionDeployerNP for the config @@ -269,12 +269,12 @@ async fn io_entity() -> anyhow::Result<()> { // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None) .await - .expect("failed on deploy erc20 token A"); + .expect("failed on deploy erc20 token"); // Deploy ERC20 token contract (B) let token_b = deploy_erc20_mock(None) .await - .expect("failed on deploy erc20 token B"); + .expect("failed on deploy erc20 token"); // Build OrderConfig let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; @@ -342,6 +342,49 @@ async fn io_entity() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn vault_entity_add_orders_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // // Deploy ERC20 token contract (C) + // let token_c = deploy_erc20_mock(None) + // .await + // .expect("failed on deploy erc20 token"); + + // // Deploy ERC20 token contract (D) + // let token_d = deploy_erc20_mock(None) + // .await + // .expect("failed on deploy erc20 token"); + + // Generate TWO order configs + let order_config_a = generate_order_config(&expression_deployer, &token_a, &token_b).await; + // let order_config_b = generate_order_config(&expression_deployer, &token_c, &token_d).await; + + let encoded_order = ethers::core::abi::AbiEncode::encode(order_config_a); + println!("encoded_order: {:?}", Bytes::from(encoded_order.clone())); + + let my_method = + token_b.method_hash::, bool>([132, 122, 27, 201], encoded_order.clone()); + + Ok(()) +} + #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes From 9becc6ea89eff59ad89dfadcf9db85d0b1200add Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 18:01:12 -0400 Subject: [PATCH 063/163] wip: fn selector for multicalls --- subgraph/tests/entities.rs | 55 +++++++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index a3a9c1418a..804eb51112 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -15,9 +15,14 @@ use utils::{ events::{get_add_order_event, get_new_expression_event}, get_wallet, json_structs::{NewExpressionJson, OrderJson}, - transactions::generate_order_config, + transactions::{generate_multi_add_order, generate_order_config}, }; +use ethers::contract::EthCall; +use ethers::core::abi::AbiType; + +use generated::{order_book, AddOrderCall, AddOrderFilter, AddOrderReturn}; + #[tokio::main] // #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { @@ -151,6 +156,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { // Add the order let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await.expect("order not sent"); // Decode events from the transaction @@ -362,25 +368,48 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { .await .expect("failed on deploy erc20 token"); - // // Deploy ERC20 token contract (C) - // let token_c = deploy_erc20_mock(None) - // .await - // .expect("failed on deploy erc20 token"); + // Deploy ERC20 token contract (C) + let token_c = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); - // // Deploy ERC20 token contract (D) - // let token_d = deploy_erc20_mock(None) - // .await - // .expect("failed on deploy erc20 token"); + // Deploy ERC20 token contract (D) + let token_d = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); // Generate TWO order configs let order_config_a = generate_order_config(&expression_deployer, &token_a, &token_b).await; - // let order_config_b = generate_order_config(&expression_deployer, &token_c, &token_d).await; + let order_config_b = generate_order_config(&expression_deployer, &token_c, &token_d).await; + + let multi_orders = generate_multi_add_order(vec![&order_config_a, &order_config_b]); - let encoded_order = ethers::core::abi::AbiEncode::encode(order_config_a); + let encoded_order = ethers::core::abi::AbiEncode::encode(order_config_a.clone()); println!("encoded_order: {:?}", Bytes::from(encoded_order.clone())); - let my_method = - token_b.method_hash::, bool>([132, 122, 27, 201], encoded_order.clone()); + let add_order_call = AddOrderCall { + config: order_config_a.clone(), + }; + + let encoded_possible_call = ethers::core::abi::AbiEncode::encode(add_order_call.clone()); + println!( + "encoded_possible_call: {:?}", + Bytes::from(encoded_possible_call.clone()) + ); + + let aver = order_book::OrderBookCalls::AddOrder(add_order_call); + // order_book::OrderBookCalls::param_type(); + + let param_type = AddOrderCall::param_type(); + println!("param_type: {}", param_type); + + let selector = AddOrderCall::selector(); + println!("selector: {}", Bytes::from(selector)); + + // let aver = orderbook.add_order(order_config_a); + + // let my_method = + // token_b.method_hash::, bool>([132, 122, 27, 201], encoded_order.clone()); Ok(()) } From 4852c63cfcfd21849467ed25859576b2ec57ca06 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 18:04:19 -0400 Subject: [PATCH 064/163] fn to build multi order call --- .../tests/utils/deploy/orderbook/setup.rs | 22 +++++++++---------- subgraph/tests/utils/transactions/mod.rs | 21 +++++++++++++++++- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index c8e179aaac..bc73eba2b4 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,20 +36,20 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - let sg_config = Config { - contract_address: &format!("{:?}", orderbook.address()), - block_number: get_block_number().await.as_u64(), - }; + // let sg_config = Config { + // contract_address: &format!("{:?}", orderbook.address()), + // block_number: get_block_number().await.as_u64(), + // }; - let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - if is_sg_deployed { - Ok(orderbook) - } else { - Err(OrderBookSetupError::SgDeployError()) - } + // if is_sg_deployed { + // Ok(orderbook) + // } else { + // Err(OrderBookSetupError::SgDeployError()) + // } - // Ok(orderbook) + Ok(orderbook) } async fn try_ob_deploy( diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index bc16ba38a8..27e81a1785 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -1,7 +1,11 @@ use crate::{ - generated::{ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, RainterpreterExpressionDeployer}, + generated::{ + AddOrderCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, + RainterpreterExpressionDeployer, + }, utils::mock_rain_doc, }; +use ethers::contract::EthCall; use ethers::{ core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, @@ -60,3 +64,18 @@ async fn generate_eval_config( constants, } } + +/// From given orders, encode them to a collection of Bytes to be used with multicall +pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { + let selector = AddOrderCall::selector(); + + let mut data: Vec = Vec::new(); + + for order in orders { + // + + } + + // + vec![Bytes::from([0])] +} From 7e77593236f69a1b8f059a6048570e762cf1a3dc Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 18:28:52 -0400 Subject: [PATCH 065/163] sending multicall --- subgraph/tests/entities.rs | 44 +++++++++++++++--------- subgraph/tests/utils/transactions/mod.rs | 23 ++++++++++--- 2 files changed, 45 insertions(+), 22 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 804eb51112..18fb784763 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -384,29 +384,39 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let multi_orders = generate_multi_add_order(vec![&order_config_a, &order_config_b]); - let encoded_order = ethers::core::abi::AbiEncode::encode(order_config_a.clone()); - println!("encoded_order: {:?}", Bytes::from(encoded_order.clone())); + // Add the order + let multicall_func = orderbook.multicall(multi_orders); - let add_order_call = AddOrderCall { - config: order_config_a.clone(), - }; + let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let encoded_possible_call = ethers::core::abi::AbiEncode::encode(add_order_call.clone()); - println!( - "encoded_possible_call: {:?}", - Bytes::from(encoded_possible_call.clone()) - ); + println!("tx_multicall: {:?}", tx_multicall); - let aver = order_book::OrderBookCalls::AddOrder(add_order_call); - // order_book::OrderBookCalls::param_type(); + let receipt = tx_multicall.await.expect("cannot get receipt"); + println!("receipt: {:?}", receipt); - let param_type = AddOrderCall::param_type(); - println!("param_type: {}", param_type); + // let aver = orderbook.add_order(order_config_a); - let selector = AddOrderCall::selector(); - println!("selector: {}", Bytes::from(selector)); + // let encoded_order = ethers::core::abi::AbiEncode::encode(order_config_a.clone()); + // println!("encoded_order: {:?}", Bytes::from(encoded_order.clone())); - // let aver = orderbook.add_order(order_config_a); + // let add_order_call = AddOrderCall { + // config: order_config_a.clone(), + // }; + + // let encoded_possible_call = ethers::core::abi::AbiEncode::encode(add_order_call.clone()); + // println!( + // "encoded_possible_call: {:?}", + // Bytes::from(encoded_possible_call.clone()) + // ); + + // let aver = order_book::OrderBookCalls::AddOrder(add_order_call); + // // order_book::OrderBookCalls::param_type(); + + // let param_type = AddOrderCall::param_type(); + // println!("param_type: {}", param_type); + + // let selector = AddOrderCall::selector(); + // println!("selector: {}", Bytes::from(selector)); // let my_method = // token_b.method_hash::, bool>([132, 122, 27, 201], encoded_order.clone()); diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 27e81a1785..6cd04fb19e 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -67,15 +67,28 @@ async fn generate_eval_config( /// From given orders, encode them to a collection of Bytes to be used with multicall pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { - let selector = AddOrderCall::selector(); + let selector: [u8; 4] = AddOrderCall::selector(); let mut data: Vec = Vec::new(); for order in orders { - // - + // The OrderConfigV2 from abigen implemented the `AbiEncode` trait, so + // it could be easily encoded + let encoded_order: Vec = ethers::core::abi::AbiEncode::encode(order.to_owned()); + + // Create a new Vec that will contain the function selector and the + // current encoded_order + let mut order_bytes: Vec = Vec::new(); + + // Add selector to the new Vec + order_bytes.extend_from_slice(&selector); + + // Add encoded_order to the new Vec + order_bytes.extend(encoded_order); + + // Push the order bytes + data.push(Bytes::from(order_bytes)); } - // - vec![Bytes::from([0])] + return data; } From fbcdff6bcf6fad5c0d5d76d466f909ac722edd0d Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 21:29:33 -0400 Subject: [PATCH 066/163] wip: multi order encode working --- subgraph/tests/entities.rs | 4 +--- subgraph/tests/utils/transactions/mod.rs | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 18fb784763..416b830599 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -382,6 +382,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let order_config_a = generate_order_config(&expression_deployer, &token_a, &token_b).await; let order_config_b = generate_order_config(&expression_deployer, &token_c, &token_d).await; + // Encode them to send them with multicall. let multi_orders = generate_multi_add_order(vec![&order_config_a, &order_config_b]); // Add the order @@ -389,10 +390,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - println!("tx_multicall: {:?}", tx_multicall); - let receipt = tx_multicall.await.expect("cannot get receipt"); - println!("receipt: {:?}", receipt); // let aver = orderbook.add_order(order_config_a); diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 6cd04fb19e..ae2843ec85 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -69,6 +69,8 @@ async fn generate_eval_config( pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { let selector: [u8; 4] = AddOrderCall::selector(); + let tuple_bytes: [u8; 32] = byte_for_tuples(); + let mut data: Vec = Vec::new(); for order in orders { @@ -82,13 +84,27 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { // Add selector to the new Vec order_bytes.extend_from_slice(&selector); + order_bytes.extend_from_slice(&tuple_bytes); // Add encoded_order to the new Vec order_bytes.extend(encoded_order); + let order_data = Bytes::from(order_bytes); + + println!("order_data: {:?}\n", order_data); + // Push the order bytes - data.push(Bytes::from(order_bytes)); + data.push(order_data); } return data; } + +/// The extra 32 bytes for the start of the tuples. +/// +/// `*TODO*`: Search why the encode function not give this +fn byte_for_tuples() -> [u8; 32] { + let mut result = [0u8; 32]; // Initialize an array with all elements set to 0 + result[31] = 32; // Set the last element to 32 + result +} From f8872d34da822f9e4639a8680fdda149d8037f0f Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 21:45:18 -0400 Subject: [PATCH 067/163] splitted tests --- subgraph/tests/entities.rs | 50 +++++++++++++++++++++++++++++-- subgraph/tests/utils/events.rs | 54 ++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 3 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 416b830599..17b6197a15 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -129,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { #[tokio::main] // #[test] -async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { +async fn order_entity_add_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); // Connect the orderbook to another wallet @@ -201,7 +201,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { assert_eq!(response.expression_deployer, expression_deployer.address()); assert_eq!(response.expression, order_data.evaluable.expression); - assert_eq!(response.order_active, is_order_exist, "fail order status"); + assert_eq!(response.order_active, is_order_exist, "wrong order status"); assert_eq!(response.handle_i_o, order_data.handle_io); assert_eq!(response.meta, rain_doc_hashed); assert_eq!(response.emitter, wallet_1.address()); @@ -242,9 +242,53 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { assert!(response.valid_outputs.contains(&id), "Missing IO in order"); } + Ok(()) +} + +#[tokio::main] +// #[test] +async fn order_entity_remove_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // Connect the orderbook to another wallet + let wallet_1 = get_wallet(1); + let orderbook = orderbook.connect(&wallet_1).await; + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Build OrderConfig + let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await.expect("order not sent"); + + // Decode events from the transaction + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await; + + let order_hash = Bytes::from(add_order_data.order_hash); + + // Data from the event in tx + let order_data = add_order_data.order; + + // Remove the order let remove_order_fnc = orderbook.remove_order(order_data); let _ = remove_order_fnc.send().await.expect("order not removed"); + // Current order status let is_order_exist: bool = orderbook .order_exists(bytes_to_h256(&order_hash).into()) .call() @@ -257,7 +301,7 @@ async fn order_entity_add_and_remove_order_test() -> anyhow::Result<()> { .await .expect("cannot get the query response"); - assert_eq!(response.order_active, is_order_exist, "fail order status"); + assert_eq!(response.order_active, is_order_exist, "wrong order status"); Ok(()) } diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 520807edb4..9ff3da3d9b 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -36,6 +36,37 @@ async fn get_matched_log(tx: &PendingTransaction<'_, Http>, filter: Filter) -> O None } +/// Get all the logs in a transaction for a given filter. +async fn get_matched_logs(tx: &PendingTransaction<'_, Http>, filter: Filter) -> Option> { + let tx_hash = tx.tx_hash().clone(); + + let provider = get_provider().await.unwrap(); + + let tx_receipt: TransactionReceipt = provider + .get_transaction_receipt(tx_hash) + .await + .expect("Failed to get the receipt") + .unwrap(); + + let topic_hash = extract_topic_hash(filter).expect("cannot get the topic hash"); + + let mut logs: Vec = Vec::new(); + + for log in tx_receipt.logs.iter() { + if let Some(first_topic) = log.topics.get(0) { + if first_topic == &topic_hash { + logs.push(log.clone()) + } + } + } + + if logs.len() > 0 { + return Some(logs); + } + + None +} + /// Try to extract the hash value from a Topic (ValueOrArray) type // fn extract_topic_hash(topic: ValueOrArray>) -> Option { fn extract_topic_hash(filter: Filter) -> Option { @@ -86,6 +117,29 @@ pub async fn get_add_order_event( .expect("cannot decode the event"); } +pub async fn get_add_order_events( + contract: &OrderBook, Wallet>>, + tx: &PendingTransaction<'_, Http>, +) -> Vec { + let filter: Filter = contract.clone().add_order_filter().filter; + + let logs = get_matched_logs(tx, filter) + .await + .expect("there is no topic matched in the transaction"); + + let mut events: Vec = Vec::new(); + + for log in logs { + let event: AddOrderFilter = contract + .decode_event::("AddOrder", log.topics, log.data) + .expect("cannot decode the event"); + + events.push(event); + } + + return events; +} + pub async fn get_new_expression_event( contract: RainterpreterExpressionDeployer, Wallet>>, tx: &PendingTransaction<'_, Http>, From e70e474e70486edcab40149a394c64c5be841394 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 22:18:13 -0400 Subject: [PATCH 068/163] wip: arbitraries vaultIds --- subgraph/tests/entities.rs | 56 +++++++++--------------- subgraph/tests/utils/transactions/mod.rs | 11 +++-- 2 files changed, 27 insertions(+), 40 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 17b6197a15..67d8b4f2a0 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -12,7 +12,7 @@ use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, - events::{get_add_order_event, get_new_expression_event}, + events::{get_add_order_event, get_add_order_events, get_new_expression_event}, get_wallet, json_structs::{NewExpressionJson, OrderJson}, transactions::{generate_multi_add_order, generate_order_config}, @@ -152,7 +152,8 @@ async fn order_entity_add_test() -> anyhow::Result<()> { .expect("failed on deploy erc20 token"); // Build OrderConfig - let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; + let order_config = + generate_order_config(&expression_deployer, &token_a, None, &token_b, None).await; // Add the order let add_order_func = orderbook.add_order(order_config.clone()); @@ -270,7 +271,8 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { .expect("failed on deploy erc20 token"); // Build OrderConfig - let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; + let order_config = + generate_order_config(&expression_deployer, &token_a, None, &token_b, None).await; // Add the order let add_order_func = orderbook.add_order(order_config.clone()); @@ -327,7 +329,8 @@ async fn io_entity_test() -> anyhow::Result<()> { .expect("failed on deploy erc20 token"); // Build OrderConfig - let order_config = generate_order_config(&expression_deployer, &token_a, &token_b).await; + let order_config = + generate_order_config(&expression_deployer, &token_a, None, &token_b, None).await; // Add the order let add_order_func = orderbook.add_order(order_config.clone()); @@ -422,46 +425,27 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { .await .expect("failed on deploy erc20 token"); - // Generate TWO order configs - let order_config_a = generate_order_config(&expression_deployer, &token_a, &token_b).await; - let order_config_b = generate_order_config(&expression_deployer, &token_c, &token_d).await; + // Generate TWO order configs with similar vault IDs. + // All the TokenVaults inside the Vault should be present + let order_config_a = + generate_order_config(&expression_deployer, &token_a, None, &token_b, None).await; + let order_config_b = + generate_order_config(&expression_deployer, &token_c, None, &token_d, None).await; - // Encode them to send them with multicall. + // Encode them to send them with multicall let multi_orders = generate_multi_add_order(vec![&order_config_a, &order_config_b]); - // Add the order + // Add the orders with multicall let multicall_func = orderbook.multicall(multi_orders); - let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let receipt = tx_multicall.await.expect("cannot get receipt"); - - // let aver = orderbook.add_order(order_config_a); - - // let encoded_order = ethers::core::abi::AbiEncode::encode(order_config_a.clone()); - // println!("encoded_order: {:?}", Bytes::from(encoded_order.clone())); - - // let add_order_call = AddOrderCall { - // config: order_config_a.clone(), - // }; + // Get all orders events (logs) from the transaction + let order_events = get_add_order_events(orderbook, &tx_multicall).await; - // let encoded_possible_call = ethers::core::abi::AbiEncode::encode(add_order_call.clone()); - // println!( - // "encoded_possible_call: {:?}", - // Bytes::from(encoded_possible_call.clone()) - // ); + println!("order_events: \n {:?}\n", order_events); - // let aver = order_book::OrderBookCalls::AddOrder(add_order_call); - // // order_book::OrderBookCalls::param_type(); - - // let param_type = AddOrderCall::param_type(); - // println!("param_type: {}", param_type); - - // let selector = AddOrderCall::selector(); - // println!("selector: {}", Bytes::from(selector)); - - // let my_method = - // token_b.method_hash::, bool>([132, 122, 27, 201], encoded_order.clone()); + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); Ok(()) } diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index ae2843ec85..ffe12c1f08 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -5,8 +5,8 @@ use crate::{ }, utils::mock_rain_doc, }; -use ethers::contract::EthCall; use ethers::{ + contract::EthCall, core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, providers::{Http, Provider}, @@ -19,10 +19,12 @@ pub async fn generate_order_config( SignerMiddleware, Wallet>, >, token_input: &ERC20Mock, Wallet>>, + vault_id_input: Option, token_output: &ERC20Mock, Wallet>>, + vault_id_output: Option, ) -> OrderConfigV2 { - let io_input = generate_io(token_input).await; - let io_output = generate_io(token_output).await; + let io_input = generate_io(token_input, vault_id_input).await; + let io_output = generate_io(token_output, vault_id_output).await; let eval_config = generate_eval_config(expression_deployer).await; @@ -37,12 +39,13 @@ pub async fn generate_order_config( async fn generate_io( token: &ERC20Mock, Wallet>>, + vault_id: Option, ) -> Io { // Build the IO and return it Io { token: token.address(), decimals: token.decimals().await.unwrap(), - vault_id: U256::from(0), + vault_id: vault_id.unwrap_or_default(), } } From cc5c5e16971200392a8698842e58931c65e944d4 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 22:33:51 -0400 Subject: [PATCH 069/163] wip: random vaultIds for token vault tests --- subgraph/tests/utils/transactions/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index ffe12c1f08..c3a2020645 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -7,7 +7,7 @@ use crate::{ }; use ethers::{ contract::EthCall, - core::k256::ecdsa::SigningKey, + core::{k256::ecdsa::SigningKey, rand::random}, prelude::SignerMiddleware, providers::{Http, Provider}, signers::Wallet, @@ -45,7 +45,7 @@ async fn generate_io( Io { token: token.address(), decimals: token.decimals().await.unwrap(), - vault_id: vault_id.unwrap_or_default(), + vault_id: vault_id.unwrap_or(generate_random_u256()), } } @@ -103,6 +103,11 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { return data; } +pub fn generate_random_u256() -> U256 { + // This trully is a random u64, but it's work for testing + return U256::from(random::()); +} + /// The extra 32 bytes for the start of the tuples. /// /// `*TODO*`: Search why the encode function not give this From 8cbaa11e841f5d5fce277e387dfec6fa30685496 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 22 Oct 2023 22:34:15 -0400 Subject: [PATCH 070/163] wip: random vaultIds for token vault tests --- subgraph/tests/entities.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 67d8b4f2a0..96aec3213c 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -24,7 +24,7 @@ use ethers::core::abi::AbiType; use generated::{order_book, AddOrderCall, AddOrderFilter, AddOrderReturn}; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -51,7 +51,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -87,7 +87,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -128,7 +128,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -247,7 +247,7 @@ async fn order_entity_add_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -309,7 +309,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); From f6ea748f413efdc174936be76a3141eab3bf88ab Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 00:16:03 -0400 Subject: [PATCH 071/163] back to deploy sg --- .../tests/utils/deploy/orderbook/setup.rs | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index bc73eba2b4..b0e26c53e6 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,20 +36,18 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - // let sg_config = Config { - // contract_address: &format!("{:?}", orderbook.address()), - // block_number: get_block_number().await.as_u64(), - // }; + let sg_config = Config { + contract_address: &format!("{:?}", orderbook.address()), + block_number: get_block_number().await.as_u64(), + }; - // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - // if is_sg_deployed { - // Ok(orderbook) - // } else { - // Err(OrderBookSetupError::SgDeployError()) - // } - - Ok(orderbook) + if is_sg_deployed { + Ok(orderbook) + } else { + Err(OrderBookSetupError::SgDeployError()) + } } async fn try_ob_deploy( From 9a1eb36642246c59139462202140bf82886bcf6f Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 00:20:54 -0400 Subject: [PATCH 072/163] assign a vault id for est the vailt --- subgraph/tests/entities.rs | 40 ++++++++++++++++-------- subgraph/tests/utils/mod.rs | 7 ++++- subgraph/tests/utils/transactions/mod.rs | 9 ++---- 3 files changed, 35 insertions(+), 21 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 96aec3213c..6c6ec9dc7d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -13,7 +13,7 @@ use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{get_add_order_event, get_add_order_events, get_new_expression_event}, - get_wallet, + generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, transactions::{generate_multi_add_order, generate_order_config}, }; @@ -24,7 +24,7 @@ use ethers::core::abi::AbiType; use generated::{order_book, AddOrderCall, AddOrderFilter, AddOrderReturn}; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -51,7 +51,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -87,7 +87,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -128,7 +128,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -247,7 +247,7 @@ async fn order_entity_add_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -309,7 +309,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -425,12 +425,26 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { .await .expect("failed on deploy erc20 token"); - // Generate TWO order configs with similar vault IDs. - // All the TokenVaults inside the Vault should be present - let order_config_a = - generate_order_config(&expression_deployer, &token_a, None, &token_b, None).await; - let order_config_b = - generate_order_config(&expression_deployer, &token_c, None, &token_d, None).await; + // Generate TWO order configs with identical vault ID. + // All the TokenVaults with same VaultId should be present in the Vault + let vault_id = generate_random_u256(); + + let order_config_a = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + let order_config_b = generate_order_config( + &expression_deployer, + &token_c, + Some(vault_id), + &token_d, + Some(vault_id), + ) + .await; // Encode them to send them with multicall let multi_orders = generate_multi_add_order(vec![&order_config_a, &order_config_b]); diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index bace908d87..337dcaa731 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -10,7 +10,7 @@ pub mod transactions; pub use setup::get_provider; use ethers::{ - core::k256::ecdsa::SigningKey, + core::{k256::ecdsa::SigningKey, rand::random}, providers::Middleware, signers::{coins_bip39::English, MnemonicBuilder, Wallet}, types::{Bytes, H256, U256, U64}, @@ -165,6 +165,11 @@ pub fn mock_rain_doc() -> Bytes { Bytes::from_hex("0xff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e").unwrap() } +pub fn generate_random_u256() -> U256 { + // This trully is a random u64, but it's work for testing + return U256::from(random::()); +} + /// Rain Magic Numbers pub struct MagicNumber; diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index c3a2020645..cf40b5035a 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -3,11 +3,11 @@ use crate::{ AddOrderCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, RainterpreterExpressionDeployer, }, - utils::mock_rain_doc, + utils::{generate_random_u256, mock_rain_doc}, }; use ethers::{ contract::EthCall, - core::{k256::ecdsa::SigningKey, rand::random}, + core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, providers::{Http, Provider}, signers::Wallet, @@ -103,11 +103,6 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { return data; } -pub fn generate_random_u256() -> U256 { - // This trully is a random u64, but it's work for testing - return U256::from(random::()); -} - /// The extra 32 bytes for the start of the tuples. /// /// `*TODO*`: Search why the encode function not give this From c52359c2f8a45643f157bfff0ff20fb7b46ddd34 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 00:52:43 -0400 Subject: [PATCH 073/163] wip: query vault query with different token vault --- subgraph/schema.graphql | 4 +- subgraph/tests/entities.rs | 14 +++- subgraph/tests/subgraph/query/mod.rs | 6 ++ subgraph/tests/subgraph/query/vault/mod.rs | 84 +++++++++++++++++++ .../tests/subgraph/query/vault/vault.graphql | 18 ++++ 5 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 subgraph/tests/subgraph/query/vault/mod.rs create mode 100644 subgraph/tests/subgraph/query/vault/vault.graphql diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index 931a2c0a39..926ba4638a 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -170,7 +170,7 @@ type TokenVaultTakeOrder @entity { # Created for every Deposit event type VaultDeposit implements Event @entity { - id: ID! # use txhash of the event + id: ID! # use txhash of the event + N Deposit on the tx "The transaction sender of this deposit" sender: Account! # Deposit.sender "The token that was deposited" @@ -191,7 +191,7 @@ type VaultDeposit implements Event @entity { # Created for every Withdraw event type VaultWithdraw implements Event @entity { - id: ID! # use txhash of the event + id: ID! # use txhash of the event + N Withdraw on the tx "The transaction sender of this withdrawal" sender: Account! # Withdrawal.sender "The token that was withdrawn" diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 6c6ec9dc7d..6c501cbbda 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -449,15 +449,27 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { // Encode them to send them with multicall let multi_orders = generate_multi_add_order(vec![&order_config_a, &order_config_b]); + // Connect the orderbook to another wallet (arbitrary) to send the orders + let wallet_owner = get_wallet(2); + let orderbook = orderbook.connect(&wallet_owner).await; + // Add the orders with multicall let multicall_func = orderbook.multicall(multi_orders); let tx_multicall = multicall_func.send().await.expect("multicall not sent"); // Get all orders events (logs) from the transaction - let order_events = get_add_order_events(orderbook, &tx_multicall).await; + let order_events = get_add_order_events(&orderbook, &tx_multicall).await; println!("order_events: \n {:?}\n", order_events); + let vault_entity_id = format!("{}-{:?}", vault_id, wallet_owner.address()); + + let response = Query::vault(&vault_entity_id) + .await + .expect("cannot get the query response"); + + println!("response: {:?}", response); + // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 6eaf84c1cb..4f6ce8a1ec 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -3,6 +3,7 @@ pub(crate) mod io; pub(crate) mod order; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; +pub(crate) mod vault; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -14,6 +15,7 @@ use io::{get_i_o, IOResponse}; use order::{get_order, OrderResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; +use vault::{get_vault, VaultResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -40,4 +42,8 @@ impl Query { pub async fn i_o(id: &String) -> Result { get_i_o(id).await } + + pub async fn vault(id: &String) -> Result { + get_vault(id).await + } } diff --git a/subgraph/tests/subgraph/query/vault/mod.rs b/subgraph/tests/subgraph/query/vault/mod.rs new file mode 100644 index 0000000000..489f867509 --- /dev/null +++ b/subgraph/tests/subgraph/query/vault/mod.rs @@ -0,0 +1,84 @@ +use self::vault::ResponseData; +use super::SG_URL; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/vault/vault.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct Vault; + +#[derive(Serialize, Deserialize, Debug)] +pub struct VaultResponse { + pub id: String, + pub owner: Address, + pub token_vaults: Vec, + pub deposits: Vec, + pub withdraws: Vec, +} + +impl VaultResponse { + pub fn from(response: ResponseData) -> VaultResponse { + let data = response.vault.unwrap(); + + let token_vaults: Vec = data + .token_vaults + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let deposits: Vec = data + .deposits + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let withdraws: Vec = data + .withdraws + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + VaultResponse { + id: data.id, + owner: Address::from_slice(&data.owner.id), + token_vaults, + deposits, + withdraws, + } + } +} + +pub async fn get_vault(id: &String) -> Result { + let variables = vault::Variables { + id: id.to_string().into(), + }; + + let request_body = Vault::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = VaultResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/vault/vault.graphql b/subgraph/tests/subgraph/query/vault/vault.graphql new file mode 100644 index 0000000000..8190996772 --- /dev/null +++ b/subgraph/tests/subgraph/query/vault/vault.graphql @@ -0,0 +1,18 @@ +query Vault($id: String) { + vault(id: $id) { + id + vaultId + owner { + id + } + tokenVaults { + id + } + deposits { + id + } + withdraws { + id + } + } +} From 9486499344c8fa5b71b43156e039faf1a798ade2 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 00:58:41 -0400 Subject: [PATCH 074/163] moving wait for sg sync --- subgraph/tests/entities.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 6c501cbbda..bf81e5eac2 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -460,7 +460,10 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { // Get all orders events (logs) from the transaction let order_events = get_add_order_events(&orderbook, &tx_multicall).await; - println!("order_events: \n {:?}\n", order_events); + for (i, event) in order_events.iter().enumerate() { + println!("event_{i}: \n {:?}\n\n", event); + } + wait().await.expect("cannot get SG sync status"); let vault_entity_id = format!("{}-{:?}", vault_id, wallet_owner.address()); @@ -471,7 +474,6 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { println!("response: {:?}", response); // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); Ok(()) } From c8a56ea71b3abfa55b23e27c16c8e2adbcbd4999 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 01:19:47 -0400 Subject: [PATCH 075/163] test response for vault --- subgraph/tests/entities.rs | 49 +++++++++++++++++++++- subgraph/tests/subgraph/query/vault/mod.rs | 5 ++- 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index bf81e5eac2..2aa2908ac8 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -463,6 +463,8 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { for (i, event) in order_events.iter().enumerate() { println!("event_{i}: \n {:?}\n\n", event); } + + // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); let vault_entity_id = format!("{}-{:?}", vault_id, wallet_owner.address()); @@ -471,9 +473,52 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { .await .expect("cannot get the query response"); - println!("response: {:?}", response); + // Generate the expetect Token Vault IDs + let token_vault_a = format!( + "{}-{:?}-{:?}", + vault_id, + wallet_owner.address(), + token_a.address() + ); + let token_vault_b = format!( + "{}-{:?}-{:?}", + vault_id, + wallet_owner.address(), + token_b.address() + ); + let token_vault_c = format!( + "{}-{:?}-{:?}", + vault_id, + wallet_owner.address(), + token_c.address() + ); + let token_vault_d = format!( + "{}-{:?}-{:?}", + vault_id, + wallet_owner.address(), + token_d.address() + ); + + assert_eq!(response.id, vault_entity_id); + assert_eq!(response.vault_id, vault_id); + assert_eq!(response.owner, wallet_owner.address()); - // Wait for Subgraph sync + assert!( + response.token_vaults.contains(&token_vault_a), + "Missing tokenVault id" + ); + assert!( + response.token_vaults.contains(&token_vault_b), + "Missing tokenVault id" + ); + assert!( + response.token_vaults.contains(&token_vault_c), + "Missing tokenVault id" + ); + assert!( + response.token_vaults.contains(&token_vault_d), + "Missing tokenVault id" + ); Ok(()) } diff --git a/subgraph/tests/subgraph/query/vault/mod.rs b/subgraph/tests/subgraph/query/vault/mod.rs index 489f867509..d36c022b22 100644 --- a/subgraph/tests/subgraph/query/vault/mod.rs +++ b/subgraph/tests/subgraph/query/vault/mod.rs @@ -1,7 +1,8 @@ use self::vault::ResponseData; use super::SG_URL; +use crate::utils::mn_mpz_to_u256; use anyhow::{anyhow, Result}; -use ethers::types::{Address, Bytes}; +use ethers::types::{Address, Bytes, U256}; use graphql_client::{GraphQLQuery, Response}; use rust_bigint::BigInt; use serde::{Deserialize, Serialize}; @@ -18,6 +19,7 @@ pub struct Vault; #[derive(Serialize, Deserialize, Debug)] pub struct VaultResponse { pub id: String, + pub vault_id: U256, pub owner: Address, pub token_vaults: Vec, pub deposits: Vec, @@ -51,6 +53,7 @@ impl VaultResponse { VaultResponse { id: data.id, + vault_id: mn_mpz_to_u256(&data.vault_id), owner: Address::from_slice(&data.owner.id), token_vaults, deposits, From d9f0bf4fd61851304aaa429b32c0e46ca01919bb Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 01:20:49 -0400 Subject: [PATCH 076/163] remove unused ethers crate --- subgraph/tests/entities.rs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 2aa2908ac8..d6bf8f0d4d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -18,13 +18,8 @@ use utils::{ transactions::{generate_multi_add_order, generate_order_config}, }; -use ethers::contract::EthCall; -use ethers::core::abi::AbiType; - -use generated::{order_book, AddOrderCall, AddOrderFilter, AddOrderReturn}; - #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -51,7 +46,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -87,7 +82,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -128,7 +123,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -247,7 +242,7 @@ async fn order_entity_add_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -309,7 +304,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); From 2b6dde00b0d12a4b66ddb532dc92b05ebe73a2c7 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 01:31:29 -0400 Subject: [PATCH 077/163] adding nix command ci-test with single thread --- subgraph/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 1ca4f1f7b1..178bb6e986 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -75,7 +75,7 @@ ''); ci-test = pkgs.writeShellScriptBin "ci-test" ('' - cargo test -- --nocapture; + cargo test -- --test-threads=1 --nocapture; ''); default = install; From 4c9b5566a2f417569e520fe1fe32cafd1f3f3a69 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 01:45:43 -0400 Subject: [PATCH 078/163] removing print --- subgraph/tests/entities.rs | 8 +------- subgraph/tests/utils/transactions/mod.rs | 2 -- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index d6bf8f0d4d..15f758e10c 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -451,13 +451,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { // Add the orders with multicall let multicall_func = orderbook.multicall(multi_orders); let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - - // Get all orders events (logs) from the transaction - let order_events = get_add_order_events(&orderbook, &tx_multicall).await; - - for (i, event) in order_events.iter().enumerate() { - println!("event_{i}: \n {:?}\n\n", event); - } + let _ = tx_multicall.await.expect("failed to wait receipt"); // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index cf40b5035a..b62079ad51 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -94,8 +94,6 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { let order_data = Bytes::from(order_bytes); - println!("order_data: {:?}\n", order_data); - // Push the order bytes data.push(order_data); } From 3774eca260dc658dd11ab4b7a8dcc4424c7e3226 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 02:19:58 -0400 Subject: [PATCH 079/163] wip: vault after deposit --- subgraph/tests/entities.rs | 97 +++++++++++++++++-- .../tests/utils/deploy/orderbook/setup.rs | 21 ++-- subgraph/tests/utils/numbers.rs | 2 +- 3 files changed, 102 insertions(+), 18 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 15f758e10c..b512b76aff 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -15,11 +15,12 @@ use utils::{ events::{get_add_order_event, get_add_order_events, get_new_expression_event}, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, + numbers::get_amount_tokens, transactions::{generate_multi_add_order, generate_order_config}, }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -46,7 +47,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -82,7 +83,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -123,7 +124,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -242,7 +243,7 @@ async fn order_entity_add_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -304,7 +305,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -391,7 +392,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -512,7 +513,89 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] #[test] +async fn vault_entity_deposit_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // // Deploy ExpressionDeployerNP for the config + // let expression_deployer = touch_deployer(None) + // .await + // .expect("cannot deploy expression_deployer"); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // Fill to Alice with tokens (A and B) + token_a + .mint(alice.address(), amount) + .send() + .await + .expect("cannot mint tokens") + .await + .expect("cannot get the receipt"); + + token_b + .mint(alice.address(), amount) + .send() + .await + .expect("cannot mint tokens") + .await + .expect("cannot get the receipt"); + + // Connect token to Alice and approve Orderbook to move tokens + token_a + .connect(&alice) + .await + .approve(orderbook.address(), amount) + .send() + .await + .expect("cannot approve tokens") + .await + .expect("cannot get the receipt"); + + token_b + .connect(&alice) + .await + .approve(orderbook.address(), amount) + .send() + .await + .expect("cannot approve tokens") + .await + .expect("cannot get the receipt"); + + // Generate TWO order configs with identical vault ID. + // All the TokenVaults with same VaultId should be present in the Vault + // let vault_id = generate_random_u256(); + + // Encode them to send them with multicall + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // let vault_entity_id = format!("{}-{:?}", vault_id, wallet_owner.address()); + + // let response = Query::vault(&vault_entity_id) + // .await + // .expect("cannot get the query response"); + + Ok(()) +} + +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index b0e26c53e6..7503e0313a 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,18 +36,19 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - let sg_config = Config { - contract_address: &format!("{:?}", orderbook.address()), - block_number: get_block_number().await.as_u64(), - }; + // let sg_config = Config { + // contract_address: &format!("{:?}", orderbook.address()), + // block_number: get_block_number().await.as_u64(), + // }; - let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - if is_sg_deployed { - Ok(orderbook) - } else { - Err(OrderBookSetupError::SgDeployError()) - } + // if is_sg_deployed { + // Ok(orderbook) + // } else { + // Err(OrderBookSetupError::SgDeployError()) + // } + Ok(orderbook) } async fn try_ob_deploy( diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index d458c697ec..dbd1acea0d 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -1,7 +1,7 @@ use ethers::types::U256; use std::ops::Mul; -pub fn _get_amount_tokens(amount: u64, decimals: u8) -> U256 { +pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { let result: U256 = U256::from(amount).mul(U256::from(10).pow(U256::from(decimals))); return result; From 5ca5cdb0c0d955841ee47bbb0a4c6f72ece2d1d3 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 02:35:24 -0400 Subject: [PATCH 080/163] modularize the mint token --- subgraph/tests/entities.rs | 50 ++++++++++++++++++------ subgraph/tests/utils/transactions/mod.rs | 12 +++++- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index b512b76aff..76f43b6cee 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -16,7 +16,7 @@ use utils::{ generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::get_amount_tokens, - transactions::{generate_multi_add_order, generate_order_config}, + transactions::{generate_multi_add_order, generate_order_config, mint_tokens}, }; #[tokio::main] @@ -540,21 +540,29 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); // Fill to Alice with tokens (A and B) - token_a - .mint(alice.address(), amount) - .send() - .await - .expect("cannot mint tokens") + mint_tokens(&amount, &alice.address(), &token_a) .await - .expect("cannot get the receipt"); + .expect("cannot mint"); - token_b - .mint(alice.address(), amount) - .send() + mint_tokens(&amount, &alice.address(), &token_b) .await - .expect("cannot mint tokens") - .await - .expect("cannot get the receipt"); + .expect("cannot mint"); + + // token_a + // .mint(alice.address(), amount) + // .send() + // .await + // .expect("cannot mint tokens") + // .await + // .expect("cannot get the receipt"); + + // token_b + // .mint(alice.address(), amount) + // .send() + // .await + // .expect("cannot mint tokens") + // .await + // .expect("cannot get the receipt"); // Connect token to Alice and approve Orderbook to move tokens token_a @@ -577,6 +585,22 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { .await .expect("cannot get the receipt"); + let allowance_a: U256 = token_a + .allowance(alice.address(), orderbook.address()) + .call() + .await + .expect("cannot get allowance"); + let allowance_b: U256 = token_b + .allowance(alice.address(), orderbook.address()) + .call() + .await + .expect("cannot get allowance"); + + println!( + "allowance_a: {} - allowance_b: {}", + allowance_a, allowance_b + ); + // Generate TWO order configs with identical vault ID. // All the TokenVaults with same VaultId should be present in the Vault // let vault_id = generate_random_u256(); diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index b62079ad51..8b1f0a64bc 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -11,9 +11,19 @@ use ethers::{ prelude::SignerMiddleware, providers::{Http, Provider}, signers::Wallet, - types::{Bytes, U256}, + types::{Address, Bytes, U256}, }; +pub async fn mint_tokens( + amount: &U256, + target: &Address, + token: &ERC20Mock, Wallet>>, +) -> anyhow::Result<()> { + token.mint(*target, *amount).send().await?.await?; + + Ok(()) +} + pub async fn generate_order_config( expression_deployer: &RainterpreterExpressionDeployer< SignerMiddleware, Wallet>, From faccb17830fa962c1963fde4e1ce85f15578d5ac Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 03:18:03 -0400 Subject: [PATCH 081/163] wip: improve encode calls --- subgraph/tests/entities.rs | 81 ++++++++---------------- subgraph/tests/utils/transactions/mod.rs | 50 ++++++++++++++- 2 files changed, 72 insertions(+), 59 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 76f43b6cee..0e324eedad 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -16,7 +16,10 @@ use utils::{ generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::get_amount_tokens, - transactions::{generate_multi_add_order, generate_order_config, mint_tokens}, + transactions::{ + approve_tokens, generate_multi_add_order, generate_multi_deposit, generate_order_config, + mint_tokens, + }, }; #[tokio::main] @@ -522,11 +525,6 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { let alice = get_wallet(2); let orderbook = orderbook.connect(&alice).await; - // // Deploy ExpressionDeployerNP for the config - // let expression_deployer = touch_deployer(None) - // .await - // .expect("cannot deploy expression_deployer"); - // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None) .await @@ -542,64 +540,35 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { // Fill to Alice with tokens (A and B) mint_tokens(&amount, &alice.address(), &token_a) .await - .expect("cannot mint"); + .expect("cannot mint tokens"); mint_tokens(&amount, &alice.address(), &token_b) .await - .expect("cannot mint"); - - // token_a - // .mint(alice.address(), amount) - // .send() - // .await - // .expect("cannot mint tokens") - // .await - // .expect("cannot get the receipt"); - - // token_b - // .mint(alice.address(), amount) - // .send() - // .await - // .expect("cannot mint tokens") - // .await - // .expect("cannot get the receipt"); + .expect("cannot mint tokens"); // Connect token to Alice and approve Orderbook to move tokens - token_a - .connect(&alice) - .await - .approve(orderbook.address(), amount) - .send() - .await - .expect("cannot approve tokens") - .await - .expect("cannot get the receipt"); + approve_tokens( + &amount, + &orderbook.address(), + &token_a.connect(&alice).await, + ) + .await + .expect("cannot approve tokens"); - token_b - .connect(&alice) - .await - .approve(orderbook.address(), amount) - .send() - .await - .expect("cannot approve tokens") - .await - .expect("cannot get the receipt"); + approve_tokens( + &amount, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await + .expect("cannot approve tokens"); - let allowance_a: U256 = token_a - .allowance(alice.address(), orderbook.address()) - .call() - .await - .expect("cannot get allowance"); - let allowance_b: U256 = token_b - .allowance(alice.address(), orderbook.address()) - .call() - .await - .expect("cannot get allowance"); + // Get a random vaultId + let vault_id = generate_random_u256(); - println!( - "allowance_a: {} - allowance_b: {}", - allowance_a, allowance_b - ); + let _ = generate_multi_deposit(vec![&token_a.address()], vec![&vault_id], vec![&amount]); + + // orderbook.deposit(token, vault_id, amount) // Generate TWO order configs with identical vault ID. // All the TokenVaults with same VaultId should be present in the Vault diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 8b1f0a64bc..a0980ccadd 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -1,13 +1,13 @@ use crate::{ generated::{ - AddOrderCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, + AddOrderCall, DepositCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, RainterpreterExpressionDeployer, }, utils::{generate_random_u256, mock_rain_doc}, }; use ethers::{ contract::EthCall, - core::k256::ecdsa::SigningKey, + core::{abi::AbiEncode, k256::ecdsa::SigningKey}, prelude::SignerMiddleware, providers::{Http, Provider}, signers::Wallet, @@ -24,6 +24,16 @@ pub async fn mint_tokens( Ok(()) } +pub async fn approve_tokens( + amount: &U256, + spender: &Address, + token: &ERC20Mock, Wallet>>, +) -> anyhow::Result<()> { + token.approve(*spender, *amount).send().await?.await?; + + Ok(()) +} + pub async fn generate_order_config( expression_deployer: &RainterpreterExpressionDeployer< SignerMiddleware, Wallet>, @@ -89,7 +99,7 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { for order in orders { // The OrderConfigV2 from abigen implemented the `AbiEncode` trait, so // it could be easily encoded - let encoded_order: Vec = ethers::core::abi::AbiEncode::encode(order.to_owned()); + let encoded_order: Vec = AbiEncode::encode(order.to_owned()); // Create a new Vec that will contain the function selector and the // current encoded_order @@ -111,6 +121,40 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { return data; } +/// From given arguments, encode them to a collection of Bytes to be used with multicall +pub fn generate_multi_deposit( + tokens: Vec<&Address>, + vault_ids: Vec<&U256>, + amounts: Vec<&U256>, +) -> Vec { + if tokens.len() != vault_ids.len() || tokens.len() != amounts.len() { + panic!("Mismatch length between provide data"); + } + + let selector: [u8; 4] = DepositCall::selector(); + println!("Selector: {}", Bytes::from(selector)); + + let tuple_bytes: [u8; 32] = byte_for_tuples(); + + let mut data: Vec = Vec::new(); + + for token in tokens { + let vault_id = vault_ids.get(0).unwrap().to_owned().to_owned(); + let amount = amounts.get(0).unwrap().to_owned().to_owned(); + + let call_config = DepositCall { + token: token.to_owned(), + vault_id, + amount, + }; + + let encoded_call = AbiEncode::encode(call_config); + println!("encoded_call: {}", Bytes::from(encoded_call)); + } + + return data; +} + /// The extra 32 bytes for the start of the tuples. /// /// `*TODO*`: Search why the encode function not give this From 4174f8b1466d60607157ac65677f2531562c1cfc Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 03:27:31 -0400 Subject: [PATCH 082/163] wip: using ethcall abi encoder implement by abigen --- subgraph/aver.txt | 5 +++++ subgraph/tests/utils/transactions/mod.rs | 26 ++++++------------------ 2 files changed, 11 insertions(+), 20 deletions(-) create mode 100644 subgraph/aver.txt diff --git a/subgraph/aver.txt b/subgraph/aver.txt new file mode 100644 index 0000000000..c885b43db0 --- /dev/null +++ b/subgraph/aver.txt @@ -0,0 +1,5 @@ +encoded_call_1: 0x847a1bc9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000547382c0d1b23f707918d3c83a77317b71aa847000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000007c8baafa542c57ff9b2b90612bf8ab9e86e22c0900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 +encoded_call_1: 0x847a1bc90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a17fabea4633ce714f1fa4a2dca62c3bac4758d00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005e6cb7e728e1c320855587e1d9c6f7972ebdd6d500000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 + +encoded_call_2: 0x847a1bc9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000547382c0d1b23f707918d3c83a77317b71aa847000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000007c8baafa542c57ff9b2b90612bf8ab9e86e22c0900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 +encoded_call_2: 0x847a1bc90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a17fabea4633ce714f1fa4a2dca62c3bac4758d00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005e6cb7e728e1c320855587e1d9c6f7972ebdd6d500000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 \ No newline at end of file diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index a0980ccadd..694e166e86 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -90,32 +90,18 @@ async fn generate_eval_config( /// From given orders, encode them to a collection of Bytes to be used with multicall pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { - let selector: [u8; 4] = AddOrderCall::selector(); - - let tuple_bytes: [u8; 32] = byte_for_tuples(); - let mut data: Vec = Vec::new(); for order in orders { - // The OrderConfigV2 from abigen implemented the `AbiEncode` trait, so - // it could be easily encoded - let encoded_order: Vec = AbiEncode::encode(order.to_owned()); - - // Create a new Vec that will contain the function selector and the - // current encoded_order - let mut order_bytes: Vec = Vec::new(); - - // Add selector to the new Vec - order_bytes.extend_from_slice(&selector); - order_bytes.extend_from_slice(&tuple_bytes); - - // Add encoded_order to the new Vec - order_bytes.extend(encoded_order); + let call_config = AddOrderCall { + config: order.to_owned(), + }; + let encoded_call: Bytes = Bytes::from(AbiEncode::encode(call_config)); - let order_data = Bytes::from(order_bytes); + println!("encoded_call_2: {}", encoded_call); // Push the order bytes - data.push(order_data); + data.push(encoded_call); } return data; From 1b4b95ec200d7aa3ba2890b8ea486939bf4ece82 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 03:31:16 -0400 Subject: [PATCH 083/163] wip: multi deposit tx bytes --- subgraph/tests/utils/transactions/mod.rs | 34 ++++++++---------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 694e166e86..bfe8896825 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -96,11 +96,10 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { let call_config = AddOrderCall { config: order.to_owned(), }; - let encoded_call: Bytes = Bytes::from(AbiEncode::encode(call_config)); - println!("encoded_call_2: {}", encoded_call); + let encoded_call = Bytes::from(AbiEncode::encode(call_config)); - // Push the order bytes + // Push the bytes data.push(encoded_call); } @@ -117,35 +116,24 @@ pub fn generate_multi_deposit( panic!("Mismatch length between provide data"); } - let selector: [u8; 4] = DepositCall::selector(); - println!("Selector: {}", Bytes::from(selector)); - - let tuple_bytes: [u8; 32] = byte_for_tuples(); - let mut data: Vec = Vec::new(); - for token in tokens { - let vault_id = vault_ids.get(0).unwrap().to_owned().to_owned(); - let amount = amounts.get(0).unwrap().to_owned().to_owned(); + for (index, token) in tokens.iter().enumerate() { + // Unwrap since already check the length matched between data + let vault_id = **vault_ids.get(index).unwrap(); + let amount = **amounts.get(index).unwrap(); let call_config = DepositCall { - token: token.to_owned(), + token: *token.to_owned(), vault_id, amount, }; - let encoded_call = AbiEncode::encode(call_config); - println!("encoded_call: {}", Bytes::from(encoded_call)); + let encoded_call = Bytes::from(AbiEncode::encode(call_config)); + + // Push the bytes + data.push(encoded_call); } return data; } - -/// The extra 32 bytes for the start of the tuples. -/// -/// `*TODO*`: Search why the encode function not give this -fn byte_for_tuples() -> [u8; 32] { - let mut result = [0u8; 32]; // Initialize an array with all elements set to 0 - result[31] = 32; // Set the last element to 32 - result -} From c42d78e7f705494cb665ecdc04041a8038414371 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 03:47:43 -0400 Subject: [PATCH 084/163] multi call deposit with config --- subgraph/tests/entities.rs | 16 ++++++++++++--- subgraph/tests/utils/transactions/mod.rs | 26 ++++++++++++++++-------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 0e324eedad..6c214cabc3 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -18,7 +18,7 @@ use utils::{ numbers::get_amount_tokens, transactions::{ approve_tokens, generate_multi_add_order, generate_multi_deposit, generate_order_config, - mint_tokens, + mint_tokens, TestDepositConfig, }, }; @@ -566,9 +566,19 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { // Get a random vaultId let vault_id = generate_random_u256(); - let _ = generate_multi_deposit(vec![&token_a.address()], vec![&vault_id], vec![&amount]); + // Fill struct with the deposit configurations + let deposits_config = TestDepositConfig { + tokens: vec![token_a.address(), token_b.address()], + vault_ids: vec![vault_id; 2], + amounts: vec![amount; 2], + }; - // orderbook.deposit(token, vault_id, amount) + let multi_deposit = generate_multi_deposit(&deposits_config); + + // Send the deposits with multicall + let multicall_func = orderbook.multicall(multi_deposit); + let tx_multicall = multicall_func.send().await.expect("multicall not sent"); + let _ = tx_multicall.await.expect("failed to wait receipt"); // Generate TWO order configs with identical vault ID. // All the TokenVaults with same VaultId should be present in the Vault diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index bfe8896825..2db7256fc1 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -6,7 +6,6 @@ use crate::{ utils::{generate_random_u256, mock_rain_doc}, }; use ethers::{ - contract::EthCall, core::{abi::AbiEncode, k256::ecdsa::SigningKey}, prelude::SignerMiddleware, providers::{Http, Provider}, @@ -14,6 +13,13 @@ use ethers::{ types::{Address, Bytes, U256}, }; +/// A Deposit configuration struct to encode deposit to be used with multicall +pub struct TestDepositConfig { + pub tokens: Vec
, + pub vault_ids: Vec, + pub amounts: Vec, +} + pub async fn mint_tokens( amount: &U256, target: &Address, @@ -107,11 +113,13 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { } /// From given arguments, encode them to a collection of Bytes to be used with multicall -pub fn generate_multi_deposit( - tokens: Vec<&Address>, - vault_ids: Vec<&U256>, - amounts: Vec<&U256>, -) -> Vec { +pub fn generate_multi_deposit(deposit_config: &TestDepositConfig) -> Vec { + let TestDepositConfig { + tokens, + vault_ids, + amounts, + } = deposit_config; + if tokens.len() != vault_ids.len() || tokens.len() != amounts.len() { panic!("Mismatch length between provide data"); } @@ -120,11 +128,11 @@ pub fn generate_multi_deposit( for (index, token) in tokens.iter().enumerate() { // Unwrap since already check the length matched between data - let vault_id = **vault_ids.get(index).unwrap(); - let amount = **amounts.get(index).unwrap(); + let vault_id = *vault_ids.get(index).unwrap(); + let amount = *amounts.get(index).unwrap(); let call_config = DepositCall { - token: *token.to_owned(), + token: *token, vault_id, amount, }; From ada5baf34fc67b49c3bd49c69f303e7e73234aeb Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 04:10:50 -0400 Subject: [PATCH 085/163] wip: query with tx hash --- subgraph/tests/entities.rs | 48 ++++++++++++++++-------- subgraph/tests/utils/transactions/mod.rs | 30 ++++----------- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 6c214cabc3..51d1dcc7e9 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -4,7 +4,7 @@ mod utils; use ethers::{ signers::Signer, - types::{Address, Bytes, U256}, + types::{Address, Bytes, TransactionReceipt, U256}, utils::keccak256, }; use subgraph::{wait, Query}; @@ -567,33 +567,51 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { let vault_id = generate_random_u256(); // Fill struct with the deposit configurations - let deposits_config = TestDepositConfig { - tokens: vec![token_a.address(), token_b.address()], - vault_ids: vec![vault_id; 2], - amounts: vec![amount; 2], - }; + let deposits_config = vec![ + // Config A + TestDepositConfig { + token: token_a.address(), + vault_id: vault_id, + amount, + }, + // Config B + TestDepositConfig { + token: token_b.address(), + vault_id: vault_id, + amount, + }, + ]; let multi_deposit = generate_multi_deposit(&deposits_config); // Send the deposits with multicall let multicall_func = orderbook.multicall(multi_deposit); let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let _ = tx_multicall.await.expect("failed to wait receipt"); + let tx_receipt = tx_multicall.await.expect("failed to wait receipt"); - // Generate TWO order configs with identical vault ID. - // All the TokenVaults with same VaultId should be present in the Vault - // let vault_id = generate_random_u256(); + let deposit_tx_hash = tx_receipt.unwrap().transaction_hash; + println!("deposit_tx_hash: {:?}\n", deposit_tx_hash); - // Encode them to send them with multicall + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + println!("vault_entity_id: {:?}\n", vault_entity_id); // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); - // let vault_entity_id = format!("{}-{:?}", vault_id, wallet_owner.address()); + let response = Query::vault(&vault_entity_id) + .await + .expect("cannot get the query response"); + + println!("response: {:?}\n", response); + + // for (index, deposit) in deposits_config.iter().enumerate() { + // let deposit_id = format!("{}-{}", deposit_tx_hash, index); - // let response = Query::vault(&vault_entity_id) - // .await - // .expect("cannot get the query response"); + // assert!( + // response.deposits.contains(&deposit_id), + // "missing deposit id" + // ); + // } Ok(()) } diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 2db7256fc1..7b2edc8919 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -15,9 +15,9 @@ use ethers::{ /// A Deposit configuration struct to encode deposit to be used with multicall pub struct TestDepositConfig { - pub tokens: Vec
, - pub vault_ids: Vec, - pub amounts: Vec, + pub token: Address, + pub vault_id: U256, + pub amount: U256, } pub async fn mint_tokens( @@ -113,28 +113,14 @@ pub fn generate_multi_add_order(orders: Vec<&OrderConfigV2>) -> Vec { } /// From given arguments, encode them to a collection of Bytes to be used with multicall -pub fn generate_multi_deposit(deposit_config: &TestDepositConfig) -> Vec { - let TestDepositConfig { - tokens, - vault_ids, - amounts, - } = deposit_config; - - if tokens.len() != vault_ids.len() || tokens.len() != amounts.len() { - panic!("Mismatch length between provide data"); - } - +pub fn generate_multi_deposit(deposit_configs: &Vec) -> Vec { let mut data: Vec = Vec::new(); - for (index, token) in tokens.iter().enumerate() { - // Unwrap since already check the length matched between data - let vault_id = *vault_ids.get(index).unwrap(); - let amount = *amounts.get(index).unwrap(); - + for config in deposit_configs { let call_config = DepositCall { - token: *token, - vault_id, - amount, + token: config.token, + vault_id: config.vault_id, + amount: config.amount, }; let encoded_call = Bytes::from(AbiEncode::encode(call_config)); From 15744ec0f39c134a6cb74a5e06403ccabf6a2e6c Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 04:11:17 -0400 Subject: [PATCH 086/163] wip: activate sg deploy ci --- .../tests/utils/deploy/orderbook/setup.rs | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index 7503e0313a..b0e26c53e6 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,19 +36,18 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - // let sg_config = Config { - // contract_address: &format!("{:?}", orderbook.address()), - // block_number: get_block_number().await.as_u64(), - // }; + let sg_config = Config { + contract_address: &format!("{:?}", orderbook.address()), + block_number: get_block_number().await.as_u64(), + }; - // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - // if is_sg_deployed { - // Ok(orderbook) - // } else { - // Err(OrderBookSetupError::SgDeployError()) - // } - Ok(orderbook) + if is_sg_deployed { + Ok(orderbook) + } else { + Err(OrderBookSetupError::SgDeployError()) + } } async fn try_ob_deploy( From beb72a649d7b8c90bb2a38c615ab68384ef6cb5a Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 04:23:07 -0400 Subject: [PATCH 087/163] query test for vault after deposits --- subgraph/tests/entities.rs | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 51d1dcc7e9..322189a4ab 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -4,7 +4,7 @@ mod utils; use ethers::{ signers::Signer, - types::{Address, Bytes, TransactionReceipt, U256}, + types::{Address, Bytes, U256}, utils::keccak256, }; use subgraph::{wait, Query}; @@ -23,7 +23,7 @@ use utils::{ }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -50,7 +50,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -86,7 +86,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -127,7 +127,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -246,7 +246,7 @@ async fn order_entity_add_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -308,7 +308,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -395,7 +395,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -587,13 +587,11 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { // Send the deposits with multicall let multicall_func = orderbook.multicall(multi_deposit); let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let tx_receipt = tx_multicall.await.expect("failed to wait receipt"); + let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); - let deposit_tx_hash = tx_receipt.unwrap().transaction_hash; - println!("deposit_tx_hash: {:?}\n", deposit_tx_hash); + let deposit_tx_hash = &tx_receipt.transaction_hash; let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); - println!("vault_entity_id: {:?}\n", vault_entity_id); // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); @@ -604,19 +602,19 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { println!("response: {:?}\n", response); - // for (index, deposit) in deposits_config.iter().enumerate() { - // let deposit_id = format!("{}-{}", deposit_tx_hash, index); + for index in 0..deposits_config.len() { + let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); - // assert!( - // response.deposits.contains(&deposit_id), - // "missing deposit id" - // ); - // } + assert!( + response.deposits.contains(&deposit_id), + "missing deposit id" + ); + } Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); From cf96252b2894621baa810913b6109aef64cd954e Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 04:23:29 -0400 Subject: [PATCH 088/163] query test for vault after deposits --- subgraph/tests/entities.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 322189a4ab..e70fa170fb 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -600,8 +600,6 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { .await .expect("cannot get the query response"); - println!("response: {:?}\n", response); - for index in 0..deposits_config.len() { let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); From 8c2a7bde1b4fa2f1f672b7a1d06291dde9988ef5 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 15:59:24 -0400 Subject: [PATCH 089/163] testing whole entity after deposit --- subgraph/tests/entities.rs | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e70fa170fb..74437e9732 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -566,7 +566,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { // Get a random vaultId let vault_id = generate_random_u256(); - // Fill struct with the deposit configurations + // Fill struct with same vaultId in the deposit configurations let deposits_config = vec![ // Config A TestDepositConfig { @@ -593,20 +593,35 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + // Generate the expetect Token Vault IDs + let token_vault_a = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_a.address()); + let token_vault_b = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_b.address()); + // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); - let response = Query::vault(&vault_entity_id) + let resp = Query::vault(&vault_entity_id) .await .expect("cannot get the query response"); + // The whole entity should be created normally + assert_eq!(resp.id, vault_entity_id); + assert_eq!(resp.vault_id, vault_id); + assert_eq!(resp.owner, alice.address()); + assert!( + resp.token_vaults.contains(&token_vault_a), + "Missing tokenVault id" + ); + assert!( + resp.token_vaults.contains(&token_vault_b), + "Missing tokenVault id" + ); + + // Should include the deposits made for index in 0..deposits_config.len() { let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); - assert!( - response.deposits.contains(&deposit_id), - "missing deposit id" - ); + assert!(resp.deposits.contains(&deposit_id), "missing deposit id"); } Ok(()) From d43d57db8bd07385999c304a63e382271e76a154 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 16:16:32 -0400 Subject: [PATCH 090/163] test vault after add order and deposit --- subgraph/tests/entities.rs | 150 ++++++++++++++++++++++++++++++++++--- 1 file changed, 141 insertions(+), 9 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 74437e9732..feec409fa9 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -23,7 +23,7 @@ use utils::{ }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -50,7 +50,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -86,7 +86,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -127,8 +127,8 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] -async fn order_entity_add_test() -> anyhow::Result<()> { +// #[test] +async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); // Connect the orderbook to another wallet @@ -246,7 +246,7 @@ async fn order_entity_add_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -308,7 +308,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -395,7 +395,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -517,7 +517,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -627,7 +627,139 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] #[test] +async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // The expected vault entity SG ID + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Build OrderConfig with the vaultId + let order_config = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let _ = add_order_func + .send() + .await + .expect("order not sent") + .await + .expect("cannot wait receipt"); + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // First query when adding order + let resp = Query::vault(&vault_entity_id) + .await + .expect("cannot get the query response"); + + // The whole entity should be created normally when adding the order + assert_eq!(resp.id, vault_entity_id); + + // Now, make the deposits with a given amount + let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // Fill to Alice with tokens (A and B) + mint_tokens(&amount, &alice.address(), &token_a) + .await + .expect("cannot mint tokens"); + + mint_tokens(&amount, &alice.address(), &token_b) + .await + .expect("cannot mint tokens"); + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount, + &orderbook.address(), + &token_a.connect(&alice).await, + ) + .await + .expect("cannot approve tokens"); + + approve_tokens( + &amount, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await + .expect("cannot approve tokens"); + + // Fill struct with same vaultId in the deposit configurations + let deposits_config = vec![ + // Config A + TestDepositConfig { + token: token_a.address(), + vault_id: vault_id, + amount, + }, + // Config B + TestDepositConfig { + token: token_b.address(), + vault_id: vault_id, + amount, + }, + ]; + // The multi deposit data bytes + let multi_deposit = generate_multi_deposit(&deposits_config); + + // Send the deposits with multicall + let multicall_func = orderbook.multicall(multi_deposit); + let tx_multicall = multicall_func.send().await.expect("multicall not sent"); + let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); + + let deposit_tx_hash = &tx_receipt.transaction_hash; + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // Second query, using same vault entity ID. + let resp = Query::vault(&vault_entity_id) + .await + .expect("cannot get the query response"); + + // Should include the deposits made in same vault entity + for index in 0..deposits_config.len() { + let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); + + assert!(resp.deposits.contains(&deposit_id), "missing deposit id"); + } + + Ok(()) +} + +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); From bf4137034f7f999827ee9b5beb4a08f7c318c331 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 23 Oct 2023 16:58:25 -0400 Subject: [PATCH 091/163] wip: clearing --- subgraph/aver.txt | 5 - subgraph/tests/entities.rs | 208 ++++++++++++++++++++++++++++++++++++- 2 files changed, 207 insertions(+), 6 deletions(-) delete mode 100644 subgraph/aver.txt diff --git a/subgraph/aver.txt b/subgraph/aver.txt deleted file mode 100644 index c885b43db0..0000000000 --- a/subgraph/aver.txt +++ /dev/null @@ -1,5 +0,0 @@ -encoded_call_1: 0x847a1bc9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000547382c0d1b23f707918d3c83a77317b71aa847000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000007c8baafa542c57ff9b2b90612bf8ab9e86e22c0900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 -encoded_call_1: 0x847a1bc90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a17fabea4633ce714f1fa4a2dca62c3bac4758d00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005e6cb7e728e1c320855587e1d9c6f7972ebdd6d500000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 - -encoded_call_2: 0x847a1bc9000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000547382c0d1b23f707918d3c83a77317b71aa847000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000007c8baafa542c57ff9b2b90612bf8ab9e86e22c0900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 -encoded_call_2: 0x847a1bc90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a17fabea4633ce714f1fa4a2dca62c3bac4758d00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005e6cb7e728e1c320855587e1d9c6f7972ebdd6d500000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000003ceabf34f394bdea00000000000000000000000022a9b82a6c3d2bfb68f324b2e8367f346dd6f32a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000019020000001003030003080000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039ff0a89c674ee7874a30052746869735f69735f616e5f6578616d706c65011bffe5ffb4a3ff2cde02706170706c69636174696f6e2f6a736f6e00000000000000 \ No newline at end of file diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index feec409fa9..862ebf9670 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -628,7 +628,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -759,6 +759,212 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn vault_entity_clear() -> anyhow::Result<()> { + let alice = get_wallet(0); + let bob = get_wallet(1); + let bounty_bot = get_wallet(2); + + let orderbook = get_orderbook().await.expect("cannot get OB"); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None) + .await + .expect("cannot deploy expression_deployer"); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None) + .await + .expect("failed on deploy erc20 token"); + + // Generate vault ids for each account (Input and Output) + let alice_input_vault = generate_random_u256(); + let alice_output_vault = generate_random_u256(); + let bob_input_vault = generate_random_u256(); + let bob_output_vault = generate_random_u256(); + let bounty_bot_vault_a = generate_random_u256(); + let bounty_bot_vault_b = generate_random_u256(); + + // Order Alice + let order_alice = generate_order_config( + &expression_deployer, + &token_a, + Some(alice_input_vault), + &token_b, + Some(alice_output_vault), + ) + .await; + + // Order Bob + let order_bob = generate_order_config( + &expression_deployer, + &token_b, + Some(bob_input_vault), + &token_a, + Some(bob_output_vault), + ) + .await; + + // Add order alice with Alice connected to the OB + let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); + let _ = add_order_alice.send().await?.await?; + + // Add order bob with Bob connected to the OB + let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); + let _ = add_order_bob.send().await?.await?; + + // Make deposit of corresponded output token + let amount = get_amount_tokens(1000, 18); + + // Alice has token_b as output + mint_tokens(&amount, &alice.address(), &token_b).await?; + + // Approve Alice token_b using to OB + approve_tokens( + &amount, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Deposit using Alice + let deposit_func = + orderbook + .connect(&alice) + .await + .deposit(token_b.address(), alice_output_vault, amount); + let _ = deposit_func.send().await?.await?; + + // Bob has token_a as output + mint_tokens(&amount, &bob.address(), &token_a).await?; + + // Approve Bob token_a using to OB + approve_tokens(&amount, &orderbook.address(), &token_a.connect(&bob).await).await?; + + // Deposit using Bob + let deposit_func = + orderbook + .connect(&bob) + .await + .deposit(token_a.address(), bob_output_vault, amount); + let _ = deposit_func.send().await?.await?; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // The expected vault entity SG ID + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + //////// + + // Build OrderConfig with the vaultId + let order_config = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let _ = add_order_func + .send() + .await + .expect("order not sent") + .await + .expect("cannot wait receipt"); + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // First query when adding order + let resp = Query::vault(&vault_entity_id) + .await + .expect("cannot get the query response"); + + // The whole entity should be created normally when adding the order + assert_eq!(resp.id, vault_entity_id); + + // Now, make the deposits with a given amount + let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // Fill to Alice with tokens (A and B) + mint_tokens(&amount, &alice.address(), &token_a) + .await + .expect("cannot mint tokens"); + + mint_tokens(&amount, &alice.address(), &token_b) + .await + .expect("cannot mint tokens"); + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount, + &orderbook.address(), + &token_a.connect(&alice).await, + ) + .await + .expect("cannot approve tokens"); + + approve_tokens( + &amount, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await + .expect("cannot approve tokens"); + + // Fill struct with same vaultId in the deposit configurations + let deposits_config = vec![ + // Config A + TestDepositConfig { + token: token_a.address(), + vault_id: vault_id, + amount, + }, + // Config B + TestDepositConfig { + token: token_b.address(), + vault_id: vault_id, + amount, + }, + ]; + // The multi deposit data bytes + let multi_deposit = generate_multi_deposit(&deposits_config); + + // Send the deposits with multicall + let multicall_func = orderbook.multicall(multi_deposit); + let tx_multicall = multicall_func.send().await.expect("multicall not sent"); + let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); + + let deposit_tx_hash = &tx_receipt.transaction_hash; + + // Wait for Subgraph sync + wait().await.expect("cannot get SG sync status"); + + // Second query, using same vault entity ID. + let resp = Query::vault(&vault_entity_id) + .await + .expect("cannot get the query response"); + + // Should include the deposits made in same vault entity + for index in 0..deposits_config.len() { + let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); + + assert!(resp.deposits.contains(&deposit_id), "missing deposit id"); + } + + Ok(()) +} + // #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes From 69d00982be6af55457c8a7cf10a7300444754f87 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 24 Oct 2023 19:53:42 -0400 Subject: [PATCH 092/163] obtaining add order events from users --- subgraph/tests/entities.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 862ebf9670..78caa9b68c 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -791,7 +791,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let bounty_bot_vault_a = generate_random_u256(); let bounty_bot_vault_b = generate_random_u256(); - // Order Alice + // Order Alice Configuration let order_alice = generate_order_config( &expression_deployer, &token_a, @@ -801,7 +801,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { ) .await; - // Order Bob + // Order Bob Configuration let order_bob = generate_order_config( &expression_deployer, &token_b, @@ -813,11 +813,13 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // Add order alice with Alice connected to the OB let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); - let _ = add_order_alice.send().await?.await?; + let tx = add_order_alice.send().await.expect("cannot send order"); + let add_order_alice_data = get_add_order_event(orderbook, &tx).await; // Add order bob with Bob connected to the OB let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); - let _ = add_order_bob.send().await?.await?; + let tx = add_order_bob.send().await.expect("cannot send order"); + let add_order_bob_data = get_add_order_event(orderbook, &tx).await; // Make deposit of corresponded output token let amount = get_amount_tokens(1000, 18); From f86863d246cb4d794af217378a79fdd39174b707 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 24 Oct 2023 19:55:07 -0400 Subject: [PATCH 093/163] removing expect from vault entity clear test --- subgraph/tests/entities.rs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 78caa9b68c..9f88458786 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -766,23 +766,15 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let bob = get_wallet(1); let bounty_bot = get_wallet(2); - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None) - .await - .expect("cannot deploy expression_deployer"); + let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); - + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); - + let token_b = deploy_erc20_mock(None).await?; // Generate vault ids for each account (Input and Output) let alice_input_vault = generate_random_u256(); let alice_output_vault = generate_random_u256(); @@ -813,12 +805,12 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // Add order alice with Alice connected to the OB let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); - let tx = add_order_alice.send().await.expect("cannot send order"); + let tx = add_order_alice.send().await?; let add_order_alice_data = get_add_order_event(orderbook, &tx).await; // Add order bob with Bob connected to the OB let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); - let tx = add_order_bob.send().await.expect("cannot send order"); + let tx = add_order_bob.send().await?; let add_order_bob_data = get_add_order_event(orderbook, &tx).await; // Make deposit of corresponded output token From 45b3d2a72468b5b0018f3519309d58d0fb666107 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 24 Oct 2023 19:55:30 -0400 Subject: [PATCH 094/163] removing expect from vault entity clear test --- subgraph/tests/entities.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 9f88458786..3f57dc8417 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -766,7 +766,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let bob = get_wallet(1); let bounty_bot = get_wallet(2); - let orderbook = get_orderbook().await?; + let orderbook = get_orderbook().await.expect("cannot get OB"); // Deploy ExpressionDeployerNP for the config let expression_deployer = touch_deployer(None).await?; From 47eb1c0f9c5833ccf781d42f9291716e27d20a9e Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 25 Oct 2023 02:45:32 -0400 Subject: [PATCH 095/163] wip: clear function tx --- subgraph/flake.nix | 5 + subgraph/tests/entities.rs | 301 +++++++++++------- .../tests/utils/deploy/orderbook/setup.rs | 21 +- subgraph/tests/utils/events.rs | 36 ++- subgraph/tests/utils/transactions/mod.rs | 24 +- 5 files changed, 255 insertions(+), 132 deletions(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 178bb6e986..12d70f931d 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -70,10 +70,15 @@ anvil -m "$(cat ./test-mnemonic)" ''); + strong-anvil = pkgs.writeShellScriptBin "strong-anvil" ('' + anvil -m "$(cat ./test-mnemonic)" --code-size-limit 36864 + ''); + end-anvil = pkgs.writeShellScriptBin "end-anvil" ('' kill -9 $(lsof -t -i :8545) ''); + ci-test = pkgs.writeShellScriptBin "ci-test" ('' cargo test -- --test-threads=1 --nocapture; ''); diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 3f57dc8417..774d3c0aa1 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -12,13 +12,17 @@ use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, - events::{get_add_order_event, get_add_order_events, get_new_expression_event}, + events::{ + get_add_order_event, get_add_order_events, get_after_clear_event, get_clear_event, + get_new_expression_event, + }, + gen_abigen::_abigen_rust_generation, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::get_amount_tokens, transactions::{ - approve_tokens, generate_multi_add_order, generate_multi_deposit, generate_order_config, - mint_tokens, TestDepositConfig, + approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_deposit, + generate_order_config, mint_tokens, TestDepositConfig, }, }; @@ -765,6 +769,9 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); let bounty_bot = get_wallet(2); + println!("alice.address(): {:?}", alice.address()); + println!("bob.address(): {:?}", bob.address()); + println!("bounty_bot.address(): {:?}", bounty_bot.address()); let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -802,159 +809,217 @@ async fn vault_entity_clear() -> anyhow::Result<()> { Some(bob_output_vault), ) .await; + println!("Pre call add_order_alice"); // Add order alice with Alice connected to the OB let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); - let tx = add_order_alice.send().await?; + let tx = add_order_alice + .send() + .await + .expect("cannot send add order alice"); let add_order_alice_data = get_add_order_event(orderbook, &tx).await; + println!("Pre call add_order_bob"); + // Add order bob with Bob connected to the OB let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); - let tx = add_order_bob.send().await?; + let tx = add_order_bob + .send() + .await + .expect("cannot send add order bob"); let add_order_bob_data = get_add_order_event(orderbook, &tx).await; // Make deposit of corresponded output token - let amount = get_amount_tokens(1000, 18); + let decimal_a = token_a.decimals().call().await?; + let amount_alice = get_amount_tokens(8, decimal_a); + + let decimal_b = token_b.decimals().call().await?; + let amount_bob = get_amount_tokens(6, decimal_b); // Alice has token_b as output - mint_tokens(&amount, &alice.address(), &token_b).await?; + mint_tokens( + &amount_alice, + &alice.address(), + &token_b, + ) + .await?; // Approve Alice token_b using to OB approve_tokens( - &amount, + // &amount_alice, + &amount_alice, &orderbook.address(), &token_b.connect(&alice).await, ) .await?; + println!("Pre call deposit_func alice"); // Deposit using Alice - let deposit_func = - orderbook - .connect(&alice) - .await - .deposit(token_b.address(), alice_output_vault, amount); + let deposit_func = orderbook.connect(&alice).await.deposit( + token_b.address(), + alice_output_vault, + amount_alice, + ); let _ = deposit_func.send().await?.await?; // Bob has token_a as output - mint_tokens(&amount, &bob.address(), &token_a).await?; + mint_tokens(&amount_bob, &bob.address(), &token_a).await?; // Approve Bob token_a using to OB - approve_tokens(&amount, &orderbook.address(), &token_a.connect(&bob).await).await?; + approve_tokens( + &amount_bob, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + println!("Pre call deposit_func_2 bob"); // Deposit using Bob - let deposit_func = + let deposit_func_2 = orderbook .connect(&bob) .await - .deposit(token_a.address(), bob_output_vault, amount); - let _ = deposit_func.send().await?.await?; - - // Get a random vaultId - let vault_id = generate_random_u256(); - - // The expected vault entity SG ID - let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); - - //////// - - // Build OrderConfig with the vaultId - let order_config = generate_order_config( - &expression_deployer, - &token_a, - Some(vault_id), - &token_b, - Some(vault_id), - ) - .await; - - // Add the order - let add_order_func = orderbook.add_order(order_config.clone()); - let _ = add_order_func - .send() - .await - .expect("order not sent") - .await - .expect("cannot wait receipt"); + .deposit(token_a.address(), bob_output_vault, amount_bob); + let _ = deposit_func_2.send().await?.await?; - // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); - // First query when adding order - let resp = Query::vault(&vault_entity_id) - .await - .expect("cannot get the query response"); - // The whole entity should be created normally when adding the order - assert_eq!(resp.id, vault_entity_id); + // BOUNTY BOT CLEARS THE ORDER + // Clear configuration + let order_alice = &add_order_alice_data.order; + let order_bob = &add_order_bob_data.order; + let clear_config = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); - // Now, make the deposits with a given amount - let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + println!("Pre call clear"); - // Fill to Alice with tokens (A and B) - mint_tokens(&amount, &alice.address(), &token_a) - .await - .expect("cannot mint tokens"); + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); - mint_tokens(&amount, &alice.address(), &token_b) - .await - .expect("cannot mint tokens"); - - // Connect token to Alice and approve Orderbook to move tokens - approve_tokens( - &amount, - &orderbook.address(), - &token_a.connect(&alice).await, - ) - .await - .expect("cannot approve tokens"); - - approve_tokens( - &amount, - &orderbook.address(), - &token_b.connect(&alice).await, - ) - .await - .expect("cannot approve tokens"); - - // Fill struct with same vaultId in the deposit configurations - let deposits_config = vec![ - // Config A - TestDepositConfig { - token: token_a.address(), - vault_id: vault_id, - amount, - }, - // Config B - TestDepositConfig { - token: token_b.address(), - vault_id: vault_id, - amount, - }, - ]; - // The multi deposit data bytes - let multi_deposit = generate_multi_deposit(&deposits_config); - - // Send the deposits with multicall - let multicall_func = orderbook.multicall(multi_deposit); - let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); - - let deposit_tx_hash = &tx_receipt.transaction_hash; - - // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); - - // Second query, using same vault entity ID. - let resp = Query::vault(&vault_entity_id) - .await - .expect("cannot get the query response"); - - // Should include the deposits made in same vault entity - for index in 0..deposits_config.len() { - let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); + let clear_func = orderbook.connect(&bounty_bot).await.clear( + order_alice.to_owned(), + order_bob.to_owned(), + clear_config, + a_signed_context, + b_signed_context, + ); - assert!(resp.deposits.contains(&deposit_id), "missing deposit id"); - } + println!("Pre send clear"); + + let tx = clear_func.send().await?; + println!("Post send clear"); + + let clear_data = get_clear_event(orderbook, &tx).await; + println!("clear_data: {:?}\n", clear_data); + + let after_clear_data = get_after_clear_event(orderbook, &tx).await; + println!("after_clear_data: {:?}\n", after_clear_data); + + // // Get a random vaultId + // let vault_id = generate_random_u256(); + + // // The expected vault entity SG ID + // let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + // //////// + + // // Build OrderConfig with the vaultId + // let order_config = generate_order_config( + // &expression_deployer, + // &token_a, + // Some(vault_id), + // &token_b, + // Some(vault_id), + // ) + // .await; + + // // Add the order + // let add_order_func = orderbook.add_order(order_config.clone()); + // let _ = add_order_func + // .send() + // .await + // .expect("order not sent") + // .await + // .expect("cannot wait receipt"); + + // // Wait for Subgraph sync + // wait().await.expect("cannot get SG sync status"); + + // // First query when adding order + // let resp = Query::vault(&vault_entity_id) + // .await + // .expect("cannot get the query response"); + + // // The whole entity should be created normally when adding the order + // assert_eq!(resp.id, vault_entity_id); + + // // Now, make the deposits with a given amount + // let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // // Fill to Alice with tokens (A and B) + // mint_tokens(&amount, &alice.address(), &token_a) + // .await + // .expect("cannot mint tokens"); + + // mint_tokens(&amount, &alice.address(), &token_b) + // .await + // .expect("cannot mint tokens"); + + // // Connect token to Alice and approve Orderbook to move tokens + // approve_tokens( + // &amount, + // &orderbook.address(), + // &token_a.connect(&alice).await, + // ) + // .await + // .expect("cannot approve tokens"); + + // approve_tokens( + // &amount, + // &orderbook.address(), + // &token_b.connect(&alice).await, + // ) + // .await + // .expect("cannot approve tokens"); + + // // Fill struct with same vaultId in the deposit configurations + // let deposits_config = vec![ + // // Config A + // TestDepositConfig { + // token: token_a.address(), + // vault_id: vault_id, + // amount, + // }, + // // Config B + // TestDepositConfig { + // token: token_b.address(), + // vault_id: vault_id, + // amount, + // }, + // ]; + // // The multi deposit data bytes + // let multi_deposit = generate_multi_deposit(&deposits_config); + + // // Send the deposits with multicall + // let multicall_func = orderbook.multicall(multi_deposit); + // let tx_multicall = multicall_func.send().await.expect("multicall not sent"); + // let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); + + // let deposit_tx_hash = &tx_receipt.transaction_hash; + + // // Wait for Subgraph sync + // wait().await.expect("cannot get SG sync status"); + + // // Second query, using same vault entity ID. + // let resp = Query::vault(&vault_entity_id) + // .await + // .expect("cannot get the query response"); + + // // Should include the deposits made in same vault entity + // for index in 0..deposits_config.len() { + // let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); + + // assert!(resp.deposits.contains(&deposit_id), "missing deposit id"); + // } Ok(()) } diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index b0e26c53e6..7503e0313a 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,18 +36,19 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - let sg_config = Config { - contract_address: &format!("{:?}", orderbook.address()), - block_number: get_block_number().await.as_u64(), - }; + // let sg_config = Config { + // contract_address: &format!("{:?}", orderbook.address()), + // block_number: get_block_number().await.as_u64(), + // }; - let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - if is_sg_deployed { - Ok(orderbook) - } else { - Err(OrderBookSetupError::SgDeployError()) - } + // if is_sg_deployed { + // Ok(orderbook) + // } else { + // Err(OrderBookSetupError::SgDeployError()) + // } + Ok(orderbook) } async fn try_ob_deploy( diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 9ff3da3d9b..3e11a5f618 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,4 +1,4 @@ -use crate::generated::{AddOrderFilter, OrderBook}; +use crate::generated::{AddOrderFilter, AfterClearFilter, ClearFilter, OrderBook}; use crate::generated::{ERC20Mock, TransferFilter}; use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; use ethers::providers::Middleware; @@ -14,14 +14,16 @@ use super::get_provider; async fn get_matched_log(tx: &PendingTransaction<'_, Http>, filter: Filter) -> Option { let tx_hash = tx.tx_hash().clone(); + println!("tx_hash: {:?}", tx_hash); let provider = get_provider().await.unwrap(); + let tx_receipt: TransactionReceipt = provider .get_transaction_receipt(tx_hash) .await .expect("Failed to get the receipt") - .unwrap(); + .expect("receipt empty - maybe not minted yet"); let topic_hash = extract_topic_hash(filter).expect("cannot get the topic hash"); @@ -154,3 +156,33 @@ pub async fn get_new_expression_event( .decode_event::("NewExpression", log.topics, log.data) .expect("cannot decode the event"); } + +pub async fn get_clear_event( + contract: &OrderBook, Wallet>>, + tx: &PendingTransaction<'_, Http>, +) -> ClearFilter { + let filter: Filter = contract.clear_filter().filter; + + let log = get_matched_log(tx, filter) + .await + .expect("there is no topic matched in the transaction"); + + return contract + .decode_event::("Clear", log.topics, log.data) + .expect("cannot decode the event"); +} + +pub async fn get_after_clear_event( + contract: &OrderBook, Wallet>>, + tx: &PendingTransaction<'_, Http>, +) -> AfterClearFilter { + let filter: Filter = contract.after_clear_filter().filter; + + let log = get_matched_log(tx, filter) + .await + .expect("there is no topic matched in the transaction"); + + return contract + .decode_event::("AfterClear", log.topics, log.data) + .expect("cannot decode the event"); +} diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 7b2edc8919..b90fe3e3fe 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -1,6 +1,6 @@ use crate::{ generated::{ - AddOrderCall, DepositCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, + AddOrderCall, ClearConfig, DepositCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, RainterpreterExpressionDeployer, }, utils::{generate_random_u256, mock_rain_doc}, @@ -63,6 +63,7 @@ pub async fn generate_order_config( } } + async fn generate_io( token: &ERC20Mock, Wallet>>, vault_id: Option, @@ -80,12 +81,16 @@ async fn generate_eval_config( SignerMiddleware, Wallet>, >, ) -> EvaluableConfigV2 { - let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); + // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); + let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1;:;"); let (bytecode, constants) = expression_deployer .parse(data_parse.clone()) .await .expect("cannot get value from parse"); + println!("Bytecode: {:?}", bytecode); + println!("constants: {:?}", constants); + // Build the EvaluableConfig and return it EvaluableConfigV2 { deployer: expression_deployer.address(), @@ -131,3 +136,18 @@ pub fn generate_multi_deposit(deposit_configs: &Vec) -> Vec ClearConfig { + ClearConfig { + alice_input_io_index: U256::zero(), + alice_output_io_index: U256::zero(), + bob_input_io_index: U256::zero(), + bob_output_io_index: U256::zero(), + alice_bounty_vault_id: *alice_bounty_vault_id, + bob_bounty_vault_id: *bob_bounty_vault_id, + } +} From 95e771c445ea3b2f2a56f15748d42a26d5f6391f Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 26 Oct 2023 18:54:59 -0400 Subject: [PATCH 096/163] wip: debug clear order --- subgraph/tests/entities.rs | 17 +++++++++-------- subgraph/tests/utils/transactions/mod.rs | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 774d3c0aa1..8dd505e4ad 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -818,6 +818,10 @@ async fn vault_entity_clear() -> anyhow::Result<()> { .await .expect("cannot send add order alice"); let add_order_alice_data = get_add_order_event(orderbook, &tx).await; + println!( + "alice sender: {:?} --- owner: {:?}", + add_order_alice_data.sender, add_order_alice_data.order.owner + ); println!("Pre call add_order_bob"); @@ -828,6 +832,10 @@ async fn vault_entity_clear() -> anyhow::Result<()> { .await .expect("cannot send add order bob"); let add_order_bob_data = get_add_order_event(orderbook, &tx).await; + println!( + "bob sender: {:?} --- owner: {:?}", + add_order_bob_data.sender, add_order_bob_data.order.owner + ); // Make deposit of corresponded output token let decimal_a = token_a.decimals().call().await?; @@ -837,12 +845,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let amount_bob = get_amount_tokens(6, decimal_b); // Alice has token_b as output - mint_tokens( - &amount_alice, - &alice.address(), - &token_b, - ) - .await?; + mint_tokens(&amount_alice, &alice.address(), &token_b).await?; // Approve Alice token_b using to OB approve_tokens( @@ -882,8 +885,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { .deposit(token_a.address(), bob_output_vault, amount_bob); let _ = deposit_func_2.send().await?.await?; - - // BOUNTY BOT CLEARS THE ORDER // Clear configuration let order_alice = &add_order_alice_data.order; diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index b90fe3e3fe..4246361c4b 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -82,7 +82,7 @@ async fn generate_eval_config( >, ) -> EvaluableConfigV2 { // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); - let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1;:;"); + let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); let (bytecode, constants) = expression_deployer .parse(data_parse.clone()) .await From 748e1a091c60b79bdccc5d73642ea84d7bf86bca Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 26 Oct 2023 22:22:02 -0400 Subject: [PATCH 097/163] wip:foundry test for clear orders --- test/concrete/OrderBook.clear.t.sol | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 test/concrete/OrderBook.clear.t.sol diff --git a/test/concrete/OrderBook.clear.t.sol b/test/concrete/OrderBook.clear.t.sol new file mode 100644 index 0000000000..ce4353895e --- /dev/null +++ b/test/concrete/OrderBook.clear.t.sol @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: CAL +pragma solidity =0.8.19; + +import "lib/forge-std/src/Test.sol"; + +// import "test/util/abstract/OrderBookExternalRealTest.sol"; +import "test/util/abstract/OrderBookExternalMockTest.sol"; +import {LibTestAddOrder} from "test/util/lib/LibTestAddOrder.sol"; + +/// @title OrderBookClearTest +/// Tests clearing an order. +contract OrderBookClearTest is OrderBookExternalMockTest { + // + function testClearSimple( + address alice, + OrderConfigV2 memory aliceConfig, + address aliceExpression, + address bob, + OrderConfigV2 memory bobConfig, + address bobExpression + ) public { + // Reducing length to this in both ordes (at the moment) + vm.assume(aliceConfig.validInputs.length == 1); + vm.assume(aliceConfig.validOutputs.length == 1); + vm.assume(aliceConfig.validInputs.length == 1); + vm.assume(aliceConfig.validOutputs.length == 1); + + uint256 inputIOIndex = 0; + uint256 outputIOIndex = 0; + + console.log("Here_1"); + + // + + vm.prank(alice); + (, bytes32 aliceOrderhash) = addOrderMockInternal(alice, aliceConfig, aliceExpression); + vm.prank(bob); + (, bytes32 bobOrderhash) = addOrderMockInternal(bob, bobConfig, bobExpression); + + // assertTrue(aliceOrderhash != bobOrderhash); + + Vm.Log[] memory logs = vm.getRecordedLogs(); + console.log("Here_2"); + + console.log("OrderA:"); + console.logBytes32(aliceOrderhash); + console.log("OrderB:"); + console.logBytes32(bobOrderhash); + + // (Order memory aliceOrder, bytes32 aliceOrderhash) = addOrderMockInternal(alice, aliceConfig, aliceExpression); + // (Order memory bobOrder, bytes32 bobOrderhash) = addOrderMockInternal(bob, bobConfig, bobExpression); + } + + function addOrderMockInternal( + address owner, + OrderConfigV2 memory config, + address expression + ) internal returns (Order memory, bytes32) { + config.evaluableConfig.bytecode = hex"02000000040000000000000000"; + vm.assume(config.validInputs.length > 0); + vm.assume(config.validOutputs.length > 0); + config.meta = new bytes(0); + + return addOrderWithChecks(owner, config, expression); + } + +} From 22cbfc1ea8c0ad49ece5141c7488bf0ab0a50bf4 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 26 Oct 2023 22:24:22 -0400 Subject: [PATCH 098/163] wip: token match in clear order --- test/concrete/OrderBook.clear.t.sol | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/concrete/OrderBook.clear.t.sol b/test/concrete/OrderBook.clear.t.sol index ce4353895e..d7e90475b2 100644 --- a/test/concrete/OrderBook.clear.t.sol +++ b/test/concrete/OrderBook.clear.t.sol @@ -28,6 +28,13 @@ contract OrderBookClearTest is OrderBookExternalMockTest { uint256 inputIOIndex = 0; uint256 outputIOIndex = 0; + + // The inputs and outpus will match this way. Alice input should match with bob output and viceversa. + aliceConfig.validInputs[inputIOIndex1].token = bobConfig.validOutputs[inputIOIndex2].token; + aliceConfig.validInputs[inputIOIndex1].decimals = bobConfig.validOutputs[inputIOIndex2].decimals; + aliceConfig.validOutputs[outputIOIndex1].token = bobConfig.validInputs[outputIOIndex2].token; + aliceConfig.validOutputs[outputIOIndex1].decimals = bobConfig.validInputs[outputIOIndex2].decimals; + console.log("Here_1"); // From 14eef1e184c80ce369f04d36adec68b9b5ce1e3e Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 26 Oct 2023 22:25:53 -0400 Subject: [PATCH 099/163] wip: token match in clear order --- test/concrete/OrderBook.clear.t.sol | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/concrete/OrderBook.clear.t.sol b/test/concrete/OrderBook.clear.t.sol index d7e90475b2..02abe2585d 100644 --- a/test/concrete/OrderBook.clear.t.sol +++ b/test/concrete/OrderBook.clear.t.sol @@ -19,21 +19,21 @@ contract OrderBookClearTest is OrderBookExternalMockTest { OrderConfigV2 memory bobConfig, address bobExpression ) public { - // Reducing length to this in both ordes (at the moment) + // Reducing length to one (1) in both ordes (at the moment) vm.assume(aliceConfig.validInputs.length == 1); vm.assume(aliceConfig.validOutputs.length == 1); vm.assume(aliceConfig.validInputs.length == 1); vm.assume(aliceConfig.validOutputs.length == 1); + // Both index will be zero (since their valid inputs are reduced) uint256 inputIOIndex = 0; uint256 outputIOIndex = 0; - // The inputs and outpus will match this way. Alice input should match with bob output and viceversa. - aliceConfig.validInputs[inputIOIndex1].token = bobConfig.validOutputs[inputIOIndex2].token; - aliceConfig.validInputs[inputIOIndex1].decimals = bobConfig.validOutputs[inputIOIndex2].decimals; - aliceConfig.validOutputs[outputIOIndex1].token = bobConfig.validInputs[outputIOIndex2].token; - aliceConfig.validOutputs[outputIOIndex1].decimals = bobConfig.validInputs[outputIOIndex2].decimals; + aliceConfig.validInputs[inputIOIndex].token = bobConfig.validOutputs[inputIOIndex].token; + aliceConfig.validInputs[inputIOIndex].decimals = bobConfig.validOutputs[inputIOIndex].decimals; + aliceConfig.validOutputs[outputIOIndex].token = bobConfig.validInputs[outputIOIndex].token; + aliceConfig.validOutputs[outputIOIndex].decimals = bobConfig.validInputs[outputIOIndex].decimals; console.log("Here_1"); From 19ccb1ea944ecb6c32e3b02ef5895a524de10cdb Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 26 Oct 2023 22:47:04 -0400 Subject: [PATCH 100/163] wip: reduce io --- test/concrete/OrderBook.clear.t.sol | 31 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/test/concrete/OrderBook.clear.t.sol b/test/concrete/OrderBook.clear.t.sol index 02abe2585d..62aedca6cf 100644 --- a/test/concrete/OrderBook.clear.t.sol +++ b/test/concrete/OrderBook.clear.t.sol @@ -19,22 +19,23 @@ contract OrderBookClearTest is OrderBookExternalMockTest { OrderConfigV2 memory bobConfig, address bobExpression ) public { - // Reducing length to one (1) in both ordes (at the moment) - vm.assume(aliceConfig.validInputs.length == 1); - vm.assume(aliceConfig.validOutputs.length == 1); - vm.assume(aliceConfig.validInputs.length == 1); - vm.assume(aliceConfig.validOutputs.length == 1); + vm.assume(aliceConfig.validInputs.length > 0); + vm.assume(aliceConfig.validOutputs.length > 0); + vm.assume(aliceConfig.validInputs.length > 0); + vm.assume(aliceConfig.validOutputs.length > 0); + + // // Reducing length to one (1) in both ordes (at the moment) + aliceConfig.validInputs = helperBuildIO(aliceConfig.validInputs); + aliceConfig.validOutputs = helperBuildIO(aliceConfig.validOutputs); + + // // Bob will have the valid IO swapped. + bobConfig.validInputs = aliceConfig.validOutputs; + bobConfig.validOutputs = aliceConfig.validInputs; // Both index will be zero (since their valid inputs are reduced) uint256 inputIOIndex = 0; uint256 outputIOIndex = 0; - // The inputs and outpus will match this way. Alice input should match with bob output and viceversa. - aliceConfig.validInputs[inputIOIndex].token = bobConfig.validOutputs[inputIOIndex].token; - aliceConfig.validInputs[inputIOIndex].decimals = bobConfig.validOutputs[inputIOIndex].decimals; - aliceConfig.validOutputs[outputIOIndex].token = bobConfig.validInputs[outputIOIndex].token; - aliceConfig.validOutputs[outputIOIndex].decimals = bobConfig.validInputs[outputIOIndex].decimals; - console.log("Here_1"); // @@ -58,6 +59,14 @@ contract OrderBookClearTest is OrderBookExternalMockTest { // (Order memory bobOrder, bytes32 bobOrderhash) = addOrderMockInternal(bob, bobConfig, bobExpression); } + // Reduce + function helperBuildIO(IO[] memory io) pure internal returns (IO[] memory) { + IO[] memory ioAux = new IO[](1); + ioAux[0] = io[0]; + + return ioAux; + } + function addOrderMockInternal( address owner, OrderConfigV2 memory config, From f6b680705890caa62b1df0b40f958085be366f14 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 27 Oct 2023 18:01:12 -0400 Subject: [PATCH 101/163] wip clear order with mocks --- test/concrete/OrderBook.clear.mock.t.sol | 104 +++++++++++++++++++++++ test/concrete/OrderBook.clear.t.sol | 83 ------------------ 2 files changed, 104 insertions(+), 83 deletions(-) create mode 100644 test/concrete/OrderBook.clear.mock.t.sol delete mode 100644 test/concrete/OrderBook.clear.t.sol diff --git a/test/concrete/OrderBook.clear.mock.t.sol b/test/concrete/OrderBook.clear.mock.t.sol new file mode 100644 index 0000000000..86edab7061 --- /dev/null +++ b/test/concrete/OrderBook.clear.mock.t.sol @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: CAL +pragma solidity =0.8.19; + +import "lib/forge-std/src/Test.sol"; + +import "test/util/abstract/OrderBookExternalMockTest.sol"; +import {LibTestAddOrder} from "test/util/lib/LibTestAddOrder.sol"; + + + +/// @title OrderBookClearTest +/// Tests clearing an order. +contract OrderBookClearTest is OrderBookExternalMockTest { + // + // function testClearSimple(address alice) public { + function testClearSimple( + address alice, + OrderConfigV2 memory aliceConfig, + uint256 aliceVaultId, + address bob, + OrderConfigV2 memory bobConfig, + uint256 bobVaultId, + address expression, + address bountyBot + ) public { + // Different accounts + vm.assume(alice != bob); + vm.assume(alice != bountyBot); + vm.assume(bob != bountyBot); + + (Order memory aliceOrder, ) = _addOrderMockInternal(alice, aliceConfig, expression, iToken0, iToken1); + + (Order memory bobOrder, ) = _addOrderMockInternal(bob, bobConfig, expression, iToken1, iToken0); + + // 2e18 tokens will be deposit for both (alice and bob) + uint256 amount = 2e18; + + // Alice deposit his output token + _depositInternal(alice, iToken1, aliceVaultId, amount); + assertEq(iOrderbook.vaultBalance(alice, address(iToken1), aliceVaultId), amount); + + // Bob deposit his output token + _depositInternal(bob, iToken0, bobVaultId, amount); + assertEq(iOrderbook.vaultBalance(bob, address(iToken0), bobVaultId), amount); + + ClearConfig memory configClear = ClearConfig(0, 0, 0, 0, 0, 0); + + vm.prank(bountyBot); + + uint256[] memory orderStack = new uint256[](2); + orderStack[0] = 1e18; // orderOutputMax + orderStack[1] = 1; // orderIORatio + + // Mock the interpreter.eval + vm.mockCall( + address(iInterpreter), + abi.encodeWithSelector(IInterpreterV1.eval.selector), + abi.encode(orderStack, new uint256[](0)) + ); + + iOrderbook.clear(aliceOrder, bobOrder, configClear, new SignedContextV1[](0), new SignedContextV1[](0)); + } + + + function _addOrderMockInternal( + address owner, + OrderConfigV2 memory config, + address expression, + IERC20 inputToken, + IERC20 outputToken + ) internal returns (Order memory, bytes32) { + vm.assume(config.validInputs.length > 0); + vm.assume(config.validOutputs.length > 0); + config.evaluableConfig.bytecode = hex"02000000040000000000000000"; + config.meta = new bytes(0); + + config.validInputs = _helperBuildIO(config.validInputs, address(inputToken), 18); + config.validOutputs = _helperBuildIO(config.validOutputs, address(outputToken), 18); + + + return addOrderWithChecks(owner, config, expression); + } + + function _depositInternal(address depositor, IERC20 token, uint256 vaultId, uint256 amount) internal { + vm.prank(depositor); + vm.mockCall( + address(token), + abi.encodeWithSelector(IERC20.transferFrom.selector, depositor, address(iOrderbook), amount), + abi.encode(true) + ); + iOrderbook.deposit(address(token), vaultId, amount); + } + + // Remove a given IO to have only index, with a given token and decimal + function _helperBuildIO(IO[] memory io, address newToken, uint8 newDecimals) pure internal returns (IO[] memory) { + IO[] memory ioAux = new IO[](1); + + ioAux[0] = io[0]; + ioAux[0].token = newToken; + ioAux[0].decimals = newDecimals; + + return ioAux; + } +} diff --git a/test/concrete/OrderBook.clear.t.sol b/test/concrete/OrderBook.clear.t.sol deleted file mode 100644 index 62aedca6cf..0000000000 --- a/test/concrete/OrderBook.clear.t.sol +++ /dev/null @@ -1,83 +0,0 @@ -// SPDX-License-Identifier: CAL -pragma solidity =0.8.19; - -import "lib/forge-std/src/Test.sol"; - -// import "test/util/abstract/OrderBookExternalRealTest.sol"; -import "test/util/abstract/OrderBookExternalMockTest.sol"; -import {LibTestAddOrder} from "test/util/lib/LibTestAddOrder.sol"; - -/// @title OrderBookClearTest -/// Tests clearing an order. -contract OrderBookClearTest is OrderBookExternalMockTest { - // - function testClearSimple( - address alice, - OrderConfigV2 memory aliceConfig, - address aliceExpression, - address bob, - OrderConfigV2 memory bobConfig, - address bobExpression - ) public { - vm.assume(aliceConfig.validInputs.length > 0); - vm.assume(aliceConfig.validOutputs.length > 0); - vm.assume(aliceConfig.validInputs.length > 0); - vm.assume(aliceConfig.validOutputs.length > 0); - - // // Reducing length to one (1) in both ordes (at the moment) - aliceConfig.validInputs = helperBuildIO(aliceConfig.validInputs); - aliceConfig.validOutputs = helperBuildIO(aliceConfig.validOutputs); - - // // Bob will have the valid IO swapped. - bobConfig.validInputs = aliceConfig.validOutputs; - bobConfig.validOutputs = aliceConfig.validInputs; - - // Both index will be zero (since their valid inputs are reduced) - uint256 inputIOIndex = 0; - uint256 outputIOIndex = 0; - - console.log("Here_1"); - - // - - vm.prank(alice); - (, bytes32 aliceOrderhash) = addOrderMockInternal(alice, aliceConfig, aliceExpression); - vm.prank(bob); - (, bytes32 bobOrderhash) = addOrderMockInternal(bob, bobConfig, bobExpression); - - // assertTrue(aliceOrderhash != bobOrderhash); - - Vm.Log[] memory logs = vm.getRecordedLogs(); - console.log("Here_2"); - - console.log("OrderA:"); - console.logBytes32(aliceOrderhash); - console.log("OrderB:"); - console.logBytes32(bobOrderhash); - - // (Order memory aliceOrder, bytes32 aliceOrderhash) = addOrderMockInternal(alice, aliceConfig, aliceExpression); - // (Order memory bobOrder, bytes32 bobOrderhash) = addOrderMockInternal(bob, bobConfig, bobExpression); - } - - // Reduce - function helperBuildIO(IO[] memory io) pure internal returns (IO[] memory) { - IO[] memory ioAux = new IO[](1); - ioAux[0] = io[0]; - - return ioAux; - } - - function addOrderMockInternal( - address owner, - OrderConfigV2 memory config, - address expression - ) internal returns (Order memory, bytes32) { - config.evaluableConfig.bytecode = hex"02000000040000000000000000"; - vm.assume(config.validInputs.length > 0); - vm.assume(config.validOutputs.length > 0); - config.meta = new bytes(0); - - return addOrderWithChecks(owner, config, expression); - } - -} From 53440de7157d726738aa0e6584d5a5fe8304e980 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 27 Oct 2023 19:53:10 -0400 Subject: [PATCH 102/163] wip: clear test --- test/concrete/OrderBook.clear.mock.t.sol | 36 +++++++++++++++--------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/test/concrete/OrderBook.clear.mock.t.sol b/test/concrete/OrderBook.clear.mock.t.sol index 86edab7061..82574d064c 100644 --- a/test/concrete/OrderBook.clear.mock.t.sol +++ b/test/concrete/OrderBook.clear.mock.t.sol @@ -21,47 +21,55 @@ contract OrderBookClearTest is OrderBookExternalMockTest { OrderConfigV2 memory bobConfig, uint256 bobVaultId, address expression, - address bountyBot + address bountyBot, + uint256 aliceBountyVaultId, + uint256 bobBountyVaultId ) public { // Different accounts vm.assume(alice != bob); vm.assume(alice != bountyBot); vm.assume(bob != bountyBot); - (Order memory aliceOrder, ) = _addOrderMockInternal(alice, aliceConfig, expression, iToken0, iToken1); + // -- Add two orders with similar IO tokens (swapped) + // Add alice order with a input token (iToken0) and output token (iToken1) + (Order memory aliceOrder, bytes32 aliceOrderHash) = _addOrderMockInternal(alice, aliceConfig, expression, iToken0, iToken1); + assertTrue(iOrderbook.orderExists(aliceOrderHash)); - (Order memory bobOrder, ) = _addOrderMockInternal(bob, bobConfig, expression, iToken1, iToken0); + // Add bob order with a input token (iToken1) and output token (iToken0) + (Order memory bobOrder, bytes32 bobOrderHash) = _addOrderMockInternal(bob, bobConfig, expression, iToken1, iToken0); + assertTrue(iOrderbook.orderExists(bobOrderHash)); // 2e18 tokens will be deposit for both (alice and bob) uint256 amount = 2e18; - + // Alice deposit his output token _depositInternal(alice, iToken1, aliceVaultId, amount); - assertEq(iOrderbook.vaultBalance(alice, address(iToken1), aliceVaultId), amount); // Bob deposit his output token _depositInternal(bob, iToken0, bobVaultId, amount); - assertEq(iOrderbook.vaultBalance(bob, address(iToken0), bobVaultId), amount); - - ClearConfig memory configClear = ClearConfig(0, 0, 0, 0, 0, 0); - vm.prank(bountyBot); + // Since all the IO are just 1 length, the IOIndex will be zero (0). + // And vaultIds for the clearer + ClearConfig memory configClear = ClearConfig(0, 0, 0, 0, aliceBountyVaultId, bobBountyVaultId); + // Mock the interpreter.eval that is used inside clear().calculateOrderIO() + // Produce the stack output for OB uint256[] memory orderStack = new uint256[](2); orderStack[0] = 1e18; // orderOutputMax - orderStack[1] = 1; // orderIORatio - - // Mock the interpreter.eval + orderStack[1] = 1; // orderIORatio vm.mockCall( address(iInterpreter), abi.encodeWithSelector(IInterpreterV1.eval.selector), abi.encode(orderStack, new uint256[](0)) ); + // Clear the order using `bountyBot` address as caller clearer. + vm.prank(bountyBot); iOrderbook.clear(aliceOrder, bobOrder, configClear, new SignedContextV1[](0), new SignedContextV1[](0)); } - + /// Add an order using an owner (the caller) and modify the valid IOs to have + /// just one valid IO from an input and output tokens. function _addOrderMockInternal( address owner, OrderConfigV2 memory config, @@ -89,6 +97,8 @@ contract OrderBookClearTest is OrderBookExternalMockTest { abi.encode(true) ); iOrderbook.deposit(address(token), vaultId, amount); + + assertEq(iOrderbook.vaultBalance(depositor, address(token), vaultId), amount); } // Remove a given IO to have only index, with a given token and decimal From cca90e2df58a53b4b106d693f4a303fd4e0fcc69 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 27 Oct 2023 19:58:38 -0400 Subject: [PATCH 103/163] adding comments to the test --- test/concrete/OrderBook.clear.mock.t.sol | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/test/concrete/OrderBook.clear.mock.t.sol b/test/concrete/OrderBook.clear.mock.t.sol index 82574d064c..6f635632b0 100644 --- a/test/concrete/OrderBook.clear.mock.t.sol +++ b/test/concrete/OrderBook.clear.mock.t.sol @@ -6,13 +6,9 @@ import "lib/forge-std/src/Test.sol"; import "test/util/abstract/OrderBookExternalMockTest.sol"; import {LibTestAddOrder} from "test/util/lib/LibTestAddOrder.sol"; - - /// @title OrderBookClearTest /// Tests clearing an order. contract OrderBookClearTest is OrderBookExternalMockTest { - // - // function testClearSimple(address alice) public { function testClearSimple( address alice, OrderConfigV2 memory aliceConfig, @@ -85,10 +81,10 @@ contract OrderBookClearTest is OrderBookExternalMockTest { config.validInputs = _helperBuildIO(config.validInputs, address(inputToken), 18); config.validOutputs = _helperBuildIO(config.validOutputs, address(outputToken), 18); - return addOrderWithChecks(owner, config, expression); } + /// Make a deposit to the OB mocking the internal transferFrom call. function _depositInternal(address depositor, IERC20 token, uint256 vaultId, uint256 amount) internal { vm.prank(depositor); vm.mockCall( @@ -98,10 +94,12 @@ contract OrderBookClearTest is OrderBookExternalMockTest { ); iOrderbook.deposit(address(token), vaultId, amount); + // Check that the vaultBalance was updated assertEq(iOrderbook.vaultBalance(depositor, address(token), vaultId), amount); } - // Remove a given IO to have only index, with a given token and decimal + /// Edit a given IO array to have only one index, with a given token and decimal. + /// This is useful to make matched Orders to do clears. function _helperBuildIO(IO[] memory io, address newToken, uint8 newDecimals) pure internal returns (IO[] memory) { IO[] memory ioAux = new IO[](1); From 1005f8c7635221fa24185a4f70b1ec53cf34d0c0 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 29 Oct 2023 20:50:45 -0400 Subject: [PATCH 104/163] wip: rewrite for events decoders --- subgraph/tests/entities.rs | 56 ++-- .../tests/utils/deploy/orderbook/setup.rs | 21 +- subgraph/tests/utils/events.rs | 269 ++++++++++-------- subgraph/tests/utils/transactions/mod.rs | 3 - 4 files changed, 184 insertions(+), 165 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 8dd505e4ad..c8f9f6d673 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -13,10 +13,8 @@ use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{ - get_add_order_event, get_add_order_events, get_after_clear_event, get_clear_event, - get_new_expression_event, + get_add_order_event, get_after_clear_event, get_clear_event, get_new_expression_event, }, - gen_abigen::_abigen_rust_generation, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::get_amount_tokens, @@ -27,7 +25,7 @@ use utils::{ }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -54,7 +52,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -90,7 +88,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -131,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -164,9 +162,9 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { let tx_add_order = add_order_func.send().await.expect("order not sent"); // Decode events from the transaction - let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await; + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; let new_expression_data = - get_new_expression_event(expression_deployer.clone(), &tx_add_order).await; + get_new_expression_event(expression_deployer.clone(), &tx_add_order).await?; // Wait for Subgraph sync wait().await.expect("cannot get SG sync status"); @@ -250,7 +248,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -282,7 +280,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { let tx_add_order = add_order_func.send().await.expect("order not sent"); // Decode events from the transaction - let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await; + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; let order_hash = Bytes::from(add_order_data.order_hash); @@ -312,7 +310,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -340,7 +338,7 @@ async fn io_entity_test() -> anyhow::Result<()> { let tx_add_order = add_order_func.send().await.expect("order not sent"); // Decode events from the transaction - let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await; + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; // Order hash let order_hash = Bytes::from(add_order_data.order_hash); @@ -399,7 +397,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -521,7 +519,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -632,7 +630,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -769,9 +767,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); let bounty_bot = get_wallet(2); - println!("alice.address(): {:?}", alice.address()); - println!("bob.address(): {:?}", bob.address()); - println!("bounty_bot.address(): {:?}", bounty_bot.address()); let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -809,29 +804,31 @@ async fn vault_entity_clear() -> anyhow::Result<()> { Some(bob_output_vault), ) .await; - println!("Pre call add_order_alice"); + println!("Pre call add_order_alice"); // Add order alice with Alice connected to the OB let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); let tx = add_order_alice .send() - .await - .expect("cannot send add order alice"); - let add_order_alice_data = get_add_order_event(orderbook, &tx).await; + .await? + .log_msg("Pending transfer hash"); + + // let add_order_alice_data = get_add_order_event(orderbook, &tx).await; + let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; println!( "alice sender: {:?} --- owner: {:?}", add_order_alice_data.sender, add_order_alice_data.order.owner ); println!("Pre call add_order_bob"); - // Add order bob with Bob connected to the OB let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); let tx = add_order_bob .send() .await .expect("cannot send add order bob"); - let add_order_bob_data = get_add_order_event(orderbook, &tx).await; + // let add_order_bob_data = get_add_order_event(orderbook, &tx).await; + let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; println!( "bob sender: {:?} --- owner: {:?}", add_order_bob_data.sender, add_order_bob_data.order.owner @@ -876,14 +873,14 @@ async fn vault_entity_clear() -> anyhow::Result<()> { ) .await?; - println!("Pre call deposit_func_2 bob"); + println!("Pre call deposit_func bob"); // Deposit using Bob - let deposit_func_2 = + let deposit_func = orderbook .connect(&bob) .await .deposit(token_a.address(), bob_output_vault, amount_bob); - let _ = deposit_func_2.send().await?.await?; + let _ = deposit_func.send().await?.await?; // BOUNTY BOT CLEARS THE ORDER // Clear configuration @@ -908,6 +905,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let tx = clear_func.send().await?; println!("Post send clear"); + println!("hash: {:?}", &tx.tx_hash()); let clear_data = get_clear_event(orderbook, &tx).await; println!("clear_data: {:?}\n", clear_data); @@ -1025,7 +1023,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index 7503e0313a..b0e26c53e6 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,19 +36,18 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - // let sg_config = Config { - // contract_address: &format!("{:?}", orderbook.address()), - // block_number: get_block_number().await.as_u64(), - // }; + let sg_config = Config { + contract_address: &format!("{:?}", orderbook.address()), + block_number: get_block_number().await.as_u64(), + }; - // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - // if is_sg_deployed { - // Ok(orderbook) - // } else { - // Err(OrderBookSetupError::SgDeployError()) - // } - Ok(orderbook) + if is_sg_deployed { + Ok(orderbook) + } else { + Err(OrderBookSetupError::SgDeployError()) + } } async fn try_ob_deploy( diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 3e11a5f618..e516f54fff 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,7 +1,7 @@ use crate::generated::{AddOrderFilter, AfterClearFilter, ClearFilter, OrderBook}; use crate::generated::{ERC20Mock, TransferFilter}; use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; -use ethers::providers::Middleware; +use anyhow::{Error, Result}; use ethers::{ core::k256::ecdsa::SigningKey, prelude::SignerMiddleware, @@ -12,177 +12,202 @@ use ethers::{ use super::get_provider; -async fn get_matched_log(tx: &PendingTransaction<'_, Http>, filter: Filter) -> Option { - let tx_hash = tx.tx_hash().clone(); - println!("tx_hash: {:?}", tx_hash); - - let provider = get_provider().await.unwrap(); - - - let tx_receipt: TransactionReceipt = provider - .get_transaction_receipt(tx_hash) - .await - .expect("Failed to get the receipt") - .expect("receipt empty - maybe not minted yet"); - - let topic_hash = extract_topic_hash(filter).expect("cannot get the topic hash"); - - for log in tx_receipt.logs.iter() { - if let Some(first_topic) = log.topics.get(0) { - if first_topic == &topic_hash { - return Some(log.clone()); +/// Try to extract the hash value from a Topic (ValueOrArray) type +// fn extract_topic_hash(topic: ValueOrArray>) -> Option { +fn extract_topic_hash(filter: Filter) -> Option { + let option_topic = filter.topics[0].clone(); + + if let Some(topic) = option_topic { + match topic { + Topic::Value(Some(data)) => return Some(data), + Topic::Array(topic) => { + if let Some(data) = topic.get(0) { + return data.clone(); + } else { + return None; + } } + _ => return None, } } None } -/// Get all the logs in a transaction for a given filter. -async fn get_matched_logs(tx: &PendingTransaction<'_, Http>, filter: Filter) -> Option> { - let tx_hash = tx.tx_hash().clone(); +/// Get the first log in a transaction that match the filter +async fn get_matched_log(receipt: TransactionReceipt, filter: Filter) -> Option { + let topic_hash = extract_topic_hash(filter); - let provider = get_provider().await.unwrap(); - - let tx_receipt: TransactionReceipt = provider - .get_transaction_receipt(tx_hash) - .await - .expect("Failed to get the receipt") - .unwrap(); - - let topic_hash = extract_topic_hash(filter).expect("cannot get the topic hash"); - - let mut logs: Vec = Vec::new(); - - for log in tx_receipt.logs.iter() { - if let Some(first_topic) = log.topics.get(0) { - if first_topic == &topic_hash { - logs.push(log.clone()) + if let Some(hash) = topic_hash { + for log in receipt.logs { + if let Some(first_topic) = log.topics.get(0) { + if first_topic == &hash { + return Some(log.clone()); + } } } } - if logs.len() > 0 { - return Some(logs); - } - None } -/// Try to extract the hash value from a Topic (ValueOrArray) type -// fn extract_topic_hash(topic: ValueOrArray>) -> Option { -fn extract_topic_hash(filter: Filter) -> Option { - let topic = filter.topics[0] - .clone() - .expect("failed to get the topic from filter"); - - match topic { - Topic::Value(Some(data)) => Some(data), - Topic::Array(topic) => { - if let Some(data) = topic.get(0) { - return data.clone(); - } else { - return None; +/// Get all the logs in a transaction for a given matched filter. +async fn _get_matched_logs(receipt: TransactionReceipt, filter: Filter) -> Option> { + let topic_hash = extract_topic_hash(filter); + + if let Some(hash) = topic_hash { + let mut logs: Vec = Vec::new(); + // + for log in receipt.logs { + if let Some(first_topic) = log.topics.get(0) { + if first_topic == &hash { + logs.push(log.clone()) + } } } - _ => None, + + if logs.len() > 0 { + return Some(logs); + } } + + None } -pub async fn _get_transfer_event( - contract: ERC20Mock, Wallet>>, - tx: &PendingTransaction<'_, Http>, -) -> TransferFilter { - let filter = contract.transfer_filter().filter; +async fn get_pending_tx(tx_hash: &TxHash) -> Result { + let provider = match get_provider().await { + Ok(data) => data, + Err(e) => return Err(Error::msg(e.to_string())), + }; - let log = get_matched_log(tx, filter) - .await - .expect("there is no topic matched in the transaction"); + let pending_tx = PendingTransaction::new(*tx_hash, provider); - return contract - .decode_event::("Transfer", log.topics, log.data) - .expect("cannot decode the event"); + match pending_tx.await? { + Some(receipt) => return Ok(receipt), + None => return Err(Error::msg("receipt not found")), + }; } pub async fn get_add_order_event( contract: &OrderBook, Wallet>>, - tx: &PendingTransaction<'_, Http>, -) -> AddOrderFilter { + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().add_order_filter().filter; - let log = get_matched_log(tx, filter) - .await - .expect("there is no topic matched in the transaction"); + let option_log = get_matched_log(receipt, filter).await; + + match option_log { + Some(log) => { + let event = + contract.decode_event::("AddOrder", log.topics, log.data)?; - return contract - .decode_event::("AddOrder", log.topics, log.data) - .expect("cannot decode the event"); + return Ok(event); + } + None => return Err(Error::msg("event not found")), + } } -pub async fn get_add_order_events( +pub async fn _get_add_order_events( contract: &OrderBook, Wallet>>, - tx: &PendingTransaction<'_, Http>, -) -> Vec { + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().add_order_filter().filter; - let logs = get_matched_logs(tx, filter) - .await - .expect("there is no topic matched in the transaction"); - - let mut events: Vec = Vec::new(); - - for log in logs { - let event: AddOrderFilter = contract - .decode_event::("AddOrder", log.topics, log.data) - .expect("cannot decode the event"); - - events.push(event); - } + let option_logs = _get_matched_logs(receipt, filter).await; - return events; -} + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); -pub async fn get_new_expression_event( - contract: RainterpreterExpressionDeployer, Wallet>>, - tx: &PendingTransaction<'_, Http>, -) -> NewExpressionFilter { - let filter: Filter = contract.clone().new_expression_filter().filter; + for log in logs { + let event: AddOrderFilter = + contract.decode_event::("AddOrder", log.topics, log.data)?; - let log = get_matched_log(tx, filter) - .await - .expect("there is no topic matched in the transaction"); + events.push(event); + } - return contract - .decode_event::("NewExpression", log.topics, log.data) - .expect("cannot decode the event"); + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } } pub async fn get_clear_event( contract: &OrderBook, Wallet>>, - tx: &PendingTransaction<'_, Http>, -) -> ClearFilter { + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clear_filter().filter; - let log = get_matched_log(tx, filter) - .await - .expect("there is no topic matched in the transaction"); + let option_log = get_matched_log(receipt, filter).await; - return contract - .decode_event::("Clear", log.topics, log.data) - .expect("cannot decode the event"); + match option_log { + Some(log) => { + let event = contract.decode_event::("Clear", log.topics, log.data)?; + return Ok(event); + } + None => return Err(Error::msg("receipt not found")), + } } pub async fn get_after_clear_event( contract: &OrderBook, Wallet>>, - tx: &PendingTransaction<'_, Http>, -) -> AfterClearFilter { + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.after_clear_filter().filter; - let log = get_matched_log(tx, filter) - .await - .expect("there is no topic matched in the transaction"); + let option_log = get_matched_log(receipt, filter).await; + + match option_log { + Some(log) => { + let event = + contract.decode_event::("AfterClear", log.topics, log.data)?; + return Ok(event); + } + None => return Err(Error::msg("event not found")), + } +} + +pub async fn _get_transfer_event( + contract: ERC20Mock, Wallet>>, + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; + let filter = contract.transfer_filter().filter; + + let option_log = get_matched_log(receipt, filter).await; + + match option_log { + Some(log) => { + let event = + contract.decode_event::("Transfer", log.topics, log.data)?; + return Ok(event); + } + None => return Err(Error::msg("event not found")), + } +} - return contract - .decode_event::("AfterClear", log.topics, log.data) - .expect("cannot decode the event"); +pub async fn get_new_expression_event( + contract: RainterpreterExpressionDeployer, Wallet>>, + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().new_expression_filter().filter; + + let option_log = get_matched_log(receipt, filter).await; + + match option_log { + Some(log) => { + let event = contract.decode_event::( + "NewExpression", + log.topics, + log.data, + )?; + return Ok(event); + } + None => return Err(Error::msg("event not found")), + } } diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 4246361c4b..cbad21f31f 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -88,9 +88,6 @@ async fn generate_eval_config( .await .expect("cannot get value from parse"); - println!("Bytecode: {:?}", bytecode); - println!("constants: {:?}", constants); - // Build the EvaluableConfig and return it EvaluableConfigV2 { deployer: expression_deployer.address(), From 9d8fe9b4fbf71d69fc2bc371621240512a61fa76 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 29 Oct 2023 21:00:56 -0400 Subject: [PATCH 105/163] remove print consoles --- subgraph/tests/entities.rs | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index c8f9f6d673..a1fedcc5df 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -805,7 +805,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { ) .await; - println!("Pre call add_order_alice"); // Add order alice with Alice connected to the OB let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); let tx = add_order_alice @@ -815,12 +814,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // let add_order_alice_data = get_add_order_event(orderbook, &tx).await; let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; - println!( - "alice sender: {:?} --- owner: {:?}", - add_order_alice_data.sender, add_order_alice_data.order.owner - ); - println!("Pre call add_order_bob"); // Add order bob with Bob connected to the OB let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); let tx = add_order_bob @@ -829,10 +823,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { .expect("cannot send add order bob"); // let add_order_bob_data = get_add_order_event(orderbook, &tx).await; let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; - println!( - "bob sender: {:?} --- owner: {:?}", - add_order_bob_data.sender, add_order_bob_data.order.owner - ); // Make deposit of corresponded output token let decimal_a = token_a.decimals().call().await?; @@ -853,7 +843,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { ) .await?; - println!("Pre call deposit_func alice"); // Deposit using Alice let deposit_func = orderbook.connect(&alice).await.deposit( token_b.address(), @@ -873,7 +862,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { ) .await?; - println!("Pre call deposit_func bob"); // Deposit using Bob let deposit_func = orderbook @@ -888,8 +876,6 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let order_bob = &add_order_bob_data.order; let clear_config = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); - println!("Pre call clear"); - let a_signed_context: Vec = Vec::new(); let b_signed_context: Vec = Vec::new(); @@ -901,16 +887,12 @@ async fn vault_entity_clear() -> anyhow::Result<()> { b_signed_context, ); - println!("Pre send clear"); - let tx = clear_func.send().await?; - println!("Post send clear"); - println!("hash: {:?}", &tx.tx_hash()); - let clear_data = get_clear_event(orderbook, &tx).await; + let clear_data = get_clear_event(orderbook, &tx).await?; println!("clear_data: {:?}\n", clear_data); - let after_clear_data = get_after_clear_event(orderbook, &tx).await; + let after_clear_data = get_after_clear_event(orderbook, &tx).await?; println!("after_clear_data: {:?}\n", after_clear_data); // // Get a random vaultId From 1b1700663211a5baa39ed4b60841c6e6d0236c69 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 29 Oct 2023 21:59:21 -0400 Subject: [PATCH 106/163] wip: single test --- subgraph/tests/entities.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index a1fedcc5df..ddec3b1934 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -25,7 +25,7 @@ use utils::{ }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -52,7 +52,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -88,7 +88,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await.expect("cannot get OB"); @@ -129,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -248,7 +248,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -310,7 +310,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -397,7 +397,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -519,7 +519,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -630,7 +630,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await.expect("cannot get OB"); @@ -1005,7 +1005,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { Ok(()) } -#[test] +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); From a066c56a15fe391232a2b003cc8b300eab101c4e Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 29 Oct 2023 22:42:50 -0400 Subject: [PATCH 107/163] update response results --- subgraph/tests/entities.rs | 256 ++++++------------ subgraph/tests/subgraph/wait/mod.rs | 2 +- .../tests/utils/deploy/orderbook/setup.rs | 37 +-- subgraph/tests/utils/events.rs | 7 +- subgraph/tests/utils/mod.rs | 6 +- subgraph/tests/utils/setup/mod.rs | 12 +- 6 files changed, 121 insertions(+), 199 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index ddec3b1934..5137a0492d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -13,7 +13,7 @@ use utils::{ cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{ - get_add_order_event, get_after_clear_event, get_clear_event, get_new_expression_event, + _get_new_expression_event, get_add_order_event, get_after_clear_event, get_clear_event, }, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, @@ -27,15 +27,13 @@ use utils::{ #[tokio::main] // #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; // Query the OrderBook entity - let response = Query::orderbook(&orderbook.address()) - .await - .expect("cannot get the ob query response"); + let response = Query::orderbook(&orderbook.address()).await?; // This wallet is used to deploy the OrderBook at initialization, so it is the deployer let wallet_0 = get_wallet(0); @@ -55,10 +53,10 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { // #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it - let _ = get_orderbook().await.expect("cannot get OB"); + let _ = get_orderbook().await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta = read_orderbook_meta(); @@ -67,9 +65,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { let ob_meta_decoded = decode_rain_meta(ob_meta.clone().into())?; // Query the RainMetaV1 entity - let response = Query::rain_meta_v1(&ob_meta_hashed.clone()) - .await - .expect("cannot get the rain meta query response"); + let response = Query::rain_meta_v1(&ob_meta_hashed.clone()).await?; assert_eq!(response.id, ob_meta_hashed); assert_eq!(response.meta_bytes, ob_meta_bytes); @@ -91,10 +87,10 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it - let _ = get_orderbook().await.expect("cannot get OB"); + let _ = get_orderbook().await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta = read_orderbook_meta(); @@ -103,9 +99,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { for content in ob_meta_decoded { // Query the ContentMetaV1 entity - let response = Query::content_meta_v1(&content.hash().as_fixed_bytes().into()) - .await - .expect("cannot get the query response"); + let response = Query::content_meta_v1(&content.hash().as_fixed_bytes().into()).await?; // Make the asserts assert_eq!(response.id, content.hash().as_bytes().to_vec()); @@ -131,26 +125,20 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { #[tokio::main] // #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Connect the orderbook to another wallet let wallet_1 = get_wallet(1); let orderbook = orderbook.connect(&wallet_1).await; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None) - .await - .expect("cannot deploy expression_deployer"); + let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_b = deploy_erc20_mock(None).await?; // Build OrderConfig let order_config = @@ -159,21 +147,19 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { // Add the order let add_order_func = orderbook.add_order(order_config.clone()); - let tx_add_order = add_order_func.send().await.expect("order not sent"); + let tx_add_order = add_order_func.send().await?; // Decode events from the transaction let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; let new_expression_data = - get_new_expression_event(expression_deployer.clone(), &tx_add_order).await?; + _get_new_expression_event(expression_deployer.clone(), &tx_add_order).await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; let order_hash = Bytes::from(add_order_data.order_hash); - let response = Query::order(&order_hash) - .await - .expect("cannot get the query response"); + let response = Query::order(&order_hash).await?; // Data from the event in tx let order_data = add_order_data.order; @@ -250,26 +236,20 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { #[tokio::main] // #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Connect the orderbook to another wallet let wallet_1 = get_wallet(1); let orderbook = orderbook.connect(&wallet_1).await; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None) - .await - .expect("cannot deploy expression_deployer"); + let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_b = deploy_erc20_mock(None).await?; // Build OrderConfig let order_config = @@ -277,7 +257,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { // Add the order let add_order_func = orderbook.add_order(order_config.clone()); - let tx_add_order = add_order_func.send().await.expect("order not sent"); + let tx_add_order = add_order_func.send().await?; // Decode events from the transaction let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; @@ -289,7 +269,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { // Remove the order let remove_order_fnc = orderbook.remove_order(order_data); - let _ = remove_order_fnc.send().await.expect("order not removed"); + let _ = remove_order_fnc.send().await?; // Current order status let is_order_exist: bool = orderbook @@ -298,11 +278,9 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { .await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; - let response = Query::order(&order_hash) - .await - .expect("cannot get the query response"); + let response = Query::order(&order_hash).await?; assert_eq!(response.order_active, is_order_exist, "wrong order status"); @@ -312,22 +290,16 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { #[tokio::main] // #[test] async fn io_entity_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None) - .await - .expect("cannot deploy expression_deployer"); + let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_b = deploy_erc20_mock(None).await?; // Build OrderConfig let order_config = @@ -335,7 +307,7 @@ async fn io_entity_test() -> anyhow::Result<()> { // Add the order let add_order_func = orderbook.add_order(order_config.clone()); - let tx_add_order = add_order_func.send().await.expect("order not sent"); + let tx_add_order = add_order_func.send().await?; // Decode events from the transaction let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; @@ -345,7 +317,7 @@ async fn io_entity_test() -> anyhow::Result<()> { let order_owner: Address = add_order_data.order.owner; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; // Inputs for (index, input) in order_config.valid_inputs.iter().enumerate() { @@ -356,9 +328,7 @@ async fn io_entity_test() -> anyhow::Result<()> { let vault_entity_id = format!("{}-{:?}", vault_id, order_owner); let token_vault_entity_id = format!("{}-{:?}-{:?}", vault_id, order_owner, token); - let response = Query::i_o(&input_id) - .await - .expect("cannot get the query response"); + let response = Query::i_o(&input_id).await?; assert_eq!(response.id, input_id); assert_eq!(response.token, token); @@ -379,9 +349,7 @@ async fn io_entity_test() -> anyhow::Result<()> { let vault_entity_id = format!("{}-{:?}", vault_id, order_owner); let token_vault_entity_id = format!("{}-{:?}-{:?}", vault_id, order_owner, token); - let response = Query::i_o(&output_id) - .await - .expect("cannot get the query response"); + let response = Query::i_o(&output_id).await?; assert_eq!(response.id, output_id); assert_eq!(response.token, token); @@ -399,32 +367,22 @@ async fn io_entity_test() -> anyhow::Result<()> { #[tokio::main] // #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None) - .await - .expect("cannot deploy expression_deployer"); + let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_b = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (C) - let token_c = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_c = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (D) - let token_d = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_d = deploy_erc20_mock(None).await?; // Generate TWO order configs with identical vault ID. // All the TokenVaults with same VaultId should be present in the Vault @@ -456,17 +414,15 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { // Add the orders with multicall let multicall_func = orderbook.multicall(multi_orders); - let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let _ = tx_multicall.await.expect("failed to wait receipt"); + let tx_multicall = multicall_func.send().await?; + let _ = tx_multicall.await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; let vault_entity_id = format!("{}-{:?}", vault_id, wallet_owner.address()); - let response = Query::vault(&vault_entity_id) - .await - .expect("cannot get the query response"); + let response = Query::vault(&vault_entity_id).await?; // Generate the expetect Token Vault IDs let token_vault_a = format!( @@ -521,32 +477,24 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { #[tokio::main] // #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Connect the orderbook to another wallet (arbitrary) to send the orders let alice = get_wallet(2); let orderbook = orderbook.connect(&alice).await; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_b = deploy_erc20_mock(None).await?; let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); // Fill to Alice with tokens (A and B) - mint_tokens(&amount, &alice.address(), &token_a) - .await - .expect("cannot mint tokens"); + mint_tokens(&amount, &alice.address(), &token_a).await?; - mint_tokens(&amount, &alice.address(), &token_b) - .await - .expect("cannot mint tokens"); + mint_tokens(&amount, &alice.address(), &token_b).await?; // Connect token to Alice and approve Orderbook to move tokens approve_tokens( @@ -554,16 +502,14 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { &orderbook.address(), &token_a.connect(&alice).await, ) - .await - .expect("cannot approve tokens"); + .await?; approve_tokens( &amount, &orderbook.address(), &token_b.connect(&alice).await, ) - .await - .expect("cannot approve tokens"); + .await?; // Get a random vaultId let vault_id = generate_random_u256(); @@ -588,8 +534,8 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { // Send the deposits with multicall let multicall_func = orderbook.multicall(multi_deposit); - let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); + let tx_multicall = multicall_func.send().await?; + let tx_receipt = tx_multicall.await?.unwrap(); let deposit_tx_hash = &tx_receipt.transaction_hash; @@ -600,11 +546,9 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { let token_vault_b = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_b.address()); // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; - let resp = Query::vault(&vault_entity_id) - .await - .expect("cannot get the query response"); + let resp = Query::vault(&vault_entity_id).await?; // The whole entity should be created normally assert_eq!(resp.id, vault_entity_id); @@ -632,7 +576,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { #[tokio::main] // #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Connect the orderbook to another wallet (arbitrary) to send the orders let alice = get_wallet(2); @@ -645,19 +589,13 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None) - .await - .expect("cannot deploy expression_deployer"); + let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) - let token_a = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_a = deploy_erc20_mock(None).await?; // Deploy ERC20 token contract (B) - let token_b = deploy_erc20_mock(None) - .await - .expect("failed on deploy erc20 token"); + let token_b = deploy_erc20_mock(None).await?; // Build OrderConfig with the vaultId let order_config = generate_order_config( @@ -671,20 +609,13 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { // Add the order let add_order_func = orderbook.add_order(order_config.clone()); - let _ = add_order_func - .send() - .await - .expect("order not sent") - .await - .expect("cannot wait receipt"); + let _ = add_order_func.send().await?.await?; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; // First query when adding order - let resp = Query::vault(&vault_entity_id) - .await - .expect("cannot get the query response"); + let resp = Query::vault(&vault_entity_id).await?; // The whole entity should be created normally when adding the order assert_eq!(resp.id, vault_entity_id); @@ -693,13 +624,9 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); // Fill to Alice with tokens (A and B) - mint_tokens(&amount, &alice.address(), &token_a) - .await - .expect("cannot mint tokens"); + mint_tokens(&amount, &alice.address(), &token_a).await?; - mint_tokens(&amount, &alice.address(), &token_b) - .await - .expect("cannot mint tokens"); + mint_tokens(&amount, &alice.address(), &token_b).await?; // Connect token to Alice and approve Orderbook to move tokens approve_tokens( @@ -707,16 +634,14 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { &orderbook.address(), &token_a.connect(&alice).await, ) - .await - .expect("cannot approve tokens"); + .await?; approve_tokens( &amount, &orderbook.address(), &token_b.connect(&alice).await, ) - .await - .expect("cannot approve tokens"); + .await?; // Fill struct with same vaultId in the deposit configurations let deposits_config = vec![ @@ -738,18 +663,16 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { // Send the deposits with multicall let multicall_func = orderbook.multicall(multi_deposit); - let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); + let tx_multicall = multicall_func.send().await?; + let tx_receipt = tx_multicall.await?.unwrap(); let deposit_tx_hash = &tx_receipt.transaction_hash; // Wait for Subgraph sync - wait().await.expect("cannot get SG sync status"); + wait().await?; // Second query, using same vault entity ID. - let resp = Query::vault(&vault_entity_id) - .await - .expect("cannot get the query response"); + let resp = Query::vault(&vault_entity_id).await?; // Should include the deposits made in same vault entity for index in 0..deposits_config.len() { @@ -768,7 +691,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let bob = get_wallet(1); let bounty_bot = get_wallet(2); - let orderbook = get_orderbook().await.expect("cannot get OB"); + let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config let expression_deployer = touch_deployer(None).await?; @@ -807,21 +730,12 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // Add order alice with Alice connected to the OB let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); - let tx = add_order_alice - .send() - .await? - .log_msg("Pending transfer hash"); - - // let add_order_alice_data = get_add_order_event(orderbook, &tx).await; + let tx = add_order_alice.send().await?; let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; // Add order bob with Bob connected to the OB let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); - let tx = add_order_bob - .send() - .await - .expect("cannot send add order bob"); - // let add_order_bob_data = get_add_order_event(orderbook, &tx).await; + let tx = add_order_bob.send().await?; let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; // Make deposit of corresponded output token @@ -918,17 +832,17 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // let _ = add_order_func // .send() // .await - // .expect("order not sent") + // ? // .await - // .expect("cannot wait receipt"); + // ?; // // Wait for Subgraph sync - // wait().await.expect("cannot get SG sync status"); + // wait().await?; // // First query when adding order // let resp = Query::vault(&vault_entity_id) // .await - // .expect("cannot get the query response"); + // ?; // // The whole entity should be created normally when adding the order // assert_eq!(resp.id, vault_entity_id); @@ -939,11 +853,11 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // // Fill to Alice with tokens (A and B) // mint_tokens(&amount, &alice.address(), &token_a) // .await - // .expect("cannot mint tokens"); + // ?; // mint_tokens(&amount, &alice.address(), &token_b) // .await - // .expect("cannot mint tokens"); + // ?; // // Connect token to Alice and approve Orderbook to move tokens // approve_tokens( @@ -952,7 +866,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // &token_a.connect(&alice).await, // ) // .await - // .expect("cannot approve tokens"); + // ?; // approve_tokens( // &amount, @@ -960,7 +874,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // &token_b.connect(&alice).await, // ) // .await - // .expect("cannot approve tokens"); + // ?; // // Fill struct with same vaultId in the deposit configurations // let deposits_config = vec![ @@ -982,18 +896,18 @@ async fn vault_entity_clear() -> anyhow::Result<()> { // // Send the deposits with multicall // let multicall_func = orderbook.multicall(multi_deposit); - // let tx_multicall = multicall_func.send().await.expect("multicall not sent"); - // let tx_receipt = tx_multicall.await.expect("failed to wait receipt").unwrap(); + // let tx_multicall = multicall_func.send().await?; + // let tx_receipt = tx_multicall.await?.unwrap(); // let deposit_tx_hash = &tx_receipt.transaction_hash; // // Wait for Subgraph sync - // wait().await.expect("cannot get SG sync status"); + // wait().await?; // // Second query, using same vault entity ID. // let resp = Query::vault(&vault_entity_id) // .await - // .expect("cannot get the query response"); + // ?; // // Should include the deposits made in same vault entity // for index in 0..deposits_config.len() { diff --git a/subgraph/tests/subgraph/wait/mod.rs b/subgraph/tests/subgraph/wait/mod.rs index 24a0778a88..1737a64de1 100644 --- a/subgraph/tests/subgraph/wait/mod.rs +++ b/subgraph/tests/subgraph/wait/mod.rs @@ -23,7 +23,7 @@ use ethers::types::U256; pub struct SyncStatus; pub async fn wait() -> anyhow::Result { - let block_number = get_block_number().await; + let block_number = get_block_number().await?; // let _ = get_orderbook().await.expect("cannot get OB in waiting"); diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index b0e26c53e6..cb53fd7489 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,18 +36,19 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - let sg_config = Config { - contract_address: &format!("{:?}", orderbook.address()), - block_number: get_block_number().await.as_u64(), - }; + // let sg_config = Config { + // contract_address: &format!("{:?}", orderbook.address()), + // block_number: get_block_number().await?.as_u64(), + // }; - let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - if is_sg_deployed { - Ok(orderbook) - } else { - Err(OrderBookSetupError::SgDeployError()) - } + // if is_sg_deployed { + // Ok(orderbook) + // } else { + // Err(OrderBookSetupError::SgDeployError()) + // } + Ok(orderbook) } async fn try_ob_deploy( @@ -58,12 +59,16 @@ async fn try_ob_deploy( } } -pub async fn get_orderbook() -> Result< - &'static OrderBook, Wallet>>, - OrderBookSetupError, -> { - ORDERBOOK +/// Obtain the OB deployed for the test +pub async fn get_orderbook( +) -> Result<&'static OrderBook, Wallet>>> { + let orderbook_lazy = ORDERBOOK .get_or_try_init(|| async { try_ob_deploy().await }) .await - .map_err(|err| OrderBookSetupError::InitDeployOBError(Box::new(err))) + .map_err(|err| OrderBookSetupError::InitDeployOBError(Box::new(err))); + + match orderbook_lazy { + Ok(contract) => Ok(contract), + Err(e) => return Err(anyhow::Error::msg(e.to_string())), + } } diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index e516f54fff..60d70f3a83 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -75,10 +75,7 @@ async fn _get_matched_logs(receipt: TransactionReceipt, filter: Filter) -> Optio } async fn get_pending_tx(tx_hash: &TxHash) -> Result { - let provider = match get_provider().await { - Ok(data) => data, - Err(e) => return Err(Error::msg(e.to_string())), - }; + let provider = get_provider().await?; let pending_tx = PendingTransaction::new(*tx_hash, provider); @@ -190,7 +187,7 @@ pub async fn _get_transfer_event( } } -pub async fn get_new_expression_event( +pub async fn _get_new_expression_event( contract: RainterpreterExpressionDeployer, Wallet>>, tx_hash: &TxHash, ) -> Result { diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 337dcaa731..4003e2b671 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -24,9 +24,9 @@ use std::{ thread, }; -pub async fn get_block_number() -> U64 { - let provider = get_provider().await.expect("cannot get provider"); - return provider.get_block_number().await.unwrap(); +pub async fn get_block_number() -> anyhow::Result { + let provider = get_provider().await?; + Ok(provider.get_block_number().await?) } /// Get the wallet test at the given index diff --git a/subgraph/tests/utils/setup/mod.rs b/subgraph/tests/utils/setup/mod.rs index f793599995..ba9c66ada0 100644 --- a/subgraph/tests/utils/setup/mod.rs +++ b/subgraph/tests/utils/setup/mod.rs @@ -1,4 +1,5 @@ use crate::utils::deploy::{deploy1820, get_meta_address}; +use anyhow::Result; use ethers::providers::{Http, Provider}; use once_cell::sync::Lazy; use thiserror::Error; @@ -36,9 +37,14 @@ async fn provider_node() -> Result, SetupError> { } } -pub async fn get_provider() -> Result<&'static Provider, SetupError> { - PROVIDER +pub async fn get_provider() -> Result<&'static Provider> { + let provider_lazy = PROVIDER .get_or_try_init(|| async { provider_node().await }) .await - .map_err(|err| SetupError::ProviderInstanceError(Box::new(err))) + .map_err(|err| SetupError::ProviderInstanceError(Box::new(err))); + + match provider_lazy { + Ok(provider) => Ok(provider), + Err(e) => return Err(anyhow::Error::msg(e.to_string())), + } } From 7d9f1075a9664065b60d019ec210d63a970d9104 Mon Sep 17 00:00:00 2001 From: NanezX Date: Sun, 29 Oct 2023 23:50:58 -0400 Subject: [PATCH 108/163] order clear finished --- subgraph/tests/entities.rs | 481 +++++++++++++----- .../tests/utils/deploy/orderbook/setup.rs | 24 +- subgraph/tests/utils/events.rs | 32 +- subgraph/tests/utils/transactions/mod.rs | 33 +- 4 files changed, 425 insertions(+), 145 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 5137a0492d..6fd302ae87 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2,6 +2,8 @@ mod generated; mod subgraph; mod utils; +use std::ops::Div; + use ethers::{ signers::Signer, types::{Address, Bytes, U256}, @@ -12,20 +14,19 @@ use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, - events::{ - _get_new_expression_event, get_add_order_event, get_after_clear_event, get_clear_event, - }, + events::{_get_new_expression_event, get_add_order_event}, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::get_amount_tokens, transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_deposit, - generate_order_config, mint_tokens, TestDepositConfig, + generate_multi_withdraw, generate_order_config, mint_tokens, TestDepositConfig, + TestWithdrawConfig, }, }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -50,7 +51,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -84,7 +85,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -123,7 +124,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -234,7 +235,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -288,7 +289,151 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] +async fn order_entity_clear() -> anyhow::Result<()> { + let alice = get_wallet(0); + let bob = get_wallet(1); + let bounty_bot = get_wallet(2); + + let orderbook = get_orderbook().await?; + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None).await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + // Generate vault ids for each account (Input and Output) + let alice_input_vault = generate_random_u256(); + let alice_output_vault = generate_random_u256(); + let bob_input_vault = generate_random_u256(); + let bob_output_vault = generate_random_u256(); + let bounty_bot_vault_a = generate_random_u256(); + let bounty_bot_vault_b = generate_random_u256(); + + // Order Alice Configuration + let order_alice = generate_order_config( + &expression_deployer, + &token_a, + Some(alice_input_vault), + &token_b, + Some(alice_output_vault), + ) + .await; + + // Order Bob Configuration + let order_bob = generate_order_config( + &expression_deployer, + &token_b, + Some(bob_input_vault), + &token_a, + Some(bob_output_vault), + ) + .await; + + // Add order alice with Alice connected to the OB + let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); + let tx = add_order_alice.send().await?; + let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; + + // Add order bob with Bob connected to the OB + let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); + let tx = add_order_bob.send().await?; + let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; + + // Make deposit of corresponded output token + let decimal_a = token_a.decimals().call().await?; + let amount_alice = get_amount_tokens(8, decimal_a); + + let decimal_b = token_b.decimals().call().await?; + let amount_bob = get_amount_tokens(6, decimal_b); + + // Alice has token_b as output + mint_tokens(&amount_alice, &alice.address(), &token_b).await?; + + // Approve Alice token_b using to OB + approve_tokens( + // &amount_alice, + &amount_alice, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Deposit using Alice + let deposit_func = orderbook.connect(&alice).await.deposit( + token_b.address(), + alice_output_vault, + amount_alice, + ); + let _ = deposit_func.send().await?.await?; + + // Bob has token_a as output + mint_tokens(&amount_bob, &bob.address(), &token_a).await?; + + // Approve Bob token_a using to OB + approve_tokens( + &amount_bob, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + + // Deposit using Bob + let deposit_func = + orderbook + .connect(&bob) + .await + .deposit(token_a.address(), bob_output_vault, amount_bob); + let _ = deposit_func.send().await?.await?; + + // BOUNTY BOT CLEARS THE ORDER + // Clear configuration + let order_alice = &add_order_alice_data.order; + let order_bob = &add_order_bob_data.order; + let clear_config = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); + + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); + + let clear_func = orderbook.connect(&bounty_bot).await.clear( + order_alice.to_owned(), + order_bob.to_owned(), + clear_config, + a_signed_context, + b_signed_context, + ); + + // Wait for the transaction + let tx_clear = clear_func.send().await?; + let clear_tx_hash = tx_clear.tx_hash(); + + // Order hashes + let alice_order_hash: Bytes = add_order_alice_data.order_hash.into(); + let bob_order_hash: Bytes = add_order_bob_data.order_hash.into(); + + // Clear ID (using 0 since was only one clear) + let clear_entity_id = format!("{:?}-{}", clear_tx_hash, 0); + + // Querying for both orders that should include the clearr + let response_a = Query::order(&alice_order_hash).await?; + let response_b = Query::order(&bob_order_hash).await?; + + assert!( + response_a.orders_clears.contains(&clear_entity_id), + "missing clear entity" + ); + assert!( + response_b.orders_clears.contains(&clear_entity_id), + "missing clear entity" + ); + + Ok(()) +} + +#[tokio::main] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -365,7 +510,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -475,7 +620,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -574,7 +719,99 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] +async fn vault_entity_withdraw_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Vault Entity ID + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + + // Amount to deposit + let amount_to_deposit = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_to_deposit, &alice.address(), &token_a).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_to_deposit, + &orderbook.address(), + &token_a.connect(&alice).await, + ) + .await?; + + // Send the deposits with multicall + let deposit_func = orderbook.deposit(token_a.address(), vault_id, amount_to_deposit); + let _ = deposit_func.send().await?.await?; + + // Make two withdraw with the half of what was deposited + let amount_to_withdaw = amount_to_deposit.div(2); + + // Fill struct with same vaultId and tokens in the Withdaws configurations + let withdraws_config = vec![ + // Config A + TestWithdrawConfig { + token: token_a.address(), + vault_id: vault_id, + target_amount: amount_to_withdaw, + }, + // Config B + TestWithdrawConfig { + token: token_a.address(), + vault_id: vault_id, + target_amount: amount_to_withdaw, + }, + ]; + + // Encode the withdaws + let multi_withdaws = generate_multi_withdraw(&withdraws_config); + + // Send the deposits with multicall + let multicall_func = orderbook.multicall(multi_withdaws); + let tx_multicall_withdraws = multicall_func.send().await?; + let withdraw_tx_hash = tx_multicall_withdraws.tx_hash(); + + // Generate the expetect Token Vault IDs + let token_vault_a = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_a.address()); + + // Wait for Subgraph sync + wait().await?; + + let resp = Query::vault(&vault_entity_id).await?; + + // The whole entity should be updated normally + assert_eq!(resp.vault_id, vault_id); + assert_eq!(resp.owner, alice.address()); + assert!( + resp.token_vaults.contains(&token_vault_a), + "Missing tokenVault id" + ); + + // Should include the withdraws made + for index in 0..withdraws_config.len() { + let withdraws_id = format!("{:?}-{}", withdraw_tx_hash, index); + + assert!( + resp.withdraws.contains(&withdraws_id), + "missing withdraw id" + ); + } + + Ok(()) +} + +#[tokio::main] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -708,6 +945,10 @@ async fn vault_entity_clear() -> anyhow::Result<()> { let bounty_bot_vault_a = generate_random_u256(); let bounty_bot_vault_b = generate_random_u256(); + // The vaultIds entities for bounty account + let vault_a_entity_id = format!("{}-{:?}", bounty_bot_vault_a, bounty_bot.address()); + let vault_b_entity_id = format!("{}-{:?}", bounty_bot_vault_b, bounty_bot.address()); + // Order Alice Configuration let order_alice = generate_order_config( &expression_deployer, @@ -801,125 +1042,109 @@ async fn vault_entity_clear() -> anyhow::Result<()> { b_signed_context, ); - let tx = clear_func.send().await?; - - let clear_data = get_clear_event(orderbook, &tx).await?; - println!("clear_data: {:?}\n", clear_data); - - let after_clear_data = get_after_clear_event(orderbook, &tx).await?; - println!("after_clear_data: {:?}\n", after_clear_data); - - // // Get a random vaultId - // let vault_id = generate_random_u256(); - - // // The expected vault entity SG ID - // let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); - - // //////// - - // // Build OrderConfig with the vaultId - // let order_config = generate_order_config( - // &expression_deployer, - // &token_a, - // Some(vault_id), - // &token_b, - // Some(vault_id), - // ) - // .await; - - // // Add the order - // let add_order_func = orderbook.add_order(order_config.clone()); - // let _ = add_order_func - // .send() - // .await - // ? - // .await - // ?; - - // // Wait for Subgraph sync - // wait().await?; - - // // First query when adding order - // let resp = Query::vault(&vault_entity_id) - // .await - // ?; - - // // The whole entity should be created normally when adding the order - // assert_eq!(resp.id, vault_entity_id); - - // // Now, make the deposits with a given amount - // let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); - - // // Fill to Alice with tokens (A and B) - // mint_tokens(&amount, &alice.address(), &token_a) - // .await - // ?; - - // mint_tokens(&amount, &alice.address(), &token_b) - // .await - // ?; - - // // Connect token to Alice and approve Orderbook to move tokens - // approve_tokens( - // &amount, - // &orderbook.address(), - // &token_a.connect(&alice).await, - // ) - // .await - // ?; - - // approve_tokens( - // &amount, - // &orderbook.address(), - // &token_b.connect(&alice).await, - // ) - // .await - // ?; - - // // Fill struct with same vaultId in the deposit configurations - // let deposits_config = vec![ - // // Config A - // TestDepositConfig { - // token: token_a.address(), - // vault_id: vault_id, - // amount, - // }, - // // Config B - // TestDepositConfig { - // token: token_b.address(), - // vault_id: vault_id, - // amount, - // }, - // ]; - // // The multi deposit data bytes - // let multi_deposit = generate_multi_deposit(&deposits_config); - - // // Send the deposits with multicall - // let multicall_func = orderbook.multicall(multi_deposit); - // let tx_multicall = multicall_func.send().await?; - // let tx_receipt = tx_multicall.await?.unwrap(); - - // let deposit_tx_hash = &tx_receipt.transaction_hash; - - // // Wait for Subgraph sync - // wait().await?; - - // // Second query, using same vault entity ID. - // let resp = Query::vault(&vault_entity_id) - // .await - // ?; - - // // Should include the deposits made in same vault entity - // for index in 0..deposits_config.len() { - // let deposit_id = format!("{:?}-{}", deposit_tx_hash, index); - - // assert!(resp.deposits.contains(&deposit_id), "missing deposit id"); - // } + // Wait for the transaction + let _ = clear_func.send().await?.await?; + + let token_vault_bounty_a = format!( + "{}-{:?}-{:?}", + bounty_bot_vault_a, + bounty_bot.address(), + token_b.address(), // Using the output of alice order + ); + + let token_vault_bounty_b = format!( + "{}-{:?}-{:?}", + bounty_bot_vault_b, + bounty_bot.address(), + token_a.address(), // Using the output of bob order + ); + + // Querying for both vaults + let resp_a = Query::vault(&vault_a_entity_id).await?; + let resp_b = Query::vault(&vault_b_entity_id).await?; + + // BountyAlice Vault + assert_eq!(resp_a.owner, bounty_bot.address()); + assert_eq!(resp_a.vault_id, bounty_bot_vault_a); + assert!(resp_a.token_vaults.contains(&token_vault_bounty_a)); + + // BountyBob Vault + assert_eq!(resp_b.owner, bounty_bot.address()); + assert_eq!(resp_b.vault_id, bounty_bot_vault_b); + assert!(resp_b.token_vaults.contains(&token_vault_bounty_b)); + + Ok(()) +} + +#[tokio::main] +#[test] +async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + + let amount = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // Fill to Alice with tokens (A and B) + mint_tokens(&amount, &alice.address(), &token_a).await?; + + mint_tokens(&amount, &alice.address(), &token_b).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount, + &orderbook.address(), + &token_a.connect(&alice).await, + ) + .await?; + + approve_tokens( + &amount, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Get a random vaultId + let vault_id = generate_random_u256(); + // Fill struct with same vaultId in the deposit configurations + let deposits_config = vec![ + // Config A + TestDepositConfig { + token: token_a.address(), + vault_id: vault_id, + amount, + }, + // Config B + TestDepositConfig { + token: token_b.address(), + vault_id: vault_id, + amount, + }, + ]; + + let multi_deposit = generate_multi_deposit(&deposits_config); + + // Send the deposits with multicall + let multicall_func = orderbook.multicall(multi_deposit); + let tx_multicall = multicall_func.send().await?; + let tx_receipt = tx_multicall.await?.unwrap(); + + let deposit_tx_hash = &tx_receipt.transaction_hash; + // Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index cb53fd7489..12116e8482 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -36,19 +36,21 @@ pub async fn init_orderbook( .await .expect("cannot deploy OB at setup initialization"); - // let sg_config = Config { - // contract_address: &format!("{:?}", orderbook.address()), - // block_number: get_block_number().await?.as_u64(), - // }; + let sg_config = Config { + contract_address: &format!("{:?}", orderbook.address()), + block_number: get_block_number() + .await + .expect("cannot get block number") + .as_u64(), + }; - // let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); + let is_sg_deployed = deploy(sg_config).expect("cannot deploy OB SG at setup initialization"); - // if is_sg_deployed { - // Ok(orderbook) - // } else { - // Err(OrderBookSetupError::SgDeployError()) - // } - Ok(orderbook) + if is_sg_deployed { + Ok(orderbook) + } else { + Err(OrderBookSetupError::SgDeployError()) + } } async fn try_ob_deploy( diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 60d70f3a83..5ba9fbda46 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,4 +1,4 @@ -use crate::generated::{AddOrderFilter, AfterClearFilter, ClearFilter, OrderBook}; +use crate::generated::{AddOrderFilter, AfterClearFilter, ClearFilter, OrderBook, WithdrawFilter}; use crate::generated::{ERC20Mock, TransferFilter}; use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; use anyhow::{Error, Result}; @@ -131,7 +131,7 @@ pub async fn _get_add_order_events( } } -pub async fn get_clear_event( +pub async fn _get_clear_event( contract: &OrderBook, Wallet>>, tx_hash: &TxHash, ) -> Result { @@ -149,7 +149,7 @@ pub async fn get_clear_event( } } -pub async fn get_after_clear_event( +pub async fn _get_after_clear_event( contract: &OrderBook, Wallet>>, tx_hash: &TxHash, ) -> Result { @@ -208,3 +208,29 @@ pub async fn _get_new_expression_event( None => return Err(Error::msg("event not found")), } } + +pub async fn _get_withdraw_events( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().withdraw_filter().filter; + + let option_logs = _get_matched_logs(receipt, filter).await; + + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); + + for log in logs { + let event: WithdrawFilter = + contract.decode_event::("Withdraw", log.topics, log.data)?; + + events.push(event); + } + + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } +} diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index cbad21f31f..d368fc3c3a 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -1,7 +1,7 @@ use crate::{ generated::{ AddOrderCall, ClearConfig, DepositCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, - RainterpreterExpressionDeployer, + RainterpreterExpressionDeployer, WithdrawCall, }, utils::{generate_random_u256, mock_rain_doc}, }; @@ -20,6 +20,13 @@ pub struct TestDepositConfig { pub amount: U256, } +/// A Withdraw configuration struct to encode withdraw to be used with multicall +pub struct TestWithdrawConfig { + pub token: Address, + pub vault_id: U256, + pub target_amount: U256, +} + pub async fn mint_tokens( amount: &U256, target: &Address, @@ -63,7 +70,6 @@ pub async fn generate_order_config( } } - async fn generate_io( token: &ERC20Mock, Wallet>>, vault_id: Option, @@ -82,7 +88,8 @@ async fn generate_eval_config( >, ) -> EvaluableConfigV2 { // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); - let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); + let data_parse = + Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); let (bytecode, constants) = expression_deployer .parse(data_parse.clone()) .await @@ -134,6 +141,26 @@ pub fn generate_multi_deposit(deposit_configs: &Vec) -> Vec) -> Vec { + let mut data: Vec = Vec::new(); + + for config in configs { + let call_config = WithdrawCall { + token: config.token, + vault_id: config.vault_id, + target_amount: config.target_amount, + }; + + let encoded_call = Bytes::from(AbiEncode::encode(call_config)); + + // Push the bytes + data.push(encoded_call); + } + + return data; +} + /// The function assume that all the IO index are zero. pub fn generate_clear_config( alice_bounty_vault_id: &U256, From bd3e0e43b5c5c28d04efee00e929629d77513857 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 00:14:52 -0400 Subject: [PATCH 109/163] get block data --- subgraph/tests/entities.rs | 12 ++- .../tests/subgraph/query/vault_deposit/mod.rs | 87 +++++++++++++++++++ .../query/vault_deposit/vault_deposit.graphql | 18 ++++ subgraph/tests/utils/deploy/orderbook/mod.rs | 1 + subgraph/tests/utils/events.rs | 1 + subgraph/tests/utils/transactions/mod.rs | 27 +++++- 6 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 subgraph/tests/subgraph/query/vault_deposit/mod.rs create mode 100644 subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 6fd302ae87..c2f7b0f1b9 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -20,8 +20,8 @@ use utils::{ numbers::get_amount_tokens, transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_deposit, - generate_multi_withdraw, generate_order_config, mint_tokens, TestDepositConfig, - TestWithdrawConfig, + generate_multi_withdraw, generate_order_config, get_block_data, mint_tokens, + TestDepositConfig, TestWithdrawConfig, }, }; @@ -1140,6 +1140,14 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { let tx_receipt = tx_multicall.await?.unwrap(); let deposit_tx_hash = &tx_receipt.transaction_hash; + println!("deposit_tx_hash: {:?}", deposit_tx_hash); + + let block_data = get_block_data(&deposit_tx_hash).await?; + let deposit_block_number = block_data.number.unwrap(); + let deposit_block_time = block_data.timestamp; + println!("deposit_block_number: {:?}", deposit_block_number); + println!("deposit_block_time: {:?}", deposit_block_time); + // Ok(()) } diff --git a/subgraph/tests/subgraph/query/vault_deposit/mod.rs b/subgraph/tests/subgraph/query/vault_deposit/mod.rs new file mode 100644 index 0000000000..d36c022b22 --- /dev/null +++ b/subgraph/tests/subgraph/query/vault_deposit/mod.rs @@ -0,0 +1,87 @@ +use self::vault::ResponseData; +use super::SG_URL; +use crate::utils::mn_mpz_to_u256; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/vault/vault.graphql", + reseponse_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct Vault; + +#[derive(Serialize, Deserialize, Debug)] +pub struct VaultResponse { + pub id: String, + pub vault_id: U256, + pub owner: Address, + pub token_vaults: Vec, + pub deposits: Vec, + pub withdraws: Vec, +} + +impl VaultResponse { + pub fn from(response: ResponseData) -> VaultResponse { + let data = response.vault.unwrap(); + + let token_vaults: Vec = data + .token_vaults + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let deposits: Vec = data + .deposits + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let withdraws: Vec = data + .withdraws + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + VaultResponse { + id: data.id, + vault_id: mn_mpz_to_u256(&data.vault_id), + owner: Address::from_slice(&data.owner.id), + token_vaults, + deposits, + withdraws, + } + } +} + +pub async fn get_vault(id: &String) -> Result { + let variables = vault::Variables { + id: id.to_string().into(), + }; + + let request_body = Vault::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = VaultResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql b/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql new file mode 100644 index 0000000000..343a0c801f --- /dev/null +++ b/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql @@ -0,0 +1,18 @@ +query VaultDeposit($id: String) { + vaultDeposit(id: $id) { + id + vaultId + owner { + id + } + tokenVaults { + id + } + deposits { + id + } + withdraws { + id + } + } +} diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs index f9b312e714..95d7108aff 100644 --- a/subgraph/tests/utils/deploy/orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -22,6 +22,7 @@ pub async fn deploy_orderbook( let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); + let client = Arc::new(SignerMiddleware::new( provider.clone(), wallet.clone().with_chain_id(chain_id.as_u64()), diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 5ba9fbda46..86352f4d42 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -79,6 +79,7 @@ async fn get_pending_tx(tx_hash: &TxHash) -> Result { let pending_tx = PendingTransaction::new(*tx_hash, provider); + match pending_tx.await? { Some(receipt) => return Ok(receipt), None => return Err(Error::msg("receipt not found")), diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index d368fc3c3a..8120a63786 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -8,11 +8,13 @@ use crate::{ use ethers::{ core::{abi::AbiEncode, k256::ecdsa::SigningKey}, prelude::SignerMiddleware, - providers::{Http, Provider}, + providers::{Http, Middleware, PendingTransaction, Provider}, signers::Wallet, - types::{Address, Bytes, U256}, + types::{Address, Block, Bytes, TxHash, H256, U256}, }; +use super::get_provider; + /// A Deposit configuration struct to encode deposit to be used with multicall pub struct TestDepositConfig { pub token: Address, @@ -27,6 +29,27 @@ pub struct TestWithdrawConfig { pub target_amount: U256, } +pub async fn get_block_data(tx_hash: &TxHash) -> anyhow::Result<(Block)> { + let provider = get_provider().await?; + + let pending_tx = PendingTransaction::new(*tx_hash, provider); + + let receipt = match pending_tx.await? { + Some(receipt) => receipt, + None => return Err(anyhow::Error::msg("receipt not found")), + }; + + let block_number = match receipt.block_number { + Some(block_number) => block_number, + None => return Err(anyhow::Error::msg("block number not found")), + }; + + match provider.get_block(block_number).await? { + Some(block_data) => Ok(block_data), + None => return Err(anyhow::Error::msg("block data not found")), + } +} + pub async fn mint_tokens( amount: &U256, target: &Address, From f6b1f197a82467b0459cc450bc968c28d6af36f8 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 02:01:13 -0400 Subject: [PATCH 110/163] deposit test --- subgraph/Cargo.lock | 20 +++++ subgraph/Cargo.toml | 2 +- subgraph/tests/entities.rs | 73 ++++++++++------ .../subgraph/query/content_meta_v1/mod.rs | 2 +- subgraph/tests/subgraph/query/io/mod.rs | 2 +- subgraph/tests/subgraph/query/mod.rs | 6 ++ subgraph/tests/subgraph/query/order/mod.rs | 2 +- .../tests/subgraph/query/orderbook/mod.rs | 2 +- .../tests/subgraph/query/rain_meta_v1/mod.rs | 2 +- subgraph/tests/subgraph/query/vault/mod.rs | 2 +- .../tests/subgraph/query/vault_deposit/mod.rs | 84 +++++++++---------- .../query/vault_deposit/vault_deposit.graphql | 17 +++- subgraph/tests/subgraph/wait/mod.rs | 2 +- subgraph/tests/utils/events.rs | 31 ++++++- subgraph/tests/utils/numbers.rs | 17 ++++ subgraph/tests/utils/transactions/mod.rs | 21 ++++- 16 files changed, 202 insertions(+), 83 deletions(-) diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock index 32e515f531..f9235a0bfa 100644 --- a/subgraph/Cargo.lock +++ b/subgraph/Cargo.lock @@ -207,6 +207,19 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bigdecimal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06619be423ea5bb86c95f087d5707942791a08a85530df0db2209a3ecfb8bc9" +dependencies = [ + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -1927,6 +1940,12 @@ version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + [[package]] name = "linux-raw-sys" version = "0.4.10" @@ -3271,6 +3290,7 @@ name = "subgraph" version = "0.1.0" dependencies = [ "anyhow", + "bigdecimal", "clap", "colored", "ethers", diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index ee8a546aa5..8d55cafb89 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -30,5 +30,5 @@ thiserror = "1.0.49" once_cell = "1.18.0" minicbor = "0.20.0" tiny-keccak = "2.0.2" - +bigdecimal = "0.4.2" diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index c2f7b0f1b9..c64f2de144 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -14,19 +14,19 @@ use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, - events::{_get_new_expression_event, get_add_order_event}, + events::{_get_new_expression_event, get_add_order_event, get_deposit_events}, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, - numbers::get_amount_tokens, + numbers::{format_number_with_decimals, get_amount_tokens}, transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_deposit, - generate_multi_withdraw, generate_order_config, get_block_data, mint_tokens, + generate_multi_withdraw, generate_order_config, get_block_data, get_decimals, mint_tokens, TestDepositConfig, TestWithdrawConfig, }, }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -51,7 +51,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -85,7 +85,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -124,7 +124,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -235,7 +235,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -289,7 +289,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_clear() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -433,7 +433,7 @@ async fn order_entity_clear() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -510,7 +510,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -620,7 +620,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -719,7 +719,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -811,7 +811,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -922,7 +922,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_clear() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1139,20 +1139,45 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { let tx_multicall = multicall_func.send().await?; let tx_receipt = tx_multicall.await?.unwrap(); - let deposit_tx_hash = &tx_receipt.transaction_hash; - println!("deposit_tx_hash: {:?}", deposit_tx_hash); + let deposits_tx_hash = &tx_receipt.transaction_hash; + println!("deposits_tx_hash: {:?}", deposits_tx_hash); + + let block_data = get_block_data(&deposits_tx_hash).await?; + + let deposit_events = get_deposit_events(&orderbook, &deposits_tx_hash).await?; + + for (index, deposit) in deposit_events.iter().enumerate() { + let deposit_id = format!("{:?}-{}", deposits_tx_hash, index); - let block_data = get_block_data(&deposit_tx_hash).await?; - let deposit_block_number = block_data.number.unwrap(); - let deposit_block_time = block_data.timestamp; - println!("deposit_block_number: {:?}", deposit_block_number); - println!("deposit_block_time: {:?}", deposit_block_time); + let vault_entity_id = format!("{}-{:?}", deposit.vault_id, alice.address()); + let amount_display = + format_number_with_decimals(deposit.amount, get_decimals(deposit.token).await?); + + let token_vault_entity = format!( + "{}-{:?}-{:?}", + deposit.vault_id, + alice.address(), + deposit.sender, + ); + + let resp = Query::vault_deposit(&deposit_id).await?; + + assert_eq!(resp.sender, alice.address()); + assert_eq!(resp.token, deposit.token); + assert_eq!(resp.vault_id, deposit.vault_id); + assert_eq!(resp.vault, vault_entity_id); + assert_eq!(resp.amount, deposit.amount); + assert_eq!(resp.amount_display, amount_display); + assert_eq!(resp.token_vault, token_vault_entity); + assert_eq!(resp.transaction, *deposits_tx_hash); + assert_eq!(resp.emitter, alice.address()); + assert_eq!(resp.timestamp, block_data.timestamp); + } - // Ok(()) } -#[test] +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs index c28be79352..a1f408bb6a 100644 --- a/subgraph/tests/subgraph/query/content_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/content_meta_v1/mod.rs @@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize}; #[graphql( schema_path = "tests/subgraph/query/schema.json", query_path = "tests/subgraph/query/content_meta_v1/content_meta_v1.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] pub struct ContentMetaV1; diff --git a/subgraph/tests/subgraph/query/io/mod.rs b/subgraph/tests/subgraph/query/io/mod.rs index 30362402ed..d513a3586d 100644 --- a/subgraph/tests/subgraph/query/io/mod.rs +++ b/subgraph/tests/subgraph/query/io/mod.rs @@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize}; #[graphql( schema_path = "tests/subgraph/query/schema.json", query_path = "tests/subgraph/query/io/io.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] #[derive(Serialize, Deserialize, Debug)] pub struct IO; diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 4f6ce8a1ec..3ea5d77de8 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -4,6 +4,7 @@ pub(crate) mod order; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; pub(crate) mod vault; +pub(crate) mod vault_deposit; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -16,6 +17,7 @@ use order::{get_order, OrderResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use vault::{get_vault, VaultResponse}; +use vault_deposit::{get_vault_deposit, VaultDepositResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -46,4 +48,8 @@ impl Query { pub async fn vault(id: &String) -> Result { get_vault(id).await } + + pub async fn vault_deposit(id: &String) -> Result { + get_vault_deposit(id).await + } } diff --git a/subgraph/tests/subgraph/query/order/mod.rs b/subgraph/tests/subgraph/query/order/mod.rs index 8e51500e7d..b0638c0a51 100644 --- a/subgraph/tests/subgraph/query/order/mod.rs +++ b/subgraph/tests/subgraph/query/order/mod.rs @@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize}; #[graphql( schema_path = "tests/subgraph/query/schema.json", query_path = "tests/subgraph/query/order/order.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] #[derive(Serialize, Deserialize, Debug)] pub struct Order; diff --git a/subgraph/tests/subgraph/query/orderbook/mod.rs b/subgraph/tests/subgraph/query/orderbook/mod.rs index 61108ff269..cb762a1de4 100644 --- a/subgraph/tests/subgraph/query/orderbook/mod.rs +++ b/subgraph/tests/subgraph/query/orderbook/mod.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; #[graphql( schema_path = "tests/subgraph/query/schema.json", query_path = "tests/subgraph/query/orderbook/orderbook.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] pub struct OrderBook; diff --git a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs index caaf4b39eb..ed36dc93b7 100644 --- a/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs +++ b/subgraph/tests/subgraph/query/rain_meta_v1/mod.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; #[graphql( schema_path = "tests/subgraph/query/schema.json", query_path = "tests/subgraph/query/rain_meta_v1/rain_meta_v1.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] pub struct RainMetaV1; diff --git a/subgraph/tests/subgraph/query/vault/mod.rs b/subgraph/tests/subgraph/query/vault/mod.rs index d36c022b22..610b6d8e18 100644 --- a/subgraph/tests/subgraph/query/vault/mod.rs +++ b/subgraph/tests/subgraph/query/vault/mod.rs @@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize}; #[graphql( schema_path = "tests/subgraph/query/schema.json", query_path = "tests/subgraph/query/vault/vault.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] #[derive(Serialize, Deserialize, Debug)] pub struct Vault; diff --git a/subgraph/tests/subgraph/query/vault_deposit/mod.rs b/subgraph/tests/subgraph/query/vault_deposit/mod.rs index d36c022b22..2fee66e1ab 100644 --- a/subgraph/tests/subgraph/query/vault_deposit/mod.rs +++ b/subgraph/tests/subgraph/query/vault_deposit/mod.rs @@ -1,73 +1,71 @@ -use self::vault::ResponseData; +use self::vault_deposit::ResponseData; use super::SG_URL; -use crate::utils::mn_mpz_to_u256; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; use anyhow::{anyhow, Result}; +use ethers::types::TxHash; use ethers::types::{Address, Bytes, U256}; use graphql_client::{GraphQLQuery, Response}; use rust_bigint::BigInt; use serde::{Deserialize, Serialize}; +// use bigdecimal::BigDecimal; +type BigDecimal = String; + #[derive(GraphQLQuery)] #[graphql( schema_path = "tests/subgraph/query/schema.json", - query_path = "tests/subgraph/query/vault/vault.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + query_path = "tests/subgraph/query/vault_deposit/vault_deposit.graphql", + response_derives = "Debug, Serialize, Deserialize" )] #[derive(Serialize, Deserialize, Debug)] -pub struct Vault; +pub struct VaultDeposit; #[derive(Serialize, Deserialize, Debug)] -pub struct VaultResponse { +pub struct VaultDepositResponse { pub id: String, + pub sender: Address, + pub token: Address, pub vault_id: U256, - pub owner: Address, - pub token_vaults: Vec, - pub deposits: Vec, - pub withdraws: Vec, + pub vault: String, + pub amount: U256, + pub amount_display: String, + pub token_vault: String, + pub emitter: Address, + pub transaction: TxHash, + pub timestamp: U256, } -impl VaultResponse { - pub fn from(response: ResponseData) -> VaultResponse { - let data = response.vault.unwrap(); - - let token_vaults: Vec = data - .token_vaults - .unwrap() - .iter() - .map(|data| data.id.clone()) - .collect(); - - let deposits: Vec = data - .deposits - .unwrap() - .iter() - .map(|data| data.id.clone()) - .collect(); +impl VaultDepositResponse { + pub fn from(response: ResponseData) -> VaultDepositResponse { + let data = response.vault_deposit.unwrap(); - let withdraws: Vec = data - .withdraws - .unwrap() - .iter() - .map(|data| data.id.clone()) - .collect(); + let sender = Address::from_slice(&data.sender.id); + let token = Address::from_slice(&hex_string_to_bytes(&data.token.id).unwrap()); + let emitter = Address::from_slice(&data.emitter.id); + let transaction = bytes_to_h256(&hex_string_to_bytes(&data.transaction.id).unwrap()); - VaultResponse { + VaultDepositResponse { id: data.id, + sender, + token, vault_id: mn_mpz_to_u256(&data.vault_id), - owner: Address::from_slice(&data.owner.id), - token_vaults, - deposits, - withdraws, + vault: data.vault.id, + amount: mn_mpz_to_u256(&data.amount), + amount_display: data.amount_display, + token_vault: data.token_vault.id, + emitter, + transaction, + timestamp: mn_mpz_to_u256(&data.timestamp), } } } -pub async fn get_vault(id: &String) -> Result { - let variables = vault::Variables { +pub async fn get_vault_deposit(id: &String) -> Result { + let variables = vault_deposit::Variables { id: id.to_string().into(), }; - let request_body = Vault::build_query(variables); + let request_body = VaultDeposit::build_query(variables); let client = reqwest::Client::new(); let res = client .post((*SG_URL).clone()) @@ -75,11 +73,11 @@ pub async fn get_vault(id: &String) -> Result { .send() .await?; - let response_body: Response = res.json().await?; + let response_body: Response = res.json().await?; match response_body.data { Some(data) => { - let response = VaultResponse::from(data); + let response = VaultDepositResponse::from(data); Ok(response) } None => Err(anyhow!("Failed to get query")), diff --git a/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql b/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql index 343a0c801f..31589674ea 100644 --- a/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql +++ b/subgraph/tests/subgraph/query/vault_deposit/vault_deposit.graphql @@ -1,18 +1,27 @@ query VaultDeposit($id: String) { vaultDeposit(id: $id) { id + sender { + id + } + token { + id + } vaultId - owner { + vault { id } - tokenVaults { + amount + amountDisplay + tokenVault { id } - deposits { + transaction { id } - withdraws { + emitter { id } + timestamp } } diff --git a/subgraph/tests/subgraph/wait/mod.rs b/subgraph/tests/subgraph/wait/mod.rs index 1737a64de1..57a554cd2d 100644 --- a/subgraph/tests/subgraph/wait/mod.rs +++ b/subgraph/tests/subgraph/wait/mod.rs @@ -17,7 +17,7 @@ use ethers::types::U256; #[graphql( schema_path = "tests/subgraph/wait/schema.json", query_path = "tests/subgraph/wait/query.graphql", - reseponse_derives = "Debug, Serialize, Deserialize" + response_derives = "Debug, Serialize, Deserialize" )] pub struct SyncStatus; diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 86352f4d42..9c79f2acb7 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,4 +1,6 @@ -use crate::generated::{AddOrderFilter, AfterClearFilter, ClearFilter, OrderBook, WithdrawFilter}; +use crate::generated::{ + AddOrderFilter, AfterClearFilter, ClearFilter, DepositFilter, OrderBook, WithdrawFilter, +}; use crate::generated::{ERC20Mock, TransferFilter}; use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; use anyhow::{Error, Result}; @@ -79,7 +81,6 @@ async fn get_pending_tx(tx_hash: &TxHash) -> Result { let pending_tx = PendingTransaction::new(*tx_hash, provider); - match pending_tx.await? { Some(receipt) => return Ok(receipt), None => return Err(Error::msg("receipt not found")), @@ -235,3 +236,29 @@ pub async fn _get_withdraw_events( None => return Err(Error::msg("events not found")), } } + +pub async fn get_deposit_events( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().deposit_filter().filter; + + let option_logs = _get_matched_logs(receipt, filter).await; + + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); + + for log in logs { + let event: DepositFilter = + contract.decode_event::("Deposit", log.topics, log.data)?; + + events.push(event); + } + + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } +} diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index dbd1acea0d..f972bec927 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -6,3 +6,20 @@ pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { return result; } + +pub fn format_number_with_decimals(number: U256, decimals: u8) -> String { + let mut result = number.to_string(); + + if decimals > 0 { + if result.len() > decimals as usize { + let integer_part = &result[..result.len() - decimals as usize]; + let decimal_part = &result[result.len() - decimals as usize..]; + + result = format!("{}.{}", integer_part, decimal_part); + } else { + result = format!("0.{}", "0".repeat(decimals as usize - result.len())); + } + } + + result +} diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 8120a63786..be793c656b 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -1,3 +1,5 @@ +use std::sync::Arc; + use crate::{ generated::{ AddOrderCall, ClearConfig, DepositCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, @@ -9,11 +11,11 @@ use ethers::{ core::{abi::AbiEncode, k256::ecdsa::SigningKey}, prelude::SignerMiddleware, providers::{Http, Middleware, PendingTransaction, Provider}, - signers::Wallet, + signers::{Signer, Wallet}, types::{Address, Block, Bytes, TxHash, H256, U256}, }; -use super::get_provider; +use super::{get_provider, get_wallet}; /// A Deposit configuration struct to encode deposit to be used with multicall pub struct TestDepositConfig { @@ -70,6 +72,21 @@ pub async fn approve_tokens( Ok(()) } +pub async fn get_decimals(address: Address) -> anyhow::Result { + let wallet = get_wallet(0); + let provider = get_provider().await?; + let chain_id = provider.get_chainid().await?; + + let client = Arc::new(SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(chain_id.as_u64()), + )); + + let contract = ERC20Mock::new(address, client); + + Ok(contract.decimals().call().await?) +} + pub async fn generate_order_config( expression_deployer: &RainterpreterExpressionDeployer< SignerMiddleware, Wallet>, From 215c9a92218ad150efee5ea1c395ae99d4fc79b7 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 02:25:07 -0400 Subject: [PATCH 111/163] wip: fix wrong decimals --- subgraph/tests/entities.rs | 141 ++++++++++++++++-- subgraph/tests/subgraph/query/mod.rs | 5 + .../subgraph/query/vault_withdraw/mod.rs | 89 +++++++++++ .../vault_withdraw/vault_withdraw.graphql | 29 ++++ subgraph/tests/utils/events.rs | 2 +- subgraph/tests/utils/numbers.rs | 21 ++- 6 files changed, 266 insertions(+), 21 deletions(-) create mode 100644 subgraph/tests/subgraph/query/vault_withdraw/mod.rs create mode 100644 subgraph/tests/subgraph/query/vault_withdraw/vault_withdraw.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index c64f2de144..f96cee582c 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -14,7 +14,9 @@ use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, - events::{_get_new_expression_event, get_add_order_event, get_deposit_events}, + events::{ + _get_new_expression_event, get_add_order_event, get_deposit_events, get_withdraw_events, + }, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::{format_number_with_decimals, get_amount_tokens}, @@ -26,7 +28,7 @@ use utils::{ }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -51,7 +53,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -85,7 +87,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -124,7 +126,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -235,7 +237,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -289,7 +291,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_clear() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -433,7 +435,7 @@ async fn order_entity_clear() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -510,7 +512,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -620,7 +622,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -719,7 +721,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -811,7 +813,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -922,7 +924,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_clear() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1146,6 +1148,9 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { let deposit_events = get_deposit_events(&orderbook, &deposits_tx_hash).await?; + // Wait for Subgraph sync + wait().await?; + for (index, deposit) in deposit_events.iter().enumerate() { let deposit_id = format!("{:?}-{}", deposits_tx_hash, index); @@ -1157,7 +1162,7 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { "{}-{:?}-{:?}", deposit.vault_id, alice.address(), - deposit.sender, + deposit.token, ); let resp = Query::vault_deposit(&deposit_id).await?; @@ -1177,7 +1182,113 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { Ok(()) } -// #[test] +#[tokio::main] +#[test] +async fn vault_withdraw_multiple_withdraws() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Vault Entity ID + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + + // Amount to deposit + let amount_to_deposit = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_to_deposit, &alice.address(), &token_a).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_to_deposit, + &orderbook.address(), + &token_a.connect(&alice).await, + ) + .await?; + + // Send the deposits with multicall + let deposit_func = orderbook.deposit(token_a.address(), vault_id, amount_to_deposit); + let _ = deposit_func.send().await?.await?; + + // Make two withdraw with the half of what was deposited + let amount_to_withdaw = amount_to_deposit.div(2); + + // Fill struct with same vaultId and tokens in the Withdaws configurations + let withdraws_config = vec![ + // Config A + TestWithdrawConfig { + token: token_a.address(), + vault_id: vault_id, + target_amount: amount_to_withdaw, + }, + // Config B + TestWithdrawConfig { + token: token_a.address(), + vault_id: vault_id, + target_amount: amount_to_withdaw, + }, + ]; + + // Encode the withdaws + let multi_withdaws = generate_multi_withdraw(&withdraws_config); + + // Send the deposits with multicall + let multicall_func = orderbook.multicall(multi_withdaws); + let tx_multicall_withdraws = multicall_func.send().await?; + let withdraw_tx_hash = tx_multicall_withdraws.tx_hash(); + + let block_data = get_block_data(&withdraw_tx_hash).await?; + + let withdraw_events = get_withdraw_events(&orderbook, &withdraw_tx_hash).await?; + + // Wait for Subgraph sync + wait().await?; + + for (index, withdraw) in withdraw_events.iter().enumerate() { + let withdraw_id = format!("{:?}-{}", withdraw_tx_hash, index); + + let vault_entity_id = format!("{}-{:?}", withdraw.vault_id, alice.address()); + let decimals = get_decimals(withdraw.token).await?; + let amount_display = format_number_with_decimals(withdraw.amount, decimals); + + let requested_amount_display = + format_number_with_decimals(withdraw.target_amount, decimals); + + let token_vault_entity = format!( + "{}-{:?}-{:?}", + withdraw.vault_id, + alice.address(), + withdraw.token, + ); + + let resp = Query::vault_withdraw(&withdraw_id).await?; + + assert_eq!(resp.sender, alice.address()); + assert_eq!(resp.token, withdraw.token); + assert_eq!(resp.vault_id, withdraw.vault_id); + assert_eq!(resp.vault, vault_entity_id); + assert_eq!(resp.requested_amount, withdraw.target_amount); + assert_eq!(resp.requested_amount_display, requested_amount_display); + assert_eq!(resp.amount, withdraw.amount); + assert_eq!(resp.amount_display, amount_display); + assert_eq!(resp.token_vault, token_vault_entity); + assert_eq!(resp.transaction, withdraw_tx_hash); + assert_eq!(resp.emitter, alice.address()); + assert_eq!(resp.timestamp, block_data.timestamp); + } + + Ok(()) +} + +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 3ea5d77de8..e0bf04487a 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -5,6 +5,7 @@ pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; pub(crate) mod vault; pub(crate) mod vault_deposit; +pub(crate) mod vault_withdraw; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -18,6 +19,7 @@ use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; +use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -52,4 +54,7 @@ impl Query { pub async fn vault_deposit(id: &String) -> Result { get_vault_deposit(id).await } + pub async fn vault_withdraw(id: &String) -> Result { + get_vault_withdraw(id).await + } } diff --git a/subgraph/tests/subgraph/query/vault_withdraw/mod.rs b/subgraph/tests/subgraph/query/vault_withdraw/mod.rs new file mode 100644 index 0000000000..9d706446fa --- /dev/null +++ b/subgraph/tests/subgraph/query/vault_withdraw/mod.rs @@ -0,0 +1,89 @@ +use self::vault_withdraw::ResponseData; +use super::SG_URL; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::TxHash; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +// use bigdecimal::BigDecimal; +type BigDecimal = String; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/vault_withdraw/vault_withdraw.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct VaultWithdraw; + +#[derive(Serialize, Deserialize, Debug)] +pub struct VaultWithdrawResponse { + pub id: String, + pub sender: Address, + pub token: Address, + pub vault_id: U256, + pub vault: String, + pub requested_amount: U256, + pub requested_amount_display: String, + pub amount: U256, + pub amount_display: String, + pub token_vault: String, + pub emitter: Address, + pub transaction: TxHash, + pub timestamp: U256, +} + +impl VaultWithdrawResponse { + pub fn from(response: ResponseData) -> VaultWithdrawResponse { + let data = response.vault_withdraw.unwrap(); + + let sender = Address::from_slice(&data.sender.id); + let token = Address::from_slice(&hex_string_to_bytes(&data.token.id).unwrap()); + let emitter = Address::from_slice(&data.emitter.id); + let transaction = bytes_to_h256(&hex_string_to_bytes(&data.transaction.id).unwrap()); + + VaultWithdrawResponse { + id: data.id, + sender, + token, + vault_id: mn_mpz_to_u256(&data.vault_id), + vault: data.vault.id, + requested_amount: mn_mpz_to_u256(&data.requested_amount), + requested_amount_display: data.requested_amount_display, + amount: mn_mpz_to_u256(&data.amount), + amount_display: data.amount_display, + token_vault: data.token_vault.id, + emitter, + transaction, + timestamp: mn_mpz_to_u256(&data.timestamp), + } + } +} + +pub async fn get_vault_withdraw(id: &String) -> Result { + let variables = vault_withdraw::Variables { + id: id.to_string().into(), + }; + + let request_body = VaultWithdraw::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = VaultWithdrawResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/vault_withdraw/vault_withdraw.graphql b/subgraph/tests/subgraph/query/vault_withdraw/vault_withdraw.graphql new file mode 100644 index 0000000000..1c6a830b74 --- /dev/null +++ b/subgraph/tests/subgraph/query/vault_withdraw/vault_withdraw.graphql @@ -0,0 +1,29 @@ +query VaultWithdraw($id: String) { + vaultWithdraw(id: $id) { + id + sender { + id + } + token { + id + } + vaultId + vault { + id + } + requestedAmount + requestedAmountDisplay + amount + amountDisplay + tokenVault { + id + } + transaction { + id + } + emitter { + id + } + timestamp + } +} diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 9c79f2acb7..4625b81a63 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -211,7 +211,7 @@ pub async fn _get_new_expression_event( } } -pub async fn _get_withdraw_events( +pub async fn get_withdraw_events( contract: &OrderBook, Wallet>>, tx_hash: &TxHash, ) -> Result> { diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index f972bec927..c51070ccaf 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -8,17 +8,28 @@ pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { } pub fn format_number_with_decimals(number: U256, decimals: u8) -> String { + if decimals == 0 { + return number.to_string(); + } + let mut result = number.to_string(); + let len = result.len() as u32; + let decimals_u32 = decimals as u32; + + if len > decimals_u32 { + let integer_part = &result[0..(len - decimals_u32) as usize]; + let mut decimal_part = &result[(len - decimals_u32) as usize..]; - if decimals > 0 { - if result.len() > decimals as usize { - let integer_part = &result[..result.len() - decimals as usize]; - let decimal_part = &result[result.len() - decimals as usize..]; + // Remove trailing zeros from the decimal part + decimal_part = decimal_part.trim_end_matches('0'); + if !decimal_part.is_empty() { result = format!("{}.{}", integer_part, decimal_part); } else { - result = format!("0.{}", "0".repeat(decimals as usize - result.len())); + result = integer_part.to_string(); } + } else { + result = format!("0.{}", "0".repeat((decimals_u32 - len) as usize)); } result From e89a2667d479b9e65e771d169423761b43b1e5de Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 02:26:52 -0400 Subject: [PATCH 112/163] wip: fix wrong decimals --- subgraph/tests/entities.rs | 3 --- subgraph/tests/utils/transactions/mod.rs | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index f96cee582c..9b79b0297d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -1194,9 +1194,6 @@ async fn vault_withdraw_multiple_withdraws() -> anyhow::Result<()> { // Get a random vaultId let vault_id = generate_random_u256(); - // Vault Entity ID - let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); - // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index be793c656b..c5bdd9bf75 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -31,7 +31,7 @@ pub struct TestWithdrawConfig { pub target_amount: U256, } -pub async fn get_block_data(tx_hash: &TxHash) -> anyhow::Result<(Block)> { +pub async fn get_block_data(tx_hash: &TxHash) -> anyhow::Result> { let provider = get_provider().await?; let pending_tx = PendingTransaction::new(*tx_hash, provider); From be2a347e08262b5afa7740b294fd8cf070e866c2 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 02:40:29 -0400 Subject: [PATCH 113/163] fix to decimals in erc20 entity --- subgraph/src/erc20.ts | 26 ++++++++++++++++++++++++++ subgraph/src/utils.ts | 18 ++++++++++++++---- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/subgraph/src/erc20.ts b/subgraph/src/erc20.ts index e69de29bb2..e093f4b8fa 100644 --- a/subgraph/src/erc20.ts +++ b/subgraph/src/erc20.ts @@ -0,0 +1,26 @@ +import { Address } from "@graphprotocol/graph-ts"; +import { ReserveToken, Transfer } from "../generated/OrderBook/ReserveToken"; +import { ERC20 } from "../generated/schema"; +import { toDisplay } from "./utils"; + +export function handleTransfer(event: Transfer): void { + let token = ERC20.load(event.address.toHex()); + + if ( + token && + (event.params.from == Address.zero() || event.params.to == Address.zero()) + ) { + let reserveToken = ReserveToken.bind(Address.fromBytes(event.address)); + + let totalSupply = reserveToken.try_totalSupply(); + + if (!totalSupply.reverted) { + let value = totalSupply.value; + + token.totalSupply = value; + token.totalSupplyDisplay = toDisplay(value, event.address.toHex()); + + token.save(); + } + } +} diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index 34bb60069d..eb0d166d22 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -92,11 +92,21 @@ export function createToken(address: Bytes): ERC20 { token.totalSupplyDisplay = BigDecimal.zero(); token.save(); } + let totalSupply = reserveToken.try_totalSupply(); - token.totalSupply = !totalSupply.reverted - ? totalSupply.value - : token.totalSupply; - token.save(); + if (!totalSupply.reverted) { + let value = totalSupply.value; + + token.totalSupply = value; + token.totalSupplyDisplay = toDisplay(value, address.toHex()); + + token.save(); + } + + // token.totalSupply = !totalSupply.reverted + // ? totalSupply.value + // : token.totalSupply; + // token.save(); return token; } From 7d6a82af7c9432314565a107cb9bfb78f1e95c69 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 03:29:17 -0400 Subject: [PATCH 114/163] fix with erc20 entities and testd not waiting --- subgraph/src/erc20.ts | 4 +- subgraph/src/utils.ts | 45 ++++-- subgraph/tests/entities.rs | 144 ++++++++++++++++-- .../tests/subgraph/query/erc20/erc20.graphql | 10 ++ subgraph/tests/subgraph/query/erc20/mod.rs | 71 +++++++++ subgraph/tests/subgraph/query/mod.rs | 7 + subgraph/tests/utils/numbers.rs | 2 +- 7 files changed, 254 insertions(+), 29 deletions(-) create mode 100644 subgraph/tests/subgraph/query/erc20/erc20.graphql create mode 100644 subgraph/tests/subgraph/query/erc20/mod.rs diff --git a/subgraph/src/erc20.ts b/subgraph/src/erc20.ts index e093f4b8fa..a0d8db882b 100644 --- a/subgraph/src/erc20.ts +++ b/subgraph/src/erc20.ts @@ -1,7 +1,7 @@ import { Address } from "@graphprotocol/graph-ts"; import { ReserveToken, Transfer } from "../generated/OrderBook/ReserveToken"; import { ERC20 } from "../generated/schema"; -import { toDisplay } from "./utils"; +import { toDisplayWithDecimals } from "./utils"; export function handleTransfer(event: Transfer): void { let token = ERC20.load(event.address.toHex()); @@ -18,7 +18,7 @@ export function handleTransfer(event: Transfer): void { let value = totalSupply.value; token.totalSupply = value; - token.totalSupplyDisplay = toDisplay(value, event.address.toHex()); + token.totalSupplyDisplay = toDisplayWithDecimals(value, token.decimals); token.save(); } diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index eb0d166d22..aceffa10dd 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -85,28 +85,35 @@ export function createToken(address: Bytes): ERC20 { let decimals = reserveToken.try_decimals(); let name = reserveToken.try_name(); let symbol = reserveToken.try_symbol(); + let totalSupply = reserveToken.try_totalSupply(); + token.decimals = !decimals.reverted ? decimals.value : 0; token.name = !name.reverted ? name.value : "NONE"; token.symbol = !symbol.reverted ? symbol.value : "NONE"; - token.totalSupply = BigInt.zero(); - token.totalSupplyDisplay = BigDecimal.zero(); - token.save(); - } - - let totalSupply = reserveToken.try_totalSupply(); - if (!totalSupply.reverted) { - let value = totalSupply.value; - - token.totalSupply = value; - token.totalSupplyDisplay = toDisplay(value, address.toHex()); + token.totalSupply = !totalSupply.reverted + ? totalSupply.value + : BigInt.zero(); + + if (!totalSupply.reverted && !decimals.reverted) { + token.totalSupplyDisplay = toDisplayWithDecimals( + totalSupply.value, + decimals.value + ); + } else { + token.totalSupplyDisplay = BigDecimal.zero(); + } token.save(); } + // else { + // let totalSupply = reserveToken.try_totalSupply(); + // if (!totalSupply.reverted) { + // let value = totalSupply.value; + // token.totalSupply = value; + // token.totalSupplyDisplay = toDisplayWithDecimals(value, token.decimals); + // } + // } - // token.totalSupply = !totalSupply.reverted - // ? totalSupply.value - // : token.totalSupply; - // token.save(); return token; } @@ -315,6 +322,14 @@ export function toDisplay(amount: BigInt, token: string): BigDecimal { return amount.toBigDecimal().div(BigDecimal.fromString(getZeros(0))); } +export function toDisplayWithDecimals( + amount: BigInt, + decimals: i32 +): BigDecimal { + let denominator = BigInt.fromString(getZeros(decimals)); + return amount.toBigDecimal().div(denominator.toBigDecimal()); +} + function getZeros(num: number): string { let s = "1"; for (let i = 0; i < num; i++) { diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 9b79b0297d..e25d4349fc 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -19,7 +19,7 @@ use utils::{ }, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, - numbers::{format_number_with_decimals, get_amount_tokens}, + numbers::{display_number, get_amount_tokens}, transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_deposit, generate_multi_withdraw, generate_order_config, get_block_data, get_decimals, mint_tokens, @@ -292,7 +292,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { #[tokio::main] #[test] -async fn order_entity_clear() -> anyhow::Result<()> { +async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); let bounty_bot = get_wallet(2); @@ -417,6 +417,10 @@ async fn order_entity_clear() -> anyhow::Result<()> { // Clear ID (using 0 since was only one clear) let clear_entity_id = format!("{:?}-{}", clear_tx_hash, 0); + println!("clear_entity_id: {}", clear_entity_id); + + // Wait for Subgraph sync + wait().await?; // Querying for both orders that should include the clearr let response_a = Query::order(&alice_order_hash).await?; @@ -925,7 +929,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { #[tokio::main] #[test] -async fn vault_entity_clear() -> anyhow::Result<()> { +async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); let bounty_bot = get_wallet(2); @@ -1061,6 +1065,9 @@ async fn vault_entity_clear() -> anyhow::Result<()> { token_a.address(), // Using the output of bob order ); + // Wait for Subgraph sync + wait().await?; + // Querying for both vaults let resp_a = Query::vault(&vault_a_entity_id).await?; let resp_b = Query::vault(&vault_b_entity_id).await?; @@ -1080,7 +1087,7 @@ async fn vault_entity_clear() -> anyhow::Result<()> { #[tokio::main] #[test] -async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { +async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Connect the orderbook to another wallet (arbitrary) to send the orders @@ -1142,7 +1149,6 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { let tx_receipt = tx_multicall.await?.unwrap(); let deposits_tx_hash = &tx_receipt.transaction_hash; - println!("deposits_tx_hash: {:?}", deposits_tx_hash); let block_data = get_block_data(&deposits_tx_hash).await?; @@ -1155,8 +1161,7 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { let deposit_id = format!("{:?}-{}", deposits_tx_hash, index); let vault_entity_id = format!("{}-{:?}", deposit.vault_id, alice.address()); - let amount_display = - format_number_with_decimals(deposit.amount, get_decimals(deposit.token).await?); + let amount_display = display_number(deposit.amount, get_decimals(deposit.token).await?); let token_vault_entity = format!( "{}-{:?}-{:?}", @@ -1184,7 +1189,7 @@ async fn vault_deposit_multiple_deposits() -> anyhow::Result<()> { #[tokio::main] #[test] -async fn vault_withdraw_multiple_withdraws() -> anyhow::Result<()> { +async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Connect the orderbook to another wallet (arbitrary) to send the orders @@ -1254,10 +1259,9 @@ async fn vault_withdraw_multiple_withdraws() -> anyhow::Result<()> { let vault_entity_id = format!("{}-{:?}", withdraw.vault_id, alice.address()); let decimals = get_decimals(withdraw.token).await?; - let amount_display = format_number_with_decimals(withdraw.amount, decimals); + let amount_display = display_number(withdraw.amount, decimals); - let requested_amount_display = - format_number_with_decimals(withdraw.target_amount, decimals); + let requested_amount_display = display_number(withdraw.target_amount, decimals); let token_vault_entity = format!( "{}-{:?}-{:?}", @@ -1285,6 +1289,124 @@ async fn vault_withdraw_multiple_withdraws() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn erc20_entity_add_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None).await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + + // Build OrderConfig with the vaultId + let order_config = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let _ = add_order_func.send().await?.await?; + + // Wait for Subgraph sync + wait().await?; + + // Both ERC20 entities should be created + let resp_a = Query::erc20(&token_a.address()).await?; + let resp_b = Query::erc20(&token_b.address()).await?; + + let total_supply_display_a = display_number( + token_a.total_supply().call().await?, + token_a.decimals().call().await?, + ); + + let total_supply_display_b = display_number( + token_b.total_supply().call().await?, + token_b.decimals().call().await?, + ); + + // Checking the token A + assert_eq!(resp_a.name, token_a.name().call().await?); + assert_eq!(resp_a.symbol, token_a.symbol().call().await?); + assert_eq!(resp_a.total_supply, token_a.total_supply().call().await?); + assert_eq!(resp_a.decimals, token_a.decimals().call().await?); + assert_eq!(resp_a.total_supply_display, total_supply_display_a); + + // Checking the token B + assert_eq!(resp_b.name, token_b.name().call().await?); + assert_eq!(resp_b.symbol, token_b.symbol().call().await?); + assert_eq!(resp_b.total_supply, token_b.total_supply().call().await?); + assert_eq!(resp_b.decimals, token_b.decimals().call().await?); + assert_eq!(resp_b.total_supply_display, total_supply_display_b); + + Ok(()) +} + +#[tokio::main] +#[test] +async fn erc20_entity_deposit_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Deploy ERC20 token contract + let token = deploy_erc20_mock(None).await?; + + // Now, make the deposits with a given amount + let amount = get_amount_tokens(1000, token.decimals().call().await?); + + // Fill to Alice with tokens + mint_tokens(&amount, &alice.address(), &token).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens(&amount, &orderbook.address(), &token.connect(&alice).await).await?; + + // Send the deposits + let deposit_func = orderbook.deposit(token.address(), vault_id, amount); + let _ = deposit_func.send().await?.await?; + + // Wait for Subgraph sync + wait().await?; + + // Second query, using same vault entity ID. + let resp = Query::erc20(&token.address()).await?; + + let total_supply_display = display_number( + token.total_supply().call().await?, + token.decimals().call().await?, + ); + + // Checking the token + assert_eq!(resp.name, token.name().call().await?); + assert_eq!(resp.symbol, token.symbol().call().await?); + assert_eq!(resp.total_supply, token.total_supply().call().await?); + assert_eq!(resp.decimals, token.decimals().call().await?); + assert_eq!(resp.total_supply_display, total_supply_display); + + Ok(()) +} + #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/erc20/erc20.graphql b/subgraph/tests/subgraph/query/erc20/erc20.graphql new file mode 100644 index 0000000000..f792810751 --- /dev/null +++ b/subgraph/tests/subgraph/query/erc20/erc20.graphql @@ -0,0 +1,10 @@ +query ERC20($id: String) { + erc20(id: $id) { + id + name + symbol + totalSupply + totalSupplyDisplay + decimals + } +} \ No newline at end of file diff --git a/subgraph/tests/subgraph/query/erc20/mod.rs b/subgraph/tests/subgraph/query/erc20/mod.rs new file mode 100644 index 0000000000..f9ee371e14 --- /dev/null +++ b/subgraph/tests/subgraph/query/erc20/mod.rs @@ -0,0 +1,71 @@ +use self::erc20::ResponseData; +use super::SG_URL; +use crate::utils::{hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +// use bigdecimal::BigDecimal; +type BigDecimal = String; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/erc20/erc20.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct ERC20; + +#[derive(Serialize, Deserialize, Debug)] +pub struct ERC20Response { + pub id: Address, + pub name: String, + pub symbol: String, + pub total_supply: U256, + pub total_supply_display: String, + pub decimals: u8, +} + +impl ERC20Response { + pub fn from(response: ResponseData) -> ERC20Response { + let data = response.erc20.unwrap(); + + let id = Address::from_slice(&hex_string_to_bytes(&data.id).unwrap()); + + ERC20Response { + id, + name: data.name, + symbol: data.symbol, + total_supply: mn_mpz_to_u256(&data.total_supply), + total_supply_display: data.total_supply_display, + decimals: data.decimals as u8, + } + } +} + +pub async fn get_erc20(id: &Address) -> Result { + let variables = erc20::Variables { + id: id.to_string().into(), + }; + + let request_body = ERC20::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = ERC20Response::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index e0bf04487a..55b22d4440 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -6,6 +6,7 @@ pub(crate) mod rain_meta_v1; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; +pub(crate) mod erc20; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -20,6 +21,7 @@ use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; +use erc20::{get_erc20, ERC20Response}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -54,7 +56,12 @@ impl Query { pub async fn vault_deposit(id: &String) -> Result { get_vault_deposit(id).await } + pub async fn vault_withdraw(id: &String) -> Result { get_vault_withdraw(id).await } + + pub async fn erc20(id: &Address) -> Result { + get_erc20(id).await + } } diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index c51070ccaf..2bfa9e2246 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -7,7 +7,7 @@ pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { return result; } -pub fn format_number_with_decimals(number: U256, decimals: u8) -> String { +pub fn display_number(number: U256, decimals: u8) -> String { if decimals == 0 { return number.to_string(); } From c7b3102ad3246aba9b52c8199ee2298dd5c63a2d Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 03:51:49 -0400 Subject: [PATCH 115/163] wip: order clear rewrite --- subgraph/tests/entities.rs | 208 ++++++++++++++++++++--- subgraph/tests/utils/events.rs | 55 ++++++ subgraph/tests/utils/transactions/mod.rs | 18 +- 3 files changed, 259 insertions(+), 22 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e25d4349fc..59946bbd7e 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -9,26 +9,28 @@ use ethers::{ types::{Address, Bytes, U256}, utils::keccak256, }; +use generated::ClearCall; use subgraph::{wait, Query}; use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{ - _get_new_expression_event, get_add_order_event, get_deposit_events, get_withdraw_events, + _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, + get_deposit_events, get_withdraw_events, }, generate_random_u256, get_wallet, json_structs::{NewExpressionJson, OrderJson}, numbers::{display_number, get_amount_tokens}, transactions::{ - approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_deposit, - generate_multi_withdraw, generate_order_config, get_block_data, get_decimals, mint_tokens, - TestDepositConfig, TestWithdrawConfig, + approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_clear, + generate_multi_deposit, generate_multi_withdraw, generate_order_config, get_block_data, + get_decimals, mint_tokens, TestDepositConfig, TestWithdrawConfig, }, }; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -53,7 +55,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -87,7 +89,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -126,7 +128,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -237,7 +239,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -291,7 +293,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -439,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -516,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -626,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -725,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -817,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -928,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1086,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1188,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1290,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1359,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1407,7 +1409,173 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] #[test] +async fn order_clear_entity_clear_test() -> anyhow::Result<()> { + let alice = get_wallet(0); + let bob = get_wallet(1); + let bounty_bot = get_wallet(2); + + let orderbook = get_orderbook().await?; + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None).await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + // Generate vault ids for each account (Input and Output) + let alice_input_vault = generate_random_u256(); + let alice_output_vault = generate_random_u256(); + let bob_input_vault = generate_random_u256(); + let bob_output_vault = generate_random_u256(); + let bounty_bot_vault_a = generate_random_u256(); + let bounty_bot_vault_b = generate_random_u256(); + + // The vaultIds entities for bounty account + let vault_a_entity_id = format!("{}-{:?}", bounty_bot_vault_a, bounty_bot.address()); + let vault_b_entity_id = format!("{}-{:?}", bounty_bot_vault_b, bounty_bot.address()); + + // Order Alice Configuration + let order_alice = generate_order_config( + &expression_deployer, + &token_a, + Some(alice_input_vault), + &token_b, + Some(alice_output_vault), + ) + .await; + + // Order Bob Configuration + let order_bob = generate_order_config( + &expression_deployer, + &token_b, + Some(bob_input_vault), + &token_a, + Some(bob_output_vault), + ) + .await; + + // Add order alice with Alice connected to the OB + let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); + let tx = add_order_alice.send().await?; + let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; + + // Add order bob with Bob connected to the OB + let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); + let tx = add_order_bob.send().await?; + let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; + + // Make deposit of corresponded output token + let decimal_a = token_a.decimals().call().await?; + let amount_alice = get_amount_tokens(8, decimal_a); + + let decimal_b = token_b.decimals().call().await?; + let amount_bob = get_amount_tokens(6, decimal_b); + + // Alice has token_b as output + mint_tokens(&amount_alice, &alice.address(), &token_b).await?; + + // Approve Alice token_b using to OB + approve_tokens( + // &amount_alice, + &amount_alice, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Deposit using Alice + let deposit_func = orderbook.connect(&alice).await.deposit( + token_b.address(), + alice_output_vault, + amount_alice, + ); + let _ = deposit_func.send().await?.await?; + + // Bob has token_a as output + mint_tokens(&amount_bob, &bob.address(), &token_a).await?; + + // Approve Bob token_a using to OB + approve_tokens( + &amount_bob, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + + // Deposit using Bob + let deposit_func = + orderbook + .connect(&bob) + .await + .deposit(token_a.address(), bob_output_vault, amount_bob); + let _ = deposit_func.send().await?.await?; + + // BOUNTY BOT CLEARS THE ORDER + // Clear configuration + let order_alice = &add_order_alice_data.order; + let order_bob = &add_order_bob_data.order; + + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); + + let clear_config_1 = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); + let clear_1 = ClearCall { + alice: order_alice.to_owned(), + bob: order_bob.to_owned(), + clear_config: clear_config_1, + alice_signed_context: a_signed_context.clone(), + bob_signed_context: b_signed_context.clone(), + }; + + let clear_config_2 = generate_clear_config(&bounty_bot_vault_b, &bounty_bot_vault_a); + let clear_2 = ClearCall { + alice: order_bob.to_owned(), + bob: order_alice.to_owned(), + clear_config: clear_config_2, + alice_signed_context: b_signed_context, + bob_signed_context: a_signed_context, + }; + + let clear_configs = vec![clear_1, clear_2]; + + let multi_clear_bytes = generate_multi_clear(&clear_configs); + + let multicall_func = orderbook + .connect(&bounty_bot) + .await + .multicall(multi_clear_bytes); + + let tx_multicall = multicall_func.send().await?; + + // Tx hash that hold all the logs + let clears_tx_hash = tx_multicall.tx_hash(); + + let clear_events = get_clear_events(&orderbook, &clears_tx_hash).await?; + let after_clear_events = get_after_clear_events(&orderbook, &clears_tx_hash).await?; + + // It should emit the same amount of events both parts + assert_eq!(clear_events.len(), after_clear_events.len()); + + // let token_vault_bounty_a = format!( + // "{}-{:?}-{:?}", + // bounty_bot_vault_a, + // bounty_bot.address(), + // token_b.address(), // Using the output of alice order + // ); + + // Wait for Subgraph sync + wait().await?; + + // Querying for both vaults + let resp_a = Query::order_clear(&vault_a_entity_id).await?; + + Ok(()) +} + +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 4625b81a63..09d053ab53 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -262,3 +262,58 @@ pub async fn get_deposit_events( None => return Err(Error::msg("events not found")), } } + +pub async fn get_clear_events( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().clear_filter().filter; + + let option_logs = _get_matched_logs(receipt, filter).await; + + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); + + for log in logs { + let event: ClearFilter = + contract.decode_event::("Clear", log.topics, log.data)?; + + events.push(event); + } + + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } +} + +pub async fn get_after_clear_events( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().after_clear_filter().filter; + + let option_logs = _get_matched_logs(receipt, filter).await; + + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); + + for log in logs { + let event: AfterClearFilter = contract.decode_event::( + "AfterClear", + log.topics, + log.data, + )?; + + events.push(event); + } + + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } +} diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index c5bdd9bf75..0b03f03174 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -2,8 +2,8 @@ use std::sync::Arc; use crate::{ generated::{ - AddOrderCall, ClearConfig, DepositCall, ERC20Mock, EvaluableConfigV2, Io, OrderConfigV2, - RainterpreterExpressionDeployer, WithdrawCall, + AddOrderCall, ClearCall, ClearConfig, DepositCall, ERC20Mock, EvaluableConfigV2, Io, + OrderConfigV2, RainterpreterExpressionDeployer, WithdrawCall, }, utils::{generate_random_u256, mock_rain_doc}, }; @@ -215,3 +215,17 @@ pub fn generate_clear_config( bob_bounty_vault_id: *bob_bounty_vault_id, } } + +/// From given arguments, encode them to a collection of Bytes to be used with multicall +pub fn generate_multi_clear(configs: &Vec) -> Vec { + let mut data: Vec = Vec::new(); + + for config in configs { + let encoded_call = Bytes::from(AbiEncode::encode(config.to_owned())); + + // Push the bytes + data.push(encoded_call); + } + + return data; +} From 017d3c4e2f6f52950da37e7dc1d9ee16cd855640 Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 04:38:11 -0400 Subject: [PATCH 116/163] wip: missing clear entity --- subgraph/tests/entities.rs | 94 ++++++++++++------ subgraph/tests/subgraph/query/mod.rs | 10 +- .../tests/subgraph/query/order_clear/mod.rs | 96 +++++++++++++++++++ .../query/order_clear/order_clear.graphql | 37 +++++++ subgraph/tests/utils/mod.rs | 17 +++- 5 files changed, 218 insertions(+), 36 deletions(-) create mode 100644 subgraph/tests/subgraph/query/order_clear/mod.rs create mode 100644 subgraph/tests/subgraph/query/order_clear/order_clear.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 59946bbd7e..3576e7578e 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -19,7 +19,7 @@ use utils::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, get_deposit_events, get_withdraw_events, }, - generate_random_u256, get_wallet, + generate_random_u256, get_wallet, h256_to_bytes, hash_keccak, json_structs::{NewExpressionJson, OrderJson}, numbers::{display_number, get_amount_tokens}, transactions::{ @@ -30,7 +30,7 @@ use utils::{ }; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -55,7 +55,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -89,7 +89,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -128,7 +128,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -239,7 +239,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -293,7 +293,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -441,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -518,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -628,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -727,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -819,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -930,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1088,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1190,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1292,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1361,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1433,10 +1433,6 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let bounty_bot_vault_a = generate_random_u256(); let bounty_bot_vault_b = generate_random_u256(); - // The vaultIds entities for bounty account - let vault_a_entity_id = format!("{}-{:?}", bounty_bot_vault_a, bounty_bot.address()); - let vault_b_entity_id = format!("{}-{:?}", bounty_bot_vault_b, bounty_bot.address()); - // Order Alice Configuration let order_alice = generate_order_config( &expression_deployer, @@ -1556,26 +1552,62 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let clear_events = get_clear_events(&orderbook, &clears_tx_hash).await?; let after_clear_events = get_after_clear_events(&orderbook, &clears_tx_hash).await?; + let block_data = get_block_data(&clears_tx_hash).await?; + // It should emit the same amount of events both parts assert_eq!(clear_events.len(), after_clear_events.len()); - // let token_vault_bounty_a = format!( - // "{}-{:?}-{:?}", - // bounty_bot_vault_a, - // bounty_bot.address(), - // token_b.address(), // Using the output of alice order - // ); - // Wait for Subgraph sync wait().await?; - // Querying for both vaults - let resp_a = Query::order_clear(&vault_a_entity_id).await?; + for (index, clear) in clear_events.iter().enumerate() { + let order_clear_id = format!("{:?}-{}", clears_tx_hash, index); + let bounty_id = order_clear_id.clone(); + let state_change_id = order_clear_id.clone(); + + let alice_hash = h256_to_bytes(&hash_keccak(ðers::abi::AbiEncode::encode( + clear.alice.clone(), + ))); + let bob_hash = h256_to_bytes(&hash_keccak(ðers::abi::AbiEncode::encode( + clear.bob.clone(), + ))); + + let resp = Query::order_clear(&order_clear_id).await?; + + assert_eq!(resp.sender, bounty_bot.address()); + assert_eq!(resp.clearer, bounty_bot.address()); + assert_eq!(resp.emitter, bounty_bot.address()); + + assert_eq!(resp.order_a, alice_hash); + assert_eq!(resp.order_b, bob_hash); + assert_eq!(resp.bounty, bounty_id); + assert_eq!(resp.state_change, state_change_id); + assert_eq!(resp.transaction, clears_tx_hash); + assert_eq!(resp.timestamp, block_data.timestamp); + + assert!(resp.owners.contains(&clear.alice.owner)); + assert!(resp.owners.contains(&clear.bob.owner)); + + assert_eq!( + resp.a_input_io_index, + clear.clear_config.alice_input_io_index + ); + assert_eq!( + resp.a_output_io_index, + clear.clear_config.alice_output_io_index + ); + + assert_eq!(resp.b_input_io_index, clear.clear_config.bob_input_io_index); + assert_eq!( + resp.b_output_io_index, + clear.clear_config.bob_output_io_index + ); + } Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 55b22d4440..29b61959fe 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,12 +1,13 @@ pub(crate) mod content_meta_v1; +pub(crate) mod erc20; pub(crate) mod io; pub(crate) mod order; +pub(crate) mod order_clear; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; -pub(crate) mod erc20; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -14,14 +15,15 @@ use once_cell::sync::Lazy; use reqwest::Url; use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; +use erc20::{get_erc20, ERC20Response}; use io::{get_i_o, IOResponse}; use order::{get_order, OrderResponse}; +use order_clear::{get_order_clear, OrderClearResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; -use erc20::{get_erc20, ERC20Response}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -64,4 +66,8 @@ impl Query { pub async fn erc20(id: &Address) -> Result { get_erc20(id).await } + + pub async fn order_clear(id: &String) -> Result { + get_order_clear(id).await + } } diff --git a/subgraph/tests/subgraph/query/order_clear/mod.rs b/subgraph/tests/subgraph/query/order_clear/mod.rs new file mode 100644 index 0000000000..d10b2d82ab --- /dev/null +++ b/subgraph/tests/subgraph/query/order_clear/mod.rs @@ -0,0 +1,96 @@ +use self::order_clear::ResponseData; +use super::SG_URL; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::TxHash; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/order_clear/order_clear.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct OrderClear; + +#[derive(Serialize, Deserialize, Debug)] +pub struct OrderClearResponse { + pub id: String, + pub sender: Address, + pub clearer: Address, + pub order_a: Bytes, + pub order_b: Bytes, + pub owners: [Address; 2], + pub a_input_io_index: U256, + pub a_output_io_index: U256, + pub b_input_io_index: U256, + pub b_output_io_index: U256, + pub bounty: String, + pub state_change: String, + pub transaction: TxHash, + pub emitter: Address, + pub timestamp: U256, +} + +impl OrderClearResponse { + pub fn from(response: ResponseData) -> OrderClearResponse { + let data = response.order_clear.unwrap(); + + let sender = Address::from_slice(&data.sender.id); + let clearer = Address::from_slice(&data.clearer.id); + let emitter = Address::from_slice(&data.emitter.id); + let transaction = bytes_to_h256(&hex_string_to_bytes(&data.transaction.id).unwrap()); + + let owners_vec = data.owners.unwrap(); + let owners: [Address; 2] = [ + Address::from_slice(&owners_vec.get(0).unwrap().id), + Address::from_slice(&owners_vec.get(1).unwrap().id), + ]; + + OrderClearResponse { + id: data.id, + sender, + clearer, + order_a: hex_string_to_bytes(&data.order_a.id).expect("not a hex value"), + order_b: hex_string_to_bytes(&data.order_b.id).expect("not a hex value"), + owners, + a_input_io_index: mn_mpz_to_u256(&data.a_input_io_index), + a_output_io_index: mn_mpz_to_u256(&data.a_output_io_index), + b_input_io_index: mn_mpz_to_u256(&data.b_input_io_index), + b_output_io_index: mn_mpz_to_u256(&data.b_output_io_index), + bounty: data.bounty.id, + state_change: data.state_change.id, + transaction, + emitter, + timestamp: mn_mpz_to_u256(&data.timestamp), + } + } +} + +pub async fn get_order_clear(id: &String) -> Result { + let variables = order_clear::Variables { + id: id.to_string().into(), + }; + + let request_body = OrderClear::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = OrderClearResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/order_clear/order_clear.graphql b/subgraph/tests/subgraph/query/order_clear/order_clear.graphql new file mode 100644 index 0000000000..e1ffbaf321 --- /dev/null +++ b/subgraph/tests/subgraph/query/order_clear/order_clear.graphql @@ -0,0 +1,37 @@ +query OrderClear($id: String) { + orderClear(id: $id) { + id + sender { + id + } + clearer { + id + } + orderA { + id + } + orderB { + id + } + owners { + id + } + aInputIOIndex + aOutputIOIndex + bInputIOIndex + bOutputIOIndex + bounty { + id + } + stateChange { + id + } + transaction { + id + } + emitter { + id + } + timestamp + } +} diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 4003e2b671..5bb7d2de66 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -7,8 +7,6 @@ pub mod numbers; pub mod setup; pub mod transactions; -pub use setup::get_provider; - use ethers::{ core::{k256::ecdsa::SigningKey, rand::random}, providers::Middleware, @@ -17,12 +15,15 @@ use ethers::{ }; use hex::FromHex; use rust_bigint::BigInt; +pub use setup::get_provider; use std::{ env, io::{BufRead, BufReader}, process::{Command, Stdio}, thread, }; +use tiny_keccak::Hasher; +use tiny_keccak::Keccak; pub async fn get_block_number() -> anyhow::Result { let provider = get_provider().await?; @@ -155,7 +156,7 @@ pub fn bytes_to_h256(value: &Bytes) -> H256 { } /// Take a H256 value and parse it to a Bytes -pub fn _h256_to_bytes(value: &H256) -> Bytes { +pub fn h256_to_bytes(value: &H256) -> Bytes { Bytes::from(value.as_bytes().to_vec()) } @@ -170,6 +171,16 @@ pub fn generate_random_u256() -> U256 { return U256::from(random::()); } +pub fn hash_keccak(data: &Vec) -> H256 { + let mut keccak = Keccak::v256(); + keccak.update(&data); + + let mut output = [0u8; 32]; + keccak.finalize(&mut output); + + return H256::from(output); +} + /// Rain Magic Numbers pub struct MagicNumber; From 0168b83f176eb0b32268568f1130021330ee299e Mon Sep 17 00:00:00 2001 From: NanezX Date: Mon, 30 Oct 2023 23:01:50 -0400 Subject: [PATCH 117/163] wip: finishing test --- subgraph/tests/entities.rs | 455 ++++++++++++++++++ subgraph/tests/subgraph/query/mod.rs | 6 + .../tests/subgraph/query/token_vault/mod.rs | 106 ++++ .../query/token_vault/token_vault.graphql | 26 + 4 files changed, 593 insertions(+) create mode 100644 subgraph/tests/subgraph/query/token_vault/mod.rs create mode 100644 subgraph/tests/subgraph/query/token_vault/token_vault.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 3576e7578e..2cafd7f2a5 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -1607,6 +1607,461 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(5); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None).await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + + // Build OrderConfig with the vaultId + let order_config = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx = add_order_func.send().await?; + + let add_order_data = get_add_order_event(&orderbook, &tx.tx_hash()).await?; + let order_hash: Bytes = add_order_data.order_hash.into(); + + // Wait for Subgraph sync + wait().await?; + + // Generate the both Token Vault IDs + let token_vault_a = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_a.address()); + let token_vault_b = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_b.address()); + + // Vault entity ID + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + // Vault Balances for both + let vault_balance_a: U256 = orderbook + .vault_balance(alice.address(), token_a.address(), vault_id) + .call() + .await?; + let vaul_balance_display_a = + display_number(vault_balance_a, get_decimals(token_a.address()).await?); + + let vault_balance_b: U256 = orderbook + .vault_balance(alice.address(), token_b.address(), vault_id) + .call() + .await?; + let vaul_balance_display_b = + display_number(vault_balance_b, get_decimals(token_b.address()).await?); + + // Both ERC20 entities should be created + let resp_a = Query::token_vault(&token_vault_a).await?; + let resp_b = Query::token_vault(&token_vault_b).await?; + + // Checking token vault A + assert_eq!(resp_a.owner, alice.address()); + assert_eq!(resp_a.vault, vault_entity_id); + assert_eq!(resp_a.vault_id, vault_id); + assert_eq!(resp_a.token, token_a.address()); + assert_eq!(resp_a.balance, vault_balance_a); + assert_eq!(resp_a.balance_display, vaul_balance_display_a); + assert!(resp_a.orders.contains(&order_hash), "missing order ID"); + + // Checking token vault B + assert_eq!(resp_b.owner, alice.address()); + assert_eq!(resp_b.vault, vault_entity_id); + assert_eq!(resp_b.vault_id, vault_id); + assert_eq!(resp_b.token, token_b.address()); + assert_eq!(resp_b.balance, vault_balance_b); + assert_eq!(resp_b.balance_display, vaul_balance_display_b); + assert!(resp_b.orders.contains(&order_hash), "missing order ID"); + + Ok(()) +} + +#[tokio::main] +#[test] +async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Deploy ERC20 token contract + let token = deploy_erc20_mock(None).await?; + + // Now, make the deposits with a given amount + let amount = get_amount_tokens(1000, token.decimals().call().await?); + + // Fill to Alice with tokens + mint_tokens(&amount, &alice.address(), &token).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens(&amount, &orderbook.address(), &token.connect(&alice).await).await?; + + // Send the deposits + let deposit_func = orderbook.deposit(token.address(), vault_id, amount); + let _ = deposit_func.send().await?.await?; + + // Wait for Subgraph sync + wait().await?; + + let token_vault = format!("{}-{:?}-{:?}", vault_id, alice.address(), token.address()); + + // Vault entity ID + let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); + + // Vault Balance + let vault_balance: U256 = orderbook + .vault_balance(alice.address(), token.address(), vault_id) + .call() + .await?; + let vaul_balance_display = display_number(vault_balance, get_decimals(token.address()).await?); + + // Second query, using same vault entity ID. + let resp = Query::token_vault(&token_vault).await?; + + // Checking token vault + assert_eq!(resp.owner, alice.address()); + assert_eq!(resp.vault, vault_entity_id); + assert_eq!(resp.vault_id, vault_id); + assert_eq!(resp.token, token.address()); + assert_eq!(resp.balance, vault_balance); + assert_eq!(resp.balance_display, vaul_balance_display); + + Ok(()) +} + +#[tokio::main] +#[test] +async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + // Connect the orderbook to another wallet (arbitrary) to send the orders + let alice = get_wallet(2); + let orderbook = orderbook.connect(&alice).await; + + // Get a random vaultId + let vault_id = generate_random_u256(); + + // Deploy ERC20 token contract (A) + let token = deploy_erc20_mock(None).await?; + + // Amount to deposit + let amount_to_deposit = get_amount_tokens(1000, token.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_to_deposit, &alice.address(), &token).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_to_deposit, + &orderbook.address(), + &token.connect(&alice).await, + ) + .await?; + + // Send the deposits with multicall + let deposit_func = orderbook.deposit(token.address(), vault_id, amount_to_deposit); + let _ = deposit_func.send().await?.await?; + + // Fill struct + let withdraws_config = vec![ + // Config A + TestWithdrawConfig { + token: token.address(), + vault_id: vault_id, + target_amount: amount_to_deposit.div(2), + }, + ]; + + // Encode the withdaws + let multi_withdaws = generate_multi_withdraw(&withdraws_config); + + // Send the withdaw with multicall + let multicall_func = orderbook.multicall(multi_withdaws); + let _ = multicall_func.send().await?.await?; + + // Generate the expetect Token Vault IDs + let token_vault = format!("{}-{:?}-{:?}", vault_id, alice.address(), token.address()); + + // Vault Balance + let vault_balance: U256 = orderbook + .vault_balance(alice.address(), token.address(), vault_id) + .call() + .await?; + let vaul_balance_display = display_number(vault_balance, get_decimals(token.address()).await?); + + // Wait for Subgraph sync + wait().await?; + + let resp = Query::token_vault(&token_vault).await?; + + // Checking token vault + assert_eq!(resp.token, token.address()); + assert_eq!(resp.balance, vault_balance); + assert_eq!(resp.balance_display, vaul_balance_display); + + Ok(()) +} + +#[tokio::main] +#[test] +async fn token_vault_entity_clear_test() -> anyhow::Result<()> { + let alice = get_wallet(0); + let bob = get_wallet(1); + let carl = get_wallet(2); + + let orderbook = get_orderbook().await?; + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None).await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + + // Generate vault ids for each account (same for all accounts) + let vault_id = generate_random_u256(); + + // Order Alice Configuration + let order_alice = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Order Bob Configuration + let order_bob = generate_order_config( + &expression_deployer, + &token_b, + Some(vault_id), + &token_a, + Some(vault_id), + ) + .await; + + // Add order alice with Alice connected to the OB + let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); + let tx = add_order_alice.send().await?; + let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; + + // Add order bob with Bob connected to the OB + let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); + let tx = add_order_bob.send().await?; + let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; + + // Make deposit of corresponded output token + let decimal_a = token_a.decimals().call().await?; + let amount_alice = get_amount_tokens(8, decimal_a); + + let decimal_b = token_b.decimals().call().await?; + let amount_bob = get_amount_tokens(6, decimal_b); + + // Alice has token_b as output + mint_tokens(&amount_alice, &alice.address(), &token_b).await?; + + // Approve Alice token_b using to OB + approve_tokens( + // &amount_alice, + &amount_alice, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Deposit using Alice + let deposit_func = + orderbook + .connect(&alice) + .await + .deposit(token_b.address(), vault_id, amount_alice); + let _ = deposit_func.send().await?.await?; + + // Bob has token_a as output + mint_tokens(&amount_bob, &bob.address(), &token_a).await?; + + // Approve Bob token_a using to OB + approve_tokens( + &amount_bob, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + + // Deposit using Bob + let deposit_func = + orderbook + .connect(&bob) + .await + .deposit(token_a.address(), vault_id, amount_bob); + let _ = deposit_func.send().await?.await?; + + // BOUNTY BOT CLEARS THE ORDER + // Clear configuration + let order_alice = &add_order_alice_data.order; + let order_bob = &add_order_bob_data.order; + let clear_config = generate_clear_config(&vault_id, &vault_id); + + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); + + let clear_func = orderbook.connect(&carl).await.clear( + order_alice.to_owned(), + order_bob.to_owned(), + clear_config, + a_signed_context, + b_signed_context, + ); + + // Wait for the transaction + let tx_clear = clear_func.send().await?; + let clear_tx_hash = tx_clear.tx_hash(); + + // Clear ID (using 0 since was only one clear) + let clear_entity_id = format!("{:?}-{}", clear_tx_hash, 0); + + // Wait for Subgraph sync + wait().await?; + + // Generate the both Token Vault IDs + let alice_token_vault_a = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_a.address()); + let alice_token_vault_b = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_b.address()); + let bob_token_vault_a = format!("{}-{:?}-{:?}", vault_id, bob.address(), token_a.address()); + let bob_token_vault_b = format!("{}-{:?}-{:?}", vault_id, bob.address(), token_b.address()); + let carl_token_vault_a = format!("{}-{:?}-{:?}", vault_id, carl.address(), token_a.address()); + let carl_token_vault_b = format!("{}-{:?}-{:?}", vault_id, carl.address(), token_b.address()); + + // All entities present on the Clear should be created + // - ALICE + let vault_balance_a: U256 = orderbook + .vault_balance(alice.address(), token_a.address(), vault_id) + .call() + .await?; + let vaul_balance_display_a = + display_number(vault_balance_a, get_decimals(token_a.address()).await?); + + let vault_balance_b: U256 = orderbook + .vault_balance(alice.address(), token_b.address(), vault_id) + .call() + .await?; + let vaul_balance_display_b = + display_number(vault_balance_b, get_decimals(token_b.address()).await?); + + let resp_a = Query::token_vault(&alice_token_vault_a).await?; + let resp_b = Query::token_vault(&alice_token_vault_b).await?; + + assert_eq!(resp_a.owner, alice.address()); + assert_eq!(resp_a.balance, vault_balance_a); + assert_eq!(resp_a.balance_display, vaul_balance_display_a); + assert!( + resp_a.orders_clears.contains(&clear_entity_id), + "missing clear ID" + ); + + assert_eq!(resp_b.owner, alice.address()); + assert_eq!(resp_b.balance, vault_balance_b); + assert_eq!(resp_b.balance_display, vaul_balance_display_b); + assert!( + resp_b.orders_clears.contains(&clear_entity_id), + "missing clear ID" + ); + + // - BOB + let vault_balance_a: U256 = orderbook + .vault_balance(bob.address(), token_a.address(), vault_id) + .call() + .await?; + let vaul_balance_display_a = + display_number(vault_balance_a, get_decimals(token_a.address()).await?); + + let vault_balance_b: U256 = orderbook + .vault_balance(bob.address(), token_b.address(), vault_id) + .call() + .await?; + let vaul_balance_display_b = + display_number(vault_balance_b, get_decimals(token_b.address()).await?); + + let resp_a = Query::token_vault(&bob_token_vault_a).await?; + let resp_b = Query::token_vault(&bob_token_vault_b).await?; + + assert_eq!(resp_a.owner, bob.address()); + assert_eq!(resp_a.balance, vault_balance_a); + assert_eq!(resp_a.balance_display, vaul_balance_display_a); + assert!( + resp_a.orders_clears.contains(&clear_entity_id), + "missing clear ID" + ); + + assert_eq!(resp_b.owner, bob.address()); + assert_eq!(resp_b.balance, vault_balance_b); + assert_eq!(resp_b.balance_display, vaul_balance_display_b); + assert!( + resp_b.orders_clears.contains(&clear_entity_id), + "missing clear ID" + ); + + // - CARL + let vault_balance_a: U256 = orderbook + .vault_balance(carl.address(), token_a.address(), vault_id) + .call() + .await?; + let vaul_balance_display_a = + display_number(vault_balance_a, get_decimals(token_a.address()).await?); + + let vault_balance_b: U256 = orderbook + .vault_balance(carl.address(), token_b.address(), vault_id) + .call() + .await?; + let vaul_balance_display_b = + display_number(vault_balance_b, get_decimals(token_b.address()).await?); + + let resp_a = Query::token_vault(&carl_token_vault_a).await?; + let resp_b = Query::token_vault(&carl_token_vault_b).await?; + + assert_eq!(resp_a.owner, carl.address()); + assert_eq!(resp_a.balance, vault_balance_a); + assert_eq!(resp_a.balance_display, vaul_balance_display_a); + assert!( + resp_a.orders_clears.contains(&clear_entity_id), + "missing clear ID" + ); + + assert_eq!(resp_b.owner, carl.address()); + assert_eq!(resp_b.balance, vault_balance_b); + assert_eq!(resp_b.balance_display, vaul_balance_display_b); + assert!( + resp_b.orders_clears.contains(&clear_entity_id), + "missing clear ID" + ); + + Ok(()) +} + #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 29b61959fe..96489d4cdb 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -8,6 +8,7 @@ pub(crate) mod rain_meta_v1; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; +pub(crate) mod token_vault; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -24,6 +25,7 @@ use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; +use token_vault::{get_token_vault, TokenVaultResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -70,4 +72,8 @@ impl Query { pub async fn order_clear(id: &String) -> Result { get_order_clear(id).await } + + pub async fn token_vault(id: &String) -> Result { + get_token_vault(id).await + } } diff --git a/subgraph/tests/subgraph/query/token_vault/mod.rs b/subgraph/tests/subgraph/query/token_vault/mod.rs new file mode 100644 index 0000000000..93e29dab2b --- /dev/null +++ b/subgraph/tests/subgraph/query/token_vault/mod.rs @@ -0,0 +1,106 @@ +use self::token_vault::ResponseData; +use super::SG_URL; +use crate::utils::{hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +// use bigdecimal::BigDecimal; +type BigDecimal = String; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/token_vault/token_vault.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct TokenVault; + +#[derive(Serialize, Deserialize, Debug)] +pub struct TokenVaultResponse { + pub id: String, + pub owner: Address, + pub vault: String, + pub vault_id: U256, + pub token: Address, + pub balance: U256, + pub balance_display: String, + pub orders: Vec, + pub take_orders: Vec, + pub orders_clears: Vec, +} + +impl TokenVaultResponse { + pub fn from(response: ResponseData) -> TokenVaultResponse { + let data = response.token_vault.unwrap(); + + let owner = Address::from_slice(&data.owner.id); + let token = Address::from_slice( + hex_string_to_bytes(&data.token.id) + .unwrap() + .to_vec() + .as_slice(), + ); + + let orders: Vec = data + .orders + .unwrap() + .iter() + .map(|data| hex_string_to_bytes(&data.id).unwrap()) + .collect(); + + let take_orders: Vec = data + .take_orders + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + let orders_clears: Vec = data + .order_clears + .unwrap() + .iter() + .map(|data| data.id.clone()) + .collect(); + + TokenVaultResponse { + id: data.id, + owner, + vault: data.vault.id, + vault_id: mn_mpz_to_u256(&data.vault_id), + token, + balance: mn_mpz_to_u256(&data.balance), + balance_display: data.balance_display, + orders, + take_orders, + orders_clears, + } + } +} + +pub async fn get_token_vault(id: &String) -> Result { + let variables = token_vault::Variables { + id: id.to_string().into(), + }; + + let request_body = TokenVault::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = TokenVaultResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/token_vault/token_vault.graphql b/subgraph/tests/subgraph/query/token_vault/token_vault.graphql new file mode 100644 index 0000000000..9500485f3d --- /dev/null +++ b/subgraph/tests/subgraph/query/token_vault/token_vault.graphql @@ -0,0 +1,26 @@ +query TokenVault($id: String) { + tokenVault(id: $id) { + id + owner { + id + } + vault { + id + } + vaultId + token { + id + } + balance + balanceDisplay + orders { + id + } + orderClears { + id + } + takeOrders { + id + } + } +} From fce4a261be6e4e97468b5daf42e1ead9f93f7eb6 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 17:10:55 -0400 Subject: [PATCH 118/163] missing comment clear --- subgraph/tests/entities.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 2cafd7f2a5..3eb33dee8d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -1956,7 +1956,7 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let carl_token_vault_a = format!("{}-{:?}-{:?}", vault_id, carl.address(), token_a.address()); let carl_token_vault_b = format!("{}-{:?}-{:?}", vault_id, carl.address(), token_b.address()); - // All entities present on the Clear should be created + // All token vault entities present on the Clear should be created // - ALICE let vault_balance_a: U256 = orderbook .vault_balance(alice.address(), token_a.address(), vault_id) From 1c922d291a785c2d4069ae83c746aa1f1b6d5354 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 19:33:14 -0400 Subject: [PATCH 119/163] fix: format erc20 address query --- subgraph/tests/subgraph/query/erc20/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/subgraph/query/erc20/mod.rs b/subgraph/tests/subgraph/query/erc20/mod.rs index f9ee371e14..7a89e620db 100644 --- a/subgraph/tests/subgraph/query/erc20/mod.rs +++ b/subgraph/tests/subgraph/query/erc20/mod.rs @@ -48,7 +48,7 @@ impl ERC20Response { pub async fn get_erc20(id: &Address) -> Result { let variables = erc20::Variables { - id: id.to_string().into(), + id: Some(format!("{:?}", id)), }; let request_body = ERC20::build_query(variables); From 40725e13f685b838c8faaa89d8144d692623a36a Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 19:41:39 -0400 Subject: [PATCH 120/163] fix format display numbers --- subgraph/tests/utils/numbers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index 2bfa9e2246..41791c8f70 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -8,7 +8,7 @@ pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { } pub fn display_number(number: U256, decimals: u8) -> String { - if decimals == 0 { + if number.is_zero() || decimals == 0 { return number.to_string(); } From 0dc0dd93ca1d6c8199d3715bd3b0015c37d0689f Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 20:05:12 -0400 Subject: [PATCH 121/163] fix: wrong order hashes --- subgraph/tests/entities.rs | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 3eb33dee8d..c0e7046f51 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -419,7 +419,6 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { // Clear ID (using 0 since was only one clear) let clear_entity_id = format!("{:?}-{}", clear_tx_hash, 0); - println!("clear_entity_id: {}", clear_entity_id); // Wait for Subgraph sync wait().await?; @@ -1514,6 +1513,9 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let order_alice = &add_order_alice_data.order; let order_bob = &add_order_bob_data.order; + let alice_hash = add_order_alice_data.order_hash; + let bob_hash = add_order_bob_data.order_hash; + let a_signed_context: Vec = Vec::new(); let b_signed_context: Vec = Vec::new(); @@ -1565,20 +1567,29 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let bounty_id = order_clear_id.clone(); let state_change_id = order_clear_id.clone(); - let alice_hash = h256_to_bytes(&hash_keccak(ðers::abi::AbiEncode::encode( - clear.alice.clone(), - ))); - let bob_hash = h256_to_bytes(&hash_keccak(ðers::abi::AbiEncode::encode( - clear.bob.clone(), - ))); - let resp = Query::order_clear(&order_clear_id).await?; assert_eq!(resp.sender, bounty_bot.address()); assert_eq!(resp.clearer, bounty_bot.address()); assert_eq!(resp.emitter, bounty_bot.address()); - assert_eq!(resp.order_a, alice_hash); + // The "Alice" and "Bob" orders names are from the name inside the contract. Not related to names in tests + // If the "ALICE" in the order come from alice wallet, then it's first order in event + // otherwise, it's the second + if clear.alice.owner == alice.address() { + assert_eq!(resp.order_a, alice_hash.into()); + } else { + assert_eq!(resp.order_b, alice_hash.into()); + } + + // If the "BOB" in the order come from bob wallet, then it's second order in event + // otherwise, it's the first + if clear.bob.owner == bob.address() { + assert_eq!(resp.order_b, bob_hash.into()); + } else { + assert_eq!(resp.order_a, bob_hash.into()); + } + assert_eq!(resp.order_b, bob_hash); assert_eq!(resp.bounty, bounty_id); assert_eq!(resp.state_change, state_change_id); @@ -2046,18 +2057,10 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { assert_eq!(resp_a.owner, carl.address()); assert_eq!(resp_a.balance, vault_balance_a); assert_eq!(resp_a.balance_display, vaul_balance_display_a); - assert!( - resp_a.orders_clears.contains(&clear_entity_id), - "missing clear ID" - ); assert_eq!(resp_b.owner, carl.address()); assert_eq!(resp_b.balance, vault_balance_b); assert_eq!(resp_b.balance_display, vaul_balance_display_b); - assert!( - resp_b.orders_clears.contains(&clear_entity_id), - "missing clear ID" - ); Ok(()) } From 00129351f32f9bcdef9099618ac22414d2e59e71 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 20:18:35 -0400 Subject: [PATCH 122/163] fix wrong convertion --- subgraph/tests/entities.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index c0e7046f51..66dbc03d59 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -19,7 +19,7 @@ use utils::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, get_deposit_events, get_withdraw_events, }, - generate_random_u256, get_wallet, h256_to_bytes, hash_keccak, + generate_random_u256, get_wallet, h256_to_bytes, json_structs::{NewExpressionJson, OrderJson}, numbers::{display_number, get_amount_tokens}, transactions::{ @@ -1577,20 +1577,19 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { // If the "ALICE" in the order come from alice wallet, then it's first order in event // otherwise, it's the second if clear.alice.owner == alice.address() { - assert_eq!(resp.order_a, alice_hash.into()); + assert_eq!(resp.order_a, h256_to_bytes(&alice_hash.into())); } else { - assert_eq!(resp.order_b, alice_hash.into()); + assert_eq!(resp.order_b, h256_to_bytes(&alice_hash.into())); } // If the "BOB" in the order come from bob wallet, then it's second order in event // otherwise, it's the first if clear.bob.owner == bob.address() { - assert_eq!(resp.order_b, bob_hash.into()); + assert_eq!(resp.order_b, h256_to_bytes(&bob_hash.into())); } else { - assert_eq!(resp.order_a, bob_hash.into()); + assert_eq!(resp.order_a, h256_to_bytes(&bob_hash.into())); } - assert_eq!(resp.order_b, bob_hash); assert_eq!(resp.bounty, bounty_id); assert_eq!(resp.state_change, state_change_id); From 435aeef4c48cadba7f927b0cac055c87882b2930 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 20:29:04 -0400 Subject: [PATCH 123/163] fix hash kecck256 --- subgraph/tests/utils/cbor.rs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/subgraph/tests/utils/cbor.rs b/subgraph/tests/utils/cbor.rs index 13169d6e44..4c520ea66d 100644 --- a/subgraph/tests/utils/cbor.rs +++ b/subgraph/tests/utils/cbor.rs @@ -1,4 +1,4 @@ -use super::{ascii_string_to_bytes, MagicNumber}; +use super::{ascii_string_to_bytes, hash_keccak, MagicNumber}; use anyhow::{anyhow, Result}; use ethers::types::{Bytes, H256, U256}; use minicbor::data::Type; @@ -6,9 +6,6 @@ use minicbor::decode::{Decode, Decoder, Error as DecodeError}; use minicbor::encode::{Encode, Encoder, Error as EncodeError, Write}; use serde::Deserialize; -use tiny_keccak::Hasher; -use tiny_keccak::Keccak; - #[derive(Debug, Deserialize)] pub struct RainMapDoc { pub payload: Bytes, @@ -86,13 +83,7 @@ impl RainMapDoc { pub fn hash(&self) -> H256 { let doc_encoded = self.encode(); - let mut keccak = Keccak::v256(); - keccak.update(&doc_encoded); - - let mut output = [0u8; 32]; - keccak.finalize(&mut output); - - H256::from(output) + hash_keccak(&doc_encoded) } /// CBOR encode the Rain Document using CBOR. From 58f90f9a4487c488cd030ecbd25b41a36d6bd078 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 22:10:13 -0400 Subject: [PATCH 124/163] improve take order event --- subgraph/tests/entities.rs | 225 +++++++++++++++--- .../tests/utils/deploy/orderbook/setup.rs | 1 + subgraph/tests/utils/events.rs | 60 ++++- subgraph/tests/utils/transactions/mod.rs | 1 + 4 files changed, 249 insertions(+), 38 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 66dbc03d59..33b6ac35a5 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -9,7 +9,6 @@ use ethers::{ types::{Address, Bytes, U256}, utils::keccak256, }; -use generated::ClearCall; use subgraph::{wait, Query}; use utils::{ bytes_to_h256, @@ -17,7 +16,7 @@ use utils::{ deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, events::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, - get_deposit_events, get_withdraw_events, + get_deposit_events, get_take_order_events, get_withdraw_events, }, generate_random_u256, get_wallet, h256_to_bytes, json_structs::{NewExpressionJson, OrderJson}, @@ -29,8 +28,10 @@ use utils::{ }, }; +use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; + #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -55,7 +56,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -89,7 +90,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -128,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -239,7 +240,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -293,7 +294,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -398,8 +399,8 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { let order_bob = &add_order_bob_data.order; let clear_config = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); - let a_signed_context: Vec = Vec::new(); - let b_signed_context: Vec = Vec::new(); + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); let clear_func = orderbook.connect(&bounty_bot).await.clear( order_alice.to_owned(), @@ -440,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -517,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -627,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -726,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -818,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -929,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1038,8 +1039,8 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { let order_bob = &add_order_bob_data.order; let clear_config = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); - let a_signed_context: Vec = Vec::new(); - let b_signed_context: Vec = Vec::new(); + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); let clear_func = orderbook.connect(&bounty_bot).await.clear( order_alice.to_owned(), @@ -1087,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1189,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1291,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1360,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1409,7 +1410,7 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1516,8 +1517,8 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice_hash = add_order_alice_data.order_hash; let bob_hash = add_order_bob_data.order_hash; - let a_signed_context: Vec = Vec::new(); - let b_signed_context: Vec = Vec::new(); + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); let clear_config_1 = generate_clear_config(&bounty_bot_vault_a, &bounty_bot_vault_b); let clear_1 = ClearCall { @@ -1618,7 +1619,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1706,7 +1707,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1763,7 +1764,7 @@ async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1836,7 +1837,7 @@ async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1937,8 +1938,8 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let order_bob = &add_order_bob_data.order; let clear_config = generate_clear_config(&vault_id, &vault_id); - let a_signed_context: Vec = Vec::new(); - let b_signed_context: Vec = Vec::new(); + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); let clear_func = orderbook.connect(&carl).await.clear( order_alice.to_owned(), @@ -2064,7 +2065,169 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] #[test] +async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + let alice = get_wallet(1); + let bob = get_wallet(2); + + // Connect the orderbook to another wallet + let orderbook = orderbook.connect(&alice).await; + + // Vault id + let vault_id = generate_random_u256(); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = touch_deployer(None).await?; + + // Deploy ERC20 token contract (A) connected to Alice + let token_a = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) connected to Alice + let token_b = deploy_erc20_mock(None).await?; + + // Build OrderConfig + let order_config = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await?; + + // Decode events from the transaction + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; + + // Amount to deposit + let amount_b = get_amount_tokens(1000, token_b.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_b, &alice.address(), &token_b).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_b, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Alice deposit tokens + let deposit_func = orderbook.deposit(token_b.address(), vault_id, amount_b); + let _ = deposit_func.send().await?; + + // BOB TAKE THE ORDER + + // Take Order configs + let minimum_input = U256::from(0); + let maximum_input = get_amount_tokens(1000, token_b.decimals().call().await.unwrap()); + let maximum_io_ratio = U256::from(10000000000000000000u64); // 10e18 + + let take_order_config = TakeOrderConfig { + order: add_order_data.order, + input_io_index: U256::zero(), + output_io_index: U256::zero(), + signed_context: Vec::new(), + }; + + let take_orders_config = TakeOrdersConfigV2 { + minimum_input, + maximum_input, + maximum_io_ratio, + orders: vec![take_order_config], + data: Bytes::new(), // Empty data + }; + + // Fill bob with token A (token input of the order) + // let amount_a = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + let amount_a = amount_b + .saturating_mul(maximum_io_ratio) + .checked_div(U256::from(1000000000000000000u64)) // 1e18 + .unwrap(); + + mint_tokens(&amount_a, &bob.address(), &token_a).await?; + + // Connect token to Bob and approve Orderbook to move tokens + approve_tokens( + &amount_a, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + + // Take the order + let take_order_func = orderbook + .connect(&bob) + .await + .take_orders(take_orders_config); + let tx_take_order = take_order_func.send().await?; + + let tx_receipt = tx_take_order.await?.unwrap(); + + let take_order_tx_hash = &tx_receipt.transaction_hash; + + let take_order_events = get_take_order_events(&orderbook, &take_order_tx_hash).await?; + + // Just one take order happned in this transaction + assert!(take_order_events.len() == 1); + + let take_order_entity_id = format!("{:?}-{}", take_order_tx_hash, 0); + + let token_vault_a = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_a.address()); + let token_vault_b = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_b.address()); + + // Vault Balances for both + let vault_balance_a: U256 = orderbook + .vault_balance(alice.address(), token_a.address(), vault_id) + .call() + .await?; + let vaul_balance_display_a = + display_number(vault_balance_a, get_decimals(token_a.address()).await?); + + let vault_balance_b: U256 = orderbook + .vault_balance(alice.address(), token_b.address(), vault_id) + .call() + .await?; + let vaul_balance_display_b = + display_number(vault_balance_b, get_decimals(token_b.address()).await?); + + // Both entities should be updated + let resp_a = Query::token_vault(&token_vault_a).await?; + let resp_b = Query::token_vault(&token_vault_b).await?; + + // Checking token vault A + assert_eq!(resp_a.owner, alice.address()); + assert_eq!(resp_a.vault_id, vault_id); + assert_eq!(resp_a.token, token_a.address()); + assert_eq!(resp_a.balance, vault_balance_a); + assert_eq!(resp_a.balance_display, vaul_balance_display_a); + assert!( + resp_a.take_orders.contains(&take_order_entity_id), + "missing take order ID" + ); + + // Checking token vault B + assert_eq!(resp_b.owner, alice.address()); + assert_eq!(resp_b.vault_id, vault_id); + assert_eq!(resp_b.token, token_b.address()); + assert_eq!(resp_b.balance, vault_balance_b); + assert_eq!(resp_b.balance_display, vaul_balance_display_b); + assert!( + resp_b.take_orders.contains(&take_order_entity_id), + "missing take order ID" + ); + + Ok(()) +} + +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/utils/deploy/orderbook/setup.rs b/subgraph/tests/utils/deploy/orderbook/setup.rs index 12116e8482..93a1c73466 100644 --- a/subgraph/tests/utils/deploy/orderbook/setup.rs +++ b/subgraph/tests/utils/deploy/orderbook/setup.rs @@ -51,6 +51,7 @@ pub async fn init_orderbook( } else { Err(OrderBookSetupError::SgDeployError()) } + // Ok(orderbook) } async fn try_ob_deploy( diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 09d053ab53..6e65127c9a 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,5 +1,6 @@ use crate::generated::{ - AddOrderFilter, AfterClearFilter, ClearFilter, DepositFilter, OrderBook, WithdrawFilter, + AddOrderFilter, AfterClearFilter, ClearFilter, DepositFilter, OrderBook, TakeOrderFilter, + WithdrawFilter, }; use crate::generated::{ERC20Mock, TransferFilter}; use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; @@ -54,7 +55,7 @@ async fn get_matched_log(receipt: TransactionReceipt, filter: Filter) -> Option< } /// Get all the logs in a transaction for a given matched filter. -async fn _get_matched_logs(receipt: TransactionReceipt, filter: Filter) -> Option> { +async fn get_matched_logs(receipt: TransactionReceipt, filter: Filter) -> Option> { let topic_hash = extract_topic_hash(filter); if let Some(hash) = topic_hash { @@ -114,7 +115,7 @@ pub async fn _get_add_order_events( let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().add_order_filter().filter; - let option_logs = _get_matched_logs(receipt, filter).await; + let option_logs = get_matched_logs(receipt, filter).await; match option_logs { Some(logs) => { @@ -218,7 +219,7 @@ pub async fn get_withdraw_events( let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().withdraw_filter().filter; - let option_logs = _get_matched_logs(receipt, filter).await; + let option_logs = get_matched_logs(receipt, filter).await; match option_logs { Some(logs) => { @@ -244,7 +245,7 @@ pub async fn get_deposit_events( let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().deposit_filter().filter; - let option_logs = _get_matched_logs(receipt, filter).await; + let option_logs = get_matched_logs(receipt, filter).await; match option_logs { Some(logs) => { @@ -270,7 +271,7 @@ pub async fn get_clear_events( let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().clear_filter().filter; - let option_logs = _get_matched_logs(receipt, filter).await; + let option_logs = get_matched_logs(receipt, filter).await; match option_logs { Some(logs) => { @@ -296,7 +297,7 @@ pub async fn get_after_clear_events( let receipt = get_pending_tx(tx_hash).await?; let filter: Filter = contract.clone().after_clear_filter().filter; - let option_logs = _get_matched_logs(receipt, filter).await; + let option_logs = get_matched_logs(receipt, filter).await; match option_logs { Some(logs) => { @@ -317,3 +318,48 @@ pub async fn get_after_clear_events( None => return Err(Error::msg("events not found")), } } + +pub async fn get_take_order_event( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.take_order_filter().filter; + + let option_log = get_matched_log(receipt, filter).await; + + match option_log { + Some(log) => { + let event = + contract.decode_event::("TakeOrder", log.topics, log.data)?; + return Ok(event); + } + None => return Err(Error::msg("event not found")), + } +} + +pub async fn get_take_order_events( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().take_order_filter().filter; + + let option_logs = get_matched_logs(receipt, filter).await; + + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); + + for log in logs { + let event: TakeOrderFilter = + contract.decode_event::("TakeOrder", log.topics, log.data)?; + + events.push(event); + } + + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } +} diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 0b03f03174..d577c66a5f 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -130,6 +130,7 @@ async fn generate_eval_config( // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); + // Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); let (bytecode, constants) = expression_deployer .parse(data_parse.clone()) .await From 0b06b3604eca87c89575ccdf35960752f2b489a8 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 22:27:17 -0400 Subject: [PATCH 125/163] fix: deploy expression deployer once --- subgraph/tests/utils/deploy/mod.rs | 2 +- subgraph/tests/utils/deploy/orderbook/mod.rs | 11 ++-- .../tests/utils/deploy/touch_deployer/mod.rs | 3 + .../utils/deploy/touch_deployer/setup.rs | 64 +++++++++++++++++++ 4 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 subgraph/tests/utils/deploy/touch_deployer/setup.rs diff --git a/subgraph/tests/utils/deploy/mod.rs b/subgraph/tests/utils/deploy/mod.rs index 3b31919760..f6f9a685ca 100644 --- a/subgraph/tests/utils/deploy/mod.rs +++ b/subgraph/tests/utils/deploy/mod.rs @@ -9,4 +9,4 @@ pub use erc20_mock::deploy_erc20_mock; pub use meta_getter::{authoring_meta_getter_deploy, get_meta_address}; pub use orderbook::{deploy_orderbook, get_orderbook, read_orderbook_meta}; pub use registry1820::deploy1820; -pub use touch_deployer::touch_deployer; +pub use touch_deployer::{touch_deployer, get_expression_deployer}; diff --git a/subgraph/tests/utils/deploy/orderbook/mod.rs b/subgraph/tests/utils/deploy/orderbook/mod.rs index 95d7108aff..199af29721 100644 --- a/subgraph/tests/utils/deploy/orderbook/mod.rs +++ b/subgraph/tests/utils/deploy/orderbook/mod.rs @@ -1,4 +1,5 @@ -use super::touch_deployer::touch_deployer; +use super::get_expression_deployer; +// use super::touch_deployer::touch_deployer; use crate::generated::{OrderBook, ORDERBOOK_ABI, ORDERBOOK_BYTECODE}; use crate::utils::{get_provider, get_wallet}; use anyhow::Result; @@ -22,16 +23,16 @@ pub async fn deploy_orderbook( let provider = get_provider().await.expect("cannot get provider"); let chain_id = provider.get_chainid().await.expect("cannot get chain id"); - let client = Arc::new(SignerMiddleware::new( provider.clone(), wallet.clone().with_chain_id(chain_id.as_u64()), )); // Deploying deployer - let expression_deployer = touch_deployer(Some(wallet.clone())) - .await - .expect("cannot touch deployer (ob)"); + let expression_deployer = get_expression_deployer().await?; + // let expression_deployer = touch_deployer(Some(wallet.clone())) + // .await + // .expect("cannot touch deployer (ob)"); // Obtaining OB Meta bytes let meta = read_orderbook_meta(); diff --git a/subgraph/tests/utils/deploy/touch_deployer/mod.rs b/subgraph/tests/utils/deploy/touch_deployer/mod.rs index 0a098bddef..6b13076f2f 100644 --- a/subgraph/tests/utils/deploy/touch_deployer/mod.rs +++ b/subgraph/tests/utils/deploy/touch_deployer/mod.rs @@ -18,6 +18,9 @@ use ethers::{ }; use std::sync::Arc; +mod setup; +pub use setup::get_expression_deployer; + pub async fn touch_deployer( wallet: Option>, ) -> Result, Wallet>>> { diff --git a/subgraph/tests/utils/deploy/touch_deployer/setup.rs b/subgraph/tests/utils/deploy/touch_deployer/setup.rs new file mode 100644 index 0000000000..a63c07b367 --- /dev/null +++ b/subgraph/tests/utils/deploy/touch_deployer/setup.rs @@ -0,0 +1,64 @@ +use crate::generated::RainterpreterExpressionDeployer; +use anyhow::Result; +use ethers::{ + core::k256::ecdsa::SigningKey, + prelude::SignerMiddleware, + providers::{Http, Provider}, + signers::Wallet, +}; +use once_cell::sync::Lazy; +use thiserror::Error; +use tokio::sync::OnceCell; + +use super::touch_deployer; + +static EXPRESSION_DEPLOYER: Lazy< + OnceCell, Wallet>>>, +> = Lazy::new(|| OnceCell::new()); + +#[derive(Error, Debug)] +pub enum ExpressionDeployerSetupError { + #[error("An error occurred when deploying ExpressionDeployer at initialization provider instance: {0}")] + InitDeployDeployerError(#[from] Box), +} + +// PROVIDER CODE INIT +/// Deploy (initialize) an expression deployer contract to be used across the setup +pub async fn init_deployer() -> Result< + RainterpreterExpressionDeployer, Wallet>>, + ExpressionDeployerSetupError, +> { + // By providing `None` as wallet, the function will use the default - The wallet at index 0. + let contract = touch_deployer(None) + .await + .expect("cannot deploy expression deployer at setup initialization"); + + Ok(contract) +} + +async fn try_deployer_deploy() -> Result< + RainterpreterExpressionDeployer, Wallet>>, + ExpressionDeployerSetupError, +> { + match init_deployer().await { + Ok(data) => Ok(data), + Err(err) => Err(ExpressionDeployerSetupError::InitDeployDeployerError( + Box::new(err), + )), + } +} + +/// Obtain the RainterpreterExpressionDeployer deployed for the test +pub async fn get_expression_deployer() -> Result< + &'static RainterpreterExpressionDeployer, Wallet>>, +> { + let orderbook_lazy = EXPRESSION_DEPLOYER + .get_or_try_init(|| async { try_deployer_deploy().await }) + .await + .map_err(|err| ExpressionDeployerSetupError::InitDeployDeployerError(Box::new(err))); + + match orderbook_lazy { + Ok(contract) => Ok(contract), + Err(e) => return Err(anyhow::Error::msg(e.to_string())), + } +} From a4708831b3edc8381d1394c4a714dbbb9769b8ce Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 22:32:46 -0400 Subject: [PATCH 126/163] wip: test take order --- subgraph/tests/entities.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 33b6ac35a5..7b990bf957 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -13,7 +13,10 @@ use subgraph::{wait, Query}; use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, - deploy::{deploy_erc20_mock, get_orderbook, read_orderbook_meta, touch_deployer}, + deploy::{ + deploy_erc20_mock, get_expression_deployer, get_orderbook, read_orderbook_meta, + touch_deployer, + }, events::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, get_deposit_events, get_take_order_events, get_withdraw_events, @@ -2080,7 +2083,8 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { let vault_id = generate_random_u256(); // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; + // let expression_deployer = touch_deployer(None).await?; // Deploy ERC20 token contract (A) connected to Alice let token_a = deploy_erc20_mock(None).await?; @@ -2090,7 +2094,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { // Build OrderConfig let order_config = generate_order_config( - &expression_deployer, + expression_deployer, &token_a, Some(vault_id), &token_b, @@ -2178,11 +2182,13 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { // Just one take order happned in this transaction assert!(take_order_events.len() == 1); - let take_order_entity_id = format!("{:?}-{}", take_order_tx_hash, 0); - let token_vault_a = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_a.address()); let token_vault_b = format!("{}-{:?}-{:?}", vault_id, alice.address(), token_b.address()); + // Index 0 since only one take order was made in this tx + let take_order_entity_a_id = format!("{:?}-{}-{}", take_order_tx_hash, 0, token_vault_a); + let take_order_entity_b_id = format!("{:?}-{}-{}", take_order_tx_hash, 0, token_vault_b); + // Vault Balances for both let vault_balance_a: U256 = orderbook .vault_balance(alice.address(), token_a.address(), vault_id) @@ -2209,7 +2215,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { assert_eq!(resp_a.balance, vault_balance_a); assert_eq!(resp_a.balance_display, vaul_balance_display_a); assert!( - resp_a.take_orders.contains(&take_order_entity_id), + resp_a.take_orders.contains(&take_order_entity_a_id), "missing take order ID" ); @@ -2220,7 +2226,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { assert_eq!(resp_b.balance, vault_balance_b); assert_eq!(resp_b.balance_display, vaul_balance_display_b); assert!( - resp_b.take_orders.contains(&take_order_entity_id), + resp_b.take_orders.contains(&take_order_entity_b_id), "missing take order ID" ); From ebb1be6e821c3b59f0b985c615317f153199244b Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 22:33:41 -0400 Subject: [PATCH 127/163] single deployer across tests --- subgraph/tests/entities.rs | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 7b990bf957..ab7e9f6213 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -13,10 +13,7 @@ use subgraph::{wait, Query}; use utils::{ bytes_to_h256, cbor::{decode_rain_meta, encode_rain_docs, RainMapDoc}, - deploy::{ - deploy_erc20_mock, get_expression_deployer, get_orderbook, read_orderbook_meta, - touch_deployer, - }, + deploy::{deploy_erc20_mock, get_expression_deployer, get_orderbook, read_orderbook_meta}, events::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, get_deposit_events, get_take_order_events, get_withdraw_events, @@ -141,7 +138,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = orderbook.connect(&wallet_1).await; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -252,7 +249,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = orderbook.connect(&wallet_1).await; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -306,7 +303,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -449,7 +446,7 @@ async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -526,7 +523,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -837,7 +834,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let vault_entity_id = format!("{}-{:?}", vault_id, alice.address()); // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -942,7 +939,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -1307,7 +1304,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let vault_id = generate_random_u256(); // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -1422,7 +1419,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -1634,7 +1631,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let vault_id = generate_random_u256(); // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -1849,7 +1846,7 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; // Deploy ExpressionDeployerNP for the config - let expression_deployer = touch_deployer(None).await?; + let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) let token_a = deploy_erc20_mock(None).await?; @@ -2084,7 +2081,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { // Deploy ExpressionDeployerNP for the config let expression_deployer = get_expression_deployer().await?; - // let expression_deployer = touch_deployer(None).await?; + // let expression_deployer = get_expression_deployer().await?; // Deploy ERC20 token contract (A) connected to Alice let token_a = deploy_erc20_mock(None).await?; From 25c5da4768457cf813951471cab60a80326c5da6 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 22:34:38 -0400 Subject: [PATCH 128/163] single deployer across tests --- subgraph/tests/entities.rs | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index ab7e9f6213..4035b4f0bc 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -31,7 +31,7 @@ use utils::{ use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -56,7 +56,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -90,7 +90,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -129,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -240,7 +240,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -294,7 +294,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -441,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -518,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -628,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -727,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -819,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -930,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1088,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1190,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1292,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1361,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1410,7 +1410,7 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1619,7 +1619,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1707,7 +1707,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1764,7 +1764,7 @@ async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1837,7 +1837,7 @@ async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2230,7 +2230,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); From 5d265c3fd52618efdc66b465c8ee75ecb73472d9 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 31 Oct 2023 23:55:00 -0400 Subject: [PATCH 129/163] fix: bounty entity --- subgraph/tests/entities.rs | 205 ++++++++++++++++++ .../subgraph/query/bounty/bounty.graphql | 34 +++ subgraph/tests/subgraph/query/bounty/mod.rs | 104 +++++++++ subgraph/tests/subgraph/query/mod.rs | 10 +- 4 files changed, 351 insertions(+), 2 deletions(-) create mode 100644 subgraph/tests/subgraph/query/bounty/bounty.graphql create mode 100644 subgraph/tests/subgraph/query/bounty/mod.rs diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 4035b4f0bc..2ee40aae0d 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2230,6 +2230,211 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn bounty_entity_clear_test() -> anyhow::Result<()> { + let alice = get_wallet(0); + let bob = get_wallet(1); + let bounty_bot = get_wallet(2); + + let orderbook = get_orderbook().await?; + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = get_expression_deployer().await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + + // Generate vault ids for each account (Input and Output) + let vault_id = generate_random_u256(); + + // Order Alice Configuration + let order_alice = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Order Bob Configuration + let order_bob = generate_order_config( + &expression_deployer, + &token_b, + Some(vault_id), + &token_a, + Some(vault_id), + ) + .await; + + // Add order alice with Alice connected to the OB + let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); + let tx = add_order_alice.send().await?; + let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; + + // Add order bob with Bob connected to the OB + let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); + let tx = add_order_bob.send().await?; + let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; + + // Make deposit of corresponded output token + let decimal_a = token_a.decimals().call().await?; + let amount_alice = get_amount_tokens(8, decimal_a); + + let decimal_b = token_b.decimals().call().await?; + let amount_bob = get_amount_tokens(6, decimal_b); + + // Alice has token_b as output + mint_tokens(&amount_alice, &alice.address(), &token_b).await?; + + // Approve Alice token_b using to OB + approve_tokens( + // &amount_alice, + &amount_alice, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Deposit using Alice + let deposit_func = + orderbook + .connect(&alice) + .await + .deposit(token_b.address(), vault_id, amount_alice); + let _ = deposit_func.send().await?.await?; + + // Bob has token_a as output + mint_tokens(&amount_bob, &bob.address(), &token_a).await?; + + // Approve Bob token_a using to OB + approve_tokens( + &amount_bob, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + + // Deposit using Bob + let deposit_func = + orderbook + .connect(&bob) + .await + .deposit(token_a.address(), vault_id, amount_bob); + let _ = deposit_func.send().await?.await?; + + // BOUNTY BOT CLEARS THE ORDER + // Clear configuration + let order_alice = &add_order_alice_data.order; + let order_bob = &add_order_bob_data.order; + + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); + + let clear_config_1 = generate_clear_config(&vault_id, &vault_id); + let clear_1 = ClearCall { + alice: order_alice.to_owned(), + bob: order_bob.to_owned(), + clear_config: clear_config_1, + alice_signed_context: a_signed_context.clone(), + bob_signed_context: b_signed_context.clone(), + }; + + let clear_config_2 = generate_clear_config(&vault_id, &vault_id); + let clear_2 = ClearCall { + alice: order_bob.to_owned(), + bob: order_alice.to_owned(), + clear_config: clear_config_2, + alice_signed_context: b_signed_context, + bob_signed_context: a_signed_context, + }; + + let clear_configs = vec![clear_1, clear_2]; + + let multi_clear_bytes = generate_multi_clear(&clear_configs); + + let multicall_func = orderbook + .connect(&bounty_bot) + .await + .multicall(multi_clear_bytes); + + let tx_multicall = multicall_func.send().await?; + + // Tx hash that hold all the logs + let clears_tx_hash = tx_multicall.tx_hash(); + + let clear_events = get_clear_events(&orderbook, &clears_tx_hash).await?; + let after_clear_events = get_after_clear_events(&orderbook, &clears_tx_hash).await?; + + let block_data = get_block_data(&clears_tx_hash).await?; + + // It should emit the same amount of events both parts + assert_eq!(clear_events.len(), after_clear_events.len()); + + // Bounty Vault Entity ID + let bounty_vault = format!("{}-{:?}", vault_id, bounty_bot.address()); + + // Wait for Subgraph sync + wait().await?; + + for (index, clear) in clear_events.iter().enumerate() { + let after_clear = after_clear_events.get(index).unwrap(); + + let bounty_entity_id = format!("{:?}-{}", clears_tx_hash, index); + let order_clear_id = bounty_entity_id.clone(); + + let clear_state_change = &after_clear.clear_state_change; + + // In these tests, generally only one token is added in the Order, so we pick the "first" in the array + let alice_token_output: &Address = &clear.alice.valid_outputs.first().unwrap().token; + let bob_token_output: &Address = &clear.bob.valid_outputs.first().unwrap().token; + + // Bounty Amount from A (alice) + let bounty_amount_a = clear_state_change + .alice_output + .saturating_sub(clear_state_change.bob_input); + + let bounty_amount_a_display = + display_number(bounty_amount_a, get_decimals(*alice_token_output).await?); + + // Bounty Amount from B (bpb) + let bounty_amount_b = clear_state_change + .bob_output + .saturating_sub(clear_state_change.alice_input); + + let bounty_amount_b_display = + display_number(bounty_amount_b, get_decimals(*bob_token_output).await?); + + let resp = Query::bounty(&bounty_entity_id).await?; + + assert_eq!(resp.clearer, bounty_bot.address()); + assert_eq!(resp.order_clear, order_clear_id); + + assert_eq!(resp.bounty_vault_a, bounty_vault); + assert_eq!(resp.bounty_vault_b, bounty_vault); + + assert_eq!(resp.bounty_token_a, *alice_token_output); + assert_eq!(resp.bounty_token_b, *bob_token_output); + + assert_eq!(resp.bounty_amount_a, Some(bounty_amount_a)); + assert_eq!(resp.bounty_amount_a_display, Some(bounty_amount_a_display)); + + assert_eq!(resp.bounty_amount_b, Some(bounty_amount_b)); + assert_eq!(resp.bounty_amount_b_display, Some(bounty_amount_b_display)); + + assert_eq!(resp.transaction, clears_tx_hash); + assert_eq!(resp.emitter, bounty_bot.address()); + assert_eq!(resp.timestamp, block_data.timestamp); + + // assert_eq!(resp.bounty_amount_b, Some(bounty_amount_b)); + // assert_eq!(resp.bounty_token_b, token_b.address()); + } + Ok(()) +} + #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/bounty/bounty.graphql b/subgraph/tests/subgraph/query/bounty/bounty.graphql new file mode 100644 index 0000000000..5f45a9c106 --- /dev/null +++ b/subgraph/tests/subgraph/query/bounty/bounty.graphql @@ -0,0 +1,34 @@ +query Bounty($id: String) { + bounty(id: $id) { + id + clearer { + id + } + orderClear { + id + } + bountyVaultA { + id + } + bountyVaultB { + id + } + bountyTokenA { + id + } + bountyTokenB { + id + } + bountyAmountA + bountyAmountADisplay + bountyAmountB + bountyAmountBDisplay + transaction { + id + } + emitter { + id + } + timestamp + } +} diff --git a/subgraph/tests/subgraph/query/bounty/mod.rs b/subgraph/tests/subgraph/query/bounty/mod.rs new file mode 100644 index 0000000000..53c16042ec --- /dev/null +++ b/subgraph/tests/subgraph/query/bounty/mod.rs @@ -0,0 +1,104 @@ +use self::bounty::ResponseData; +use super::SG_URL; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes, TxHash, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +// use bigdecimal::BigDecimal; +type BigDecimal = String; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/bounty/bounty.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct Bounty; + +#[derive(Serialize, Deserialize, Debug)] +pub struct BountyResponse { + pub id: String, + pub clearer: Address, + pub order_clear: String, + pub bounty_vault_a: String, + pub bounty_vault_b: String, + pub bounty_token_a: Address, + pub bounty_token_b: Address, + pub bounty_amount_a: Option, + pub bounty_amount_a_display: Option, + pub bounty_amount_b: Option, + pub bounty_amount_b_display: Option, + pub transaction: TxHash, + pub emitter: Address, + pub timestamp: U256, +} + +impl BountyResponse { + pub fn from(response: ResponseData) -> BountyResponse { + let data = response.bounty.unwrap(); + + let clearer = Address::from_slice(&data.clearer.id); + + let bounty_token_a = + Address::from_slice(&hex_string_to_bytes(&data.bounty_token_a.id).unwrap()); + let bounty_token_b = + Address::from_slice(&hex_string_to_bytes(&data.bounty_token_b.id).unwrap()); + + let bounty_amount_a = match data.bounty_amount_a { + Some(value) => Some(mn_mpz_to_u256(&value)), + None => None, + }; + let bounty_amount_b = match data.bounty_amount_b { + Some(value) => Some(mn_mpz_to_u256(&value)), + None => None, + }; + + let emitter = Address::from_slice(&data.emitter.id); + let transaction = bytes_to_h256(&hex_string_to_bytes(&data.transaction.id).unwrap()); + + BountyResponse { + id: data.id, + clearer, + order_clear: data.order_clear.id, + bounty_vault_a: data.bounty_vault_a.id, + bounty_vault_b: data.bounty_vault_b.id, + bounty_token_a, + bounty_token_b, + bounty_amount_a, + bounty_amount_a_display: data.bounty_amount_a_display, + bounty_amount_b, + bounty_amount_b_display: data.bounty_amount_b_display, + transaction, + emitter, + timestamp: mn_mpz_to_u256(&data.timestamp), + } + } +} + +pub async fn get_bounty(id: &String) -> Result { + let variables = bounty::Variables { + id: id.to_string().into(), + }; + + let request_body = Bounty::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = BountyResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 96489d4cdb..3c0a34becb 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,3 +1,4 @@ +pub(crate) mod bounty; pub(crate) mod content_meta_v1; pub(crate) mod erc20; pub(crate) mod io; @@ -5,16 +6,17 @@ pub(crate) mod order; pub(crate) mod order_clear; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; +pub(crate) mod token_vault; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; -pub(crate) mod token_vault; use anyhow::Result; use ethers::types::{Address, Bytes}; use once_cell::sync::Lazy; use reqwest::Url; +use bounty::{get_bounty, BountyResponse}; use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; use erc20::{get_erc20, ERC20Response}; use io::{get_i_o, IOResponse}; @@ -22,10 +24,10 @@ use order::{get_order, OrderResponse}; use order_clear::{get_order_clear, OrderClearResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; +use token_vault::{get_token_vault, TokenVaultResponse}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; -use token_vault::{get_token_vault, TokenVaultResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -76,4 +78,8 @@ impl Query { pub async fn token_vault(id: &String) -> Result { get_token_vault(id).await } + + pub async fn bounty(id: &String) -> Result { + get_bounty(id).await + } } From ba0149b0d49a379177d7b974a28516aae982cf4d Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 00:10:03 -0400 Subject: [PATCH 130/163] clear state changes --- subgraph/tests/entities.rs | 213 +++++++++++++++--- subgraph/tests/subgraph/query/mod.rs | 6 + .../query/order_clear_state_change/mod.rs | 69 ++++++ .../order_clear_state_change.graphql | 12 + 4 files changed, 274 insertions(+), 26 deletions(-) create mode 100644 subgraph/tests/subgraph/query/order_clear_state_change/mod.rs create mode 100644 subgraph/tests/subgraph/query/order_clear_state_change/order_clear_state_change.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 2ee40aae0d..2b1be1415e 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -31,7 +31,7 @@ use utils::{ use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -56,7 +56,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -90,7 +90,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -129,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -240,7 +240,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -294,7 +294,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -441,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -518,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -628,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -727,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -819,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -930,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1088,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1190,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1292,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1361,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1410,7 +1410,7 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1619,7 +1619,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1707,7 +1707,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1764,7 +1764,7 @@ async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1837,7 +1837,7 @@ async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2066,7 +2066,7 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2231,7 +2231,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn bounty_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2428,14 +2428,175 @@ async fn bounty_entity_clear_test() -> anyhow::Result<()> { assert_eq!(resp.transaction, clears_tx_hash); assert_eq!(resp.emitter, bounty_bot.address()); assert_eq!(resp.timestamp, block_data.timestamp); - - // assert_eq!(resp.bounty_amount_b, Some(bounty_amount_b)); - // assert_eq!(resp.bounty_token_b, token_b.address()); } Ok(()) } +#[tokio::main] #[test] +async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { + let alice = get_wallet(0); + let bob = get_wallet(1); + let bounty_bot = get_wallet(2); + + let orderbook = get_orderbook().await?; + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = get_expression_deployer().await?; + + // Deploy ERC20 token contract (A) + let token_a = deploy_erc20_mock(None).await?; + // Deploy ERC20 token contract (B) + let token_b = deploy_erc20_mock(None).await?; + + // Generate vault ids for each account (Input and Output) + let vault_id = generate_random_u256(); + + // Order Alice Configuration + let order_alice = generate_order_config( + &expression_deployer, + &token_a, + Some(vault_id), + &token_b, + Some(vault_id), + ) + .await; + + // Order Bob Configuration + let order_bob = generate_order_config( + &expression_deployer, + &token_b, + Some(vault_id), + &token_a, + Some(vault_id), + ) + .await; + + // Add order alice with Alice connected to the OB + let add_order_alice = orderbook.connect(&alice).await.add_order(order_alice); + let tx = add_order_alice.send().await?; + let add_order_alice_data = get_add_order_event(orderbook, &tx).await?; + + // Add order bob with Bob connected to the OB + let add_order_bob = orderbook.connect(&bob).await.add_order(order_bob); + let tx = add_order_bob.send().await?; + let add_order_bob_data = get_add_order_event(orderbook, &tx).await?; + + // Make deposit of corresponded output token + let decimal_a = token_a.decimals().call().await?; + let amount_alice = get_amount_tokens(8, decimal_a); + + let decimal_b = token_b.decimals().call().await?; + let amount_bob = get_amount_tokens(6, decimal_b); + + // Alice has token_b as output + mint_tokens(&amount_alice, &alice.address(), &token_b).await?; + + // Approve Alice token_b using to OB + approve_tokens( + // &amount_alice, + &amount_alice, + &orderbook.address(), + &token_b.connect(&alice).await, + ) + .await?; + + // Deposit using Alice + let deposit_func = + orderbook + .connect(&alice) + .await + .deposit(token_b.address(), vault_id, amount_alice); + let _ = deposit_func.send().await?.await?; + + // Bob has token_a as output + mint_tokens(&amount_bob, &bob.address(), &token_a).await?; + + // Approve Bob token_a using to OB + approve_tokens( + &amount_bob, + &orderbook.address(), + &token_a.connect(&bob).await, + ) + .await?; + + // Deposit using Bob + let deposit_func = + orderbook + .connect(&bob) + .await + .deposit(token_a.address(), vault_id, amount_bob); + let _ = deposit_func.send().await?.await?; + + // BOUNTY BOT CLEARS THE ORDER + // Clear configuration + let order_alice = &add_order_alice_data.order; + let order_bob = &add_order_bob_data.order; + + let a_signed_context: Vec = Vec::new(); + let b_signed_context: Vec = Vec::new(); + + let clear_config_1 = generate_clear_config(&vault_id, &vault_id); + let clear_1 = ClearCall { + alice: order_alice.to_owned(), + bob: order_bob.to_owned(), + clear_config: clear_config_1, + alice_signed_context: a_signed_context.clone(), + bob_signed_context: b_signed_context.clone(), + }; + + let clear_config_2 = generate_clear_config(&vault_id, &vault_id); + let clear_2 = ClearCall { + alice: order_bob.to_owned(), + bob: order_alice.to_owned(), + clear_config: clear_config_2, + alice_signed_context: b_signed_context, + bob_signed_context: a_signed_context, + }; + + let clear_configs = vec![clear_1, clear_2]; + + let multi_clear_bytes = generate_multi_clear(&clear_configs); + + let multicall_func = orderbook + .connect(&bounty_bot) + .await + .multicall(multi_clear_bytes); + + let tx_multicall = multicall_func.send().await?; + + // Tx hash that hold all the logs + let clears_tx_hash = tx_multicall.tx_hash(); + + let clear_events = get_clear_events(&orderbook, &clears_tx_hash).await?; + let after_clear_events = get_after_clear_events(&orderbook, &clears_tx_hash).await?; + + // It should emit the same amount of events both parts + assert_eq!(clear_events.len(), after_clear_events.len()); + + // Wait for Subgraph sync + wait().await?; + + for (index, after_clear) in after_clear_events.iter().enumerate() { + let order_clear_id = format!("{:?}-{}", clears_tx_hash, index); + let get_order_clear_state_change_entity_id = order_clear_id.clone(); + + let clear_state_change = &after_clear.clear_state_change; + + let resp = Query::order_clear_state_change(&get_order_clear_state_change_entity_id).await?; + + assert_eq!(resp.order_clear, order_clear_id); + + assert_eq!(resp.a_output, clear_state_change.alice_output); + assert_eq!(resp.b_output, clear_state_change.bob_output); + + assert_eq!(resp.a_input, clear_state_change.alice_input); + assert_eq!(resp.b_input, clear_state_change.bob_input); + } + Ok(()) +} + +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 3c0a34becb..715d8c0539 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -4,6 +4,7 @@ pub(crate) mod erc20; pub(crate) mod io; pub(crate) mod order; pub(crate) mod order_clear; +pub(crate) mod order_clear_state_change; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; pub(crate) mod token_vault; @@ -22,6 +23,7 @@ use erc20::{get_erc20, ERC20Response}; use io::{get_i_o, IOResponse}; use order::{get_order, OrderResponse}; use order_clear::{get_order_clear, OrderClearResponse}; +use order_clear_state_change::{get_order_clear_state_change, OrderClearStateChangeResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use token_vault::{get_token_vault, TokenVaultResponse}; @@ -82,4 +84,8 @@ impl Query { pub async fn bounty(id: &String) -> Result { get_bounty(id).await } + + pub async fn order_clear_state_change(id: &String) -> Result { + get_order_clear_state_change(id).await + } } diff --git a/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs b/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs new file mode 100644 index 0000000000..0e7011cb26 --- /dev/null +++ b/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs @@ -0,0 +1,69 @@ +use self::order_clear_state_change::ResponseData; +use super::SG_URL; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::{Address, Bytes, TxHash, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +// use bigdecimal::BigDecimal; +type BigDecimal = String; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/order_clear_state_change/order_clear_state_change.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct OrderClearStateChange; + +#[derive(Serialize, Deserialize, Debug)] +pub struct OrderClearStateChangeResponse { + pub id: String, + pub order_clear: String, + pub a_output: U256, + pub b_output: U256, + pub a_input: U256, + pub b_input: U256, +} + +impl OrderClearStateChangeResponse { + pub fn from(response: ResponseData) -> OrderClearStateChangeResponse { + let data = response.order_clear_state_change.unwrap(); + + OrderClearStateChangeResponse { + id: data.id, + order_clear: data.order_clear.id, + a_output: mn_mpz_to_u256(&data.a_output), + b_output: mn_mpz_to_u256(&data.b_output), + a_input: mn_mpz_to_u256(&data.a_input), + b_input: mn_mpz_to_u256(&data.b_input), + } + } +} + +pub async fn get_order_clear_state_change(id: &String) -> Result { + let variables = order_clear_state_change::Variables { + id: id.to_string().into(), + }; + + let request_body = OrderClearStateChange::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = OrderClearStateChangeResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/order_clear_state_change/order_clear_state_change.graphql b/subgraph/tests/subgraph/query/order_clear_state_change/order_clear_state_change.graphql new file mode 100644 index 0000000000..91c0cac131 --- /dev/null +++ b/subgraph/tests/subgraph/query/order_clear_state_change/order_clear_state_change.graphql @@ -0,0 +1,12 @@ +query OrderClearStateChange($id: String) { + orderClearStateChange(id: $id) { + id + orderClear { + id + } + aOutput + bOutput + aInput + bInput + } +} From 82507378381331e0217213482d97e192399f6c03 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 00:10:31 -0400 Subject: [PATCH 131/163] clear state changes --- .../tests/subgraph/query/order_clear_state_change/mod.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs b/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs index 0e7011cb26..9149fac04a 100644 --- a/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs +++ b/subgraph/tests/subgraph/query/order_clear_state_change/mod.rs @@ -1,15 +1,12 @@ use self::order_clear_state_change::ResponseData; use super::SG_URL; -use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use crate::utils::mn_mpz_to_u256; use anyhow::{anyhow, Result}; -use ethers::types::{Address, Bytes, TxHash, U256}; +use ethers::types::U256; use graphql_client::{GraphQLQuery, Response}; use rust_bigint::BigInt; use serde::{Deserialize, Serialize}; -// use bigdecimal::BigDecimal; -type BigDecimal = String; - #[derive(GraphQLQuery)] #[graphql( schema_path = "tests/subgraph/query/schema.json", From 362d351013ec9390465080c8eaf04cd556f68e63 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 00:46:58 -0400 Subject: [PATCH 132/163] missing token vault in take orders --- subgraph/tests/entities.rs | 152 +++++++++++++++++- subgraph/tests/subgraph/query/mod.rs | 6 + .../query/token_vault_take_order/mod.rs | 61 +++++++ .../token_vault_take_order.graphql | 13 ++ 4 files changed, 231 insertions(+), 1 deletion(-) create mode 100644 subgraph/tests/subgraph/query/token_vault_take_order/mod.rs create mode 100644 subgraph/tests/subgraph/query/token_vault_take_order/token_vault_take_order.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 2b1be1415e..e32d0355b5 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2433,7 +2433,7 @@ async fn bounty_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2596,6 +2596,156 @@ async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + let alice = get_wallet(1); + let bob = get_wallet(2); + + // Connect the orderbook to another wallet + let orderbook = orderbook.connect(&alice).await; + + // Vault id + let vault_id = generate_random_u256(); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = get_expression_deployer().await?; + // let expression_deployer = get_expression_deployer().await?; + + // Deploy ERC20 token contract (A) connected to Alice + let token_input = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) connected to Alice + let token_output = deploy_erc20_mock(None).await?; + + // Build OrderConfig + let order_config = generate_order_config( + expression_deployer, + &token_input, + Some(vault_id), + &token_output, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await?; + + // Decode events from the transaction + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; + + // Amount to deposit + let amount_b = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_b, &alice.address(), &token_output).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_b, + &orderbook.address(), + &token_output.connect(&alice).await, + ) + .await?; + + // Alice deposit tokens + let deposit_func = orderbook.deposit(token_output.address(), vault_id, amount_b); + let _ = deposit_func.send().await?; + + // BOB TAKE THE ORDER + + // Take Order configs + let minimum_input = U256::from(0); + let maximum_input = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); + let maximum_io_ratio = U256::from(10000000000000000000u64); // 10e18 + + let take_order_config = TakeOrderConfig { + order: add_order_data.order, + input_io_index: U256::zero(), + output_io_index: U256::zero(), + signed_context: Vec::new(), + }; + + let take_orders_config = TakeOrdersConfigV2 { + minimum_input, + maximum_input, + maximum_io_ratio, + orders: vec![take_order_config], + data: Bytes::new(), // Empty data + }; + + // Fill bob with token A (token input of the order) + // let amount_a = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + let amount_a = amount_b + .saturating_mul(maximum_io_ratio) + .checked_div(U256::from(1000000000000000000u64)) // 1e18 + .unwrap(); + + mint_tokens(&amount_a, &bob.address(), &token_input).await?; + + // Connect token to Bob and approve Orderbook to move tokens + approve_tokens( + &amount_a, + &orderbook.address(), + &token_input.connect(&bob).await, + ) + .await?; + + // Take the order + let take_order_func = orderbook + .connect(&bob) + .await + .take_orders(take_orders_config); + let tx_take_order = take_order_func.send().await?; + + let tx_receipt = tx_take_order.await?.unwrap(); + + let take_order_tx_hash = &tx_receipt.transaction_hash; + + let take_order_events = get_take_order_events(&orderbook, &take_order_tx_hash).await?; + + // Just one take order happned in this transaction + assert!(take_order_events.len() == 1); + + // Using index 0 since only one take order was made in this tx + let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); + let token_vault_input = format!( + "{}-{:?}-{:?}", + vault_id, + alice.address(), + token_input.address() + ); + let token_vault_output = format!( + "{}-{:?}-{:?}", + vault_id, + alice.address(), + token_output.address() + ); + + let token_vault_take_order_a_id = format!("{}-{}", take_order_entity, token_vault_input); + let token_vault_take_order_b_id = format!("{}-{}", take_order_entity, token_vault_output); + + let resp_a = Query::token_vault_take_order(&token_vault_take_order_a_id).await?; + let resp_b = Query::token_vault_take_order(&token_vault_take_order_b_id).await?; + + // Token Input + assert!(resp_a.was_input); + assert!(!resp_a.was_output); + assert_eq!(resp_a.take_order, take_order_entity); + assert_eq!(resp_a.token_vault, token_vault_input); + + // Token Output + assert!(!resp_b.was_input); + assert!(resp_b.was_output); + assert_eq!(resp_b.take_order, take_order_entity); + assert_eq!(resp_b.token_vault, token_vault_output); + + Ok(()) +} + // #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 715d8c0539..8981708850 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -8,6 +8,7 @@ pub(crate) mod order_clear_state_change; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; pub(crate) mod token_vault; +pub(crate) mod token_vault_take_order; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; @@ -27,6 +28,7 @@ use order_clear_state_change::{get_order_clear_state_change, OrderClearStateChan use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; use token_vault::{get_token_vault, TokenVaultResponse}; +use token_vault_take_order::{get_token_vault_take_order, TokenVaultTakeOrderResponse}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; @@ -88,4 +90,8 @@ impl Query { pub async fn order_clear_state_change(id: &String) -> Result { get_order_clear_state_change(id).await } + + pub async fn token_vault_take_order(id: &String) -> Result { + get_token_vault_take_order(id).await + } } diff --git a/subgraph/tests/subgraph/query/token_vault_take_order/mod.rs b/subgraph/tests/subgraph/query/token_vault_take_order/mod.rs new file mode 100644 index 0000000000..be38d5f133 --- /dev/null +++ b/subgraph/tests/subgraph/query/token_vault_take_order/mod.rs @@ -0,0 +1,61 @@ +use self::token_vault_take_order::ResponseData; +use super::SG_URL; +use anyhow::{anyhow, Result}; +use graphql_client::{GraphQLQuery, Response}; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/token_vault_take_order/token_vault_take_order.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct TokenVaultTakeOrder; + +#[derive(Serialize, Deserialize, Debug)] +pub struct TokenVaultTakeOrderResponse { + pub id: String, + pub was_output: bool, + pub was_input: bool, + pub take_order: String, + pub token_vault: String, +} + +impl TokenVaultTakeOrderResponse { + pub fn from(response: ResponseData) -> TokenVaultTakeOrderResponse { + let data = response.token_vault_take_order.unwrap(); + + TokenVaultTakeOrderResponse { + id: data.id, + was_output: data.was_output, + was_input: data.was_input, + take_order: data.take_order.id, + token_vault: data.token_vault.id, + } + } +} + +pub async fn get_token_vault_take_order(id: &String) -> Result { + let variables = token_vault_take_order::Variables { + id: id.to_string().into(), + }; + + let request_body = TokenVaultTakeOrder::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = TokenVaultTakeOrderResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/token_vault_take_order/token_vault_take_order.graphql b/subgraph/tests/subgraph/query/token_vault_take_order/token_vault_take_order.graphql new file mode 100644 index 0000000000..125d481e4c --- /dev/null +++ b/subgraph/tests/subgraph/query/token_vault_take_order/token_vault_take_order.graphql @@ -0,0 +1,13 @@ +query TokenVaultTakeOrder($id: String) { + tokenVaultTakeOrder(id: $id) { + id + wasOutput + wasInput + takeOrder { + id + } + tokenVault { + id + } + } +} From d94908b36ddc086de811a08b760e2269c070f64c Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 01:46:03 -0400 Subject: [PATCH 133/163] missing take order entity test --- subgraph/tests/entities.rs | 187 +++++++++++++++++- subgraph/tests/subgraph/query/mod.rs | 6 + .../subgraph/query/take_order_entity/mod.rs | 102 ++++++++++ .../take_order_entity.graphql | 34 ++++ subgraph/tests/utils/numbers.rs | 26 ++- 5 files changed, 351 insertions(+), 4 deletions(-) create mode 100644 subgraph/tests/subgraph/query/take_order_entity/mod.rs create mode 100644 subgraph/tests/subgraph/query/take_order_entity/take_order_entity.graphql diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e32d0355b5..a96f58bc2f 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -16,11 +16,11 @@ use utils::{ deploy::{deploy_erc20_mock, get_expression_deployer, get_orderbook, read_orderbook_meta}, events::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, - get_deposit_events, get_take_order_events, get_withdraw_events, + get_deposit_events, get_take_order_event, get_take_order_events, get_withdraw_events, }, generate_random_u256, get_wallet, h256_to_bytes, json_structs::{NewExpressionJson, OrderJson}, - numbers::{display_number, get_amount_tokens}, + numbers::{display_number, divide_decimal_strings, get_amount_tokens}, transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_clear, generate_multi_deposit, generate_multi_withdraw, generate_order_config, get_block_data, @@ -2597,7 +2597,7 @@ async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2746,6 +2746,187 @@ async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { Ok(()) } +#[tokio::main] +#[test] +async fn take_order_entity_take_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + let alice = get_wallet(1); + let bob = get_wallet(2); + + // Connect the orderbook to another wallet + let orderbook = orderbook.connect(&alice).await; + + // Vault id + let vault_id = generate_random_u256(); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = get_expression_deployer().await?; + // let expression_deployer = get_expression_deployer().await?; + + // Deploy ERC20 token contract (A) connected to Alice + let token_input = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) connected to Alice + let token_output = deploy_erc20_mock(None).await?; + + // Build OrderConfig + let order_config = generate_order_config( + expression_deployer, + &token_input, + Some(vault_id), + &token_output, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await?; + + // Decode events from the transaction + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; + + // Amount to deposit + let amount_b = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_b, &alice.address(), &token_output).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_b, + &orderbook.address(), + &token_output.connect(&alice).await, + ) + .await?; + + // Alice deposit tokens + let deposit_func = orderbook.deposit(token_output.address(), vault_id, amount_b); + let _ = deposit_func.send().await?; + + // BOB TAKE THE ORDER + + // Take Order configs + let minimum_input = U256::from(0); + let maximum_input = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); + let maximum_io_ratio = U256::from(10000000000000000000u64); // 10e18 + + let take_order_config = TakeOrderConfig { + order: add_order_data.order, + input_io_index: U256::zero(), + output_io_index: U256::zero(), + signed_context: Vec::new(), + }; + + let take_orders_config = TakeOrdersConfigV2 { + minimum_input, + maximum_input, + maximum_io_ratio, + orders: vec![take_order_config], + data: Bytes::new(), // Empty data + }; + + // Fill bob with token A (token input of the order) + // let amount_a = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + let amount_a = amount_b + .saturating_mul(maximum_io_ratio) + .checked_div(U256::from(1000000000000000000u64)) // 1e18 + .unwrap(); + + mint_tokens(&amount_a, &bob.address(), &token_input).await?; + + // Connect token to Bob and approve Orderbook to move tokens + approve_tokens( + &amount_a, + &orderbook.address(), + &token_input.connect(&bob).await, + ) + .await?; + + // Take the order + let take_order_func = orderbook + .connect(&bob) + .await + .take_orders(take_orders_config); + let tx_take_order = take_order_func.send().await?; + + let tx_receipt = tx_take_order.await?.unwrap(); + + let take_order_tx_hash = &tx_receipt.transaction_hash; + let take_order_event = get_take_order_event(&orderbook, &take_order_tx_hash).await?; + + let block_data = get_block_data(&take_order_tx_hash).await?; + + // Using index 0 since only one take order was made in this tx + let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); + let token_vault_input = format!( + "{}-{:?}-{:?}", + vault_id, + alice.address(), + token_input.address() + ); + let token_vault_output = format!( + "{}-{:?}-{:?}", + vault_id, + alice.address(), + token_output.address() + ); + + let token_vault_take_order_a_id = format!("{}-{}", take_order_entity, token_vault_input); + let token_vault_take_order_b_id = format!("{}-{}", take_order_entity, token_vault_output); + + let input_token = take_order_event + .config + .order + .valid_inputs + .first() + .unwrap() + .token; + + let output_token = take_order_event + .config + .order + .valid_outputs + .first() + .unwrap() + .token; + + let input_display = display_number(take_order_event.input, get_decimals(input_token).await?); + let output_display = display_number(take_order_event.output, get_decimals(output_token).await?); + + let io_ratio = + divide_decimal_strings(&input_display, &output_display).unwrap_or("0".to_string()); + + let resp = Query::take_order_entity(&token_vault_input).await?; + + assert_eq!(resp.sender, take_order_event.sender); + assert_eq!(resp.order, h256_to_bytes(&add_order_data.order_hash.into())); + + assert_eq!(resp.input, take_order_event.input); + assert_eq!(resp.input_display, input_display); + + assert_eq!(resp.output, take_order_event.output); + assert_eq!(resp.output_display, output_display); + + assert_eq!(resp.io_ratio, io_ratio); + + assert_eq!(resp.input_io_index, take_order_event.config.input_io_index); + assert_eq!( + resp.output_io_index, + take_order_event.config.output_io_index + ); + + assert_eq!(resp.input_token, input_token); + assert_eq!(resp.output_token, output_token); + + assert_eq!(resp.transaction, *take_order_tx_hash); + assert_eq!(resp.emitter, take_order_event.sender); + assert_eq!(resp.timestamp, block_data.timestamp); + + Ok(()) +} + // #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 8981708850..906096d137 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -12,6 +12,7 @@ pub(crate) mod token_vault_take_order; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; +pub(crate) mod take_order_entity; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -32,6 +33,7 @@ use token_vault_take_order::{get_token_vault_take_order, TokenVaultTakeOrderResp use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; +use take_order_entity::{get_take_order_entity, TakeOrderEntityResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -94,4 +96,8 @@ impl Query { pub async fn token_vault_take_order(id: &String) -> Result { get_token_vault_take_order(id).await } + + pub async fn take_order_entity(id: &String) -> Result { + get_take_order_entity(id).await + } } diff --git a/subgraph/tests/subgraph/query/take_order_entity/mod.rs b/subgraph/tests/subgraph/query/take_order_entity/mod.rs new file mode 100644 index 0000000000..34e581bd84 --- /dev/null +++ b/subgraph/tests/subgraph/query/take_order_entity/mod.rs @@ -0,0 +1,102 @@ +use self::take_order_entity::ResponseData; +use super::SG_URL; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::TxHash; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +// use bigdecimal::BigDecimal; +type BigDecimal = String; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/take_order_entity/take_order_entity.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct TakeOrderEntity; + +#[derive(Serialize, Deserialize, Debug)] +pub struct TakeOrderEntityResponse { + pub id: String, + pub sender: Address, + pub order: Bytes, + pub input: U256, + pub input_display: String, + pub output: U256, + pub output_display: String, + pub io_ratio: String, + pub input_io_index: U256, + pub output_io_index: U256, + pub input_token: Address, + pub output_token: Address, + pub context: Option, + pub emitter: Address, + pub transaction: TxHash, + pub timestamp: U256, +} + +impl TakeOrderEntityResponse { + pub fn from(response: ResponseData) -> TakeOrderEntityResponse { + let data = response.take_order_entity.unwrap(); + + let sender = Address::from_slice(&data.sender.id); + let input_token = Address::from_slice(&hex_string_to_bytes(&data.input_token.id).unwrap()); + let output_token = + Address::from_slice(&hex_string_to_bytes(&data.output_token.id).unwrap()); + let emitter = Address::from_slice(&data.emitter.id); + let transaction = bytes_to_h256(&hex_string_to_bytes(&data.transaction.id).unwrap()); + + let context = match data.context { + Some(value) => Some(value.id), + None => None, + }; + + TakeOrderEntityResponse { + id: data.id, + sender, + order: hex_string_to_bytes(&data.order.id).unwrap(), + input: mn_mpz_to_u256(&data.input), + input_display: data.input_display, + output: mn_mpz_to_u256(&data.input), + output_display: data.output_display, + io_ratio: data.io_ratio, + input_io_index: mn_mpz_to_u256(&data.input_io_index), + output_io_index: mn_mpz_to_u256(&data.output_io_index), + input_token, + output_token, + context, + emitter, + transaction, + timestamp: mn_mpz_to_u256(&data.timestamp), + } + } +} + +pub async fn get_vault_deposit(id: &String) -> Result { + let variables = take_order_entity::Variables { + id: id.to_string().into(), + }; + + let request_body = TakeOrderEntity::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = TakeOrderEntityResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/take_order_entity/take_order_entity.graphql b/subgraph/tests/subgraph/query/take_order_entity/take_order_entity.graphql new file mode 100644 index 0000000000..28d1269c35 --- /dev/null +++ b/subgraph/tests/subgraph/query/take_order_entity/take_order_entity.graphql @@ -0,0 +1,34 @@ +query TakeOrderEntity($id: String) { + takeOrderEntity(id: $id) { + id + sender { + id + } + order { + id + } + input + inputDisplay + output + outputDisplay + IORatio + inputIOIndex + outputIOIndex + inputToken { + id + } + outputToken { + id + } + transaction { + id + } + emitter { + id + } + timestamp + context { + id + } + } +} diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index 41791c8f70..a029519b86 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -1,5 +1,10 @@ +use bigdecimal::Zero; use ethers::types::U256; -use std::ops::Mul; +use std::{ops::Mul, str::FromStr}; +extern crate bigdecimal; +use bigdecimal::BigDecimal; +use bigdecimal::FromPrimitive; +use bigdecimal::ToPrimitive; pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { let result: U256 = U256::from(amount).mul(U256::from(10).pow(U256::from(decimals))); @@ -34,3 +39,22 @@ pub fn display_number(number: U256, decimals: u8) -> String { result } + +pub fn divide_decimal_strings(value_1: &str, value_2: &str) -> Option { + // Parse the input strings into BigDecimal values + let decimal_1 = BigDecimal::from_str(value_1).expect("Invalid decimal value for value_1"); + let decimal_2 = BigDecimal::from_str(value_2).expect("Invalid decimal value for value_2"); + + // Check for division by zero + if decimal_2.is_zero() { + return None; + } + + // Perform the division + let result = decimal_1 / decimal_2; + + // Format the result as a string with a specific precision + let formatted_result = format!("{:.1}", result); // Adjust the precision as needed + + Some(formatted_result) +} From be3c8323cf1daeef9d001e3336a8da64472c8787 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 01:48:25 -0400 Subject: [PATCH 134/163] missing take order entity test --- subgraph/src/orderBook.ts | 5 +---- subgraph/src/utils.ts | 7 +++---- subgraph/tests/subgraph/query/take_order_entity/mod.rs | 2 +- subgraph/tests/utils/numbers.rs | 2 -- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts index 5ed2c32626..ae5d1bc57b 100644 --- a/subgraph/src/orderBook.ts +++ b/subgraph/src/orderBook.ts @@ -718,10 +718,7 @@ export function handleTakeOrder(event: TakeOrder): void { // Adding the context const contextTakeOrder = ContextEntity.load("ContextTakeOrderTemp"); if (contextTakeOrder) { - const contextEntity = createContextEntity( - event.transaction.hash.toHex(), - event.logIndex.toHex() - ); + const contextEntity = createContextEntity(event.transaction.hash.toHex()); contextEntity.caller = contextTakeOrder.caller; contextEntity.contract = contextTakeOrder.contract; diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index aceffa10dd..7a50a8706d 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -377,13 +377,12 @@ export function createSignedContext( return new SignedContext(""); } export function createContextEntity( - txHash: string, - logIndex: string + txHash: string ): ContextEntity { for (let i = 0; ; i++) { - let contextEntity = ContextEntity.load(`${txHash}-${logIndex}-${i}`); + let contextEntity = ContextEntity.load(`${txHash}-${i}`); if (!contextEntity) { - return new ContextEntity(`${txHash}-${logIndex}-${i}`); + return new ContextEntity(`${txHash}-${i}`); } } return new ContextEntity(""); diff --git a/subgraph/tests/subgraph/query/take_order_entity/mod.rs b/subgraph/tests/subgraph/query/take_order_entity/mod.rs index 34e581bd84..153a4943c7 100644 --- a/subgraph/tests/subgraph/query/take_order_entity/mod.rs +++ b/subgraph/tests/subgraph/query/take_order_entity/mod.rs @@ -77,7 +77,7 @@ impl TakeOrderEntityResponse { } } -pub async fn get_vault_deposit(id: &String) -> Result { +pub async fn get_take_order_entity(id: &String) -> Result { let variables = take_order_entity::Variables { id: id.to_string().into(), }; diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index a029519b86..aff5e9a125 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -3,8 +3,6 @@ use ethers::types::U256; use std::{ops::Mul, str::FromStr}; extern crate bigdecimal; use bigdecimal::BigDecimal; -use bigdecimal::FromPrimitive; -use bigdecimal::ToPrimitive; pub fn get_amount_tokens(amount: u64, decimals: u8) -> U256 { let result: U256 = U256::from(amount).mul(U256::from(10).pow(U256::from(decimals))); From e19b2528487eeef3f4b1c30b8ac76dc37dbf3b8f Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 02:38:01 -0400 Subject: [PATCH 135/163] test in ci --- subgraph/a.json | 103 ++++++++++++++++++++++++++++ subgraph/tests/entities.rs | 36 +++++----- subgraph/tests/subgraph/wait/mod.rs | 2 +- 3 files changed, 124 insertions(+), 17 deletions(-) create mode 100644 subgraph/a.json diff --git a/subgraph/a.json b/subgraph/a.json new file mode 100644 index 0000000000..8fa1976514 --- /dev/null +++ b/subgraph/a.json @@ -0,0 +1,103 @@ +[ + { + "address": "0x9e545e3c0baab3e08cdfd552c960a1050f373042", + "topics": [ + "0x17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f" + ], + "data": "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f3730420000000000000000000000000000000000000000000000000000000000000003bc19bc43697850ba8771ef9683bc0a252b3f647ca2062b75e68c205f2b17572800000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c80000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000a82ff9afd8f496c3d6ac40e2a0f282e47488cfc900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc56000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053444835ec58000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000001613beb3b2c4f22ee086b2b38c1476a3ce7f78e800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000053444835ec580000", + "block_hash": "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9", + + "block_number": 59, + + "transaction_hash": "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5", + "transaction_index": 0, + "log_index": 0, + "transaction_log_index": "None", + "log_type": "None", + "removed": false + }, + { + "address": "0x9e545e3c0baab3e08cdfd552c960a1050f373042", + "topics": [ + "0x219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542" + ], + "data": + "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000053444835ec58000000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6e340d132b5f46d1e472debcd681b2abc16e57e000000000000000000000000c3e53f4d16ae77db1c982e75a937b9f60fe63690000000000000000000000000da1a2e33bd9e8ae3641a61ab72f137e61a7edf6e00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a82ff9afd8f496c3d6ac40e2a0f282e47488cfc900000000000000000000000000000000000000000000000000000000000000x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000053444835ec58000000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6e340d132b5f46d1e472debcd681b2abc16e57e000000000000000000000000c3e53f4d16ae77db1c982e75a937b9f60fe63690000000000000000000000000da1a2e33bd9e8ae3641a61ab72f137e61a7edf6e00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a82ff9afd8f496c3d6ac40e2a0f282e47488cfc900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000000000000000000000010000000000000000000000001613beb3b2c4f22ee086b2b38c1476a3ce7f78e800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000000000000000000000010000000000000000000000001613beb3b2c4f22ee086b2b38c1476a3ce7f78e800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc560000000000000000000000000000000000000000000000000000000000000000", + "block_hash": + "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9" + , + "block_number": 59, + "transaction_hash": + "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5", + "transaction_index": 0, + "log_index": 1, + "transaction_log_index": "None", + "log_type": "None", + "removed": false + }, + { + "address": "0x1613beb3b2c4f22ee086b2b38c1476a3ce7f78e8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f373042", + "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" + ], + "data": + "0x00000000000000000000000000000000000000000000000053444835ec580000", + "block_hash": + "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9", + "block_number": 59, + "transaction_hash": + "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5", + "transaction_index": 0, + "log_index": 2, + "transaction_log_index": "None", + "log_type": "None", + "removed": false + }, + { + "address": "0xa82ff9afd8f496c3d6ac40e2a0f282e47488cfc9", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc", + "0x0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f373042" + ], + "data": + "0x00000000000000000000000000000000000000000000021dc69c8184c5e80000", + "block_hash": + "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9" + , + "block_number": 59, + "transaction_hash": + "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5" + , + "transaction_index": 0, + "log_index": 3, + "transaction_log_index": "None", + "log_type": "None", + "removed": false + }, + { + "address": "0xa82ff9afd8f496c3d6ac40e2a0f282e47488cfc9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc", + "0x0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f373042" + ], + "data": + "0x00000000000000000000000000000000000000000000000053444835ec580000" + , + "block_hash": + "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9" + , + "block_number": 59, + "transaction_hash": + "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5" + , + "transaction_index": 0, + "log_index": 4, + "transaction_log_index": "None", + "log_type": "None", + "removed": false + } +] diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index a96f58bc2f..68a020a1dd 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2728,6 +2728,9 @@ async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { let token_vault_take_order_a_id = format!("{}-{}", take_order_entity, token_vault_input); let token_vault_take_order_b_id = format!("{}-{}", take_order_entity, token_vault_output); + // Wait for Subgraph sync + wait().await?; + let resp_a = Query::token_vault_take_order(&token_vault_take_order_a_id).await?; let resp_b = Query::token_vault_take_order(&token_vault_take_order_b_id).await?; @@ -2844,6 +2847,12 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { ) .await?; + let vault_balance_alice: U256 = orderbook + .vault_balance(alice.address(), token_output.address(), vault_id) + .call() + .await?; + println!("vault_balance_alice_0: {}", vault_balance_alice); + // Take the order let take_order_func = orderbook .connect(&bob) @@ -2858,23 +2867,15 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { let block_data = get_block_data(&take_order_tx_hash).await?; + let vault_balance_alice: U256 = orderbook + .vault_balance(alice.address(), token_output.address(), vault_id) + .call() + .await?; + println!("vault_balance_alice_1: {}", vault_balance_alice); + // Using index 0 since only one take order was made in this tx let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); - let token_vault_input = format!( - "{}-{:?}-{:?}", - vault_id, - alice.address(), - token_input.address() - ); - let token_vault_output = format!( - "{}-{:?}-{:?}", - vault_id, - alice.address(), - token_output.address() - ); - - let token_vault_take_order_a_id = format!("{}-{}", take_order_entity, token_vault_input); - let token_vault_take_order_b_id = format!("{}-{}", take_order_entity, token_vault_output); + println!("take_order_entity: {}", take_order_entity); let input_token = take_order_event .config @@ -2898,7 +2899,10 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { let io_ratio = divide_decimal_strings(&input_display, &output_display).unwrap_or("0".to_string()); - let resp = Query::take_order_entity(&token_vault_input).await?; + // Wait for Subgraph sync + wait().await?; + + let resp = Query::take_order_entity(&take_order_entity).await?; assert_eq!(resp.sender, take_order_event.sender); assert_eq!(resp.order, h256_to_bytes(&add_order_data.order_hash.into())); diff --git a/subgraph/tests/subgraph/wait/mod.rs b/subgraph/tests/subgraph/wait/mod.rs index 57a554cd2d..713aa5caed 100644 --- a/subgraph/tests/subgraph/wait/mod.rs +++ b/subgraph/tests/subgraph/wait/mod.rs @@ -65,7 +65,7 @@ pub async fn wait() -> anyhow::Result { return Err(anyhow!("wait function timeout")); } } else if deadline < current_time { - return Err(anyhow!("wait function timeout")); + return Err(anyhow!("wait function timeout in sync")); } } else { println!("Errors : {:?}", response_body.errors.unwrap()); From 1498f2d10904e98e1df080105e56faba31c884be Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 02:54:50 -0400 Subject: [PATCH 136/163] fix on context entities --- subgraph/schema.graphql | 2 +- subgraph/src/utils.ts | 4 +--- subgraph/tests/entities.rs | 13 ------------- subgraph/tests/utils/numbers.rs | 7 +++++-- 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index 926ba4638a..e2d7bf6872 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -363,7 +363,7 @@ type Transaction @entity(immutable: true) { events: [Event!] @derivedFrom(field: "transaction") } -type ContextEntity implements Event @entity { +type ContextEntity @entity { id: ID! "Base caller" caller: Account! diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index 7a50a8706d..f8c960e990 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -376,9 +376,7 @@ export function createSignedContext( } return new SignedContext(""); } -export function createContextEntity( - txHash: string -): ContextEntity { +export function createContextEntity(txHash: string): ContextEntity { for (let i = 0; ; i++) { let contextEntity = ContextEntity.load(`${txHash}-${i}`); if (!contextEntity) { diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 68a020a1dd..0fa952c595 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2847,12 +2847,6 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { ) .await?; - let vault_balance_alice: U256 = orderbook - .vault_balance(alice.address(), token_output.address(), vault_id) - .call() - .await?; - println!("vault_balance_alice_0: {}", vault_balance_alice); - // Take the order let take_order_func = orderbook .connect(&bob) @@ -2867,15 +2861,8 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { let block_data = get_block_data(&take_order_tx_hash).await?; - let vault_balance_alice: U256 = orderbook - .vault_balance(alice.address(), token_output.address(), vault_id) - .call() - .await?; - println!("vault_balance_alice_1: {}", vault_balance_alice); - // Using index 0 since only one take order was made in this tx let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); - println!("take_order_entity: {}", take_order_entity); let input_token = take_order_event .config diff --git a/subgraph/tests/utils/numbers.rs b/subgraph/tests/utils/numbers.rs index aff5e9a125..120a264777 100644 --- a/subgraph/tests/utils/numbers.rs +++ b/subgraph/tests/utils/numbers.rs @@ -38,6 +38,7 @@ pub fn display_number(number: U256, decimals: u8) -> String { result } +/// TODO: WOrk in return a Result> pub fn divide_decimal_strings(value_1: &str, value_2: &str) -> Option { // Parse the input strings into BigDecimal values let decimal_1 = BigDecimal::from_str(value_1).expect("Invalid decimal value for value_1"); @@ -51,8 +52,10 @@ pub fn divide_decimal_strings(value_1: &str, value_2: &str) -> Option { // Perform the division let result = decimal_1 / decimal_2; + let formatted_result = format!("{:.2}", result); + // Format the result as a string with a specific precision - let formatted_result = format!("{:.1}", result); // Adjust the precision as needed + let formatted_value = formatted_result.trim_end_matches('0').trim_end_matches('.'); - Some(formatted_result) + Some(formatted_value.to_string()) } From b01966921fc0c37bbc1fba4401835497828d5f9e Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 03:01:44 -0400 Subject: [PATCH 137/163] fix: wrong tokens based on perspective --- subgraph/a.json | 103 ------------------------------------- subgraph/tests/entities.rs | 5 +- 2 files changed, 3 insertions(+), 105 deletions(-) delete mode 100644 subgraph/a.json diff --git a/subgraph/a.json b/subgraph/a.json deleted file mode 100644 index 8fa1976514..0000000000 --- a/subgraph/a.json +++ /dev/null @@ -1,103 +0,0 @@ -[ - { - "address": "0x9e545e3c0baab3e08cdfd552c960a1050f373042", - "topics": [ - "0x17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f" - ], - "data": "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f3730420000000000000000000000000000000000000000000000000000000000000003bc19bc43697850ba8771ef9683bc0a252b3f647ca2062b75e68c205f2b17572800000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c80000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000a82ff9afd8f496c3d6ac40e2a0f282e47488cfc900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc56000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053444835ec58000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000001613beb3b2c4f22ee086b2b38c1476a3ce7f78e800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000053444835ec580000", - "block_hash": "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9", - - "block_number": 59, - - "transaction_hash": "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5", - "transaction_index": 0, - "log_index": 0, - "transaction_log_index": "None", - "log_type": "None", - "removed": false - }, - { - "address": "0x9e545e3c0baab3e08cdfd552c960a1050f373042", - "topics": [ - "0x219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542" - ], - "data": - "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000053444835ec58000000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6e340d132b5f46d1e472debcd681b2abc16e57e000000000000000000000000c3e53f4d16ae77db1c982e75a937b9f60fe63690000000000000000000000000da1a2e33bd9e8ae3641a61ab72f137e61a7edf6e00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a82ff9afd8f496c3d6ac40e2a0f282e47488cfc900000000000000000000000000000000000000000000000000000000000000x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000053444835ec58000000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6e340d132b5f46d1e472debcd681b2abc16e57e000000000000000000000000c3e53f4d16ae77db1c982e75a937b9f60fe63690000000000000000000000000da1a2e33bd9e8ae3641a61ab72f137e61a7edf6e00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a82ff9afd8f496c3d6ac40e2a0f282e47488cfc900000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000000000000000000000010000000000000000000000001613beb3b2c4f22ee086b2b38c1476a3ce7f78e800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc5600000000000000000000000000000000000000000000000000000000000000010000000000000000000000001613beb3b2c4f22ee086b2b38c1476a3ce7f78e800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000006ebaf8377a66cc560000000000000000000000000000000000000000000000000000000000000000", - "block_hash": - "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9" - , - "block_number": 59, - "transaction_hash": - "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5", - "transaction_index": 0, - "log_index": 1, - "transaction_log_index": "None", - "log_type": "None", - "removed": false - }, - { - "address": "0x1613beb3b2c4f22ee086b2b38c1476a3ce7f78e8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f373042", - "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - ], - "data": - "0x00000000000000000000000000000000000000000000000053444835ec580000", - "block_hash": - "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9", - "block_number": 59, - "transaction_hash": - "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5", - "transaction_index": 0, - "log_index": 2, - "transaction_log_index": "None", - "log_type": "None", - "removed": false - }, - { - "address": "0xa82ff9afd8f496c3d6ac40e2a0f282e47488cfc9", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc", - "0x0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f373042" - ], - "data": - "0x00000000000000000000000000000000000000000000021dc69c8184c5e80000", - "block_hash": - "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9" - , - "block_number": 59, - "transaction_hash": - "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5" - , - "transaction_index": 0, - "log_index": 3, - "transaction_log_index": "None", - "log_type": "None", - "removed": false - }, - { - "address": "0xa82ff9afd8f496c3d6ac40e2a0f282e47488cfc9", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc", - "0x0000000000000000000000009e545e3c0baab3e08cdfd552c960a1050f373042" - ], - "data": - "0x00000000000000000000000000000000000000000000000053444835ec580000" - , - "block_hash": - "0xc04cf61e68f7240831cca36baca91569bc870556d761dea5653bd83d611729f9" - , - "block_number": 59, - "transaction_hash": - "0x3a3c3a6b1c0b67143a9549e79398107de92c93786ff152825d206bd225ebaeb5" - , - "transaction_index": 0, - "log_index": 4, - "transaction_log_index": "None", - "log_type": "None", - "removed": false - } -] diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 0fa952c595..89211c7430 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -2864,10 +2864,11 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { // Using index 0 since only one take order was made in this tx let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); + // Values with the perspective of the taker (bob) let input_token = take_order_event .config .order - .valid_inputs + .valid_outputs .first() .unwrap() .token; @@ -2875,7 +2876,7 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { let output_token = take_order_event .config .order - .valid_outputs + .valid_inputs .first() .unwrap() .token; From d1c2d572af5599c15b810c17ed1aa62811b01358 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 03:05:34 -0400 Subject: [PATCH 138/163] tests finished --- subgraph/tests/entities.rs | 52 +++++++++++++++++----------------- subgraph/tests/utils/events.rs | 50 ++++++++++++++++++++++++++++++-- 2 files changed, 74 insertions(+), 28 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 89211c7430..51bddd274b 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -31,7 +31,7 @@ use utils::{ use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -56,7 +56,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -90,7 +90,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -129,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -240,7 +240,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -294,7 +294,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -441,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -518,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -628,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -727,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -819,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -930,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1088,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1190,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1292,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1361,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1410,7 +1410,7 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1619,7 +1619,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1707,7 +1707,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1764,7 +1764,7 @@ async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1837,7 +1837,7 @@ async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2066,7 +2066,7 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2231,7 +2231,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn bounty_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2433,7 +2433,7 @@ async fn bounty_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2597,7 +2597,7 @@ async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2919,7 +2919,7 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 6e65127c9a..61515f7167 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -1,6 +1,6 @@ use crate::generated::{ - AddOrderFilter, AfterClearFilter, ClearFilter, DepositFilter, OrderBook, TakeOrderFilter, - WithdrawFilter, + AddOrderFilter, AfterClearFilter, ClearFilter, ContextFilter, DepositFilter, OrderBook, + TakeOrderFilter, WithdrawFilter, }; use crate::generated::{ERC20Mock, TransferFilter}; use crate::generated::{NewExpressionFilter, RainterpreterExpressionDeployer}; @@ -363,3 +363,49 @@ pub async fn get_take_order_events( None => return Err(Error::msg("events not found")), } } + +pub async fn get_context_event( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.context_filter().filter; + + let option_log = get_matched_log(receipt, filter).await; + + match option_log { + Some(log) => { + let event = contract.decode_event::("Context", log.topics, log.data)?; + return Ok(event); + } + None => return Err(Error::msg("event not found")), + } +} + + +pub async fn get_context_events( + contract: &OrderBook, Wallet>>, + tx_hash: &TxHash, +) -> Result> { + let receipt = get_pending_tx(tx_hash).await?; + let filter: Filter = contract.clone().context_filter().filter; + + let option_logs = get_matched_logs(receipt, filter).await; + + match option_logs { + Some(logs) => { + let mut events: Vec = Vec::new(); + + for log in logs { + let event: ContextFilter = + contract.decode_event::("Context", log.topics, log.data)?; + + events.push(event); + } + + return Ok(events); + } + None => return Err(Error::msg("events not found")), + } +} + From 8f1c73f2a27b300da58485b07e4f7603a977297c Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 03:49:20 -0400 Subject: [PATCH 139/163] wip: context query --- subgraph/src/orderBook.ts | 3 +- subgraph/src/utils.ts | 9 +- subgraph/tests/entities.rs | 202 +++++++++++++++--- .../context_entity/context_entity.graphql | 25 +++ .../subgraph/query/context_entity/mod.rs | 133 ++++++++++++ subgraph/tests/subgraph/query/mod.rs | 10 +- 6 files changed, 345 insertions(+), 37 deletions(-) create mode 100644 subgraph/tests/subgraph/query/context_entity/context_entity.graphql create mode 100644 subgraph/tests/subgraph/query/context_entity/mod.rs diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts index ae5d1bc57b..467ec19196 100644 --- a/subgraph/src/orderBook.ts +++ b/subgraph/src/orderBook.ts @@ -130,8 +130,7 @@ export function handleContext(event: Context): void { if (signers.length == signedContextArr.length) { for (let i = 0; i < signedContextArr.length; i++) { const signedContextEntity = createSignedContext( - event.transaction.hash.toHex(), - event.logIndex.toHex() + event.transaction.hash.toHex() ); signedContextEntity.context = signedContextArr[i]; diff --git a/subgraph/src/utils.ts b/subgraph/src/utils.ts index f8c960e990..3d0099fe5b 100644 --- a/subgraph/src/utils.ts +++ b/subgraph/src/utils.ts @@ -364,14 +364,11 @@ export function BDtoBIMultiplier(n1: BigDecimal, n2: BigDecimal): BigInt { return BigInt.fromString(getZeros(len)); } -export function createSignedContext( - txHash: string, - logIndex: string -): SignedContext { +export function createSignedContext(txHash: string): SignedContext { for (let i = 0; ; i++) { - let signedContext = SignedContext.load(`${txHash}-${logIndex}-${i}`); + let signedContext = SignedContext.load(`${txHash}-${i}`); if (!signedContext) { - return new SignedContext(`${txHash}-${logIndex}-${i}`); + return new SignedContext(`${txHash}-${i}`); } } return new SignedContext(""); diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index 51bddd274b..f9bfc27677 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -31,7 +31,7 @@ use utils::{ use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; #[tokio::main] -#[test] +// #[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -56,7 +56,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -90,7 +90,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -129,7 +129,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -240,7 +240,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -294,7 +294,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -441,7 +441,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -518,7 +518,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -628,7 +628,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -727,7 +727,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -819,7 +819,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -930,7 +930,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1088,7 +1088,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1190,7 +1190,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1292,7 +1292,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1361,7 +1361,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1410,7 +1410,7 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1619,7 +1619,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1707,7 +1707,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1764,7 +1764,7 @@ async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1837,7 +1837,7 @@ async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2066,7 +2066,7 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2231,7 +2231,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn bounty_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2433,7 +2433,7 @@ async fn bounty_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2597,7 +2597,7 @@ async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2750,7 +2750,7 @@ async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -#[test] +// #[test] async fn take_order_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2912,6 +2912,8 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { assert_eq!(resp.input_token, input_token); assert_eq!(resp.output_token, output_token); + assert_eq!(resp.context, Some(take_order_entity)); + assert_eq!(resp.transaction, *take_order_tx_hash); assert_eq!(resp.emitter, take_order_event.sender); assert_eq!(resp.timestamp, block_data.timestamp); @@ -2919,7 +2921,153 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { Ok(()) } -#[test] +#[tokio::main] +// #[test] +async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { + let orderbook = get_orderbook().await?; + + let alice = get_wallet(1); + let bob = get_wallet(2); + + // Connect the orderbook to another wallet + let orderbook = orderbook.connect(&alice).await; + + // Vault id + let vault_id = generate_random_u256(); + + // Deploy ExpressionDeployerNP for the config + let expression_deployer = get_expression_deployer().await?; + // let expression_deployer = get_expression_deployer().await?; + + // Deploy ERC20 token contract (A) connected to Alice + let token_input = deploy_erc20_mock(None).await?; + + // Deploy ERC20 token contract (B) connected to Alice + let token_output = deploy_erc20_mock(None).await?; + + // Build OrderConfig + let order_config = generate_order_config( + expression_deployer, + &token_input, + Some(vault_id), + &token_output, + Some(vault_id), + ) + .await; + + // Add the order + let add_order_func = orderbook.add_order(order_config.clone()); + let tx_add_order = add_order_func.send().await?; + + // Decode events from the transaction + let add_order_data = get_add_order_event(&orderbook, &tx_add_order).await?; + + // Amount to deposit + let amount_b = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); + + // Fill to Alice with tokens + mint_tokens(&amount_b, &alice.address(), &token_output).await?; + + // Connect token to Alice and approve Orderbook to move tokens + approve_tokens( + &amount_b, + &orderbook.address(), + &token_output.connect(&alice).await, + ) + .await?; + + // Alice deposit tokens + let deposit_func = orderbook.deposit(token_output.address(), vault_id, amount_b); + let _ = deposit_func.send().await?; + + // BOB TAKE THE ORDER + + // Take Order configs + let minimum_input = U256::from(0); + let maximum_input = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); + let maximum_io_ratio = U256::from(10000000000000000000u64); // 10e18 + + let take_order_config = TakeOrderConfig { + order: add_order_data.order, + input_io_index: U256::zero(), + output_io_index: U256::zero(), + signed_context: Vec::new(), + }; + + let take_orders_config = TakeOrdersConfigV2 { + minimum_input, + maximum_input, + maximum_io_ratio, + orders: vec![take_order_config], + data: Bytes::new(), // Empty data + }; + + // Fill bob with token A (token input of the order) + // let amount_a = get_amount_tokens(1000, token_a.decimals().call().await.unwrap()); + let amount_a = amount_b + .saturating_mul(maximum_io_ratio) + .checked_div(U256::from(1000000000000000000u64)) // 1e18 + .unwrap(); + + mint_tokens(&amount_a, &bob.address(), &token_input).await?; + + // Connect token to Bob and approve Orderbook to move tokens + approve_tokens( + &amount_a, + &orderbook.address(), + &token_input.connect(&bob).await, + ) + .await?; + + // Take the order + let take_order_func = orderbook + .connect(&bob) + .await + .take_orders(take_orders_config); + let tx_take_order = take_order_func.send().await?; + + let tx_receipt = tx_take_order.await?.unwrap(); + + let take_order_tx_hash = &tx_receipt.transaction_hash; + let take_order_event = get_take_order_event(&orderbook, &take_order_tx_hash).await?; + + let block_data = get_block_data(&take_order_tx_hash).await?; + + // Using index 0 since only one take order was made in this tx + let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); + + // Values with the perspective of the taker (bob) + let input_token = take_order_event + .config + .order + .valid_outputs + .first() + .unwrap() + .token; + + let output_token = take_order_event + .config + .order + .valid_inputs + .first() + .unwrap() + .token; + + let input_display = display_number(take_order_event.input, get_decimals(input_token).await?); + let output_display = display_number(take_order_event.output, get_decimals(output_token).await?); + + let io_ratio = + divide_decimal_strings(&input_display, &output_display).unwrap_or("0".to_string()); + + // Wait for Subgraph sync + wait().await?; + + let resp = Query::take_order_entity(&take_order_entity).await?; + + Ok(()) +} + +// #[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); diff --git a/subgraph/tests/subgraph/query/context_entity/context_entity.graphql b/subgraph/tests/subgraph/query/context_entity/context_entity.graphql new file mode 100644 index 0000000000..dac943b642 --- /dev/null +++ b/subgraph/tests/subgraph/query/context_entity/context_entity.graphql @@ -0,0 +1,25 @@ +query ContextEntity($id: String) { + contextEntity(id: $id) { + id + caller { + id + } + contract { + id + } + callingContext + calculationsContext + vaultInputsContext + vaultOutputsContext + signedContext { + id + } + transaction { + id + } + emitter { + id + } + timestamp + } +} diff --git a/subgraph/tests/subgraph/query/context_entity/mod.rs b/subgraph/tests/subgraph/query/context_entity/mod.rs new file mode 100644 index 0000000000..d358419568 --- /dev/null +++ b/subgraph/tests/subgraph/query/context_entity/mod.rs @@ -0,0 +1,133 @@ +use self::context_entity::ResponseData; +use super::SG_URL; +use crate::utils::{bytes_to_h256, hex_string_to_bytes, mn_mpz_to_u256}; +use anyhow::{anyhow, Result}; +use ethers::types::TxHash; +use ethers::types::{Address, Bytes, U256}; +use graphql_client::{GraphQLQuery, Response}; +use rust_bigint::BigInt; +use serde::{Deserialize, Serialize}; + +#[derive(GraphQLQuery)] +#[graphql( + schema_path = "tests/subgraph/query/schema.json", + query_path = "tests/subgraph/query/context_entity/context_entity.graphql", + response_derives = "Debug, Serialize, Deserialize" +)] +#[derive(Serialize, Deserialize, Debug)] +pub struct ContextEntity; + +#[derive(Serialize, Deserialize, Debug)] +pub struct ContextEntityResponse { + pub id: String, + pub caller: Address, + pub contract: Address, + pub calling_context: Option>, + pub calculations_context: Option>, + pub vault_inputs_context: Option>, + pub vault_outputs_context: Option>, + pub signed_context: Option>, + pub emitter: Address, + pub transaction: TxHash, + pub timestamp: U256, +} + +impl ContextEntityResponse { + pub fn from(response: ResponseData) -> ContextEntityResponse { + let data = response.context_entity.unwrap(); + + let caller = Address::from_slice(&data.caller.id); + let contract = Address::from_slice(&data.contract.id); + + let calling_context = match data.calling_context { + Some(values) => { + let values_collected: Vec = + values.iter().map(|value| mn_mpz_to_u256(&value)).collect(); + + Some(values_collected) + } + None => None, + }; + + let calculations_context = match data.calculations_context { + Some(values) => { + let values_collected: Vec = + values.iter().map(|value| mn_mpz_to_u256(&value)).collect(); + + Some(values_collected) + } + None => None, + }; + + let vault_inputs_context = match data.vault_inputs_context { + Some(values) => { + let values_collected: Vec = + values.iter().map(|value| mn_mpz_to_u256(&value)).collect(); + + Some(values_collected) + } + None => None, + }; + + let vault_outputs_context = match data.vault_outputs_context { + Some(values) => { + let values_collected: Vec = + values.iter().map(|value| mn_mpz_to_u256(&value)).collect(); + + Some(values_collected) + } + None => None, + }; + + let signed_context = match data.signed_context { + Some(values) => { + let values_collected: Vec = + values.iter().map(|value| value.id.clone()).collect(); + + Some(values_collected) + } + None => None, + }; + + let emitter = Address::from_slice(&data.emitter.id); + let transaction = bytes_to_h256(&hex_string_to_bytes(&data.transaction.id).unwrap()); + + ContextEntityResponse { + id: data.id, + caller, + contract, + calling_context, + calculations_context, + vault_inputs_context, + vault_outputs_context, + signed_context, + emitter, + transaction, + timestamp: mn_mpz_to_u256(&data.timestamp), + } + } +} + +pub async fn get_context_entity(id: &String) -> Result { + let variables = context_entity::Variables { + id: id.to_string().into(), + }; + + let request_body = ContextEntity::build_query(variables); + let client = reqwest::Client::new(); + let res = client + .post((*SG_URL).clone()) + .json(&request_body) + .send() + .await?; + + let response_body: Response = res.json().await?; + + match response_body.data { + Some(data) => { + let response = ContextEntityResponse::from(data); + Ok(response) + } + None => Err(anyhow!("Failed to get query")), + } +} diff --git a/subgraph/tests/subgraph/query/mod.rs b/subgraph/tests/subgraph/query/mod.rs index 906096d137..4bedadaf0d 100644 --- a/subgraph/tests/subgraph/query/mod.rs +++ b/subgraph/tests/subgraph/query/mod.rs @@ -1,5 +1,6 @@ pub(crate) mod bounty; pub(crate) mod content_meta_v1; +pub(crate) mod context_entity; pub(crate) mod erc20; pub(crate) mod io; pub(crate) mod order; @@ -7,12 +8,12 @@ pub(crate) mod order_clear; pub(crate) mod order_clear_state_change; pub(crate) mod orderbook; pub(crate) mod rain_meta_v1; +pub(crate) mod take_order_entity; pub(crate) mod token_vault; pub(crate) mod token_vault_take_order; pub(crate) mod vault; pub(crate) mod vault_deposit; pub(crate) mod vault_withdraw; -pub(crate) mod take_order_entity; use anyhow::Result; use ethers::types::{Address, Bytes}; @@ -21,6 +22,7 @@ use reqwest::Url; use bounty::{get_bounty, BountyResponse}; use content_meta_v1::{get_content_meta_v1, ContentMetaV1Response}; +use context_entity::{get_context_entity, ContextEntityResponse}; use erc20::{get_erc20, ERC20Response}; use io::{get_i_o, IOResponse}; use order::{get_order, OrderResponse}; @@ -28,12 +30,12 @@ use order_clear::{get_order_clear, OrderClearResponse}; use order_clear_state_change::{get_order_clear_state_change, OrderClearStateChangeResponse}; use orderbook::{get_orderbook_query, OrderBookResponse}; use rain_meta_v1::{get_rain_meta_v1, RainMetaV1Response}; +use take_order_entity::{get_take_order_entity, TakeOrderEntityResponse}; use token_vault::{get_token_vault, TokenVaultResponse}; use token_vault_take_order::{get_token_vault_take_order, TokenVaultTakeOrderResponse}; use vault::{get_vault, VaultResponse}; use vault_deposit::{get_vault_deposit, VaultDepositResponse}; use vault_withdraw::{get_vault_withdraw, VaultWithdrawResponse}; -use take_order_entity::{get_take_order_entity, TakeOrderEntityResponse}; pub static SG_URL: Lazy = Lazy::new(|| Url::parse("http://localhost:8000/subgraphs/name/test/test").unwrap()); @@ -100,4 +102,8 @@ impl Query { pub async fn take_order_entity(id: &String) -> Result { get_take_order_entity(id).await } + + pub async fn context_entity(id: &String) -> Result { + get_context_entity(id).await + } } From 21fa7cb12914d72b4b16dd5f558a61b8bbee6d07 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 05:12:12 -0400 Subject: [PATCH 140/163] test context entity --- subgraph/tests/entities.rs | 99 +++++++++++++++++------- subgraph/tests/utils/transactions/mod.rs | 36 ++++++++- 2 files changed, 106 insertions(+), 29 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index f9bfc27677..b0cc867e91 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -16,7 +16,8 @@ use utils::{ deploy::{deploy_erc20_mock, get_expression_deployer, get_orderbook, read_orderbook_meta}, events::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, - get_deposit_events, get_take_order_event, get_take_order_events, get_withdraw_events, + get_context_event, get_context_events, get_deposit_events, get_take_order_event, + get_take_order_events, get_withdraw_events, }, generate_random_u256, get_wallet, h256_to_bytes, json_structs::{NewExpressionJson, OrderJson}, @@ -24,7 +25,7 @@ use utils::{ transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_clear, generate_multi_deposit, generate_multi_withdraw, generate_order_config, get_block_data, - get_decimals, mint_tokens, TestDepositConfig, TestWithdrawConfig, + get_decimals, mint_tokens, ContextIndex, TestDepositConfig, TestWithdrawConfig, }, }; @@ -2922,7 +2923,7 @@ async fn take_order_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -3029,40 +3030,64 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { let tx_receipt = tx_take_order.await?.unwrap(); let take_order_tx_hash = &tx_receipt.transaction_hash; - let take_order_event = get_take_order_event(&orderbook, &take_order_tx_hash).await?; - let block_data = get_block_data(&take_order_tx_hash).await?; + let context_event = get_context_event(&orderbook, &take_order_tx_hash).await?; - // Using index 0 since only one take order was made in this tx - let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); + let context: Vec> = context_event.context; - // Values with the perspective of the taker (bob) - let input_token = take_order_event - .config - .order - .valid_outputs - .first() - .unwrap() - .token; - - let output_token = take_order_event - .config - .order - .valid_inputs - .first() - .unwrap() - .token; + assert!( + context.len() >= ContextIndex::ContextArrayMinLength as usize, + "wrong context emitted by OB" + ); - let input_display = display_number(take_order_event.input, get_decimals(input_token).await?); - let output_display = display_number(take_order_event.output, get_decimals(output_token).await?); + let block_data = get_block_data(&take_order_tx_hash).await?; - let io_ratio = - divide_decimal_strings(&input_display, &output_display).unwrap_or("0".to_string()); + // Using index 0 since only one take order was made in this tx + let take_order_entity = format!("{:?}-{}", take_order_tx_hash, 0); + let context_entity_id = take_order_entity.clone(); // Wait for Subgraph sync wait().await?; - let resp = Query::take_order_entity(&take_order_entity).await?; + let resp = Query::context_entity(&context_entity_id).await?; + + assert_eq!(resp.caller, bob.address()); + assert_eq!(resp.contract, orderbook.address()); + assert_eq!(resp.transaction, *take_order_tx_hash); + assert_eq!(resp.emitter, bob.address()); + assert_eq!(resp.timestamp, block_data.timestamp); + + // Skiping the first colummn, since that column hold the `base` context, which is the caller and the contract + for (index, current_context) in context.iter().enumerate().skip(1) { + + let context_matched = match ContextIndex::from_usize(index) { + ContextIndex::CallingContextColumn => { + resp.calling_context == Some(current_context.to_owned()) + } + ContextIndex::CalculationsColumn => { + resp.calculations_context == Some(current_context.to_owned()) + } + ContextIndex::VaultInputsColumn => { + resp.vault_inputs_context == Some(current_context.to_owned()) + } + ContextIndex::VaultOutputsColumn => { + resp.vault_outputs_context == Some(current_context.to_owned()) + } + _ => { + // Here is for Signed context + let signed_context_id = format!("{:?}-{}", take_order_tx_hash, index - 4); + + match resp.signed_context { + // If the context have this length (this index), but the response is missing + // this signed context, then it's an issue on response and we flagged it here. + None => false, + Some(ref signed_context) => signed_context.contains(&signed_context_id), + } + } + }; + + assert!(context_matched, "wrong context at: {index}"); + } Ok(()) } @@ -3080,3 +3105,21 @@ fn util_cbor_meta_test() -> anyhow::Result<()> { Ok(()) } + +// #[tokio::main] +// #[test] +// fn sign_message() -> anyhow::Result<()> { +// let alice = get_wallet(1); +// let context: Vec = Vec::new(); +// let signature = Bytes::new(); + +// let signed_context = SignedContextV1 { +// signer: alice.address(), +// context, +// signature, +// }; + +// // alice.sign_message(message) +// // +// Ok(()) +// } diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index d577c66a5f..658aee47c5 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -31,6 +31,40 @@ pub struct TestWithdrawConfig { pub target_amount: U256, } +/// Hold all the index from Context inside Orderbook and emitted by Context event. +/// +/// If the length of the Context array is above this enum, they are signed context. +pub enum ContextIndex { + CallingContextColumn = 1, + CalculationsColumn = 2, + VaultInputsColumn = 3, + VaultOutputsColumn = 4, + /// From this length of the Context. All the values equal or above this, are signed context. + ContextArrayMinLength = 5, +} + +impl ContextIndex { + pub fn from_usize(value: usize) -> Self { + if Self::CallingContextColumn as usize == value { + return Self::CallingContextColumn; + } + + if Self::CalculationsColumn as usize == value { + return Self::CalculationsColumn; + } + + if Self::VaultInputsColumn as usize == value { + return Self::VaultInputsColumn; + } + + if Self::VaultOutputsColumn as usize == value { + return Self::VaultOutputsColumn; + } + + return Self::ContextArrayMinLength; + } +} + pub async fn get_block_data(tx_hash: &TxHash) -> anyhow::Result> { let provider = get_provider().await?; @@ -130,7 +164,7 @@ async fn generate_eval_config( // let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() chain-id() block-number();:;"); let data_parse = Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); - // Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); + // Bytes::from_static(b"_ _ _:block-timestamp() 6000000000000000000 1000000000000000000;:;"); let (bytecode, constants) = expression_deployer .parse(data_parse.clone()) .await From cced33ee36226347ac3b71f87fe906aed04371d2 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 08:01:12 -0400 Subject: [PATCH 141/163] finished tests --- subgraph/schema.graphql | 2 - subgraph/tests/entities.rs | 139 ++++++++++-------- .../context_entity/context_entity.graphql | 5 +- .../subgraph/query/context_entity/mod.rs | 30 +++- subgraph/tests/utils/mod.rs | 7 + subgraph/tests/utils/transactions/mod.rs | 54 +++++-- 6 files changed, 153 insertions(+), 84 deletions(-) diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index e2d7bf6872..188535de3f 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -367,8 +367,6 @@ type ContextEntity @entity { id: ID! "Base caller" caller: Account! - "Base contract" - contract: OrderBook! "Contextual data available to both calculate order and handle IO" callingContext: [BigInt!] diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index b0cc867e91..e28e807318 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -24,15 +24,17 @@ use utils::{ numbers::{display_number, divide_decimal_strings, get_amount_tokens}, transactions::{ approve_tokens, generate_clear_config, generate_multi_add_order, generate_multi_clear, - generate_multi_deposit, generate_multi_withdraw, generate_order_config, get_block_data, - get_decimals, mint_tokens, ContextIndex, TestDepositConfig, TestWithdrawConfig, + generate_multi_deposit, generate_multi_withdraw, generate_order_config, + generate_signed_context_v1, get_block_data, get_decimals, mint_tokens, ContextIndex, + TestDepositConfig, TestWithdrawConfig, }, + u256_to_bytes, }; use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; #[tokio::main] -// #[test] +#[test] async fn orderbook_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -57,7 +59,7 @@ async fn orderbook_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -91,7 +93,7 @@ async fn rain_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn content_meta_v1_entity_test() -> anyhow::Result<()> { // Always checking if OB is deployed, so we attemp to obtaing it let _ = get_orderbook().await?; @@ -130,7 +132,7 @@ async fn content_meta_v1_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -241,7 +243,7 @@ async fn order_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_remove_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -295,7 +297,7 @@ async fn order_entity_remove_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -442,7 +444,7 @@ async fn order_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn io_entity_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -519,7 +521,7 @@ async fn io_entity_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_orders_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -629,7 +631,7 @@ async fn vault_entity_add_orders_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -728,7 +730,7 @@ async fn vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -820,7 +822,7 @@ async fn vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -931,7 +933,7 @@ async fn vault_entity_add_order_and_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1089,7 +1091,7 @@ async fn vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1191,7 +1193,7 @@ async fn vault_deposit_multiple_deposits_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1293,7 +1295,7 @@ async fn vault_withdraw_multiple_withdraws_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1362,7 +1364,7 @@ async fn erc20_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn erc20_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1411,7 +1413,7 @@ async fn erc20_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_clear_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -1620,7 +1622,7 @@ async fn order_clear_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1708,7 +1710,7 @@ async fn token_vault_entity_add_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1765,7 +1767,7 @@ async fn token_vault_entity_deposit_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -1838,7 +1840,7 @@ async fn token_vault_entity_withdraw_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2067,7 +2069,7 @@ async fn token_vault_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2232,7 +2234,7 @@ async fn token_vault_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn bounty_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2434,7 +2436,7 @@ async fn bounty_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { let alice = get_wallet(0); let bob = get_wallet(1); @@ -2598,7 +2600,7 @@ async fn order_clear_state_change_entity_clear_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2751,7 +2753,7 @@ async fn token_vault_take_order_entity_take_order_test() -> anyhow::Result<()> { } #[tokio::main] -// #[test] +#[test] async fn take_order_entity_take_order_test() -> anyhow::Result<()> { let orderbook = get_orderbook().await?; @@ -2988,11 +2990,14 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { let maximum_input = get_amount_tokens(1000, token_output.decimals().call().await.unwrap()); let maximum_io_ratio = U256::from(10000000000000000000u64); // 10e18 + let alice_context = generate_signed_context_v1(&alice).await?; + let bob_context = generate_signed_context_v1(&bob).await?; + let take_order_config = TakeOrderConfig { order: add_order_data.order, input_io_index: U256::zero(), output_io_index: U256::zero(), - signed_context: Vec::new(), + signed_context: vec![alice_context, bob_context], }; let take_orders_config = TakeOrdersConfigV2 { @@ -3036,7 +3041,7 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { let context: Vec> = context_event.context; assert!( - context.len() >= ContextIndex::ContextArrayMinLength as usize, + context.len() >= ContextIndex::VaultOutputsColumn as usize, "wrong context emitted by OB" ); @@ -3052,15 +3057,17 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { let resp = Query::context_entity(&context_entity_id).await?; assert_eq!(resp.caller, bob.address()); - assert_eq!(resp.contract, orderbook.address()); assert_eq!(resp.transaction, *take_order_tx_hash); assert_eq!(resp.emitter, bob.address()); assert_eq!(resp.timestamp, block_data.timestamp); // Skiping the first colummn, since that column hold the `base` context, which is the caller and the contract - for (index, current_context) in context.iter().enumerate().skip(1) { + // for (index, current_context) in context.iter().enumerate().skip(1) { + for index in 1..=4 { + let current_context = context.get(index).unwrap(); - let context_matched = match ContextIndex::from_usize(index) { + let context_matched = match ContextIndex::from_usize(index).unwrap() { + ContextIndex::BaseContext => true, // this never happen here ContextIndex::CallingContextColumn => { resp.calling_context == Some(current_context.to_owned()) } @@ -3073,26 +3080,50 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { ContextIndex::VaultOutputsColumn => { resp.vault_outputs_context == Some(current_context.to_owned()) } - _ => { - // Here is for Signed context - let signed_context_id = format!("{:?}-{}", take_order_tx_hash, index - 4); - - match resp.signed_context { - // If the context have this length (this index), but the response is missing - // this signed context, then it's an issue on response and we flagged it here. - None => false, - Some(ref signed_context) => signed_context.contains(&signed_context_id), - } - } }; assert!(context_matched, "wrong context at: {index}"); } + // IF it's bigger than the last column, the have signed context + if context.len() > ContextIndex::VaultOutputsColumn as usize { + if let Some(ref resp_signed_contexts) = resp.signed_context { + let signed_context_vec = context[4..].to_vec(); + + let signers: &Vec = signed_context_vec.first().unwrap(); + + for index in 1..signed_context_vec.len() { + let signed_context_id = format!("{:?}-{}", take_order_tx_hash, index - 1); + let current_signer = Address::from_slice(&u256_to_bytes(&signers[index])?); + let current_context = Some(signed_context_vec.get(index).unwrap().to_owned()); + + let resp_context = resp_signed_contexts.get(index - 1).unwrap(); + + assert_eq!( + resp_context.id, signed_context_id, + "missing signed_context. \n- Expected: {}\n- Found: {}", + signed_context_id, resp_context.id + ); + assert_eq!( + resp_context.signer, current_signer, + "wrong signer. \n- Expected: {}\n- Found: {}", + resp_context.signer, current_signer + ); + assert_eq!( + resp_context.context, current_context, + "wrong context. \n- Expected: {:?}\n- Found: {:?}", + resp_context.context, current_context + ); + } + } else { + assert!(false, "missing signed contexts"); + } + } + Ok(()) } -// #[test] +#[test] fn util_cbor_meta_test() -> anyhow::Result<()> { // Read meta from root repository (output from nix command) and convert to Bytes let ob_meta: Vec = read_orderbook_meta(); @@ -3105,21 +3136,3 @@ fn util_cbor_meta_test() -> anyhow::Result<()> { Ok(()) } - -// #[tokio::main] -// #[test] -// fn sign_message() -> anyhow::Result<()> { -// let alice = get_wallet(1); -// let context: Vec = Vec::new(); -// let signature = Bytes::new(); - -// let signed_context = SignedContextV1 { -// signer: alice.address(), -// context, -// signature, -// }; - -// // alice.sign_message(message) -// // -// Ok(()) -// } diff --git a/subgraph/tests/subgraph/query/context_entity/context_entity.graphql b/subgraph/tests/subgraph/query/context_entity/context_entity.graphql index dac943b642..43a57c06d7 100644 --- a/subgraph/tests/subgraph/query/context_entity/context_entity.graphql +++ b/subgraph/tests/subgraph/query/context_entity/context_entity.graphql @@ -4,15 +4,14 @@ query ContextEntity($id: String) { caller { id } - contract { - id - } callingContext calculationsContext vaultInputsContext vaultOutputsContext signedContext { id + signer + context } transaction { id diff --git a/subgraph/tests/subgraph/query/context_entity/mod.rs b/subgraph/tests/subgraph/query/context_entity/mod.rs index d358419568..5013c447b0 100644 --- a/subgraph/tests/subgraph/query/context_entity/mod.rs +++ b/subgraph/tests/subgraph/query/context_entity/mod.rs @@ -21,23 +21,28 @@ pub struct ContextEntity; pub struct ContextEntityResponse { pub id: String, pub caller: Address, - pub contract: Address, pub calling_context: Option>, pub calculations_context: Option>, pub vault_inputs_context: Option>, pub vault_outputs_context: Option>, - pub signed_context: Option>, + pub signed_context: Option>, pub emitter: Address, pub transaction: TxHash, pub timestamp: U256, } +#[derive(Serialize, Deserialize, Debug)] +pub struct SignedContext { + pub id: String, + pub signer: Address, + pub context: Option>, +} + impl ContextEntityResponse { pub fn from(response: ResponseData) -> ContextEntityResponse { let data = response.context_entity.unwrap(); let caller = Address::from_slice(&data.caller.id); - let contract = Address::from_slice(&data.contract.id); let calling_context = match data.calling_context { Some(values) => { @@ -81,8 +86,22 @@ impl ContextEntityResponse { let signed_context = match data.signed_context { Some(values) => { - let values_collected: Vec = - values.iter().map(|value| value.id.clone()).collect(); + let values_collected: Vec = values + .iter() + .map(|value| SignedContext { + id: value.id.clone(), + signer: Address::from_slice(&value.signer), + context: match value.context.clone() { + Some(values) => { + let values_collected: Vec = + values.iter().map(|value| mn_mpz_to_u256(&value)).collect(); + + Some(values_collected) + } + None => None, + }, + }) + .collect(); Some(values_collected) } @@ -95,7 +114,6 @@ impl ContextEntityResponse { ContextEntityResponse { id: data.id, caller, - contract, calling_context, calculations_context, vault_inputs_context, diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 5bb7d2de66..aa5ada4656 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -160,6 +160,13 @@ pub fn h256_to_bytes(value: &H256) -> Bytes { Bytes::from(value.as_bytes().to_vec()) } +/// Take a U256 value and parse it to a Bytes +pub fn u256_to_bytes(value: &U256) -> anyhow::Result { + let hex_string = format!("{:#x}", value); + + Ok(hex_string_to_bytes(&hex_string)?) +} + /// Get a mock encoded rain document with hardcoded data. /// Does not contain any well info. Only rain doc well formed. pub fn mock_rain_doc() -> Bytes { diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 658aee47c5..8ea0e6869c 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use crate::{ generated::{ AddOrderCall, ClearCall, ClearConfig, DepositCall, ERC20Mock, EvaluableConfigV2, Io, - OrderConfigV2, RainterpreterExpressionDeployer, WithdrawCall, + OrderConfigV2, RainterpreterExpressionDeployer, SignedContextV1, WithdrawCall, }, utils::{generate_random_u256, mock_rain_doc}, }; @@ -14,8 +14,9 @@ use ethers::{ signers::{Signer, Wallet}, types::{Address, Block, Bytes, TxHash, H256, U256}, }; +use hex::FromHex; -use super::{get_provider, get_wallet}; +use super::{get_provider, get_wallet, hash_keccak}; /// A Deposit configuration struct to encode deposit to be used with multicall pub struct TestDepositConfig { @@ -35,33 +36,36 @@ pub struct TestWithdrawConfig { /// /// If the length of the Context array is above this enum, they are signed context. pub enum ContextIndex { + BaseContext = 0, CallingContextColumn = 1, CalculationsColumn = 2, VaultInputsColumn = 3, VaultOutputsColumn = 4, - /// From this length of the Context. All the values equal or above this, are signed context. - ContextArrayMinLength = 5, } impl ContextIndex { - pub fn from_usize(value: usize) -> Self { + pub fn from_usize(value: usize) -> Option { + if Self::BaseContext as usize == value { + return Some(Self::BaseContext); + } + if Self::CallingContextColumn as usize == value { - return Self::CallingContextColumn; + return Some(Self::CallingContextColumn); } if Self::CalculationsColumn as usize == value { - return Self::CalculationsColumn; + return Some(Self::CalculationsColumn); } if Self::VaultInputsColumn as usize == value { - return Self::VaultInputsColumn; + return Some(Self::VaultInputsColumn); } if Self::VaultOutputsColumn as usize == value { - return Self::VaultOutputsColumn; + return Some(Self::VaultOutputsColumn); } - return Self::ContextArrayMinLength; + None } } @@ -264,3 +268,33 @@ pub fn generate_multi_clear(configs: &Vec) -> Vec { return data; } + +pub async fn generate_signed_context_v1( + wallet: &Wallet, +) -> anyhow::Result { + let context = vec![ + generate_random_u256(), + generate_random_u256(), + generate_random_u256(), + ]; + + // Removing the first 64bits (2bytes) that include the tuple mark and the array length + let encoded: Vec = AbiEncode::encode(context.clone()) + .into_iter() + .skip(64) + .collect(); + + let hash = hash_keccak(&Bytes::from(encoded).to_vec()) + .as_bytes() + .to_vec(); + + let signed_message = wallet.sign_message(hash.clone()).await?; + + let signature = Bytes::from(signed_message.to_vec()); + + Ok(SignedContextV1 { + signer: wallet.address(), + context, + signature, + }) +} From 1d7bf72aca6f5264928a83e457a548a68a5e034d Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 08:04:04 -0400 Subject: [PATCH 142/163] finished tests --- subgraph/src/orderBook.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/subgraph/src/orderBook.ts b/subgraph/src/orderBook.ts index 467ec19196..365f64b7f9 100644 --- a/subgraph/src/orderBook.ts +++ b/subgraph/src/orderBook.ts @@ -149,7 +149,6 @@ export function handleContext(event: Context): void { const contextTakeOrder = new ContextEntity("ContextTakeOrderTemp"); contextTakeOrder.caller = sender; - contextTakeOrder.contract = callerContract; contextTakeOrder.callingContext = callingContext; contextTakeOrder.calculationsContext = calculationsContext; contextTakeOrder.vaultInputsContext = vaultInputsContext; @@ -720,7 +719,6 @@ export function handleTakeOrder(event: TakeOrder): void { const contextEntity = createContextEntity(event.transaction.hash.toHex()); contextEntity.caller = contextTakeOrder.caller; - contextEntity.contract = contextTakeOrder.contract; contextEntity.callingContext = contextTakeOrder.callingContext; contextEntity.calculationsContext = contextTakeOrder.calculationsContext; contextEntity.vaultInputsContext = contextTakeOrder.vaultInputsContext; From 6d9de0f421f82f5b1ecc77cd26a93c6a7f4c954e Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 08:53:47 -0400 Subject: [PATCH 143/163] finished tests --- subgraph/tests/entities.rs | 20 ++++++++++---------- subgraph/tests/utils/mod.rs | 18 +++++++++++++++--- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index e28e807318..b6c0f2a2e8 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -3056,10 +3056,10 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { let resp = Query::context_entity(&context_entity_id).await?; - assert_eq!(resp.caller, bob.address()); - assert_eq!(resp.transaction, *take_order_tx_hash); - assert_eq!(resp.emitter, bob.address()); - assert_eq!(resp.timestamp, block_data.timestamp); + assert_eq!(resp.caller, bob.address(), "wrong caller"); + assert_eq!(resp.transaction, *take_order_tx_hash, "wrong tranasction"); + assert_eq!(resp.emitter, bob.address(), "wrong emitter"); + assert_eq!(resp.timestamp, block_data.timestamp, "wrong timestamp"); // Skiping the first colummn, since that column hold the `base` context, which is the caller and the contract // for (index, current_context) in context.iter().enumerate().skip(1) { @@ -3094,7 +3094,7 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { for index in 1..signed_context_vec.len() { let signed_context_id = format!("{:?}-{}", take_order_tx_hash, index - 1); - let current_signer = Address::from_slice(&u256_to_bytes(&signers[index])?); + // let current_signer = Address::from_slice(&u256_to_bytes(&signers[index])?); let current_context = Some(signed_context_vec.get(index).unwrap().to_owned()); let resp_context = resp_signed_contexts.get(index - 1).unwrap(); @@ -3104,11 +3104,11 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { "missing signed_context. \n- Expected: {}\n- Found: {}", signed_context_id, resp_context.id ); - assert_eq!( - resp_context.signer, current_signer, - "wrong signer. \n- Expected: {}\n- Found: {}", - resp_context.signer, current_signer - ); + // assert_eq!( + // resp_context.signer, current_signer, + // "wrong signer. \n- Expected: {}\n- Found: {}", + // resp_context.signer, current_signer + // ); assert_eq!( resp_context.context, current_context, "wrong context. \n- Expected: {:?}\n- Found: {:?}", diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index aa5ada4656..21b3839b26 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -8,7 +8,7 @@ pub mod setup; pub mod transactions; use ethers::{ - core::{k256::ecdsa::SigningKey, rand::random}, + core::{abi::AbiEncode, k256::ecdsa::SigningKey, rand::random, utils::hex}, providers::Middleware, signers::{coins_bip39::English, MnemonicBuilder, Wallet}, types::{Bytes, H256, U256, U64}, @@ -162,9 +162,21 @@ pub fn h256_to_bytes(value: &H256) -> Bytes { /// Take a U256 value and parse it to a Bytes pub fn u256_to_bytes(value: &U256) -> anyhow::Result { - let hex_string = format!("{:#x}", value); + todo!("U256 convert to BYtes missing") + // let hex_string = format!("{:#x}", value); - Ok(hex_string_to_bytes(&hex_string)?) + // let a = U256::from_dec_str(&value.to_str_radix(16)); + + // println!("{value:#032X}"); + // println!("{value:#032x}"); + + // println!("{value:#020X}"); + // println!("{value:#020x}"); + + // let ave = AbiEncode::encode(value.to_owned()); + // println!("ave: {:?}", Bytes::from(ave)); + + // Ok(hex_string_to_bytes(&hex_string)?) } /// Get a mock encoded rain document with hardcoded data. From 477c104e9e51557ba8bdd29133d39de3059d8a30 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 20:17:25 -0400 Subject: [PATCH 144/163] fix with parse U256 to Address --- subgraph/tests/entities.rs | 34 ++++++++++++++++++---------------- subgraph/tests/utils/mod.rs | 26 +++++++++++--------------- 2 files changed, 29 insertions(+), 31 deletions(-) diff --git a/subgraph/tests/entities.rs b/subgraph/tests/entities.rs index b6c0f2a2e8..4a79a59b85 100644 --- a/subgraph/tests/entities.rs +++ b/subgraph/tests/entities.rs @@ -16,8 +16,8 @@ use utils::{ deploy::{deploy_erc20_mock, get_expression_deployer, get_orderbook, read_orderbook_meta}, events::{ _get_new_expression_event, get_add_order_event, get_after_clear_events, get_clear_events, - get_context_event, get_context_events, get_deposit_events, get_take_order_event, - get_take_order_events, get_withdraw_events, + get_context_event, get_deposit_events, get_take_order_event, get_take_order_events, + get_withdraw_events, }, generate_random_u256, get_wallet, h256_to_bytes, json_structs::{NewExpressionJson, OrderJson}, @@ -28,7 +28,7 @@ use utils::{ generate_signed_context_v1, get_block_data, get_decimals, mint_tokens, ContextIndex, TestDepositConfig, TestWithdrawConfig, }, - u256_to_bytes, + u256_to_address, }; use generated::{ClearCall, SignedContextV1, TakeOrderConfig, TakeOrdersConfigV2}; @@ -3088,31 +3088,33 @@ async fn context_entity_entity_take_order_test() -> anyhow::Result<()> { // IF it's bigger than the last column, the have signed context if context.len() > ContextIndex::VaultOutputsColumn as usize { if let Some(ref resp_signed_contexts) = resp.signed_context { - let signed_context_vec = context[4..].to_vec(); + let signed_context_vec = context[5..].to_vec(); let signers: &Vec = signed_context_vec.first().unwrap(); - for index in 1..signed_context_vec.len() { - let signed_context_id = format!("{:?}-{}", take_order_tx_hash, index - 1); - // let current_signer = Address::from_slice(&u256_to_bytes(&signers[index])?); - let current_context = Some(signed_context_vec.get(index).unwrap().to_owned()); + assert!(signers.len() == signed_context_vec.len() - 1); - let resp_context = resp_signed_contexts.get(index - 1).unwrap(); + for index in 0..signers.len() { + let signed_context_id = format!("{:?}-{}", take_order_tx_hash, index); + let current_signer = u256_to_address(&signers[index]); + let current_context = Some(signed_context_vec.get(index + 1).unwrap().to_owned()); + + let resp_context = resp_signed_contexts.get(index).unwrap(); assert_eq!( resp_context.id, signed_context_id, "missing signed_context. \n- Expected: {}\n- Found: {}", signed_context_id, resp_context.id ); - // assert_eq!( - // resp_context.signer, current_signer, - // "wrong signer. \n- Expected: {}\n- Found: {}", - // resp_context.signer, current_signer - // ); + assert_eq!( + resp_context.signer, current_signer, + "wrong signer. \n- Expected: {:?}\n- Found: {:?}", + resp_context.signer, current_signer + ); assert_eq!( resp_context.context, current_context, - "wrong context. \n- Expected: {:?}\n- Found: {:?}", - resp_context.context, current_context + "wrong signed context at {}. \n- Expected: {:?}\n- Found: {:?}", + index, resp_context.context, current_context ); } } else { diff --git a/subgraph/tests/utils/mod.rs b/subgraph/tests/utils/mod.rs index 21b3839b26..01bcc9383c 100644 --- a/subgraph/tests/utils/mod.rs +++ b/subgraph/tests/utils/mod.rs @@ -8,10 +8,10 @@ pub mod setup; pub mod transactions; use ethers::{ - core::{abi::AbiEncode, k256::ecdsa::SigningKey, rand::random, utils::hex}, + core::{k256::ecdsa::SigningKey, rand::random, utils::hex}, providers::Middleware, signers::{coins_bip39::English, MnemonicBuilder, Wallet}, - types::{Bytes, H256, U256, U64}, + types::{Address, Bytes, H256, U256, U64}, }; use hex::FromHex; use rust_bigint::BigInt; @@ -161,22 +161,18 @@ pub fn h256_to_bytes(value: &H256) -> Bytes { } /// Take a U256 value and parse it to a Bytes -pub fn u256_to_bytes(value: &U256) -> anyhow::Result { - todo!("U256 convert to BYtes missing") - // let hex_string = format!("{:#x}", value); +pub fn u256_to_bytes(value: &U256) -> Bytes { + let mut bb: [u8; 32] = [0; 32]; + value.to_big_endian(&mut bb); - // let a = U256::from_dec_str(&value.to_str_radix(16)); - - // println!("{value:#032X}"); - // println!("{value:#032x}"); - - // println!("{value:#020X}"); - // println!("{value:#020x}"); + ethers::types::Bytes::from(bb) +} - // let ave = AbiEncode::encode(value.to_owned()); - // println!("ave: {:?}", Bytes::from(ave)); +/// Take a U256 value and parse it to an Address +pub fn u256_to_address(value: &U256) -> Address { + let bytes = u256_to_bytes(value); - // Ok(hex_string_to_bytes(&hex_string)?) + Address::from_slice(&bytes[12..]) } /// Get a mock encoded rain document with hardcoded data. From 6f7cfa5a9975e126827288ad511ad78565c98eec Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 21:35:19 -0400 Subject: [PATCH 145/163] generating schema.json from ci --- subgraph/.gitignore | 3 + subgraph/cli/deploy/mod.rs | 66 + subgraph/cli/main.rs | 105 +- subgraph/cli/utils/mod.rs | 76 + subgraph/flake.nix | 4 +- subgraph/tests/subgraph/query/schema.json | 40455 -------------------- 6 files changed, 174 insertions(+), 40535 deletions(-) create mode 100644 subgraph/cli/deploy/mod.rs create mode 100644 subgraph/cli/utils/mod.rs delete mode 100644 subgraph/tests/subgraph/query/schema.json diff --git a/subgraph/.gitignore b/subgraph/.gitignore index ed2d50037f..e2c1293cee 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -4,6 +4,9 @@ /subgraph.yaml /abis/*.json +// Subgraph Schema.json generated +tests/subgraph/query/schema.json + # Rust generated files /tests/generated/abigen # Ignore all JSON files diff --git a/subgraph/cli/deploy/mod.rs b/subgraph/cli/deploy/mod.rs new file mode 100644 index 0000000000..9a08369074 --- /dev/null +++ b/subgraph/cli/deploy/mod.rs @@ -0,0 +1,66 @@ +use anyhow::anyhow; +use mustache::MapBuilder; +use std::fs; +// use std::{fs, process::Command}; + +use crate::utils::run_cmd; + +pub struct Config<'a> { + // contracts address + pub contract_address: &'a String, + // block-number + pub block_number: u64, +} + +pub fn deploy(config: Config) -> anyhow::Result { + let subgraph_template = "subgraph.template.yaml"; + let output_path = "subgraph.yaml"; + // let root_dir = "./"; + let end_point = "http://localhost:8020/"; + let subgraph_name = "test/test"; + + let data = MapBuilder::new() + .insert_str("network", "localhost") + .insert_str("orderbook", config.contract_address) + .insert_str("blockNumber", config.block_number.to_string()) + .build(); + + let template = fs::read_to_string(subgraph_template)?; + let renderd = mustache::compile_str(&template)?.render_data_to_string(&data)?; + let _ = fs::write(output_path, renderd)?; + + // Generate the subgraph code + let is_built = run_cmd("bash", &["-c", "npx graph codegen && npx graph build"]); + if !is_built { + return Err(anyhow!("Failed to build subgraph")); + } + + // Create the endpoint node + let is_node_up = run_cmd( + "bash", + &[ + "-c", + &format!("npx graph create --node {} {}", end_point, subgraph_name), + ], + ); + if !is_node_up { + return Err(anyhow!("Failed to create subgraph endpoint node")); + } + + // Deploy Subgraph to the endpoint + let is_deploy = run_cmd( + "bash", + &[ + "-c", + &format!( + "npx graph deploy --node {} --ipfs http://localhost:5001 {} --version-label 1", + end_point, subgraph_name + ), + ], + ); + if !is_deploy { + return Err(anyhow!("Failed to deploy subgraph")); + } + + Ok(true) +} diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs index 6ddfac1115..2d3eb6f29b 100644 --- a/subgraph/cli/main.rs +++ b/subgraph/cli/main.rs @@ -1,9 +1,9 @@ +mod deploy; +mod utils; use clap::{Args, Parser, Subcommand}; -use colored::*; -use std::env; -use std::io::{BufRead, BufReader}; -use std::process::{Command, Stdio}; -use std::thread; + +use deploy::{deploy, Config}; +use utils::run_cmd; #[derive(Parser)] #[clap(author, version, about)] @@ -38,77 +38,6 @@ pub struct DeployCommand { address: String, } -// This function will work onthe working directory -fn run_cmd(main_cmd: &str, args: &[&str]) -> bool { - // Get the current working directory - let current_dir = env::current_dir().expect("Failed to get current directory"); - - // Create a new Command to run - let mut cmd = Command::new(main_cmd); - - // Add the arguments - cmd.args(args); - - // Set the directory from where the command wil run - cmd.current_dir(¤t_dir); - - // Tell what to do when try to print the process - cmd.stdout(Stdio::piped()); - cmd.stderr(Stdio::piped()); - - let full_cmd = format!("{} {}", main_cmd, args.join(" ")); - - println!("{} {}", "Running:".green(), full_cmd.blue()); - - // Execute the command - let mut child = cmd - .spawn() - .expect(format!("Failed to run: {}", full_cmd).as_str()); - - // Read and print stdout in a separate thread - let stdout_child = child.stdout.take().expect("Failed to get stdout"); - let stdout_reader = BufReader::new(stdout_child); - - let stdout_handle = thread::spawn({ - move || { - for line in stdout_reader.lines() { - if let Ok(line) = line { - println!("{}", line); - } - } - } - }); - - // Read and print stderr in the main thread - let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); - for line in stderr_reader.lines() { - if let Ok(line) = line { - eprintln!("{}", line); - } - } - - // Wait for the command to finish and get the exit status - let status = child - .wait() - .expect(format!("Failed to wait: {}", full_cmd).as_str()); - - // Wait for the stdout thread to finish - stdout_handle.join().expect("Failed to join stdout thread"); - - if status.success() { - println!("✅ {} {}", full_cmd.blue(), "completed".green()); - return true; - } else { - eprintln!( - "❌ {} {}", - full_cmd.blue(), - format!("failed with exit code: {}", status.code().unwrap_or(-1)).red() - ); - - return false; - } -} - fn main() { let args = Cli::parse(); @@ -118,15 +47,35 @@ fn main() { } Subgraph::Build => { - println!("{}", "Generating subgraph code".blue()); - run_cmd("npx", &["graph", "codegen"]); + // Use a arbitrary address to put the endpoint up + let config = Config { + contract_address: &"0x0000000000000000000000000000000000000000".to_string(), + block_number: 0, + }; + + let _ = deploy(config); + + // Get the schema from the endpoint + run_cmd( + "graphql-client", + &[ + "introspect-schema", + "--output", + "tests/subgraph/query/schema.json", + "http://localhost:8000/subgraphs/name/test/test", + ], + ); + + () } Subgraph::Test => { println!("Hello tests 🧪"); + todo!("Test CI does not implemented"); } Subgraph::Deploy(args) => { println!("🚀 Hello, deploy with: {:?}", args); + todo!("Deploy CI does not implemented"); } } } diff --git a/subgraph/cli/utils/mod.rs b/subgraph/cli/utils/mod.rs new file mode 100644 index 0000000000..d41c871be1 --- /dev/null +++ b/subgraph/cli/utils/mod.rs @@ -0,0 +1,76 @@ +use colored::*; +use std::env; +use std::io::{BufRead, BufReader}; +use std::process::{Command, Stdio}; +use std::thread; + +// This function will work onthe working directory +pub fn run_cmd(main_cmd: &str, args: &[&str]) -> bool { + // Get the current working directory + let current_dir = env::current_dir().expect("Failed to get current directory"); + + // Create a new Command to run + let mut cmd = Command::new(main_cmd); + + // Add the arguments + cmd.args(args); + + // Set the directory from where the command wil run + cmd.current_dir(¤t_dir); + + // Tell what to do when try to print the process + cmd.stdout(Stdio::piped()); + cmd.stderr(Stdio::piped()); + + let full_cmd = format!("{} {}", main_cmd, args.join(" ")); + + println!("{} {}\n", "Running:".green(), full_cmd.blue()); + + // Execute the command + let mut child = cmd + .spawn() + .expect(format!("Failed to run: {}", full_cmd).as_str()); + + // Read and print stdout in a separate thread + let stdout_child = child.stdout.take().expect("Failed to get stdout"); + let stdout_reader = BufReader::new(stdout_child); + + let stdout_handle = thread::spawn({ + move || { + for line in stdout_reader.lines() { + if let Ok(line) = line { + println!("{}", line); + } + } + } + }); + + // Read and print stderr in the main thread + let stderr_reader = BufReader::new(child.stderr.take().expect("Failed to get stderr")); + for line in stderr_reader.lines() { + if let Ok(line) = line { + eprintln!("{}", line); + } + } + + // Wait for the command to finish and get the exit status + let status = child + .wait() + .expect(format!("Failed to wait: {}", full_cmd).as_str()); + + // Wait for the stdout thread to finish + stdout_handle.join().expect("Failed to join stdout thread"); + + if status.success() { + println!("✅ {} {}\n", full_cmd.blue(), "completed".green()); + return true; + } else { + eprintln!( + "❌ {} {}", + full_cmd.blue(), + format!("failed with exit code: {}\n", status.code().unwrap_or(-1)).red() + ); + + return false; + } +} diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 12d70f931d..7f487d8ccd 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -78,13 +78,13 @@ kill -9 $(lsof -t -i :8545) ''); - ci-test = pkgs.writeShellScriptBin "ci-test" ('' + # This build is for generate the schema.json + cargo run build cargo test -- --test-threads=1 --nocapture; ''); default = install; - }; } ); diff --git a/subgraph/tests/subgraph/query/schema.json b/subgraph/tests/subgraph/query/schema.json deleted file mode 100644 index cfe05288b0..0000000000 --- a/subgraph/tests/subgraph/query/schema.json +++ /dev/null @@ -1,40455 +0,0 @@ -{ - "data": { - "__schema": { - "directives": [ - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "if", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - ], - "description": null, - "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], - "name": "skip" - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "if", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - ], - "description": null, - "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], - "name": "include" - }, - { - "args": [], - "description": "Marks the GraphQL type as indexable entity. Each type that should be an entity is required to be annotated with this directive.", - "locations": ["OBJECT"], - "name": "entity" - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - ], - "description": "Defined a Subgraph ID for an object type", - "locations": ["OBJECT"], - "name": "subgraphId" - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "field", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - ], - "description": "creates a virtual field on the entity that may be queried but cannot be set manually through the mappings API.", - "locations": ["FIELD_DEFINITION"], - "name": "derivedFrom" - } - ], - "mutationType": null, - "queryType": { - "name": "Query" - }, - "subscriptionType": { - "name": "Subscription" - }, - "types": [ - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Order_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orders", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultWithdraw_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "withdraws", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultDeposit_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "deposits", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClear_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "ordersCleared", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Bounty_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounties", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Bounty", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TakeOrderEntity_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrderEntities", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Vault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaults", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaults", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Event_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "events", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Account", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "withdraws_", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deposits_", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersCleared_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bounties_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrderEntities_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaults_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaults_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "events_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orders" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "withdraws" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "deposits" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "ordersCleared" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounties" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrderEntities" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaults" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaults" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "events" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "Account_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "BigDecimal", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "BigInt", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "number_gte", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "hash", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "number", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "number_gte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Block_height", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Boolean", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The clearer who received this bounty", - "isDeprecated": false, - "name": "clearer", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The Clear event that paid this bounty", - "isDeprecated": false, - "name": "orderClear", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The Vault that bounty token A was deposited into", - "isDeprecated": false, - "name": "bountyVaultA", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The Vault that bounty token B was deposited into", - "isDeprecated": false, - "name": "bountyVaultB", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The A token for the bounty", - "isDeprecated": false, - "name": "bountyTokenA", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The B token for the bounty", - "isDeprecated": false, - "name": "bountyTokenB", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The amount paid for bounty token A", - "isDeprecated": false, - "name": "bountyAmountA", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyAmountADisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The amount paid for bounty token B", - "isDeprecated": false, - "name": "bountyAmountB", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyAmountBDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Bounty", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultA_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyVaultB_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenA_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyTokenB_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountA_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountADisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountB_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bountyAmountBDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearer__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__aInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__aOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__bInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__bOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultA" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultA__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultA__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultB" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultB__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultB__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenA__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyTokenB__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyAmountA" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyAmountADisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyAmountB" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyAmountBDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "Bounty_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Bytes", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyAlice", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyBob", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aliceTokenVaultInput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aliceTokenVaultOutput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bobTokenVaultInput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bobTokenVaultOutput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "ClearOrderConfig", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClearId_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyAlice_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaultBountyBob_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultInput_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aliceTokenVaultOutput_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultInput_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bobTokenVaultOutput_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ClearOrderConfig_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ClearOrderConfig_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "ClearOrderConfig_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId__aInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId__aOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId__bInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId__bOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearId__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyAlice" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyAlice__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyAlice__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyAlice__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyAlice__balanceDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyBob" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyBob__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyBob__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyBob__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultBountyBob__balanceDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aliceTokenVaultInput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aliceTokenVaultOutput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bobTokenVaultInput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bobTokenVaultOutput" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "ClearOrderConfig_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": "The hash of this meta, this basically is the hash of 'rawBytes' field", - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The cbor map item bytes.", - "isDeprecated": false, - "name": "rawBytes", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The magic number associated with this meta", - "isDeprecated": false, - "name": "magicNumber", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The payload of this content", - "isDeprecated": false, - "name": "payload", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "RainMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "The RainMeta records that have this cbor map as part of their sequence", - "isDeprecated": false, - "name": "parents", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The header name info for Content-Type", - "isDeprecated": false, - "name": "contentType", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The header name info for Content-Encoding. It's optional", - "isDeprecated": false, - "name": "contentEncoding", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The header name info for Content-Language. It's optional", - "isDeprecated": false, - "name": "contentLanguage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "ContentMetaV1", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "rawBytes_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "magicNumber_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "payload_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "parents_", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentType_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentEncoding_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contentLanguage_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "rawBytes" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "magicNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "payload" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "parents" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentType" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentEncoding" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentLanguage" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "ContentMetaV1_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Base caller", - "isDeprecated": false, - "name": "caller", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Base contract", - "isDeprecated": false, - "name": "contract", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderBook", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Contextual data available to both calculate order and handle IO", - "isDeprecated": false, - "name": "callingContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Contains the DECIMAL RESCALED calculations", - "isDeprecated": false, - "name": "calculationsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The inputs context data", - "isDeprecated": false, - "name": "vaultInputsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The outputs context data", - "isDeprecated": false, - "name": "vaultOutputsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "SignedContext_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Optional signed context relevant to the transaction", - "isDeprecated": false, - "name": "signedContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SignedContext", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Transaction where this event was emitted.", - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Account that sent the transaction this event was emitted in.", - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], - "kind": "OBJECT", - "name": "ContextEntity", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "caller_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "contract_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "callingContext_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "calculationsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "calculationsContext_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "calculationsContext_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "calculationsContext_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "calculationsContext_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "calculationsContext_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultInputsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultInputsContext_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultInputsContext_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultInputsContext_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultInputsContext_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultInputsContext_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultOutputsContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultOutputsContext_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultOutputsContext_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultOutputsContext_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultOutputsContext_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultOutputsContext_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signedContext_", - "type": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "caller" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "caller__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract__deployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contract__address" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "callingContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "calculationsContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultInputsContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultOutputsContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signedContext" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "ContextEntity_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "name", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "symbol", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "totalSupply", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "totalSupplyDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "decimals", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "ERC20", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "name", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "name_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "symbol_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupply_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "totalSupplyDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_not", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_gt", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_lt", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_gte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_lte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "decimals" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "ERC20_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Transaction this event was emitted in.", - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Account that sent the transaction this event was emitted in.", - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": null, - "kind": "INTERFACE", - "name": "Event", - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "Order", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - ] - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "Event_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Float", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "ID", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "decimals", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "index", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "IO", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_not", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_gt", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_lt", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_gte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_lte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "decimals_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "order", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_not", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_gt", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_lt", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_gte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_lte", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "index_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderHash" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__interpreter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__interpreterStore" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expressionDeployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expression" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderActive" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__handleIO" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expressionJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balanceDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "index" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "IO_orderBy", - "possibleTypes": null - }, - { - "description": "4 bytes signed integer\n", - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Int", - "possibleTypes": null - }, - { - "description": "8 bytes signed integer\n", - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "Int8", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": "The hash of the order", - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The hash of the order", - "isDeprecated": false, - "name": "orderHash", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The address that added the order", - "isDeprecated": false, - "name": "owner", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The IInterpreter address that is used to add the order", - "isDeprecated": false, - "name": "interpreter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The IInterpreterStore address that is used to add the order", - "isDeprecated": false, - "name": "interpreterStore", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The IExpressionDeployer contract address that is used to add the order", - "isDeprecated": false, - "name": "expressionDeployer", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The address to the rain expression for the Order", - "isDeprecated": false, - "name": "expression", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Whether the order is active or inactive", - "isDeprecated": false, - "name": "orderActive", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Flag that check if there is a handle_IO entrypoint to run. If false the order book MAY skip calling the interpreter to save gas", - "isDeprecated": false, - "name": "handleIO", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta", - "type": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "IO_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "validInputs", - "isDeprecated": false, - "name": "validInputs", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "IO", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "IO_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "validOutputs", - "isDeprecated": false, - "name": "validOutputs", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "IO", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderJSONString", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "expressionJSONString", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Timestamp when the order was added", - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TakeOrderEntity_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Take Order entities that use this order", - "isDeprecated": false, - "name": "takeOrders", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClear_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Order Clear entities that use this order", - "isDeprecated": false, - "name": "ordersClears", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - } - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], - "kind": "OBJECT", - "name": "Order", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "deployer", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "address", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The RainMetaV1 decode information", - "isDeprecated": false, - "name": "meta", - "type": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "OrderBook", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deployer_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "address_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "deployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "address" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta__metaBytes" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "OrderBook_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The sender address who cleared the Orders", - "isDeprecated": false, - "name": "sender", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The clearer address who cleared this order", - "isDeprecated": false, - "name": "clearer", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Order A being cleared", - "isDeprecated": false, - "name": "orderA", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Order B being cleared", - "isDeprecated": false, - "name": "orderB", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Account_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "The owners of the Orders that were cleared [Order A, Order B]", - "isDeprecated": false, - "name": "owners", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token input index cleared into Order A", - "isDeprecated": false, - "name": "aInputIOIndex", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token output index cleared into Order A", - "isDeprecated": false, - "name": "aOutputIOIndex", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token input index cleared into Order B", - "isDeprecated": false, - "name": "bInputIOIndex", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token output index cleared into Order B", - "isDeprecated": false, - "name": "bOutputIOIndex", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The bounty paid when this order was cleared", - "isDeprecated": false, - "name": "bounty", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Bounty", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The state change that occurred because of this Clear", - "isDeprecated": false, - "name": "stateChange", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClearStateChange", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], - "kind": "OBJECT", - "name": "OrderClear", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aOutput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bOutput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aInput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bInput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "OrderClearStateChange", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClear_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderClearStateChange_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderClearStateChange_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "OrderClearStateChange_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__aInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__aOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__bInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__bOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aOutput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bOutput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aInput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bInput" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "OrderClearStateChange_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "clearer_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderA_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderB_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owners_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aInputIOIndex_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "aOutputIOIndex_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bInputIOIndex_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bOutputIOIndex_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "bounty_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "stateChange_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClearStateChange_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearer__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__orderHash" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__interpreter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__interpreterStore" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__expressionDeployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__expression" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__orderActive" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__handleIO" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__orderJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__expressionJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderA__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__orderHash" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__interpreter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__interpreterStore" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__expressionDeployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__expression" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__orderActive" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__handleIO" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__orderJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__expressionJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderB__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owners" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "aOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bInputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bOutputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty__bountyAmountA" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty__bountyAmountADisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty__bountyAmountB" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty__bountyAmountBDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "stateChange" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "stateChange__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "stateChange__aOutput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "stateChange__bOutput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "stateChange__aInput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "stateChange__bInput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "OrderClear_orderBy", - "possibleTypes": null - }, - { - "description": "Defines the order direction, either ascending or descending", - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "asc" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "desc" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "OrderDirection", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderHash_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreter_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "interpreterStore_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionDeployer_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expression_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderActive", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderActive_not", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderActive_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderActive_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "handleIO", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "handleIO_not", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "handleIO_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "handleIO_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "meta_", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validInputs_", - "type": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "validOutputs_", - "type": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderJSONString_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "expressionJSONString_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrders_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "ordersClears_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderHash" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owner" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owner__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "interpreter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "interpreterStore" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "expressionDeployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "expression" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderActive" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "handleIO" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "meta__metaBytes" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "validInputs" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "validOutputs" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "expressionJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrders" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "ordersClears" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "Order_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderBook", - "type": { - "kind": "OBJECT", - "name": "OrderBook", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderBook_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderBooks", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderBook", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "rainMetaV1", - "type": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "RainMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "rainMetaV1S", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentMetaV1", - "type": { - "kind": "OBJECT", - "name": "ContentMetaV1", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ContentMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentMetaV1S", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContentMetaV1", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order", - "type": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Order_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orders", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "io", - "type": { - "kind": "OBJECT", - "name": "IO", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "IO_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "ios", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "IO", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault", - "type": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Vault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaults", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault", - "type": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaults", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultTakeOrder", - "type": { - "kind": "OBJECT", - "name": "TokenVaultTakeOrder", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVaultTakeOrder_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultTakeOrders", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVaultTakeOrder", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultDeposit", - "type": { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultDeposit_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultDeposits", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultWithdraw", - "type": { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultWithdraw_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultWithdraws", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "erc20", - "type": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ERC20_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "erc20S", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear", - "type": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClear_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClears", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty", - "type": { - "kind": "OBJECT", - "name": "Bounty", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Bounty_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounties", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Bounty", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrderEntity", - "type": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TakeOrderEntity_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrderEntities", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearStateChange", - "type": { - "kind": "OBJECT", - "name": "OrderClearStateChange", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClearStateChange_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClearStateChange_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearStateChanges", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClearStateChange", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearOrderConfig", - "type": { - "kind": "OBJECT", - "name": "ClearOrderConfig", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ClearOrderConfig_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ClearOrderConfig_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearOrderConfigs", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ClearOrderConfig", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "account", - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Account_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "accounts", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Transaction_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transactions", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contextEntity", - "type": { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ContextEntity_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contextEntities", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signedContext", - "type": { - "kind": "OBJECT", - "name": "SignedContext", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "SignedContext_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signedContexts", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SignedContext", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "event", - "type": { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Event_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "events", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Access to subgraph metadata", - "isDeprecated": false, - "name": "_meta", - "type": { - "kind": "OBJECT", - "name": "_Meta_", - "ofType": null - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Query", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": "Hash of the meta directly emitted by the contract", - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Original meta bytes directly emitted from the contract", - "isDeprecated": false, - "name": "metaBytes", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ContentMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "The meta content V1 decoded from the meta bytes emitted", - "isDeprecated": false, - "name": "content", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContentMetaV1", - "ofType": null - } - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "RainMetaV1", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "metaBytes_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "content", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "content_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "content_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "content_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "content_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "content_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "content_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "metaBytes" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "content" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "RainMetaV1_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signer", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "context", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "SignedContext", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_not", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_gt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_lt", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_gte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_lte", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "signer_not_contains", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "context" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "SignedContext_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "SCALAR", - "name": "String", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderBook", - "type": { - "kind": "OBJECT", - "name": "OrderBook", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderBook_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderBook_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderBooks", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderBook", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "rainMetaV1", - "type": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "RainMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "RainMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "rainMetaV1S", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "RainMetaV1", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentMetaV1", - "type": { - "kind": "OBJECT", - "name": "ContentMetaV1", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ContentMetaV1_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContentMetaV1_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contentMetaV1S", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContentMetaV1", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order", - "type": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Order_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orders", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "io", - "type": { - "kind": "OBJECT", - "name": "IO", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "IO_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "IO_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "ios", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "IO", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault", - "type": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Vault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaults", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault", - "type": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaults", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultTakeOrder", - "type": { - "kind": "OBJECT", - "name": "TokenVaultTakeOrder", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVaultTakeOrder_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaultTakeOrders", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVaultTakeOrder", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultDeposit", - "type": { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultDeposit_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultDeposits", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultWithdraw", - "type": { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultWithdraw_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultWithdraws", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "erc20", - "type": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ERC20_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "erc20S", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClear", - "type": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClear_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClears", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounty", - "type": { - "kind": "OBJECT", - "name": "Bounty", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Bounty_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Bounty_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bounties", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Bounty", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrderEntity", - "type": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TakeOrderEntity_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrderEntities", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearStateChange", - "type": { - "kind": "OBJECT", - "name": "OrderClearStateChange", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClearStateChange_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClearStateChange_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClearStateChanges", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClearStateChange", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearOrderConfig", - "type": { - "kind": "OBJECT", - "name": "ClearOrderConfig", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ClearOrderConfig_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ClearOrderConfig_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "clearOrderConfigs", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ClearOrderConfig", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "account", - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Account_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "accounts", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Transaction_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transactions", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contextEntity", - "type": { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "ContextEntity_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "contextEntities", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signedContext", - "type": { - "kind": "OBJECT", - "name": "SignedContext", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "SignedContext_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "SignedContext_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "signedContexts", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SignedContext", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "event", - "type": { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Event_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - }, - { - "defaultValue": "deny", - "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", - "name": "subgraphError", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "ofType": null - } - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "events", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - } - } - } - }, - { - "args": [ - { - "defaultValue": null, - "description": null, - "name": "block", - "type": { - "kind": "INPUT_OBJECT", - "name": "Block_height", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Access to subgraph metadata", - "isDeprecated": false, - "name": "_meta", - "type": { - "kind": "OBJECT", - "name": "_Meta_", - "ofType": null - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Subscription", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The input amount from the perspective of sender", - "isDeprecated": false, - "name": "input", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The output amount from the perspective of sender", - "isDeprecated": false, - "name": "output", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "IO Ratio", - "isDeprecated": false, - "name": "IORatio", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The index of the input token in order to match with the take order output", - "isDeprecated": false, - "name": "inputIOIndex", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The index of the output token in order to match with the take order input.", - "isDeprecated": false, - "name": "outputIOIndex", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Input token from the perspective of the order taker", - "isDeprecated": false, - "name": "inputToken", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Output token from the perspective of the order taker", - "isDeprecated": false, - "name": "outputToken", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "context", - "type": { - "kind": "OBJECT", - "name": "ContextEntity", - "ofType": null - } - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], - "kind": "OBJECT", - "name": "TakeOrderEntity", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "order_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "input_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "output", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "output_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "IORatio_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputIOIndex_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputIOIndex_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputToken_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputToken_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "context_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ContextEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderHash" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__interpreter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__interpreterStore" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expressionDeployer" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expression" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderActive" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__handleIO" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__orderJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__expressionJSONString" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "input" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "output" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "IORatio" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "inputToken__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputToken__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "context" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "context__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "context__timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "TakeOrderEntity_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The owner of this Vault", - "isDeprecated": false, - "name": "owner", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The id of this vault", - "isDeprecated": false, - "name": "vault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token that has a balance for this vault and owner.", - "isDeprecated": false, - "name": "token", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The balance of this token, for this vault, for this owner", - "isDeprecated": false, - "name": "balance", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "balanceDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Order_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Orders that reference this vault, owner and token", - "isDeprecated": false, - "name": "orders", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Order", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "OrderClear_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClears", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "OrderClear", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVaultTakeOrder_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrders", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVaultTakeOrder", - "ofType": null - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "TokenVault", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "wasOutput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "wasInput", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TakeOrderEntity", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "TokenVaultTakeOrder", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasOutput", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasOutput_not", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasOutput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasOutput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasInput", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasInput_not", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasInput_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "wasInput_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrder_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TakeOrderEntity_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "wasOutput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "wasInput" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__input" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__inputDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__output" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__outputDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__IORatio" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__inputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__outputIOIndex" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrder__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balanceDisplay" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "TokenVaultTakeOrder_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "balance_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "balanceDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orders_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Order_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears_not", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears_not_contains", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears_not_contains_nocase", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderClears_", - "type": { - "kind": "INPUT_OBJECT", - "name": "OrderClear_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "takeOrders_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVaultTakeOrder_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owner" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owner__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "balanceDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orders" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "orderClears" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "takeOrders" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "TokenVault_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "blockNumber", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "Event_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "events", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Transaction", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "blockNumber_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "events_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Event_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "events" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "Transaction_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The owner of this Vault", - "isDeprecated": false, - "name": "owner", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "TokenVault_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Tokens in this Vault", - "isDeprecated": false, - "name": "tokenVaults", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultDeposit_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Deposits into this Vault", - "isDeprecated": false, - "name": "deposits", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultDeposit", - "ofType": null - } - } - } - }, - { - "args": [ - { - "defaultValue": "0", - "description": null, - "name": "skip", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": "100", - "description": null, - "name": "first", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderBy", - "type": { - "kind": "ENUM", - "name": "VaultWithdraw_orderBy", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "orderDirection", - "type": { - "kind": "ENUM", - "name": "OrderDirection", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "where", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - } - ], - "deprecationReason": null, - "description": "Withdrawals from this Vault", - "isDeprecated": false, - "name": "withdraws", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VaultWithdraw", - "ofType": null - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "Vault", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The transaction sender of this deposit", - "isDeprecated": false, - "name": "sender", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token that was deposited", - "isDeprecated": false, - "name": "token", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The vaultId that was deposited into", - "isDeprecated": false, - "name": "vaultId", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The Vault that was deposited into", - "isDeprecated": false, - "name": "vault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The amount that was deposited", - "isDeprecated": false, - "name": "amount", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "amountDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The current balance of this token for this Vault", - "isDeprecated": false, - "name": "tokenVault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], - "kind": "OBJECT", - "name": "VaultDeposit", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "amount" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "amountDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balanceDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "VaultDeposit_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The transaction sender of this withdrawal", - "isDeprecated": false, - "name": "sender", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The token that was withdrawn", - "isDeprecated": false, - "name": "token", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The vaultId that was withdrawn from", - "isDeprecated": false, - "name": "vaultId", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The Vault that was withdrawn from", - "isDeprecated": false, - "name": "vault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Vault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The amount that was requested be withdrawn", - "isDeprecated": false, - "name": "requestedAmount", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "requestedAmountDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The amount that was withdrawn", - "isDeprecated": false, - "name": "amount", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "amountDisplay", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The current balance of this token for this Vault", - "isDeprecated": false, - "name": "tokenVault", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TokenVault", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Transaction", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Event", - "ofType": null - } - ], - "kind": "OBJECT", - "name": "VaultWithdraw", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "sender_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "token_", - "type": { - "kind": "INPUT_OBJECT", - "name": "ERC20_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmount_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "requestedAmountDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amount_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_not", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_gt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_lt", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_gte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_lte", - "type": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "amountDisplay_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigDecimal", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVault_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "transaction_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Transaction_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "emitter_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "timestamp_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "sender__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__name" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__symbol" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupply" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__totalSupplyDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "token__decimals" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "requestedAmount" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "requestedAmountDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "amount" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "amountDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balanceDisplay" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__timestamp" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "transaction__blockNumber" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "emitter__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "timestamp" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "VaultWithdraw_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": null, - "inputFields": [ - { - "defaultValue": null, - "description": null, - "name": "id", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lt", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_gte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_lte", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "id_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lt", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_gte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_lte", - "type": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "vaultId_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BigInt", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "owner_", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "tokenVaults_", - "type": { - "kind": "INPUT_OBJECT", - "name": "TokenVault_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "deposits_", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultDeposit_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "withdraws_", - "type": { - "kind": "INPUT_OBJECT", - "name": "VaultWithdraw_filter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": "Filter for the block changed event.", - "name": "_change_block", - "type": { - "kind": "INPUT_OBJECT", - "name": "BlockChangedFilter", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "and", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "or", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "ofType": null - } - } - } - ], - "interfaces": null, - "kind": "INPUT_OBJECT", - "name": "Vault_filter", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "vaultId" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owner" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "owner__id" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVaults" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "deposits" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "withdraws" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "Vault_orderBy", - "possibleTypes": null - }, - { - "description": null, - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": "The hash of the block", - "isDeprecated": false, - "name": "hash", - "type": { - "kind": "SCALAR", - "name": "Bytes", - "ofType": null - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The block number", - "isDeprecated": false, - "name": "number", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Integer representation of the timestamp stored in blocks for the chain", - "isDeprecated": false, - "name": "timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "_Block_", - "possibleTypes": null - }, - { - "description": "The type for the top-level _meta field", - "enumValues": null, - "fields": [ - { - "args": [], - "deprecationReason": null, - "description": "Information about a specific subgraph block. The hash of the block\nwill be null if the _meta field has a block constraint that asks for\na block number. It will be filled if the _meta field has no block constraint\nand therefore asks for the latest block\n", - "isDeprecated": false, - "name": "block", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_Block_", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "The deployment ID", - "isDeprecated": false, - "name": "deployment", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "If `true`, the subgraph encountered indexing errors at some past block", - "isDeprecated": false, - "name": "hasIndexingErrors", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "_Meta_", - "possibleTypes": null - }, - { - "description": null, - "enumValues": [ - { - "deprecationReason": null, - "description": "Data will be returned even if the subgraph has indexing errors", - "isDeprecated": false, - "name": "allow" - }, - { - "deprecationReason": null, - "description": "If the subgraph has indexing errors, data will be omitted. The default.", - "isDeprecated": false, - "name": "deny" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "_SubgraphErrorPolicy_", - "possibleTypes": null - } - ] - } - } -} From c39f90d6229891848af3a5703606c6a8bb185b4e Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 22:25:40 -0400 Subject: [PATCH 146/163] delete old nix shell --- subgraph/shell.nix | 93 ---------------------------------------------- 1 file changed, 93 deletions(-) delete mode 100755 subgraph/shell.nix diff --git a/subgraph/shell.nix b/subgraph/shell.nix deleted file mode 100755 index b38b38bcda..0000000000 --- a/subgraph/shell.nix +++ /dev/null @@ -1,93 +0,0 @@ -`let - pkgs = import - (builtins.fetchTarball { - name = "nixos-unstable-2021-10-01"; - url = "https://github.com/nixos/nixpkgs/archive/d3d2c44a26b693293e8c79da0c3e3227fc212882.tar.gz"; - sha256 = "0vi4r7sxzfdaxzlhpmdkvkn3fjg533fcwsy3yrcj5fiyqip2p3kl"; - }) - { }; - - compile = pkgs.writeShellScriptBin "compile" '' - hardhat compile --force - ''; - - codegen = pkgs.writeShellScriptBin "codegen" '' - graph codegen - ''; - - docker-up = pkgs.writeShellScriptBin "docker-up" '' - # docker-down - # rm -rf docker/data - docker-compose -f docker/docker-compose.yaml up --build -d - ''; - - docker-down = pkgs.writeShellScriptBin "docker-down" '' - docker-compose -f docker/docker-compose.yaml down - ''; - - flush-all = pkgs.writeShellScriptBin "flush-all" '' - rm -rf cache - rm -rf node_modules - rm -rf build - rm -rf generated - rm -rf docker/data - ''; - - copy-abis = pkgs.writeShellScriptBin "copy-abis" '' - cp artifacts/contracts/orderbook/OrderBook.sol/OrderBook.json abis - cp artifacts/contracts/test/testToken/ReserveToken.sol/ReserveToken.json abis - ''; - - setup = pkgs.writeShellScriptBin "setup" '' - cp -r rain-protocol/artifacts . - cp -r rain-protocol/typechain . - copy-abis - ''; - - ci-test = pkgs.writeShellScriptBin "ci-test" '' - npx mustache config/localhost.json subgraph.template.yaml subgraph.yaml - codegen - # npx hardhat test --no-compile - cargo run --manifest-path ./Cargo.toml test - ''; - - init = pkgs.writeShellScriptBin "init" '' - npm install - ''; - - ci-prepare-subgraph-polygon = pkgs.writeShellScriptBin "ci-prepare-subgraph-polygon" '' - npx mustache config/polygon.json subgraph.template.yaml subgraph.yaml - graph codegen - graph build - ''; - - ci-prepare-subgraph-mumbai = pkgs.writeShellScriptBin "ci-prepare-subgraph-mumbai" '' - npx mustache config/mumbai.json subgraph.template.yaml subgraph.yaml - graph codegen - graph build - ''; - -in -pkgs.stdenv.mkDerivation { - name = "shell"; - buildInputs = [ - pkgs.nixpkgs-fmt - pkgs.yarn - pkgs.nodejs-16_x - ci-test - compile - codegen - docker-up - docker-down - flush-all - init - ci-prepare-subgraph-polygon - ci-prepare-subgraph-mumbai - copy-abis - setup - ]; - - shellHook = '' - export PATH=$( npm bin ):$PATH - ''; -} From 4093ccceaeba26fbbc29c302fed9750cdea15193 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 22:33:10 -0400 Subject: [PATCH 147/163] silent unused functions --- subgraph/tests/utils/events.rs | 4 +--- subgraph/tests/utils/transactions/mod.rs | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/subgraph/tests/utils/events.rs b/subgraph/tests/utils/events.rs index 61515f7167..40c6310087 100644 --- a/subgraph/tests/utils/events.rs +++ b/subgraph/tests/utils/events.rs @@ -382,8 +382,7 @@ pub async fn get_context_event( } } - -pub async fn get_context_events( +pub async fn _get_context_events( contract: &OrderBook, Wallet>>, tx_hash: &TxHash, ) -> Result> { @@ -408,4 +407,3 @@ pub async fn get_context_events( None => return Err(Error::msg("events not found")), } } - diff --git a/subgraph/tests/utils/transactions/mod.rs b/subgraph/tests/utils/transactions/mod.rs index 8ea0e6869c..85830fdf62 100644 --- a/subgraph/tests/utils/transactions/mod.rs +++ b/subgraph/tests/utils/transactions/mod.rs @@ -14,7 +14,6 @@ use ethers::{ signers::{Signer, Wallet}, types::{Address, Block, Bytes, TxHash, H256, U256}, }; -use hex::FromHex; use super::{get_provider, get_wallet, hash_keccak}; From e0fd22400e70aeb9c3294f31eab2a2a0cdf263e9 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 22:33:37 -0400 Subject: [PATCH 148/163] update sg test workflow --- .github/workflows/subgraph-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 9b967d724a..68fd95a2ca 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -39,7 +39,7 @@ jobs: - name: Run test working-directory: ./subgraph - run: RUST_TEST_THREADS=1 cargo test + run: nix run .#ci-test - name: Stop docker container run: docker-compose -f subgraph/docker/docker-compose.yaml down From 159b9b19f12e8c5caab5b9511f172b2ddab1904a Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 22:50:52 -0400 Subject: [PATCH 149/163] wip: ci test generated --- subgraph/cli/utils/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/subgraph/cli/utils/mod.rs b/subgraph/cli/utils/mod.rs index d41c871be1..1bba891f0d 100644 --- a/subgraph/cli/utils/mod.rs +++ b/subgraph/cli/utils/mod.rs @@ -8,6 +8,7 @@ use std::thread; pub fn run_cmd(main_cmd: &str, args: &[&str]) -> bool { // Get the current working directory let current_dir = env::current_dir().expect("Failed to get current directory"); + println!("current_dir: {}", current_dir.to_str()); // Create a new Command to run let mut cmd = Command::new(main_cmd); From 97a9c6d3b802e9d506173a9777c7966ec697274f Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 22:53:52 -0400 Subject: [PATCH 150/163] wip: ci test generated --- subgraph/cli/utils/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/cli/utils/mod.rs b/subgraph/cli/utils/mod.rs index 1bba891f0d..f06e0977bb 100644 --- a/subgraph/cli/utils/mod.rs +++ b/subgraph/cli/utils/mod.rs @@ -8,7 +8,7 @@ use std::thread; pub fn run_cmd(main_cmd: &str, args: &[&str]) -> bool { // Get the current working directory let current_dir = env::current_dir().expect("Failed to get current directory"); - println!("current_dir: {}", current_dir.to_str()); + println!("current_dir: {:?}", current_dir.to_str()); // Create a new Command to run let mut cmd = Command::new(main_cmd); From 80f2be7e6ed46254f384ebe72442a372705595e5 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 22:55:48 -0400 Subject: [PATCH 151/163] wip: ci test generated --- subgraph/cli/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs index 2d3eb6f29b..203e10b7bb 100644 --- a/subgraph/cli/main.rs +++ b/subgraph/cli/main.rs @@ -56,7 +56,7 @@ fn main() { let _ = deploy(config); // Get the schema from the endpoint - run_cmd( + let write_schema = run_cmd( "graphql-client", &[ "introspect-schema", @@ -66,6 +66,12 @@ fn main() { ], ); + if write_schema { + println!("HERE_1: schema was wrote"); + } else { + println!("HERE_2: failed to write schemag"); + } + () } From 76e90144c3d127065fbe100831efbc0985bb9508 Mon Sep 17 00:00:00 2001 From: NanezX Date: Wed, 1 Nov 2023 23:09:40 -0400 Subject: [PATCH 152/163] wip: check write schema --- subgraph/cli/main.rs | 11 +++-------- subgraph/flake.nix | 3 ++- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs index 203e10b7bb..db8952d2a2 100644 --- a/subgraph/cli/main.rs +++ b/subgraph/cli/main.rs @@ -56,22 +56,17 @@ fn main() { let _ = deploy(config); // Get the schema from the endpoint - let write_schema = run_cmd( + // "tests/subgraph/query/schema.json", + run_cmd( "graphql-client", &[ "introspect-schema", "--output", - "tests/subgraph/query/schema.json", + "schema.json", "http://localhost:8000/subgraphs/name/test/test", ], ); - if write_schema { - println!("HERE_1: schema was wrote"); - } else { - println!("HERE_2: failed to write schemag"); - } - () } diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 7f487d8ccd..5d60025bf3 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -80,7 +80,8 @@ ci-test = pkgs.writeShellScriptBin "ci-test" ('' # This build is for generate the schema.json - cargo run build + cargo run build; + ls cargo test -- --test-threads=1 --nocapture; ''); From be31ad9ffe6e179a77896c733239dcd1902c8866 Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 2 Nov 2023 08:33:12 -0400 Subject: [PATCH 153/163] fix to forge fmt check --- test/util/subgraph/AuthoringMetaGetter.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/util/subgraph/AuthoringMetaGetter.sol b/test/util/subgraph/AuthoringMetaGetter.sol index 8d8a0e9a13..a7e8bdc934 100644 --- a/test/util/subgraph/AuthoringMetaGetter.sol +++ b/test/util/subgraph/AuthoringMetaGetter.sol @@ -7,7 +7,7 @@ import "lib/rain.interpreter/src/lib/op/LibAllStandardOpsNP.sol"; /// @title AuthoringMetaGetter /// A contract to obtain the current AuthoringMeta of the interpreter contract AuthoringMetaGetter { - function getAuthoringMeta() pure external returns (bytes memory) { + function getAuthoringMeta() external pure returns (bytes memory) { return LibAllStandardOpsNP.authoringMeta(); } } From c8caa127258b708dd74a8cd23d00e837c845edea Mon Sep 17 00:00:00 2001 From: NanezX Date: Thu, 2 Nov 2023 08:50:36 -0400 Subject: [PATCH 154/163] wip: graphql client in nix --- subgraph/flake.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 5d60025bf3..ac45071e53 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -12,6 +12,7 @@ let pkgs = nixpkgs.legacyPackages.${system}; jq = "${pkgs.jq}/bin/jq"; + graphql_client = "${pkgs.graphql-client}/bin/graphql-client"; in rec { packages = rec { @@ -70,6 +71,10 @@ anvil -m "$(cat ./test-mnemonic)" ''); + check = pkgs.writeShellScriptBin "check" ('' + ${graphql_client} + ''); + strong-anvil = pkgs.writeShellScriptBin "strong-anvil" ('' anvil -m "$(cat ./test-mnemonic)" --code-size-limit 36864 ''); From 0ea6b1fff3536cf90094202de171709b33baaff6 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 02:19:07 -0400 Subject: [PATCH 155/163] wip: ci tests with schema --- subgraph/Cargo.lock | 1 + subgraph/Cargo.toml | 1 + subgraph/cli/deploy/mod.rs | 50 +++++++++++++++++++++-------- subgraph/cli/main.rs | 66 ++++++++++++++------------------------ subgraph/flake.nix | 55 +++++++++++++++---------------- 5 files changed, 91 insertions(+), 82 deletions(-) diff --git a/subgraph/Cargo.lock b/subgraph/Cargo.lock index f9235a0bfa..d01950ca2e 100644 --- a/subgraph/Cargo.lock +++ b/subgraph/Cargo.lock @@ -3308,6 +3308,7 @@ dependencies = [ "thiserror", "tiny-keccak", "tokio", + "url", "web3", ] diff --git a/subgraph/Cargo.toml b/subgraph/Cargo.toml index 8d55cafb89..0a014f64bb 100644 --- a/subgraph/Cargo.toml +++ b/subgraph/Cargo.toml @@ -31,4 +31,5 @@ once_cell = "1.18.0" minicbor = "0.20.0" tiny-keccak = "2.0.2" bigdecimal = "0.4.2" +url = "2.4.1" diff --git a/subgraph/cli/deploy/mod.rs b/subgraph/cli/deploy/mod.rs index 9a08369074..a8113ec252 100644 --- a/subgraph/cli/deploy/mod.rs +++ b/subgraph/cli/deploy/mod.rs @@ -5,23 +5,46 @@ use std::fs; use crate::utils::run_cmd; -pub struct Config<'a> { - // contracts address - pub contract_address: &'a String, - // block-number - pub block_number: u64, +use clap::Args; +use url::Url; + +#[derive(Args, Debug)] +pub struct DeployArgs { + /// Subgraph name (eg: User/SubgraphName) + #[arg(long = "name")] + pub subgraph_name: String, + + /// Endpoint URL where the subgraph will be deployed + #[arg(long)] + pub url: Url, + + /// Network that the subgraph will index + #[arg(long)] + pub network: String, + + /// Block number where the subgraph will start indexing + #[arg(long = "block")] + pub block_number: u32, + + /// Contract address that the subgraph will be indexing (Assuming one address) + #[arg(long)] + pub address: String, + + /// (Optional) Subgraph token to deploy the subgraph + #[arg(long)] + pub key: Option, } -pub fn deploy(config: Config) -> anyhow::Result { +pub fn deploy_subgraph(config: DeployArgs) -> anyhow::Result<()> { let subgraph_template = "subgraph.template.yaml"; let output_path = "subgraph.yaml"; - // let root_dir = "./"; - let end_point = "http://localhost:8020/"; - let subgraph_name = "test/test"; + + let end_point = config.url.as_str(); + let subgraph_name = config.subgraph_name; let data = MapBuilder::new() - .insert_str("network", "localhost") - .insert_str("orderbook", config.contract_address) + .insert_str("network", config.network) + .insert_str("orderbook", config.address) .insert_str("blockNumber", config.block_number.to_string()) .build(); @@ -30,7 +53,8 @@ pub fn deploy(config: Config) -> anyhow::Result { let _ = fs::write(output_path, renderd)?; // Generate the subgraph code - let is_built = run_cmd("bash", &["-c", "npx graph codegen && npx graph build"]); + // let is_built = run_cmd("bash", &["-c", "npx graph codegen && npx graph build"]); + let is_built = run_cmd("bash", &["-c", "npx graph codegen"]); if !is_built { return Err(anyhow!("Failed to build subgraph")); } @@ -62,5 +86,5 @@ pub fn deploy(config: Config) -> anyhow::Result { return Err(anyhow!("Failed to deploy subgraph")); } - Ok(true) + Ok(()) } diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs index db8952d2a2..d6c44acc7b 100644 --- a/subgraph/cli/main.rs +++ b/subgraph/cli/main.rs @@ -1,8 +1,10 @@ +// extern crate url; mod deploy; mod utils; -use clap::{Args, Parser, Subcommand}; +use clap::{Parser, Subcommand}; -use deploy::{deploy, Config}; +// use colored::*; +use deploy::{deploy_subgraph, DeployArgs}; use utils::run_cmd; #[derive(Parser)] @@ -21,62 +23,42 @@ pub enum Subgraph { #[command(about = "Test the rain subgraph")] Test, #[command(about = "Deploy the rain subgraph")] - Deploy(DeployCommand), + Deploy(DeployArgs), } -#[derive(Args, Debug)] -pub struct DeployCommand { - /// Endpoint URL where the subgraph will be deployed - url: String, - /// Subgraph token to deploy the subgraph - key: String, - /// Network that the subgraph will index - network: String, - /// Block number where the subgraph will start indexing - block_number: String, - /// Contract address that the subgraph will be indexing (Assuming one address) - address: String, -} - -fn main() { +fn main() -> Result<(), anyhow::Error> { let args = Cli::parse(); match args.subgraph { Subgraph::Install => { run_cmd("npm", &["install"]); + + Ok(()) } Subgraph::Build => { - // Use a arbitrary address to put the endpoint up - let config = Config { - contract_address: &"0x0000000000000000000000000000000000000000".to_string(), - block_number: 0, - }; - - let _ = deploy(config); - - // Get the schema from the endpoint - // "tests/subgraph/query/schema.json", - run_cmd( - "graphql-client", - &[ - "introspect-schema", - "--output", - "schema.json", - "http://localhost:8000/subgraphs/name/test/test", - ], - ); + run_cmd("npm", &["run", "codegen"]); + run_cmd("npm", &["run", "build"]); - () + Ok(()) } Subgraph::Test => { - println!("Hello tests 🧪"); - todo!("Test CI does not implemented"); + run_cmd("nix", &["run", ".#ci-test"]); + + Ok(()) } Subgraph::Deploy(args) => { - println!("🚀 Hello, deploy with: {:?}", args); - todo!("Deploy CI does not implemented"); + println!("\n🚀 Hello deploy"); + let _ = deploy_subgraph(args); + + // if args.url.scheme() != "http" && args.url.scheme() != "https" { + // eprintln!("Error: Invalid URL provided"); + // std::process::exit(1); + // } + + Ok(()) + } } } diff --git a/subgraph/flake.nix b/subgraph/flake.nix index ac45071e53..a855b21fe2 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -16,10 +16,6 @@ in rec { packages = rec { - install = pkgs.writeShellScriptBin "install" ("npm install"); - - build = pkgs.writeShellScriptBin "build" ("npm run codegen && npm run build"); - # ERC20Mock is not present here. It's hardcoded because It's just a ERC20 contract with a mint method. concrete-contracts = ["AuthoringMetaGetter" "OrderBook" "RainterpreterExpressionDeployerNP" "RainterpreterNP" "RainterpreterStore"]; @@ -41,6 +37,22 @@ echo Removed duplicated at: $contract_path ''; + # The graphql file can generate the schema.json file needed for testing + # Of course, this need a graph node at localhost to work + gen-sg-schema = '' + # Use a arbitrary address to put the endpoint up + cargo run deploy \ + --name test/test \ + --url http://localhost:8020 \ + --network localhost \ + --block 0 \ + --address 0x0000000000000000000000000000000000000000 + + ${graphql_client} introspect-schema \ + --output tests/subgraph/query/schema.json \ + http://localhost:8000/subgraphs/name/test/test + ''; + init-setup = pkgs.writeShellScriptBin "init-setup" ('' # NOTE: This should be called after `npm install` @@ -50,9 +62,14 @@ # Copying the new abis into the SG abi folder cp ../out/OrderBook.sol/OrderBook.json ./abis/ cp ../out/ERC20.sol/ERC20.json ./abis/ERC20.json - '' + pkgs.lib.concatStrings (map copy-abis concrete-contracts) + (remove-duplicate) + '' + pkgs.lib.concatStrings (map copy-abis concrete-contracts) + + (remove-duplicate) ); + run-anvil = pkgs.writeShellScriptBin "run-anvil" ('' + anvil -m "$(cat ./test-mnemonic)" + ''); + docker-up = pkgs.writeShellScriptBin "docker-up" '' docker-compose -f docker/docker-compose.yaml up --build -d ''; @@ -61,36 +78,20 @@ docker-compose -f docker/docker-compose.yaml down ''; - check-args = pkgs.writeShellScriptBin "check-args" ('' - echo "All parameters: $@" - echo "First parameter: $1" - echo "Second parameter: $2" - ''); - - run-anvil = pkgs.writeShellScriptBin "run-anvil" ('' - anvil -m "$(cat ./test-mnemonic)" - ''); - - check = pkgs.writeShellScriptBin "check" ('' - ${graphql_client} - ''); - - strong-anvil = pkgs.writeShellScriptBin "strong-anvil" ('' - anvil -m "$(cat ./test-mnemonic)" --code-size-limit 36864 - ''); - end-anvil = pkgs.writeShellScriptBin "end-anvil" ('' kill -9 $(lsof -t -i :8545) ''); ci-test = pkgs.writeShellScriptBin "ci-test" ('' - # This build is for generate the schema.json - cargo run build; - ls + # This build is for generate the schema.json. + # This in case the subgraph schema.graphql have changes when running tests + ${gen-sg-schema} + + # Run tests in single thread cargo test -- --test-threads=1 --nocapture; ''); - default = install; + default = init-setup; }; } ); From 069fce426c4eb9f905af85d702400876fc44916e Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 02:45:01 -0400 Subject: [PATCH 156/163] debug ci tests --- subgraph/cli/deploy/mod.rs | 4 ++++ subgraph/cli/main.rs | 48 ++++++++++++++++++++++++++------------ subgraph/cli/utils/mod.rs | 1 - subgraph/flake.nix | 5 ++++ 4 files changed, 42 insertions(+), 16 deletions(-) diff --git a/subgraph/cli/deploy/mod.rs b/subgraph/cli/deploy/mod.rs index a8113ec252..e7c5c4f0b0 100644 --- a/subgraph/cli/deploy/mod.rs +++ b/subgraph/cli/deploy/mod.rs @@ -36,6 +36,10 @@ pub struct DeployArgs { } pub fn deploy_subgraph(config: DeployArgs) -> anyhow::Result<()> { + if config.url.scheme() != "http" && config.url.scheme() != "https" { + return Err(anyhow!("Invalid URL provided")); + } + let subgraph_template = "subgraph.template.yaml"; let output_path = "subgraph.yaml"; diff --git a/subgraph/cli/main.rs b/subgraph/cli/main.rs index d6c44acc7b..05bf7e528f 100644 --- a/subgraph/cli/main.rs +++ b/subgraph/cli/main.rs @@ -3,7 +3,7 @@ mod deploy; mod utils; use clap::{Parser, Subcommand}; -// use colored::*; +use colored::*; use deploy::{deploy_subgraph, DeployArgs}; use utils::run_cmd; @@ -31,34 +31,52 @@ fn main() -> Result<(), anyhow::Error> { match args.subgraph { Subgraph::Install => { - run_cmd("npm", &["install"]); + let resp = run_cmd("npm", &["install"]); + + if !resp { + eprintln!("{}", "Error: Failed at npm install".red()); + std::process::exit(1); + } Ok(()) } Subgraph::Build => { - run_cmd("npm", &["run", "codegen"]); - run_cmd("npm", &["run", "build"]); + let resp = run_cmd("npm", &["run", "codegen"]); + if !resp { + eprintln!("{}", "Error: Failed at npm run codegen".red()); + std::process::exit(1); + } + + let resp = run_cmd("npm", &["run", "build"]); + if !resp { + eprintln!("{}", "Error: Failed at npm run build".red()); + std::process::exit(1); + } Ok(()) } Subgraph::Test => { - run_cmd("nix", &["run", ".#ci-test"]); + let resp = run_cmd("nix", &["run", ".#ci-test"]); + if !resp { + std::process::exit(1); + } Ok(()) } - Subgraph::Deploy(args) => { - println!("\n🚀 Hello deploy"); - let _ = deploy_subgraph(args); - - // if args.url.scheme() != "http" && args.url.scheme() != "https" { - // eprintln!("Error: Invalid URL provided"); - // std::process::exit(1); - // } - - Ok(()) + Subgraph::Deploy(args) => { + match deploy_subgraph(args) { + Ok(_) => { + return Ok(()); + } + Err(err) => { + // Error occurred, print the error message and exit + eprintln!("Error: {}", err); + std::process::exit(1); + } + } } } } diff --git a/subgraph/cli/utils/mod.rs b/subgraph/cli/utils/mod.rs index f06e0977bb..d41c871be1 100644 --- a/subgraph/cli/utils/mod.rs +++ b/subgraph/cli/utils/mod.rs @@ -8,7 +8,6 @@ use std::thread; pub fn run_cmd(main_cmd: &str, args: &[&str]) -> bool { // Get the current working directory let current_dir = env::current_dir().expect("Failed to get current directory"); - println!("current_dir: {:?}", current_dir.to_str()); // Create a new Command to run let mut cmd = Command::new(main_cmd); diff --git a/subgraph/flake.nix b/subgraph/flake.nix index a855b21fe2..f2d2850599 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -87,6 +87,11 @@ # This in case the subgraph schema.graphql have changes when running tests ${gen-sg-schema} + echo "Print root" + ls . + echo "Print query folder" + ls tests/subgraph/query + # Run tests in single thread cargo test -- --test-threads=1 --nocapture; ''); From b9373ca0ba511188729a077e663d3b07650fe48e Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 02:55:20 -0400 Subject: [PATCH 157/163] ci debug --- .github/workflows/subgraph-test.yaml | 10 +++++++--- subgraph/flake.nix | 13 +++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 68fd95a2ca..9cf33bd31c 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -21,6 +21,9 @@ jobs: - name: Forge shallow install run: forge install --shallow + - name: Start docker container + run: docker-compose -f subgraph/docker/docker-compose.yaml up -d + - name: Initialize setup working-directory: ./subgraph run: nix run .#init-setup @@ -30,13 +33,14 @@ jobs: with: toolchain: stable - - name: Start docker container - run: docker-compose -f subgraph/docker/docker-compose.yaml up -d - - name: install npm dependencies working-directory: ./subgraph run: npm install + - name: Obtain schema.json from subgraph + working-directory: ./subgraph + run: nix run .#gen-subgraph-schema + - name: Run test working-directory: ./subgraph run: nix run .#ci-test diff --git a/subgraph/flake.nix b/subgraph/flake.nix index f2d2850599..6369eb4052 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -82,15 +82,12 @@ kill -9 $(lsof -t -i :8545) ''); + gen-subgraph-schema = pkgs.writeShellScriptBin "gen-subgraph-schema" (gen-sg-schema) + ci-test = pkgs.writeShellScriptBin "ci-test" ('' - # This build is for generate the schema.json. - # This in case the subgraph schema.graphql have changes when running tests - ${gen-sg-schema} - - echo "Print root" - ls . - echo "Print query folder" - ls tests/subgraph/query + # # This build is for generate the schema.json. + # # This in case the subgraph schema.graphql have changes when running tests + # ${gen-sg-schema} # Run tests in single thread cargo test -- --test-threads=1 --nocapture; From 1d2d812c7a0777997094f2b1eb1ac6307b2b7316 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 02:57:00 -0400 Subject: [PATCH 158/163] using fixed schema but generating anyway --- subgraph/.gitignore | 2 - subgraph/flake.nix | 10 +- subgraph/tests/subgraph/query/schema.json | 40192 ++++++++++++++++++++ 3 files changed, 40196 insertions(+), 8 deletions(-) create mode 100644 subgraph/tests/subgraph/query/schema.json diff --git a/subgraph/.gitignore b/subgraph/.gitignore index e2c1293cee..865fc8705e 100644 --- a/subgraph/.gitignore +++ b/subgraph/.gitignore @@ -4,8 +4,6 @@ /subgraph.yaml /abis/*.json -// Subgraph Schema.json generated -tests/subgraph/query/schema.json # Rust generated files /tests/generated/abigen diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 6369eb4052..e986244b96 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -82,13 +82,11 @@ kill -9 $(lsof -t -i :8545) ''); - gen-subgraph-schema = pkgs.writeShellScriptBin "gen-subgraph-schema" (gen-sg-schema) - ci-test = pkgs.writeShellScriptBin "ci-test" ('' - # # This build is for generate the schema.json. - # # This in case the subgraph schema.graphql have changes when running tests - # ${gen-sg-schema} - + # This build is for generate the schema.json. + # This in case the subgraph schema.graphql have changes when running tests + ${gen-sg-schema} + # Run tests in single thread cargo test -- --test-threads=1 --nocapture; ''); diff --git a/subgraph/tests/subgraph/query/schema.json b/subgraph/tests/subgraph/query/schema.json new file mode 100644 index 0000000000..a85b01b9a8 --- /dev/null +++ b/subgraph/tests/subgraph/query/schema.json @@ -0,0 +1,40192 @@ +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": null, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "name": "skip" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "description": null, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "name": "include" + }, + { + "args": [], + "description": "Marks the GraphQL type as indexable entity. Each type that should be an entity is required to be annotated with this directive.", + "locations": [ + "OBJECT" + ], + "name": "entity" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "description": "Defined a Subgraph ID for an object type", + "locations": [ + "OBJECT" + ], + "name": "subgraphId" + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "field", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "description": "creates a virtual field on the entity that may be queried but cannot be set manually through the mappings API.", + "locations": [ + "FIELD_DEFINITION" + ], + "name": "derivedFrom" + } + ], + "mutationType": null, + "queryType": { + "name": "Query" + }, + "subscriptionType": { + "name": "Subscription" + }, + "types": [ + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "withdraws", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deposits", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ordersCleared", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Bounty_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Vault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Account", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "withdraws_", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deposits_", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersCleared_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bounties_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrderEntities_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaults_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaults_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "events_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "withdraws" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deposits" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ordersCleared" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Account_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigDecimal", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "number_gte", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "hash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "number", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "number_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Block_height", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The clearer who received this bounty", + "isDeprecated": false, + "name": "clearer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Clear event that paid this bounty", + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Vault that bounty token A was deposited into", + "isDeprecated": false, + "name": "bountyVaultA", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Vault that bounty token B was deposited into", + "isDeprecated": false, + "name": "bountyVaultB", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The A token for the bounty", + "isDeprecated": false, + "name": "bountyTokenA", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The B token for the bounty", + "isDeprecated": false, + "name": "bountyTokenB", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount paid for bounty token A", + "isDeprecated": false, + "name": "bountyAmountA", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountADisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount paid for bounty token B", + "isDeprecated": false, + "name": "bountyAmountB", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountBDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Bounty", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultA_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyVaultB_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenA_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyTokenB_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountA_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountADisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountB_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bountyAmountBDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultA__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultA__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultB__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyVaultB__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenA__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyTokenB__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountADisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bountyAmountBDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Bounty_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Bytes", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ClearOrderConfig", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClearId_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyAlice_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaultBountyBob_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultInput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aliceTokenVaultOutput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultInput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bobTokenVaultOutput_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearId__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyAlice__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultBountyBob__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aliceTokenVaultOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bobTokenVaultOutput" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ClearOrderConfig_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The hash of this meta, this basically is the hash of 'rawBytes' field", + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The cbor map item bytes.", + "isDeprecated": false, + "name": "rawBytes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The magic number associated with this meta", + "isDeprecated": false, + "name": "magicNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The payload of this content", + "isDeprecated": false, + "name": "payload", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "The RainMeta records that have this cbor map as part of their sequence", + "isDeprecated": false, + "name": "parents", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The header name info for Content-Type", + "isDeprecated": false, + "name": "contentType", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The header name info for Content-Encoding. It's optional", + "isDeprecated": false, + "name": "contentEncoding", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The header name info for Content-Language. It's optional", + "isDeprecated": false, + "name": "contentLanguage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ContentMetaV1", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "rawBytes_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "magicNumber_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "payload_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "parents_", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentType_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentEncoding_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "contentLanguage_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rawBytes" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "magicNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "payload" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "parents" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentType" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentEncoding" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentLanguage" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ContentMetaV1_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Base caller", + "isDeprecated": false, + "name": "caller", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Contextual data available to both calculate order and handle IO", + "isDeprecated": false, + "name": "callingContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Contains the DECIMAL RESCALED calculations", + "isDeprecated": false, + "name": "calculationsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The inputs context data", + "isDeprecated": false, + "name": "vaultInputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The outputs context data", + "isDeprecated": false, + "name": "vaultOutputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Optional signed context relevant to the transaction", + "isDeprecated": false, + "name": "signedContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Transaction where this event was emitted.", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Account that sent the transaction this event was emitted in.", + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ContextEntity", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "caller_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "callingContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "calculationsContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultInputsContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultOutputsContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signedContext_", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "caller" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "caller__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "callingContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "calculationsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultInputsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultOutputsContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ContextEntity_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "symbol", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupply", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupplyDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ERC20", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "name_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "symbol_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupply_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "totalSupplyDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ERC20_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Transaction this event was emitted in.", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Account that sent the transaction this event was emitted in.", + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": null, + "kind": "INTERFACE", + "name": "Event", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + ] + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Event_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Float", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "index", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "IO", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "decimals_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_not", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_gt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_lt", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_gte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_lte", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "index_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "index" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "IO_orderBy", + "possibleTypes": null + }, + { + "description": "4 bytes signed integer\n", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null + }, + { + "description": "8 bytes signed integer\n", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int8", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The hash of the order", + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The hash of the order", + "isDeprecated": false, + "name": "orderHash", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The address that added the order", + "isDeprecated": false, + "name": "owner", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The IInterpreter address that is used to add the order", + "isDeprecated": false, + "name": "interpreter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The IInterpreterStore address that is used to add the order", + "isDeprecated": false, + "name": "interpreterStore", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The IExpressionDeployer contract address that is used to add the order", + "isDeprecated": false, + "name": "expressionDeployer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The address to the rain expression for the Order", + "isDeprecated": false, + "name": "expression", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Whether the order is active or inactive", + "isDeprecated": false, + "name": "orderActive", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Flag that check if there is a handle_IO entrypoint to run. If false the order book MAY skip calling the interpreter to save gas", + "isDeprecated": false, + "name": "handleIO", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "validInputs", + "isDeprecated": false, + "name": "validInputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "validOutputs", + "isDeprecated": false, + "name": "validOutputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderJSONString", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expressionJSONString", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Timestamp when the order was added", + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Take Order entities that use this order", + "isDeprecated": false, + "name": "takeOrders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Order Clear entities that use this order", + "isDeprecated": false, + "name": "ordersClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "Order", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deployer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "address", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The RainMetaV1 decode information", + "isDeprecated": false, + "name": "meta", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "OrderBook", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deployer_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "address_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "address" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__metaBytes" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderBook_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The sender address who cleared the Orders", + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The clearer address who cleared this order", + "isDeprecated": false, + "name": "clearer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Order A being cleared", + "isDeprecated": false, + "name": "orderA", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Order B being cleared", + "isDeprecated": false, + "name": "orderB", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Account_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "The owners of the Orders that were cleared [Order A, Order B]", + "isDeprecated": false, + "name": "owners", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token input index cleared into Order A", + "isDeprecated": false, + "name": "aInputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token output index cleared into Order A", + "isDeprecated": false, + "name": "aOutputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token input index cleared into Order B", + "isDeprecated": false, + "name": "bInputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token output index cleared into Order B", + "isDeprecated": false, + "name": "bOutputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The bounty paid when this order was cleared", + "isDeprecated": false, + "name": "bounty", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The state change that occurred because of this Clear", + "isDeprecated": false, + "name": "stateChange", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "OrderClear", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "OrderClearStateChange", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClear_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bInput" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderClearStateChange_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "clearer_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderA_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderB_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owners_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aInputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "aOutputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bInputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bOutputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "bounty_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "stateChange_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearer__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderA__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderB__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owners" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "aOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bInputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bOutputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountA" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountADisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountB" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__bountyAmountBDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__aOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__bOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__aInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "stateChange__bInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderClear_orderBy", + "possibleTypes": null + }, + { + "description": "Defines the order direction, either ascending or descending", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "asc" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "desc" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "OrderDirection", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderHash_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreter_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "interpreterStore_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionDeployer_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expression_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderActive_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "handleIO_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "meta_", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validInputs_", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "validOutputs_", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderJSONString_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "expressionJSONString_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "ordersClears_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "meta__metaBytes" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "validInputs" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "validOutputs" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrders" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ordersClears" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Order_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBook", + "type": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderBook_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBooks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentMetaV1", + "type": { + "kind": "OBJECT", + "name": "ContentMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContentMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentMetaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "io", + "type": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ios", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Vault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrder", + "type": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposit", + "type": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposits", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraw", + "type": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraws", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20", + "type": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ERC20_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty", + "type": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Bounty_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntity", + "type": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChange", + "type": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClearStateChange_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChanges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfig", + "type": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ClearOrderConfig_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfigs", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "account", + "type": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Account_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "accounts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Transaction_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transactions", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntity", + "type": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContextEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext", + "type": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContexts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "event", + "type": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Access to subgraph metadata", + "isDeprecated": false, + "name": "_meta", + "type": { + "kind": "OBJECT", + "name": "_Meta_", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Hash of the meta directly emitted by the contract", + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Original meta bytes directly emitted from the contract", + "isDeprecated": false, + "name": "metaBytes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContentMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "The meta content V1 decoded from the meta bytes emitted", + "isDeprecated": false, + "name": "content", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentMetaV1", + "ofType": null + } + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "RainMetaV1", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "metaBytes_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "content", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "content_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "metaBytes" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "content" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signer", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "SignedContext", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_not", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_gt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_lt", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_gte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_lte", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "signer_not_contains", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "SignedContext_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBook", + "type": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderBook_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderBook_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderBooks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderBook", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1", + "type": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "RainMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "RainMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "rainMetaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RainMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentMetaV1", + "type": { + "kind": "OBJECT", + "name": "ContentMetaV1", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContentMetaV1_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentMetaV1_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contentMetaV1S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentMetaV1", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "io", + "type": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "IO_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "IO_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ios", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IO", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Vault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrder", + "type": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaultTakeOrders", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposit", + "type": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultDeposits", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraw", + "type": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultWithdraws", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20", + "type": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ERC20_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "erc20S", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClear", + "type": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounty", + "type": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Bounty_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Bounty_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "bounties", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Bounty", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntity", + "type": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrderEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChange", + "type": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClearStateChange_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClearStateChange_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClearStateChanges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClearStateChange", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfig", + "type": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ClearOrderConfig_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ClearOrderConfig_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "clearOrderConfigs", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClearOrderConfig", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "account", + "type": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Account_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "accounts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Transaction_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transactions", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntity", + "type": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "ContextEntity_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "contextEntities", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContext", + "type": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "SignedContext_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "SignedContext_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "signedContexts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SignedContext", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "event", + "type": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.", + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + }, + { + "defaultValue": "deny", + "description": "Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.", + "name": "subgraphError", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "ofType": null + } + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "block", + "type": { + "kind": "INPUT_OBJECT", + "name": "Block_height", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Access to subgraph metadata", + "isDeprecated": false, + "name": "_meta", + "type": { + "kind": "OBJECT", + "name": "_Meta_", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Subscription", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The input amount from the perspective of sender", + "isDeprecated": false, + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The output amount from the perspective of sender", + "isDeprecated": false, + "name": "output", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "IO Ratio", + "isDeprecated": false, + "name": "IORatio", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The index of the input token in order to match with the take order output", + "isDeprecated": false, + "name": "inputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The index of the output token in order to match with the take order input.", + "isDeprecated": false, + "name": "outputIOIndex", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Input token from the perspective of the order taker", + "isDeprecated": false, + "name": "inputToken", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Output token from the perspective of the order taker", + "isDeprecated": false, + "name": "outputToken", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context", + "type": { + "kind": "OBJECT", + "name": "ContextEntity", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "TakeOrderEntity", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "order_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "input_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "output", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "output_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "IORatio_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputIOIndex_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "inputToken_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "outputToken_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "context_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ContextEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderHash" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__interpreterStore" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionDeployer" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expression" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderActive" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__handleIO" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__orderJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__expressionJSONString" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "order__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "input" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "output" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "IORatio" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputToken__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "outputToken__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "context__timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "TakeOrderEntity_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The owner of this Vault", + "isDeprecated": false, + "name": "owner", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The id of this vault", + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token that has a balance for this vault and owner.", + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The balance of this token, for this vault, for this owner", + "isDeprecated": false, + "name": "balance", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "balanceDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Order_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Orders that reference this vault, owner and token", + "isDeprecated": false, + "name": "orders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "OrderClear_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderClear", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "TokenVault", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasOutput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasInput", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TakeOrderEntity", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "TokenVaultTakeOrder", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasOutput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput_not", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "wasInput_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrder_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TakeOrderEntity_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasOutput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "wasInput" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__input" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__inputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__output" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__outputDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__IORatio" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__inputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__outputIOIndex" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrder__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "TokenVaultTakeOrder_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "balance_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "balanceDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Order_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_not", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_not_contains", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_not_contains_nocase", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderClears_", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderClear_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "takeOrders_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVaultTakeOrder_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orders" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "orderClears" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "takeOrders" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "TokenVault_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockNumber", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "Event_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Transaction", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "blockNumber_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "events_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Event_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "events" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Transaction_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The owner of this Vault", + "isDeprecated": false, + "name": "owner", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "TokenVault_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Tokens in this Vault", + "isDeprecated": false, + "name": "tokenVaults", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Deposits into this Vault", + "isDeprecated": false, + "name": "deposits", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultDeposit", + "ofType": null + } + } + } + }, + { + "args": [ + { + "defaultValue": "0", + "description": null, + "name": "skip", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": "100", + "description": null, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderBy", + "type": { + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "orderDirection", + "type": { + "kind": "ENUM", + "name": "OrderDirection", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "where", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + ], + "deprecationReason": null, + "description": "Withdrawals from this Vault", + "isDeprecated": false, + "name": "withdraws", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VaultWithdraw", + "ofType": null + } + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Vault", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The transaction sender of this deposit", + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token that was deposited", + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The vaultId that was deposited into", + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Vault that was deposited into", + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount that was deposited", + "isDeprecated": false, + "name": "amount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The current balance of this token for this Vault", + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "VaultDeposit", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "VaultDeposit_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The transaction sender of this withdrawal", + "isDeprecated": false, + "name": "sender", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The token that was withdrawn", + "isDeprecated": false, + "name": "token", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ERC20", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The vaultId that was withdrawn from", + "isDeprecated": false, + "name": "vaultId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The Vault that was withdrawn from", + "isDeprecated": false, + "name": "vault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount that was requested be withdrawn", + "isDeprecated": false, + "name": "requestedAmount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "requestedAmountDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The amount that was withdrawn", + "isDeprecated": false, + "name": "amount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The current balance of this token for this Vault", + "isDeprecated": false, + "name": "tokenVault", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TokenVault", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Transaction", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Account", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + ], + "kind": "OBJECT", + "name": "VaultWithdraw", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "sender_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "token_", + "type": { + "kind": "INPUT_OBJECT", + "name": "ERC20_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "requestedAmountDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amount_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lt", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_gte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_lte", + "type": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "amountDisplay_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigDecimal", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVault_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "transaction_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Transaction_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "emitter_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "timestamp_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "sender__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__name" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__symbol" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupply" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__totalSupplyDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "token__decimals" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "requestedAmount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "requestedAmountDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amount" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "amountDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balance" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVault__balanceDisplay" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__timestamp" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "transaction__blockNumber" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "emitter__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "timestamp" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "VaultWithdraw_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lt", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_gte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_lte", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "id_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lt", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_gte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_lte", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "vaultId_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lt", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_gte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_lte", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_contains_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_starts_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_not_ends_with_nocase", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "owner_", + "type": { + "kind": "INPUT_OBJECT", + "name": "Account_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "tokenVaults_", + "type": { + "kind": "INPUT_OBJECT", + "name": "TokenVault_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "deposits_", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultDeposit_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "withdraws_", + "type": { + "kind": "INPUT_OBJECT", + "name": "VaultWithdraw_filter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": "Filter for the block changed event.", + "name": "_change_block", + "type": { + "kind": "INPUT_OBJECT", + "name": "BlockChangedFilter", + "ofType": null + } + }, + { + "defaultValue": null, + "description": null, + "name": "and", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + } + }, + { + "defaultValue": null, + "description": null, + "name": "or", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "ofType": null + } + } + } + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "Vault_filter", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "vaultId" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "owner__id" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "tokenVaults" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deposits" + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "withdraws" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Vault_orderBy", + "possibleTypes": null + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The hash of the block", + "isDeprecated": false, + "name": "hash", + "type": { + "kind": "SCALAR", + "name": "Bytes", + "ofType": null + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The block number", + "isDeprecated": false, + "name": "number", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "Integer representation of the timestamp stored in blocks for the chain", + "isDeprecated": false, + "name": "timestamp", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "_Block_", + "possibleTypes": null + }, + { + "description": "The type for the top-level _meta field", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Information about a specific subgraph block. The hash of the block\nwill be null if the _meta field has a block constraint that asks for\na block number. It will be filled if the _meta field has no block constraint\nand therefore asks for the latest block\n", + "isDeprecated": false, + "name": "block", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_Block_", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "The deployment ID", + "isDeprecated": false, + "name": "deployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + { + "args": [], + "deprecationReason": null, + "description": "If `true`, the subgraph encountered indexing errors at some past block", + "isDeprecated": false, + "name": "hasIndexingErrors", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + } + } + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "_Meta_", + "possibleTypes": null + }, + { + "description": null, + "enumValues": [ + { + "deprecationReason": null, + "description": "Data will be returned even if the subgraph has indexing errors", + "isDeprecated": false, + "name": "allow" + }, + { + "deprecationReason": null, + "description": "If the subgraph has indexing errors, data will be omitted. The default.", + "isDeprecated": false, + "name": "deny" + } + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "_SubgraphErrorPolicy_", + "possibleTypes": null + } + ] + } + } +} \ No newline at end of file From e7c2d39cc6d101f498569aa7944a10049b23129e Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 03:02:19 -0400 Subject: [PATCH 159/163] wip ci --- subgraph/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph/flake.nix b/subgraph/flake.nix index 6369eb4052..377b46b7fc 100644 --- a/subgraph/flake.nix +++ b/subgraph/flake.nix @@ -82,7 +82,7 @@ kill -9 $(lsof -t -i :8545) ''); - gen-subgraph-schema = pkgs.writeShellScriptBin "gen-subgraph-schema" (gen-sg-schema) + gen-subgraph-schema = pkgs.writeShellScriptBin "gen-subgraph-schema" (gen-sg-schema); ci-test = pkgs.writeShellScriptBin "ci-test" ('' # # This build is for generate the schema.json. From 54d447d6389735d761c2bf5e6200cd7238003aef Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 03:04:35 -0400 Subject: [PATCH 160/163] missing workflow --- .github/workflows/subgraph-test.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 9cf33bd31c..a8ffaaacc8 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -37,10 +37,6 @@ jobs: working-directory: ./subgraph run: npm install - - name: Obtain schema.json from subgraph - working-directory: ./subgraph - run: nix run .#gen-subgraph-schema - - name: Run test working-directory: ./subgraph run: nix run .#ci-test From f16ce045f5c7cd4b1d991489e35621bb977a68c3 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 03:47:35 -0400 Subject: [PATCH 161/163] wip: generate using fixed on repo --- .github/workflows/subgraph-test.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index a8ffaaacc8..9cf33bd31c 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -37,6 +37,10 @@ jobs: working-directory: ./subgraph run: npm install + - name: Obtain schema.json from subgraph + working-directory: ./subgraph + run: nix run .#gen-subgraph-schema + - name: Run test working-directory: ./subgraph run: nix run .#ci-test From 5289f7c4d6d0b410e55a7ce56dab1e5ab2a26332 Mon Sep 17 00:00:00 2001 From: NanezX Date: Fri, 3 Nov 2023 03:58:08 -0400 Subject: [PATCH 162/163] Revert "wip: generate using fixed on repo" This reverts commit f16ce045f5c7cd4b1d991489e35621bb977a68c3. --- .github/workflows/subgraph-test.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/subgraph-test.yaml b/.github/workflows/subgraph-test.yaml index 9cf33bd31c..a8ffaaacc8 100644 --- a/.github/workflows/subgraph-test.yaml +++ b/.github/workflows/subgraph-test.yaml @@ -37,10 +37,6 @@ jobs: working-directory: ./subgraph run: npm install - - name: Obtain schema.json from subgraph - working-directory: ./subgraph - run: nix run .#gen-subgraph-schema - - name: Run test working-directory: ./subgraph run: nix run .#ci-test From f7030aa70bbec8e28eee9063085949bf84794f52 Mon Sep 17 00:00:00 2001 From: NanezX Date: Tue, 7 Nov 2023 19:04:29 -0400 Subject: [PATCH 163/163] fix deploy command --- subgraph/cli/deploy/mod.rs | 43 ++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/subgraph/cli/deploy/mod.rs b/subgraph/cli/deploy/mod.rs index e7c5c4f0b0..66136c65af 100644 --- a/subgraph/cli/deploy/mod.rs +++ b/subgraph/cli/deploy/mod.rs @@ -75,19 +75,36 @@ pub fn deploy_subgraph(config: DeployArgs) -> anyhow::Result<()> { return Err(anyhow!("Failed to create subgraph endpoint node")); } - // Deploy Subgraph to the endpoint - let is_deploy = run_cmd( - "bash", - &[ - "-c", - &format!( - "npx graph deploy --node {} --ipfs http://localhost:5001 {} --version-label 1", - end_point, subgraph_name - ), - ], - ); - if !is_deploy { - return Err(anyhow!("Failed to deploy subgraph")); + if config.url.host_str() == Some("localhost") { + // Deploy Subgraph to the endpoint local + let is_deploy = run_cmd( + "bash", + &[ + "-c", + &format!( + "npx graph deploy --node {} --ipfs http://localhost:5001 {} --version-label 1", + end_point, subgraph_name + ), + ], + ); + if !is_deploy { + return Err(anyhow!("Failed to deploy subgraph")); + } + } else { + // Deploy Subgraph to the endpoint + let is_deploy = run_cmd( + "bash", + &[ + "-c", + &format!( + "npx graph deploy --node {} {} --version-label 1", + end_point, subgraph_name + ), + ], + ); + if !is_deploy { + return Err(anyhow!("Failed to deploy subgraph")); + } } Ok(())